| | |
| | | private LocServiceImpl locService; |
| | | @Autowired |
| | | private TaskItemServiceImpl taskItemService; |
| | | @Autowired |
| | | private CheckOrderService checkOrderService; |
| | | |
| | | /** |
| | | * @author Ryan |
| | |
| | | .setCreateTime(new Date()) |
| | | .setPlatItemId(checkParam.getPlatItemId()); |
| | | items.add(taskItem); |
| | | |
| | | if (!checkOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getId, checkParam.getId()) |
| | | .setSql("work_qty = work_qty + " + item.getAnfme()) |
| | | .set(WkOrderItem::getWorkQty, checkItem.getAnfme()))) { |
| | | throw new CoolException("盘点明细修改失败!!"); |
| | | } |
| | | }); |
| | | if (!taskItemService.saveBatch(items)) { |
| | | throw new CoolException("任务明细保存失败!!"); |
| | | } |
| | | |
| | | loc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); |
| | | if (!locService.updateById(loc)) { |
| | | throw new CoolException("库位预约出库失败!!"); |
| | | } |
| | | |
| | | }); |
| | | |
| | | Set<Long> checkItemIds = checkParams.stream().map(CheckOrderParams::getOrderId).collect(Collectors.toSet()); |
| | | checkItemIds.forEach(orderId -> { |
| | | WkOrder order = this.getById(orderId); |
| | | if (Objects.isNull(order)) { |
| | | throw new CoolException("数据错误:单据不存在!!"); |
| | | } |
| | | List<WkOrderItem> orderItems = checkOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, orderId)); |
| | | if (orderItems.isEmpty()) { |
| | | throw new CoolException("数据错误:单据明细不存在!!"); |
| | | } |
| | | Double sum = orderItems.stream().mapToDouble(WkOrderItem::getWorkQty).sum(); |
| | | |
| | | if (order.getAnfme().compareTo(sum) <= 0) { |
| | | order.setWorkQty(sum).setExceStatus(CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val); |
| | | } else { |
| | | order.setWorkQty(sum).setExceStatus(CheckExceStatus.CHECK_ORDER_STATUS_EXCE_ING.val); |
| | | } |
| | | |
| | | if (!this.updateById(order)) { |
| | | throw new CoolException("盘点单信息修改失败!!"); |
| | | } |
| | | }); |
| | | } |
| | | return R.ok(); |