From 401bdd0cfb4d7ce7344e34b3897ff14e303188fb Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 15 十月 2026 14:02:52 +0800
Subject: [PATCH] feat(crm): 新增合同Word文档下载功能
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
index a5a814f..303678d 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java
@@ -38,6 +38,7 @@
return selectPage(reqVO, new LambdaQueryWrapperX<CrmInvoiceDO>()
.eq(CrmInvoiceDO::getCustomerId, reqVO.getCustomerId()) // 蹇呴』浼犻��
.eqIfPresent(CrmInvoiceDO::getNo, reqVO.getNo())
+ .likeIfPresent(CrmInvoiceDO::getInvoiceNo, reqVO.getInvoiceNo())
.eqIfPresent(CrmInvoiceDO::getContractId, reqVO.getContractId())
.orderByDesc(CrmInvoiceDO::getId));
}
@@ -50,6 +51,7 @@
// 鎷兼帴鑷韩鐨勬煡璇㈡潯浠�
query.selectAll(CrmInvoiceDO.class)
.eqIfPresent(CrmInvoiceDO::getNo, pageReqVO.getNo())
+ .likeIfPresent(CrmInvoiceDO::getInvoiceNo, pageReqVO.getInvoiceNo())
.eqIfPresent(CrmInvoiceDO::getContractId, pageReqVO.getContractId())
.eqIfPresent(CrmInvoiceDO::getAuditStatus, pageReqVO.getAuditStatus())
.orderByDesc(CrmInvoiceDO::getId);
@@ -76,10 +78,11 @@
if (CollUtil.isEmpty(contractIds)) {
return Collections.emptyMap();
}
- // SQL sum 鏌ヨ
+ // SQL sum 鏌ヨ锛堝鎵归�氳繃 + 瀹℃壒涓紝涓庡紑绁ㄩ槻瓒呮牎楠屽彛寰勪竴鑷达級
List<Map<String, Object>> result = selectMaps(new QueryWrapper<CrmInvoiceDO>()
.select("contract_id, SUM(price) AS total_price")
- .eq("audit_status", CrmAuditStatusEnum.APPROVE.getStatus())
+ .in("audit_status", CrmAuditStatusEnum.APPROVE.getStatus(),
+ CrmAuditStatusEnum.PROCESS.getStatus())
.groupBy("contract_id")
.in("contract_id", contractIds));
// 鑾峰緱閲戦
@@ -90,4 +93,13 @@
return selectCount(CrmInvoiceDO::getContractId, contractId);
}
+ /**
+ * 鏌ヨ鍚堝悓涓嬬殑鍏ㄩ儴寮�绁紙瀵煎叆鍘婚噸鐢級
+ */
+ default List<CrmInvoiceDO> selectListByContractId(Long contractId) {
+ return selectList(new LambdaQueryWrapperX<CrmInvoiceDO>()
+ .eq(CrmInvoiceDO::getContractId, contractId)
+ .orderByAsc(CrmInvoiceDO::getId));
+ }
+
}
--
Gitblit v1.9.3