From 316ce3af8b9b04b490468b15243454c7fba0d2ea Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Mon, 28 Oct 2024 18:10:58 +0800
Subject: [PATCH] 湖北水库:所有项目添加测量定位工序

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 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 d48235a..2faa514 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
@@ -162,7 +162,7 @@
 	public List<SgProjectInfoDO> queryStepByProject(ProjectSearchDTO searchDTO) {
 		List<PreAcceVO>  palist = new ArrayList<>();
 		List<SgProjectInfoVO> list = sgProjectInfoMapper.queryStepByProject( searchDTO);
-		palist.add(handleQuery(25, list.get(0).getId()));
+		palist.add(handleQuery(20, list.get(0).getId()));
 		palist.add(handleQuery(26, list.get(0).getId()));
 		List<SgProjectInfoDO> projectProgress = getProjectProgress(list);
 		projectProgress.forEach(s->{
@@ -180,8 +180,11 @@
 	 */
 	@NotNull
 	public List<SgProjectInfoDO> getProjectProgress(List<SgProjectInfoVO> list) {
+		List<SgProjectInfoVO> sortedList = list.stream()
+			.sorted(Comparator.comparing(SgProjectInfoVO::getSort))
+			.collect(Collectors.toList());
 		//项目分组
-		Map<Long, List<SgProjectInfoVO>> projectMap = list.stream().collect(Collectors.groupingBy(SgProjectInfoVO::getId));
+		Map<Long, List<SgProjectInfoVO>> projectMap = sortedList.stream().collect(Collectors.groupingBy(SgProjectInfoVO::getId));
 		List<SgProjectInfoDO> result = new ArrayList<>();
 		for (Map.Entry<Long, List<SgProjectInfoVO>> entry : projectMap.entrySet()) {
 			List<SgDeviceDO> allDevice = new ArrayList<>();
@@ -210,6 +213,7 @@
 					if (CollectionUtils.isEmpty(gxList)){
 						continue;
 					}
+					gxList = list.stream().sorted(Comparator.comparing(SgProjectInfoVO::getPrice)).collect(Collectors.toList());
 					SgTypeVO typeVO = SgTypeVO.builder().typeName(gxList.get(0).getTypeName()).build();
 					List<SgDeviceDO> deviceDOS = new ArrayList<>();
 					//设备分组
@@ -240,7 +244,7 @@
 					double sum = deviceDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
 					BigDecimal deviceOver = BigDecimal.valueOf(sum);
 					BigDecimal divideDevice = deviceOver.divide(deviceSize, 2, RoundingMode.HALF_UP);
-					List<SgDeviceDO> sortDeviceDOs = deviceDOS.stream().sorted(Comparator.comparing(SgDeviceDO::getPrice)).collect(Collectors.toList());
+					List<SgDeviceDO> sortDeviceDOs = deviceDOS.stream().filter(s->s.getPrice()!=null).sorted(Comparator.comparing(SgDeviceDO::getPrice)).collect(Collectors.toList());
 					typeVO.setDeviceDOS(sortDeviceDOs);
 					typeVO.setTypeProgress(getBigDecimalPercent(divideDevice));
 					typeVO.setProgress(divideDevice.toString());
@@ -676,7 +680,7 @@
 			SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(stepIdForNull);
 			preAcceVO.setName(sgGxStepDO.getGxStepName());
 			preAcceVO.setProgramId(programId);
-			preAcceVO.setGxDeviceId(stepIdForNull != 25? (long)998:(long)999);
+			preAcceVO.setGxDeviceId(stepIdForNull != 20? (long)998:(long)999);
 			preAcceVO.setGxStepId(sgGxStepDO.getId());
 
 		}

--
Gitblit v1.9.3