/// <summary> ///创建一个以已经入库的入库单 /// </summary> /// <param name="model">入库实体</param> /// <param name="productLend">借货单 明细备注信息为对应的当前还货数量</param> /// <returns></returns> /// <remarks>2013-07-23 周唐炬 创建</remarks> private void CreateInStock(WhStockIn model, WhProductLend productLend) { if (null == productLend.ItemList || productLend.ItemList.Count <= 0) { return; } //来源编号为借货单编号 model.SourceSysNO = productLend.SysNo; model.Status = (int)WarehouseStatus.入库单状态.已入库; model.SourceType = (int)WarehouseStatus.入库单据类型.借货单; model.IsPrinted = (int)WarehouseStatus.是否已经打印拣货单.否; model.DeliveryType = (int)WarehouseStatus.入库物流方式.还货; model.CreatedDate = model.LastUpdateDate = DateTime.Now; model.ItemList = new List <WhStockInItem>(); foreach (var item in productLend.ItemList) { model.ItemList.Add(new WhStockInItem { CreatedBy = model.CreatedBy, CreatedDate = DateTime.Now, LastUpdateBy = model.LastUpdateBy, LastUpdateDate = DateTime.Now, ProductName = item.ProductName, ProductSysNo = item.ProductSysNo, SourceItemSysNo = item.SysNo, //记录入库单明细来源单号(借货单明细编号) StockInQuantity = int.Parse(item.Remarks), //备注信息是当前还货数量,是一个中转参数 2014-04-08 朱成果 RealStockInQuantity = int.Parse(item.Remarks) //备注信息是当前还货数量,是一个中转参数 2014-04-08 朱成果 }); } InStockBo.Instance.CreateStockIn(model); }
/// <summary> /// 商品入库 /// </summary> /// <param name="model">入库单实体</param> /// <param name="user">操作人</param> /// <returns>返回操作状态(Result.StatusCode大于等于0成功,小于0失败)</returns> /// <remarks>2013-06-14 周唐炬 创建</remarks> private void ItemInStock(WhStockIn model, SyUser user) { if (model == null || model.ItemList == null || !model.ItemList.Any()) { return; } model.ItemList.ForEach(x => { #region 注释 //var data = IInStockDao.Instance.GetWhStockInItem(x.SysNo); //x.SourceItemSysNo = data.SourceItemSysNo; //if (data == null) //{ // throw new HytException(string.Format("该入库{0}无效!", x.ProductName)); //} //var count = data.RealStockInQuantity + x.RealStockInQuantity; //if (count > data.StockInQuantity) //{ // throw new HytException("实际商品入库数量总和超出商品入库数量,请检查!"); //} //data.RealStockInQuantity = count; //data.LastUpdateBy = user.SysNo; //data.LastUpdateDate = DateTime.Now; //UpdateStockInItem(data); #endregion var data = IInStockDao.Instance.GetWhStockInItem(x.SysNo); x.SourceItemSysNo = data.SourceItemSysNo; if (data == null) { throw new HytException(string.Format("该入库{0}无效!", x.ProductName)); } var count = 0; if (model.SourceType == 50) { count = data.RealStockInQuantity; } else { count = data.RealStockInQuantity + x.RealStockInQuantity; } if (count > data.StockInQuantity) { throw new HytException("实际商品入库数量总和超出商品入库数量,请检查!"); } data.RealStockInQuantity = count; data.LastUpdateBy = user.SysNo; data.LastUpdateDate = DateTime.Now; UpdateStockInItem(data); UpdateStockInStatus(model.SysNo, WarehouseStatus.入库单状态.已入库, user); //修改入库单状态 }); EasInStock(model); }
/// <summary> /// 插入入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>返回受影响行</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public int CreateStockIn(WhStockIn model) { var id = IInStockDao.Instance.InsertWhStockIn(model); //如果创建已经入库的入库单则调用eas入库接口 if (model.Status == WarehouseStatus.入库单状态.已入库.GetHashCode()) { EasInStock(model); } return(id); }
/// <summary> /// 更新入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>返回受影响行</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public override int UpdateWhStockIn(WhStockIn model) { var rowsAffected = Context.Update <WhStockIn>("WhStockIn", model) .AutoMap(x => x.SysNo, x => x.ItemList, x => x.InvoiceSysNo).Where(x => x.SysNo) .Execute(); if (model.ItemList != null) { foreach (var item in model.ItemList) { UpdateWhStockInItem(item); } } return(rowsAffected); }
/// <summary> /// 退货从出库单创建入库单 /// </summary> /// <param name="stockOut">出库单实体.</param> /// <param name="returnNumber">商品退货数量</param> /// <param name="operatorSysNo">操作人.</param> /// <param name="sourceType">来源单据类型.</param> /// <param name="sourceSysNo">来源单据系统编号.</param> /// <param name="transactionSysNo">事务编号.</param> /// <param name="remarks">备注.</param> /// <returns></returns> /// <remarks> /// 2013/7/11 何方 创建 /// </remarks> public int CreateStockIn(WhStockOut stockOut, Dictionary <int, int> returnNumber, int operatorSysNo, WarehouseStatus.入库单据类型 sourceType, int sourceSysNo, string transactionSysNo = "", string remarks = "") { var stockIn = new WhStockIn { CreatedBy = operatorSysNo, CreatedDate = DateTime.Now, DeliveryType = (int)WarehouseStatus.入库物流方式.拒收, IsPrinted = (int)WarehouseStatus.是否已经打印拣货单.否, Remarks = remarks, SourceSysNO = sourceSysNo, SourceType = (int)sourceType, Status = (int)WarehouseStatus.入库单状态.待入库, TransactionSysNo = transactionSysNo, WarehouseSysNo = stockOut.WarehouseSysNo, ItemList = new List <WhStockInItem>(), LastUpdateBy = operatorSysNo, LastUpdateDate = DateTime.Now }; if (returnNumber != null && returnNumber.Any()) { stockIn.Status = (int)WarehouseStatus.入库单状态.待入库; //入库单明细 foreach (var orderItemSysNo in returnNumber.Keys) { var stockOutItem = stockOut.Items.SingleOrDefault(x => x.OrderItemSysNo == orderItemSysNo); if (stockOutItem == null) { throw new Exception(string.Format("出库单:{0}不包含商品{1}", stockOut.SysNo, orderItemSysNo)); } stockIn.ItemList.Add(new WhStockInItem { CreatedBy = operatorSysNo, CreatedDate = DateTime.Now, ProductName = stockOutItem.ProductName, ProductSysNo = stockOutItem.ProductSysNo, StockInQuantity = returnNumber[orderItemSysNo],//退货数量 RealStockInQuantity = 0, LastUpdateBy = operatorSysNo, LastUpdateDate = DateTime.Now }); } } return(InStockBo.Instance.CreateStockIn(stockIn)); }
/// <summary> /// 插入入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>入库单系统编号</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public override int InsertWhStockIn(WhStockIn model) { var sysNo = Context.Insert <WhStockIn>("WhStockIn", model) .AutoMap(x => x.SysNo, x => x.ItemList, x => x.InvoiceSysNo) .ExecuteReturnLastId <int>("SysNo"); model.SysNo = sysNo; #region 添加入库单明细 if (null != model.ItemList && model.ItemList.Count > 0) { foreach (var item in model.ItemList) { item.StockInSysNo = sysNo; InsertWhStockInItem(item); } } #endregion return(sysNo); }
/// <summary> /// 调拨单入库 /// </summary> /// <param name="model"></param> /// <remarks>2016-07-01 陈海裕 创建</remarks> private static void AtAllocationTranslations(WhStockIn model) { IList <WhWarehouse> wareList = WhWarehouseBo.Instance.GetAllWarehouseList(); var outInfo = BLL.Warehouse.WhInventoryOutBo.Instance.GetWhInventoryOut(model.SourceSysNO); //调拨出库单 var allocationInfo = BLL.Warehouse.AtAllocationBo.Instance.GetAtAllocationEntity(outInfo.SourceSysNO); //调拨单 var tempInWarehouse = wareList.First(p => p.SysNo == model.WarehouseSysNo); //AtAllocation tempOutStock = AtAllocationBo.Instance.GetAtAllocationEntity(model.SourceSysNO); var tempOutWarehouse = wareList.First(p => p.SysNo == allocationInfo.OutWarehouseSysNo); var query = new List <TransferStockInfo>(); if (model.ItemList != null) { foreach (var x in model.ItemList) { var stock = new PdProductStock(); stock.StockQuantity = x.RealStockInQuantity; stock.PdProductSysNo = x.ProductSysNo; stock.WarehouseSysNo = model.WarehouseSysNo; //保存仓库产品的库存数 BLL.Warehouse.PdProductStockBo.Instance.SaveProductStock(stock, BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo); var erpCode = BLL.Product.PdProductBo.Instance.GetProductErpCode(x.ProductSysNo); query.Add(new TransferStockInfo() { WarehouseSysNo = model.WarehouseSysNo, WarehouseNumber = tempInWarehouse.ErpCode, ErpCode = erpCode, FSCStockID = tempOutWarehouse.ErpCode, Quantity = x.RealStockInQuantity, FNote = model.Remarks, FFManagerID = model.CreatedBy.ToString(), FDate = model.CreatedDate.ToString("yyyy-MM-dd"), }); } //金蝶接口 string description = model.SourceSysNO + "_" + model.SysNo; string flowIdentify = allocationInfo.SysNo.ToString(); var client = Extra.Erp.Kis.KisProviderFactory.CreateProvider(); client.TransferStock(query, description, flowIdentify); } }
/// <summary> /// 采购单作废后,更采购单信息 /// </summary> /// <param name="inModel">入库单</param> /// <param name="user">操作用户</param> /// <returns></returns> /// <remarks>2016-06-20 杨浩 创建</remarks> public void PrInStockCancelCallBack(WhStockIn inModel, SyUser user) { if (inModel == null) { throw new Exception("入库单信息不存在"); } if (inModel.SourceType != (int)WarehouseStatus.入库单据类型.采购单) { return; } var PR = IPrPurchaseDao.Instance.GetPrPurchaseInfo(inModel.SourceSysNO);//采购单 if (PR.Status != (int)PurchaseStatus.采购单状态.待入库) { throw new Exception("采购单已经完成了入库,不能作废"); } PR.Status = (int)PurchaseStatus.采购单状态.待审核; IPrPurchaseDao.Instance.UpdateStatus(PR.SysNo, 0, PR.Status); }
/// <summary> /// EAS业务入库(包含销售退货,换货,采购) /// </summary> /// <param name="model">入库单明细WhStockInItem本次入库的商品系统编号和商品数量</param> /// <remarks>2013-11-21 杨浩 创建</remarks> private static void EasInStock(WhStockIn model) { if (model == null) { return; } if (model.SourceType == WarehouseStatus.入库单据类型.RMA单.GetHashCode() || model.SourceType == WarehouseStatus.入库单据类型.出库单.GetHashCode()) { SaleInfoTranslations(model); } else if (model.SourceType == WarehouseStatus.入库单据类型.借货单.GetHashCode()) { BorrowInfoTranslations(model); } else if (model.SourceType == WarehouseStatus.入库单据类型.采购单.GetHashCode()) { PurchaseInfoTranslations(model); } else if (model.SourceType == WarehouseStatus.入库单据类型.调拨出库单.GetHashCode()) { AtAllocationTranslations(model); } }
/// <summary> /// 二期业务数据三段 仓库物流 /// </summary> /// <param name="listObject"></param> private void AddBaseTaskObject2ToList4(List <BaseTask> listObject) { //BaseTask bsAT = new BsArea(); //BaseTask crCustomer = new CrCustomer(); //BaseTask crCL = new CrCustomerLevel(); //BaseTask crCQ = new CrCustomerQuestion(); //BaseTask crRA = new CrReceiveAddress(); //BaseTask feArticle = new FeArticle(); //BaseTask feAC = new FeArticleCategory(); //BaseTask feCS = new FeCommentSupport(); //BaseTask fepc = new FeProductComment(); //BaseTask fePCI = new FeProductCommentImage(); //BaseTask fePCR = new FeProductCommentReply(); //BaseTask fninvoice = new FnInvoice(); //BaseTask fnpv = new FnReceiptVoucher(); //BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem(); //BaseTask fnop = new FnOnlinePayment(); //BaseTask fnPaymentVoucher = new FnPaymentVoucher(); //BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem(); //BaseTask lgDelivery = new LgDelivery(); //BaseTask lgDI = new LgDeliveryItem(); //BaseTask lgDS = new LgDeliveryScope(); //BaseTask lgDUC = new LgDeliveryUserCredit(); //BaseTask lgsettlement = new LgSettlement(); //BaseTask lgSI = new LgSettlementItem(); //BaseTask pdAttribute = new PdAttribute(); //BaseTask pdAG = new PdAttributeGroup(); //BaseTask pdAGA = new PdAttributeGroupAssociation(); //BaseTask pdAO = new PdAttributeOption(); //BaseTask pdBrand = new PdBrand(); //BaseTask pdCGA = new PdCatAttributeGroupAso(); //BaseTask pdCategory = new PdCategory(); //BaseTask pdCA = new PdCategoryAssociation(); //BaseTask pdPrice = new PdPrice(); //BaseTask pdProduct = new PdProduct(); //BaseTask pdPA = new PdProductAssociation(); //BaseTask pdProductAttribute = new PdProductAttribute(); //BaseTask pdPI = new PdProductImage(); //BaseTask pdTemplate = new PdTemplate(); //BaseTask soOrder = new SoOrder(); //BaseTask soOrderItem = new SoOrderItem(); //BaseTask soRA = new SoReceiveAddress(); BaseTask lgDelivery = new LgDelivery(); BaseTask lgDI = new LgDeliveryItem(); BaseTask lgsettlement = new LgSettlement(); BaseTask lgSI = new LgSettlementItem(); BaseTask whStockOut = new WhStockOut(); BaseTask whStockOutItem = new WhstockOutItem(); BaseTask whstockin = new WhStockIn(); BaseTask whstockinItem = new WHStockinItem(); BaseTask rcReturn = new RCReturn(); BaseTask rcReturnItem = new RcReturnItem(); //listObject.Add(bsAT); ////listObject.Add(bsOrganization); //listObject.Add(crCustomer); //listObject.Add(crCL); //listObject.Add(crCQ); //listObject.Add(crRA); //listObject.Add(feArticle); //listObject.Add(feAC); //listObject.Add(feCS); //listObject.Add(fePCI); //listObject.Add(fePCR); //listObject.Add(fepc); //listObject.Add(fnpv); //listObject.Add(fnReceiptVoucherItem); //listObject.Add(fnop); //listObject.Add(fninvoice); //listObject.Add(fnPaymentVoucher); //listObject.Add(fnPaymentVoucherItem); //listObject.Add(lgDelivery); //listObject.Add(lgDI); //listObject.Add(lgDS); //listObject.Add(lgsettlement); //listObject.Add(lgSI); //listObject.Add(pdAttribute); //listObject.Add(pdAG); //listObject.Add(pdAGA); //listObject.Add(pdAO); //listObject.Add(pdBrand); //listObject.Add(pdCGA); //listObject.Add(pdCategory); //listObject.Add(pdCA); //listObject.Add(pdPrice); //listObject.Add(pdProduct); //listObject.Add(pdPA); //listObject.Add(pdProductAttribute); //listObject.Add(pdTemplate); //listObject.Add(pdPI); //listObject.Add(soOrder); //listObject.Add(soOrderItem); //listObject.Add(soRA); listObject.Add(whStockOut); listObject.Add(whStockOutItem); listObject.Add(whstockin); listObject.Add(whstockinItem); listObject.Add(rcReturn); listObject.Add(rcReturnItem); listObject.Add(lgDelivery); listObject.Add(lgDI); listObject.Add(lgsettlement); listObject.Add(lgSI); }
/// <summary> /// 退货入库 /// </summary> /// <param name="model">入库单</param> /// <remarks>2016-10-31 杨浩 创建</remarks> public void ReturnsIntoWarehouse(WhStockIn model) { var result = new Result(); try { var warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(model.WarehouseSysNo); var request = new Grand.Platform.Api.Contract.DataContract.LessProductStockRequest(); Grand.Platform.Api.Contract.Model.SheetMaster sheetMaster = new Grand.Platform.Api.Contract.Model.SheetMaster(); sheetMaster.trans_no = "00"; sheetMaster.branch_no = warehouse.ErpCode; sheetMaster.oper_date = DateTime.Now; sheetMaster.sheet_amt = 0; sheetMaster.db_no = "+"; IList <Grand.Platform.Api.Contract.Model.SheetDetail> sheetDetailList = new List <Grand.Platform.Api.Contract.Model.SheetDetail>(); Grand.Platform.Api.Contract.Model.SheetDetail sheetDetail = null; foreach (var item in model.ItemList) { sheetDetail = new Grand.Platform.Api.Contract.Model.SheetDetail(); var tempProduct = BLL.Product.PdProductBo.Instance.GetProduct(item.ProductSysNo); sheetDetail.item_no = tempProduct.ErpCode; sheetDetail.real_qty = item.RealStockInQuantity; sheetDetail.large_qty = item.RealStockInQuantity; sheetDetail.valid_price = 0; sheetDetail.sale_price = 0; sheetDetail.sub_amt = 0; sheetDetailList.Add(sheetDetail); } request.SheetMaster = sheetMaster; request.SheetDetails = sheetDetailList; string json = Util.Serialization.JsonUtil.ToJson2(request); result.Status = this.LessProductStock(request); if (result.Status == false) { //var queObj = DataAccess.Extra.IPosServiceDao.Instance.GetEntityByOrderSysNo(orderSysNo); //if (queObj == null) //{ // // 扣减库存失败,添加到队列表 // ReducedPOSInventoryQueue model1 = new ReducedPOSInventoryQueue(); // model.OrderSysNo = orderSysNo; // model.JsonData = json; // this.AddToReducedPOSInventoryQueue(model); //} BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.前台, "POS系统加库存失败:ReturnsIntoWarehouse", new Exception()); } } catch (Exception ex) { //// 扣减库存失败,添加到队列表 //ReducedPOSInventoryQueue model1 = new ReducedPOSInventoryQueue(); //model.OrderSysNo = orderSysNo; //model.Remark = ex.ToString(); //this.AddToReducedPOSInventoryQueue(model); BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.前台, "POS系统加库存失败:ReturnsIntoWarehouse", ex); } }
/// <summary> /// 作废出库单时,如果出库单申请了调货单,则同时作废调货单 /// </summary> /// <param name="stockOutSysno">出库单编号</param> /// <param name="userSysno">操作人</param> /// <remarks>2016-04-06 杨浩 创建</remarks> public void CancelTransferCargoOnCancelStockOut(int stockOutSysno, int userSysno) { var model = GetTransferCargo(stockOutSysno); if (model != null) { if (model.Status == (int)WarehouseStatus.调货状态.待处理) { model.Status = (int)WarehouseStatus.调货状态.已作废; model.LastUpdateBy = userSysno; model.LastUpdateDate = DateTime.Now; ITransferCargoDao.Instance.Update(model); } else if (model.Status == (int)WarehouseStatus.调货状态.已确认) { var stockOut = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.Get(stockOutSysno); if (stockOut != null) { var stockIn = new WhStockIn { CreatedBy = userSysno, CreatedDate = DateTime.Now, DeliveryType = (int)WarehouseStatus.入库物流方式.已调货出库单作废, IsPrinted = (int)WarehouseStatus.是否已经打印拣货单.否, Remarks = "已调货出库单(" + stockOutSysno + ")作废", SourceSysNO = stockOutSysno, SourceType = Hyt.Model.WorkflowStatus.WarehouseStatus.入库单据类型.出库单.GetHashCode(), Status = (int)WarehouseStatus.入库单状态.已入库, TransactionSysNo = stockOut.TransactionSysNo, WarehouseSysNo = stockOut.WarehouseSysNo, ItemList = new List <WhStockInItem>(), LastUpdateBy = userSysno, LastUpdateDate = DateTime.Now }; foreach (var stockOutItem in stockOut.Items) { stockIn.ItemList.Add(new WhStockInItem { CreatedBy = userSysno, CreatedDate = DateTime.Now, ProductName = stockOutItem.ProductName, ProductSysNo = stockOutItem.ProductSysNo, StockInQuantity = stockOutItem.ProductQuantity,//退货数量 RealStockInQuantity = stockOutItem.ProductQuantity, LastUpdateBy = userSysno, LastUpdateDate = DateTime.Now, SourceItemSysNo = stockOutItem.SysNo }); } InStockBo.Instance.CreateStockIn(stockIn);//插入入库单,写入补货退货EAS单据 var soOrderEn = SoOrderBo.Instance.GetEntity(stockOut.OrderSysNO); if (soOrderEn != null) { SoOrderBo.Instance.WriteSoTransactionLog(soOrderEn.TransactionSysNo, string.Format("调货单{0}已撤消", model.SysNo), SyUserBo.Instance.GetUserName(userSysno), OrderStatus.是否对客户显示订单日志.否.GetHashCode()); } } } } }
/// <summary> /// 出库单作废入库,退货入库,EAS事务(销售出库单) /// </summary> /// <param name="model">入库实体</param> /// <remarks>2013-11-21 周唐炬 创建</remarks> private static void SaleInfoTranslations(WhStockIn model) { List <SaleInfo> saleInfoList = null; var customer = string.Empty; var description = string.Empty;//订单系统编号 if (model.ItemList != null && model.ItemList.Any()) { saleInfoList = new List <SaleInfo>(); //仓库 var warehouse = WhWarehouseBo.Instance.GetWarehouse(model.WarehouseSysNo); var warehouseErpCode = string.Empty; string organizationCode = string.Empty;//组织机构代码 if (warehouse != null) { warehouseErpCode = warehouse.ErpCode; var oraganization = OrganizationBo.Instance.GetOrganization(warehouse.SysNo); if (oraganization != null) { organizationCode = oraganization.Code; } } var orderSysNo = 0; //是否为RMA换货 bool isRma = false; //商城或第三方订单号 var orderNo = string.Empty; SoOrder order = null; string deliveryCustomer = ""; //金蝶客户代码 if (model.SourceType == WarehouseStatus.入库单据类型.RMA单.GetHashCode()) { //创建Eas出库单摘要,商城订单时使用商城订单号,分销商时使用分销商订单号 var rmaSysNo = model.SourceSysNO; var rmaInfo = BLL.RMA.RmaBo.Instance.GetRMA(rmaSysNo); if (rmaInfo == null) { throw new Exception(string.Format("找不到编号为:{0}的RMA单", rmaSysNo)); } order = SoOrderBo.Instance.GetEntity(rmaInfo.OrderSysNo); if (order == null) { throw new Exception(string.Format("找不到编号为:{0}的订单", rmaInfo.OrderSysNo)); } var dealerInfo = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); organizationCode = dealerInfo.CreatedBy.ToString(); deliveryCustomer = dealerInfo.ErpCode; } //用户账号 string account = string.Empty; foreach (var x in model.ItemList) { //var product = PdProductBo.Instance.GetProductErpCode(x.ProductSysNo); //if (product == null) return; var productErpCode = IPdProductDao.Instance.GetProductErpCode(x.ProductSysNo); if (string.IsNullOrWhiteSpace(productErpCode)) { return; } var price = decimal.Zero; //取得退货单 if (model.SourceType == WarehouseStatus.入库单据类型.RMA单.GetHashCode()) { var rma = RmaBo.Instance.GetRMA(model.SourceSysNO); if (rma != null && rma.RMAItems != null && rma.RMAItems.Any()) { isRma = (rma.RmaType == (int)Model.WorkflowStatus.RmaStatus.RMA类型.售后换货); orderSysNo = rma.OrderSysNo; //取得退货单对应商品 var item = rma.RMAItems.FirstOrDefault(c => c.SysNo == x.SourceItemSysNo); if (item != null && item.RmaQuantity > 0) { if (item.RefundProductAmount < 0)//退货分摊为负,不导入 { continue; } if (rma.DeductedInvoiceAmount > 0)//如果存在扣发票金额,将其分摊到明细 { item.RefundProductAmount = decimal.Round(item.RefundProductAmount - (item.RefundProductAmount / rma.RefundProductAmount) * rma.DeductedInvoiceAmount, 2); } if (rma.RefundCoin > 0)//如果存在实退会员币,将其分摊到明细 { item.RefundProductAmount = decimal.Round(item.RefundProductAmount - (item.RefundProductAmount / rma.RefundProductAmount) * rma.RefundCoin, 2); } price = (decimal)x.RealStockInQuantity / (decimal)item.RmaQuantity * item.RefundProductAmount; //退货价为实退金额除退货数量 } if (item != null && isRma) //如果为售后换货取原单实际销售金额 { var whStockOut = BLL.Warehouse.WhWarehouseBo.Instance.GetWhStockOutItem(item.StockOutItemSysNo); var itx = Hyt.BLL.RMA.RmaBo.Instance.GetSoReturnOrderItem(whStockOut.OrderItemSysNo); if (itx != null)//换货生成的新订单再次换货 { price = decimal.Round(itx.FromStockOutItemAmount * ((decimal)x.RealStockInQuantity / whStockOut.ProductQuantity), 2); } else//原订单换货 { price = decimal.Round(whStockOut.RealSalesAmount * ((decimal)x.RealStockInQuantity / whStockOut.ProductQuantity), 2); } } } } else if (model.SourceType == WarehouseStatus.入库单据类型.出库单.GetHashCode()) { //出库单中商品 var itemList = WhWarehouseBo.Instance.GetWhStockOutItemList(model.SourceSysNO); if (itemList != null && itemList.Any()) { orderSysNo = itemList.First().OrderSysNo; //customer = WhWarehouseBo.Instance.GetErpCustomerCode(itemList.First().OrderSysNo); var item = itemList.FirstOrDefault(c => c.SysNo == x.SourceItemSysNo); if (item != null && item.RealSalesAmount > 0 && item.ProductQuantity > 0) { price = decimal.Round(x.RealStockInQuantity / (decimal)item.ProductQuantity * item.RealSalesAmount, 2); } } } saleInfoList.Add(new SaleInfo() { ErpCode = productErpCode, Quantity = x.RealStockInQuantity, WarehouseNumber = warehouseErpCode, WarehouseSysNo = model.WarehouseSysNo, OrganizationCode = organizationCode, Amount = price, DiscountAmount = decimal.Zero, IsPresent = isRma ? 0 : (price == 0 ? 1 : 0), //价格为0的商品,传入Eas为赠品 ItemID = model.SysNo, DeliveryCustomer = deliveryCustomer, }); } ; //如果入库单为升舱订单就获取导入分销订单号 //var order = SoOrderBo.Instance.GetEntity(orderSysNo); orderNo = orderSysNo.ToString(); if (order != null) { if (order.OrderSource == OrderStatus.销售单来源.分销商升舱.GetHashCode()) { var dsOrders = Hyt.BLL.MallSeller.DsOrderBo.Instance.GetEntityByHytOrderID(orderSysNo); if (dsOrders != null && dsOrders.Count > 0) { orderNo = string.Join(";", dsOrders.Select(o => o.MallOrderId)); } } } customer = WhWarehouseBo.Instance.GetErpCustomerCode(orderSysNo); description = orderNo; var client = Extra.Erp.Kis.KisProviderFactory.CreateProvider(); client.SaleInStock(saleInfoList, customer, description, order == null ? string.Empty : order.TransactionSysNo); } }
/// <summary> /// 采购单入库事务(采购入库) /// </summary> /// <param name="model">入库实体</param> /// <remarks>2016-6-21 杨浩 创建</remarks> private static void PurchaseInfoTranslations(WhStockIn model) { if (model.SourceType != WarehouseStatus.入库单据类型.采购单.GetHashCode()) { return; } var purchaseList = new List <PurchaseInfo>(); var warhouseInfo = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(model.WarehouseSysNo); if (model.ItemList != null) { int enterQuantity = 0; var _purchaseList = BLL.Purchase.PrPurchaseBo.Instance.GetPurchaseDetailsByPurchaseSysNo(model.SourceSysNO); foreach (var x in model.ItemList) { //var stock = new PdProductStock(); //stock.StockQuantity = x.RealStockInQuantity; //stock.WarehouseSysNo = model.WarehouseSysNo; //stock.PdProductSysNo = x.ProductSysNo; //enterQuantity += x.RealStockInQuantity; ////保存仓库产品的库存数 //BLL.Warehouse.PdProductStockBo.Instance.SaveProductStock(stock, 0); //更新采购单详情入库数 BLL.Purchase.PrPurchaseDetailsBo.Instance.UpdateEnterQuantity(model.SourceSysNO, x.ProductSysNo, x.RealStockInQuantity); var purchaseItemInfo = _purchaseList.Where(j => j.ProductSysNo == x.ProductSysNo).FirstOrDefault(); var purchaseInfo = new PurchaseInfo() { PurchaseQty = purchaseItemInfo.Quantity, WarehouseSysNo = model.WarehouseSysNo, FDate = model.CreatedDate.ToString(), WarehouseNumber = warhouseInfo.ErpCode, Quantity = x.RealStockInQuantity, FNote = "平台入库单明细系统编号:" + x.SysNo, Price = purchaseItemInfo.Money, Amount = purchaseItemInfo.Money * x.RealStockInQuantity, ErpCode = purchaseItemInfo.ErpCode, SettleDate = model.CreatedDate.ToString(), }; purchaseList.Add(purchaseInfo); } //更新采购单已入库数 BLL.Purchase.PrPurchaseBo.Instance.UpdateEnterQuantity(model.SourceSysNO, enterQuantity); if (purchaseList.Count > 0) { var prPurchaseInfo = IPrPurchaseDao.Instance.GetPrPurchaseInfo(model.SourceSysNO); var _purchaseInfo = purchaseList[0]; _purchaseInfo.FSupplyID = prPurchaseInfo.ManufacturerSysNo.ToString(); _purchaseInfo.FMangerID = prPurchaseInfo.CreatedBy.ToString(); _purchaseInfo.FEmpID = prPurchaseInfo.SyUserSysNo.ToString(); _purchaseInfo.FDeptID = prPurchaseInfo.DepartmentSysNo.ToString(); string flowIdentify = model.SourceSysNO.ToString();//采购订单系统编号 int count = EasBo.Instance.GetEasSyncLogCount((int)Extra.Erp.Model.接口类型.采购入库退货, flowIdentify); _purchaseInfo.SynchronizeCount = count; purchaseList[0] = _purchaseInfo; string description = model.SysNo.ToString();//入库单系统编号 var client = Extra.Erp.Kis.KisProviderFactory.CreateProvider(); client.PurchaseInStock(purchaseList, description, flowIdentify); } } }
/// <summary> /// 插入入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>返回受影响行</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public abstract int InsertWhStockIn(WhStockIn model);
/// <summary> /// 更新入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>返回受影响行</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public abstract int UpdateWhStockIn(WhStockIn model);
/// <summary> /// 借货还货EAS事务(其他出库单) /// </summary> /// <param name="model">入库实体</param> /// <remarks>2013-11-21 周唐炬 创建</remarks> private static void BorrowInfoTranslations(WhStockIn model) { List <BorrowInfo> borrowInfoList = null; if (model.ItemList != null && model.ItemList.Any()) { borrowInfoList = new List <BorrowInfo>(); //仓库 var warehouse = WhWarehouseBo.Instance.GetWarehouse(model.WarehouseSysNo); var warehouseErpCode = string.Empty; if (warehouse != null) { warehouseErpCode = warehouse.ErpCode; } model.ItemList.ForEach(x => { #region 入库数写入仓库库存 var stock = new PdProductStock(); stock.StockQuantity = x.RealStockInQuantity; BLL.Warehouse.PdProductStockBo.Instance.SaveProductStock(stock, BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo); ///添加调拨入库记录 WhWarehouseChangeLog log = new WhWarehouseChangeLog() { WareSysNo = stock.WarehouseSysNo, ProSysNo = x.ProductSysNo, ChageDate = model.CreatedDate, CreateDate = DateTime.Now, ChangeQuantity = Convert.ToInt32(x.RealStockInQuantity), BusinessTypes = "借货入库", LogData = "入库单号:" + model.TransactionSysNo }; WhWarehouseChangeLogBo.Instance.CreateMod(log); #endregion var product = PdProductBo.Instance.GetProduct(x.ProductSysNo); if (product == null) { return; } var price = decimal.Zero; //借货单商品 var item = IProductLendDao.Instance.GetWhProductLendItemInfo(new ParaWhProductLendItemFilter() { ProductLendSysNo = model.SourceSysNO, ProductSysNo = x.ProductSysNo, PriceSource = (int)ProductStatus.产品价格来源.配送员进货价 }); if (item != null) { price = item.Price; } var borrowInfo = new BorrowInfo() { ErpCode = product.ErpCode, Quantity = x.RealStockInQuantity, WarehouseNumber = warehouseErpCode, WarehouseSysNo = model.WarehouseSysNo, Amount = price, Remark = model.Remarks }; borrowInfoList.Add(borrowInfo); }); } //获取摘要 var userName = string.Empty; var productLend = ProductLendBo.Instance.GetWhProductLend(model.SourceSysNO); if (productLend != null) { var syUser = SyUserBo.Instance.GetSyUser(productLend.DeliveryUserSysNo); if (syUser != null) { userName = syUser.UserName; } } var description = string.Format("JC[{0}]-[{1}]-RK[{2}]", model.SourceSysNO, userName, model.SysNo); //借货调用借货入库,对应Eas其他出库单 var client = EasProviderFactory.CreateProvider(); client.Return(borrowInfoList, description, model.SourceSysNO.ToString()); }
private void AddBaseTaskObjectToList(List <BaseTask> listObject) { BaseTask bsAT = new BsArea(); BaseTask bsDP = new BsDeliveryPayment(); BaseTask bsPT = new BsPaymentType(); BaseTask bsCode = new BsCode(); BaseTask bsOrganization = new BsOrganization(); BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse(); BaseTask crCustomer = new CrCustomer(); BaseTask crCL = new CrCustomerLevel(); BaseTask crCQ = new CrCustomerQuestion(); BaseTask crRA = new CrReceiveAddress(); BaseTask dsMallType = new DsMallType(); BaseTask dsDealerLevel = new DsDealerLevel(); BaseTask feArticle = new FeArticle(); BaseTask feAC = new FeArticleCategory(); BaseTask feCS = new FeCommentSupport(); BaseTask fepc = new FeProductComment(); BaseTask fePCI = new FeProductCommentImage(); BaseTask fePCR = new FeProductCommentReply(); BaseTask feSearchKeyword = new FeSearchKeyword(); BaseTask feadvertgroup = new FeAdvertGroup(); BaseTask feadvertitem = new FeAdvertItem(); BaseTask feproductgroup = new FeProductGroup(); BaseTask feproductitem = new FeProductItem(); BaseTask fnIT = new FnInvoiceType(); BaseTask fninvoice = new FnInvoice(); BaseTask fnpv = new FnReceiptVoucher(); BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem(); BaseTask fnop = new FnOnlinePayment(); BaseTask fnPaymentVoucher = new FnPaymentVoucher(); BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem(); BaseTask lgDelivery = new LgDelivery(); BaseTask lgDI = new LgDeliveryItem(); BaseTask lgDS = new LgDeliveryScope(); BaseTask lgDT = new LgDeliveryType(); BaseTask lgDUC = new LgDeliveryUserCredit(); BaseTask lgPT = new LgPickupType(); BaseTask lgsettlement = new LgSettlement(); BaseTask lgSI = new LgSettlementItem(); BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate(); BaseTask pdAttribute = new PdAttribute(); BaseTask pdAG = new PdAttributeGroup(); BaseTask pdAGA = new PdAttributeGroupAssociation(); BaseTask pdAO = new PdAttributeOption(); BaseTask pdBrand = new PdBrand(); BaseTask pdCGA = new PdCatAttributeGroupAso(); BaseTask pdCategory = new PdCategory(); BaseTask pdCA = new PdCategoryAssociation(); BaseTask pdPrice = new PdPrice(); BaseTask pdProduct = new PdProduct(); BaseTask pdPA = new PdProductAssociation(); BaseTask pdProductAttribute = new PdProductAttribute(); BaseTask pdPI = new PdProductImage(); BaseTask pdTemplate = new PdTemplate(); BaseTask pdProductStatistics = new PdProductStatistics(); BaseTask soOrder = new SoOrder(); BaseTask soOrderItem = new SoOrderItem(); BaseTask soRA = new SoReceiveAddress(); BaseTask SyUG = new SyUserGroup(); BaseTask syGU = new SyGroupUser(); BaseTask syMenu = new SyMenu(); BaseTask syMenuPrivilege = new SyMenuPrivilege(); BaseTask syPrivilege = new SyPrivilege(); BaseTask syRole = new SyRole(); BaseTask syRoleMenu = new SyRoleMenu(); BaseTask syRolePrivilege = new SyRolePrivilege(); BaseTask syPermission = new SyPermission(); BaseTask syUser = new SyUser(); BaseTask syUW = new SyUserWarehouse(); BaseTask syMyMenu = new SyMyMenu(); BaseTask spcombo = new SpCombo(); BaseTask spComboItem = new SpComboItem(); BaseTask spcopon = new spcoupon(); BaseTask sqpromotion = new SPpromotion(); BaseTask spromotiongift = new SPpromotiongift(); BaseTask sppromotionoverlay = new SPpromotionoverlay(); BaseTask sppromotionrule = new SPpromotionrule(); BaseTask sppromotionrulecondition = new SPpromotionrulecondition(); BaseTask sppromotionrulekeyvalue = new SPpromotionrulekeyvalue(); BaseTask syTaskConfig = new SyTaskConfig(); BaseTask whStockOut = new WhStockOut(); BaseTask whStockOutItem = new WhstockOutItem(); BaseTask whwarehouse = new WhWarehouse(); BaseTask whwa = new WHwarehousearea(); BaseTask whwdy = new WHwarehouseDeliveryType(); BaseTask whWPT = new WhWarehousePickupType(); BaseTask whstockin = new WhStockIn(); BaseTask whstockinItem = new WHStockinItem(); BaseTask rcReturn = new RCReturn(); BaseTask rcReturnItem = new RcReturnItem(); listObject.Add(bsAT); listObject.Add(bsDP); listObject.Add(bsPT); listObject.Add(bsCode); listObject.Add(bsOrganization); listObject.Add(bsOrganizationWarehouse); listObject.Add(crCustomer); listObject.Add(crCL); listObject.Add(crCQ); listObject.Add(crRA); listObject.Add(dsMallType); listObject.Add(dsDealerLevel); listObject.Add(feArticle); listObject.Add(feAC); listObject.Add(feCS); listObject.Add(fePCI); listObject.Add(fePCR); listObject.Add(fepc); listObject.Add(feSearchKeyword); listObject.Add(feadvertgroup); listObject.Add(feadvertitem); listObject.Add(feproductgroup); listObject.Add(feproductitem); listObject.Add(fnIT); listObject.Add(fnpv); listObject.Add(fnReceiptVoucherItem); listObject.Add(fnop); listObject.Add(fninvoice); listObject.Add(fnPaymentVoucher); listObject.Add(fnPaymentVoucherItem); listObject.Add(lgDelivery); listObject.Add(lgDI); listObject.Add(lgDS); listObject.Add(lgDT); listObject.Add(lgPT); listObject.Add(lgsettlement); listObject.Add(lgSI); listObject.Add(lgDeliveryPrintTemplate); listObject.Add(pdAttribute); listObject.Add(pdAG); listObject.Add(pdAGA); listObject.Add(pdAO); listObject.Add(pdBrand); listObject.Add(pdCGA); listObject.Add(pdCategory); listObject.Add(pdCA); listObject.Add(pdPrice); listObject.Add(pdProduct); listObject.Add(pdPA); listObject.Add(pdProductAttribute); listObject.Add(pdTemplate); listObject.Add(pdProductStatistics); listObject.Add(soOrder); listObject.Add(soOrderItem); listObject.Add(spcombo); listObject.Add(spComboItem); listObject.Add(spcopon); listObject.Add(sqpromotion); listObject.Add(spromotiongift); //listObject.Add(sppromotionoverlay); listObject.Add(sppromotionrule); listObject.Add(sppromotionrulecondition); listObject.Add(sppromotionrulekeyvalue); listObject.Add(syGU); listObject.Add(syUW); listObject.Add(SyUG); listObject.Add(syMenu); listObject.Add(syUser); listObject.Add(syPermission); listObject.Add(syMenuPrivilege); listObject.Add(syPrivilege); listObject.Add(syRole); listObject.Add(syRoleMenu); listObject.Add(syRolePrivilege); listObject.Add(syMyMenu); listObject.Add(syTaskConfig); listObject.Add(whStockOut); listObject.Add(whStockOutItem); listObject.Add(whwarehouse); listObject.Add(whwa); listObject.Add(whwdy); listObject.Add(whWPT); listObject.Add(whstockin); listObject.Add(whstockinItem); listObject.Add(rcReturn); listObject.Add(rcReturnItem); listObject.Add(lgDUC); listObject.Add(pdPI); listObject.Add(soRA); }
/// <summary> /// 审核采购单 /// </summary> /// <param name="sysNo">采购单编号</param> /// <remarks>2016-6-18 杨浩 创建</remarks> public bool AuditPurchase(int sysNo) { var purchase = IPrPurchaseDao.Instance.GetPrPurchaseInfo(sysNo); if (purchase == null) { return(false); } if (purchase.Status != (int)PurchaseStatus.采购单状态.待审核) { return(false); } if (UpdateStatus(sysNo, 0, (int)PurchaseStatus.采购单状态.待入库)) { var paymentVoucherMod = new FnPaymentVoucher(); paymentVoucherMod.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; paymentVoucherMod.CreatedDate = DateTime.Now; paymentVoucherMod.CustomerSysNo = 0; paymentVoucherMod.LastUpdateBy = paymentVoucherMod.CreatedBy; paymentVoucherMod.LastUpdateDate = DateTime.Now; paymentVoucherMod.PayableAmount = purchase.TotalMoney; paymentVoucherMod.PayDate = new DateTime(1753, 1, 1); paymentVoucherMod.PayerSysNo = 0; paymentVoucherMod.RefundAccount = ""; paymentVoucherMod.RefundAccountName = ""; paymentVoucherMod.RefundBank = ""; paymentVoucherMod.Source = (int)Hyt.Model.WorkflowStatus.FinanceStatus.付款来源类型.采购单; paymentVoucherMod.SourceSysNo = sysNo; paymentVoucherMod.Status = (int)Hyt.Model.WorkflowStatus.FinanceStatus.付款单状态.待付款; paymentVoucherMod.Remarks = ""; BLL.Finance.FinanceBo.Instance.CreatePaymentVoucher(paymentVoucherMod); //创建入库单 WhStockIn inEntity = new WhStockIn { CreatedBy = paymentVoucherMod.CreatedBy, CreatedDate = DateTime.Now, DeliveryType = 20, IsPrinted = (int)WarehouseStatus.是否已经打印拣货单.否, SourceSysNO = sysNo, SourceType = (int)WarehouseStatus.入库单据类型.采购单, Status = (int)WarehouseStatus.入库单状态.待入库, TransactionSysNo = purchase.PurchaseCode, WarehouseSysNo = purchase.WarehouseSysNo, Stamp = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue, LastUpdateBy = paymentVoucherMod.CreatedBy, LastUpdateDate = DateTime.Now }; inEntity.ItemList = new List <WhStockInItem>(); var purchaseDetails = BLL.Purchase.PrPurchaseDetailsBo.Instance.GetPurchaseDetailsList(sysNo); //入库明细 foreach (var item in purchaseDetails) { inEntity.ItemList.Add(new WhStockInItem { CreatedBy = paymentVoucherMod.CreatedBy, CreatedDate = DateTime.Now, ProductName = item.ProductName, ProductSysNo = item.ProductSysNo, StockInQuantity = item.Quantity, RealStockInQuantity = 0, LastUpdateBy = paymentVoucherMod.CreatedBy, LastUpdateDate = DateTime.Now, SourceItemSysNo = item.SysNo //记录入库单明细来源单号(采购单明细编号) }); } var inSysNo = InStockBo.Instance.CreateStockIn(inEntity); //保存入库单数据 } return(true); }
/// <summary> /// 商品还货 /// </summary> /// <param name="deliveryUserSysNo">配送员系统编号</param> /// <param name="model">入库单实体</param> /// <exception cref="ArgumentNullException"></exception> /// <returns>返回结果</returns> /// <remarks>2013-07-22 周唐炬 创建</remarks> public Result ProductReturn(int deliveryUserSysNo, WhStockIn model) { var result = new Result() { StatusCode = -1 }; if (null != model.ItemList && model.ItemList.Count > 0) { var itemList = new List <WhStockInItem>(); model.ItemList.ForEach(itemList.Add);//克隆坨新的出来 //借货单列表 var productLendList = new List <WhProductLend>(); #region 商品还货 //遍历所有还货商品 itemList.ForEach(item => { //还货数量小于1跳过该商品 if (item.RealStockInQuantity <= 0) { return; } //该商品本次还货数量 var returnNum = item.RealStockInQuantity; //找到配送人员指定商品借货列表,按借货单SysNo最小升序,时间最早还货 var productLengItemList = IProductLendDao.Instance.GetWhProductLendItemList(new ParaWhProductLendItemFilter() { DeliveryUserSysNo = deliveryUserSysNo, ProductSysNo = item.ProductSysNo, Status = WarehouseStatus.借货单状态.已出库.GetHashCode() }); if (null == productLengItemList) { return; } foreach (var sysno in productLengItemList) { //检查本次还货数量是否大于0,小于等于0项目直接跳过 if (returnNum <= 0) { break; } //重新获取到包含信用等级价格的借货明细 var modelItem = IProductLendDao.Instance.GetWhProductLendItemInfo(new ParaWhProductLendItemFilter() { SysNo = sysno, PriceSource = ProductStatus.产品价格来源.配送员进货价.GetHashCode() }); if (null == modelItem) { continue; } //该商品总金额 var price = decimal.Zero; //本次应还货数量 //应还货数量=借货数数量-已销售数量-已还货数量 var returnQuantity = modelItem.LendQuantity - modelItem.SaleQuantity - modelItem.ReturnQuantity; int currectReturnQuantity = 0; //本次还货数量 2014-04-08 朱成果 if (returnNum >= returnQuantity) //本次还货数量大于应还货数量 { //入库数量等于计算出的应还货数量,加上历史还货数据 modelItem.ReturnQuantity += returnQuantity; currectReturnQuantity = returnQuantity;//记录本次还货数量 2014-04-08 朱成果 //从本次还货数中减去该商品应还货数量 returnNum = returnNum - returnQuantity; //还货信用价格 price += returnQuantity * modelItem.Price; } else //本次还货数量小于应还货数量 { modelItem.ReturnQuantity += returnNum; currectReturnQuantity = returnNum;//记录本次还货数量 2014-04-08 朱成果 //还货信用价格 price += returnNum * modelItem.Price; //还货数量已用完,置位0 returnNum = 0; } //更新还货信息,借货单 modelItem.LastUpdateDate = DateTime.Now; modelItem.LastUpdateBy = model.LastUpdateBy; var id = IProductLendDao.Instance.UpdateWhProductLendItem(modelItem); //更新数据库 if (id <= 0) { continue; } modelItem.Remarks = currectReturnQuantity.ToString(); //将本次还货数量以备注信息传入下一个方法CreateInStock 2014-04-08 朱成果 //借货单是否在借货列表中 var productLend = productLendList.SingleOrDefault(x => x.SysNo == modelItem.ProductLendSysNo); if (null != productLend) //已经存在,添加借货明细 { productLend.ItemList.Add(modelItem); } else //不存在,添加借货单跟明细 { productLendList.Add(new WhProductLend() { SysNo = modelItem.ProductLendSysNo, ItemList = new List <WhProductLendItem> { modelItem } }); } //更新配送员信用 DeliveryUserCreditBo.Instance.UpdateRemaining(model.WarehouseSysNo, deliveryUserSysNo, 0, price, "商品还货,借货单号:" + sysno); } }); #endregion #region 商品入库,借货单完结 if (productLendList.Any()) { productLendList.ForEach(productLend => { #region 完结借货单 CompleteProductLend(productLend.SysNo, model.LastUpdateBy); #endregion #region 商品入库 CreateInStock(model, productLend); #endregion }); } #endregion result.StatusCode = 0; result.Status = true; } else { result.Message = "还货商品不能为空!"; } return(result); }
/// <summary> /// 更新入库单 /// </summary> /// <param name="model">入库单明细</param> /// <returns>返回受影响行</returns> /// <remarks>2013-06-09 周唐炬 创建</remarks> public int UpdateStockIn(WhStockIn model) { return(IInStockDao.Instance.UpdateWhStockIn(model)); }