From 0a167891e323c630741072a6c6d8a430b2f698b5 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期四, 19 三月 2026 18:20:53 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |   66 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 13 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 9b4439a..168fec9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -390,9 +390,19 @@
                             var response = responseModel(inboundOrder, 3, null, allocatefeedmodel);
                             if (response != null && response.IsSuccess)
                             {
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1 })
-                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+                                var detailStatusList = _inboundOrderDetailService.Db.Queryable<Dt_InboundOrderDetail>()
+                                .Where(it => it.OrderId == inboundOrder.Id)
+                                .Select(it => it.OrderDetailStatus)
+                                .ToList();
+
+                                bool isAll = detailStatusList.Any()
+                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
+                                    : false; 
+
+                                int mainReturnToMESStatus = isAll ? 1 : 3;
+                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus })
+                                .Where(it => it.Id == inboundOrder.Id ).ExecuteCommand();
+                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                 .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                 //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
                                 _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
@@ -402,9 +412,19 @@
                             }
                             else
                             {
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = response.ErrorMessage })
+                                var detailStatusList = _inboundOrderDetailService.Db.Queryable<Dt_InboundOrderDetail>()
+                                .Where(it => it.OrderId == inboundOrder.Id)
+                                .Select(it => it.OrderDetailStatus)
+                                .ToList();
+
+                                bool isAll = detailStatusList.Any()
+                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
+                                    : false;
+
+                                int mainReturnToMESStatus = isAll ? 2 : 4;
+                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = response.ErrorMessage })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                             }
                         }
@@ -457,9 +477,19 @@
 
                             if (response != null && response.IsSuccess)
                             {
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
+                                var detailStatusList = _inboundOrderDetailService.Db.Queryable<Dt_InboundOrderDetail>()
+                                .Where(it => it.OrderId == inboundOrder.Id)
+                                .Select(it => it.OrderDetailStatus)
+                                .ToList();
+
+                                bool isAll = detailStatusList.Any()
+                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
+                                    : false;
+
+                                int mainReturnToMESStatus = isAll ? 1 : 3;
+                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = "" })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                 .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                                 //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
                                 _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
@@ -469,9 +499,19 @@
                             }
                             else
                             {
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = response.ErrorMessage })
+                                var detailStatusList = _inboundOrderDetailService.Db.Queryable<Dt_InboundOrderDetail>()
+                                .Where(it => it.OrderId == inboundOrder.Id)
+                                .Select(it => it.OrderDetailStatus)
+                                .ToList();
+
+                                bool isAll = detailStatusList.Any()
+                                    ? detailStatusList.All(x => x == OrderDetailStatusEnum.Over.ObjToInt())
+                                    : false;
+
+                                int mainReturnToMESStatus = isAll ? 2 : 4;
+                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = mainReturnToMESStatus, Remark = response.ErrorMessage })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = mainReturnToMESStatus })
                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
                             }
                         }
@@ -604,7 +644,7 @@
                         .Where(x => x.OrderNo == stockLockInfo.OrderNo)
                         .Includes(x => x.Details)
                         .First();
-
+                    string Operator = outboundOrder.Modifier;
                     if (outboundOrder != null)
                     {
                         var allocatInfo =_allocateMaterialInfo.Db.Queryable<Dt_AllocateMaterialInfo>().Where(x => x.OrderNo == outboundOrder.OrderNo).ToList();
@@ -629,7 +669,7 @@
                         }
 
                         // 7. 鍥炶皟MES
-                        string Operator = outboundOrder.Modifier;
+                        
                         HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
                         string reqCode = Guid.NewGuid().ToString();
                         string reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
@@ -1022,8 +1062,8 @@
                     await Db.Deleteable(task).ExecuteCommandAsync();
                 }
                 Dt_OutboundOrder outboundOrder = _outboundOrderService.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == stockInfo.Details.FirstOrDefault().OrderNo).Includes(x=>x.Details).First();
-                
 
+                string Operator = outboundOrder.Modifier;
                 if (outboundOrder != null)
                 {
                     foreach (var item in stockInfo.Details.Where(x => x.OrderNo == outboundOrder.OrderNo).ToList())
@@ -1045,7 +1085,7 @@
                         _outboundOrderService.UpdateData(outboundOrder);
                     }
                 }
-                string Operator = outboundOrder.Modifier;
+               
                 ///鍥炶皟MES
                 HttpResponseResult<MesResponseDTO> httpResponseResult = new HttpResponseResult<MesResponseDTO>();
                 string reqCode = Guid.NewGuid().ToString();

--
Gitblit v1.9.3