|
@@ -80,16 +80,7 @@ public class VppCustomerServiceImpl implements VppCustomerService {
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean submitAccess(CustomerAccessRequestVO request) {
|
|
public Boolean submitAccess(CustomerAccessRequestVO request) {
|
|
|
validateAccessRequest(request);
|
|
validateAccessRequest(request);
|
|
|
-
|
|
|
|
|
- // 校验同租户下 accountNo 唯一
|
|
|
|
|
- LambdaQueryWrapper<VppCustomerAccess> dupWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- dupWrapper.eq(VppCustomerAccess::getAccountNo, request.getAccountNo())
|
|
|
|
|
- .eq(VppCustomerAccess::getTenantId, SecurityUtils.getTenantId())
|
|
|
|
|
- .eq(VppCustomerAccess::getDeleteFlag, VppAuditHelper.NOT_DELETED);
|
|
|
|
|
- Integer accessCount = accessMapper.selectCount(dupWrapper);
|
|
|
|
|
- if (accessCount != null && accessCount > 0) {
|
|
|
|
|
- throw new BusinessException("该电力户号已存在准入申请,请勿重复提交!");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ checkCustomerNameUnique(request.getCustomerName(), null);
|
|
|
|
|
|
|
|
VppCustomerAccess access = new VppCustomerAccess();
|
|
VppCustomerAccess access = new VppCustomerAccess();
|
|
|
access.setApplyNo(VppAuditHelper.nextApplyNo());
|
|
access.setApplyNo(VppAuditHelper.nextApplyNo());
|
|
@@ -214,16 +205,7 @@ public class VppCustomerServiceImpl implements VppCustomerService {
|
|
|
if (access.getAccessStatus() != ACCESS_REJECTED) {
|
|
if (access.getAccessStatus() != ACCESS_REJECTED) {
|
|
|
throw new BusinessException("仅已驳回的准入申请允许修改!");
|
|
throw new BusinessException("仅已驳回的准入申请允许修改!");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- LambdaQueryWrapper<VppCustomerAccess> dupWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- dupWrapper.eq(VppCustomerAccess::getAccountNo, request.getAccountNo())
|
|
|
|
|
- .eq(VppCustomerAccess::getTenantId, SecurityUtils.getTenantId())
|
|
|
|
|
- .eq(VppCustomerAccess::getDeleteFlag, VppAuditHelper.NOT_DELETED)
|
|
|
|
|
- .ne(VppCustomerAccess::getId, request.getId());
|
|
|
|
|
- Integer accessCount = accessMapper.selectCount(dupWrapper);
|
|
|
|
|
- if (accessCount != null && accessCount > 0) {
|
|
|
|
|
- throw new BusinessException("该电力户号已存在准入申请,请勿重复提交!");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ checkCustomerNameUnique(request.getCustomerName(), null);
|
|
|
|
|
|
|
|
access.setAccountNo(request.getAccountNo());
|
|
access.setAccountNo(request.getAccountNo());
|
|
|
access.setCustomerName(request.getCustomerName());
|
|
access.setCustomerName(request.getCustomerName());
|
|
@@ -415,7 +397,8 @@ public class VppCustomerServiceImpl implements VppCustomerService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 电力户号全局唯一校验
|
|
// 电力户号全局唯一校验
|
|
|
- checkAccountNoUnique(vo.getAccountNo(), null);
|
|
|
|
|
|
|
+ // checkAccountNoUnique(vo.getAccountNo(), null);
|
|
|
|
|
+ checkCustomerNameUnique(vo.getAccountNo(), null);
|
|
|
|
|
|
|
|
// 构建客户
|
|
// 构建客户
|
|
|
VppCustomer customer = new VppCustomer();
|
|
VppCustomer customer = new VppCustomer();
|
|
@@ -591,7 +574,7 @@ public class VppCustomerServiceImpl implements VppCustomerService {
|
|
|
// 仅更新非空字段
|
|
// 仅更新非空字段
|
|
|
if (StringUtils.isNotBlank(vo.getAccountNo())) {
|
|
if (StringUtils.isNotBlank(vo.getAccountNo())) {
|
|
|
if (!vo.getAccountNo().equals(existing.getAccountNo())) {
|
|
if (!vo.getAccountNo().equals(existing.getAccountNo())) {
|
|
|
- checkAccountNoUnique(vo.getAccountNo(), id);
|
|
|
|
|
|
|
+ // checkAccountNoUnique(vo.getAccountNo(), id);
|
|
|
}
|
|
}
|
|
|
existing.setAccountNo(vo.getAccountNo());
|
|
existing.setAccountNo(vo.getAccountNo());
|
|
|
}
|
|
}
|
|
@@ -1044,10 +1027,25 @@ public class VppCustomerServiceImpl implements VppCustomerService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void validateAccessRequest(CustomerAccessRequestVO request) {
|
|
|
|
|
- if (request == null || StringUtils.isBlank(request.getAccountNo())) {
|
|
|
|
|
- throw new BusinessException("电力户号不能为空!");
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 客户名称全局唯一校验(当前租户)
|
|
|
|
|
+ */
|
|
|
|
|
+ private void checkCustomerNameUnique(String customerName, Long excludeId) {
|
|
|
|
|
+ LambdaQueryWrapper<VppCustomer> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(VppCustomer::getCustomerName, customerName)
|
|
|
|
|
+ .eq(VppCustomer::getTenantId, SecurityUtils.getTenantId())
|
|
|
|
|
+ .eq(VppCustomer::getDeleteFlag, VppAuditHelper.NOT_DELETED)
|
|
|
|
|
+ .ne(excludeId != null, VppCustomer::getId, excludeId);
|
|
|
|
|
+ Integer count = customerMapper.selectCount(wrapper);
|
|
|
|
|
+ if (count != null && count > 0) {
|
|
|
|
|
+ throw new BusinessException("客户名称已存在,请更换!");
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void validateAccessRequest(CustomerAccessRequestVO request) {
|
|
|
|
|
+ // if (request == null || StringUtils.isBlank(request.getAccountNo())) {
|
|
|
|
|
+ // throw new BusinessException("电力户号不能为空!");
|
|
|
|
|
+ // }
|
|
|
if (StringUtils.isBlank(request.getCustomerName())) {
|
|
if (StringUtils.isBlank(request.getCustomerName())) {
|
|
|
throw new BusinessException("客户名称不能为空!");
|
|
throw new BusinessException("客户名称不能为空!");
|
|
|
}
|
|
}
|