jianjun 4 years ago
parent
commit
21a9bb04b0
  1. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java
  2. 8
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java
  3. 43
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java

@ -207,7 +207,7 @@ public interface ScreenCustomerAgencyDao extends BaseDao<ScreenCustomerAgencyEnt
*/ */
List<ScreenProjectOrgDailyDTO> selectAgencyByCustomer(@Param("customerId")String customerId); List<ScreenProjectOrgDailyDTO> selectAgencyByCustomer(@Param("customerId")String customerId);
List<ScreenProjectOrgDailyDTO> selectAgencyByAreaCode(String areaCode); List<ScreenProjectOrgDailyDTO> selectAgencyByAreaCode(@Param("areaCode") String areaCode);
/** /**
* @Description 根据areaCode查询下级组织 * @Description 根据areaCode查询下级组织

8
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java

@ -48,7 +48,9 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao<ScreenProjec
* @author zxc * @author zxc
* @date 2021/2/2 上午11:09 * @date 2021/2/2 上午11:09
*/ */
List<ProjectOrgMonthlyResultDTO> selectQuantityOrgMonthly(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId); List<ProjectOrgMonthlyResultDTO> selectQuantityOrgMonthly(
@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos,
@Param("monthId") String monthId);
List<ProjectOrgMonthlyResultDTO> selectQuantityOrgMonthlyByAgency(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId); List<ProjectOrgMonthlyResultDTO> selectQuantityOrgMonthlyByAgency(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId);
/** /**
@ -58,7 +60,9 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao<ScreenProjec
* @author zxc * @author zxc
* @date 2021/2/2 下午3:03 * @date 2021/2/2 下午3:03
*/ */
List<ProjectOrgMonthlyResultDTO> selectQuantityGrandOrgMonthly(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId); List<ProjectOrgMonthlyResultDTO> selectQuantityGrandOrgMonthly(
@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos,
@Param("monthId") String monthId);
List<ProjectOrgMonthlyResultDTO> selectQuantityGrandOrgMonthlyByAgency(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId); List<ProjectOrgMonthlyResultDTO> selectQuantityGrandOrgMonthlyByAgency(@Param("agencyInfos") List<ScreenProjectQuantityOrgMonthlyDTO> agencyInfos, @Param("monthId") String monthId);

43
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java

