skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -188,4 +188,6 @@ private String townNm; //乡 @TableField(exist = false) private String engScal; //工程规模 @TableField(exist = false) private String basGuid; //片区 } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgReportUserDO.java
@@ -65,4 +65,8 @@ private Integer isHis; @TableField(exist = false) private String userName; @TableField(exist = false) private String deptName; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ApprovalDTO.java
@@ -19,4 +19,9 @@ * 审核人 */ private Long userId; /** * 0普通审批 1管理员一键驳回 */ private Integer isReject; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProgressReportController.java
@@ -105,7 +105,7 @@ } /** * 待办列表统计(APP、web共用) * 待办列表统计(超级管理员) */ @GetMapping(value = "/approval_count_all") public R countListAll(ProjectSearchDTO searchDTO) { skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -140,7 +140,7 @@ LEFT JOIN ywxt.sg_device de ON gx.gx_type = de.device_type LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id and re.gx_device_id = de.id WHERE 1 =1 and de.id = #{deviceId} 1 =1 and re."STATUS" != 4 and de.id = #{deviceId} </select> <select id="statusCount" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO"> SELECT @@ -164,9 +164,9 @@ </if> </select> <select id="getUserByIds" resultType="java.util.Map"> select id ,real_name from ywxt.blade_user where 1 = 1 select u.id ,u.real_name ,d.full_name as deptName from ywxt.blade_user u inner join ywxt.blade_dept d on u.dept_id = d.id where 1 = 1 <if test="ids != null and ids.size>0"> AND id in AND u.id in <foreach collection="ids" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -8,7 +8,8 @@ dria."city_nm", dria."county_nm", dria."town_nm", dria."eng_scal" dria."eng_scal", dria."bas_guid" FROM YWXT.SG_PROJECT_INFO info LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -159,6 +160,7 @@ for (SgReportUserDO sgReportUserDO : list) { if (user.get("ID").equals(sgReportUserDO.getUserId())){ sgReportUserDO.setUserName(user.get("REAL_NAME").toString()); sgReportUserDO.setDeptName(user.get("DEPTNAME").toString()); } } } @@ -175,10 +177,19 @@ @Override @Transactional(rollbackFor = Exception.class) public void approval(ApprovalDTO approvalDTO) { Integer isReject = approvalDTO.getIsReject(); Long userId = approvalDTO.getUserId(); Long id = approvalDTO.getId(); List<SgReportUserDO> list = new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId, id).eq(SgReportUserDO::getIsHis,0) .eq(SgReportUserDO::getApprovalStatus, 0).orderByDesc(SgReportUserDO::getApprovalOrder).list(); SgReportUserDO sgReportUserDO = list.stream().filter(s -> s.getUserId().equals(approvalDTO.getUserId())).findFirst().get(); //审批者 SgReportUserDO sgReportUserDO = new SgReportUserDO(); if (isReject==0){ list.stream().filter(s -> s.getUserId().equals(userId)).findFirst().get(); } if (isReject==1){ sgReportUserDO.setUserId(userId); } Date date = new Date(); LambdaUpdateChainWrapper<SgProgressReportDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId, id); LambdaUpdateChainWrapper<SgReportUserDO> userUpdate = new LambdaUpdateChainWrapper<>(sgReportUserMapper) @@ -327,13 +338,8 @@ @Override public Map<String, Long> countListAll(ProjectSearchDTO searchDTO) { List<SgProgressReportVO> list = sgProgressReportMapper.queryPageListAll(null, searchDTO); List<SgProgressReportVO> pending = list.stream().filter(s -> s.getStatus() == 0).collect(Collectors.toList()); List<SgProgressReportVO> over = list.stream().filter(s -> s.getStatus() == 1||s.getStatus()==2).collect(Collectors.toList()); List<SgProgressReportVO> reject = list.stream().filter(s -> s.getStatus() == 3).collect(Collectors.toList()); Map<String, Long> map = new HashMap<>(); map.put("pending", (long) pending.size()); map.put("over", (long) over.size()); map.put("reject", (long) reject.size()); getStatusCountByList(list, map); return map; } @@ -341,6 +347,11 @@ public Map<String, Long> statusCount(ProjectSearchDTO searchDTO) { List<SgProgressReportVO> list = sgProgressReportMapper.statusCount(searchDTO); Map<String, Long> map = new HashMap<>(); getStatusCountByList(list, map); return map; } private void getStatusCountByList(List<SgProgressReportVO> list, Map<String, Long> map) { List<SgProgressReportVO> pending = list.stream().filter(s -> s.getStatus() == 0).collect(Collectors.toList()); List<SgProgressReportVO> progress = list.stream().filter(s -> s.getStatus() == 1).collect(Collectors.toList()); List<SgProgressReportVO> over = list.stream().filter(s -> s.getStatus() == 2).collect(Collectors.toList()); @@ -352,7 +363,6 @@ map.put("over", (long) over.size()); map.put("reject", (long) reject.size()); map.put("draft", (long) draft.size()); return map; } @Override skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -44,10 +44,12 @@ public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) { List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO); List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); Map<Long, String> progressMap = projectProgress.stream().collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress)); if (CollectionUtils.isNotEmpty(projectProgress)){ Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress)); sgProjectInfoDOS.forEach(s->{ s.setProjectProgress(progressMap.get(s.getId())); }); } return page.setRecords(sgProjectInfoDOS); }