skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -16,22 +16,73 @@ @NoArgsConstructor @Builder public class ProjectSearchDTO { /** * 项目名称 */ private String projectName; /** * 区域编码 */ private String adCode; /** * 设备名 */ private String deviceName; /** * 水库名 */ private String skName; /** * 工序类型 */ private String gxType; /** * 工序名 */ private String gxName; /** * 创建人 */ private String createUser; /** * 用户名 */ private Long userId; /** * */ private String gxInfoId; /** * */ private String gxStepNum; /** * */ private String projectId; /** * */ private Integer approvalStatus; /** * */ private Integer status; /** * */ private Long reportPerson; /** * */ private List<Long> projectIds; /** * */ private String startTime; /** * */ private String endTime; /** * 工程规模 @@ -73,6 +124,9 @@ private Boolean isPage; private List<String> sgCodeS; /** * 建设期次 */ private String buildStage; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java
@@ -47,4 +47,9 @@ * 子列表 */ List<SgProjectTreeVO> childList; /** * 名称 */ private String regionName; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
@@ -152,8 +152,8 @@ * 项目树 */ @GetMapping("project_tree") public R projectTree() { List<SgProjectTreeVO> tree = sgProjectInfoService.projectTree(); public R projectTree(ProjectSearchDTO dto) { List<SgProjectTreeVO> tree = sgProjectInfoService.projectTree(dto); return R.data(tree); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -31,6 +31,7 @@ <if test="dto.endTime != null and dto.endTime !='' "> and report.report_time <= #{dto.endTime} </if> order by report_time desc </select> <select id="queryPageListAll" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO"> @@ -59,6 +60,7 @@ <if test="dto.endTime != null and dto.endTime != ''"> and report.create_time <= #{dto.endTime} </if> order by report.report_time desc </select> <select id="queryById" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO"> @@ -113,6 +115,7 @@ <if test="dto.endTime != null and dto.endTime !='' "> and report.report_time <= #{dto.endTime} </if> order by report.report_time desc <!--<choose > <when test="dto.approvalStatus != null and dto.approvalStatus == 0"> and report.audit_person = #{dto.userId} and (report."STATUS" = 0 or report."STATUS" = 1) skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -55,7 +55,7 @@ List<SgAllDeptOrUser> queryUser(); List<SgProjectTreeVO> projectTree(); List<SgProjectTreeVO> projectTree(@Param("dto") ProjectSearchDTO dto); //List<String> getProjectIds(String code,@Param("grad") String grad ); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -39,6 +39,9 @@ <if test="dto.isBegin != null and dto.isBegin == 2"> and info.status = 0 </if> <if test="dto.buildStage != null and dto.buildStage != ''"> and info.build_stage = #{dto.buildStage} </if> <if test="dto.projectIds != null and dto.projectIds.size > 0"> and info.id in <foreach collection="dto.projectIds" item="id" separator="," open="(" close=")"> @@ -444,6 +447,7 @@ </select> <select id="projectTree" resultType="cn.gistack.sm.sg.VO.SgProjectTreeVO"> SELECT TOP 100 info.id, dria."city_nm", dria."province_nm", @@ -454,5 +458,8 @@ LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id WHERE 1 =1 <if test="dto.buildStage != null and dto.buildStage != ''"> and info.build_stage = #{dto.buildStage} </if> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java
@@ -40,5 +40,5 @@ List<SgStatistccVO> getsgStatisticscc(String code); List<SgProjectTreeVO> projectTree(); List<SgProjectTreeVO> projectTree(ProjectSearchDTO dto); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -613,8 +613,9 @@ @Override public List<SgProjectTreeVO> projectTree() { List<SgProjectTreeVO> list = sgProjectInfoMapper.projectTree(); public List<SgProjectTreeVO> projectTree(ProjectSearchDTO dto) { List<SgProjectTreeVO> list = sgProjectInfoMapper.projectTree(dto); if (CollectionUtils.isNotEmpty(list)){ // 按省、市、县分组 Map<String, Map<String, Map<String, List<SgProjectTreeVO>>>> groupedProjects = list.stream() .collect(Collectors.groupingBy(SgProjectTreeVO::getProvinceNm, @@ -629,6 +630,8 @@ SgProjectTreeVO provinceNode = new SgProjectTreeVO(); provinceNode.setProvinceNm(province); provinceNode.setId(UUID.randomUUID().toString().replace("-","")); provinceNode.setRegionName(province); provinceNode.setChildList(new ArrayList<>()); for (Map.Entry<String, Map<String, List<SgProjectTreeVO>>> cityEntry : cityMap.entrySet()) { @@ -638,14 +641,20 @@ SgProjectTreeVO cityNode = new SgProjectTreeVO(); List<String> cityIds = new ArrayList<>(); cityNode.setCityNm(city); cityNode.setId(UUID.randomUUID().toString().replace("-","")); cityNode.setRegionName(city); cityNode.setChildList(new ArrayList<>()); for (Map.Entry<String, List<SgProjectTreeVO>> countyEntry : countyMap.entrySet()) { String county = countyEntry.getKey(); List<SgProjectTreeVO> countyProjects = countyEntry.getValue(); for (SgProjectTreeVO countyProject : countyProjects) { countyProject.setRegionName(countyProject.getResNm()); } SgProjectTreeVO countyNode = new SgProjectTreeVO(); countyNode.setCountyNm(county); countyNode.setRegionName(county); countyNode.setId(UUID.randomUUID().toString().replace("-","")); countyNode.setChildList(new ArrayList<>(countyProjects)); countyNode.setChildNum((long) countyProjects.size()); countyNode.setProjectIds(countyProjects.stream().map(SgProjectTreeVO::getId).collect(Collectors.toList())); @@ -662,6 +671,8 @@ result.add(provinceNode); } return result; } return new ArrayList<>(); } }