| | |
| | | } |
| | | foreach (var item in items.ITEM) |
| | | { |
| | | //bool v= MaterPanduan(item.WLBM, item.SL); |
| | | // if (!v) |
| | | // { |
| | | // result.resultMsg = "失败"; |
| | | // result.WLPZBH = items.HEAD.WLPZH; |
| | | // result.resultCode = 1; |
| | | // result.WLPZND = items.HEAD.WLPZND; |
| | | // result.resultMsg = $"物料{item.WLBM}数量超过 库存总数"; |
| | | // simpleResults.Add(result); |
| | | // continue; |
| | | // } |
| | | ///判断是否都有冲销凭证编号 |
| | | if (string.IsNullOrEmpty(item.CXPZH)) |
| | | { |
| | |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | List<TN_GENERATE_ORDER> tN_GENERATE_ORDERs = new List<TN_GENERATE_ORDER>(); |
| | | foreach (var item in model.ROOT.SCDD) |
| | | { |
| | | Orderback.ITEM iTEM = new Orderback.ITEM(); |
| | | |
| | | var materlist = db.Queryable<TN_GENERATE_ORDER>().Where(it => it.S_SCDDH == item.SCDDH).First(); |
| | | if (materlist == null) |
| | | { |
| | |
| | | tnorder.S_WBS = item.WBS; |
| | | tnorder.S_SHF = item.SHF; |
| | | tnorder.GZLH = item.GZLH; |
| | | tN_GENERATE_ORDERs.Add(tnorder); |
| | | //tnorder.S_XLH = string.Join(",", item.ITEM.Select(items => items.XLH)); |
| | | db.Insertable<TN_GENERATE_ORDER>(tnorder).ExecuteCommand(); |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | iTEM.MSGDESP = $"成功"; |
| | | tEMs.Add(iTEM); |
| | | } |
| | | db.Insertable<TN_GENERATE_ORDER>(tN_GENERATE_ORDERs).ExecuteCommand(); |
| | | orderResponse.ROOT.ITEM = tEMs; |
| | | db.CommitTran(); |
| | | } |
| | |
| | | po.Details = new List<TN_Inbound_Detail>(); |
| | | if (itemwlpz.ITEM.Count > 0) |
| | | { |
| | | itemwlpz.ITEM.ForEach(a => |
| | | foreach (var a in itemwlpz.ITEM) |
| | | |
| | | { |
| | | |
| | | |
| | | po.Details.Add(new TN_Inbound_Detail |
| | | { |
| | | S_IO_NO = itemwlpz.HEAD.WLPZH, |
| | |
| | | }); |
| | | //} |
| | | |
| | | }); |
| | | } |
| | | db.Insertable<TN_Inbound_Order>(po).ExecuteCommand(); |
| | | db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | |
| | | var Details = new List<TN_Inbound_Detail>(); |
| | | if (itemwlpz.ITEM.Count > 0) |
| | | { |
| | | itemwlpz.ITEM.ForEach(a => |
| | | foreach (var a in itemwlpz.ITEM) |
| | | { |
| | | if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBM).Count() > 0) |
| | | { |
| | |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | | |
| | |
| | | |
| | | try |
| | | { |
| | | var itemlist = db.Queryable<TN_Material>().ToList(); |
| | | List<TN_Inbound_Detail> tN_Inbound_Details = new List<TN_Inbound_Detail>(); |
| | | List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>(); |
| | | foreach (var itemwlpz in model.ROOT.WLPZ) |
| | | { |
| | | |
| | |
| | | po.Details = new List<TN_Inbound_Detail>(); |
| | | if (itemwlpz.ITEM.Count > 0) |
| | | { |
| | | itemwlpz.ITEM.ForEach(a => |
| | | foreach (var a in itemwlpz.ITEM) |
| | | |
| | | { |
| | | |
| | | #region 不需要 |
| | | //if (a.ITEM1.Select(s => s.XLH).Count() > 0)//判断序列号是否为多个 |
| | | //{ |
| | |
| | | }); |
| | | //} |
| | | |
| | | }); |
| | | } |
| | | db.Insertable<TN_Inbound_Order>(po).ExecuteCommand(); |
| | | db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | |
| | | var Details = new List<TN_Inbound_Detail>(); |
| | | if (itemwlpz.ITEM.Count > 0) |
| | | { |
| | | itemwlpz.ITEM.ForEach(a => |
| | | foreach (var a in itemwlpz.ITEM) |
| | | |
| | | { |
| | | if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBH).Count() > 0) |
| | | { |
| | | var poq = po.Details.Where(s => s.S_ITEM_CODE == a.WLBH).FirstOrDefault(); |
| | | poq.F_QTY = a.SL; |
| | | |
| | | db.Updateable(poq).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | tN_Inbound_Details.Add(poq); |
| | | // db.Updateable(poq).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | | |
| | |
| | | po.S_FACTORY = itemwlpz.ITEM[0].GC; |
| | | foreach (var a in itemwlpz.ITEM) |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBH).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBH).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | var result12 = new SimpleResult(); |
| | |
| | | var po1 = po.Details.Where(s => a.WLBH == s.S_ITEM_CODE).ToList(); |
| | | if (po1.Count() == 0) //无则新增物料明细 |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBH).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBH).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | var result12 = new SimpleResult(); |
| | |
| | | if (po1.Where(s => s.F_ACC_D_QTY < a.SL).Count() > 0)//更新数量大于当前物料 数量 更新出库单 |
| | | { |
| | | po1.First().F_QTY = a.SL; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | tN_Ll_Details.Add(po1.First()); |
| | | //db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | else //返回失败 |
| | | { |
| | |
| | | var po1 = po.Details.Where(s => a.WLBH == s.S_ITEM_CODE).ToList(); |
| | | if (po1.Count() == 0) //无则新增物料明细 |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBH).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBH).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | var result12 = new SimpleResult(); |
| | |
| | | else |
| | | {//更新数量 未执行时 直接更新数量 |
| | | po1.First().F_QTY = a.SL; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | tN_Ll_Details.Add(po1.First()); |
| | | //db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | //} |
| | | } |
| | |
| | | result.resultCode = 0; |
| | | simples.Add(result); |
| | | } |
| | | if (tN_Ll_Details.Count()>0) |
| | | { |
| | | |
| | | |
| | | db.Updateable(tN_Ll_Details).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | if (tN_Inbound_Details.Count()>0) |
| | | { |
| | | db.Updateable(tN_Inbound_Details).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | db.CommitTran(); |
| | | |
| | | } |
| | |
| | | internal static SimpleResult InboundOrderSorting(MPSorting model) |
| | | { |
| | | var result = new SimpleResult(); |
| | | foreach (var a in model.MaterList) |
| | | { |
| | | bool v = MaterPanduan(a.item_code, a.qty); |
| | | if (v) |
| | | { |
| | | result.resultMsg = $"物料{a.item_code}数量超过 库存总数"; |
| | | return result; |
| | | } |
| | | } |
| | | //判断起始库位是否锁定 |
| | | // var db = new SqlHelper<object>().GetInstance(); |
| | | using (var db = new SqlHelper<object>().GetInstance()) |
| | |
| | | .LeftJoin<CntrItemRel>((lcr, cir) => lcr.S_CNTR_CODE == cir.S_CNTR_CODE&&cir.S_CNTR_TYPE=="半托") |
| | | .Where((lcr, cir) => cir.S_CNTR_CODE != null) |
| | | .LeftJoin<Location>((lcr, cir, loc) => lcr.S_LOC_CODE == loc.S_CODE && loc.S_AREA_CODE == "HJQ") |
| | | .OrderBy((lcr, cir) => cir.T_CREATE) |
| | | .Select((lcr, cir, loc) => loc).ToList() // 返回 Location 对象 |
| | | .FirstOrDefault(); // 或者 Take(1).ToList()[0] |
| | | } |
| | |
| | | } |
| | | }; |
| | | List<LLDReturnRoot.ITEM> iTEMs = new List<LLDReturnRoot.ITEM>(); |
| | | |
| | | |
| | | var result = new WeiLiResult(); |
| | | |
| | | using (var db = new SqlHelper<object>().GetInstance()) |
| | |
| | | //创建领料单 |
| | | try |
| | | { |
| | | var itemlist = db.Queryable<TN_Material>().ToList(); |
| | | |
| | | //删除的集合 |
| | | List<TN_Ll_detail> tN_Ll_Details = new List<TN_Ll_detail>(); |
| | | List<TN_Ll_detail> iuptN_Ll_Details = new List<TN_Ll_detail>(); |
| | | foreach (var itemscddll in model.ROOT.SCDDLL) |
| | | { |
| | | LLDReturnRoot.ITEM lLDReturnRoots = new LLDReturnRoot.ITEM(); |
| | | |
| | | db.BeginTran(); |
| | | |
| | | // 预先缓存物料数据(优化点1:批量查询减少数据库访问) |
| | | |
| | | var materialCache = new Dictionary<string, TN_Material>(); |
| | | #region 创建领料单 |
| | | var po = db.Queryable<TN_Ll_Order>().Includes(a => a.Details).Where(s => s.S_NO == itemscddll.LLDH).First(); |
| | | |
| | | //var po = db.Queryable<TN_Ll_Order>().Includes(a => a.Details).Where(s => s.S_NO == itemscddll.LLDH).First(); |
| | | var po = db.Queryable<TN_Ll_Order>() |
| | | .Includes(a => a.Details) |
| | | .Where(s => s.S_NO == itemscddll.LLDH) |
| | | .First(); |
| | | #endregion |
| | | //var po = WMSHelper.GetOutboundOrder(model.ROOT.SCDDLL.LLDH); |
| | | if (po == null) |
| | |
| | | { |
| | | foreach (var a in itemscddll.ITEM) |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBM).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | //result.code = 1; |
| | | //result.msg = $"物料{a.WLBM}物料主数据不存在该物料"; |
| | | //throw new Exception($"物料{a.WLBM}物料主数据不存在该物料"); |
| | | lLDReturnRoots.GC = itemscddll.GC; |
| | | lLDReturnRoots.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料主数据不存在该物料"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | |
| | | break ; |
| | | continue; |
| | | } |
| | | po.Details.Add(new TN_Ll_detail |
| | | { |
| | |
| | | S_AREA_CODE = "HJQ", |
| | | N_ROW_NO = "", |
| | | S_ITEM_CODE = a.WLBM, |
| | | S_ITEM_NAME = item.S_ITEM_NAME, |
| | | S_ITEM_NAME = item?.S_ITEM_NAME, |
| | | F_QTY = a.XQSL, |
| | | S_ZJBM = a.ZJBM, |
| | | S_YLBH = a.YLBH, |
| | |
| | | N_ITEM_STATE = 1 |
| | | }); |
| | | } |
| | | if (po.Details.Count()>0) |
| | | if (po.Details.Count() > 0) |
| | | { |
| | | LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM(); |
| | | lLDReturnRoot1.GC = itemscddll.GC; |
| | | lLDReturnRoot1.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoot1.MSGCODE = 0; |
| | | lLDReturnRoot1.MSGDESP = $"成功"; |
| | | iTEMs.Add(lLDReturnRoot1); |
| | | var result1 = db.Insertable<TN_Ll_Order>(po).ExecuteCommand() > 0; |
| | | db.Insertable<TN_Ll_detail>(po.Details).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM(); |
| | | lLDReturnRoot1.GC = itemscddll.GC; |
| | | lLDReturnRoot1.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoot1.MSGCODE = 0; |
| | | lLDReturnRoot1.MSGDESP = $"成功,无数据添加"; |
| | | iTEMs.Add(lLDReturnRoot1); |
| | | } |
| | | |
| | | } |
| | |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"执行中领料单,物料{a.WLBM}物料不允许删除"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | break; |
| | | continue; |
| | | } |
| | | var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList(); |
| | | if (po1.Count() == 0) //无则新增物料明细 |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBM).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | //result.code = 1; |
| | |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料主数据不存在该物料"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | break; |
| | | continue; |
| | | } |
| | | TN_Ll_detail tN_Outbound_Detail = new TN_Ll_detail |
| | | { |
| | |
| | | if (po1.Where(s => s.F_ACC_D_QTY < a.XQSL).Count() > 0)//更新数量大于当前物料 数量 更新出库单 |
| | | { |
| | | po1.First().F_QTY = a.XQSL; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | iuptN_Ll_Details.Add(po1.First()); |
| | | //db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | else //返回失败 |
| | | { |
| | |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"更新失败,更新数量必须大于当前物料数量{a.WLBM}"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | break; |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | |
| | | var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList(); |
| | | if (po1.Count() > 0) //无则新增物料明细 |
| | | { |
| | | db.Deleteable<TN_Ll_detail>().Where(it => it.S_ITEM_CODE == a.WLBM && it.S_DO_NO == po1.First().S_DO_NO).ExecuteCommand(); |
| | | tN_Ll_Details.AddRange(po1); |
| | | // db.Deleteable<TN_Ll_detail>().Where(it => it.S_ITEM_CODE == a.WLBM && it.S_DO_NO == po1.First().S_DO_NO).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | |
| | | lLDReturnRoots.GC = itemscddll.GC; |
| | | lLDReturnRoots.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料数据不存在 无法删除"; |
| | | lLDReturnRoots.MSGDESP = $"删除的物料{a.WLBM}物料数据不存在 无法删除"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | break; |
| | | continue; |
| | | } |
| | | } |
| | | else |
| | |
| | | var po1 = po.Details.Where(s => a.WLBM == s.S_ITEM_CODE).ToList(); |
| | | if (po1.Count() == 0) //无则新增物料明细 |
| | | { |
| | | var item = db.Queryable<TN_Material>().Where(it => it.S_ITEM_CODE == a.WLBM).First(); |
| | | var item = itemlist.Where(it => it.S_ITEM_CODE == a.WLBM).FirstOrDefault(); |
| | | if (item == null) |
| | | { |
| | | //result.code = 1; |
| | |
| | | lLDReturnRoots.MSGCODE = 1; |
| | | lLDReturnRoots.MSGDESP = $"物料{a.WLBM}物料主数据不存在该物料"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | break; |
| | | continue; |
| | | } |
| | | TN_Ll_detail tN_Outbound_Detail = new TN_Ll_detail |
| | | { |
| | |
| | | else |
| | | {//更新数量 未执行时 直接更新数量 |
| | | po1.First().F_QTY = a.XQSL; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | iuptN_Ll_Details.Add(po1.First()); |
| | | //db.Updateable(po1).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | } |
| | | } |
| | | if (tN_Ll_Details.Count()>0) |
| | | { |
| | | db.Deleteable<TN_Ll_detail>(tN_Ll_Details).ExecuteCommand(); |
| | | |
| | | } |
| | | if (iuptN_Ll_Details.Count() > 0) |
| | | { |
| | | db.Updateable(iuptN_Ll_Details).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | |
| | | } |
| | | |
| | | ; |
| | | } |
| | | //添加数据 |
| | | if (listtn.Count() > 0) |
| | | { |
| | | LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM(); |
| | | lLDReturnRoot1.GC = itemscddll.GC; |
| | | lLDReturnRoot1.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoot1.MSGCODE = 0; |
| | | lLDReturnRoot1.MSGDESP = $"成功"; |
| | | iTEMs.Add(lLDReturnRoot1); |
| | | db.Insertable<TN_Ll_detail>(listtn).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | LLDReturnRoot.ITEM lLDReturnRoot1 = new LLDReturnRoot.ITEM(); |
| | | lLDReturnRoot1.GC = itemscddll.GC; |
| | | lLDReturnRoot1.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoot1.MSGCODE = 0; |
| | | lLDReturnRoot1.MSGDESP = $"成功,无数据添加"; |
| | | iTEMs.Add(lLDReturnRoot1); |
| | | } |
| | | } |
| | | |
| | | |
| | | lLDReturnRoots.GC = itemscddll.GC; |
| | | lLDReturnRoots.LLDH = itemscddll.LLDH; |
| | | lLDReturnRoots.MSGCODE = 0; |
| | | lLDReturnRoots.MSGDESP = $"成功"; |
| | | iTEMs.Add(lLDReturnRoots); |
| | | |
| | | db.CommitTran(); |
| | | } |
| | | |
| | |
| | | { |
| | | //var az = db.Queryable<AZInventory>().ToList(); |
| | | var po1 = new TN_Outbound_Order { S_NO = WMSHelper.GenerateShippNo(), UNAME = po.UNAME, S_FACTORY = po.S_FACTORY, S_CBZX = po.S_CBZX, S_ZZKM = po.S_ZZKM, S_LRZX = po.S_LRZX, BLDAT = po.BLDAT, BUDAT = po.BUDAT, S_OUT_TYPE = po.S_OUT_TYPE, S_BS_TYPE = po.S_BS_TYPE, S_AREA_CODE = po.S_AREA_CODE, S_BS_NO = po.S_NO }; |
| | | |
| | | List<TN_Ll_detail> tN_Ll_Details= new List<TN_Ll_detail>(); |
| | | po1.Details = new List<TN_Outbound_Detail>(); |
| | | if (po.Details.Count() > 0) |
| | | { |
| | |
| | | S_ERP_WH_CODE = a.S_ERP_WH_CODE, |
| | | N_ITEM_STATE = a.N_ITEM_STATE |
| | | }); |
| | | a.F_ACC_D_QTY += a.F_QTY - a.F_ACC_D_QTY; |
| | | db.Updateable(a).UpdateColumns(it => new { it.F_ACC_D_QTY }).ExecuteCommand(); |
| | | double difference = a.F_QTY - a.F_ACC_D_QTY; |
| | | a.F_ACC_D_QTY += difference; |
| | | tN_Ll_Details.Add(a); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | db.Updateable(tN_Ll_Details).UpdateColumns(it => new { it.F_ACC_D_QTY }).ExecuteCommand(); |
| | | if (po1.Details.Count() > 0) |
| | | { |
| | | var result1 = db.Insertable<TN_Outbound_Order>(po1).ExecuteCommand() > 0; |
| | |
| | | result.resultMsg = "数据不存在"; |
| | | return result; |
| | | } |
| | | po.Details= po.Details.Where(d => model.Wlist.Any(w => |
| | | w.S_ITEM_CODE == d.S_ITEM_CODE && |
| | | w.N_ROW_NO == d.N_ROW_NO)) |
| | | .ToList(); |
| | | if (po.S_IN_TYPE == "内采入库") |
| | | { |
| | | List<NcRkDto.ITEM> listitem = new List<NcRkDto.ITEM>(); |
| | |
| | | //添加凭证记录表 |
| | | result.resultMsg = data.ROOT.ITEM.MSGDESP; |
| | | result.resultCode = data.ROOT.ITEM.MSGCODE; |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | //MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | if (data.ROOT.ITEM.MSGCODE == 0) |
| | | { |
| | | materialVoucher.S_NO = model.S_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | //materialVoucher.S_NO = model.S_NO; |
| | | //materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | //materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | //materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | //materialVoucher.STATUS = 0; |
| | | //db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | List<MaterialVoucher> materials = new List<MaterialVoucher>(); |
| | | foreach (var item in model.Wlist) |
| | | { |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | | materialVoucher.S_WLBM = item.S_ITEM_CODE; |
| | | materialVoucher.S_WLH = item.N_ROW_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | materials.Add(materialVoucher); |
| | | } |
| | | |
| | | if (materials.Count() > 0) |
| | | { |
| | | |
| | | db.Insertable<MaterialVoucher>(materials).ExecuteCommand(); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | | |
| | | if (po.S_IN_TYPE == "计划外退料入库") |
| | | else if (po.S_IN_TYPE == "计划外退料入库") |
| | | { |
| | | DateTime dateTime; |
| | | DateTime dateTime1; |
| | |
| | | result.resultCode = data.ROOT.ITEM.MSGCODE; |
| | | if (data.ROOT.ITEM.MSGCODE == 0) |
| | | { |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | List< MaterialVoucher > materials = new List< MaterialVoucher >(); |
| | | foreach (var item in model.Wlist) |
| | | { |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | | materialVoucher.S_WLBM = item.S_ITEM_CODE; |
| | | materialVoucher.S_WLH = item.N_ROW_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | materials.Add( materialVoucher ); |
| | | } |
| | | |
| | | if (materials.Count() > 0) |
| | | { |
| | | |
| | | db.Insertable<MaterialVoucher>(materials).ExecuteCommand(); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | |
| | | result.resultCode = data.ROOT.ITEM.MSGCODE; |
| | | if (data.ROOT.ITEM.MSGCODE == 0) |
| | | { |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = model.S_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZH; |
| | | LogHelper.Info("值1: " + data.ROOT.ITEM?.WLPZH); |
| | | LogHelper.Info("值2: " + materialVoucher.S_WLPZBH); |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | //MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | //materialVoucher.S_NO = model.S_NO; |
| | | //materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | //materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZH; |
| | | //LogHelper.Info("值1: " + data.ROOT.ITEM?.WLPZH); |
| | | //LogHelper.Info("值2: " + materialVoucher.S_WLPZBH); |
| | | //materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND; |
| | | //materialVoucher.STATUS = 0; |
| | | //db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | List<MaterialVoucher> materials = new List<MaterialVoucher>(); |
| | | foreach (var item in model.Wlist) |
| | | { |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | | materialVoucher.S_WLBM = item.S_ITEM_CODE; |
| | | materialVoucher.S_WLH = item.N_ROW_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | materials.Add(materialVoucher); |
| | | } |
| | | if (materials.Count() > 0) |
| | | { |
| | | |
| | | db.Insertable<MaterialVoucher>(materials).ExecuteCommand(); |
| | | } |
| | | |
| | | } |
| | | //else |
| | | //{ |
| | |
| | | |
| | | var po = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == S_CNTR_CODE && a.S_BS_NO == taskno).ToList(); |
| | | LogHelper.Info("添加入库记录表po" + po.Count()); |
| | | var pz = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == taskno).First(); |
| | | var ass = pz == null; |
| | | var pzs = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == taskno).ToList(); |
| | | var ass = pzs == null; |
| | | LogHelper.Info("添加入库记录表pz" + ass); |
| | | List<OutboundRecord> records = new List<OutboundRecord>(); |
| | | foreach (var item in po) |
| | | { |
| | | var pz= pzs.Where(s=>s.S_WLBM==item.S_ITEM_CODE&&s.S_WLH==item.N_BS_ROW_NO).First(); |
| | | |
| | | OutboundRecord outboundRecord = new OutboundRecord(); |
| | | outboundRecord.S_NO = item.S_BS_NO; |
| | | outboundRecord.S_TYPE = pz?.S_TYPE; |
| | | outboundRecord.S_WLPZBH = pz?.S_WLPZBH; |
| | | outboundRecord.S_WLPZBH = pz?.S_WLBM; |
| | | outboundRecord.S_WLPZND = pz?.S_WLPZND; |
| | | outboundRecord.S_WLBM = item.S_ITEM_CODE; |
| | | outboundRecord.S_SL = item.F_QTY; |