From 4bc513be11e671caf20ec6013a51dee42c2ed96e Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 07 十一月 2026 18:31:26 +0800
Subject: [PATCH] fix(crm): 禁止物料类合同开票
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java | 67 ++++++++++++++++++++++++++++++---
1 files changed, 60 insertions(+), 7 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 a3e6ba0..35121de 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
@@ -1,6 +1,9 @@
package cn.iocoder.yudao.module.crm.service.contract;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportExcelVO;
+import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportReqVO;
+import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportRespVO;
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.CrmContractTransferReqVO;
@@ -14,6 +17,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 +69,43 @@
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);
/**
- * 鏇存柊鍚堝悓娴佺▼瀹℃壒缁撴灉
+ * 鑾峰緱鍚堝悓瀹℃壒鐨勫鎵逛汉缂栧彿闆嗗悎
+ *
+ * 渚涘墠绔垽鏂綋鍓嶇櫥褰曠敤鎴锋槸鍚﹀簲灞曠ず銆屽鏍搞�嶆寜閽紱鏈厤缃椂杩斿洖绌洪泦鍚堛��
+ *
+ * @return 瀹℃壒浜虹敤鎴风紪鍙烽泦鍚�
+ */
+ Set<Long> getContractApproverUserIds();
+
+ /**
+ * 瀹℃牳鍚堝悓锛堝鎵逛腑 鈫� 瀹℃牳閫氳繃 / 瀹℃牳涓嶉�氳繃锛�
+ *
+ * 浠呬笟鍔$紪鐮� contract_approve 閰嶇疆鐨勫鎵逛汉鍙搷浣滐紙澶氫汉鏃舵垨绛撅級锛涘鏍镐笉閫氳繃鏃跺繀椤诲~鍐欎笉閫氳繃鍘熷洜銆�
+ *
+ * @param id 鍚堝悓缂栧彿
+ * @param pass 鏄惁閫氳繃锛歵rue=瀹℃牳閫氳繃 / false=瀹℃牳涓嶉�氳繃
+ * @param reviewRemark 瀹℃牳鎰忚锛堜笉閫氳繃鏃跺嵆涓嶉�氳繃鍘熷洜锛屽繀濉級
+ */
+ void auditContract(Long id, Boolean pass, String reviewRemark);
+
+ /**
+ * BPM 瀹℃壒缁撴潫鍚庡洖鍐欏悎鍚屽鏍哥姸鎬�
*
* @param id 鍚堝悓缂栧彿
- * @param bpmResult BPM 瀹℃壒缁撴灉
+ * @param bpmStatus BPM 瀹℃壒缁撴灉锛�2=閫氳繃 / 3=涓嶉�氳繃 / 4=鍙栨秷锛�
+ * @param reason 瀹℃壒鎰忚 / 鍙栨秷鍘熷洜
*/
- void updateContractAuditStatus(Long id, Integer bpmResult);
+ void updateContractAuditStatus(Long id, Integer bpmStatus, String reason);
/**
* 鑾峰緱鍚堝悓
@@ -211,4 +238,30 @@
*/
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);
+
+ /**
+ * 鎵归噺瀵煎叆鍚堝悓
+ *
+ * @param importContracts 瀵煎叆鍚堝悓鍒楄〃
+ * @param importReqVO 璇锋眰
+ * @return 瀵煎叆缁撴灉
+ */
+ CrmContractImportRespVO importContractList(List<CrmContractImportExcelVO> importContracts,
+ CrmContractImportReqVO importReqVO);
+
}
--
Gitblit v1.9.3