From 7c147563da9bdfaf1fdc9a7035f89b31a9a39b79 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 02 十二月 2025 18:07:49 +0800
Subject: [PATCH] 修改分公司
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmBranchServiceImpl.java | 78 +++++++++++++++++++++++++++++++--------
1 files changed, 62 insertions(+), 16 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmBranchServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmBranchServiceImpl.java
index d798e3e..f1df163 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmBranchServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmBranchServiceImpl.java
@@ -93,21 +93,37 @@
return R.fail(dto.getPhone()+"-账号已存在");
}
List<TCrmBranchArea> branchAreas = dto.getBranchAreas();
- // 判断是否已存在这些区域
- if(!CollectionUtils.isEmpty(branchAreas)){
- List<String> branchAreaCityCodes = branchAreas.stream().map(TCrmBranchArea::getCityCode).collect(Collectors.toList());
-
+ if(dto.getPersonType() != 1 && CollectionUtils.isEmpty(branchAreas)){
+ return R.fail("请选择管辖区域");
+ }
+ List<TCrmBranchArea> responsibleBranchAreas = dto.getResponsibleBranchAreas();
+ if(dto.getPersonType() != 3 && CollectionUtils.isEmpty(responsibleBranchAreas)){
+ return R.fail("请选择负责区域");
+ }
+ if(dto.getPersonType() != 3){
+ // 判断是否已存在这些区域
+ List<String> branchAreaCityCodes = responsibleBranchAreas.stream().map(TCrmBranchArea::getCityCode).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(branchAreaCityCodes)){
- long count = crmBranchAreaService.count(Wrappers.lambdaQuery(TCrmBranchArea.class).in(TCrmBranchArea::getCityCode, branchAreaCityCodes));
+ long count = crmBranchAreaService.count(Wrappers.lambdaQuery(TCrmBranchArea.class)
+ .in(TCrmBranchArea::getCityCode, branchAreaCityCodes)
+ .eq(TCrmBranchArea::getAreaType,1));
if(count > 0){
- return R.fail("区域已存在");
+ return R.fail("负责区域已存在");
}
}
}
this.save(dto);
// 添加区域
- branchAreas.forEach(t -> t.setBranchId(dto.getId()));
+ for (TCrmBranchArea branchArea : branchAreas) {
+ branchArea.setBranchId(dto.getId());
+ branchArea.setAreaType(2);
+ }
+ for (TCrmBranchArea responsibleBranchArea : responsibleBranchAreas) {
+ responsibleBranchArea.setBranchId(dto.getId());
+ responsibleBranchArea.setAreaType(1);
+ }
+ branchAreas.addAll(responsibleBranchAreas);
crmBranchAreaService.saveBatch(branchAreas);
// 添加职位薪资
List<TCrmBranchSalary> branchSalaries = dto.getBranchSalaries();
@@ -152,20 +168,40 @@
}
SysUser user = sysUserService.selectUserById(dto.getUserId());
List<TCrmBranchArea> branchAreas = dto.getBranchAreas();
- // 判断是否已存在这些区域
- if(!CollectionUtils.isEmpty(branchAreas)){
- List<String> branchAreaCityCodes = branchAreas.stream().map(TCrmBranchArea::getCityCode).collect(Collectors.toList());
- long count = crmBranchAreaService.count(Wrappers.lambdaQuery(TCrmBranchArea.class).in(TCrmBranchArea::getCityCode, branchAreaCityCodes)
- .ne(TCrmBranchArea::getBranchId, dto.getId()));
- if(count > 0){
- return R.fail("区域存在重复");
+ if(dto.getPersonType() != 1 && CollectionUtils.isEmpty(branchAreas)){
+ return R.fail("请选择管辖区域");
+ }
+ List<TCrmBranchArea> responsibleBranchAreas = dto.getResponsibleBranchAreas();
+ if(dto.getPersonType() != 3 && CollectionUtils.isEmpty(responsibleBranchAreas)){
+ return R.fail("请选择负责区域");
+ }
+ if(dto.getPersonType() != 3){
+ // 判断是否已存在这些区域
+ List<String> branchAreaCityCodes = responsibleBranchAreas.stream().map(TCrmBranchArea::getCityCode).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(branchAreaCityCodes)){
+ long count = crmBranchAreaService.count(Wrappers.lambdaQuery(TCrmBranchArea.class)
+ .in(TCrmBranchArea::getCityCode, branchAreaCityCodes)
+ .eq(TCrmBranchArea::getAreaType,1)
+ .ne(TCrmBranchArea::getBranchId, dto.getId()));
+ if(count > 0){
+ return R.fail("负责区域已存在");
+ }
}
}
this.updateById(dto);
// 删除区域
crmBranchAreaService.remove(Wrappers.lambdaQuery(TCrmBranchArea.class).eq(TCrmBranchArea::getBranchId, dto.getId()));
// 添加区域
- branchAreas.forEach(t -> t.setBranchId(dto.getId()));
+ // 添加区域
+ for (TCrmBranchArea branchArea : branchAreas) {
+ branchArea.setBranchId(dto.getId());
+ branchArea.setAreaType(2);
+ }
+ for (TCrmBranchArea responsibleBranchArea : responsibleBranchAreas) {
+ responsibleBranchArea.setBranchId(dto.getId());
+ responsibleBranchArea.setAreaType(1);
+ }
+ branchAreas.addAll(responsibleBranchAreas);
crmBranchAreaService.saveBatch(branchAreas);
// 删除职位薪资
crmBranchSalaryService.remove(Wrappers.lambdaQuery(TCrmBranchSalary.class).eq(TCrmBranchSalary::getBranchId, dto.getId()));
@@ -219,13 +255,23 @@
.in(TCrmBranchSalary::getBranchId, branchIds));
for (TCrmBranchExport crmBranchExport : list) {
List<TCrmBranchArea> tCrmBranchAreas = crmBranchAreaList.stream().filter(t -> t.getBranchId().equals(crmBranchExport.getId())).collect(Collectors.toList());
+ // 管辖区域
StringBuilder stringBuilder = new StringBuilder();
+ // 特殊区域
+ StringBuilder stringBuilderResponsible = new StringBuilder();
for (TCrmBranchArea tCrmBranchArea : tCrmBranchAreas) {
- stringBuilder.append(tCrmBranchArea.getProvinceName()).append("-").append(tCrmBranchArea.getCityName()).append(",");
+ if(tCrmBranchArea.getAreaType() == 1){
+ stringBuilderResponsible.append(tCrmBranchArea.getProvinceName()).append("-").append(tCrmBranchArea.getCityName()).append(",");
+ }else {
+ stringBuilder.append(tCrmBranchArea.getProvinceName()).append("-").append(tCrmBranchArea.getCityName()).append(",");
+ }
}
// 去除','
stringBuilder.deleteCharAt(stringBuilder.length()-1);
crmBranchExport.setAreaNames(stringBuilder.toString());
+
+ stringBuilderResponsible.deleteCharAt(stringBuilderResponsible.length()-1);
+ crmBranchExport.setResponsibleAreaNames(stringBuilderResponsible.toString());
// 职位薪资
List<TCrmBranchSalary> crmBranchSalariesList = crmBranchSalaries.stream().filter(t -> t.getBranchId().equals(crmBranchExport.getId())).collect(Collectors.toList());
crmBranchExport.setCrmBranchSalaries(crmBranchSalariesList);
--
Gitblit v1.7.1