示例#1
0
        public virtual int UpdateShiftBasket(ShiftRequestItemInfo item)
        {
            if (item == null || item.SysNo < 1 || item.ShiftQuantity < 1)
            {
                throw new BizException("修改移仓篮参数不完整!");
            }

            //int StockAvailableQtyGroupByProductSysNo = ObjectFactory<IShiftRequestItemBasketDA>.Instance.GetStockAvailableQtyGroupByProductSysNo(item);
            //int NowShiftQtyGroupByProductSysNo = ObjectFactory<IShiftRequestItemBasketDA>.Instance.GetNowShiftQtyGroupByProductSysNo(item);
            //if (NowShiftQtyGroupByProductSysNo + item.ShiftQuantity > StockAvailableQtyGroupByProductSysNo)
            //{
            //    int availableShiftNum = StockAvailableQtyGroupByProductSysNo -
            //    NowShiftQtyGroupByProductSysNo;
            //    if (availableShiftNum < 0)
            //    {
            //        availableShiftNum = 0;
            //    }
            //    throw new BizException(
            //       string.Format("同一商品在同一个移出仓的移仓数量之和必须满足小于等于移出仓可移库存(可用库存+代销库存)!编号为{0}的商品在移出仓[{1}]可移库存为:{2},移仓篮中已存在移仓数量:{3},可用数量为:{4}。",
            //       item.ShiftProduct.SysNo,
            //       item.SourceStock.StockName,
            //       StockAvailableQtyGroupByProductSysNo,
            //       NowShiftQtyGroupByProductSysNo,
            //       availableShiftNum
            //       ));
            //}
            int result = ObjectFactory <IShiftRequestItemBasketDA> .Instance.UpdateShiftBasket(item);

            #region write log
            ObjectFactory <ICommonBizInteract> .Instance.CreateOperationLog(string.Format("用户\"{0}\"修改了商品编号为\"{1}\"的移仓篮商品的数量为\"{2}\"", ServiceContext.Current.UserSysNo, item.ShiftProduct.SysNo, item.ShiftQuantity), BizLogType.St_Shift_Master_Update, item.SysNo.Value, item.CompanyCode);

            #endregion

            return(result);
        }
        private List <ShiftRequestItemInfo> BuildEntityList()
        {
            List <ShiftRequestItemInfo>         returnList = new List <ShiftRequestItemInfo>();
            List <ShiftRequestItemBasketItemVM> getList    = this.GridSearchResult.ItemsSource as List <ShiftRequestItemBasketItemVM>;

            if (null != getList)
            {
                getList = getList.Where(x => x.IsChecked == true).ToList();

                getList.ForEach(i =>
                {
                    ShiftRequestItemInfo newItem = new ShiftRequestItemInfo()
                    {
                        SysNo         = i.SysNo,
                        ShiftQuantity = Convert.ToInt32(i.ShiftQty),
                        SourceStock   = new StockInfo()
                        {
                            SysNo = i.OutStockSysNo
                        },
                        TargetStock = new StockInfo()
                        {
                            SysNo = i.InStockSysNo
                        },
                        ShiftProduct = new BizEntity.IM.ProductInfo()
                        {
                            SysNo = i.ProductSysNo.Value, ProductConsignFlag = i.IsConsign == 1 ? VendorConsignFlag.Consign : VendorConsignFlag.Gather
                        },
                        ProductLineSysno = i.ProductLineSysNo.Value
                    };
                    returnList.Add(newItem);
                });
            }
            return(returnList);
        }
示例#3
0
        /// <summary>
        /// 创建移仓单商品
        /// </summary>
        /// <param name="shiftItem"></param>
        /// <param name="requestSysNo"></param>
        /// <returns></returns>
        public virtual ShiftRequestItemInfo CreateShiftItem(ShiftRequestItemInfo shiftItem, int requestSysNo)
        {
            DataCommand dc = DataCommandManager.GetDataCommand("Inventory_CreateShiftItem");

            dc.SetParameterValue("@RequestSysNo", requestSysNo);
            dc.SetParameterValue("@ProductSysNo", shiftItem.ShiftProduct.SysNo);
            dc.SetParameterValue("@ShiftQuantity", shiftItem.ShiftQuantity);
            dc.SetParameterValue("@ShiftUnitCost", shiftItem.ShiftUnitCost);
            dc.SetParameterValue("@ShiftUnitCostWithoutTax", shiftItem.ShiftUnitCost);

            return(dc.ExecuteEntity <ShiftRequestItemInfo>());
        }
