| | |
| | | productionOrder.setStartTime(LocalDateTime.now()); |
| | | } |
| | | // 订单状态由最后一道工序的合格产出推动,避免中间工序提前完工。 |
| | | productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode()); |
| | | if (isLastOperation) { |
| | | productionOrder.setCompleteQuantity(defaultDecimal(productionOrder.getCompleteQuantity()).add(productQty)); |
| | | if (productionOrder.getQuantity() != null |
| | | && productionOrder.getCompleteQuantity().compareTo(productionOrder.getQuantity()) >= 0) { |
| | | productionOrder.setEndTime(LocalDateTime.now()); |
| | | productionOrder.setStatus(ProductOrderStatusEnum.FINISHED.getCode()); |
| | | } else { |
| | | productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode()); |
| | | } |
| | | } else { |
| | | // 非最后一道工序报工,检查订单是否已完工,避免覆盖已完工状态 |
| | | if (!Integer.valueOf(ProductOrderStatusEnum.FINISHED.getCode()).equals(productionOrder.getStatus())) { |
| | | productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode()); |
| | | } |
| | | } |
| | | productionOrderMapper.updateById(productionOrder); |