yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderItemMapper.java
@@ -1,7 +1,10 @@
package cn.iocoder.yudao.module.erp.dal.mysql.purchase;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderItemDO;
import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
@@ -27,4 +30,16 @@
        return delete(ErpPurchaseOrderItemDO::getOrderId, orderId);
    }
    /**
     * 查询指定物料的已审核采购订单明细
     */
    default List<ErpPurchaseOrderItemDO> selectListByApprovedOrderAndProductIds(Collection<Long> productIds) {
        MPJLambdaWrapperX<ErpPurchaseOrderItemDO> query = new MPJLambdaWrapperX<>();
        query.selectAll(ErpPurchaseOrderItemDO.class);
        query.innerJoin(ErpPurchaseOrderDO.class, ErpPurchaseOrderDO::getId, ErpPurchaseOrderItemDO::getOrderId);
        query.eq(ErpPurchaseOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus());
        query.in(ErpPurchaseOrderItemDO::getProductId, productIds);
        return selectJoinList(ErpPurchaseOrderItemDO.class, query);
    }
}