shenyijian
2024-09-13 f8c80586bfc419db594673b8ea0524a246d596ca
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -61,6 +61,7 @@
            Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
            sgProjectInfoDOS.forEach(s->{
               s.setProjectProgress(progressMap.get(s.getId()));
               setPercentage(s);
            });
         }
         return page.setRecords(sgProjectInfoDOS);
@@ -75,6 +76,7 @@
            Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
            sgProjectInfoDOS.forEach(s->{
               s.setProjectProgress(progressMap.get(s.getId()));
               setPercentage(s);
            });
         }
         sgProjectInfoDOS.forEach(s->{
@@ -111,6 +113,17 @@
         return sgProjectInfoDOS;
      }
   }
   /**
    * 设置百分号
    * @param s
    */
   private void setPercentage(SgProjectInfoDO s) {
      s.setSurfaceProgress(s.getSurfaceProgress()==null?null:s.getSurfaceProgress()+"%");
      s.setVideoProgress(s.getVideoProgress()==null?null:s.getVideoProgress()+"%");
      s.setTransProgress(s.getTransProgress()==null?null:s.getTransProgress()+"%");
      s.setSeepageProgress(s.getSeepageProgress()==null?null:s.getSeepageProgress()+"%");
   }
   /**
@@ -381,13 +394,13 @@
            SgOperatingRateVO sVo = deviceTypes.get(vo.getProIds());
            if (Objects.nonNull(sVo)){
               vo.setSurfaceNum(sVo.getSurfaceNum());
               vo.setSurfaceProgress(sVo.getSurfaceProgress()+"%");
               vo.setSurfaceProgress(sVo.getSurfaceProgress()==null?null:sVo.getSurfaceProgress()+"%");
               vo.setVideoNum(sVo.getVideoNum());
               vo.setVideoProgress(sVo.getVideoProgress()+"%");
               vo.setVideoProgress(sVo.getVideoProgress()==null?null:sVo.getVideoProgress()+"%");
               vo.setTransNum(sVo.getTransNum());
               vo.setTransProgress(sVo.getTransProgress()+"%");
               vo.setTransProgress(sVo.getTransProgress()==null?null:sVo.getTransProgress()+"%");
               vo.setSeepageNum(sVo.getSeepageNum());
               vo.setSeepageProgress(sVo.getSeepageProgress()+"%");
               vo.setSeepageProgress(sVo.getSeepageProgress()==null?null:sVo.getSeepageProgress()+"%");
            }
         }
      }
@@ -423,7 +436,7 @@
   /**
    * 统计设备类型开工率
    */
   private Map<String,SgOperatingRateVO> getDeviceTypes(List<String> projectIds) {
   public Map<String,SgOperatingRateVO> getDeviceTypes(List<String> projectIds) {
      Map<String,SgOperatingRateVO> result = new HashMap<>();
      if (CollectionUtils.isNotEmpty(projectIds)){
         for (String proIds : projectIds) {
@@ -648,6 +661,14 @@
      dto.setSgCodeS(sgCodeS);
      List<SgProjectTreeVO> list =    sgProjectInfoMapper.projectTree(dto);
      if (CollectionUtils.isNotEmpty(list)){
         list.forEach(x->{
            if (StringUtils.isBlank(x.getCountyNm())){
               x.setCountyNm(x.getCityNm());
            }
            if (StringUtils.isBlank(x.getTownNm())){
               x.setTownNm(x.getCountyNm());
            }
         });
         // 按省、片区、市、县、乡镇分组
         Map<String, Map<String, Map<String, Map<String, Map<String, List<SgProjectTreeVO>>>>>> groupedProjects = list.stream()
            .collect(