| | |
| | | } |
| | | return simpleResults; |
| | | } |
| | | /// <summary> |
| | | /// sap-wmsg供应商息添加SimpleResult |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | internal static Orderback.Root GYS_In(GYSDto.Root model) |
| | | { |
| | | var orderResponse = new Orderback.Root |
| | | { |
| | | ROOT = new Orderback.ROOT |
| | | { |
| | | ITEM = new List<Orderback.ITEM> { } |
| | | |
| | | } |
| | | }; |
| | | |
| | | List<Orderback.ITEM> tEMs = new List<Orderback.ITEM>(); |
| | | var db = new SqlHelper<object>().GetInstance(); |
| | | try |
| | | { |
| | | db.BeginTran(); |
| | | foreach (var item in model.ROOT.GYSXX) |
| | | { |
| | | Orderback.ITEM iTEM = new Orderback.ITEM(); |
| | | |
| | | |
| | | //创建入库单主子表 |
| | | var po = WMSHelper.GetGYSBMOrder(item.JBXX.GYSBM); |
| | | if (po == null) |
| | | { |
| | | po = new TN_Supplier { S_GYSBM= item.JBXX.GYSBM , S_MDMBM = item.JBXX.MDMBM, }; |
| | | po.Details = new List<TN_Supplier_detial>(); |
| | | if (item.GYSHB.Count > 0) |
| | | { |
| | | item.GYSHB.ForEach(a => |
| | | { |
| | | po.Details.Add(new TN_Supplier_detial |
| | | { |
| | | S_DO_GYSBM = a.GYSBM, |
| | | S_CGZZ = a.CGZZ, |
| | | S_HB = a.HB, |
| | | |
| | | }); |
| | | //} |
| | | }); |
| | | 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.MSGDESP = $"成功"; |
| | | tEMs.Add(iTEM); |
| | | } |
| | | orderResponse.ROOT.ITEM = tEMs; |
| | | db.CommitTran(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Orderback.ITEM iTEM = new Orderback.ITEM(); |
| | | iTEM.SCDDH = ""; |
| | | iTEM.GC = ""; |
| | | iTEM.MSGCODE = "1"; |
| | | iTEM.MSGDESP = e.Message; |
| | | tEMs.Add(iTEM); |
| | | orderResponse.ROOT.ITEM = tEMs; |
| | | db.RollbackTran(); |
| | | return orderResponse; |
| | | throw; |
| | | } |
| | | return orderResponse; |
| | | } |
| | | /// <summary> |
| | | /// sap-wms生产订单信息添加SimpleResult |
| | | /// </summary> |
| | |
| | | result.resultCode = 1; |
| | | return result; |
| | | } |
| | | |
| | | //人工分拣 容器货品表数量、分配量升降 |
| | | //出库单详情 |
| | | var po = db.Queryable<TN_Outbound_Order>().Includes(s => s.Details).Where(a => a.S_NO == model.arrival_no).First(); |
| | |
| | | return result; |
| | | |
| | | } |
| | | po.S_OUT_TYPE = "成本中心出库"; |
| | | //根据不同出库类型 回调sap |
| | | if (po.S_OUT_TYPE == "冲销出库") |
| | | { |
| | |
| | | //回参物料信息 |
| | | List<CBcenterBackDto.HEADItem> iTEMs = new List<CBcenterBackDto.HEADItem>(); |
| | | List<OutboundRecord> records = new List<OutboundRecord>(); |
| | | string GZRQ = ""; |
| | | string PZZDRQ = ""; |
| | | if (po.BUDAT != null) |
| | | { |
| | | GZRQ = DateTime.Parse(po.BUDAT.ToString()).ToString("yyyyMMdd"); |
| | | } |
| | | if (po.BLDAT != null) |
| | | { |
| | | PZZDRQ = DateTime.Parse(po.BLDAT.ToString()).ToString("yyyyMMdd"); |
| | | |
| | | } |
| | | foreach (var item in MaterList) |
| | | { |
| | | var podetail = po.Details.Where(s => s.S_ITEM_CODE == item.item_code).FirstOrDefault(); |
| | | CBcenterBackDto.HEADItem ckbitem = new CBcenterBackDto.HEADItem(); |
| | | ckbitem.KEY = arrival_no; |
| | | ckbitem.WLBH = item.item_code; |
| | | |
| | | ckbitem.SL = item.qty; |
| | | ckbitem.CBZX = po.S_CBZX; |
| | | ckbitem.SL = item.qty; |
| | | |
| | | ckbitem.KCDD = podetail?.S_KCDD; |
| | | ckbitem.ZZKM = po.S_ZZKM; |
| | | ckbitem.GC = po.S_FACTORY; |
| | | ckbitem.GZRY = po.S_CREATOR_NAME; |
| | | ckbitem.PZRQ = DateTime.Now.ToString(); |
| | | |
| | | ckbitem.KCDD = podetail?.S_KCDD; |
| | | ckbitem.PC = podetail?.S_BATCH_NO; |
| | | ckbitem.PZRQ = PZZDRQ; |
| | | ckbitem.GZRQ = GZRQ; |
| | | |
| | | |
| | | |
| | | CBcenterBackDto.ITEM listitem1 = new CBcenterBackDto.ITEM(); |
| | |
| | | // .Where(s => s.S_ITEM_CODE == item.item_code) |
| | | // .Select(s => s.S_SERIAL_NO)); |
| | | //string[] xlhValues = serialNos.Split(','); |
| | | string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | // string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | listitem1.XLH= podetail?.S_SERIAL_NO.Split(',').ToList(); |
| | | //foreach (var xlhValue in xlhValues) |
| | | //{ |
| | |
| | | xmlDoc.LoadXml(responses.Output.ToString()); |
| | | JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | var data = JsonConvert.DeserializeObject<ReturnWcBcak.Root>(jsonObject.ToString()); |
| | | |
| | | //添加凭证记录表 |
| | | result.resultMsg = data.ROOT.ITEM.MSGDESP; |
| | | 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_OUT_TYPE; |
| | |
| | | materialVoucher.S_WLPZND = data.ROOT.ITEM.WLPZND; |
| | | materialVoucher.STATUS = 0; |
| | | db.Insertable<MaterialVoucher>(materialVoucher).ExecuteCommand(); |
| | | } |
| | | #endregion |
| | | |
| | | db.CommitTran(); |
| | |
| | | catch (Exception ex) |
| | | { |
| | | db.RollbackTran(); |
| | | LogHelper.Info("计划外退料回调报错" + ex.Message); |
| | | LogHelper.Info("成本中心回调报错" + ex.Message); |
| | | Console.WriteLine(ex.Message); |
| | | |
| | | throw; |
| | |
| | | } |
| | | else |
| | | { |
| | | //2.插入新的容器物料信息(容器号不变) |
| | | cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_BATCH_NO = item.S_BATCH_NO, S_SERIAL_NO = item.S_SERIAL_NO, N_BS_ROW_NO = item.N_ROW_NO, F_QTY = item.qty, S_ITEM_CODE = item.item_code, S_BS_NO = item.arrival_no }; |
| | | //2.插入新的容器物料信息(容器号不变S_SERIAL_NO = item.S_SERIAL_NO,) |
| | | cir = new CntrItemRel { S_CNTR_CODE = cntr.S_CODE.Trim(), S_BATCH_NO = item.S_BATCH_NO, N_BS_ROW_NO = item.N_ROW_NO, F_QTY = item.qty, S_ITEM_CODE = item.item_code, S_BS_NO = item.arrival_no }; |
| | | db.Insertable<CntrItemRel>(cir).ExecuteCommand(); |
| | | } |
| | | var count = db.Queryable<CntrItemRel>().Count(a => a.S_CNTR_CODE == cntr.S_CODE); |