From 7f3b30605ca7a30a0e5b5f4772e451a244db50f2 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Wed, 18 Sep 2024 17:35:23 +0800
Subject: [PATCH] 湖北水库:项目下拉列表过滤

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index 1fb2f5e..b8bfbde 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/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,7 +618,7 @@
 		BigDecimal percentage = bigDecimal.multiply(new BigDecimal("100"));
 		// 如果不需要保留小数位,可以设置一个scale为0
 		BigDecimal percentageRounded = percentage.setScale(0, RoundingMode.HALF_UP);
-		return percentageRounded.toString();
+		return percentageRounded+"%";
 	}
 
 	@Override

--
Gitblit v1.9.3