shenyijian
2024-09-20 0aa9af7bc8e34d539c990c5d714e24092a2d53e7
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -52,6 +52,7 @@
   public Object queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
      List<String> sgCodeS = getSgCodeByUser();
      searchDTO.setSgCodeS(sgCodeS);
//      setDeptId(searchDTO);
      Boolean isPage = searchDTO.getIsPage();
      if (isPage==null) isPage = true;
      if (isPage ){
@@ -61,7 +62,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);
//               setPercentage(s);
            });
         }
         return page.setRecords(sgProjectInfoDOS);
@@ -76,7 +77,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);
//               setPercentage(s);
            });
         }
         sgProjectInfoDOS.forEach(s->{
@@ -120,10 +121,11 @@
    * @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()+"%");
      s.setSurfaceProgress(StringUtils.isNotBlank(s.getSurfaceProgress()) ?null:s.getSurfaceProgress()+"%");
      s.setVideoProgress(StringUtils.isNotBlank(s.getVideoProgress())?null:s.getVideoProgress()+"%");
      s.setTransProgress(StringUtils.isNotBlank(s.getTransProgress())?null:s.getTransProgress()+"%");
      s.setSeepageProgress(StringUtils.isNotBlank(s.getSeepageProgress())?null:s.getSeepageProgress()+"%");
      s.setProjectAddress(StringUtils.isNotBlank(s.getProjectProgress())?null:s.getProjectProgress()+"%");
   }
   /**
@@ -301,6 +303,7 @@
    */
   @Override
   public IPage<SgProjectInfoVO> progressPage(IPage<SgProjectInfoVO> page, ProjectSearchDTO searchDTO) {
//      setDeptId(searchDTO);
      List<SgProjectInfoVO> list = new ArrayList<>();
         if(StringUtils.isNotBlank(searchDTO.getAdCode())){
            list =   sgProjectInfoMapper.progressList1(page, searchDTO);
@@ -334,7 +337,23 @@
   public List<SgProjectInfoDO> listAll(ProjectSearchDTO searchDTO) {
      List<String> sgCodeS = getSgCodeByUser();
      searchDTO.setSgCodeS(sgCodeS);
      return sgProjectInfoMapper.queryPageList(null,searchDTO);
      setDeptId(searchDTO);
      List<SgProjectInfoDO> list = sgProjectInfoMapper.queryPageList(null, searchDTO);
      return list;
   }
   /**
    * setDeptId
    * @param searchDTO
    */
   private  void setDeptId(ProjectSearchDTO searchDTO) {
      String deptId = AuthUtil.getDeptId();
      boolean b = Objects.nonNull(searchDTO.getIsUnit()) && searchDTO.getIsUnit() == 1;
      if (!deptId.equals("420000000000")){
         if (!b){
            searchDTO.setDeptId(deptId);
         }
      }
   }
   /**
@@ -394,13 +413,13 @@
            SgOperatingRateVO sVo = deviceTypes.get(vo.getProIds());
            if (Objects.nonNull(sVo)){
               vo.setSurfaceNum(sVo.getSurfaceNum());
               vo.setSurfaceProgress(sVo.getSurfaceProgress()==null?null:sVo.getSurfaceProgress()+"%");
               vo.setSurfaceProgress(sVo.getSurfaceProgress());
               vo.setVideoNum(sVo.getVideoNum());
               vo.setVideoProgress(sVo.getVideoProgress()==null?null:sVo.getVideoProgress()+"%");
               vo.setVideoProgress(sVo.getVideoProgress());
               vo.setTransNum(sVo.getTransNum());
               vo.setTransProgress(sVo.getTransProgress()==null?null:sVo.getTransProgress()+"%");
               vo.setTransProgress(sVo.getTransProgress());
               vo.setSeepageNum(sVo.getSeepageNum());
               vo.setSeepageProgress(sVo.getSeepageProgress()==null?null:sVo.getSeepageProgress()+"%");
               vo.setSeepageProgress(sVo.getSeepageProgress());
            }
         }
      }
@@ -455,7 +474,7 @@
                     BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
                     sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
                  }else {
                     sgOperatingRateVO.setSeepageProgress("0");
                     sgOperatingRateVO.setSeepageProgress("0%");
                  }
               }
               //视频
@@ -468,7 +487,7 @@
                     BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
                     sgOperatingRateVO.setVideoProgress(getBigDecimalPercent(divide));
                  }else {
                     sgOperatingRateVO.setVideoProgress("0");
                     sgOperatingRateVO.setVideoProgress("0%");
                  }
               }
               //渗压
@@ -481,7 +500,7 @@
                     BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
                     sgOperatingRateVO.setTransProgress(getBigDecimalPercent(divide));
                  }else {
                     sgOperatingRateVO.setTransProgress("0");
                     sgOperatingRateVO.setTransProgress("0%");
                  }
               }
               //渗流
@@ -494,7 +513,7 @@
                     BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
                     sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
                  }else {
                     sgOperatingRateVO.setSeepageProgress("0");
                     sgOperatingRateVO.setSeepageProgress("0%");
                  }
               }
               }
@@ -520,7 +539,11 @@
            for (String id : ids) {
               projectSearchDTO.setProjectId(id);
               List<SgProjectInfoVO> list = sgProjectInfoMapper.queryStepByProject(projectSearchDTO);
               getProjectProgress(list).forEach(ss -> bigDecimals.add(ss.getProjectProgressNum()));
               getProjectProgress(list).forEach(ss->{
                  if (Objects.nonNull(ss.getProjectProgressNum())){
                     bigDecimals.add(ss.getProjectProgressNum());
                  }
               });
            }
            BigDecimal reduce = bigDecimals.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -595,11 +618,13 @@
      BigDecimal percentage = bigDecimal.multiply(new BigDecimal("100"));
      // 如果不需要保留小数位,可以设置一个scale为0
      BigDecimal percentageRounded = percentage.setScale(0, RoundingMode.HALF_UP);
      return percentageRounded.toString();
      return percentageRounded+"%";
   }
   @Override
   public Map<String, Object> projectCount(ProjectSearchDTO searchDTO) {
      List<String> sgCodeS = getSgCodeByUser();
      searchDTO.setSgCodeS(sgCodeS);
      Map<String, Object> map  = new HashMap<>();
      List<SgProjectInfoVO> progressList = progressList(searchDTO);
      BigDecimal reduce = progressList.stream().filter(s->s.getProjectProgressNum()!=null).map(SgProjectInfoDO::getProjectProgressNum).reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -748,4 +773,11 @@
      return new ArrayList<>();
   }
   @Override
   public IPage<ResVO> resList(IPage<ResVO> page, ProjectSearchDTO dto) {
      List<String> sgCodeByUser = getSgCodeByUser();
      dto.setSgCodeS(sgCodeByUser);
      return page.setRecords(baseMapper.resList(page,dto));
   }
}