From f4ef6d1f4489e0d4cbba1845792945b924c16228 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 14 十月 2026 18:29:56 +0800
Subject: [PATCH] feat: 客户签订合同统计 + MES 首页质检合格率
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java
index 80693c2..cac77ea 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java
@@ -3,6 +3,8 @@
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractPageReqVO;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractSaveReqVO;
+import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportExcelVO;
+import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportRespVO;
import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractTransferReqVO;
import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO;
import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO;
@@ -10,6 +12,7 @@
import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO;
import jakarta.validation.Valid;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
@@ -32,6 +35,14 @@
* @return 缂栧彿
*/
Long createContract(@Valid CrmContractSaveReqVO createReqVO, Long userId);
+
+ /**
+ * 瀵煎叆鍚堝悓
+ *
+ * @param importList 瀵煎叆鏁版嵁锛堟瘡涓�琛� = 涓�鏉℃槑缁嗭紝鐩稿悓鍚堝悓缂栧彿鍚堝苟涓轰竴寮犲悎鍚岋級
+ * @return 瀵煎叆缁撴灉
+ */
+ CrmContractImportRespVO importContractList(List<CrmContractImportExcelVO> importList);
/**
* 鏇存柊鍚堝悓
@@ -95,6 +106,14 @@
* @return 鍚堝悓
*/
CrmContractDO getContract(Long id);
+
+ /**
+ * 鑾峰緱鍚堝悓锛屽熀浜庡悎鍚岀紪鍙�
+ *
+ * @param no 鍚堝悓缂栧彿
+ * @return 鍚堝悓
+ */
+ CrmContractDO getContractByNo(String no);
/**
* 鏍¢獙鍚堝悓鏄惁鍚堟硶
@@ -170,6 +189,26 @@
Long getContractCountByCustomerId(Long customerId);
/**
+ * 鎵归噺缁熻鍚勫鎴枫�屽凡绛捐銆嶇殑鍚堝悓鏁伴噺
+ *
+ * 銆屽凡绛捐銆�= 瀹℃壒鐘舵�佷负瀹℃牳閫氳繃鐨勫悎鍚�
+ *
+ * @param customerIds 瀹㈡埛缂栧彿闆嗗悎
+ * @return key锛氬鎴风紪鍙凤紝value锛氬悎鍚屾暟閲忋�傛病鏈夊凡绛捐鍚堝悓鐨勫鎴蜂笉鍦� map 涓�
+ */
+ Map<Long, Long> getContractCountMapByCustomerIds(Collection<Long> customerIds);
+
+ /**
+ * 鎵归噺缁熻鍚勫鎴枫�屽凡绛捐銆嶇殑鍚堝悓閲戦鍚堣
+ *
+ * 銆屽凡绛捐銆�= 瀹℃壒鐘舵�佷负瀹℃牳閫氳繃鐨勫悎鍚�
+ *
+ * @param customerIds 瀹㈡埛缂栧彿闆嗗悎
+ * @return key锛氬鎴风紪鍙凤紝value锛氶噾棰濆悎璁°�傛病鏈夊凡绛捐鍚堝悓鐨勫鎴蜂笉鍦� map 涓�
+ */
+ Map<Long, BigDecimal> getContractPriceMapByCustomerIds(Collection<Long> customerIds);
+
+ /**
* 鏍规嵁鍟嗘満缂栧彿锛岃幏鍙栧叧鑱斿鎴风殑鍚堝悓鏁伴噺
*
* @param businessId 鍟嗘満缂栧彿
--
Gitblit v1.9.3