public ActionResult AjaxSaveProductStockAdjustmentInfo() { if (!string.IsNullOrEmpty(Request["info"])) { ProductStockAdjustInfo adjustInfo = SerializationUtility.JsonDeserialize2 <ProductStockAdjustInfo>(Request["info"]); if (null != adjustInfo) { if (!adjustInfo.SysNo.HasValue) { adjustInfo.Status = ProductStockAdjustStatus.Origin; } else { foreach (var item in adjustInfo.AdjustItemList) { item.InUserSysNo = UserAuthHelper.GetCurrentUser().SellerSysNo; } } adjustInfo.CurrencyCode = 1; adjustInfo.VendorSysNo = UserAuthHelper.GetCurrentUser().SellerSysNo; adjustInfo.InUserSysNo = adjustInfo.EditUserSysNo = adjustInfo.AuditUserSysNo = UserAuthHelper.GetCurrentUser().UserSysNo; adjustInfo.InDate = adjustInfo.EditDate = adjustInfo.AuditDate = DateTime.Now; } ProductPurchaseService.SaveProductStockAdjustmentInfo(adjustInfo); } return(Json(new { Data = true })); }
public static ProductStockAdjustInfo GetProductStockAdjustmentInfo(int adjustSysNo) { ProductStockAdjustInfo adjustInfo = null; DataCommand cmd = DataCommandManager.GetDataCommand("GetProductStockAdjustmentInfo"); cmd.SetParameterValue("@SysNo", adjustSysNo); var sourceEntity = cmd.ExecuteDataSet(); if (null != sourceEntity && sourceEntity.Tables.Count > 0) { if (sourceEntity.Tables.Count >= 1) { DataTable mainInfoDt = sourceEntity.Tables[0]; if (mainInfoDt.Rows.Count > 0) { adjustInfo = new ProductStockAdjustInfo(); adjustInfo = DataMapper.GetEntity <ProductStockAdjustInfo>(mainInfoDt.Rows[0]); } } if (sourceEntity.Tables.Count >= 2) { DataTable itemsInfoDt = sourceEntity.Tables[1]; if (itemsInfoDt.Rows.Count > 0) { foreach (DataRow dr in itemsInfoDt.Rows) { adjustInfo.AdjustItemList.Add(DataMapper.GetEntity <ProductStockAdjustItemInfo>(dr)); } } } } return(adjustInfo); }
public static int SaveProductStockAdjustmentInfo(ProductStockAdjustInfo adjustInfo) { if (adjustInfo.SysNo.HasValue) { //编辑: DataCommand cmd = DataCommandManager.GetDataCommand("UpdateProductStockAdjustmentInfo"); cmd.SetParameterValue("@SysNo", adjustInfo.SysNo.Value); cmd.SetParameterValue("@StockSysNo", adjustInfo.StockSysNo.Value); cmd.SetParameterValue("@CurrencyCode", adjustInfo.CurrencyCode.Value); cmd.SetParameterValue("@Memo", adjustInfo.Memo); cmd.SetParameterValue("@EditUserSysNo", adjustInfo.EditUserSysNo.Value); cmd.ExecuteNonQuery(); DataCommand deleteCmd = DataCommandManager.GetDataCommand("DeleteAllProductStockAdjustmentItemInfo"); deleteCmd.SetParameterValue("@AdjustSysNo", adjustInfo.SysNo.Value); deleteCmd.ExecuteNonQuery(); foreach (var item in adjustInfo.AdjustItemList) { DataCommand itemCmd = DataCommandManager.GetDataCommand("InsertProductStockAdjustmentItemInfo"); itemCmd.SetParameterValue("@AdjustSysNo", adjustInfo.SysNo.Value); itemCmd.SetParameterValue("@ProductSysNo", item.ProductSysNo.Value); itemCmd.SetParameterValue("@AdjustQty", item.AdjustQty.Value); itemCmd.SetParameterValue("@InUserSysNo", item.InUserSysNo.Value); itemCmd.ExecuteNonQuery(); } } else { //新建: DataCommand cmd = DataCommandManager.GetDataCommand("InsertProductStockAdjustmentInfo"); cmd.SetParameterValue("@Status", (int)adjustInfo.Status); cmd.SetParameterValue("@CurrencyCode", adjustInfo.CurrencyCode.Value); cmd.SetParameterValue("@StockSysNo", adjustInfo.StockSysNo.Value); cmd.SetParameterValue("@Memo", adjustInfo.Memo); cmd.SetParameterValue("@VendorSysNo", adjustInfo.VendorSysNo.Value); cmd.SetParameterValue("@InUserSysNo", adjustInfo.InUserSysNo.Value); cmd.ExecuteNonQuery(); adjustInfo.SysNo = Convert.ToInt32(cmd.GetParameterValue("@SysNo")); foreach (var item in adjustInfo.AdjustItemList) { item.InUserSysNo = adjustInfo.InUserSysNo; DataCommand itemCmd = DataCommandManager.GetDataCommand("InsertProductStockAdjustmentItemInfo"); itemCmd.SetParameterValue("@AdjustSysNo", adjustInfo.SysNo.Value); itemCmd.SetParameterValue("@ProductSysNo", item.ProductSysNo.Value); itemCmd.SetParameterValue("@AdjustQty", item.AdjustQty.Value); itemCmd.SetParameterValue("@InUserSysNo", item.InUserSysNo.Value); itemCmd.ExecuteNonQuery(); } } return(adjustInfo.SysNo.Value); }
/// <summary> /// 保存商品库存调整单信息 /// </summary> /// <param name="adjustInfo"></param> public static void SaveProductStockAdjustmentInfo(ProductStockAdjustInfo adjustInfo) { #region [Check操作:] if (!adjustInfo.StockSysNo.HasValue) { throw new BusinessException("请选择一个入库仓库!"); } if (null == adjustInfo.AdjustItemList || adjustInfo.AdjustItemList.Count <= 0) { throw new BusinessException("请添加至少一个商品!"); } foreach (var adjustItem in adjustInfo.AdjustItemList) { var currentProductInfo = ProductService.GetProductBySysNo(adjustItem.ProductSysNo.Value); if (null == currentProductInfo || currentProductInfo.SysNo <= 0) { throw new BusinessException(string.Format("商品编号{0}相关信息不存在!", adjustItem.ProductSysNo.Value)); } //////自贸商品不能创建商品库存调整单: //else if (currentProductInfo.ProductTradeType == TradeType.FTA) //{ // throw new BusinessException(string.Format("商品{0}为自贸商品,不能创建商品库存调整单!", adjustItem.ProductID)); //} else if (currentProductInfo.SellerSysNo.Value != adjustInfo.VendorSysNo.Value) { throw new BusinessException(string.Format("商品{0}不属于当前商家,不能进行库存调整操作!", adjustItem.ProductID)); } } #endregion using (TransactionScope ts = new TransactionScope()) { ProductDA.SaveProductStockAdjustmentInfo(adjustInfo); ts.Complete(); } }