From 9796651f30deb9eee38c9d846255b293fbba15eb Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 16 5月 2025 09:26:55 +0800
Subject: [PATCH] 333
---
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