From 65a231315d1dcc35d2996106d36e9cca9aba6ce6 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 06 三月 2026 09:06:44 +0800
Subject: [PATCH] 更新码垛分配工位优化,老厂退库称重上报设定差异范围

---
 项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
index 3955caa..7005cf9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService.cs"
@@ -194,13 +194,24 @@
                     {
                         return content;
                     }
-                    List<int> ints = _outboundRepository.OutSGOrderDetailRepository.QueryData(x=>x.Id>outDetailId).Select(x=>x.Id).ToList();
-                    int[] reseponse= new int[ints.Count];
-                    for (int i = 0; i < ints.Count; i++)
+                    //鑾峰彇鎵�鏈夌殑鍑哄簱璇︽儏鍒ゆ柇鏄惁婊¤冻鍑哄簱閲忓皬浜�5涓囦笖灏忎簬17鍗�
+                    List<Dt_OutStockLockInfo> outStockLockInfos = _outboundRepository.OutStockLockInfoRepository.QueryData(x=>x.OrderType==OutOrderTypeEnum.OutSGPick.ObjToInt() && x.Status<OutLockStockStatusEnum.鍏抽棴.ObjToInt());
+                    decimal sumAssignQty = outStockLockInfos.Sum(x => x.AssignQuantity);
+                    int outCount= outStockLockInfos.Select(x=>x.PalletCode).Distinct().Count();
+                    if (sumAssignQty < AppSettings.Get("OutSGLength").ObjToInt() && outCount < AppSettings.Get("OutSGCount").ObjToInt())
                     {
-                        reseponse[i] = ints[i];
+                        List<int> ints = _outboundRepository.OutSGOrderDetailRepository.QueryData(x => x.Id > outDetailId).Select(x => x.Id).ToList();
+                        int[] reseponse = new int[ints.Count];
+                        for (int i = 0; i < ints.Count; i++)
+                        {
+                            reseponse[i] = ints[i];
+                        }
+                        content.Message = CreateSGOutboundTasks(reseponse).Message;
                     }
-                    content.Message = CreateSGOutboundTasks(reseponse).Message;
+                    else
+                    {
+                        return content.Error($"褰撳墠鍑哄簱閲忥細{sumAssignQty},褰撳墠鍑哄簱鍗锋暟锛歿outCount},涓嶆弧瓒冲皬浜�5涓囦笖灏忎簬17鍗峰嚭搴撴潯浠�");
+                    }
                 }
 
             }

--
Gitblit v1.9.3