| | |
| | | import cn.gistack.sm.sg.DTO.ApprovalDTO; |
| | | import cn.gistack.sm.sg.DTO.ProjectSearchDTO; |
| | | import cn.gistack.sm.sg.VO.SgProgressReportVO; |
| | | import cn.gistack.sm.sg.VO.SgReportVO; |
| | | import cn.gistack.sm.sg.VO.SgStepReportVO; |
| | | import cn.gistack.sm.sg.mapper.*; |
| | | import cn.gistack.sm.sg.service.SgProgressReportService; |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public SgReportVO getDeviceReportcopy(Long deviceId, Long stepId) { |
| | | SgReportVO sgReportVO = new SgReportVO(); |
| | | QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("gx_device_id", deviceId).ne("status", 4); |
| | | |
| | | if (stepId!= null) { |
| | | wrapper.eq("gx_step_id", stepId); |
| | | } |
| | | |
| | | List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper); |
| | | |
| | | // 先检查列表是否为空,进行后续操作 |
| | | if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) { |
| | | sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime())); |
| | | SgProgressReportDO firstReport = sgProgressReportDOS.get(0); |
| | | |
| | | if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(3)) { |
| | | sgReportVO.setGxDeviceId(deviceId); |
| | | sgReportVO.setGxStepId(stepId); |
| | | sgReportVO.setId(firstReport.getId()); |
| | | sgReportVO.setProframId(firstReport.getProframId()); |
| | | return sgReportVO; |
| | | } else { |
| | | sgReportVO.setId(firstReport.getId()); |
| | | return sgReportVO; |
| | | } |
| | | } else { |
| | | |
| | | Long prevStepId = stepId - 1; |
| | | QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>(); |
| | | wrappers.eq("gx_device_id", deviceId).ne("status", 4).eq("gx_step_id", prevStepId); |
| | | |
| | | sgProgressReportDOS = sgProgressReportMapper.selectList(wrappers); |
| | | |
| | | if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) { |
| | | sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime())); |
| | | SgProgressReportDO firstReport = sgProgressReportDOS.get(0); |
| | | |
| | | if (firstReport.getReportUser().equals(AuthUtil.getUserId()) && firstReport.getStatus().equals(2)) { |
| | | sgReportVO.setGxDeviceId(deviceId); |
| | | sgReportVO.setGxStepId(stepId); |
| | | sgReportVO.setProframId(firstReport.getProframId()); |
| | | return sgReportVO; |
| | | } else { |
| | | throw new ServiceException("上一工序未审批完,当前不能上报"); |
| | | } |
| | | } else { |
| | | throw new ServiceException("未找到相关审批资料"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |