| | |
| | | sgProgressReportMapper.insert(sgProgressReportDO); |
| | | return; |
| | | } |
| | | QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>(); |
| | | wrappers.eq("profram_id", sgProgressReportDO.getProframId()).ne("status", 4).eq("gx_step_name", "施工准备"); |
| | | List<SgProgressReportDO> sgProgressReportDOS1 = sgProgressReportMapper.selectList(wrappers); |
| | | |
| | | if (sgProgressReportDOS1!= null && sgProgressReportDOS1.size() > 0) { |
| | | for (SgProgressReportDO sgProgressReportDO1 : sgProgressReportDOS1) { |
| | | if (sgProgressReportDO1.getStatus()!= 2) { |
| | | throw new ServiceException("请先完成施工准备的审批!"); |
| | | } |
| | | } |
| | | } else if (sgProgressReportDOS1 == null || (!sgProgressReportDO.getGxStepName().equals("施工准备"))) { |
| | | throw new ServiceException("请先发起施工准备的审批!"); |
| | | } |
| | | Long gxDeviceId = sgProgressReportDO.getGxDeviceId(); |
| | | Long gxStepId = sgProgressReportDO.getGxStepId(); |
| | | SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId); |
| | |
| | | sgReportVO.setProframId(firstReport.getProframId()); |
| | | return sgReportVO; |
| | | } else { |
| | | sgReportVO.setGxDeviceId(deviceId); |
| | | sgReportVO.setGxStepId(stepId); |
| | | sgReportVO.setId(firstReport.getId()); |
| | | sgReportVO.setProframId(firstReport.getProframId()); |
| | | 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); |
| | | wrappers.eq("gx_device_id", deviceId).ne("status", 4).orderByDesc("create_time"); |
| | | |
| | | sgProgressReportDOS = sgProgressReportMapper.selectList(wrappers); |
| | | |
| | | |
| | | if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) { |
| | | sgProgressReportDOS.sort((u1, u2) -> u2.getCreateTime().compareTo(u1.getCreateTime())); |
| | |
| | | sgReportVO.setGxDeviceId(deviceId); |
| | | sgReportVO.setGxStepId(stepId); |
| | | sgReportVO.setProframId(firstReport.getProframId()); |
| | | return sgReportVO; |
| | | } else { |
| | | throw new ServiceException("上一工序未审批完,当前不能上报"); |
| | | throw new ServiceException("请完成上一步工序!"); |
| | | } |
| | | } else { |
| | | throw new ServiceException("未找到相关审批资料"); |
| | | } |
| | | } |
| | | sgReportVO.setGxDeviceId(deviceId); |
| | | sgReportVO.setGxStepId(stepId); |
| | | sgReportVO.setProframId(sgProgressReportMapper.selectProframId(deviceId)); |
| | | |
| | | return sgReportVO; |
| | | } |
| | | } |
| | | |