| | |
| | | using WHTest; |
| | | using System.Net; |
| | | using SqlSugar; |
| | | using static HH.WCS.Mobox3.pinggao.models.SapRoot.GYSDto; |
| | | |
| | | namespace HH.WCS.Mobox3.pinggao.api |
| | | { |
| | |
| | | } |
| | | return simpleResults; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// sap-wms生产订单信息添加SimpleResult |
| | | /// </summary> |
| | |
| | | iTEM.SCDDH = item.SCDDH; |
| | | iTEM.GC = item.GC; |
| | | iTEM.MSGCODE = "1"; |
| | | iTEM.MSGDESP = $"{item.SCDDH}不存在"; |
| | | iTEM.MSGDESP = $"{item.SCDDH}已存在"; |
| | | tEMs.Add(iTEM); |
| | | } |
| | | iTEM.SCDDH = item.SCDDH; |
| | |
| | | return result; |
| | | |
| | | } |
| | | |
| | | po.S_OUT_TYPE = "成本中心出库"; |
| | | //根据不同出库类型 回调sap |
| | | if (po.S_OUT_TYPE == "冲销出库") |
| | | { |
| | |
| | | ckbitem.PC = podetail?.S_BATCH_NO; |
| | | |
| | | |
| | | List<CBcenterBackDto.ITEM> listitem1 = new List<CBcenterBackDto.ITEM>(); |
| | | CBcenterBackDto.ITEM listitem1 = new CBcenterBackDto.ITEM(); |
| | | // List<CBcenterBackDto.ITEM> listitem1 = new List<CBcenterBackDto.ITEM>(); |
| | | //string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | //var serialNos = string.Join(",", CntrItemRels |
| | | // .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(','); |
| | | foreach (var xlhValue in xlhValues) |
| | | { |
| | | CBcenterBackDto.ITEM newItem = new CBcenterBackDto.ITEM { XLH = xlhValue }; |
| | | listitem1.Add(newItem); |
| | | } |
| | | listitem1.XLH= podetail?.S_SERIAL_NO.Split(',').ToList(); |
| | | //foreach (var xlhValue in xlhValues) |
| | | //{ |
| | | // CBcenterBackDto.ITEM newItem = new CBcenterBackDto.ITEM { XLH = xlhValue }; |
| | | // listitem1.Add(newItem); |
| | | //} |
| | | ckbitem.ITEM = listitem1; |
| | | iTEMs.Add(ckbitem); |
| | | |
| | |
| | | string xml = JsonConvert.DeserializeXmlNode(json, "ROOT").OuterXml; |
| | | |
| | | LogHelper.Info($"成本中心出库xml数据{xml}"); |
| | | // 创建 StringContent 并指定媒体类型为 "text/xml" |
| | | HttpContent content = new StringContent(xml, Encoding.UTF8, "application/xml"); |
| | | string url = Settings.WCSSeverUrl + "/api/WmsSap/cesReceiveXmlData"; |
| | | string responseXml = ""; |
| | | using (HttpClient client = new HttpClient()) |
| | | { |
| | | // 发送 POST 请求并接收响应 |
| | | HttpResponseMessage responsess = await client.PostAsync(url, content); |
| | | responseXml = await responsess.Content.ReadAsStringAsync(); |
| | | //// 创建 StringContent 并指定媒体类型为 "text/xml" |
| | | //HttpContent content = new StringContent(xml, Encoding.UTF8, "application/xml"); |
| | | //string url = Settings.WCSSeverUrl + "/api/WmsSap/cesReceiveXmlData"; |
| | | //string responseXml = ""; |
| | | //using (HttpClient client = new HttpClient()) |
| | | //{ |
| | | // // 发送 POST 请求并接收响应 |
| | | // HttpResponseMessage responsess = await client.PostAsync(url, content); |
| | | // responseXml = await responsess.Content.ReadAsStringAsync(); |
| | | |
| | | } |
| | | //} |
| | | |
| | | #region sap回调 |
| | | // 创建Web Service代理类实例 |
| | | ZSCM2_CBZX service = new ZSCM2_CBZX(); |
| | | // service.Credentials = new NetworkCredential("CONN_RFC", "Init.1234"); |
| | | // 准备请求参数 |
| | | ZfmScm2CbzxMm001 request = new ZfmScm2CbzxMm001(); |
| | | request.Input = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + xml; |
| | | LogHelper.Info($"成本中心出库SAP回调"); |
| | | // 调用Web Service |
| | | ZfmScm2CbzxMm001Response responses = service.ZfmScm2CbzxMm001(request); |
| | | |
| | | // 处理响应 |
| | | LogHelper.Info("SAP返回结果: " + responses.Output); |
| | | |
| | | // 解析Output中的凭证号等信息 |
| | | |
| | | #endregion |
| | | XmlDocument xmlDoc = new XmlDocument(); |
| | | xmlDoc.LoadXml(responseXml.ToString()); |
| | | xmlDoc.LoadXml(responses.Output.ToString()); |
| | | JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | var data = JsonConvert.DeserializeObject<ReturnWcBcak.Root>(jsonObject.ToString()); |
| | | //添加凭证记录表 |
| | |
| | | { |
| | | HEAD = new JHWBackDto.HEAD |
| | | { |
| | | //KEY = "KeyExample", |
| | | //GZRQ = "2023-04-01", |
| | | //PZZDRQ = "2023-04-02", |
| | | //YHM = "Username", |
| | | //PZTTWB = "HeaderText", |
| | | //YDLX = "MovementType", |
| | | //TSKCBS = "SpecialStock" |
| | | |
| | | |
| | | KEY = po.S_NO, |
| | | GZRQ = GZRQ, |
| | | PZZDRQ = PZZDRQ, |
| | |
| | | JHWBackDto.ITEM ckbitem = new JHWBackDto.ITEM(); |
| | | ckbitem.WLBH = item.item_code; |
| | | ckbitem.GC = po.S_FACTORY; |
| | | |
| | | //ckbitem.PH = podetail?.S_PH; |
| | | |
| | | //ckbitem.TSKCBS = podetail?.S_TSKCBS; |
| | | ckbitem.XSDD = podetail?.S_XSDD; |
| | | ckbitem.XSDDHXM = podetail?.S_XSDDXMBH; |
| | |
| | | ckbitem.WBS = podetail?.S_WBS; |
| | | ckbitem.KCDD = podetail?.S_KCDD; |
| | | ckbitem.PC = podetail?.S_BATCH_NO; |
| | | |
| | | JHWBackDto.ITEM1 listitem1 = new JHWBackDto.ITEM1(); |
| | | //string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | //var serialNos = string.Join(",", CntrItemRels |
| | |
| | | |
| | | LogHelper.Info($"出计划外发料出库xml数据{xml}"); |
| | | // 创建 StringContent 并指定媒体类型为 "text/xml" |
| | | HttpContent content = new StringContent(xml, Encoding.UTF8, "application/xml"); |
| | | string url = Settings.WCSSeverUrl + "/api/WmsSap/cesReceiveXmlData"; |
| | | string responseXml = ""; |
| | | using (HttpClient client = new HttpClient()) |
| | | { |
| | | // 发送 POST 请求并接收响应 |
| | | HttpResponseMessage responsess = await client.PostAsync(url, content); |
| | | responseXml = await responsess.Content.ReadAsStringAsync(); |
| | | //HttpContent content = new StringContent(xml, Encoding.UTF8, "application/xml"); |
| | | //string url = Settings.WCSSeverUrl + "/api/WmsSap/cesReceiveXmlData"; |
| | | //string responseXml = ""; |
| | | //using (HttpClient client = new HttpClient()) |
| | | //{ |
| | | // // 发送 POST 请求并接收响应 |
| | | // HttpResponseMessage responsess = await client.PostAsync(url, content); |
| | | // responseXml = await responsess.Content.ReadAsStringAsync(); |
| | | |
| | | } |
| | | //} |
| | | #region sap回调 |
| | | // 创建Web Service代理类实例 |
| | | ZSCM2_SCFLJHW service = new ZSCM2_SCFLJHW(); |
| | | // service.Credentials = new NetworkCredential("CONN_RFC", "Init.1234"); |
| | | // 准备请求参数 |
| | | ZscmScflJhw request = new ZscmScflJhw(); |
| | | request.Input = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" + xml; |
| | | LogHelper.Info($"计划外SAP回调"); |
| | | // 调用Web Service |
| | | ZscmScflJhwResponse responses = service.ZscmScflJhw(request); |
| | | |
| | | // 处理响应 |
| | | LogHelper.Info("SAP返回结果: " + responses.Output); |
| | | |
| | | // 解析Output中的凭证号等信息 |
| | | |
| | | #endregion |
| | | |
| | | XmlDocument xmlDoc = new XmlDocument(); |
| | | xmlDoc.LoadXml(responseXml.ToString()); |
| | | xmlDoc.LoadXml(responses.Output.ToString()); |
| | | JObject jsonObject = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeXmlNode(xmlDoc)); |
| | | var data = JsonConvert.DeserializeObject<ReturnWcBcak.Root>(jsonObject.ToString()); |
| | | //添加凭证记录表 |
| | |
| | | ckbitem.GC = po.S_FACTORY; |
| | | ckbitem.KCDD = podetail?.S_KCDD; |
| | | |
| | | List<CkBcakDto.ITEM1> listitem1 = new List<CkBcakDto.ITEM1>(); |
| | | CkBcakDto.ITEM1 listitem1 = new CkBcakDto.ITEM1(); |
| | | //var CntrItemRels = db.Queryable<CntrItemRel>().Where(a => a.S_ITEM_CODE == item.item_code&&a.N_ROW_NO==item.N_ROW_NO).ToList(); |
| | | ////string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | //var serialNos = string.Join(",", CntrItemRels |
| | | // .Where(s => s.S_ITEM_CODE == item.item_code) |
| | | // .Select(s => s.S_SERIAL_NO)); |
| | | string[] xlhValues = item.S_SERIAL_NO.Split(','); |
| | | foreach (var xlhValue in xlhValues) |
| | | { |
| | | CkBcakDto.ITEM1 newItem = new CkBcakDto.ITEM1 { XLH = xlhValue }; |
| | | listitem1.Add(newItem); |
| | | } |
| | | listitem1.XLH = podetail?.S_SERIAL_NO.Split(',').ToList(); |
| | | //foreach (var xlhValue in xlhValues) |
| | | //{ |
| | | // CkBcakDto.ITEM1 newItem = new CkBcakDto.ITEM1 { XLH = xlhValue }; |
| | | // listitem1.Add(newItem); |
| | | //} |
| | | ckbitem.ITEM1 = listitem1; |
| | | iTEMs.Add(ckbitem); |
| | | |
| | |
| | | JHWBackDto.ITEM ckbitem = new JHWBackDto.ITEM(); |
| | | ckbitem.WLBH = item.S_ITEM_CODE; |
| | | ckbitem.GC = po.S_FACTORY; |
| | | |
| | | //ckbitem.PH = podetail?.S_PH; |
| | | |
| | | // ckbitem.TSKCBS = podetail?.S_TSKCBS; |
| | | ckbitem.XSDD = podetail?.S_XSDD; |
| | | ckbitem.XSDDHXM = podetail?.S_XSDDXMBH; |
| | | ckbitem.SL = item.F_QTY; |
| | | ckbitem.DW = podetail?.S_UOM; |
| | | ckbitem.DDH = podetail?.S_DDH; |
| | | //ckbitem.PH = podetail?.S_PH; |
| | | // ckbitem.TSKCBS = podetail?.S_TSKCBS; |
| | | //ckbitem.DDHXM = (podetail?.N_ROW_NO); |
| | | ckbitem.WBS = podetail?.S_WBS; |
| | | ckbitem.KCDD = podetail?.S_KCDD; |