From 9a5bc44df690414f7b99c835449f49b2b88154f6 Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Fri, 18 Oct 2024 10:45:55 +0800
Subject: [PATCH] 湖北水库:解决施工项目列表报错
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 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 4644186..f42b712 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
@@ -220,6 +220,7 @@
SgDeviceDO sgDeviceDO = new SgDeviceDO();
sgDeviceDO.setId(dId);
sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
+ sgDeviceDO.setPrice(deList.get(0).getPrice());
List<SgGxStepDO> stepDOS = deList.stream().filter(s -> s.getReportStatus() == null || (s.getReportStatus() != 4 && !(s.getReportStatus() == 3 && s.getResubmit() != 0))).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());
@@ -239,7 +240,8 @@
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);
- typeVO.setDeviceDOS(deviceDOS);
+ 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());
sgGxDOS.add(typeVO);
@@ -408,12 +410,16 @@
SgOperatingRateVO sVo = deviceTypes.get(vo.getProIds());
if (Objects.nonNull(sVo)){
vo.setSurfaceNum(sVo.getSurfaceNum());
+ vo.setSurfaceStartNum(sVo.getSurfaceStartNum());
vo.setSurfaceProgress(sVo.getSurfaceProgress());
vo.setVideoNum(sVo.getVideoNum());
+ vo.setVideoStartNum(sVo.getVideoStartNum());
vo.setVideoProgress(sVo.getVideoProgress());
vo.setTransNum(sVo.getTransNum());
+ vo.setTransStartNum(sVo.getTransStartNum());
vo.setTransProgress(sVo.getTransProgress());
vo.setSeepageNum(sVo.getSeepageNum());
+ vo.setSeepageStartNum(sVo.getSeepageStartNum());
vo.setSeepageProgress(sVo.getSeepageProgress());
}
}
@@ -465,6 +471,7 @@
Integer deviceCount = sg108.getDeviceCount();
Integer deviceStart = sg108.getDeviceStart();
sgOperatingRateVO.setSurfaceNum(deviceCount);
+ sgOperatingRateVO.setSurfaceStartNum(deviceStart);
if (deviceCount != 0){
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
@@ -478,6 +485,7 @@
Integer deviceCount = sg104.getDeviceCount();
Integer deviceStart = sg104.getDeviceStart();
sgOperatingRateVO.setVideoNum(deviceCount);
+ sgOperatingRateVO.setVideoStartNum(deviceStart);
if (deviceCount != 0){
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setVideoProgress(getBigDecimalPercent(divide));
@@ -491,6 +499,7 @@
Integer deviceCount = sg101.getDeviceCount();
Integer deviceStart = sg101.getDeviceStart();
sgOperatingRateVO.setTransNum(deviceCount);
+ sgOperatingRateVO.setTransStartNum(deviceStart);
if (deviceCount != 0){
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setTransProgress(getBigDecimalPercent(divide));
@@ -504,6 +513,7 @@
Integer deviceCount = sg102.getDeviceCount();
Integer deviceStart = sg102.getDeviceStart();
sgOperatingRateVO.setSeepageNum(deviceCount);
+ sgOperatingRateVO.setSeepageStartNum(deviceStart);
if (deviceCount != 0){
BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
sgOperatingRateVO.setSeepageProgress(getBigDecimalPercent(divide));
--
Gitblit v1.9.3