Browse Source

1、合同编号唯一校验

dongpo 6 months ago
parent
commit
4a178bf1ad

+ 12 - 4
yudao-module-finance/yudao-module-contract-biz/src/main/java/cn/iocoder/yudao/module/contract/service/customercontract/CustomerContractServiceImpl.java

@@ -76,7 +76,7 @@ public class CustomerContractServiceImpl implements CustomerContractService {
         }
         String customerContractCode = createReqVO.getCustomerContractCode();
         if (StrUtil.isNotBlank(customerContractCode)) {
-            validateCustomerContractCode(customerContractCode);
+            validateCustomerContractCode(customerContractCode, createReqVO.getId());
         }
         String customerContractName = createReqVO.getCustomerContractName();
         if (StrUtil.isNotBlank(customerContractName)) {
@@ -137,9 +137,13 @@ public class CustomerContractServiceImpl implements CustomerContractService {
         }
     }
 
-    private void validateCustomerContractCode(String customerContractCode) {
-        Long aLong = customerContractMapper.selectCount(CustomerContractDO::getCustomerContractCode, customerContractCode);
-        if (aLong > 0) {
+    private void validateCustomerContractCode(String customerContractCode, Long id) {
+        LambdaQueryWrapper<CustomerContractDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(CustomerContractDO::getCustomerContractCode, customerContractCode);
+        if (Objects.nonNull(id)) {
+            lambdaQueryWrapper.ne(CustomerContractDO::getId, id);
+        }
+        if (customerContractMapper.selectCount(lambdaQueryWrapper) > 0) {
             throw exception(CUSTOMER_CONTRACT_CODE_EXISTS);
         }
     }
@@ -148,6 +152,10 @@ public class CustomerContractServiceImpl implements CustomerContractService {
     public void updateCustomerContract(CustomerContractSaveReqVO updateReqVO) {
         // 校验存在
         CustomerContractDO customerContractDO = validateCustomerContractExists(updateReqVO.getId());
+        String customerContractCode = updateReqVO.getCustomerContractCode();
+        if (StrUtil.isNotBlank(customerContractCode)) {
+            validateCustomerContractCode(customerContractCode, updateReqVO.getId());
+        }
         String customerContractName = updateReqVO.getCustomerContractName();
         if (StrUtil.isNotBlank(customerContractName)) {
             validateCustomerContractName(customerContractName, updateReqVO.getId());

+ 12 - 4
yudao-module-finance/yudao-module-contract-biz/src/main/java/cn/iocoder/yudao/module/contract/service/suppliercontract/SupplierContractServiceImpl.java

@@ -73,7 +73,7 @@ public class SupplierContractServiceImpl implements SupplierContractService {
         }
         String supplierContractCode = createReqVO.getSupplierContractCode();
         if (StrUtil.isNotBlank(supplierContractCode)) {
-            validateSupplierContractCode(supplierContractCode);
+            validateSupplierContractCode(supplierContractCode, createReqVO.getId());
         }
         String supplierContractName = createReqVO.getSupplierContractName();
         if (StrUtil.isNotBlank(supplierContractName)) {
@@ -134,9 +134,13 @@ public class SupplierContractServiceImpl implements SupplierContractService {
         }
     }
 
-    private void validateSupplierContractCode(String supplierContractCode) {
-        Long aLong = supplierContractMapper.selectCount(SupplierContractDO::getSupplierContractCode, supplierContractCode);
-        if (aLong > 0) {
+    private void validateSupplierContractCode(String supplierContractCode, Long id) {
+        LambdaQueryWrapper<SupplierContractDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SupplierContractDO::getSupplierContractCode, supplierContractCode);
+        if (Objects.nonNull(id)) {
+            lambdaQueryWrapper.ne(SupplierContractDO::getId, id);
+        }
+        if (supplierContractMapper.selectCount(lambdaQueryWrapper) > 0) {
             throw exception(SUPPLIER_CONTRACT_CODE_EXISTS);
         }
     }
@@ -149,6 +153,10 @@ public class SupplierContractServiceImpl implements SupplierContractService {
         if (StrUtil.isNotBlank(supplierContractName)) {
             validateSupplierContractName(supplierContractName, updateReqVO.getId());
         }
+        String supplierContractCode = updateReqVO.getSupplierContractCode();
+        if (StrUtil.isNotBlank(supplierContractCode)) {
+            validateSupplierContractCode(supplierContractCode, updateReqVO.getId());
+        }
         String startDate = updateReqVO.getStartDate();
         String endDate = updateReqVO.getEndDate();
         if (StrUtil.isNotBlank(startDate) && StrUtil.isNotBlank(endDate)) {