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 | 61 ++++++++++++++++++++++++++++-- 1 files changed, 57 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 89d4870..c849f71 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs @@ -15,9 +15,13 @@ public class ThirdInterFaceService : IDynamicApiController, ITransient { private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _rep; - public ThirdInterFaceService(SqlSugarRepository<Mes_BatchOrderUPI_New> rep) + private readonly SqlSugarRepository<Mes_Package_Gather> _mes_Package_Gather_Rep; + public ThirdInterFaceService(SqlSugarRepository<Mes_BatchOrderUPI_New> rep, + SqlSugarRepository<Mes_Package_Gather> mes_Package_Gather_Rep + ) { _rep = rep; + _mes_Package_Gather_Rep = mes_Package_Gather_Rep; } [HttpPost] @@ -41,18 +45,67 @@ throw Oops.Oh("鏈鏈夐噸澶嶇殑UPI锛侀噸澶嶅彿涓�:" + dit.Key + ",閲嶅鏉℃暟:" + dit.Value); } - List<string> upis = new List<string>(); - input.ForEach(x => upis.Add(x.UPI));//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 => upis.Contains(x.UPI)).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.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); + foreach (var group in groups) + { + var first = group.ToList().First(); + 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); } -- Gitblit v1.9.3