using System; using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Model.CK; using System.Data; using WMS.IData; using WMS.Common; using System.Threading.Tasks; using WMS.Model.Base; using WMS.Model.Stock; namespace WMS.Business.CK { public class BussOrders : IBussFactory { /// /// 查询订单的 /// /// /// public int GetCtOrder(string orderID) { DataTable tb = DataProvider.Instance.OrderDetail.GetCtOrder(orderID); if(tb!=null) { if(tb.Rows.Count>0) { return int.Parse(tb.Rows[0]["a"].ToString()); } } return 0; } /// /// 修改采购订单 /// /// /// public string EditOrderInfo(List orderInfo) { string orderId = orderInfo[0].CGORDERID; DataProvider.Instance.OrderDetail.DelOrderInfo(orderId); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); foreach (CgOrderInfo inOrderData in orderInfo) { inOrderData.CGORDERID = orderId; DataProvider.Instance.Orders.InCgOrderInfo(inOrderData); logList.Add(DataProvider.Instance.logData); } TaCmtOrRak(); return ErrText; } /// /// 查询采购单明细 /// /// /// public List GetCgOrderInfo(string orderID) { DataTable tb = DataProvider.Instance.OrderDetail.GetCgOrderInfo(orderID); if(tb!=null) { List list = ConvertHelper.ConvertToList(tb); return list; } return null; } /// /// 审核采购订单 /// /// public string CheckData(string orderID,string sts) { DataProvider.Instance.Orders.CheckData(orderID, sts); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; TaCmtOrRak(); return ErrText; } /// /// 查询订单 /// /// public List GetTableOrder(CgOrder order) { DataTable tb= DataProvider.Instance.Orders.GetTableOrder(order); if(tb!=null) { return ConvertHelper.ConvertToList(tb); } return null; } /// /// 新增采购单 /// /// /// /// /// public string AddOrderPlanData(List orderInfo,string userId) { IEnumerable> query = orderInfo.GroupBy(r => r.PROVIDER_ID); foreach (IGrouping info in query) { List oInfo = info.ToList(); string orderId = IBussFactory.Instance().GetDocumentStream("采购单"); CgOrder order = new CgOrder(); // order.ORDERID = orderId; order.PROVIDER_ID = info.Key;//.PROVIDER_ID; order.ENDDATE = oInfo.Max(r=>r.GOODSENDDATE); order.CREATE_MAN = userId; order.CGORDERID = orderId; DataProvider.Instance.Orders.InCgorder(order); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; foreach(CgOrderInfo inOrderData in oInfo) { inOrderData.CGORDERID = orderId; DataProvider.Instance.Orders.InCgOrderInfo(inOrderData); logList.Add(DataProvider.Instance.logData); } } TaCmtOrRak(); return ErrText; } /// /// 关闭计划单 /// /// /// /// public string UpdatePlanClose(string ORDERID,string men) { DataProvider.Instance.Orders.UpdatePlanClose(ORDERID, men); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; TaCmtOrRak(); return ErrText; } /// /// 更新计划的供应商 /// /// /// /// public string UpdatePlanProvider(string orderId, string providerId) { DataProvider.Instance.Orders.UpdatePlanProvider(orderId, providerId); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; TaCmtOrRak(); return ErrText; } /// /// 查询采购计划 /// /// public List GetOrderPlanData() { DataTable tb = DataProvider.Instance.Orders.GetOrderPlanData(); List list = ConvertHelper.ConvertToList(tb); return list; } /// /// 根据物料查询正式或者虚拟库存 /// /// /// public List GetGoodsData(string goodsID,bool bKc) { DataTable dtable = new DataTable(); if(bKc) { dtable = DataProvider.Instance.Orders.GetGoodsData(goodsID, "T_MI_STOCK"); } else { dtable = DataProvider.Instance.Orders.GetGoodsData(goodsID, "T_CG_STOCK"); } List list = ConvertHelper.ConvertToList(dtable); return list; } public string ExcePlanOrder(List orderList) { string acceptData = IBussFactory.Instance().GetDocumentStream("采购计划单"); for (int i = 0; i < orderList.Count; i++) { CgOrderPlan order = orderList[i]; order.ORDERID = acceptData; DataProvider.Instance.Orders.AddCgOrderPlan(order); logList.Add(DataProvider.Instance.logData); if (i==0) { Transaction = DataProvider.Instance.TranOracle; } } TaCmtOrRak(); return ErrText; } public List GetPlanExce(string goodsId,decimal goodNum,string orderID) { List planCg = new List(); DataTable tb = DataProvider.Instance.GoodsMaterial.GetGoodsMaterialList(goodsId); if (tb != null) { if (tb.Rows.Count > 0) { foreach (DataRow rwGoods in tb.Rows) { CgOrderPlan cgGoodData = new CgOrderPlan(); //cgGoodData.INVENTORY_ITEM_ID = rwGoods["INVENTORY_ITEM_ID"].ToString(); //cgGoodData.ITEM_DESCRIPTION = rwGoods["ITEM_DESCRIPTION"].ToString(); decimal stand_num = decimal.Parse(rwGoods["STAND_NUM"].ToString()); cgGoodData.CGNUM = goodNum * stand_num; cgGoodData.FGOODSID = goodsId; cgGoodData.XQNUM = cgGoodData.CGNUM; cgGoodData.TASKID = orderID; string a = rwGoods["SEMISTS"].ToString(); cgGoodData.SEMISTS = Convert.ToBoolean(int.Parse(rwGoods["SEMISTS"].ToString())); cgGoodData.BUY_NUM = decimal.Parse(rwGoods["BUY_NUM"].ToString()); cgGoodData.OCCUPY = decimal.Parse(rwGoods["OCCUPY"].ToString()); cgGoodData.FGOODSNAMAE = rwGoods["FGOODSNAMAE"].ToString(); planCg.Add(cgGoodData); if (cgGoodData.SEMISTS) { //List planCgz = GetPlanExce(cgGoodData.INVENTORY_ITEM_ID, cgGoodData.CGNUM, cgGoodData.TASKID); //planCg.AddRange(planCgz); } } } } return planCg; } /// /// 根据采购销售订单拆BOM /// /// /// public List GetPlanExce(Dictionary goodsId,string OrdrID) { List planCg = new List(); foreach (KeyValuePair keyData in goodsId) { string goodId = keyData.Key; decimal goodNum = keyData.Value; DataTable tb= DataProvider.Instance.GoodsMaterial.GetGoodsMaterialList(goodId); if(tb!=null) { if (tb.Rows.Count == 0) { ///需要增加查询基础物料表 return planCg; } else { foreach (DataRow rwGoods in tb.Rows) { CgOrderPlan cgGoodData = new CgOrderPlan(); //cgGoodData.INVENTORY_ITEM_ID = rwGoods["INVENTORY_ITEM_ID"].ToString(); //cgGoodData.ITEM_DESCRIPTION = rwGoods["ITEM_DESCRIPTION"].ToString(); decimal stand_num = decimal.Parse(rwGoods["STAND_NUM"].ToString()); cgGoodData.CGNUM = goodNum * stand_num; cgGoodData.FGOODSID = goodId; cgGoodData.XQNUM = cgGoodData.CGNUM; string a = rwGoods["SEMISTS"].ToString(); cgGoodData.SEMISTS = Convert.ToBoolean(int.Parse(rwGoods["SEMISTS"].ToString())); cgGoodData.BUY_NUM =decimal.Parse(rwGoods["BUY_NUM"].ToString()); cgGoodData.OCCUPY = decimal.Parse(rwGoods["OCCUPY"].ToString()); cgGoodData.TASKID = OrdrID; cgGoodData.FGOODSNAMAE = rwGoods["FGOODSNAMAE"].ToString(); planCg.Add(cgGoodData); if (cgGoodData.SEMISTS) { //List planCgz = GetPlanExce(cgGoodData.INVENTORY_ITEM_ID, cgGoodData.CGNUM, cgGoodData.TASKID); //planCg.AddRange(planCgz); } } } return planCg; } } return null; } public List GetOrderDate(string benDate, string endDate) { DataTable dt = DataProvider.Instance.Orders.GetOrderDate(benDate, endDate); List list = ConvertHelper.ConvertToList(dt); return list; } #region 查询 /// /// 接口增加出库订单 /// /// public string InsertDataOrderCk() { DataTable tb= DataProvider.Instance.Orders.InsertOrderData(); if(tb!=null) { foreach(DataRow row in tb.Rows) { string orderId = row[""].ToString(); DataTable tbInfo = DataProvider.Instance.Orders.GetOrderInfo(orderId); if(tbInfo!=null) { OrdersModel order = new OrdersModel(); order.ORDER_ID = orderId; order.Ck_type = "0"; order.Cus_membername = ""; order.CUSTOMERPHONE = ""; order.CUSTOMERPROVINCE = ""; order.CUSTOMERCITY = ""; order.CUSTOMERDISTRICT = ""; order.CUSTOMERADDRESS = ""; order.GOODS_PRICE = 0; order.CREATE_MAN = ""; DataProvider.Instance.Orders.AddOrders(order); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; foreach (DataRow info in tbInfo.Rows) { OrderDetailModel detailModel = new OrderDetailModel(); //detailModel.INVENTORY_ITEM_ID = ""; detailModel.PACKING_NUM = 0; detailModel.UNIT = ""; DataProvider.Instance.OrderDetail.AddOrderDetail(detailModel); logList.Add(DataProvider.Instance.logData); } TaCmtOrRak(); } } return this.ErrText; } return ErrText; } /// /// 查询 /// /// 实体 /// public List GetOrders(OrdersModel model) { DataTable dt = DataProvider.Instance.Orders.GetOrders(model); List list = ConvertHelper.ConvertToList(dt); return list; } #endregion #region 新增或修改 /// /// 新增或修改 /// /// 实体 /// 0 新增,1 修改 /// public string InsOrUpdOrders(OrdersModel model, int flg) { Transaction = DataProvider.Instance.TranOracle; if (flg == 0) { DataProvider.Instance.Orders.AddOrders(model); } else { DataProvider.Instance.Orders.UpdateOrders(model); } logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #endregion #region 打印 /// /// 打印 /// /// public string Print(OrdersModel model, PrintInfoModel print_model) { Transaction = DataProvider.Instance.TranOracle; DataProvider.Instance.Orders.UpdateOrders(model); DataProvider.Instance.PrintInfo.InsertPrintInfo(print_model); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #endregion #region 新增或修改主表明细表一起 /// /// 新增或修改 /// /// 通知单实体 /// 明细集合 /// 0 新增,1 修改 /// public string InsOrUpdate(OrdersModel model, List list, int flg) { if (flg == 0)//新增 { string OutId = IBussFactory.Instance().GetDocumentStream("出库通知单"); model.ORDER_ID = OutId; DataProvider.Instance.Orders.AddOrders(model); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); foreach (OrderDetailModel insetM in list) { insetM.STORAGE_ID = model.Storage_id; insetM.ORDER_ID = OutId; insetM.BUSINESSID = model.BUSINESSORDERID; DataProvider.Instance.OrderDetail.AddOrderDetail(insetM); logList.Add(DataProvider.Instance.logData); } } else if (flg == 1)//修改 先删除以前明细,再新增新明细 { DataProvider.Instance.Orders.UpdateOrders(model); Transaction = DataProvider.Instance.TranOracle; List lis = new List(); OrderDetailModel mo = new OrderDetailModel(); mo.ORDER_ID = model.ORDER_ID; lis.Add(mo); // DataProvider.Instance.OrderDetail.DelOrderDetail(lis); // DataProvider.Instance.OrderDetail.AddOrderDetail(list); } else { return null; } logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #endregion public void UpdateLock(string locid) { string lockloc = string.Empty; string Xloc = locid.Substring(3, 2).ToString(); string Yloc = locid.Substring(6, 2).ToString(); string Zloc = locid.Substring(locid.Length - 1, 1); Transaction = DataProvider.Instance.TranOracle; if (int.Parse(Xloc) > 0 && int.Parse(Xloc) < 4) { for (int j = 1; j < 4; j++) { lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0'); DataProvider.Instance.Orders.UpdateLock(lockloc); logList.Add(DataProvider.Instance.logData); } } else if (int.Parse(Xloc) > 4 && int.Parse(Xloc) < 11) { for (int j = 5; j < 11; j++) { lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0'); DataProvider.Instance.Orders.UpdateLock(lockloc); logList.Add(DataProvider.Instance.logData); } } else if (int.Parse(Xloc) > 11 && int.Parse(Xloc) < 18) { for (int j = 12; j < 18; j++) { lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0'); DataProvider.Instance.Orders.UpdateLock(lockloc); logList.Add(DataProvider.Instance.logData); } } else if (int.Parse(Xloc) > 18 && int.Parse(Xloc) < 25) { for (int j = 19; j < 25; j++) { lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0'); DataProvider.Instance.Orders.UpdateLock(lockloc); logList.Add(DataProvider.Instance.logData); } } else if (int.Parse(Xloc) > 25 && int.Parse(Xloc) < 29) { for (int j = 26; j < 29; j++) { lockloc = "JW-" + j.ToString().PadLeft(2, '0') + "-" + Yloc + "-" + Zloc.PadLeft(2, '0'); DataProvider.Instance.Orders.UpdateLock(lockloc); logList.Add(DataProvider.Instance.logData); } } TaCmtOrRak(); } public string InsTMISTOCK(string loc_id) { DataProvider.Instance.PickingWaveGoods.InsertTMISTOCK(loc_id); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } public string InsSDOrder(PickingWaveGoodsModel model) { MIStockModel queryMIStock = new MIStockModel(); queryMIStock.STORAGE_ID = model.STORAGE_ID; queryMIStock.LOCATION_ID = model.LOC_ID; DataTable tableMIStock = DataProvider.Instance.MIStock.GetMIStockDT(queryMIStock); if(tableMIStock==null) { return "库存查询错误"; } if (tableMIStock.Rows.Count==0) { return "库存查询错误"; } string sts = tableMIStock.Rows[0]["sts"].ToString(); //if(sts == "1") //{ // return "库位已经占用"; //} string plcId = "0"; model.plcId = DataProvider.Instance.AutoRkData.GetPlcId(); DataProvider.Instance.PickingWaveGoods.InsertPickingWaveGoods(model); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.MIStock.UpdateMisLoc(model.LOC_ID, "1"); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } public string InsYK(string startmove,string endmove) { string orderstr = "YK" + DateTime.Now.ToString("yyyyMMddHHmmssfff"); string plcId = DataProvider.Instance.AutoRkData.GetPlcId(); DataProvider.Instance.PickingWaveGoods.InsertCK(orderstr,startmove,endmove,plcId); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.MIStock.UpdateMisLoc(startmove, "1"); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.MIStock.UpdateYKLoc(endmove); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #region 删除 /// /// 删除 /// /// 实体 /// public string DelOrders(OrdersModel model) { DataProvider.Instance.Orders.DelOrders(model); Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); DataProvider.Instance.OrderDetail.DelOrder(model.ORDER_ID); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #endregion #region 获得流水号 /// /// 获得流水号 /// /// public string GetSerialNum() { string str = DataProvider.Instance.Orders.GetSerialNum(); return str; } #endregion #region 自动填充快递单号 /// /// 自动填充快递单号 /// /// 出库单集合 /// public string FillKD(List list) { //截取快递单号前面的 string str_No = list[0].EXPRESSNO.ToString().Substring(0, list[0].EXPRESSNO.ToString().Length - 5); //获取集合第一个快递单号后四位 int no = Convert.ToInt32(list[0].EXPRESSNO.ToString().Substring(list[0].EXPRESSNO.ToString().Length - 5, 5)); //获取增量 //ExpressNORuleModel ruleModel = new ExpressNORuleModel(); //ruleModel.COM_ID = list[0].LOG_COM_ID; //int addNum = Convert.ToInt32(DataProvider.Instance.ExpressNORule.GetRule(ruleModel).Rows[0]["ADDNUM"].ToString());//获取增量 foreach (OrdersModel model in list.FindAll(r => r.ORDER_ID != list[0].ORDER_ID)) { // no += addNum; model.EXPRESSNO = str_No + no.ToString(); InsOrUpdOrders(model, 1); } Transaction = DataProvider.Instance.TranOracle; logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return this.ErrText; } #endregion /// /// 通过出库通知单 新增出库单明细、捡货单、捡货单明细 /// /// /// public string addCKOrderAndPickOrder(OrdersModel ck) { List listCKTab = new List();//出库通知单明细集合 List listPick = new List(); //捡货单集合 List listPickTab = new List(); //捡货单明细集合 //为出库通知单省、市、区、仓库、状态、出库通知单编号字段赋值 StorageOrderModel storOrderModel = new StorageOrderModel(); DataTable dt = DataProvider.Instance.AddressArea.GetAddressArea(ck.Customerprovince_Name, ck.Customercity_Name, ck.Customerdistrict_Name); storOrderModel.TOWN_ID = dt.Rows[0][0].ToString(); ck.CUSTOMERDISTRICT = dt.Rows[0][0].ToString(); ck.CUSTOMERCITY = dt.Rows[0][1].ToString(); ck.CUSTOMERPROVINCE = dt.Rows[0][2].ToString(); DataTable table = DataProvider.Instance.StorageOrder.GetStorOrderDT(storOrderModel); List storOrderList = ConvertHelper.ConvertToList(table); if (storOrderList == null || storOrderList.Count == 0) { return "找不到配送仓库"; } ck.Storage_id = storOrderList[0].STORAGE_ID; ck.STATUS = "2";//已生成捡货单 // ck.ORDER_ID = DataProvider.Instance.Orders.GetSerialNum(); ck.CREATE_DATE = DateTime.Now; Transaction = DataProvider.Instance.TranOracle; //查找是否存在该客户 不存在首先新增客户 if (!string.IsNullOrEmpty(ck.Cus_guid)) { CustomerModel c_model = new CustomerModel(); c_model.Guid = ck.Cus_guid; DataTable dt2 = DataProvider.Instance.Customer.GetCustomer(c_model); if (dt2.Rows.Count <= 0) { CustomerModel cus_Model = new CustomerModel(); cus_Model.Customer_id = ck.CUSTOMERMEMBERID; cus_Model.Guid = ck.Cus_guid; cus_Model.Customer_name = ck.Cus_membername; cus_Model.Address = ck.CUSTOMERADDRESS; DataProvider.Instance.Customer.AddCustomer(cus_Model); logList.Add(DataProvider.Instance.logData); } } //增加出库通知单 DataProvider.Instance.Orders.AddOrders(ck); logList.Add(DataProvider.Instance.logData); //新增消息 MessageModel messModel = new MessageModel(); messModel.ID = "CK" + DateTime.Now.ToString("yyyyMMddHHmmss") + DataProvider.Instance.Message.GetSerialNum(); messModel.MENU_FORM = "FrmOrders"; messModel.MESS_CONTENT = "新增出库通知单,单据编号:" + ck.ORDER_ID; messModel.MESS_DATE = DateTime.Now; messModel.MESS_DEP = ck.Storage_id; messModel.MESS_FLAG = "0"; messModel.MESS_STAR = ck.CREATE_MAN; messModel.MESS_STATUS = "0"; messModel.WORK_TYPE = "worktype011"; messModel.WORK_KIND = "0"; messModel.MESS_TYPE = "CK"; messModel.RELATIVE_NUMBER = ck.ORDER_ID; messModel.STO_ID = ck.Storage_id; DataProvider.Instance.Message.Add(messModel); logList.Add(DataProvider.Instance.logData); string id = ck.SHOPORDERID;//店铺订单号 //占用库存记录 MIStockOccupyModel queryOccupy = new MIStockOccupyModel(); queryOccupy.DOCCTNUMBER = id; List occupy = ConvertHelper.ConvertToList(DataProvider.Instance.MIStockOccupy.GetMIStockOccupyDT(queryOccupy)); //遍历占用库存记录,得捡货单明细 foreach (var item in occupy) { if (!listPick.Exists(p => p.AREA_ID == item.AREA_ID)) { //捡货单 PickingWaveModel pick = new PickingWaveModel(); pick.CREATE_DATE = DateTime.Now; pick.CREATE_PERSON = ck.CREATE_MAN; pick.CREATE_PERSON_NAME = ck.Create_man_Name; pick.PRINT_COUNT = 0; pick.STORAGE_ID = item.STORAGE_ID; pick.AREA_ID = item.AREA_ID; //增加捡货单 pick.PICKINGID = DataProvider.Instance.PickingWave.InsertPickingWave(pick); logList.Add(DataProvider.Instance.logData); listPick.Add(pick); //新增消息 messModel = new MessageModel(); messModel.ID = "JH" + DateTime.Now.ToString("yyyyMMddHHmmss") + DataProvider.Instance.Message.GetSerialNum(); messModel.MENU_FORM = "FrmPickingWave"; messModel.MESS_CONTENT = "新增捡货单,单据编号:" + pick.PICKINGID; messModel.MESS_DATE = DateTime.Now; messModel.MESS_DEP = item.STORAGE_ID; messModel.MESS_FLAG = "0"; messModel.MESS_STAR = pick.CREATE_PERSON; messModel.MESS_STATUS = "0"; messModel.WORK_TYPE = "worktype012"; messModel.WORK_KIND = "0"; messModel.MESS_TYPE = "JH"; messModel.RELATIVE_NUMBER = pick.PICKINGID; messModel.STO_ID = item.STORAGE_ID; DataProvider.Instance.Message.Add(messModel); logList.Add(DataProvider.Instance.logData); } //JWGoodsInfoModel goods = ConvertHelper.ConvertToList(DataProvider.Instance.Goods.GetGoodsDataTable(item.INVENTORY_ITEM_ID, "", "", ""))[0]; MIStockModel mistock = new MIStockModel(); mistock.PUTIN_ID = item.PUTIN_ID; mistock.STOCK_ID = item.STOCK_ID; mistock.LOCATION_ID = item.LOCATION_ID; //mistock.INVENTORY_ITEM_ID = item.INVENTORY_ITEM_ID; mistock = ConvertHelper.ConvertToList(DataProvider.Instance.MIStock.GetMIStockDT(mistock))[0]; ////捡货单明细 //PickingWaveGoodsModel pickTab = new PickingWaveGoodsModel(); //pickTab.DOCCTNUMBER = item.DOCCTNUMBER; //pickTab.INVENTORY_ITEM_ID = item.INVENTORY_ITEM_ID; //pickTab.GOODS_NUM = item.OCCUPY_NUM; //pickTab.LOC_ID = item.LOCATION_ID; //pickTab.OUT_ID = ck.ORDER_ID; //pickTab.PICKINGID = listPick.Find(p=>p.AREA_ID == item.AREA_ID).PICKINGID; ////pickTab.MISTOCK_NUM; //pickTab.PRICE = goods.PRICE; //pickTab.PRODUCTION_DATE = mistock.PRODUCTION_DATE; //pickTab.PROVIDER_ID = mistock.PROVIDER_ID; //pickTab.PUTIN_ID = mistock.PUTIN_ID; ////pickTab.REMARK; //pickTab.SCALE_UNIT = goods.SCALE_UNIT; ////pickTab.SKU_ID ; //pickTab.SPECIFICATION = goods.SPECIFICATION; //pickTab.UNIT = goods.UNIT; //pickTab.WARE_DATE = mistock.WARE_DATE; ////出库通知单明细 //if(listCKTab.Exists(p=>p.INVENTORY_ITEM_ID == pickTab.INVENTORY_ITEM_ID)){//已有该商品 // listCKTab.Find(p => p.INVENTORY_ITEM_ID == pickTab.INVENTORY_ITEM_ID).GOODS_NUM += pickTab.GOODS_NUM; // listCKTab.Find(p => p.INVENTORY_ITEM_ID == pickTab.INVENTORY_ITEM_ID).PICK_NUM += pickTab.GOODS_NUM; // listCKTab.Find(p => p.INVENTORY_ITEM_ID == pickTab.INVENTORY_ITEM_ID).TOTAL_VOLUME += goods.GVOLUME; // pickTab.PICKING_NUM += pickTab.GOODS_NUM; //}else{//尚无该商品 // OrderDetailModel ckTab = new OrderDetailModel(); // ckTab.BarCode = goods.BARCODE; // ckTab.BUSINESSID = ck.BUSINESSORDERID; // ckTab.ORDER_ID = ck.ORDER_ID; // ckTab.INVENTORY_ITEM_ID = goods.INVENTORY_ITEM_ID; // ckTab.GOODS_NUM = pickTab.GOODS_NUM; // ckTab.GOODS_TYPE_ID = goods.GOODS_TYPE_ID; // ckTab.GVOLUME = goods.GVOLUME; // ckTab.Location_id = pickTab.LOC_ID; // ckTab.PICK_NUM = pickTab.GOODS_NUM; // ckTab.PRICE = goods.PRICE; // ckTab.SCALE_UNIT = goods.SCALE_UNIT; // ckTab.SPECIFICATION = goods.SPECIFICATION; // ckTab.Storage_area_id = item.AREA_ID; // ckTab.TOTAL_VOLUME = goods.GVOLUME; // ckTab.UNIT = goods.UNIT; // ckTab.Weith = goods.GROSS_WEIGHT; // pickTab.PICKING_NUM = pickTab.GOODS_NUM; // listCKTab.Add(ckTab); //} //listPickTab.Add(pickTab); } //新增出库通知单明细、捡货单明细 // DataProvider.Instance.OrderDetail.AddOrderDetail(listCKTab); logList.Add(DataProvider.Instance.logData); foreach (var item in listPickTab) { DataProvider.Instance.PickingWaveGoods.InsertPickingWaveGoods(item); logList.Add(DataProvider.Instance.logData); } TaCmtOrRak(); return ErrText; } } }