From 7d2ee3cef2e0d68ba6400bc5957640d2771bbf4c Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 16 九月 2026 18:05:40 +0800
Subject: [PATCH] refactor: 单据审核改为审批配置状态机(新增:audit接口/审核人字段/DB变更脚本)
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 48 insertions(+), 8 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 0d8964f..f13e9c1 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
@@ -14,6 +14,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
@@ -65,20 +66,34 @@
void updateContractFollowUp(Long id, LocalDateTime contactNextTime, String contactLastContent);
/**
- * 鍙戣捣鍚堝悓瀹℃壒娴佺▼
+ * 鎻愪氦鍚堝悓瀹℃壒锛堟湭鎻愪氦 / 瀹℃牳涓嶉�氳繃 鈫� 瀹℃壒涓級
*
- * @param id 鍚堝悓缂栧彿
- * @param userId 鐢ㄦ埛缂栧彿
+ * 瀹℃壒浜虹敱銆岀郴缁熺鐞� - 瀹℃壒閰嶇疆銆嶆寜涓氬姟绫诲瀷缁熶竴閰嶇疆锛堜笟鍔$紪鐮� contract_approve锛夛紝
+ * 鎻愪氦鏃舵棤闇�鎸囧畾锛涙湭鍚敤瀹℃壒鎴栨湭閰嶇疆鏈夋晥瀹℃壒浜烘椂鎶涘嚭涓氬姟寮傚父銆�
+ *
+ * @param id 鍚堝悓缂栧彿
*/
- void submitContract(Long id, Long userId);
+ void submitContract(Long id);
/**
- * 鏇存柊鍚堝悓娴佺▼瀹℃壒缁撴灉
+ * 鑾峰緱鍚堝悓瀹℃壒鐨勫鎵逛汉缂栧彿闆嗗悎
*
- * @param id 鍚堝悓缂栧彿
- * @param bpmResult BPM 瀹℃壒缁撴灉
+ * 渚涘墠绔垽鏂綋鍓嶇櫥褰曠敤鎴锋槸鍚﹀簲灞曠ず銆屽鏍搞�嶆寜閽紱鏈厤缃椂杩斿洖绌洪泦鍚堛��
+ *
+ * @return 瀹℃壒浜虹敤鎴风紪鍙烽泦鍚�
*/
- void updateContractAuditStatus(Long id, Integer bpmResult);
+ Set<Long> getContractApproverUserIds();
+
+ /**
+ * 瀹℃牳鍚堝悓锛堝鎵逛腑 鈫� 瀹℃牳閫氳繃 / 瀹℃牳涓嶉�氳繃锛�
+ *
+ * 浠呬笟鍔$紪鐮� contract_approve 閰嶇疆鐨勫鎵逛汉鍙搷浣滐紙澶氫汉鏃舵垨绛撅級锛涘鏍镐笉閫氳繃鏃跺繀椤诲~鍐欎笉閫氳繃鍘熷洜銆�
+ *
+ * @param id 鍚堝悓缂栧彿
+ * @param pass 鏄惁閫氳繃锛歵rue=瀹℃牳閫氳繃 / false=瀹℃牳涓嶉�氳繃
+ * @param reviewRemark 瀹℃牳鎰忚锛堜笉閫氳繃鏃跺嵆涓嶉�氳繃鍘熷洜锛屽繀濉級
+ */
+ void auditContract(Long id, Boolean pass, String reviewRemark);
/**
* 鑾峰緱鍚堝悓
@@ -202,4 +217,29 @@
*/
List<CrmContractDO> getContractListByCustomerIdOwnerUserId(Long customerId, Long ownerUserId);
+ /**
+ * 鏍规嵁鍚堝悓鐢熸垚閿�鍞鍗�
+ *
+ * @param id 鍚堝悓缂栧彿
+ * @param userId 鐢ㄦ埛缂栧彿
+ * @return 閿�鍞鍗曠紪鍙�
+ */
+ Long generateSaleOrder(Long id, Long userId);
+
+ /**
+ * 鏇存柊鍚堝悓鐘舵��
+ *
+ * @param id 鍚堝悓缂栧彿
+ * @param status 鐘舵��
+ */
+ void updateContractStatus(Long id, Integer status);
+
+ /**
+ * 鏍规嵁閿�鍞鍗曠紪鍙锋洿鏂板悎鍚岀姸鎬�
+ *
+ * @param orderId 閿�鍞鍗曠紪鍙�
+ * @param status 鐘舵��
+ */
+ void updateContractStatusByOrderId(Long orderId, Integer status);
+
}
--
Gitblit v1.9.3