| | |
| | | |
| | | @Override |
| | | public void updateReport(SgProgressReportDO sgProgressReportDO) { |
| | | Long gxDeviceId = sgProgressReportDO.getGxDeviceId(); |
| | | Long gxStepId = sgProgressReportDO.getGxStepId(); |
| | | SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId); |
| | | List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); |
| | | 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(sgProgressReportDO.getGxDeviceId()==998){ |
| | | ProjectSearchDTO search = new ProjectSearchDTO(); |
| | | search.setProjectId(sgProgressReportDO.getProframId().toString()); |
| | | List<SgProjectInfoVO> sgProjectInfoVOS = sgProjectInfoMapper.queryStepByProject(search); |
| | | if(sgProjectInfoVOS != null){ |
| | | sgProjectInfoVOS.forEach(s ->{ |
| | | if(!s.getProjectStatus().equals(2)){ |
| | | throw new ServiceException("请完成所有设备工序审批!"); |
| | | } |
| | | }); |
| | | }else{ |
| | | throw new ServiceException("无设备审批数据!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (sgProgressReportDOS1!= null && sgProgressReportDOS1.size() > 0) { |
| | | for (SgProgressReportDO sgProgressReportDO1 : sgProgressReportDOS1) { |
| | | if (sgProgressReportDO1.getStatus()!= 2 && sgProgressReportDO1.getStatus()!= 3) { |
| | | throw new ServiceException("请先完成测量定位的审批!"); |
| | | } |
| | | } |
| | | } else if (sgProgressReportDOS1 == null || (!sgProgressReportDO.getGxStepName().equals("测量定位"))) { |
| | | throw new ServiceException("请先发起测量定位的审批!"); |
| | | } |
| | | |
| | | for (SgGxStepDO gxStepDO : list) { |
| | | if (Integer.parseInt(sgGxStepDO.getGxStepNum()) - Integer.parseInt(gxStepDO.getGxStepNum()) >= 1) { |
| | | QueryWrapper<SgProgressReportDO> wrapper1 = new QueryWrapper<>(); |
| | | wrapper1.eq("gx_step_id", gxStepDO.getId()); |
| | | wrapper1.eq("gx_device_id",gxDeviceId); |
| | | wrapper1.ne("status",4); |
| | | wrapper1.ne("status",3); |
| | | SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper1); |
| | | if (one == null || one.getStatus() != 2) { |
| | | throw new ServiceException("请先完成" + gxStepDO.getGxStepName() + "的审批!"); |
| | | } |
| | | } |
| | | } |
| | | sgProgressReportMapper.updateById(sgProgressReportDO); |
| | | } |
| | | |