Browse Source

bug

dev_shibei_match
zxc 4 years ago
parent
commit
8feac6d00c
  1. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  2. 28
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  3. 22
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -265,6 +265,6 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @author zxc
* @date 2021/12/10 10:31 上午
*/
List<ProjectDistributionAnalysisRightDTO> selectProjectCountByOrg(List<SonOrgResultDTO> orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate);
List<ProjectDistributionAnalysisRightDTO> selectProjectCountByOrg(List<String> orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate);
}

28
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -2916,26 +2916,30 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
ProjectDistributionAnalysisRightResultDTO result = new ProjectDistributionAnalysisRightResultDTO();
List<ProjectDistributionAnalysisRightDTO> orgList = new ArrayList<>();
Result<List<SonOrgResultDTO>> sonOrgList = govOrgOpenFeignClient.getSonAgencyId(formDTO.getOrgId(), agencyInfo.getLevel());
if (!sonOrgList.success() || CollectionUtils.isEmpty(sonOrgList.getData())){
throw new EpmetException(String.format("查询组织{%s}的下级组织失败或为空...",formDTO.getOrgId()));
if (!sonOrgList.success()){
throw new EpmetException(String.format("查询组织{%s}的下级组织失败...",formDTO.getOrgId()));
}
if (CollectionUtils.isEmpty(sonOrgList.getData())){
return result;
}
List<SonOrgResultDTO> orgIds = sonOrgList.getData();
for (SonOrgResultDTO o : orgIds) {
ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO();
dto.setOrgId(o.getOrgId());
orgList.add(dto);
}
List<ProjectDistributionAnalysisRightDTO> dtos;
if (!agencyInfo.getLevel().equals(ProjectConstant.ORG_LEVEL_COMMUNITY)){
orgList = baseDao.selectProjectCountByOrg(orgIds, formDTO.getStartDate(),formDTO.getEndDate());
dtos = baseDao.selectProjectCountByOrg(orgIds.stream().map(m -> m.getOrgId()).collect(Collectors.toList()), formDTO.getStartDate(), formDTO.getEndDate());
}else {
for (SonOrgResultDTO o : orgIds) {
ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO();
dto.setOrgId(o.getOrgId());
orgList.add(dto);
}
Result<List<ProjectDistributionAnalysisRightDTO>> projectCountByGrid = govIssueOpenFeignClient.getProjectCountByGrid(formDTO);
if (!projectCountByGrid.success()){
throw new EpmetException("查询网格项目数失败...");
}
if (CollectionUtils.isNotEmpty(projectCountByGrid.getData())){
orgList.stream().forEach(o -> projectCountByGrid.getData().stream().filter(p -> p.getOrgId().equals(o.getOrgId())).forEach(p -> o.setCount(p.getCount())));
}
dtos = projectCountByGrid.getData();
}
if (CollectionUtils.isNotEmpty(dtos)){
orgList.stream().forEach(o -> dtos.stream().filter(p -> p.getOrgId().equals(o.getOrgId())).forEach(p -> o.setCount(p.getCount())));
}
if (CollectionUtils.isEmpty(orgList)){
return result;

22
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -472,15 +472,17 @@
<!-- 查询组织下的项目数 -->
<select id="selectProjectCountByOrg" resultType="com.epmet.dto.result.ProjectDistributionAnalysisRightDTO">
<foreach collection="orgIds" item="o" separator=" UNION ALL ">
SELECT
#{o.orgId} AS orgId,
COUNT(ID) AS count
FROM project
WHERE DEL_FLAG = '0'
AND #{o.orgId} LIKE CONCAT(ORG_ID_PATH,'%')
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') >= #{startDate}
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{endDate}
</foreach>
SELECT
AGENCY_ID AS orgId,
COUNT(ID) AS count
FROM project
WHERE DEL_FLAG = '0'
AND AGENCY_ID IN (
<foreach collection="orgIds" item="o" separator=",">
#{o}
</foreach>)
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') >= #{startDate}
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{endDate}
GROUP BY AGENCY_ID
</select>
</mapper>
Loading…
Cancel
Save