diff --git a/shuili-system/src/main/java/com/kms/yg/cz/dto/MonitorQueDto.java b/shuili-system/src/main/java/com/kms/yg/cz/dto/MonitorQueDto.java index 1ba767ac..32c979e4 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/dto/MonitorQueDto.java +++ b/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; + + + } diff --git a/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java b/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java index 9745e86b..ba634de4 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java +++ b/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), ; diff --git a/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java b/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java index f8f0096f..ce00c16b 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java +++ b/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 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 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> attDamBaseJsonMoldeFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.ATT_DAM_BASE, sp)); - List 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 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 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> msHdmRsvrFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp)); - List msHdmRsvrFutureList = msHdmRsvrFuture.join(); + List 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> msHdmRsvrLastFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_RSVR, sp)); - List msHdmRsvrLastFutureList = msHdmRsvrLastFuture.join(); + List 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> msHdmObpOneListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp)); - List msHdmObpOneList = msHdmObpOneListFuture.join(); + List 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> msHdmObpSixListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp)); - List msHdmObpSixList = msHdmObpSixListFuture.join(); + List 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> msHdmObpNineListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp)); - List msHdmObpNineList = msHdmObpNineListFuture.join(); + List 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> msHdmObpTwelveListFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp)); - List msHdmObpTwelveList = msHdmObpTwelveListFuture.join(); + List msHdmObpTwelveList = queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp); if (!CollectionUtils.isEmpty(msHdmObpTwelveList)) { // 近12个小时 attResTaskViewDto.setNearlyTwelveHours(BsSgcSkStatisticsService.getSum(msHdmObpNineList)); diff --git a/shuili-system/src/main/java/com/kms/yg/sk/domain/DwsAttDamRspp.java b/shuili-system/src/main/java/com/kms/yg/sk/domain/DwsAttDamRspp.java new file mode 100644 index 00000000..fbc4a32a --- /dev/null +++ b/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; +}