Example #1
0
 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 }));
 }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        /// <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();
            }
        }