From 18d03120573170fbe528f9592b29b4a6e4b9802a Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 10 八月 2024 15:48:46 +0800
Subject: [PATCH] 采购退料单重推送

---
 MES.Service/service/GetErpParametersServer.cs |   55 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/MES.Service/service/GetErpParametersServer.cs b/MES.Service/service/GetErpParametersServer.cs
index 1325ded..0c7ab66 100644
--- a/MES.Service/service/GetErpParametersServer.cs
+++ b/MES.Service/service/GetErpParametersServer.cs
@@ -13,13 +13,16 @@
     private readonly MesInvItemInCDetailsManager _invItemInCDetailsServer =
         new();
 
+    private readonly MesInvItemOutsManager _invItemOutsServer =
+        new();
+
     private readonly MessageCenterManager _messageCenterServer = new();
 
     public List<MessageCenter> GetErpParameters(List<MessageCenter> data)
     {
         var centers = new List<MessageCenter>();
 
-        //鑾峰彇绗竴涓姹�
+        //鑾峰彇涓昏姹�
         var center = data.Find(p => p.Seq == 1);
 
         //瑙f瀽URL
@@ -28,34 +31,70 @@
         //鎻愬彇鍙傛暟
         var queryParameters = HttpUtility.ParseQueryString(queryString);
 
+        var strings = center.TableName.Split("_");
+
+        MessageCenter mesToErp = null;
+        var query = new WarehouseQuery();
         switch (center.TableName)
         {
             //閲囪喘鍏ュ簱鍗曞鏍�
             case "MES_INV_ITEM_INS_A":
             //閲囪喘鍏ュ簱鍗曞弽瀹℃牳
             case "MES_INV_ITEM_INS_B":
-                var strings = center.TableName.Split("_");
 
-                var query = new WarehouseQuery();
                 //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
                 query.Type = strings[^1];
+                //鑾峰彇url涓檮甯︾殑鍙傛暟
                 query.id = Convert.ToDecimal(queryParameters["id"]);
                 query.billNo = queryParameters["billNo"];
-
-                var mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
+                //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+                mesToErp = _invItemInCDetailsServer.MesToErpParam(query);
+                //璧嬪�间富id
                 mesToErp.Id = center.Id;
                 centers.Add(mesToErp);
 
+                //鏇存柊鍓╀笅鐨勮姹傜殑鍙傛暟
                 var messageCenter = data[0];
-                var json = new JObject();
-                json.Add(new JProperty("id", query.id));
-                json.Add(new JProperty("billNo", query.billNo));
+                var json = new JObject
+                {
+                    new JProperty("id", query.id),
+                    new JProperty("billNo", query.billNo)
+                };
                 messageCenter.Data = json.ToString();
                 centers.Add(messageCenter);
 
                 break;
 
+            //閲囪喘閫�鏂欏崟瀹℃牳
+            case "MES_INV_ITEM_OUTS_A":
+            //閲囪喘閫�鏂欏崟鍙嶅鏍�
+            case "MES_INV_ITEM_OUTS_B":
 
+                //鑾峰彇鍒扮被鍨嬶紙瀹℃牳杩樻槸鍙嶅鏍革級
+                query.Type = strings[^1];
+                query.id = Convert.ToDecimal(queryParameters["id"]);
+                query.billNo = queryParameters["itemOutNo"];
+
+                //閲嶆柊鑾峰彇璇锋眰鐨勬暟鎹�
+                mesToErp = _invItemOutsServer.MesToErpParam(query);
+                //鏇存涓轰富id
+                mesToErp.Id = center.Id;
+                //娣诲姞鍒拌姹傞泦鍚堜腑
+                centers.Add(mesToErp);
+
+                //鑾峰彇鍓╀綑鐨勮姹�
+                var find = data.FindAll(s => s.Seq != 1);
+                var result = new JObject
+                {
+                    new JProperty("id", query.id),
+                    new JProperty("billNo", query.billNo)
+                };
+                find.ForEach(s =>
+                {
+                    s.Data = result.ToString();
+                    centers.Add(s);
+                });
+                break;
             default:
                 throw new Exception("鏃犳硶璇嗗埆TableName绫诲瀷");
         }

--
Gitblit v1.9.3