From 37454e625df68d40897112b2e8c2e3cf4d7163e3 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期三, 25 三月 2026 11:43:10 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs |  113 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 91 insertions(+), 22 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 a8777b3..3334efe 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,12 +390,29 @@
                             var response = responseModel(inboundOrder, 3, null, allocatefeedmodel);
                             if (response != null && response.IsSuccess)
                             {
-                                bool isAll = inboundOrder.Details.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
-                                int isAllReturnToMESStatus = isAll ? 1 : 3;
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = isAllReturnToMESStatus })
-                                .Where(it => it.Id == inboundOrder.Id ).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = isAllReturnToMESStatus })
-                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                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;
+
+                                if (isAll)
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
+                                else
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 3, Remark = "" })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 3 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
                                 //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
                                 _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
                                 {
@@ -404,12 +421,29 @@
                             }
                             else
                             {
-                                bool isAll = inboundOrder.Details.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
-                                int isAllReturnToMESStatus = isAll ? 2 : 4;
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = isAllReturnToMESStatus, 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;
+
+                                if (isAll)
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = "" })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = isAllReturnToMESStatus })
-                               .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
+                                else
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 4, Remark = "" })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 4 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
                             }
                         }
                     }
@@ -419,7 +453,7 @@
                     }
                     else
                     {
-                        if (inboundOrder != null && inboundOrder.OrderStatus == InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
+                        if (inboundOrder != null && inboundOrder.OrderStatus == InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt() && inboundOrder.CreateType == (int)OrderCreateTypeEnum.UpperSystemPush)
                         {
                             var feedmodel = new FeedbackInboundRequestModel
                             {
@@ -461,12 +495,30 @@
 
                             if (response != null && response.IsSuccess)
                             {
-                                bool isAll = inboundOrder.Details.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
-                                int isAllReturnToMESStatus = isAll ? 1 : 3;
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = isAllReturnToMESStatus, 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;
+
+                                if (isAll)
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 1, Remark = "" })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = isAllReturnToMESStatus })
-                                .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 1 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
+                                else
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 3, Remark = "" })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 3 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
+                                
                                 //鍥炰紶鎴愬姛搴撳瓨鎵嶅彲鐢�
                                 _stockRepository.Db.Updateable<Dt_StockInfoDetail>().SetColumns(it => new Dt_StockInfoDetail
                                 {
@@ -475,12 +527,29 @@
                             }
                             else
                             {
-                                bool isAll = inboundOrder.Details.All(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
-                                int isAllReturnToMESStatus = isAll ? 2 : 4;
-                                _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = isAllReturnToMESStatus, 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;
+
+                                if (isAll)
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 2, Remark = "" })
                                 .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
-                                _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = isAllReturnToMESStatus })
-                               .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 2 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
+                                else
+                                {
+                                    _inboundOrderService.Db.Updateable<Dt_InboundOrder>().SetColumns(it => new Dt_InboundOrder { ReturnToMESStatus = 4, Remark = "" })
+                                .Where(it => it.Id == inboundOrder.Id).ExecuteCommand();
+                                    _inboundOrderDetailService.Db.Updateable<Dt_InboundOrderDetail>().SetColumns(it => new Dt_InboundOrderDetail { ReturnToMESStatus = 4 })
+                                    .Where(it => it.OrderId == inboundOrder.Id).ExecuteCommand();
+                                }
                             }
                         }
                     }

--
Gitblit v1.9.3