shenyijian
2024-08-30 7215d4e27d9eede3bc16f282c957f2356d909c2d
湖北水库:工程项目树修改
8 files modified
96 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java 56 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectTreeVO.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 17 ●●●● patch | view | raw | blame | history
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 &lt;= #{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 &lt;= #{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 &lt;= #{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<>();
    }
}