Browse Source

fix:水库总览bug修复

release-sy-v1.0.0
“lyd” 1 month ago
parent
commit
910ff4de66
  1. 7
      shuili-system/src/main/java/com/kms/yg/cz/dto/MonitorQueDto.java
  2. 2
      shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java
  3. 65
      shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java
  4. 47
      shuili-system/src/main/java/com/kms/yg/sk/domain/DwsAttDamRspp.java

7
shuili-system/src/main/java/com/kms/yg/cz/dto/MonitorQueDto.java

@ -27,6 +27,10 @@ public class MonitorQueDto {
@ApiModelProperty(value = "水库编码")
private String resCode;
@ApiModelProperty(value = "大坝代码")
@JSONField(name = "DAM_CODE")
private String damCode;
@JSONField(name = "STCD")
@ApiModelProperty(value = "测站编码")
private String stcd;
@ -50,4 +54,7 @@ public class MonitorQueDto {
private Integer pageSize = 10;
@ApiModelProperty(value = "每页条数")
private Integer pageNum = 1;
}

2
shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Strings;
import com.kms.yg.cz.dto.MonitorQueDto;
import com.kms.yg.sk.domain.AttResRspp;
import com.kms.yg.sk.domain.DwsAttDamRspp;
import com.kms.yxgh.base.domain.monitor.*;
import com.kms.yxgh.base.domain.sk.AttResSw;
import com.kms.yxgh.base.domain.sk.SkAttDamBase;
@ -53,6 +54,7 @@ public enum MonitorSourceEnum {
ATT_RES_SW("水库溢洪道表", MonitorTypeEnum.DATA, AttResSw.class),
ATT_RES_RSPP("水库溢洪道表", MonitorTypeEnum.DATA, AttResRspp.class),
ATT_DAM_BASE("水库大坝基础信息表", MonitorTypeEnum.DATA, SkAttDamBase.class),
DWS_ATT_DAM_RSPP("大坝特征值表", MonitorTypeEnum.DATA, DwsAttDamRspp.class),
DWS_REL_ST_RES("代表站", SkRelStRes.class),
;

65
shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java

@ -13,6 +13,7 @@ import com.kms.yg.cz.enmu.*;
import com.kms.yg.cz.enmu.MonitorTypeEnum;
import com.kms.yg.cz.mapper.MonitorConfigMapper;
import com.kms.yg.sk.domain.AttResRspp;
import com.kms.yg.sk.domain.DwsAttDamRspp;
import com.kms.yg.sk.dto.AttResTaskViewDto;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvr;
@ -289,35 +290,41 @@ public class MonitorService {
AttResTaskViewDto attResTaskViewDto=new AttResTaskViewDto();
BsSgcSkStatisticsService.dtoInit(attResTaskViewDto);
MonitorQueDto sp=new MonitorQueDto();
sp.setResCode(dto.getResCode());
String resCode = dto.getResCode();
sp.setResCode(resCode);
CompletableFuture<AttResSw> currentWatterFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MonitorSourceEnum.ATT_RES_SW, sp));
AttResSw attResSw = currentWatterFuture.join();
AttResSw attResSw = queryDataOne(MonitorSourceEnum.ATT_RES_SW, sp);
// 堰顶高程
if (!Objects.isNull(attResSw)) {
attResTaskViewDto.setElevationWeirCrest(attResSw.getWrcrel());
}
// 设计洪水位、校核洪水位
CompletableFuture<AttResRspp> attResRsppJsonModelFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MonitorSourceEnum.ATT_RES_RSPP, sp));
AttResRspp attResRsppJsonModel = attResRsppJsonModelFuture.join();
if (!Objects.isNull(attResRsppJsonModel)) {
attResTaskViewDto.setDesignLevel(attResRsppJsonModel.getDsfllv());
attResTaskViewDto.setCheckWaterLevel(attResRsppJsonModel.getChfllv());
AttResRspp attResRspp = queryDataOne(MonitorSourceEnum.ATT_RES_RSPP, sp);
if (!Objects.isNull(attResRspp)) {
attResTaskViewDto.setDesignLevel(attResRspp.getDsfllv());
attResTaskViewDto.setCheckWaterLevel(attResRspp.getChfllv());
}
// 坝顶高程
CompletableFuture<List<SkAttDamBase>> attDamBaseJsonMoldeFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.ATT_DAM_BASE, sp));
List<SkAttDamBase> attDamBaseJsonMoldeList = attDamBaseJsonMoldeFuture.join();
if (!CollectionUtils.isEmpty(attDamBaseJsonMoldeList)) {
attDamBaseJsonMoldeList.stream()
.map(SkAttDamBase::getDamTopElev)
.filter(e-> !StringUtils.isNotEmpty(e))
.mapToDouble(Double::parseDouble)
.max()
.ifPresent(aDouble -> attResTaskViewDto.setCrestElevation(String.format("%.2f", aDouble)));
// 获取嵌套关联字段
DwsAttDamRspp dwsAttDamRspp = queryDataOne(DWS_ATT_DAM_RSPP, sp);
if (!Objects.isNull(dwsAttDamRspp)) {
String damCode = dwsAttDamRspp.getDamCode();
sp.setDamCode(damCode);
sp.setResCode("");
// 坝顶高程
List<SkAttDamBase> attDamBaseJsonMoldeList = queryDataList(MonitorSourceEnum.ATT_DAM_BASE, sp);
if (!CollectionUtils.isEmpty(attDamBaseJsonMoldeList)) {
attDamBaseJsonMoldeList.stream()
.map(SkAttDamBase::getDamTopElev)
.filter(e-> !StringUtils.isNotEmpty(e))
.mapToDouble(Double::parseDouble)
.max()
.ifPresent(aDouble -> attResTaskViewDto.setCrestElevation(String.format("%.2f", aDouble)));
}
}
sp.setResCode(resCode);
// 代表站
CompletableFuture<SkRelStRes> relStResJsonModeFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MonitorSourceEnum.DWS_REL_ST_RES, sp));
SkRelStRes relStResJsonMode = relStResJsonModeFuture.join();
SkRelStRes relStResJsonMode = queryDataOne(MonitorSourceEnum.DWS_REL_ST_RES, sp);
if (Objects.isNull(relStResJsonMode)) {
return attResTaskViewDto;
}
@ -329,8 +336,7 @@ public class MonitorService {
sp.setStcd(relStResJsonMode.getStCode());
sp.setStartTime(BsSgcSkStatisticsService.getStartOfDay());
sp.setEndTime(BsSgcSkStatisticsService.getStartOfNextDay());
CompletableFuture<List<MsHdmRsvr>> msHdmRsvrFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp));
List<MsHdmRsvr> msHdmRsvrFutureList = msHdmRsvrFuture.join();
List<MsHdmRsvr> msHdmRsvrFutureList = queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp);
if (!CollectionUtils.isEmpty(msHdmRsvrFutureList)) {
// 当前水位
MsHdmRsvr msHdmRsvr = msHdmRsvrFutureList.stream()
@ -348,8 +354,7 @@ public class MonitorService {
// 去年今日
sp.setStartTime(BsSgcSkStatisticsService.getLastYearTodayStartOfDay());
sp.setEndTime(BsSgcSkStatisticsService.getLastYearTomorrowStartOfDay());
CompletableFuture<List<MsHdmRsvr>> msHdmRsvrLastFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp));
List<MsHdmRsvr> msHdmRsvrLastFutureList = msHdmRsvrLastFuture.join();
List<MsHdmRsvr> msHdmRsvrLastFutureList = queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp);
if (!CollectionUtils.isEmpty(msHdmRsvrLastFutureList)) {
MsHdmRsvr msHdmRsvr = msHdmRsvrFutureList.stream()
.filter(e->!Objects.isNull(e.getTm()))
@ -363,8 +368,7 @@ public class MonitorService {
// 近一个小时
sp.setStartTime(BsSgcSkStatisticsService.getTimeBeforeHours(1));
sp.setEndTime(BsSgcSkStatisticsService.getCurrentTime());
CompletableFuture<List<MsHdmObp>> msHdmObpOneListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp));
List<MsHdmObp> msHdmObpOneList = msHdmObpOneListFuture.join();
List<MsHdmObp> msHdmObpOneList = queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp);
if (!CollectionUtils.isEmpty(msHdmObpOneList)) {
// 近一个小时
attResTaskViewDto.setNearlyAnHour(BsSgcSkStatisticsService.getSum(msHdmObpOneList));
@ -373,8 +377,7 @@ public class MonitorService {
// 近6个小时
sp.setStartTime(BsSgcSkStatisticsService.getTimeBeforeHours(6));
sp.setEndTime(BsSgcSkStatisticsService.getCurrentTime());
CompletableFuture<List<MsHdmObp>> msHdmObpSixListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp));
List<MsHdmObp> msHdmObpSixList = msHdmObpSixListFuture.join();
List<MsHdmObp> msHdmObpSixList = queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp);
if (!CollectionUtils.isEmpty(msHdmObpSixList)) {
// 近6个小时
attResTaskViewDto.setNearlySixHours(BsSgcSkStatisticsService.getSum(msHdmObpSixList));
@ -383,8 +386,7 @@ public class MonitorService {
// 近9个小时
sp.setStartTime(BsSgcSkStatisticsService.getTimeBeforeHours(9));
sp.setEndTime(BsSgcSkStatisticsService.getCurrentTime());
CompletableFuture<List<MsHdmObp>> msHdmObpNineListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp));
List<MsHdmObp> msHdmObpNineList = msHdmObpNineListFuture.join();
List<MsHdmObp> msHdmObpNineList = queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp);
if (!CollectionUtils.isEmpty(msHdmObpNineList)) {
// 近9个小时
attResTaskViewDto.setNearlyNineHours(BsSgcSkStatisticsService.getSum(msHdmObpNineList));
@ -393,8 +395,7 @@ public class MonitorService {
// 近12个小时
sp.setStartTime(BsSgcSkStatisticsService.getTimeBeforeHours(12));
sp.setEndTime(BsSgcSkStatisticsService.getCurrentTime());
CompletableFuture<List<MsHdmObp>> msHdmObpTwelveListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp));
List<MsHdmObp> msHdmObpTwelveList = msHdmObpTwelveListFuture.join();
List<MsHdmObp> msHdmObpTwelveList = queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp);
if (!CollectionUtils.isEmpty(msHdmObpTwelveList)) {
// 近12个小时
attResTaskViewDto.setNearlyTwelveHours(BsSgcSkStatisticsService.getSum(msHdmObpNineList));

47
shuili-system/src/main/java/com/kms/yg/sk/domain/DwsAttDamRspp.java

@ -0,0 +1,47 @@
package com.kms.yg.sk.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.annotation.Excel;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 基础库_大坝特征值表
*
* @author kms
* @date 2024-04-24
*/
@TableName("dws_att_dam_rspp")
@Data
@ApiModel("基础库_大坝特征值表")
public class DwsAttDamRspp {
@JSONField(name = "DAM_CODE")
private String damCode;
@JSONField(name = "RES_CODE")
private String resCode;
@JSONField(name = "MWRTBD_TYPE")
private String mwrtbdType;
@JSONField(name = "ERB_SIN")
private String erbSin;
@JSONField(name = "DBA_SBT")
private String dbaSbt;
@JSONField(name = "ASELST")
private String aselst;
@JSONField(name = "DMBSGLCN")
private String dmbsglcn;
@JSONField(name = "DMBSASMS")
private String dmbsasms;
@JSONField(name = "NOTE")
private String note;
@JSONField(name = "EFF_DATE")
private String effDate;
}
Loading…
Cancel
Save