buhuazhen
13 小时以前 a3f68029372d566db4b852e0d1df72b7773c30c2
fix(production): 修正完成数量减少逻辑仅针对审核通过状态

- 仅在审核状态不为通过时减少完成数量
- 避免完成数量出现负值情况
- 添加注释说明仅审核通过的才减少数量
- 保持其他业务逻辑不变
已修改1个文件
8 ■■■■ 文件已修改
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -397,9 +397,13 @@
            BigDecimal scrapQty = productionProductOutput.getScrapQty() == null ? BigDecimal.ZERO : productionProductOutput.getScrapQty();
            BigDecimal completeQty = productWorkOrder.getCompleteQuantity() == null ? BigDecimal.ZERO : productWorkOrder.getCompleteQuantity();
            BigDecimal validQuantity = outputQty.subtract(scrapQty);
            // 必须为审核通过的才会减少数量
            productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity));
            BigDecimal validQuantity = outputQty.subtract(scrapQty);
            if(productionProductMain.getAuditStatus() != 2){
                productWorkOrder.setCompleteQuantity(completeQty.subtract(validQuantity).max(BigDecimal.ZERO));
            }
            productWorkOrder.setActualEndTime(null);
            productWorkOrderMapper.updateById(productWorkOrder);
        } else {