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