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/CrmContractServiceImpl.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
index ab35cf8..7936917 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
@@ -553,6 +553,15 @@
         }
 
         // 2. 鏍¢獙鍒嗙被鍜屾祦绋嬪畾涔夋槸鍚﹀瓨鍦�
+        // 鍏ㄥ眬鍏嶅鎵癸細涓氬姟鏍¢獙閫氳繃鍚庣洿鎺ユ墽琛屽鎵归�氳繃閫昏緫锛屾棤闇�娴佺▼妯″瀷銆�
+        if (bpmProcessInstanceApi.isGlobalAutoApprove()) {
+            contractMapper.updateById(new CrmContractDO().setId(id).setProcessInstanceId("")
+                    .setAuditStatus(CrmAuditStatusEnum.PROCESS.getStatus()));
+            updateContractAuditStatus(id, cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum.APPROVE.getStatus());
+            LogRecordContext.putVariable("contractName", contract.getName());
+            return;
+        }
+
         validateContractApproveCategoryAndProcessDefinition();
 
         // 3. 鏍¢獙浼犲叆鐨勬祦绋嬪畾涔� Key 鏄惁灞炰簬璇ュ垎绫讳笖澶勪簬婵�娲荤姸鎬�
@@ -728,6 +737,16 @@
     }
 
     @Override
+    public Map<Long, Long> getContractCountMapByCustomerIds(Collection<Long> customerIds) {
+        return contractMapper.selectContractCountMapByCustomerIds(customerIds);
+    }
+
+    @Override
+    public Map<Long, BigDecimal> getContractPriceMapByCustomerIds(Collection<Long> customerIds) {
+        return contractMapper.selectContractPriceMapByCustomerIds(customerIds);
+    }
+
+    @Override
     public List<CrmContractProductDO> getContractProductListByContractId(Long contactId) {
         return contractProductMapper.selectListByContractId(contactId);
     }

--
Gitblit v1.9.3