From 01c3a4658026e9c3ed9daaf1f1b27da368ab11a9 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 20 12月 2024 18:06:25 +0800
Subject: [PATCH] //校验数据是否正确 【Editby shaocx,2024-12-20】

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 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 ed7aa55..c849f71 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs
@@ -45,20 +45,53 @@
             throw Oops.Oh("鏈鏈夐噸澶嶇殑UPI锛侀噸澶嶅彿涓�:" + dit.Key + ",閲嶅鏉℃暟:" + dit.Value);
         }
 
-        List<string> packageList = new List<string>();
-        input.ForEach(x => packageList.Add(x.PackageCode));//upis鏄紶杩囨潵鐨剈pi瀛楁闆嗗悎
+        //鏍¢獙鏁版嵁鏄惁姝g‘ 銆怑ditby shaocx,2024-12-20銆�
+        var gg = input.GroupBy(x => x.PackageCode);
+        foreach (var item in gg)
+        {
+            var _list = item.ToList();
+            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}锛屼笉绗﹀悎瑕佹眰!");
+                }
+            }
+        }
 
-        var batchOrderUPIs = await _rep.AsQueryable().Where(x => packageList.Contains(x.PackageCode)).ToListAsync();//batchOrderUPIs鏄噸澶嶇殑upi闆嗗悎
+        //鍚屼竴涓猆PI鍙兘灞炰簬涓�涓� 鎵规鍙�+璁㈠崟鍙�
+        //浼氬瓨鍦� 涓�涓壒娆″彿锛屽涓鍗曞彿鐨勬儏鍐� 
+        //浼氬瓨鍦� 涓�涓鍗曞彿锛屽涓壒娆″彿鐨勬儏鍐� 
+
+        //鎸夌収鎵规鍙�+璁㈠崟鍙峰垹闄�
+        List<string> packageList = new List<string>();
+        input.ForEach(x => packageList.Add(x.PlanNo + "_" + x.OrderId));//upis鏄紶杩囨潵鐨剈pi瀛楁闆嗗悎
+
+        var batchOrderUPIs = await _rep.AsQueryable().Where(x => packageList.Contains(x.PlanNo + "_" + x.OrderId)).ToListAsync();//batchOrderUPIs鏄噸澶嶇殑upi闆嗗悎
         //鎵归噺鍒犻櫎
         await _rep.DeleteAsync(batchOrderUPIs);
 
         //鎵归噺鍒犻櫎
-        await _mes_Package_Gather_Rep.DeleteAsync(x => packageList.Contains(x.PackageCode));
+        await _mes_Package_Gather_Rep.DeleteAsync(x => packageList.Contains(x.PlanNo + "_" + x.OrderId));
+
+        //鍒犻櫎閲嶅鐨剈pi鏁版嵁
+        List<string> upis = new List<string>();
+        input.ForEach(x => upis.Add(x.UPI));//upis鏄紶杩囨潵鐨剈pi瀛楁闆嗗悎
+        var queryDateTime = DateTime.Now.AddDays(-7);
+        var batchOrderUPIs22 = await _rep.AsQueryable().Where(x => upis.Contains(x.UPI) && x.CreateTime >= queryDateTime).ToListAsync();//batchOrderUPIs鏄噸澶嶇殑upi闆嗗悎
+        //鎵归噺鍒犻櫎
+        await _rep.DeleteAsync(batchOrderUPIs22);
 
         foreach (var item in input)
         {
             item.AreaCode = AreaCodeEnum.鏃犲尯鍩�;
             item.UpiStatus = UpiStatusEnum.鍒濆;
+            item.CreateUserName = item.UpdateUserName = "MES";
         }
         List<Mes_Package_Gather> addGatherList = new List<Mes_Package_Gather>();
         var groups = input.GroupBy(x => x.PackageCode);
@@ -68,6 +101,7 @@
             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);

--
Gitblit v1.9.3