From 317c0053ddb123512f997ef5ada5e30dec60830a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 03 八月 2026 14:21:54 +0800
Subject: [PATCH] 删除合同的时候同步更新报价的状态
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 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 6518016..88705a1 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
@@ -19,6 +19,8 @@
import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractConfigDO;
import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO;
import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractProductDO;
+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.mysql.contract.CrmContractMapper;
import cn.iocoder.yudao.module.crm.dal.mysql.contract.CrmContractProductMapper;
import cn.iocoder.yudao.module.crm.dal.redis.no.CrmNoRedisDAO;
@@ -28,10 +30,12 @@
import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission;
import cn.iocoder.yudao.module.crm.service.business.CrmBusinessService;
import cn.iocoder.yudao.module.crm.service.contact.CrmContactService;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
import cn.iocoder.yudao.module.crm.service.customer.CrmCustomerService;
import cn.iocoder.yudao.module.crm.service.permission.CrmPermissionService;
import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionCreateReqBO;
import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionTransferReqBO;
+import cn.iocoder.yudao.module.crm.service.quotation.CrmSaleQuotationService;
import cn.iocoder.yudao.module.crm.service.receivable.CrmReceivableService;
import cn.iocoder.yudao.module.erp.api.sale.ErpSaleOrderApi;
import cn.iocoder.yudao.module.erp.api.sale.dto.ErpSaleOrderCreateReqDTO;
@@ -100,6 +104,8 @@
@Resource
private CrmCustomerService customerService;
@Resource
+ private CrmCustomerApi customerApi;
+ @Resource
private CrmBusinessService businessService;
@Resource
private CrmContactService contactService;
@@ -120,6 +126,9 @@
private ErpSaleOrderApi saleOrderApi;
@Resource
private MdmItemApi mdmItemApi;
+ @Resource
+ @Lazy // 寤惰繜鍔犺浇锛岄伩鍏嶅惊鐜緷璧栵紙quotation 鍐呴儴寮曠敤浜� contractService锛�
+ private CrmSaleQuotationService crmSaleQuotationService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -271,6 +280,11 @@
// 2.1 鍒犻櫎鍚堝悓
contractMapper.deleteById(id);
+ // 2.2 鍒犻櫎鍚堝悓鏃讹紝瑙i櫎鍏宠仈鐨勬姤浠峰崟寮曠敤
+ CrmSaleQuotationDO quotation = crmSaleQuotationService.getByContractId(id);
+ if (quotation != null) {
+ crmSaleQuotationService.clearContractReference(quotation.getId());
+ }
// 2.2 鍒犻櫎鏁版嵁鏉冮檺
crmPermissionService.deletePermission(CrmBizTypeEnum.CRM_CONTRACT.getType(), id);
@@ -468,8 +482,10 @@
return PageResult.empty();
}
}
- // 2. 鏌ヨ鍒嗛〉
- return contractMapper.selectPage(pageReqVO, userId, config);
+ // 2. 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
+ List<Long> permittedCustomerIds = customerApi.getPermittedCustomerIds();
+ // 3. 鏌ヨ鍒嗛〉
+ return contractMapper.selectPage(pageReqVO, userId, config, permittedCustomerIds);
}
@Override
--
Gitblit v1.9.3