diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java index c155d8c..d39fec8 100644 --- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java +++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.in.ErpPurchaseIn import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInDO; import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInItemDO; import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.apache.ibatis.annotations.Mapper; @@ -64,7 +65,10 @@ public interface ErpPurchaseInMapper extends BaseMapperX { } default List selectListByOrderId(Long orderId) { - return selectList(ErpPurchaseInDO::getOrderId, orderId); + // 入库进度只统计「已审核」的入库单:未审核/已反审核的入库单不计入订单 inCount(反审核后自然回退) + return selectList(new LambdaQueryWrapper() + .eq(ErpPurchaseInDO::getOrderId, orderId) + .eq(ErpPurchaseInDO::getStatus, ErpAuditStatus.APPROVE.getStatus())); } } \ No newline at end of file diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java index adc2f40..5a4b0bf 100644 --- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java +++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java @@ -185,6 +185,9 @@ public class ErpPurchaseInServiceImpl implements ErpPurchaseInService { purchaseInItem.getProductId(), purchaseInItem.getWarehouseId(), count, bizType, purchaseInItem.getInId(), purchaseInItem.getId(), purchaseIn.getNo())); }); + + // 4. 状态变更后重算采购订单入库进度(反审核的入库单不再计入,inCount 自然回退) + updatePurchaseOrderInCount(purchaseIn.getOrderId()); } @Override