| | |
| | | import com.vincent.rsf.server.system.service.FieldsService; |
| | | import com.vincent.rsf.server.system.service.impl.FieldsItemServiceImpl; |
| | | import com.vincent.rsf.server.system.service.impl.FieldsServiceImpl; |
| | | import com.vincent.rsf.server.system.utils.SystemAuthUtils; |
| | | import lombok.Synchronized; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, params.getOrderId())); |
| | | double total = orderItems.stream().mapToDouble(WkOrderItem::getQty).sum(); |
| | | order.setQty(total); |
| | | double wkQty = orderItems.stream().mapToDouble(WkOrderItem::getWorkQty).sum(); |
| | | order.setQty(total).setWorkQty(order.getWorkQty() - wkQty); |
| | | if (!asnOrderService.updateById(order)) { |
| | | throw new CoolException("订单数量更新失败!!"); |
| | | } |
| | | // //检查单据是否完成 |
| | | // if (order.getAnfme().compareTo(order.getQty()) == 0) { |
| | | // order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val); |
| | | // if (!asnOrderService.updateById(order)) { |
| | | // throw new CoolException("出库单更新状态失败"); |
| | | // } |
| | | // } |
| | | //检查单据是否完成 |
| | | if (order.getAnfme().compareTo(order.getQty()) == 0) { |
| | | order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val); |
| | | if (!asnOrderService.updateById(order)) { |
| | | throw new CoolException("出库单更新状态失败"); |
| | | } |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Synchronized |
| | | public R saveWavePick(ContainerWaveParam containerWaveParam, Long loginUserId) { |
| | | if (null == containerWaveParam || containerWaveParam.getContainerWaveDtos().size() <= 0) { |
| | | if (null == containerWaveParam ) { |
| | | return R.error("参数错误"); |
| | | } |
| | | List<WkOrderItem> orderItems = containerWaveParam.getContainerWaveDtos(); |
| | | if (Objects.isNull(orderItems) || orderItems.isEmpty()) { |
| | | return R.error("数据错误!!"); |
| | | } |
| | | |
| | | Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, containerWaveParam.getContainer())); |
| | | if (null == task) { |
| | | return R.error("未找到托盘对应的任务"); |
| | |
| | | return R.error("任务状态不是等待确认"); |
| | | } |
| | | |
| | | List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); |
| | | taskItems.forEach(taskItem -> { |
| | | if (!(taskItem.getQty().compareTo(taskItem.getAnfme()) == 0)) { |
| | | throw new CoolException("有单据物料未拣,请拣完后再确认!!"); |
| | | } |
| | | }); |
| | | |
| | | orderItems.forEach(orderItem -> { |
| | | try { |
| | | taskService.saveOutStockItem(taskItems, orderItem, null, null, SystemAuthUtils.getLoginUserId()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | |
| | | // containerWaveParam.getOrderItems().forEach(orderItem -> { |
| | | // |
| | | // }); |