From 98ea0648f9373679de108ccbab5dcc97c2f0c67c Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周五, 16 5月 2025 13:00:17 +0800 Subject: [PATCH] 叫料接口 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs | 12 +++-- HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs | 10 +++++ HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 47 ++++++++++++----------- 3 files changed, 42 insertions(+), 27 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs index 81e92fe..ae4e6eb 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs @@ -51,5 +51,15 @@ /// 鍘熸枡鏍囪瘑 /// </summary> public string DataIdentifier { get; set; } + + /// <summary> + /// 蹇界暐鍑哄簱鍗曞彿 + /// </summary> + public bool IgnoreOrder { get; set; } + + /// <summary> + /// 浼樺厛绾� + /// </summary> + public int Priority { get; set; } } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs index 74cce40..d9d1571 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs @@ -53,9 +53,9 @@ throw new UserFriendlyException("鍙枡鍙傛暟閿欒"); } - //using var scope = _serviceProvider.CreateScope(); - //var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); - //using var uow = unitOfWorkManager.Begin(requiresNew: true); + using var scope = _serviceProvider.CreateScope(); + var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); + using var uow = unitOfWorkManager.Begin(requiresNew: true); var result = new List<CallMaterialOutput>(); foreach (var item in input) @@ -89,7 +89,6 @@ OrderStatus = Domain.Shared.Enums.OrderStatusEnum.Executing, OperateTime = DateTime.Now, DistributeNumber = 1, - }; var createResult = await _wmsInOutStockOrderAppService.CreateAsync(createOrderInput); @@ -104,13 +103,16 @@ MaterialNo = materiaL.MaterialNo, MaterialName = materiaL.MaterialName, DataIdentifier = item.DataIdentifier, + IgnoreOrder = true, + OrderType = createResult.OrderType, + Priority = createResult.Priority }, }; var callresult = await _wmsOutStockOrderAppService.CallMaterialAsync(callInput); result.AddRange(callresult); } - //await uow.SaveChangesAsync(); + await uow.SaveChangesAsync(); return result; } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs index acc587b..6e98af0 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs @@ -39,7 +39,7 @@ _serviceProvider = serviceProvider; } - public async Task<List<CallMaterialOutput>>CallMaterialAsync(List<CallMaterialInput> input) + public async Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input) { using var scope = _serviceProvider.CreateScope(); var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); @@ -53,32 +53,35 @@ var callOutput = new List<CallMaterialOutput>(); foreach (var inputItem in input) { - var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo); - if (order == null) - { - throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�"); - } - if(order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN) - { - throw new UserFriendlyException("鍏ュ簱鍗曚笉鍏佽鍙枡"); - } if (inputItem.MaterialNumber <= 0) { throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0"); } - if(order.OrderStatus == OrderStatusEnum.Finish) + if (!inputItem.IgnoreOrder) { - throw new UserFriendlyException("宸插畬鎴愬崟鎹笉鍏佽鍙枡"); - } - if (order.MaterialNumber < inputItem.MaterialNumber+order.DistributeNumber) - { - throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺"); - } - order.OrderStatus = OrderStatusEnum.Executing; - order.DistributeNumber = inputItem.MaterialNumber; - order.OperateTime = DateTime.Now; + var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo); + if (order == null) + { + throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�"); + } + if (order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN) + { + throw new UserFriendlyException("鍏ュ簱鍗曚笉鍏佽鍙枡"); + } + if (order.OrderStatus == OrderStatusEnum.Finish) + { + throw new UserFriendlyException("宸插畬鎴愬崟鎹笉鍏佽鍙枡"); + } + if (order.MaterialNumber < inputItem.MaterialNumber + order.DistributeNumber) + { + throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺"); + } + order.OrderStatus = OrderStatusEnum.Executing; + order.DistributeNumber = inputItem.MaterialNumber; + order.OperateTime = DateTime.Now; - await _wmsInOutStockOrderRepository.UpdateAsync(order); + await _wmsInOutStockOrderRepository.UpdateAsync(order); + } var stockresult = await _wmsCommonAppService.FindStockAsync(inputItem.MaterialModel, inputItem.MaterialNumber); if (stockresult == null) @@ -102,7 +105,7 @@ TaskType = TaskTypeEnum.CHUKU, SonTaskType = inputItem.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU, TaskStatus = WmsTaskStatus.WEIZHIXING, - TaskLevel = order.Priority, + TaskLevel = inputItem.Priority, Aisle = 1, DodeviceId = 0, Dodevicetype = DodevicetypeEnum.Srm, -- Gitblit v1.9.3