From 7baa0d978e41f395891753b208d805bc02edee38 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周一, 12 5月 2025 08:43:59 +0800 Subject: [PATCH] 叫料 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 46 +++++++++++++++++++++++++++++++++------------- 1 files changed, 33 insertions(+), 13 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs index 245278e..2fbdaac 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs @@ -197,7 +197,7 @@ } updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); - if(input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.WANCHENG || input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.QUXIAO) + if (input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.WANCHENG || input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.QUXIAO) { throw new UserFriendlyException("瀹屾垚鎴栬�呭彇娑堢殑浠诲姟涓嶅厑璁告洿鏀�"); } @@ -523,9 +523,8 @@ /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> - public async Task FinishTaskAsync(WmsTaskUpdateDto input) + public async Task FinishTaskAsync(WmsTaskStatusDto input) { - using var scope = _serviceProvider.CreateScope(); var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); using var uow = unitOfWorkManager.Begin(requiresNew: true); @@ -540,19 +539,35 @@ throw new UserFriendlyException("鍙栨秷鎴栬�呭畬鎴愮殑浠诲姟涓嶅厑璁告搷浣�"); } task.TaskStatus = WmsTaskStatus.WANCHENG; + task.TaskDodeviceStatus = TaskDodeviceStatus.SrmFinish; + await wmsTaskRepository.UpdateAsync(task); + + var place = await _wmsPlaceRepository.FindByNameAsync(task.ToPlace); + if (place == null) + { + throw new UserFriendlyException("鐩爣搴撲綅涓嶅瓨鍦�"); + } // 鏇存柊搴撳瓨 - var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1,PlaceNo = task.SourcePlace}); - if(stockList == null || stockList.Count<=0) + var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1, PlaceNo = task.SourcePlace }); + if (stockList == null || stockList.Count <= 0) { throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪"); } var stock = stockList.FirstOrDefault(); stock.PlaceNo = task.ToPlace; + stock.StorageTypeNo = place.StorageTypeNo; + stock.InStockTime = DateTime.Now; stock.ContainerNo = "TP" + task.ToPlace; + await _wmsMaterialStockRepository.UpdateAsync(stock); + + place.PlaceStatus = PlaceStatusEnum.CUNHUO; + await _wmsPlaceRepository.UpdateAsync(place); + + var container = await _wmsContainerRepository.FindByNameAsync(stock.ContainerNo); - if(container == null) + if (container == null) { await _wmsContainerRepository.InsertAsync(new WmsContainer { @@ -561,9 +576,14 @@ ContainerType = ContainerTypeEnum.XUNI, }); } + else + { + container.ContainerStatus = ContainerStatusEnum.KUWEI; + await _wmsContainerRepository.UpdateAsync(container); + } var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo); - if(oldContainer != null) + if (oldContainer != null) { await _wmsContainerRepository.DeleteAsync(oldContainer); } @@ -572,7 +592,7 @@ { // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); - if(orderNo != null) + if (orderNo != null) { orderNo.CompleteNumber += 1; orderNo.OrderStatus = OrderStatusEnum.Executing; @@ -605,7 +625,7 @@ StockType = task.TaskType == TaskTypeEnum.CHUKU ? StockTypeEnum.OutBound : StockTypeEnum.InBound, ContainerNo = task.ContainerNo, MaterialId = stock.MaterialId, - MaterialModel= stock.MaterialModel, + MaterialModel = stock.MaterialModel, MaterialName = stock.MaterialName, MaterialNo = stock.MaterialNo, MaterialBatch = stock.MaterialBatch, @@ -625,7 +645,7 @@ /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> - public async Task CancelTaskAysnc(WmsTaskUpdateDto input) + public async Task CancelTaskAysnc(WmsTaskStatusDto input) { using var scope = _serviceProvider.CreateScope(); @@ -656,18 +676,18 @@ { // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); - if(orderNo != null) + if (orderNo != null) { orderNo.CompleteNumber -= 1; orderNo.OrderStatus = OrderStatusEnum.NoStart; } - if (orderNo.CompleteNumber>0) + if (orderNo.CompleteNumber > 0) { orderNo.OrderStatus = OrderStatusEnum.Executing; } await _wmsInOutStockOrderRepository.UpdateAsync(orderNo); - + } await uow.SaveChangesAsync(); -- Gitblit v1.9.3