skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java
@@ -118,4 +118,9 @@ */ @TableField(exist = false) private List<SgGxDO> sgGxDOS; /** *是否重新提交 0是 ,1否 */ private Integer resubmit; } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -81,12 +81,12 @@ private String expTime; /** * 总承包 * 省厅建办 */ private String generalContract; /** * 总承包责任人 * 省厅建办责任人 */ private String generalPerson; @@ -111,32 +111,32 @@ private String controlPerson; /** * 施工单位 * 土建施工单位 */ private String constructionUnit; /** * 施工单位责任人 * 土建施工单位责任人 */ private String constructionPerson; /** * 施工自检单位 * 设备施工单位 */ private String selfUnit; /** * 施工自检单位责任人 * 设备施工单位责任人 */ private String selfPerson; /** * 竣工验收检测单位 * 检测单位 */ private String acceptanceUnit; /** * 竣工验收检测单位责任人 * 检测单位责任人 */ private String acceptancePerson; @@ -195,4 +195,10 @@ private String engScal; //工程规模 @TableField(exist = false) private String basGuid; //片区 /** * 标段 */ private String lot; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProjectInfoController.java
@@ -131,4 +131,22 @@ List<SgStatistccVO> sgStatisProVOS = sgProjectInfoService.getsgStatisticscc(code); return R.data(sgStatisProVOS); } /** * 新增项目 */ @PostMapping("add") public R add(@RequestBody SgProjectInfoDO sgProjectInfoDO) { sgProjectInfoService.save(sgProjectInfoDO); return R.success("新增成功"); } /** * 新增项目 */ @PostMapping("update") public R update(@RequestBody SgProjectInfoDO sgProjectInfoDO) { sgProjectInfoService.updateById(sgProjectInfoDO); return R.success("修改成功"); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -49,5 +49,7 @@ List<SgProjectInfoVO> queryStepByProject1(@Param("dto") ProjectSearchDTO searchDTO); SgProjectInfoVO selectVOById(@Param("proframId") Long proframId); //List<String> getProjectIds(String code,@Param("grad") String grad ); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -43,7 +43,10 @@ </foreach> </if> <if test="dto.projectSort == null or dto.projectSort ==0"> ORDER BY info.status desc ORDER BY info.status desc ,info.project_progress desc </if> <if test="dto.projectSort ==1"> ORDER BY info.project_progress desc </if> <if test="dto.projectSort != null and dto.projectSort ==2"> ORDER BY info.sk_id asc @@ -360,6 +363,9 @@ </foreach> </if> </select> <select id="selectVOById" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO"> select * from ywxt.sg_project_info pro where pro.id = #{proframId} </select> <!-- <select id="getProjectIds" resultType="java.lang.String">--> <!-- </select>--> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -9,6 +9,7 @@ import cn.gistack.sm.sg.VO.SgStepReportVO; import cn.gistack.sm.sg.mapper.*; import cn.gistack.sm.sg.service.SgProgressReportService; import cn.gistack.sm.sg.service.SgProjectInfoService; import cn.hutool.http.useragent.UserAgentUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -61,6 +62,9 @@ @Autowired private SgProjectInfoMapper sgProjectInfoMapper; @Autowired private SgProjectInfoServiceImpl sgProjectInfoService; ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); @Override @@ -262,22 +266,32 @@ updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getUserId()).update(); }else { updateChainWrapper.set(SgProgressReportDO::getStatus,2).set(SgProgressReportDO::getAuditPerson,null).update(); Long proframId = sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId(); //工序审核完成后 进行项目和设备状态的判断 cachedThreadPool.execute(new Runnable(){ @Override public void run(){ setProgramAndDeviceStatus(sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId()); setProgramAndDeviceStatus(proframId); } }); cachedThreadPool.execute(new Runnable(){ @Override public void run(){ Long proframId = sgProgressReportMapper.selectById(approvalDTO.getId()).getProframId(); setProgramProgress(proframId); } }); } }else { updateChainWrapper.set(SgProgressReportDO::getStatus,3); updateChainWrapper.set(SgProgressReportDO::getResubmit,0); userUpdate.set(SgReportUserDO::getApprovalStatus,2); if (isReject==1){ /*if (isReject==1){ userUpdate.set(SgReportUserDO::getUserId,userId); } }*/ userUpdate.update(); for (SgReportUserDO reportUserDO : sgReportUserDOS) { /*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(); @@ -301,13 +315,26 @@ if (reportUserDO.getApprovalOrder()==1){ updateChainWrapper.set(SgProgressReportDO::getAuditPerson,reportUserDO.getUserId()); } } }*/ updateChainWrapper.update(); } } /** * 审批通过更新项目进度 * @param proframId */ public void setProgramProgress(Long proframId) { SgProjectInfoVO sgProjectInfoVO = sgProjectInfoMapper.selectVOById(proframId); List<SgProjectInfoDO> progress = sgProjectInfoService.getProjectProgress(Collections.singletonList(sgProjectInfoVO)); String projectProgress = progress.get(0).getProjectProgress(); if (StringUtils.isNotBlank(projectProgress)){ String s = projectProgress.substring(0, projectProgress.length() - 1); new LambdaUpdateChainWrapper<>(sgProjectInfoMapper).set(SgProjectInfoDO::getProjectProgress,s).update() ; } } private void setReportUser(Date date, SgReportUserDO reportUserDO) { reportUserDO.setId(null); reportUserDO.setApprovalStatus(0); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -54,13 +54,13 @@ @Override public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) { List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO); List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); /*List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); 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); } @@ -90,7 +90,7 @@ * @return */ @NotNull private List<SgProjectInfoDO> getProjectProgress(List<SgProjectInfoVO> list) { public List<SgProjectInfoDO> getProjectProgress(List<SgProjectInfoVO> list) { //项目分组 Map<Long, List<SgProjectInfoVO>> projectMap = list.stream().collect(Collectors.groupingBy(SgProjectInfoVO::getId)); List<SgProjectInfoDO> result = new ArrayList<>();