From 743c2748dd4e3c2c2a84c7ae930a9cf287453a84 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周一, 12 5月 2025 17:10:40 +0800 Subject: [PATCH] 出入库 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 29 ++++++++++++++++++++++++++--- 1 files changed, 26 insertions(+), 3 deletions(-) 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 0bb41f5..acc587b 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs @@ -1,4 +1,6 @@ -锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto; +锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto; +using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks; using CMS.Plugin.HIAWms.Application.Contracts.Services; using CMS.Plugin.HIAWms.Domain.Shared.Enums; using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder; @@ -37,7 +39,7 @@ _serviceProvider = serviceProvider; } - public async Task CallMaterialAsync(List<CallMaterialInput> input) + public async Task<List<CallMaterialOutput>>CallMaterialAsync(List<CallMaterialInput> input) { using var scope = _serviceProvider.CreateScope(); var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); @@ -48,6 +50,7 @@ { throw new UserFriendlyException("涓�娆″彨鏂欏彧鑳介拡瀵瑰悓涓�鍨嬪彿鐨勭墿鏂欙紒"); } + var callOutput = new List<CallMaterialOutput>(); foreach (var inputItem in input) { var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo); @@ -55,16 +58,25 @@ { 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.MaterialNumber < inputItem.MaterialNumber) + 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); @@ -93,13 +105,22 @@ TaskLevel = order.Priority, Aisle = 1, DodeviceId = 0, + Dodevicetype = DodevicetypeEnum.Srm, TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart, IsNextTask = (int)YesNoEnum.Y, IsRead = true, + PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999), SourceOrderNo = inputItem.OrderNo, MutableParam1 = inputItem.MaterialModel, + MutableParam2 = inputItem.DataIdentifier }; taskList.Add(task); + + var output = ObjectMapper.Map<WmsMaterialStockDto, CallMaterialOutput>(stock); + output.TaskNo = task.TaskNo; + output.PlcTaskId = task.PlcTaskId; + output.SourceOrderNo = task.SourceOrderNo; + callOutput.Add(output); } } await _wmsTaskRepository.InsertManyAsync(taskList); @@ -107,6 +128,8 @@ await uow.SaveChangesAsync(); await uow.CompleteAsync(); + + return callOutput; } } } -- Gitblit v1.9.3