| | |
| | | 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; |
| | | |
| | |
| | | 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) |
| | | { |
| | |
| | | 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); |
| | | } |
| | | } |