From f1bd65a40104bdb65c93bea3b50381ab6d2c3837 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期二, 21 四月 2026 13:46:00 +0800
Subject: [PATCH] 1

---
 WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index f40feae..6bb48ed 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -1849,7 +1849,7 @@
                                     _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails1);
 
 
-                                    AddCPRetrueOrder(stockInfo, outboundOrder, outboundOrderDetails1);
+                                    AddCPRetrueOrder(task,stockInfo, outboundOrder, outboundOrderDetails1);
 
                                     // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
                                     if (outboundOrder.System == null)
@@ -2081,7 +2081,7 @@
                                     _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
 
 
-                                    AddCPRetrueOrder(stockInfo, outboundOrder, outboundOrderDetails);
+                                    AddCPRetrueOrder(task,stockInfo, outboundOrder, outboundOrderDetails);
 
                                     // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
                                     if (outboundOrder.System == null)
@@ -2396,7 +2396,7 @@
 
                 // 鏇存柊搴撳瓨鐘舵�� 鍥炲簱鍗�
 
-                AddRetrueOrder(stockInfo, inboundOrder);
+                AddRetrueOrder(task,stockInfo, inboundOrder);
 
 
                 // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
@@ -2586,9 +2586,7 @@
                             CompeletedNum++;
                         }
                         else if (newOutboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
-                        {
-                            newOutboundOrderDetail.OrderDetailStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
-
+                        {    
                             inboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
                         }
                     }
@@ -2866,7 +2864,7 @@
                 App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚);
         }
 
-        private void AddRetrueOrder(Dt_StockInfo stockInfo, Dt_OutboundOrder outboundOrder)
+        private void AddRetrueOrder(Dt_Task task,Dt_StockInfo stockInfo, Dt_OutboundOrder outboundOrder)
         {
             Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Db.Queryable<Dt_StockInfoDetail>()
            .Where(x => x.StockId == stockInfo.Id).First();
@@ -2890,6 +2888,26 @@
             }
             else
             {
+                WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 1 });
+                var postData = new
+                {
+                    DeviceCode = task.NextAddress,    // 灞忓箷缂栧彿
+                    MaterialCode = stockInfoDetail.MaterielCode,//鐗╂枡绫诲瀷
+                    SendNum = stockInfoDetail.OutboundQuantity,//鍙戞枡鏁�
+                    BackNum = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity//鍥炲簱鏁�   
+                };
+                WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃2 = postData });
+                string json = Newtonsoft.Json.JsonConvert.SerializeObject(postData);
+                WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃3 = json });
+                using (var client = new HttpClient())
+                {
+                    var content = new StringContent(json, Encoding.UTF8, "application/json");
+                    var response = client.PostAsync(LEDAPI, content).Result;
+                    string result = response.Content.ReadAsStringAsync().Result;
+                    WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = response, 鎺ユ敹鎶ユ枃 = result });
+                }
+                WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 4 });
+
                 decimal returnQuantity = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity;
                 if (returnQuantity > 0)
                 {
@@ -2963,21 +2981,25 @@
                 }
                 else
                 {
+                    WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 1 });
                     var postData = new
                     {
                         DeviceCode = task.NextAddress,    // 灞忓箷缂栧彿
-                        MaterialCode = outboundOrder.Details.FirstOrDefault()?.MaterielCode,//鐗╂枡绫诲瀷
-                        BackNum = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity,//鍥炲簱鏁�
-                        SendNum = outboundOrder.Details.FirstOrDefault()?.OrderQuantity//鍙戞枡鏁�
+                        MaterialCode = stockInfoDetail.MaterielCode,//鐗╂枡绫诲瀷
+                        SendNum = stockInfoDetail.OutboundQuantity,//鍙戞枡鏁�
+                        BackNum = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity//鍥炲簱鏁�   
                     };
+                    WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃2 = postData });
                     string json = Newtonsoft.Json.JsonConvert.SerializeObject(postData);
+                    WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃3 = json });
                     using (var client = new HttpClient())
                     {
                         var content = new StringContent(json, Encoding.UTF8, "application/json");
                         var response = client.PostAsync(LEDAPI, content).Result;
                         string result = response.Content.ReadAsStringAsync().Result;
+                        WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = response, 鎺ユ敹鎶ユ枃 = result });
                     }
-
+                    WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 4 });
 
                     bool allowCompeted = stockInfo.Details.All(x => x.StockQuantity == x.OutboundQuantity);
                     if (allowCompeted)
@@ -3038,7 +3060,7 @@
         }
 
         //鎴愬搧鍥炲簱鍗�
-        private void AddCPRetrueOrder(Dt_StockInfo stockInfo, Dt_NewOutboundOrder outboundOrder, List<Dt_NewOutboundOrderDetail> outboundOrderDetails)
+        private void AddCPRetrueOrder(Dt_Task task,Dt_StockInfo stockInfo, Dt_NewOutboundOrder outboundOrder, List<Dt_NewOutboundOrderDetail> outboundOrderDetails)
         {
             List<Dt_StockInfoDetail> stockInfoDetails = _stockService.StockInfoDetailService.Db.Queryable<Dt_StockInfoDetail>()
                 .Where(x => x.StockId == stockInfo.Id)
@@ -3092,6 +3114,28 @@
                 }
                 else
                 {
+                    foreach(var stockInfoDetail in stockInfoDetails)
+                    {
+                        WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 1 });
+                        var postData = new
+                        {
+                            DeviceCode = task.NextAddress,    // 灞忓箷缂栧彿
+                            MaterialCode = stockInfoDetail.MaterielCode,//鐗╂枡绫诲瀷
+                            SendNum = stockInfoDetail.OutboundQuantity,//鍙戞枡鏁�
+                            BackNum = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity//鍥炲簱鏁�   
+                        };
+                        WriteLog.Write_Log("API", "鎴愬搧搴撳叆搴撯�旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃2 = postData });
+                        string json = Newtonsoft.Json.JsonConvert.SerializeObject(postData);
+                        WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃3 = json });
+                        using (var client = new HttpClient())
+                        {
+                            var content = new StringContent(json, Encoding.UTF8, "application/json");
+                            var response = client.PostAsync(LEDAPI, content).Result;
+                            string result = response.Content.ReadAsStringAsync().Result;
+                            WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = response, 鎺ユ敹鎶ユ枃 = result });
+                        }
+                        WriteLog.Write_Log("API", "鍑哄簱鈥旇姹侺ED", "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = 4 });
+                    }
                     var groupedDetails = outboundOrderDetails
                         .GroupBy(d => new { d.MaterielCode, d.BatchNo })
                         .ToList();

--
Gitblit v1.9.3