shenyijian
2024-11-02 fb53b3101bd5953465a2b35aa543daefb8395247
湖北水库:审批bug解决
5 files modified
107 ■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java 9 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml 12 ●●●● 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 47 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -54,12 +54,13 @@
    /**
     * 用户所在单位
     */
    private List<Long>  userUnit;
    private List<String>  userUnit;
    /**
     * 县单位位
     */
    private List<Long> countryUnit;
    private List<String> countryUnit;
    private List<String> selfUnit;
    /**
     * 用户角色
@@ -160,5 +161,9 @@
     * 是否单位过滤 1不过滤
     */
    private Integer isUnit;
    /**
     * 施工单位
     */
//    private String selfUnit;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -105,10 +105,16 @@
        LEFT JOIN ywxt.sg_report_user userR ON report.id = userR.report_id
        WHERE
        1 = 1 and report."STATUS" != 4
        <if test="dto.selfUnit != null and dto.selfUnit.size>0">
            and
            <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
                si.SELF_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.userUnit != null and dto.userUnit.size>0">
            and  si.CONTROL_UNIT in
            <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="," close=")">
                #{item}
            and
            <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
                si.CONTROL_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.countryUnit != null and dto.countryUnit.size>0">
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -57,7 +57,7 @@
    List<SgProjectTreeVO> projectTree(@Param("dto") ProjectSearchDTO dto);
    List<String> getUserS(String controlUnit);
    List<String> getUserS(@Param("list") List<String> controlUnit);
    List<ResVO> resList(IPage<ResVO> page, @Param("dto") ProjectSearchDTO dto);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -16,6 +16,24 @@
        LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
        WHERE
        1 =1
        <if test="dto.selfUnit != null and dto.selfUnit.size>0">
            and
            <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
                info.SELF_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.userUnit != null and dto.userUnit.size>0">
            and
            <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
                info.CONTROL_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.countryUnit != null and dto.countryUnit.size>0">
            and dria."county_cd" in
            <foreach collection="dto.countryUnit" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        <if test="dto.projectName != null and dto.projectName != ''">
            and info.project_name like concat( concat ('%',#{dto.projectName}),'%')
        </if>
@@ -488,6 +506,24 @@
    </select>
    <sql id="queryBySgCodeS">
        <if test="dto.selfUnit != null and dto.selfUnit.size>0">
            and
            <foreach collection="dto.selfUnit" item="item" index="index" open="(" separator="or" close=")">
                pro.SELF_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.userUnit != null and dto.userUnit.size>0">
            and
            <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="or" close=")">
                pro.CONTROL_UNIT Like  CONCAT(CONCAT('%', #{item}), '%')
            </foreach>
        </if>
        <if test="dto.countryUnit != null and dto.countryUnit.size>0">
            and dria."county_cd" in
            <foreach collection="dto.countryUnit" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        <if test="dto.sgCodeS != null and dto.sgCodeS.size > 0">
            and (dria."province_cd" in
            <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
@@ -586,10 +622,13 @@
            user_id
        FROM
            "YWXT"."BLADE_USER_DEPT"
        WHERE
            dept_id = #{controlUnit}
        WHERE 1=1
        <if test="list != null and list.size>0">
            and dept_id in
            <foreach collection="list" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </select>
    <select id="resList" resultType="cn.gistack.sm.sg.VO.ResVO">
        select dria.* from "SJZT_DW"."dim_res_info_a" dria where 1=1
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -78,7 +78,8 @@
                List<String> resultUsers=new ArrayList<>();
                if(s.getControlUnit()!=null){
                    String controlUnit = s.getControlUnit();
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
                    List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
                    resultUsers.addAll(users);
                }
//                if(s.getSelfUnit()!=null){
@@ -95,7 +96,8 @@
                if("测量定位".equals(gxStepName)){
                    if(countyCd!=null){
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
                        List<String> controlUnitS = Arrays.asList(countyCd.split(","));
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
                        s.setXbUnitIDs(xbUnitIDs);
                    }
@@ -119,7 +121,8 @@
                List<String> resultUsers=new ArrayList<>();
                if(s.getControlUnit()!=null){
                    String controlUnit = s.getControlUnit();
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
                    List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
                    resultUsers.addAll(users);
                }
//                if(s.getSelfUnit()!=null){
@@ -136,7 +139,8 @@
                if("测量定位".equals(gxStepName)){
                    if(countyCd!=null){
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
                        List<String> controlUnitS = Arrays.asList(countyCd.split(","));
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
                        s.setXbUnitIDs(xbUnitIDs);
                    }
@@ -338,7 +342,8 @@
        if(sgProgressReportVO.getControlUnit()!=null){
            String controlUnit = sgProgressReportVO.getControlUnit();
            List<String> users1=sgProjectInfoMapper.getUserS(controlUnit);
            List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
            List<String> users1=sgProjectInfoMapper.getUserS(controlUnitS);
            sgProgressReportVO.setUserIDs(users1);
        }
        String gxStepName = sgProgressReportVO.getGxStepName();
@@ -347,7 +352,8 @@
        if("测量定位".equals(gxStepName)){
            if(countyCd!=null){
                List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
                List<String> controlUnitS = Arrays.asList(countyCd.split(","));
                List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
                sgProgressReportVO.setXbUnitIDs(xbUnitIDs);
            }
@@ -532,7 +538,8 @@
                List<String> resultUsers=new ArrayList<>();
                if(s.getControlUnit()!=null){
                    String controlUnit = s.getControlUnit();
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
                    List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
                    resultUsers.addAll(users);
                }
//                if(s.getSelfUnit()!=null){
@@ -549,7 +556,8 @@
                if("测量定位".equals(gxStepName)){
                    if(countyCd!=null){
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
                        List<String> controlUnitS = Arrays.asList(countyCd.split(","));
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
                        s.setXbUnitIDs(xbUnitIDs);
                    }
@@ -677,7 +685,8 @@
                List<String> resultUsers=new ArrayList<>();
                if(s.getControlUnit()!=null){
                    String controlUnit = s.getControlUnit();
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnit);
                    List<String> controlUnitS = Arrays.asList(controlUnit.split(","));
                    List<String> users=sgProjectInfoMapper.getUserS(controlUnitS);
                    resultUsers.addAll(users);
                }
//                if(s.getSelfUnit()!=null){
@@ -694,7 +703,8 @@
                if("测量定位".equals(gxStepName)){
                    if(countyCd!=null){
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd);
                        List<String> controlUnitS = Arrays.asList(countyCd.split(","));
                        List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS);
                        s.setXbUnitIDs(xbUnitIDs);
                    }
@@ -711,15 +721,16 @@
     * 设置部门单位查询条件
     */
    private  void setUnit(ProjectSearchDTO searchDTO, BladeUser user, Long roleId) {
        List<Long> longList = Arrays.stream(user.getDeptId().split(","))
            .map(Long::parseLong)
        List<String> longList = Arrays.stream(user.getDeptId().split(","))
            .collect(Collectors.toList());
        //判断是不是省厅建办  否的话就不设置部门
        if (!roleId.equals(1800820667082948610L)){
            //判断是不是县级建办  否的话就是监理单位下人员进行
            if(!roleId.equals(1811657352658042882L)){
                searchDTO.setUserUnit(longList);
            }else{
            }else if (roleId.equals(1800818489547112450L)){
                searchDTO.setSelfUnit(longList);
            }else {
                searchDTO.setCountryUnit(longList);
            }
        }