gaoluyang
5 天以前 d39e4f7d839167c16425086dfa2f8747bccfdff9
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
@@ -7,6 +7,7 @@
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInvoiceDO;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
@@ -45,4 +46,33 @@
                .in(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderIds));
    }
    default List<ErpPurchaseInvoiceDO> selectListByItemReceiptId(Long itemReceiptId) {
        return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
                .eq(ErpPurchaseInvoiceDO::getItemReceiptId, itemReceiptId));
    }
    /**
     * 按供应商与开票时间范围查询来票(供应商往来)
     */
    default List<ErpPurchaseInvoiceDO> selectListBySupplierIdAndInvoiceTimeBetween(Long supplierId,
                                                                                  LocalDateTime beginTime,
                                                                                  LocalDateTime endTime) {
        return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
                .eq(ErpPurchaseInvoiceDO::getSupplierId, supplierId)
                .geIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, beginTime)
                .leIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, endTime)
                .orderByAsc(ErpPurchaseInvoiceDO::getInvoiceTime)
                .orderByAsc(ErpPurchaseInvoiceDO::getId));
    }
    /**
     * 按开票时间范围查询全部供应商的来票(供应商往来汇总)
     */
    default List<ErpPurchaseInvoiceDO> selectListByInvoiceTimeBetween(LocalDateTime beginTime,
                                                                      LocalDateTime endTime) {
        return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
                .geIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, beginTime)
                .leIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, endTime));
    }
}