From da4b61f0701712e4a381974cf18b30ce56a288c4 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期五, 09 五月 2025 16:52:33 +0800
Subject: [PATCH] 增加实体类 物料sap接口测试

---
 api/WmsSpaHelper.cs |  126 +++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 51 deletions(-)

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index b510dac..d3ab124 100644
--- a/api/WmsSpaHelper.cs
+++ b/api/WmsSpaHelper.cs
@@ -33,6 +33,7 @@
 using WHTest;
 using System.Net;
 using SqlSugar;
+using static HH.WCS.Mobox3.pinggao.models.SapRoot.GYSDto;
 
 namespace HH.WCS.Mobox3.pinggao.api
 {
@@ -653,6 +654,7 @@
             }
             return simpleResults;
         }
+   
         /// <summary>
         /// sap-wms鐢熶骇璁㈠崟淇℃伅娣诲姞SimpleResult
         /// </summary>
@@ -706,7 +708,7 @@
                         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;
@@ -1743,7 +1745,7 @@
                     return result;
 
                 }
-
+                po.S_OUT_TYPE = "鎴愭湰涓績鍑哄簱";
                 //鏍规嵁涓嶅悓鍑哄簱绫诲瀷 鍥炶皟sap
                 if (po.S_OUT_TYPE == "鍐查攢鍑哄簱")
                 {
@@ -1938,18 +1940,20 @@
                         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);
 
@@ -1964,21 +1968,37 @@
                     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浠g悊绫诲疄渚�+                    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);
+
+                    // 瑙f瀽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());
                     //娣诲姞鍑瘉璁板綍琛�@@ -2050,14 +2070,7 @@
                         {
                             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,
@@ -2082,9 +2095,7 @@
                         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;
@@ -2095,7 +2106,6 @@
                         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
@@ -2136,20 +2146,36 @@
 
                     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浠g悊绫诲疄渚�+                    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($"璁″垝澶朣AP鍥炶皟");
+                    // 璋冪敤Web Service
+                    ZscmScflJhwResponse responses = service.ZscmScflJhw(request);
 
+                    // 澶勭悊鍝嶅簲
+                    LogHelper.Info("SAP杩斿洖缁撴灉: " + responses.Output);
+
+                    // 瑙f瀽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());
                     //娣诲姞鍑瘉璁板綍琛�@@ -2391,18 +2417,18 @@
                         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);
 
@@ -3531,15 +3557,13 @@
                             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;

--
Gitblit v1.9.1