| | |
| | | /// <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); |
| | |
| | | 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}); |
| | |
| | | } |
| | | 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) |
| | |
| | | ContainerStatus = ContainerStatusEnum.KUWEI, |
| | | ContainerType = ContainerTypeEnum.XUNI, |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | container.ContainerStatus = ContainerStatusEnum.KUWEI; |
| | | await _wmsContainerRepository.UpdateAsync(container); |
| | | } |
| | | |
| | | var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo); |
| | |
| | | /// <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(); |