From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java | 51 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
index cdbef63..304daa2 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInvoiceMapper.java
@@ -5,10 +5,9 @@
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 com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper;
+import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
@@ -24,34 +23,56 @@
return selectOne(ErpPurchaseInvoiceDO::getNo, no);
}
- default int updateByIdAndStatus(Long id, Integer status, ErpPurchaseInvoiceDO updateObj) {
- return update(updateObj, new LambdaUpdateWrapper<ErpPurchaseInvoiceDO>()
- .eq(ErpPurchaseInvoiceDO::getId, id).eq(ErpPurchaseInvoiceDO::getAuditStatus, status));
- }
-
default PageResult<ErpPurchaseInvoiceDO> selectPage(ErpPurchaseInvoicePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
.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<ErpPurchaseInvoiceDO> selectListByOrderIdAndStatus(Long orderId, Collection<Integer> auditStatuses) {
+ default List<ErpPurchaseInvoiceDO> selectListByOrderId(Long orderId) {
return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
- .eq(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderId)
- .in(ErpPurchaseInvoiceDO::getAuditStatus, auditStatuses));
+ .eq(ErpPurchaseInvoiceDO::getPurchaseOrderId, orderId));
}
- default List<ErpPurchaseInvoiceDO> selectListBySupplierIdAndStatus(Long supplierId, Collection<Integer> auditStatuses) {
+ default List<ErpPurchaseInvoiceDO> selectListBySupplierId(Long supplierId) {
+ return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
+ .eq(ErpPurchaseInvoiceDO::getSupplierId, supplierId));
+ }
+
+ default List<ErpPurchaseInvoiceDO> selectListByOrderIds(Collection<Long> orderIds) {
+ return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
+ .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)
- .in(ErpPurchaseInvoiceDO::getAuditStatus, auditStatuses));
+ .geIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, beginTime)
+ .leIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, endTime)
+ .orderByAsc(ErpPurchaseInvoiceDO::getInvoiceTime)
+ .orderByAsc(ErpPurchaseInvoiceDO::getId));
}
- default Long selectCountByAudit() {
- return selectCount(ErpPurchaseInvoiceDO::getAuditStatus, ErpPurchaseInvoiceAuditStatusEnum.PROCESS.getStatus());
+ /**
+ * 鎸夊紑绁ㄦ椂闂磋寖鍥存煡璇㈠叏閮ㄤ緵搴斿晢鐨勬潵绁紙渚涘簲鍟嗗線鏉ユ眹鎬伙級
+ */
+ default List<ErpPurchaseInvoiceDO> selectListByInvoiceTimeBetween(LocalDateTime beginTime,
+ LocalDateTime endTime) {
+ return selectList(new LambdaQueryWrapperX<ErpPurchaseInvoiceDO>()
+ .geIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, beginTime)
+ .leIfPresent(ErpPurchaseInvoiceDO::getInvoiceTime, endTime));
}
}
--
Gitblit v1.9.3