From d34ea2a9fc2334d2bf7383cb64562f301ffbda84 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 17 4月 2025 13:09:07 +0800
Subject: [PATCH] 包中只有一块板时,认定为 不齐包 【Editby shaocx,2025-04-01】

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
index 5d69793..6324f83 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
@@ -5,7 +5,7 @@
 using System.Web;
 using System.Text;
 using Furion.DatabaseAccessor;
-using Admin.NET.Application.Service.WmsOrder.Mes_BatchOrderUPI_New.Dto;
+using Microsoft.CodeAnalysis.Operations;
 
 namespace Admin.NET.Application;
 /// <summary>
@@ -28,7 +28,7 @@
     [ApiDescriptionSettings(Name = "GetBatchOrderUPIList")]
     [UnitOfWork]
     [AllowAnonymous]
-    public async Task GetBatchOrderUPIList(List<Mes_BatchOrderUPI_New> input)
+    public async Task GetBatchOrderUPIList(List<GetBatchOrderUPIInput> input)
     {
         if (input?.Count <= 0)
         {
@@ -43,6 +43,29 @@
         {
             var dit = result.First();
             throw Oops.Oh("鏈鏈夐噸澶嶇殑UPI锛侀噸澶嶅彿涓�:" + dit.Key + ",閲嶅鏉℃暟:" + dit.Value);
+        }
+
+        //鏍¢獙鏁版嵁鏄惁姝g‘ 銆怑ditby shaocx,2024-12-20銆�
+        var gg = input.GroupBy(x => x.PackageCode);
+        foreach (var item in gg)
+        {
+            var _list = item.ToList();
+
+            //鍖呬腑鍙湁涓�鍧楁澘鏃讹紝璁ゅ畾涓� 涓嶉綈鍖� 銆怑ditby shaocx,2025-04-01銆�
+            /*
+            if (_list.Count() == 1)
+            {
+                throw Oops.Oh($"鍖呭彿{item.Key}涓彧鏈変竴鍧楁澘锛屼笉绗﹀悎瑕佹眰!");
+            }
+            //*/
+            _list = _list.OrderBy(x => x.Shelf).ToList();
+            for (int i = 0; i < _list.Count; i++)
+            {
+                if (_list[i].Shelf != (i + 1))
+                {
+                    throw Oops.Oh($"鍖呭彿{item.Key}涓{(i + 1)}鍧楁澘鐨勬搴忎笉鏄瘂i + 1}锛岃�屾槸{_list[i].Shelf}锛屼笉绗﹀悎瑕佹眰!");
+                }
+            }
         }
 
         //鍚屼竴涓猆PI鍙兘灞炰簬涓�涓� 鎵规鍙�+璁㈠崟鍙�
@@ -68,11 +91,7 @@
         //鎵归噺鍒犻櫎
         await _rep.DeleteAsync(batchOrderUPIs22);
 
-        foreach (var item in input)
-        {
-            item.AreaCode = AreaCodeEnum.鏃犲尯鍩�;
-            item.UpiStatus = UpiStatusEnum.鍒濆;
-        }
+
         List<Mes_Package_Gather> addGatherList = new List<Mes_Package_Gather>();
         var groups = input.GroupBy(x => x.PackageCode);
         foreach (var group in groups)
@@ -81,11 +100,24 @@
             Mes_Package_Gather newGather = first.Adapt<Mes_Package_Gather>();
             newGather.AreaCode = AreaCodeEnum.鏃犲尯鍩�;
             newGather.UpiStatus = UpiStatusEnum.鍒濆;
+            newGather.CreateUserName = newGather.UpdateUserName = "MES";
             addGatherList.Add(newGather);
         }
         await _mes_Package_Gather_Rep.InsertRangeAsync(addGatherList);
 
-        await _rep.InsertRangeAsync(input);
+        //杞崲鎴怳pi瀵硅薄
+        List<Mes_BatchOrderUPI_New> insertUpiList = new List<Mes_BatchOrderUPI_New>();
+        foreach (var item in input)
+        {
+            Mes_BatchOrderUPI_New insertUpi = item.Adapt<Mes_BatchOrderUPI_New>();
+            insertUpi.AreaCode = AreaCodeEnum.鏃犲尯鍩�;
+            insertUpi.UpiStatus = UpiStatusEnum.鍒濆;
+            insertUpi.CreateUserName = insertUpi.UpdateUserName = "MES";
+            insertUpi.CreateTime = insertUpi.UpdateTime = DateTime.Now;
+            insertUpiList.Add(insertUpi);
+        }
+
+        await _rep.InsertRangeAsync(insertUpiList);
     }
 
 }

--
Gitblit v1.9.3