shenyijian
2024-09-20 0aa9af7bc8e34d539c990c5d714e24092a2d53e7
湖北水库:水库分页接口
9 files modified
1 files added
154 ■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgReportUserDO.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/ResVO.java 35 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml 9 ●●●●● 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 38 ●●●●● 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/SgProgressReportServiceImpl.java 45 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgReportUserDO.java
@@ -44,6 +44,8 @@
     * 角色ID
     */
    private Long roleId;
    @TableField(exist = false)
    private String roleName;
    /**
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/ResVO.java
New file
@@ -0,0 +1,35 @@
package cn.gistack.sm.sg.VO;
import lombok.Data;
/**
 * 水库实体类
 */
@Data
public class ResVO {
    /**
     * 主键
     */
    private  String guid;
    /**
     * 市
     */
    private  String cityNm;
    /**
     * 县
     */
    private  String countyNm;
    /**
     * 水库
     */
    private  String resNm;
    /**
     * 注册登记号
     */
    private  String othRegCd;
    /**
     * 工程规模
     */
    private  String engScal;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
@@ -156,4 +156,14 @@
    List<SgProjectTreeVO> tree = sgProjectInfoService.projectTree(dto);
        return R.data(tree);
    }
    /**
     * 水库列表
     */
    @GetMapping("res_list")
    public R resList(ProjectSearchDTO dto,Query query) {
        IPage<ResVO> page= sgProjectInfoService.resList(Condition.getPage(query),dto);
        return R.data(page);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java
@@ -42,4 +42,6 @@
    Long selectProframId(Long deviceId);
    List<SgReportUserDO> selectProcessUserByProjectId(@Param("programId") Long programId);
    List<Map<String, Object>> getRoleByIds(@Param("ids")List<Long> rids);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -231,4 +231,13 @@
        select  u.* from ywxt.sg_report_user u left join  ywxt.sg_progresss_report r on u.report_id = r.id
        where 1=1 and r.profram_id = #{programId}
    </select>
    <select id="getRoleByIds" resultType="java.util.Map">
        select id,role_name as roleName from "YWXT"."BLADE_ROLE" WHERE 1=1
        <if test="ids != null and ids.size>0">
            AND id in
            <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -59,6 +59,8 @@
    List<String> getUserS(String controlUnit);
    List<ResVO> resList(IPage<ResVO> page, @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
@@ -70,7 +70,7 @@
            and (info.control_unit = #{dto.deptId} or info.construction_unit = #{dto.deptId})
        </if>
       <if test="dto.projectSort == null">
            ORDER BY info.status desc ,info.project_progress desc NULLS LAST
            ORDER BY TO_NUMBER(info.project_progress) desc NULLS LAST,info.status desc
        </if>
        <!--
       <if test="dto.projectSort ==1">
@@ -130,6 +130,7 @@
        re.resubmit
        FROM
        ywxt.sg_project_info pro
        LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = pro.sk_id
        LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
        LEFT JOIN YWXT."BLADE_DICT_BIZ" AS dict ON d.device_type = dict.DICT_KEY AND dict.CODE = 'SG_DEVICE_TYPE'
        LEFT JOIN YWXT."BLADE_DICT_BIZ" Pdict on dict.parent_id = Pdict.id
@@ -159,6 +160,7 @@
        <if test="dto.buildStage != null and dto.buildStage != ''">
            and pro.build_stage like CONCAT(CONCAT('%',#{dto.buildStage}),'%')
        </if>
        <include refid="queryBySgCodeS"></include>
       ORDER BY pro.status desc ,pro.project_progress desc
    </select>
@@ -445,7 +447,10 @@
        LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = pro.sk_id
        LEFT JOIN YWXT."att_ad_base" att ON att."ad_code" = dria."city_cd"
        LEFT JOIN YWXT."att_ad_base" ad ON att."p_ad_code" = ad."ad_code"
        LEFT JOIN YWXT."att_ad_base" aad ON aad."ad_code" = ad."p_ad_code") pro
        LEFT JOIN YWXT."att_ad_base" aad ON aad."ad_code" = ad."p_ad_code"
        where 1=1
        <include refid="queryBySgCodeS"></include>
        ) pro
        LEFT JOIN YWXT."att_ad_base" a ON (
        ( pro.countyCode = a."guid" )
        OR ( pro.cityCode = a."guid" )
@@ -474,6 +479,28 @@
        </if>
        ORDER BY pro.projectStatus desc ,pro.project_progress desc
    </select>
    <sql id="queryBySgCodeS">
        <if test="dto.sgCodeS != null and dto.sgCodeS.size > 0">
            and (dria."province_cd" in
            <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
            or dria."city_cd" in
            <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
            or dria."county_cd" in
            <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
            or dria."town_cd" in
            <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>)
        </if>
    </sql>
    <select id="selectVOById" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO">
        select * from  ywxt.sg_project_info pro where pro.id = #{proframId}
    </select>
@@ -554,4 +581,11 @@
    </select>
    <select id="resList" resultType="cn.gistack.sm.sg.VO.ResVO">
        select dria.* from "SJZT_DW"."dim_res_info_a" dria where 1=1
        <if test="dto.adCode != null and dto.adCode != ''">
           and (dria."province_cd" = #{dto.adCode} or dria."city_cd" = #{dto.adCode} or dria."county_cd" = #{dto.adCode})
        </if>
        <include refid="queryBySgCodeS"></include>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgProjectInfoService.java
@@ -41,4 +41,6 @@
    List<SgStatistccVO> getsgStatisticscc(String code);
    List<SgProjectTreeVO> projectTree(ProjectSearchDTO dto);
    IPage<ResVO> resList(IPage<ResVO> page, ProjectSearchDTO dto);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -299,14 +299,24 @@
            sgProgressReportVO.setDeviceName(sgDeviceDO.getDeviceName());
        }else {
        sgProgressReportVO.setDeviceName("");}
        List<SgReportUserDO> list =  new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId,id).orderByAsc(SgReportUserDO::getApprovalTime).list();
        List<Long> ids = list.stream().map(s -> s.getUserId()).collect(Collectors.toList());
        List<SgReportUserDO> list =  new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId,id).orderByAsc(SgReportUserDO::getApprovalOrder).list();
        List<Long> ids = list.stream().map(SgReportUserDO::getUserId).collect(Collectors.toList());
        List<Long> rids = list.stream().map(SgReportUserDO::getRoleId).collect(Collectors.toList());
        List<Map<String,Object>> users = sgProgressReportMapper.getUserByIds(ids);
        List<Map<String,Object>> roles = sgProgressReportMapper.getRoleByIds(rids);
        for (Map<String, Object> user : users) {
            for (SgReportUserDO sgReportUserDO : list) {
                if (user.get("ID").equals(sgReportUserDO.getUserId())){
                    sgReportUserDO.setUserName(user.get("REAL_NAME").toString());
                    sgReportUserDO.setDeptName(user.get("DEPTNAME").toString());
                }
            }
        }
        for (Map<String, Object> r : roles) {
            for (SgReportUserDO sgReportUserDO : list) {
                if (r.get("ID").equals(sgReportUserDO.getRoleId())){
                    sgReportUserDO.setRoleName(r.get("ROLENAME").toString());
                }
            }
        }
@@ -367,7 +377,8 @@
        //审批者
        SgReportUserDO sgReportUserDO = new SgReportUserDO();
        if (isReject==1){
            sgReportUserDO = sgReportUserDOS.get(0);
            sgReportUserDO = SgReportUserDO.builder().reportId(approvalDTO.getId()).approvalOrder(sgReportUserDOS.get(sgReportUserDOS.size() - 1).getApprovalOrder()+1).roleId(Long.valueOf(roleId)).build();
            sgReportUserMapper.insert(sgReportUserDO);
        }else {
            sgReportUserDO = sgReportUserDOS.stream().filter(s -> s.getRoleId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get();
        }
@@ -402,35 +413,7 @@
            updateChainWrapper.set(SgProgressReportDO::getResubmit,0);
            userUpdate.set(SgReportUserDO::getApprovalStatus,2);
            userUpdate.set(SgReportUserDO::getUserId,userId);
            if (isReject==1){
                userUpdate.set(SgReportUserDO::getUserId,userId);
            }
            userUpdate.update();
            /*for (SgReportUserDO reportUserDO : sgReportUserDOS) {
                if (reportUserDO.getApprovalOrder()<=sgReportUserDO.getApprovalOrder()&&reportUserDO.getApprovalOrder()!=0){
                    //更新为历史数据
                    new LambdaUpdateChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getId,reportUserDO.getId()).set(SgReportUserDO::getIsHis,1).update();
                    setReportUser(date, reportUserDO);
                    sgReportUserMapper.insert(reportUserDO);
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }else if (reportUserDO.getApprovalOrder()>sgReportUserDO.getApprovalOrder()){
                    sgReportUserMapper.deleteById(reportUserDO.getId());
                    setReportUser(date, reportUserDO);
                    sgReportUserMapper.insert(reportUserDO);
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                }
                if (reportUserDO.getApprovalOrder()==1){
                    updateChainWrapper.set(SgProgressReportDO::getAuditPerson,reportUserDO.getUserId());
                }
            }*/
            updateChainWrapper.update();
        }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -623,6 +623,8 @@
    @Override
    public Map<String, Object> projectCount(ProjectSearchDTO searchDTO) {
        List<String> sgCodeS = getSgCodeByUser();
        searchDTO.setSgCodeS(sgCodeS);
        Map<String, Object> map  = new HashMap<>();
        List<SgProjectInfoVO> progressList = progressList(searchDTO);
        BigDecimal reduce = progressList.stream().filter(s->s.getProjectProgressNum()!=null).map(SgProjectInfoDO::getProjectProgressNum).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -771,4 +773,11 @@
        return new ArrayList<>();
    }
    @Override
    public IPage<ResVO> resList(IPage<ResVO> page, ProjectSearchDTO dto) {
        List<String> sgCodeByUser = getSgCodeByUser();
        dto.setSgCodeS(sgCodeByUser);
        return page.setRecords(baseMapper.resList(page,dto));
    }
}