示例#4
0
        public virtual int CreateShiftBasket(ShiftRequestItemInfo item)
        {
            #region [创建之前的Check操作]

            if (item == null || item.ShiftProduct == null || item.ShiftProduct.SysNo < 1 || item.ShiftQuantity < 1 || item.SourceStock == null || item.TargetStock == null)
            {
                throw new BizException("添加移仓篮参数不完整!");
            }
            bool isExist = ObjectFactory <IShiftRequestItemBasketDA> .Instance.IsExistSourceAndTargetStockInBasket(item);

            if (isExist)
            {
                throw new BizException(
                          string.Format("商品{0}已经在移仓篮中存在移出仓[{1}],移入仓[{2}]的记录,不能重复添加。",
                                        item.ShiftProduct.SysNo,
                                        item.SourceStock.StockName,
                                        item.TargetStock.StockName
                                        ));
            }
            //int StockAvailableQtyGroupByProductSysNo =
            //    ShiftBasketDA.GetStockAvailableQtyGroupByProductSysNo(entity);
            if (!item.InStockQuantity.HasValue)
            {
                throw new BizException("可移库存参数为空,添加失败!");
            }

            //int AllowShiftNum = item.InStockQuantity.Value;
            //int NowShiftQtyGroupByProductSysNo =
            //   ObjectFactory<IShiftRequestItemBasketDA>.Instance.GetNowShiftQtyGroupByProductSysNo(item);

            //if (NowShiftQtyGroupByProductSysNo + item.ShiftQuantity > AllowShiftNum)
            //{
            //    int availableShiftNum = AllowShiftNum -
            //    NowShiftQtyGroupByProductSysNo;
            //    if (availableShiftNum < 0)
            //    {
            //        availableShiftNum = 0;
            //    }
            //    throw new BizException(
            //       string.Format("同一商品在同一个移出仓的移仓数量之和必须满足小于等于移出仓可移库存!编号为{0}的商品在移出仓[{1}]可移库存为:{2},移仓篮中已存在移仓数量:{3},可移数量为:{4}。",
            //       item.ShiftProduct.SysNo,
            //       item.SourceStock.StockName,
            //       AllowShiftNum,
            //       NowShiftQtyGroupByProductSysNo,
            //       availableShiftNum
            //       ));
            //}

            #endregion

            //创建移仓篮记录 :
            return(ObjectFactory <IShiftRequestItemBasketDA> .Instance.CreateShiftBasket(item));
        }
示例#5
0
        public virtual int DeleteShiftBasket(ShiftRequestItemInfo item)
        {
            if (item == null || item.SysNo < 1)
            {
                throw new BizException("删除移仓篮参数不完整!");
            }
            int result = ObjectFactory <IShiftRequestItemBasketDA> .Instance.DeleteShiftBasket(item);

            #region write log
            ObjectFactory <ICommonBizInteract> .Instance.CreateOperationLog(string.Format("用户\"{0}\"删除了商品编号为\"{1}\"的移仓篮商品", ServiceContext.Current.UserSysNo, item.ShiftProduct.SysNo), BizLogType.St_Shift_Master_Update, item.SysNo.Value, item.CompanyCode);

            #endregion

            return(result);
        }
示例#6
0
        private ShiftRequestInfo ConvertRequestVMToInfo(ShiftRequestVM vm)
        {
            ShiftRequestInfo info = vm.ConvertVM <ShiftRequestVM, ShiftRequestInfo>((v, i) =>
            {
                i.CreateUser = new BizEntity.Common.UserInfo {
                    SysNo = v.CreateUserSysNo
                };
                i.EditUser = new BizEntity.Common.UserInfo {
                    SysNo = v.EditUserSysNo
                };
                i.AuditUser = new BizEntity.Common.UserInfo {
                    SysNo = v.AuditUserSysNo
                };
                i.OutStockUser = new BizEntity.Common.UserInfo {
                    SysNo = v.OutStockUserSysNo
                };
                i.SpecialShiftSetUser = new BizEntity.Common.UserInfo {
                    SysNo = v.SpecialShiftSetUserSysNo
                };
                i.InStockUser = new BizEntity.Common.UserInfo {
                    SysNo = v.InStockUserSysNo
                };
                i.SourceStock = new StockInfo {
                    SysNo = v.SourceStockSysNo
                };
                i.TargetStock = new StockInfo {
                    SysNo = v.TargetStockSysNo
                };
                i.ProductLineSysno = v.ProductLineSysno;
            });

            info.ShiftItemInfoList = new List <ShiftRequestItemInfo>();
            vm.ShiftItemInfoList.ForEach(item =>
            {
                ShiftRequestItemInfo itemInfo = item.ConvertVM <ShiftRequestItemVM, ShiftRequestItemInfo>();
                itemInfo.ShiftProduct         = new BizEntity.IM.ProductInfo {
                    SysNo = item.ProductSysNo.Value
                };
                info.ShiftItemInfoList.Add(itemInfo);
            });
            return(info);
        }
示例#7
0
 public virtual int UpdateShiftBasket(ShiftRequestItemInfo item)
 {
     return(ObjectFactory <ShiftRequestItemBasketProcessor> .Instance.UpdateShiftBasket(item));
 }
 public virtual int UpdateShiftBasket(ShiftRequestItemInfo basket)
 {
     return(ObjectFactory <ShiftRequestItemBasketAppService> .Instance.UpdateShiftBasket(basket));
 }