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