| | |
| | | //else |
| | | //{ |
| | | //判断冲销凭证编号 是否为空 如果为空 则为冲销(审核前才能冲销,非待执行状态提示执行中不可冲销) 不为空 则为外采入库 |
| | | |
| | | if (items.HEAD.YDLX != "124") |
| | | { |
| | | if ((items.ITEM.Where(s => s.CXPZH != null && s.CXPZH != "").Count() > 0)) |
| | | { |
| | | //判断冲销物料是否为同一个入库单 |
| | |
| | | db.Updateable(po1).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand(); |
| | | } |
| | | } |
| | | db.CommitTran(); |
| | | } |
| | | else if ( items.HEAD.YDLX == "124") |
| | | { |
| | | |
| | | //冲销凭证单号 |
| | | var cxpzbh = items.HEAD.WLPZH; |
| | | var po = WMSHelper.GetInboundOrder(cxpzbh); |
| | | //判断是否执行 执行中订单允许冲销 |
| | | if (po == null) |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultCode = 1; |
| | | result.resultMsg = "未找到此订单"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | if (po.N_B_STATE != 0 && po.N_B_STATE != 7) |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.resultCode = 1; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultMsg = "执行中订单不允许操作"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | foreach (var item in items.ITEM) |
| | | { |
| | | var rkdmx = po.Details.Where(s => s.S_ITEM_CODE == item.WLBM).ToList(); |
| | | if (rkdmx.Where(s => s.F_QTY < item.SL).Count() > 0)//数量大于明细 |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultMsg = $"退货物料{item.WLBM}数量{item.SL}大于存入数量"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | else if (rkdmx.Where(s => s.F_QTY == item.SL).Count() == 1)//数量==明细 删除当下入库单物料数据 |
| | | { |
| | | db.Deleteable<TN_Inbound_Detail>().Where(it => it.S_ITEM_CODE == item.WLBM && it.S_IO_NO == cxpzbh).ExecuteCommand(); |
| | | } |
| | | else if (rkdmx.Where(s => s.F_QTY > item.SL).Count() > 0)//数量小于明细 |
| | | { |
| | | //当前物料明细 |
| | | var rkd = rkdmx.Where(s => s.F_QTY > item.SL).FirstOrDefault(); |
| | | rkd.F_QTY = rkd.F_QTY - item.SL; |
| | | db.Updateable(rkd).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | var po1 = db.Queryable<TN_Inbound_Order>().Includes(a => a.Details).Where(a => a.S_NO == cxpzbh).First(); |
| | | int ssss = po1.Details.Count(); |
| | | if (po1.Details.Count() == 0) |
| | | { |
| | | po1.N_B_STATE = 7; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand(); |
| | | } |
| | | } |
| | | db.CommitTran(); |
| | | } |
| | | else |
| | | { |
| | | //创建入库单主子表 |
| | |
| | | }); |
| | | db.Insertable<TN_Inbound_Order>(po).ExecuteCommand(); |
| | | db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | |
| | | }); |
| | | db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand(); |
| | | db.CommitTran(); |
| | | |
| | | |
| | | } |
| | | //result.resultMsg = "成功"; |
| | |
| | | } |
| | | |
| | | } |
| | | }else |
| | | { |
| | | |
| | | //} |
| | | //冲销凭证单号 |
| | | foreach (var item1 in items.ITEM) |
| | | { |
| | | var cxpzbh = item1.CKPZH; |
| | | var po = WMSHelper.GetInboundOrder(cxpzbh); |
| | | //判断是否执行 执行中订单允许冲销 |
| | | if (po == null) |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultCode = 1; |
| | | result.resultMsg = "未找到此订单"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | if (po.N_B_STATE != 0 && po.N_B_STATE != 7) |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.resultCode = 1; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultMsg = "执行中订单不允许操作"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | |
| | | foreach (var item in items.ITEM) |
| | | { |
| | | //s.S_ITEM_CODE == item.WLBM&& |
| | | var rkdmx = po.Details.Where(s => s.S_CKPZXM == item.CKPZHXM).ToList(); |
| | | if (rkdmx.Where(s => s.F_QTY < item.SL).Count() > 0)//数量大于明细 |
| | | { |
| | | result.resultMsg = "失败"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultMsg = $"退货物料{item.WLBM}数量{item.SL}大于存入数量"; |
| | | simpleResults.Add(result); |
| | | continue; |
| | | } |
| | | else if (rkdmx.Where(s => s.F_QTY == item.SL).Count() == 1)//数量==明细 删除当下入库单物料数据 |
| | | { |
| | | db.Deleteable<TN_Inbound_Detail>().Where(it => it.S_ITEM_CODE == item.WLBM && it.S_IO_NO == cxpzbh).ExecuteCommand(); |
| | | } |
| | | else if (rkdmx.Where(s => s.F_QTY > item.SL).Count() > 0)//数量小于明细 |
| | | { |
| | | //当前物料明细 |
| | | var rkd = rkdmx.Where(s => s.F_QTY > item.SL).FirstOrDefault(); |
| | | rkd.F_QTY = rkd.F_QTY - item.SL; |
| | | db.Updateable(rkd).UpdateColumns(it => new { it.F_QTY }).ExecuteCommand(); |
| | | } |
| | | var po1 = db.Queryable<TN_Inbound_Order>().Includes(a => a.Details).Where(a => a.S_NO == cxpzbh).First(); |
| | | int ssss = po1.Details.Count(); |
| | | if (po1.Details.Count() == 0) |
| | | { |
| | | po1.N_B_STATE = 7; |
| | | db.Updateable(po1).UpdateColumns(it => new { it.N_B_STATE }).ExecuteCommand(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | result.resultMsg = "成功"; |
| | | result.WLPZBH = items.HEAD.WLPZH; |
| | | result.WLPZND = items.HEAD.WLPZND; |
| | | result.resultCode = 0; |
| | | result.resultMsg = ""; |
| | | db.CommitTran(); |
| | | simpleResults.Add(result); |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | internal static Orderback.Root GYS_In(GYSDto.Root model) |
| | | internal static GYSReturnRoot.Root GYS_In(GYSDto.Root model) |
| | | { |
| | | var orderResponse = new Orderback.Root |
| | | var orderResponse = new GYSReturnRoot.Root |
| | | { |
| | | ROOT = new Orderback.ROOT |
| | | ROOT = new GYSReturnRoot.ROOT |
| | | { |
| | | ITEM = new List<Orderback.ITEM> { } |
| | | ITEM = new List<GYSReturnRoot.ITEM> { } |
| | | |
| | | } |
| | | }; |
| | | |
| | | List<Orderback.ITEM> tEMs = new List<Orderback.ITEM>(); |
| | | List<GYSReturnRoot.ITEM> tEMs = new List<GYSReturnRoot.ITEM>(); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | foreach (var item in model.ROOT.GYSXX) |
| | | { |
| | | Orderback.ITEM iTEM = new Orderback.ITEM(); |
| | | GYSReturnRoot.ITEM iTEM = new GYSReturnRoot.ITEM(); |
| | | |
| | | |
| | | //创建入库单主子表 |
| | | var po = WMSHelper.GetGYSBMOrder(item.JBXX.GYSBM); |
| | | if (po == null) |
| | | // var po = WMSHelper.GetGYSBMOrder(item.JBXX.GYSBM); |
| | | var po= db.Queryable<TN_Supplier>().Includes(a => a.Details).Where(a => a.S_GYSBM == item.JBXX.GYSBM).First(); |
| | | if (po != null) |
| | | { |
| | | po = new TN_Supplier { S_GYSBM= item.JBXX.GYSBM , S_MDMBM = item.JBXX.MDMBM, }; |
| | | db.Deleteable<TN_Supplier>().Where(it => it.S_GYSBM == po.S_GYSBM).ExecuteCommand(); |
| | | db.Deleteable<TN_Supplier_detial>().Where(it => it.S_DO_GYSBM == po.S_GYSBM).ExecuteCommand(); |
| | | |
| | | } |
| | | po = new TN_Supplier { S_GYSBM = item.JBXX.GYSBM, S_MDMBM = item.JBXX.MDMBM, S_GYSMC=item.JBXX.GYSMC, S_YHGJ=item.JBXX.YHGJ, S_YHDM = item.JBXX.YHDM , |
| | | S_KHH = item.JBXX.KHH, |
| | | S_YHJD = item.JBXX.YHJD, |
| | | S_YHCS = item.JBXX.YHCS, |
| | | S_KHHZH = item.JBXX.KHHZH, |
| | | S_DZ = item.JBXX.DZ, |
| | | S_YZBM = item.JBXX.YZBM, |
| | | S_CS = item.JBXX.CS, |
| | | S_GJDM = item.JBXX.GJDM, |
| | | S_GJ = item.JBXX.GJ, |
| | | S_DQDM = item.JBXX.DQDM, |
| | | S_DQMC = item.JBXX.DQMC, |
| | | S_SH = item.JBXX.SH, |
| | | S_ZZSDJH = item.JBXX.ZZSDJH, |
| | | }; |
| | | po.Details = new List<TN_Supplier_detial>(); |
| | | if (item.GYSHB.Count > 0) |
| | | { |
| | |
| | | db.Insertable<TN_Supplier>(po).ExecuteCommand(); |
| | | db.Insertable<TN_Supplier_detial>(po.Details).ExecuteCommand(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | db.Deleteable<TN_Supplier>().Where(it => it.S_GYSBM == po.S_GYSBM).ExecuteCommand(); |
| | | db.Deleteable<TN_Supplier_detial>().Where(it => it.S_DO_GYSBM == po.S_GYSBM).ExecuteCommand(); |
| | | //iTEM.SCDDH = item.JBXX.GYSBM; |
| | | //iTEM.MSGCODE = "1"; |
| | | //iTEM.MSGDESP = $"{item.JBXX.GYSBM}已存在"; |
| | | //tEMs.Add(iTEM); |
| | | } |
| | | iTEM.SCDDH = item.JBXX.GYSBM; |
| | | iTEM.MSGCODE = "0"; |
| | | iTEM.GYSBM = item.JBXX.GYSBM; |
| | | iTEM.MSGCODE = 0; |
| | | iTEM.MSGDESP = $"成功"; |
| | | tEMs.Add(iTEM); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Orderback.ITEM iTEM = new Orderback.ITEM(); |
| | | iTEM.SCDDH = ""; |
| | | iTEM.GC = ""; |
| | | iTEM.MSGCODE = "1"; |
| | | GYSReturnRoot.ITEM iTEM = new GYSReturnRoot.ITEM(); |
| | | iTEM.GYSBM = ""; |
| | | iTEM.MSGCODE = 1; |
| | | iTEM.MSGDESP = e.Message; |
| | | tEMs.Add(iTEM); |
| | | orderResponse.ROOT.ITEM = tEMs; |
| | |
| | | { |
| | | TN_GENERATE_ORDER tnorder = new TN_GENERATE_ORDER(); |
| | | tnorder.S_GC = item.GC; |
| | | tnorder.S_SCDDH = item.SCDDH; |
| | | tnorder.S_SCDDH = item.SCDDH; |
| | | tnorder.S_DZMC = item.DZMC; |
| | | tnorder.S_SCDDCMS = item.SCDDCMS; |
| | |
| | | /// <returns></returns> |
| | | internal static async Task<SimpleResult> OutboundOrderSorting(FJSorting model) |
| | | { |
| | | |
| | | var result = new SimpleResult(); |
| | | |
| | | // var db = new SqlHelper<object>().GetInstance(); |
| | |
| | | var req = new AddChangeModel { op_type = 4 }; |
| | | //库区量表升量 |
| | | var req2 = new AddChangeModel { op_type = 7 }; |
| | | var S_WH_CODE = ""; |
| | | var S_AREA_CODE = ""; |
| | | if (string.IsNullOrEmpty(po.S_WH_CODE)) |
| | | { |
| | | S_WH_CODE = util.Settings.WHCode; |
| | | } |
| | | if (string.IsNullOrEmpty(po.S_AREA_CODE)) |
| | | { |
| | | S_AREA_CODE = util.Settings.AREACode; |
| | | } |
| | | model.MaterList.ForEach(a => |
| | | { |
| | | LogHelper.Info($"填充数据"); |
| | | LogHelper.Info($"减仓库量表数据 仓库{po.S_WH_CODE} 物料编码{a.item_code} 物料名称 数量{a.qty}"); |
| | | LogHelper.Info($"填充数据{util.Settings.WHCode}"); |
| | | LogHelper.Info($"减仓库量{util.Settings.AREACode}表数据 仓库{po.S_WH_CODE} 物料编码{a.item_code} 物料名称 数量{a.qty}"); |
| | | req.item_info.Add(new AddChangeModel.itemModel |
| | | { |
| | | wh_code = po.S_WH_CODE, |
| | | wh_code = S_WH_CODE, |
| | | item_code = a.item_code, |
| | | item_name = "", |
| | | qty = a.qty |
| | |
| | | LogHelper.Info($"减库区量表数据 库区{po.S_AREA_CODE} 物料编码{a.item_code} 物料名称 数量{a.qty}"); |
| | | req2.item_info.Add(new AddChangeModel.itemModel |
| | | { |
| | | wh_code = po.S_WH_CODE, |
| | | area_code = po.S_AREA_CODE, |
| | | wh_code = S_WH_CODE, |
| | | area_code = S_AREA_CODE, |
| | | item_code = a.item_code, |
| | | item_name = "", |
| | | qty = a.qty |
| | |
| | | LogHelper.Info($"mobox 库区降量接口返回 {res2}"); |
| | | var moboxres = JsonConvert.DeserializeObject<moboxres>(res); |
| | | if (moboxres.err_code != 0) |
| | | |
| | | { |
| | | adds = false; |
| | | } |
| | |
| | | |
| | | } |
| | | catch (Exception e) |
| | | {result.resultMsg=e.Message; |
| | | { |
| | | result.resultMsg = e.Message; |
| | | db.RollbackTran(); |
| | | return result; |
| | | throw; |
| | |
| | | materialVoucher.S_TYPE = po.S_OUT_TYPE; |
| | | materialVoucher.S_WLBM = item.item_code; |
| | | materialVoucher.S_WLH = item.N_ROW_NO; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZBH; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM?.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND; |
| | | materialVoucher.S_WH_CODE = po.S_WH_CODE; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | materialVoucher.F_QTY = item.qty; |
| | | materialVoucher.STATUS = 0; |
| | | materialVoucher.S_GZRQ = po.BUDAT; |
| | | materialVoucher.UNAME = po.UNAME; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | } |
| | | //MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM?.WLPZND; |
| | | materialVoucher.S_WH_CODE = po.S_WH_CODE; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | materialVoucher.S_GZRQ = po.BUDAT; |
| | | materialVoucher.UNAME = po.UNAME; |
| | | materialVoucher.F_QTY = item.qty; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | |
| | | }; |
| | | List<CXCkBackDto.HEAD> listhead = new List<CXCkBackDto.HEAD>(); |
| | | //出库单详情 |
| | | var porecord = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == po.S_BS_NO).ToList(); |
| | | var porecord = db.Queryable<MaterialVoucher>().Where(a => a.S_NO == po.S_BS_NO&&a.STATUS==0).ToList(); |
| | | foreach (var item in MaterList) |
| | | { |
| | | CXCkBackDto.HEAD hEAD = new CXCkBackDto.HEAD(); |
| | |
| | | //hEAD.WLPZ = porecord.First()?.S_WLPZBH; |
| | | //hEAD.WLPZNF = porecord.First()?.S_WLPZND; |
| | | |
| | | hEAD.WLPZ = po.S_WLPZ; |
| | | hEAD.WLPZNF = po.S_WLPZND; |
| | | hEAD.WLPZ = porecord.FirstOrDefault()?.S_WLPZBH; |
| | | hEAD.WLPZNF = porecord.FirstOrDefault()?.S_WLPZND; |
| | | hEAD.WLPZXM = item.N_ROW_NO; |
| | | hEAD.GZRY = po.UNAME; |
| | | listhead.Add(hEAD); |
| | |
| | | XmlDocument xmlDoc = new XmlDocument(); |
| | | xmlDoc.LoadXml(responses.Output.ToString()); |
| | | JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | EnsureArrayFormat(jsonObject, "ITEM", ""); |
| | | var data = JsonConvert.DeserializeObject<ReturnTYBcak.Root>(jsonObject.ToString()); |
| | | var resmeg = ""; |
| | | int rescode = 0; |
| | |
| | | if (item.MSGCODE == 0) |
| | | { |
| | | |
| | | var onr = MaterList.Where(s => s.N_ROW_NO == item.WLPZHXM).First(); |
| | | var onr = MaterList.Where(s => s.N_ROW_NO == item.WLPZHXM).FirstOrDefault(); |
| | | |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | |
| | | materialVoucher.S_YWLPZHXM = item?.YWLPZHXM; |
| | | materialVoucher.S_WH_CODE = po.S_WH_CODE; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | materialVoucher.F_QTY = onr.qty; |
| | | materialVoucher.S_GZRQ = po.BUDAT; |
| | | materialVoucher.UNAME = po.UNAME; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | |
| | | materialVoucher.F_QTY = onr == null ? 0 : onr.qty; |
| | | //materialVoucher.STATUS = 0; |
| | | resmeg += item?.MSGDESP; |
| | | materiallist.Add(materialVoucher); |
| | | |
| | | |
| | | } |
| | | else { |
| | | else |
| | | { |
| | | rescode = 1; |
| | | resmeg += item?.MSGDESP; |
| | | } |
| | | |
| | | |
| | |
| | | materialVoucher.S_WH_CODE = po.S_WH_CODE; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | materialVoucher.F_QTY = item.qty; |
| | | materialVoucher.S_GZRQ = po.BUDAT; |
| | | materialVoucher.UNAME = po.UNAME; |
| | | 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.WLPZBH; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | |
| | | } |
| | | else LogHelper.Info($"入库单明细无值"); |
| | | #endregion |
| | | |
| | | var CntrItemRels = db.Queryable<CntrItemRel>().Where(a => a.S_BS_NO == model.S_NO).ToList(); |
| | | if (po == null) |
| | | { |
| | |
| | | { |
| | | materialVoucher.S_NO = model.S_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZBH; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | | materialVoucher.S_TYPE = po.S_IN_TYPE; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZBH; |
| | | materialVoucher.S_WLPZBH = data.ROOT.ITEM.WLPZH; |
| | | 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?.WLPZBH; |
| | | 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(); |
| | |
| | | else if (po.S_IN_TYPE == "冲销入库") |
| | | { |
| | | |
| | | //var materpz = db.Queryable<TN_Inbound_Order>().Where(s => s.S_NO == po.S_NO).First(); |
| | | var materpz = db.Queryable<TN_Inbound_Order>().Where(s => s.S_NO == po.S_NO).First(); |
| | | string GZRQ = ""; |
| | | LogHelper.Info($"冲销入库入库{po.BUDAT}"); |
| | | if (po.BUDAT != null) |
| | |
| | | // 处理响应 |
| | | LogHelper.Info("通用冲销SAP返回结果: " + responses.Output); |
| | | |
| | | |
| | | |
| | | //string xmlqqq = "<ROOT>\r\n\t<ITEM>\r\n\t\t<YWLPZBH>490062947</YWLPZBH>\r\n\t\t<YWLPZND>2025</YWLPZND>\r\n\t\t<YWLPZHXM>001</YWLPZHXM>\r\n\t\t<WLPZBH>490062949</WLPZBH>\r\n\t\t<WLPZND>\r\n\t\t</WLPZND>\r\n\t\t<WLPZHXM>D0001</WLPZHXM>\r\n\t\t<MSGCODE>0</MSGCODE>\r\n\t\t<MSGDESP>数据接收成功,并冲中销成功!</MSGDESP>\r\n\t</ITEM>\r\n</ROOT>"; |
| | | // 将 XmlDocument 转换为 JSON 字符串 |
| | | //JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | |
| | | XmlDocument xmlDoc = new XmlDocument(); |
| | | xmlDoc.LoadXml(responses.Output.ToString()); |
| | | JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | |
| | | EnsureArrayFormat(jsonObject, "ITEM", ""); |
| | | //var data = JsonConvert.DeserializeObject<ReturnJHWBcak.Root>(jsonObject.ToString()); |
| | | var data = JsonConvert.DeserializeObject<ReturnTYBcak.Root>(jsonObject.ToString()); |
| | | var resmeg = ""; |
| | |
| | | if (item.MSGCODE == 0) |
| | | { |
| | | |
| | | var onr = po.Details.Where(s => s.N_ROW_NO == item.WLPZHXM).First(); |
| | | var onr = po.Details.Where(s => s.N_ROW_NO == item.WLPZHXM).FirstOrDefault(); |
| | | |
| | | MaterialVoucher materialVoucher = new MaterialVoucher(); |
| | | materialVoucher.S_NO = po.S_NO; |
| | |
| | | materialVoucher.S_YWLPZHXM = item?.YWLPZHXM; |
| | | materialVoucher.S_WH_CODE = po.S_WH_CODE; |
| | | materialVoucher.S_AREA_CODE = po.S_AREA_CODE; |
| | | materialVoucher.F_QTY = onr.F_QTY; |
| | | materialVoucher.F_QTY = onr != null ? onr.F_QTY : 0; |
| | | //materialVoucher.STATUS = 0; |
| | | resmeg += item?.MSGDESP; |
| | | materiallist.Add(materialVoucher); |
| | |
| | | } |
| | | else |
| | | { |
| | | rescode = 1; |
| | | rescode = 1; resmeg += item?.MSGDESP; |
| | | } |
| | | |
| | | |