diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index aa64a140..03e4569d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -467,9 +467,13 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl queryPayCompanyManagement = new LambdaQueryWrapper<>(); queryPayCompanyManagement.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); + queryPayCompanyManagement.eq(PayCompanyManagement::getDutyCode,payCompanyManagement.getDutyCode()); queryPayCompanyManagement.last("limit 1"); List listPayCompanyManagement = payCompanyManagementService.list(queryPayCompanyManagement); String phone = PasswordUtil.encrypt(payContactsManagement.getPhone()); @@ -524,6 +528,31 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl checkPayCompanyManagement = new LambdaQueryWrapper<>(); + checkPayCompanyManagement.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()) + .or() + .eq(PayCompanyManagement::getDutyCode,payCompanyManagement.getDutyCode()); + List list = payCompanyManagementService.list(checkPayCompanyManagement); + + if(list != null && list.size()>1){ + //一组名称、代码应该最多匹配到一个企业 + throw new JeroBootException("企业名称和信用代码在已有数据中不匹配"); + } + + if(list != null && list.size()==1){ + PayCompanyManagement oldCompany = list.get(0); + if(!payCompanyManagement.getCompanyName().equals(oldCompany.getCompanyName()) + ||!payCompanyManagement.getDutyCode().equals(oldCompany.getDutyCode())){ + throw new JeroBootException("企业名称和信用代码在已有数据中不匹配"); + } + } + } + /** * @Description 批量更新数据 * @Author lqt