From 0057ff26d5e835629d9d85d63f4bbe723e5c9e44 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周日, 18 5月 2025 19:47:32 +0800 Subject: [PATCH] 项目 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 71 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 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 d3d4886..7ede721 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs @@ -20,6 +20,8 @@ using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; using Volo.Abp.Uow; using Microsoft.Extensions.DependencyInjection; +using NPOI.SS.Formula.Functions; +using System.Collections.Generic; namespace CMS.Plugin.HIAWms.Application.Implements; @@ -694,4 +696,73 @@ await uow.SaveChangesAsync(); await uow.CompleteAsync(); } + + /// <summary> + /// 淇敼鐩爣搴撲綅 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task ChangeTaskToPlaceAsync(ChangeTaskToPlaceInput input) + { + var task = await wmsTaskRepository.FindByNameAsync(input.TaskNo); + if (task == null) + { + throw new UserFriendlyException("浠诲姟淇℃伅涓嶅瓨鍦�"); + } + + if (task.TaskStatus != WmsTaskStatus.WEIZHIXING) + { + throw new UserFriendlyException("宸插紑濮嬫垨鑰呯粨鏉熺殑浠诲姟涓嶅厑璁镐慨鏀�"); + } + + var toPlaceInfo = await _wmsPlaceRepository.FindByNameAsync(input.ToPlace); + if (toPlaceInfo == null) + { + throw new UserFriendlyException("鐩爣搴撲綅淇℃伅涓嶅瓨鍦�"); + } + + if(toPlaceInfo.IsDisabled) + { + throw new UserFriendlyException("鐩爣搴撲綅宸茶绂佺敤"); + } + + var toplaceStock = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.ToPlace }); + if (toplaceStock != null && toplaceStock.Count>0) + { + var model = toplaceStock.FirstOrDefault(); + if (model.MaterialModel != input.MutableParam1) + { + throw new UserFriendlyException("鐩爣搴撲綅鍨嬪彿涓庡綋鍓嶅瀷鍙蜂笉涓�鑷翠笉鍏佽淇敼"); + } + } + task.ToPlace = input.ToPlace; + + await wmsTaskRepository.UpdateAsync(task); + } + + /// <summary> + /// 鑾峰彇闇�瑕佹墽琛岀殑浠诲姟 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<WmsTaskDto> GetToExecuteTaskAsync(QueryTaskTypeInput input) + { + var queryInput = new GetWmsTaskInput + { + TaskStatus = WmsTaskStatus.WEIZHIXING, + }; + var whereConditions = DynamicGetQueryParams(queryInput); + + var NoStartTaskList = await wmsTaskRepository.GetTaskListAsync(whereConditions); + if(NoStartTaskList.Count<=0) return null; + + var executeTask = NoStartTaskList.FirstOrDefault(x=>x.TaskType == input.TaskType); + if(executeTask == null) + { + return ObjectMapper.Map<WmsTask, WmsTaskDto>(NoStartTaskList.FirstOrDefault()); + } + + return ObjectMapper.Map<WmsTask, WmsTaskDto>(executeTask); + } } -- Gitblit v1.9.3