Browse Source

难点堵点-组织下拉框"mynextagency-multic"v2

dev_shibei_match
yinzuomei 4 years ago
parent
commit
57e78be08b
  1. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridDTO.java
  2. 3
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java
  3. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java
  4. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java
  5. 29
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridDTO.java

@ -17,9 +17,10 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -114,5 +115,5 @@ public class ScreenCustomerGridDTO implements Serializable {
private String allParentIds;
private String pid;
private String pids;
private String areaCode;
}

3
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java

@ -3,7 +3,6 @@ package com.epmet.project.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 难点赌点-当前登录人员本级一级下一级组织机构/网格 返参DTO
@ -30,5 +29,5 @@ public class ProjectNextAgencyResultDTO implements Serializable {
* */
private String orgType;
private String areaCode;
}

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java

@ -138,7 +138,7 @@ public class ProjectController {
**/
@PostMapping("mynextagency-multic")
public Result<List<ProjectNextAgencyResultDTO>> myNextAgencyMultic(@LoginUser TokenDto tokenDto){
return new Result<List<ProjectNextAgencyResultDTO>>().ok(projectService.myNextAgencyMultic(tokenDto.getUserId()));
return new Result<List<ProjectNextAgencyResultDTO>>().ok(projectService.myNextAgencyMultic(tokenDto.getUserId(),tokenDto.getCustomerId()));
}
/**

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java

@ -87,7 +87,8 @@ public interface ProjectService {
* 210622: 新增此API 后端改为从指标库取值 保证平阴县的工作人员看到的下拉框是平阴县以及8个街道
*
* @param staffId 当前登录用户id
* @param currentCustomerId 当前客户id
* @return com.epmet.project.dto.result.ProjectNextAgencyResultDTO
*/
List<ProjectNextAgencyResultDTO> myNextAgencyMultic(String staffId);
List<ProjectNextAgencyResultDTO> myNextAgencyMultic(String staffId,String currentCustomerId);
}

29
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java

@ -403,10 +403,14 @@ public class ProjectServiceImpl implements ProjectService {
* 210622: 新增此API 后端改为从指标库取值 保证平阴县的工作人员看到的下拉框是平阴县以及8个街道
*
* @param staffId 当前登录用户id
* @param currentCustomerId 当前客户id
* @return com.epmet.project.dto.result.ProjectNextAgencyResultDTO
*/
@Override
public List<ProjectNextAgencyResultDTO> myNextAgencyMultic(String staffId) {
public List<ProjectNextAgencyResultDTO> myNextAgencyMultic(String staffId,String currentCustomerId) {
//多客户测试写死值,别忘了注释掉呀
// staffId="3f04e397cc226e4e2f2531ac4363e3f9";
// currentCustomerId="613cc61a6b8ce4c70d21bd413dac72cc";
//1、当前工作人员所属组织信息
Result<CustomerAgencyDTO> staffResult = govOrgOpenFeignClient.getAgencyByStaff(staffId);
if (!staffResult.success() || null == staffResult.getData()) {
@ -417,26 +421,45 @@ public class ProjectServiceImpl implements ProjectService {
staffAgency.setOrgId(staffResult.getData().getId());
staffAgency.setOrgName(staffResult.getData().getOrganizationName());
staffAgency.setOrgType("agency");
staffAgency.setAreaCode(staffResult.getData().getAreaCode());
resultList.add(staffAgency);
//2、查询指标库当前组织的下级组织
List<ScreenCustomerAgencyDTO> agencyDTOList = screenAgencyService.queryNextAgencyList(staffResult.getData().getAreaCode(), StrConstant.EPMETY_STR);
List<ScreenCustomerAgencyDTO> agencyDTOList =new ArrayList<>();
Result<List<String>> crmRes = operCrmOpenFeignClient.getAllSubCustomerIds(currentCustomerId);
if (crmRes.success() && CollectionUtils.isNotEmpty(crmRes.getData())) {
log.warn("❤当前客户存在子客户❤");
//如果包含子客户,则根据areaCode查询下一级
agencyDTOList = screenAgencyService.queryNextAgencyList(staffResult.getData().getAreaCode(), StrConstant.EPMETY_STR);
} else {
//当前客户没有子客户,根据agencyId查询下一级组织
agencyDTOList = screenAgencyService.queryNextAgencyList(StrConstant.EPMETY_STR, staffResult.getData().getId());
}
if (CollectionUtils.isNotEmpty(agencyDTOList)) {
agencyDTOList.forEach(agencyDTO -> {
ProjectNextAgencyResultDTO nextAgency = new ProjectNextAgencyResultDTO();
nextAgency.setOrgId(agencyDTO.getAgencyId());
nextAgency.setOrgName(agencyDTO.getAgencyName());
nextAgency.setOrgType("agency");
nextAgency.setAreaCode(agencyDTO.getAreaCode());
resultList.add(nextAgency);
});
}
//3、查询指标库当前组织的下级网格
List<ScreenCustomerGridDTO> gridList = screenAgencyService.queryGridList(staffResult.getData().getAreaCode(), StrConstant.EPMETY_STR);
List<ScreenCustomerGridDTO> gridList = new ArrayList<>();
if (crmRes.success() && CollectionUtils.isNotEmpty(crmRes.getData())) {
//如果包含子客户,则根据areaCode查询下一级网格
gridList=screenAgencyService.queryGridList(staffResult.getData().getAreaCode(), StrConstant.EPMETY_STR);
} else {
//当前客户没有子客户,根据agencyId查询下一级网格
gridList=screenAgencyService.queryGridList(StrConstant.EPMETY_STR,staffResult.getData().getId());
}
if (CollectionUtils.isNotEmpty(gridList)) {
gridList.forEach(gridDTO -> {
ProjectNextAgencyResultDTO grid = new ProjectNextAgencyResultDTO();
grid.setOrgId(gridDTO.getGridId());
grid.setOrgName(gridDTO.getGridName());
grid.setOrgType("grid");
grid.setAreaCode(gridDTO.getAreaCode());
resultList.add(grid);
});
}

Loading…
Cancel
Save