From 6b8533d9670ec181c09e0864ab0f1a2ea2621354 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 15 12月 2024 13:38:36 +0800
Subject: [PATCH] 22

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs |   65 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
index 1f00b00..2173d2f 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -106,6 +106,11 @@
                 quan.OperReason = "浜哄伐寮哄埗寰呭嚭搴�";
             }
             updateQuanList.AddRange(quanList);
+
+            var packageObj = await _mesPackageGatherRep.GetFirstAsync(x => x.PackageCode == item);
+            packageObj.UpiFlag = UpiFlagEnum.NG;
+            packageObj.UpiStatus = UpiStatusEnum.宸蹭笅绾�;
+            await _mesPackageGatherRep.UpdateAsync(packageObj);
         }
 
         //妯″紡鍒ゆ柇
@@ -168,6 +173,11 @@
                 quan.OperReason = "浜哄伐榻愬寘鍑哄簱";
             }
             updateQuanList.AddRange(quanList);
+
+            var packageObj = await _mesPackageGatherRep.GetFirstAsync(x => x.PackageCode == item);
+            packageObj.UpiStatus = UpiStatusEnum.宸查綈鍖�;
+            packageObj.IsQiBao = true;
+            await _mesPackageGatherRep.UpdateAsync(packageObj);
         }
 
         //妯″紡鍒ゆ柇
@@ -222,18 +232,57 @@
 
         var setValue = "";
         var _QiTaoReuslt = "";
-        var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync();
-        var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.鍒濆 || x.UpiStatus == UpiStatusEnum.涓嶉綈鍖�).Count();
-        if (num > 0)
+
+        bool isNeedQueryQiTao = true;
+        var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5).FirstAsync();
+        if (order == null)
         {
-            //涓嶉綈濂�
-            setValue = $"{input.PackageCode}|涓嶉綈濂梶" + curUserName;
-            _QiTaoReuslt = "涓嶉綈濂�";
+
         }
         else
         {
-            setValue = $"{input.PackageCode}|榻愬|" + curUserName;
-            _QiTaoReuslt = "榻愬";
+            if (order.IsKitting != null)
+            {
+                _QiTaoReuslt = (bool)order.IsKitting ? "榻愬" : "涓嶉綈濂�";
+                isNeedQueryQiTao = false;
+            }
+        }
+        if (isNeedQueryQiTao)
+        {
+            var other_orderList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == package.Info5 && x.PackageCode != input.PackageCode).ToListAsync();
+            var num = other_orderList.Where(x => x.UpiStatus == UpiStatusEnum.鍒濆).Count();
+            if (num > 0)
+            {
+                //涓嶉綈濂�
+                _QiTaoReuslt = "涓嶉綈濂�";
+            }
+            else
+            {
+                _QiTaoReuslt = "榻愬";
+            }
+        }
+        setValue = $"{input.PackageCode}|{_QiTaoReuslt}|" + curUserName;
+
+        if (package.UpiStatus == UpiStatusEnum.宸蹭笅绾�)
+        {
+            throw Oops.Oh($"鍖呭凡涓嬬嚎,榻愬缁撴灉[{_QiTaoReuslt}]");
+        }
+
+        if (order == null)
+        {
+            Mes_Order_Gather newOrder = new Mes_Order_Gather()
+            {
+                Info5 = package.Info5,
+                IsKitting = _QiTaoReuslt == "榻愬" ? true : false,
+                PlanNo = package.PlanNo,
+                OrderId = package.OrderId
+            };
+            await _mesOrderGatherRep.InsertAsync(newOrder);
+        }
+        else
+        {
+            order.IsKitting = _QiTaoReuslt == "榻愬" ? true : false;
+            await _mesOrderGatherRep.UpdateAsync(order);
         }
 
 

--
Gitblit v1.9.3