| | |
| | | @Autowired |
| | | private SgProjectInfoServiceImpl sgProjectInfoService; |
| | | |
| | | @Autowired |
| | | private SgGxMapper sgGxMapper; |
| | | |
| | | |
| | | |
| | | ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); |
| | |
| | | List<String> resultUsers=new ArrayList<>(); |
| | | if(s.getControlUnit()!=null){ |
| | | String controlUnit = s.getControlUnit(); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnit); |
| | | List<String> controlUnitS = Arrays.asList(controlUnit.split(",")); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | resultUsers.addAll(users); |
| | | } |
| | | // if(s.getSelfUnit()!=null){ |
| | | // String selfUnit = s.getSelfUnit().toString(); |
| | | // List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnit); |
| | | // resultUsers.addAll(selfUnitusers); |
| | | // } |
| | | if(s.getSelfUnit()!=null){ |
| | | String selfUnit = s.getSelfUnit(); |
| | | List<String> selfUnitS = Arrays.asList(selfUnit.split(",")); |
| | | List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnitS); |
| | | resultUsers.addAll(selfUnitusers); |
| | | } |
| | | |
| | | |
| | | s.setUserIDs(resultUsers); |
| | |
| | | if("测量定位".equals(gxStepName)){ |
| | | |
| | | if(countyCd!=null){ |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd); |
| | | List<String> controlUnitS = Arrays.asList(countyCd.split(",")); |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | s.setXbUnitIDs(xbUnitIDs); |
| | | } |
| | | |
| | |
| | | } |
| | | @Override |
| | | public IPage<SgProgressReportVO> queryPageListAll(IPage<SgProgressReportVO> page, ProjectSearchDTO searchDTO) { |
| | | if (StringUtils.isNotBlank(searchDTO.getTypeName())){ |
| | | List<String> childType = sgGxMapper.childType(searchDTO.getTypeName()); |
| | | searchDTO.setChildTypeList(childType); |
| | | } |
| | | List<SgProgressReportVO> list = sgProgressReportMapper.queryPageListAll(page,searchDTO); |
| | | if(list != null){ |
| | | list.forEach(s ->{ |
| | | List<String> resultUsers=new ArrayList<>(); |
| | | if(s.getControlUnit()!=null){ |
| | | String controlUnit = s.getControlUnit(); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnit); |
| | | List<String> controlUnitS = Arrays.asList(controlUnit.split(",")); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | resultUsers.addAll(users); |
| | | } |
| | | // if(s.getSelfUnit()!=null){ |
| | | // String selfUnit = s.getSelfUnit().toString(); |
| | | // List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnit); |
| | | // resultUsers.addAll(selfUnitusers); |
| | | // } |
| | | if(s.getSelfUnit()!=null){ |
| | | String selfUnit = s.getSelfUnit(); |
| | | List<String> selfUnitS = Arrays.asList(selfUnit.split(",")); |
| | | List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnitS); |
| | | resultUsers.addAll(selfUnitusers); |
| | | } |
| | | |
| | | |
| | | s.setUserIDs(resultUsers); |
| | |
| | | if("测量定位".equals(gxStepName)){ |
| | | |
| | | if(countyCd!=null){ |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd); |
| | | List<String> controlUnitS = Arrays.asList(countyCd.split(",")); |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | s.setXbUnitIDs(xbUnitIDs); |
| | | } |
| | | |
| | |
| | | @Transactional |
| | | public void add(SgProgressReportDO sgProgressReportDO) { |
| | | String resubmitId = sgProgressReportDO.getResubmitId(); |
| | | Long roleId = getRoleId(); |
| | | if (StringUtils.isNotBlank(resubmitId)){ |
| | | new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId,resubmitId).set(SgProgressReportDO::getResubmit,1).update(); |
| | | } |
| | |
| | | |
| | | } |
| | | QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>(); |
| | | wrappers.eq("profram_id", sgProgressReportDO.getProframId()).ne("status", 4).eq("gx_step_name", "施工准备"); |
| | | wrappers.eq("profram_id", sgProgressReportDO.getProframId()).ne("status", 4).eq("gx_step_name", "测量定位"); |
| | | List<SgProgressReportDO> sgProgressReportDOS1 = sgProgressReportMapper.selectList(wrappers); |
| | | |
| | | if(sgProgressReportDO.getGxDeviceId()==998){ |
| | |
| | | if (sgProgressReportDOS1!= null && sgProgressReportDOS1.size() > 0) { |
| | | for (SgProgressReportDO sgProgressReportDO1 : sgProgressReportDOS1) { |
| | | if (sgProgressReportDO1.getStatus()!= 2 && sgProgressReportDO1.getStatus()!= 3) { |
| | | throw new ServiceException("请先完成施工准备的审批!"); |
| | | throw new ServiceException("请先完成测量定位的审批!"); |
| | | } |
| | | } |
| | | } else if (sgProgressReportDOS1 == null || (!sgProgressReportDO.getGxStepName().equals("施工准备"))) { |
| | | throw new ServiceException("请先发起施工准备的审批!"); |
| | | } else if (sgProgressReportDOS1 == null || (!sgProgressReportDO.getGxStepName().equals("测量定位"))) { |
| | | throw new ServiceException("请先发起测量定位的审批!"); |
| | | } |
| | | Long gxDeviceId = sgProgressReportDO.getGxDeviceId(); |
| | | Long gxStepId = sgProgressReportDO.getGxStepId(); |
| | |
| | | List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId()); |
| | | QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>(); |
| | | wrapper.in("status",Arrays.asList(0,1,2,3)); |
| | | if(sgProgressReportDO.getGxDeviceId()==998 || sgProgressReportDO.getGxDeviceId()==999){ |
| | | if(sgProgressReportDO.getGxDeviceId()==998 |
| | | || sgProgressReportDO.getGxDeviceId()==999 |
| | | ){ |
| | | wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4).eq("profram_id",sgProgressReportDO.getProframId()); |
| | | }else { |
| | | wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4); |
| | |
| | | String deviceType =""; |
| | | SgDeviceDO sgDeviceDO = new SgDeviceDO(); |
| | | if (gxDeviceId == 999){ |
| | | deviceType = "sgzb"; |
| | | sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).roleId(Long.parseLong("1811657352658042882")).approvalStatus(0).approvalOrder(1).build()); |
| | | }else if(gxDeviceId == 998){ |
| | | deviceType = "cldw"; |
| | | //sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).roleId(Long.parseLong("1811657352658042882")).approvalStatus(0).approvalOrder(1).build()); |
| | | }else |
| | | if(gxDeviceId == 998){ |
| | | deviceType = "sgys"; |
| | | sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).roleId(Long.parseLong("1811657352658042882")).approvalStatus(0).approvalOrder(1).build()); |
| | | //sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).roleId(Long.parseLong("1811657352658042882")).approvalStatus(0).approvalOrder(1).build()); |
| | | }else { |
| | | sgDeviceDO = sgDeviceMapper.selectById(gxDeviceId); |
| | | deviceType = sgDeviceDO.getDeviceType(); |
| | |
| | | // } |
| | | //Map<Long, Long> userMap = personConfigDOS.stream().collect(Collectors.toMap(SgProjectPersonConfigDO::getRoldId, SgProjectPersonConfigDO::getUserId)); |
| | | //新增审批记录 |
| | | if (gxDeviceId != 998 && gxDeviceId != 999){ |
| | | sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).userId(sgProgressReportDO.getReportUser()).approvalContent("提交审批").roleId(Long.parseLong(AuthUtil.getUser().getRoleId())).approvalStatus(0).approvalOrder(0).approvalTime(now).build()); |
| | | } |
| | | sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).userId(sgProgressReportDO.getReportUser()).approvalContent("提交审批").roleId(roleId).approvalStatus(0).approvalOrder(0).approvalTime(now).build()); |
| | | for (SgGxConfigDO sgGxConfigDO : sgGxConfigDOS) { |
| | | //sgGxConfigDO.setUser(userMap.get(Long.parseLong(sgGxConfigDO.getRoleId()))); |
| | | sgReportUserMapper.insert(SgReportUserDO.builder().reportId(sgProgressReportDO.getId()).roleId(Long.parseLong(sgGxConfigDO.getRoleId())).approvalStatus(0).approvalOrder(sgGxConfigDO.getSgOrder()).build()); |
| | |
| | | } |
| | | |
| | | //加个项目及设备的状态判断 方便统计计算 |
| | | if(gxStepId != 25 && gxStepId != 26 ) { |
| | | if(gxStepId != 20 && |
| | | gxStepId != 26 ) { |
| | | if (sgDeviceDO != null && sgDeviceDO.getStatus() == 0) { |
| | | sgDeviceDO.setStatus(1); |
| | | sgDeviceMapper.updateById(sgDeviceDO); |
| | | } |
| | | } |
| | | SgProjectInfoDO sgProjectInfoDO = sgProjectInfoMapper.selectById(sgProgressReportDO.getProframId()); |
| | | if (sgProjectInfoDO != null && sgProjectInfoDO.getStatus() == 0) { |
| | | Integer status = sgProjectInfoDO.getStatus(); |
| | | if (sgProjectInfoDO != null && ( Objects.isNull(status)||0 == status)) { |
| | | sgProjectInfoDO.setStatus(1); |
| | | sgProjectInfoMapper.updateById(sgProjectInfoDO); |
| | | } |
| | |
| | | sgProgressReportVO.setDeviceName(sgDeviceDO.getDeviceName()); |
| | | }else { |
| | | sgProgressReportVO.setDeviceName("");} |
| | | List<SgReportUserDO> list = new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId,id).orderByAsc(SgReportUserDO::getApprovalTime).list(); |
| | | List<Long> ids = list.stream().map(s -> s.getUserId()).collect(Collectors.toList()); |
| | | List<SgReportUserDO> list = new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId,id).orderByAsc(SgReportUserDO::getApprovalOrder).list(); |
| | | List<Long> ids = list.stream().map(SgReportUserDO::getUserId).collect(Collectors.toList()); |
| | | List<Long> idsCounty = list.stream().filter(s->s.getRoleId().equals(1811657352658042882L)).map(SgReportUserDO::getUserId).collect(Collectors.toList()); |
| | | List<Long> rids = list.stream().map(SgReportUserDO::getRoleId).collect(Collectors.toList()); |
| | | List<Map<String,Object>> users = sgProgressReportMapper.getUserByIds(ids); |
| | | List<Map<String,Object>> usersCounty = sgProgressReportMapper.getUserByIdsCounty(idsCounty); |
| | | users.addAll(usersCounty); |
| | | List<Map<String,Object>> roles = sgProgressReportMapper.getRoleByIds(rids); |
| | | |
| | | for (Map<String, Object> user : users) { |
| | | for (SgReportUserDO sgReportUserDO : list) { |
| | | if (user.get("ID").equals(sgReportUserDO.getUserId())){ |
| | | sgReportUserDO.setUserName(user.get("REAL_NAME").toString()); |
| | | sgReportUserDO.setDeptName(user.get("DEPTNAME").toString()); |
| | | } |
| | | } |
| | | } |
| | | for (Map<String, Object> r : roles) { |
| | | for (SgReportUserDO sgReportUserDO : list) { |
| | | if (r.get("ID").equals(sgReportUserDO.getRoleId())){ |
| | | sgReportUserDO.setRoleName(r.get("ROLENAME").toString()); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | if(sgProgressReportVO.getControlUnit()!=null){ |
| | | String controlUnit = sgProgressReportVO.getControlUnit(); |
| | | List<String> users1=sgProjectInfoMapper.getUserS(controlUnit); |
| | | List<String> controlUnitS = Arrays.asList(controlUnit.split(",")); |
| | | List<String> users1=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | sgProgressReportVO.setUserIDs(users1); |
| | | } |
| | | String gxStepName = sgProgressReportVO.getGxStepName(); |
| | |
| | | if("测量定位".equals(gxStepName)){ |
| | | |
| | | if(countyCd!=null){ |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd); |
| | | List<String> controlUnitS = Arrays.asList(countyCd.split(",")); |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | sgProgressReportVO.setXbUnitIDs(xbUnitIDs); |
| | | } |
| | | |
| | |
| | | Integer isReject = approvalDTO.getIsReject(); |
| | | Long userId = approvalDTO.getUserId(); |
| | | Long id = approvalDTO.getId(); |
| | | String roleId = AuthUtil.getUser().getRoleId(); |
| | | Long roleId = getRoleId(); |
| | | QueryWrapper<SgProgressReportDO> wrappers = new QueryWrapper<>(); |
| | | wrappers.eq("id", id); |
| | | SgProgressReportDO sgProgressReportDOS1 = sgProgressReportMapper.selectOne(wrappers); |
| | |
| | | //审批者 |
| | | SgReportUserDO sgReportUserDO = new SgReportUserDO(); |
| | | if (isReject==1){ |
| | | sgReportUserDO = sgReportUserDOS.get(0); |
| | | sgReportUserDO = SgReportUserDO.builder().reportId(approvalDTO.getId()).approvalOrder(sgReportUserDOS.get(sgReportUserDOS.size() - 1).getApprovalOrder()+1).roleId(roleId).build(); |
| | | sgReportUserMapper.insert(sgReportUserDO); |
| | | }else { |
| | | sgReportUserDO = sgReportUserDOS.stream().filter(s -> s.getRoleId().equals(Long.parseLong(sgProgressReportDO.getAuditPerson()))).findFirst().get(); |
| | | } |
| | |
| | | updateChainWrapper.set(SgProgressReportDO::getResubmit,0); |
| | | userUpdate.set(SgReportUserDO::getApprovalStatus,2); |
| | | userUpdate.set(SgReportUserDO::getUserId,userId); |
| | | if (isReject==1){ |
| | | userUpdate.set(SgReportUserDO::getUserId,userId); |
| | | } |
| | | userUpdate.update(); |
| | | /*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(); |
| | | setReportUser(date, reportUserDO); |
| | | sgReportUserMapper.insert(reportUserDO); |
| | | try { |
| | | Thread.sleep(100); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }else if (reportUserDO.getApprovalOrder()>sgReportUserDO.getApprovalOrder()){ |
| | | sgReportUserMapper.deleteById(reportUserDO.getId()); |
| | | setReportUser(date, reportUserDO); |
| | | sgReportUserMapper.insert(reportUserDO); |
| | | try { |
| | | Thread.sleep(100); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | if (reportUserDO.getApprovalOrder()==1){ |
| | | updateChainWrapper.set(SgProgressReportDO::getAuditPerson,reportUserDO.getUserId()); |
| | | } |
| | | }*/ |
| | | updateChainWrapper.update(); |
| | | } |
| | | |
| | |
| | | |
| | | @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); |
| | | } |
| | | |
| | | @Override |
| | | public List<SgProgressReportVO> queryList(ProjectSearchDTO searchDTO) { |
| | | BladeUser user = AuthUtil.getUser(); |
| | | if(!user.getRoleId().equals("1811657352658042882")){ |
| | | |
| | | searchDTO.setUserUnit(Long.parseLong(user.getDeptId())); |
| | | }else{ |
| | | searchDTO.setCountryUnit(Long.parseLong(user.getDeptId())); |
| | | } |
| | | searchDTO.setRoleUnit(Long.parseLong(user.getRoleId())); |
| | | Long roleId = getRoleId(); |
| | | setUnit(searchDTO,user,roleId); |
| | | searchDTO.setRoleUnit(roleId); |
| | | //searchDTO.setUserId(userId); |
| | | List<SgProgressReportVO> list = sgProgressReportMapper.queryList(searchDTO); |
| | | if(list != null){ |
| | |
| | | List<String> resultUsers=new ArrayList<>(); |
| | | if(s.getControlUnit()!=null){ |
| | | String controlUnit = s.getControlUnit(); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnit); |
| | | List<String> controlUnitS = Arrays.asList(controlUnit.split(",")); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | resultUsers.addAll(users); |
| | | } |
| | | // if(s.getSelfUnit()!=null){ |
| | | // String selfUnit = s.getSelfUnit().toString(); |
| | | // List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnit); |
| | | // resultUsers.addAll(selfUnitusers); |
| | | // } |
| | | if(s.getSelfUnit()!=null){ |
| | | String selfUnit = s.getSelfUnit(); |
| | | List<String> selfUnitS = Arrays.asList(selfUnit.split(",")); |
| | | List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnitS); |
| | | resultUsers.addAll(selfUnitusers); |
| | | } |
| | | |
| | | |
| | | s.setUserIDs(resultUsers); |
| | |
| | | if("测量定位".equals(gxStepName)){ |
| | | |
| | | if(countyCd!=null){ |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd); |
| | | List<String> controlUnitS = Arrays.asList(countyCd.split(",")); |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | s.setXbUnitIDs(xbUnitIDs); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public Map<String, Long> countList(ProjectSearchDTO searchDTO) { |
| | | BladeUser user = AuthUtil.getUser(); |
| | | if(!user.getRoleId().equals("1811657352658042882")){ |
| | | Long roleId = getRoleId(); |
| | | setUnit(searchDTO,user,roleId); |
| | | |
| | | searchDTO.setUserUnit(Long.parseLong(user.getDeptId())); |
| | | }else{ |
| | | searchDTO.setCountryUnit(Long.parseLong(user.getDeptId())); |
| | | } |
| | | |
| | | searchDTO.setRoleUnit(Long.parseLong(user.getRoleId())); |
| | | searchDTO.setRoleUnit(roleId); |
| | | //searchDTO.setUserId(userId); |
| | | //searchDTO.setAuditPerson(userId.toString()); |
| | | List<SgProgressReportVO> all = sgProgressReportMapper.queryList(searchDTO); |
| | |
| | | |
| | | @Override |
| | | public Map<String, Long> countListAll(ProjectSearchDTO searchDTO) { |
| | | if (StringUtils.isNotBlank(searchDTO.getTypeName())){ |
| | | List<String> childType = sgGxMapper.childType(searchDTO.getTypeName()); |
| | | searchDTO.setChildTypeList(childType); |
| | | } |
| | | List<SgProgressReportVO> list = sgProgressReportMapper.queryPageListAll(null, searchDTO); |
| | | Map<String, Long> map = new HashMap<>(); |
| | | getStatusCountByList(list, map); |
| | |
| | | return true; |
| | | } |
| | | |
| | | public Long getRoleId(){ |
| | | BladeUser user = AuthUtil.getUser(); |
| | | List<String> userRole = Arrays.asList(user.getRoleId().split(",")); |
| | | List<Long> roleList = sgProgressReportMapper.getSgEngineerRole(); |
| | | Long roleId = null; |
| | | for (String s : userRole) { |
| | | long l = Long.parseLong(s); |
| | | if (roleList.contains(l)){ |
| | | roleId = l; |
| | | } |
| | | } |
| | | if (Objects.isNull(roleId)){ |
| | | roleId = Long.parseLong(userRole.get(0)); |
| | | } |
| | | return roleId; |
| | | } |
| | | |
| | | @Override |
| | | public IPage<SgProgressReportVO> progressPage(IPage<SgProgressReportVO> page, ProjectSearchDTO searchDTO) { |
| | | BladeUser user = AuthUtil.getUser(); |
| | | //判断是不是县级建办 否的话就是监理单位下人员进行 |
| | | if(!user.getRoleId().equals("1811657352658042882")){ |
| | | searchDTO.setUserUnit(Long.parseLong(user.getDeptId())); |
| | | }else{ |
| | | searchDTO.setCountryUnit(Long.parseLong(user.getDeptId())); |
| | | } |
| | | searchDTO.setRoleUnit(Long.parseLong(user.getRoleId())); |
| | | Long roleId = getRoleId(); |
| | | setUnit(searchDTO, user, roleId); |
| | | searchDTO.setRoleUnit(roleId); |
| | | // if (searchDTO.getApprovalStatus()!=null && searchDTO.getApprovalStatus() ==0){ |
| | | // searchDTO.setAuditPerson(String.valueOf(userId)); |
| | | // } |
| | |
| | | List<String> resultUsers=new ArrayList<>(); |
| | | if(s.getControlUnit()!=null){ |
| | | String controlUnit = s.getControlUnit(); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnit); |
| | | List<String> controlUnitS = Arrays.asList(controlUnit.split(",")); |
| | | List<String> users=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | resultUsers.addAll(users); |
| | | } |
| | | // if(s.getSelfUnit()!=null){ |
| | | // String selfUnit = s.getSelfUnit().toString(); |
| | | // List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnit); |
| | | // resultUsers.addAll(selfUnitusers); |
| | | // } |
| | | if(s.getSelfUnit()!=null){ |
| | | String selfUnit = s.getSelfUnit(); |
| | | List<String> selfUnitS = Arrays.asList(selfUnit.split(",")); |
| | | List<String> selfUnitusers=sgProjectInfoMapper.getUserS(selfUnitS); |
| | | resultUsers.addAll(selfUnitusers); |
| | | } |
| | | |
| | | |
| | | s.setUserIDs(resultUsers); |
| | |
| | | if("测量定位".equals(gxStepName)){ |
| | | |
| | | if(countyCd!=null){ |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(countyCd); |
| | | List<String> controlUnitS = Arrays.asList(countyCd.split(",")); |
| | | List<String> xbUnitIDs=sgProjectInfoMapper.getUserS(controlUnitS); |
| | | s.setXbUnitIDs(xbUnitIDs); |
| | | } |
| | | |
| | |
| | | return page.setRecords(list); |
| | | } |
| | | |
| | | /** |
| | | * 设置部门单位查询条件 |
| | | */ |
| | | private void setUnit(ProjectSearchDTO searchDTO, BladeUser user, Long roleId) { |
| | | List<String> longList = Arrays.stream(user.getDeptId().split(",")) |
| | | .collect(Collectors.toList()); |
| | | //判断是不是省厅建办 否的话就不设置部门 |
| | | if (!roleId.equals(1800820667082948610L)){ |
| | | //判断是不是县级建办 否的话就是监理单位下人员进行 |
| | | if(roleId.equals(1800820855352672257L)){ |
| | | searchDTO.setUserUnit(longList); |
| | | } |
| | | |
| | | if(roleId.equals(1811657352658042882L)) { |
| | | searchDTO.setCountryUnit(longList); |
| | | } |
| | | |
| | | if(roleId.equals(1800818489547112450L)){ |
| | | searchDTO.setSelfUnit(longList); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public String getDeviceReport(Long gxDeviceId, Long gxStepId) { |
| | | QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>(); |