@ -1,5 +1,6 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
@ -40,6 +41,9 @@ import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.toCollection;
/** /**
* @dscription 省网格化平台数据上报--数据查询 * @dscription 省网格化平台数据上报--数据查询
* @author sun * @author sun
@ -141,24 +145,29 @@ public class DataReportingServiceImpl implements DataReportingService {
Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>(); Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap = new HashMap<>();
Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId()); Result<String> parentCustomer = operCrmOpenFeignClient.getExternalAndParentCustomerId(formDTO.getCustomerId());
if (StringUtils.isNotBlank(parentCustomer.getData())) { if (StringUtils.isNotBlank(parentCustomer.getData())) {
customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData()); epmetCodeMap = customerProjectCategoryDictService.getByCategoryCodeMap(parentCustomer.getData());
} }
Map<String, CustomerProjectCategoryDictEntity> codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());; Map<String, CustomerProjectCategoryDictEntity> codeMap = customerProjectCategoryDictService.getByCategoryCodeMap(formDTO.getCustomerId());;
//项目ID不为空时,因为只有一条,可以直接处理 //项目ID不为空时,因为只有一条,可以直接处理
Map<String, CustomerProjectCategoryDictEntity> finalEpmetCodeMap = epmetCodeMap;
if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) { if (CollectionUtils.isNotEmpty(formDTO.getProjectId())) {
list = projectList.stream().map(project -> { list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) {
ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId()); ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(project.getOrgId());
dto.setOrgId(project.getOrgId()); dto.setOrgId(project.getOrgId());
if (null != agency) {
dto.setOrgCode(agency.getCode()); dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName()); dto.setOrgName(agency.getAgencyName());
}
} else { } else {
ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId()); ScreenCustomerGridDTO grid = screenCustomerGridService.getGridById(project.getOrgId());
dto.setOrgId(project.getOrgId()); dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode()); dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName()); dto.setOrgName(grid.getGridName());
} }
}
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} else { } else {
@ -166,22 +175,26 @@ public class DataReportingServiceImpl implements DataReportingService {
Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId()); Map<String, ScreenCustomerAgencyEntity> agencyMap = screenCustomerAgencyService.getAgencyList(formDTO.getCustomerId());
Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId()); Map<String, ScreenCustomerGridDTO> gridMap = screenCustomerGridService.getGridList(formDTO.getCustomerId());
list = projectList.stream().map(project -> { list = projectList.stream().map(project -> {
EventInfoResultDTO dto = getEventInfoResultDTO(project, epmetCodeMap, codeMap); EventInfoResultDTO dto = getEventInfoResultDTO(project, finalEpmetCodeMap, codeMap);
if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) { if (OrgTypeConstant.AGENCY.equals(project.getOrgType())) {
ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId()); ScreenCustomerAgencyEntity agency = agencyMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId()); dto.setOrgId(project.getOrgId());
if (null != agency) {
dto.setOrgCode(agency.getCode()); dto.setOrgCode(agency.getCode());
dto.setOrgName(agency.getAgencyName()); dto.setOrgName(agency.getAgencyName());
}
} else { } else {
ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId()); ScreenCustomerGridDTO grid = gridMap.get(project.getOrgId());
dto.setOrgId(project.getOrgId()); dto.setOrgId(project.getOrgId());
if (null != grid) {
dto.setOrgCode(grid.getCode()); dto.setOrgCode(grid.getCode());
dto.setOrgName(grid.getGridName()); dto.setOrgName(grid.getGridName());
} }
}
return dto; return dto;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
return list.stream().filter(item -> StringUtils.isNotBlank(item.getEventCategory())).collect(Collectors.toList()); return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new));
} }
private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap, Map<String, CustomerProjectCategoryDictEntity> codeMap) { private EventInfoResultDTO getEventInfoResultDTO(ScreenProjectDataDTO project, Map<String, CustomerProjectCategoryDictEntity> epmetCodeMap, Map<String, CustomerProjectCategoryDictEntity> codeMap) {
@ -198,8 +211,22 @@ public class DataReportingServiceImpl implements DataReportingService {
"46c55cb862d6d5e6d05d2ab61a1cc07e".equals(project.getCustomerId())) { "46c55cb862d6d5e6d05d2ab61a1cc07e".equals(project.getCustomerId())) {
CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode); CustomerProjectCategoryDictEntity categoryEntity = codeMap.get(categoryCode);
if (null != categoryEntity) { if (null != categoryEntity) {
categoryCode = categoryEntity.getEpmetCategoryCode(); String code = categoryEntity.getEpmetCategoryCode();
parentCode = null == epmetCodeMap.get(categoryCode)?null:epmetCodeMap.get(categoryCode).getParentCategoryCode(); if (StringUtils.isBlank(code)) {
//没有对应平阴的分类code,那么一级分类和二级分类都为空
categoryCode = null;
parentCode = null;
} else {
//如果是对应一级分类,则二级分类为空。如果对应平阴二级分类,则取对应的一级分类
CustomerProjectCategoryDictEntity epmetCode = epmetCodeMap.get(code);
if (NumConstant.ONE == epmetCode.getLevel()) {
categoryCode = null;
parentCode = code;
} else {
categoryCode = code;
parentCode = epmetCode.getParentCategoryCode();
}
}
} else { } else {
categoryCode = null; categoryCode = null;
parentCode = null; parentCode = null;
@ -218,6 +245,7 @@ public class DataReportingServiceImpl implements DataReportingService {
if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) { if (OrgTypeConstant.AGENCY.equals(project.getFinishOrgType())) {
//如果是孔村的项目办结层级需要降一级 //如果是孔村的项目办结层级需要降一级
if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) { if("2fe0065f70ca0e23ce4c26fca5f1d933".equals(project.getCustomerId())) {
if (StringUtils.isNotBlank(project.getFinishOrgLevel())) {
switch (project.getFinishOrgLevel()) { switch (project.getFinishOrgLevel()) {
case OrgTypeConstant.DISTRICT: case OrgTypeConstant.DISTRICT:
dto.setCompleteLevel("3"); dto.setCompleteLevel("3");
@ -229,6 +257,7 @@ public class DataReportingServiceImpl implements DataReportingService {
default: default:
break; break;
} }
}
} else { } else {
dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel())); dto.setCompleteLevel(getCompleteLevel(project.getFinishOrgLevel()));
} }
@ -237,7 +266,9 @@ public class DataReportingServiceImpl implements DataReportingService {
String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON); String[] orgIds = project.getOrgIdPath().split(StrConstant.COLON);
int size = orgIds.length; int size = orgIds.length;
ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(orgIds[size - 1]); ScreenCustomerAgencyEntity agency = screenCustomerAgencyService.getAgencyById(orgIds[size - 1]);
if (null != agency) {
dto.setCompleteLevel(getCompleteLevel(agency.getLevel())); dto.setCompleteLevel(getCompleteLevel(agency.getLevel()));
}
} else { } else {
//办结组织是网格时,办结层级为网格 //办结组织是网格时,办结层级为网格
dto.setCompleteLevel("5"); dto.setCompleteLevel("5");

Loading…
Cancel
Save