src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -379,13 +379,19 @@
                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);