From a1dfce6c7266bf922ab913a922219a554f71ade2 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 12 十月 2026 18:27:00 +0800
Subject: [PATCH] 宁夏万通需求:CRM 开票新增时客户、合同改为非必填
---
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java
index d8df5d2..0216598 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java
@@ -26,6 +26,7 @@
import cn.iocoder.yudao.module.crm.enums.permission.CrmPermissionLevelEnum;
import cn.iocoder.yudao.module.crm.framework.permission.core.annotations.CrmPermission;
import cn.iocoder.yudao.module.crm.service.contract.CrmContractService;
+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.system.api.storage.StorageAttachmentApi;
@@ -84,6 +85,8 @@
@Resource
private CrmContractService contractService;
+ @Resource
+ private CrmCustomerService customerService;
@Resource
private CrmPermissionService permissionService;
@@ -347,6 +350,10 @@
}
private void validateInvoicePriceExceedsLimit(CrmInvoiceSaveReqVO reqVO) {
+ // 鏈叧鑱斿悎鍚岀殑锛堝悎鍚岄潪蹇呭~锛夛紝涓嶅崰鐢ㄤ换浣曞悎鍚岀殑寮�绁ㄩ搴︼紝鏃犻渶鏍¢獙涓婇檺
+ if (reqVO.getContractId() == null) {
+ return;
+ }
// 1. 璁$畻鍓╀綑鍙紑绁ㄩ噾棰濓紝涓嶅寘鎷� reqVO 鑷韩锛堝鎵逛腑涔熷崰鐢ㄩ搴︼紝闃叉绱寮�绁ㄨ秴杩囧悎鍚岄噾棰濓級
CrmContractDO contract = contractService.validateContract(reqVO.getContractId());
BigDecimal notInvoicePrice = getRemainingInvoicePrice(contract, reqVO.getId());
@@ -376,6 +383,9 @@
if (reqVO.getOwnerUserId() != null) {
adminUserApi.validateUser(reqVO.getOwnerUserId()); // 鏍¢獙璐熻矗浜哄瓨鍦�
}
+ if (reqVO.getCustomerId() != null) {
+ customerService.validateCustomer(reqVO.getCustomerId()); // 鏍¢獙瀹㈡埛瀛樺湪
+ }
if (reqVO.getContractId() != null) {
CrmContractDO contract = contractService.validateContract(reqVO.getContractId());
if (ObjectUtil.notEqual(contract.getAuditStatus(), CrmAuditStatusEnum.APPROVE.getStatus())) {
--
Gitblit v1.9.3