From 283a985dede9fd09cb820a79bb603d7ea34050fc Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 23 12月 2024 14:26:17 +0800 Subject: [PATCH] 22 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ThirdInterFace/ThirdInterFaceService.cs | 65 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 12 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..1463033 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) { @@ -45,21 +45,49 @@ 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)); - foreach (var item in input) - { - item.AreaCode = AreaCodeEnum.鏃犲尯鍩�; - item.UpiStatus = UpiStatusEnum.鍒濆; - } + //鍒犻櫎閲嶅鐨剈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); + + List<Mes_Package_Gather> addGatherList = new List<Mes_Package_Gather>(); var groups = input.GroupBy(x => x.PackageCode); foreach (var group in groups) @@ -68,11 +96,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