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); } }