| | |
| | | SgDeviceDO sgDeviceDO = new SgDeviceDO(); |
| | | sgDeviceDO.setId(dId); |
| | | sgDeviceDO.setDeviceName(deList.get(0).getDeviceName()); |
| | | sgDeviceDO.setStatus( deList.get(0).getDeviceStatus()); |
| | | List<SgGxStepDO> stepDOS = deList.stream().filter(s->s.getReportStatus()==null || s.getReportStatus()!=4).map(s -> SgGxStepDO.builder().id(s.getStepId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList()); |
| | | List<SgGxStepDO> stepOver = stepDOS.stream().filter(s -> s.getApprovalStatus() != null && s.getApprovalStatus() == 2).collect(Collectors.toList()); |
| | | BigDecimal stepSize = BigDecimal.valueOf(stepDOS.size()); |
| | |
| | | stepOverSize = BigDecimal.valueOf(stepOver.size()); |
| | | } |
| | | BigDecimal divide = stepOverSize.divide(stepSize, 2, RoundingMode.HALF_UP); |
| | | sgDeviceDO.setStatus(divide.compareTo(new BigDecimal(1)) == 0?2:deList.get(0).getDeviceStatus()); |
| | | sgDeviceDO.setProgress(divide.toString()); |
| | | sgDeviceDO.setDeviceProgress(getBigDecimalPercent(divide)); |
| | | sgDeviceDO.setStepDOList(stepDOS); |
| | |
| | | @Override |
| | | public List<SgProjectInfoVO> progressList(ProjectSearchDTO searchDTO) { |
| | | List<SgProjectInfoVO> list = new ArrayList<>(); |
| | | List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); |
| | | List<SgProjectInfoDO> projectProgress = new ArrayList<>(); |
| | | if(!searchDTO.getAdCode().isEmpty()){ |
| | | projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject1(searchDTO)); |
| | | }else { |
| | | projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(projectProgress)){ |
| | | projectProgress.forEach(s->{ |
| | | SgProjectInfoVO sgProjectInfoVO = new SgProjectInfoVO(); |
| | |
| | | */ |
| | | @Override |
| | | public IPage<SgProjectInfoVO> progressPage(IPage<SgProjectInfoVO> page, ProjectSearchDTO searchDTO) { |
| | | List<SgProjectInfoVO> list = sgProjectInfoMapper.progressList(page, searchDTO); |
| | | List<SgProjectInfoVO> list = new ArrayList<>(); |
| | | if(!searchDTO.getAdCode().isEmpty()){ |
| | | list = sgProjectInfoMapper.progressList1(page, searchDTO); |
| | | }else { |
| | | list = sgProjectInfoMapper.progressList(page, searchDTO); |
| | | } |
| | | |
| | | List<Long> ids = list.stream().map(SgProjectInfoVO::getId).collect(Collectors.toList()); |
| | | searchDTO.setProjectIds(ids); |
| | | List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); |
| | | List<SgProjectInfoDO> projectProgress = new ArrayList<>(); |
| | | if(!searchDTO.getAdCode().isEmpty()){ |
| | | projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject1(searchDTO)); |
| | | }else { |
| | | projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO)); |
| | | } |
| | | |
| | | if (CollectionUtils.isNotEmpty(projectProgress)){ |
| | | Map<Long, String> progressMap = projectProgress.stream().filter(s->s!=null && s.getProjectProgress() !=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress)); |
| | | list.forEach(s->{ |