zxc 4 years ago
parent
commit
46ce977e73
  1. 9
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryListResultDTO.java
  2. 3
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml
  3. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  4. 24
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  5. 14
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

9
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryListResultDTO.java

@ -27,6 +27,14 @@ public class CategoryListResultDTO implements Serializable {
private Integer count;
/**
* 颜色
*/
private String colour;
/**
* 1级分类长度
*/
private Integer codeLength;
public CategoryListResultDTO() {
@ -34,5 +42,6 @@ public class CategoryListResultDTO implements Serializable {
this.categoryName = "";
this.count = NumConstant.ZERO;
this.codeLength = NumConstant.ZERO;
this.colour = "";
}
}

3
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml

@ -250,7 +250,8 @@
SELECT
CATEGORY_CODE,
CATEGORY_NAME,
LENGTH(CATEGORY_CODE) AS codeLength
LENGTH(CATEGORY_CODE) AS codeLength,
IFNULL(colour,'') AS colour
FROM issue_project_category_dict
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}

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

@ -256,4 +256,15 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
@Param("categoryCode")String categoryCode,
@Param("excludeProjectId") String excludeProjectId,
@Param("epmetUserIds")List<String> epmetUserIds);
/**
* @Description 查询组织下的项目数
* @param orgIds
* @param startDate
* @param endDate
* @author zxc
* @date 2021/12/10 10:31 上午
*/
List<ProjectDistributionAnalysisRightDTO> selectProjectCountByOrg(@Param("orgIds")List<String> orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate);
}

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

@ -2861,7 +2861,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
ProjectDistributionAnalysisRightResultDTO result = new ProjectDistributionAnalysisRightResultDTO();
List<ProjectDistributionAnalysisRightDTO> orgList = new ArrayList<>();
if (!agencyInfo.getLevel().equals(ProjectConstant.ORG_LEVEL_COMMUNITY)){
Result<List<String>> sonAgencyIdResult = govOrgOpenFeignClient.getSonAgencyId(formDTO.getOrgId());
if (!sonAgencyIdResult.success()){
throw new EpmetException(String.format("查询组织{%s}的下级组织失败...",formDTO.getOrgId()));
}
List<String> agencyIds = sonAgencyIdResult.getData();
if (CollectionUtils.isNotEmpty(agencyIds)){
orgList = baseDao.selectProjectCountByOrg(agencyIds,formDTO.getStartDate(),formDTO.getEndDate());
}
}else {
Result<List<ProjectDistributionAnalysisRightDTO>> projectCountByGrid = govIssueOpenFeignClient.getProjectCountByGrid(formDTO);
if (!projectCountByGrid.success()){
@ -2871,6 +2878,21 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
orgList = projectCountByGrid.getData();
}
}
if (CollectionUtils.isNotEmpty(orgList)){
result.setList(orgList);
}
List<Integer> allCount = orgList.stream().map(m -> m.getCount()).collect(Collectors.toList());
Integer max = Collections.max(allCount);
Integer min = Collections.min(allCount);
if (orgList.size() == NumConstant.ONE || max.compareTo(min) == NumConstant.ZERO){
result.setUnder(orgList.get(NumConstant.ZERO).getCount().toString());
return result;
}
Integer minRange = min + ((max - min) / NumConstant.THREE);
Integer maxRange = min + ((max - min) * NumConstant.TWO / NumConstant.THREE);
result.setUnder(minRange.toString().concat("以下"));
result.setMiddle(minRange.toString().concat("-").concat(maxRange.toString()));
result.setAbove(maxRange.toString().concat("以上"));
return result;
}

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

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