package cn.iocoder.yudao.module.erp.dal.mysql.purchase; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.invoice.ErpPurchaseInvoicePageReqVO; import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO; import cn.iocoder.yudao.module.erp.enums.ErpPurchaseInvoiceAuditStatusEnum; import org.apache.ibatis.annotations.Mapper; import java.util.Collection; import java.util.List; /** * ERP 采购来票 Mapper * * @author 超级管理员 */ @Mapper public interface ErpPurchaseInvoiceMapper extends BaseMapperX { default ErpPurchaseInvoiceDO selectByNo(String no) { return selectOne(ErpPurchaseInvoiceDO::getNo, no); } default PageResult selectPage(ErpPurchaseInvoicePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .likeIfPresent(ErpPurchaseInvoiceDO::getNo, reqVO.getNo()) .eqIfPresent(ErpPurchaseInvoiceDO::getSupplierId, reqVO.getSupplierId()) .eqIfPresent(ErpPurchaseInvoiceDO::getPurchaseOrderId, reqVO.getPurchaseOrderId()) .eqIfPresent(ErpPurchaseInvoiceDO::getAuditStatus, reqVO.getAuditStatus()) .orderByDesc(ErpPurchaseInvoiceDO::getId)); } default List selectListByOrderIdAndStatus(Long orderId, Collection auditStatuses) { return selectList(new LambdaQueryWrapperX() .eq(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderId) .in(ErpPurchaseInvoiceDO::getAuditStatus, auditStatuses)); } default List selectListBySupplierIdAndStatus(Long supplierId, Collection auditStatuses) { return selectList(new LambdaQueryWrapperX() .eq(ErpPurchaseInvoiceDO::getSupplierId, supplierId) .in(ErpPurchaseInvoiceDO::getAuditStatus, auditStatuses)); } default Long selectCountByAudit() { return selectCount(ErpPurchaseInvoiceDO::getAuditStatus, ErpPurchaseInvoiceAuditStatusEnum.PROCESS.getStatus()); } }