From a82d847bbb39e2417d4c9773ebc4fc51fdb0b8fc Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 10 十一月 2026 13:31:31 +0800
Subject: [PATCH] feat(crm): 完善投标保证金与报价单关联及作废功能
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationService.java | 85 +++++++++++++++++++++++++++++-------------
1 files changed, 59 insertions(+), 26 deletions(-)
diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationService.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationService.java
index 3170988..3870f1d 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationService.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/quotation/CrmSaleQuotationService.java
@@ -5,15 +5,15 @@
import cn.iocoder.yudao.module.crm.controller.admin.quotation.vo.CrmSaleQuotationSaveReqVO;
import cn.iocoder.yudao.module.crm.dal.dataobject.quotation.CrmSaleQuotationDO;
import cn.iocoder.yudao.module.crm.dal.dataobject.quotation.CrmSaleQuotationProductDO;
+import cn.iocoder.yudao.module.crm.dal.dataobject.quotation.CrmSaleQuotationRevisionDO;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
/**
* CRM 閿�鍞姤浠峰崟 Service 鎺ュ彛
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
public interface CrmSaleQuotationService {
@@ -47,6 +47,30 @@
* @return 閿�鍞姤浠峰崟
*/
CrmSaleQuotationDO getSaleQuotation(Long id);
+
+ /**
+ * 鎻愪氦閿�鍞姤浠峰崟瀹℃壒
+ *
+ * @param id 缂栧彿
+ * @param processDefinitionKey 娴佺▼瀹氫箟 Key
+ * @param userId 鐢ㄦ埛缂栧彿
+ */
+ void submitSaleQuotation(Long id, String processDefinitionKey, Long userId);
+
+ /**
+ * 鏇存柊閿�鍞姤浠峰崟瀹℃壒缁撴灉
+ *
+ * @param id 缂栧彿
+ * @param bpmResult BPM 瀹℃壒缁撴灉
+ */
+ void updateSaleQuotationAuditStatus(Long id, Integer bpmResult);
+
+ /**
+ * 鑾峰彇閿�鍞姤浠峰鎵瑰彲鐢ㄧ殑娴佺▼瀹氫箟鍒楄〃
+ *
+ * @return 娴佺▼瀹氫箟鍒楄〃
+ */
+ java.util.List<java.util.Map<String, Object>> getSaleQuotationApproveProcessDefinitionList();
/**
* 鑾峰緱閿�鍞姤浠峰崟鍒嗛〉
@@ -90,30 +114,6 @@
List<CrmSaleQuotationProductDO> getSaleQuotationProductListByQuotationIds(Collection<Long> quotationIds);
/**
- * 鎻愪氦閿�鍞姤浠峰崟瀹℃壒
- *
- * @param id 鎶ヤ环鍗曠紪鍙�
- * @param processDefinitionKey 娴佺▼瀹氫箟 Key
- * @param userId 鐢ㄦ埛缂栧彿
- */
- void submitSaleQuotation(Long id, String processDefinitionKey, Long userId);
-
- /**
- * 鏇存柊閿�鍞姤浠峰崟瀹℃壒鐘舵��
- *
- * @param id 鎶ヤ环鍗曠紪鍙�
- * @param bpmResult BPM 瀹℃壒缁撴灉
- */
- void updateSaleQuotationAuditStatus(Long id, Integer bpmResult);
-
- /**
- * 鑾峰彇閿�鍞姤浠峰鎵规祦绋嬪垪琛�
- *
- * @return 娴佺▼瀹氫箟鍒楄〃
- */
- List<Map<String, Object>> getSaleQuotationApproveProcessDefinitionList();
-
- /**
* 杞负鍚堝悓
*
* @param id 鎶ヤ环鍗曠紪鍙�
@@ -122,4 +122,37 @@
*/
Long convertToContract(Long id, Long userId);
+ CrmSaleQuotationDO getByContractId(Long id);
+
+ /**
+ * 娓呴櫎鎶ヤ环鍗曠殑鍚堝悓鍏宠仈锛堝垹闄ゅ悎鍚屾椂璋冪敤锛�
+ *
+ * @param quotationId 鎶ヤ环鍗曠紪鍙�
+ */
+ void clearContractReference(Long quotationId);
+
+ /**
+ * 鎵嬪姩浣滃簾鎶ヤ环鍗�
+ *
+ * @param id 鎶ヤ环鍗曠紪鍙�
+ * @param reason 浣滃簾鍘熷洜
+ */
+ void voidSaleQuotation(Long id, String reason);
+
+ /**
+ * 鑾峰緱鎶ヤ环鍗曠殑杞娴佹按鍒楄〃
+ *
+ * @param quotationId 鎶ヤ环鍗曠紪鍙�
+ * @return 杞娴佹按鍒楄〃
+ */
+ List<CrmSaleQuotationRevisionDO> getSaleQuotationRevisionList(Long quotationId);
+
+ /**
+ * 鑾峰緱瀹㈡埛涓嬪彲缁戝畾鎶曟爣鐨勬姤浠峰崟鍒楄〃锛堣崏绋�/瀹℃壒閫氳繃/瀹℃壒涓嶉�氳繃锛屼笖鏈鍏朵粬鎶曟爣缁戝畾锛�
+ *
+ * @param customerId 瀹㈡埛缂栧彿
+ * @param bidBondId 褰撳墠鎶曟爣缂栧彿锛堢紪杈戞椂鐢ㄤ簬淇濈暀鑷韩宸茬粦瀹氱殑鎶ヤ环鍗曪級
+ * @return 鎶ヤ环鍗曞垪琛�
+ */
+ List<CrmSaleQuotationDO> getBindableQuotationList(Long customerId, Long bidBondId);
}
\ No newline at end of file
--
Gitblit v1.9.3