Browse Source

add:水库总览

release-sy-v1.0.0
“lyd” 1 month ago
parent
commit
912e1a119b
  1. 32
      shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java
  2. 7
      shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorSourceEnum.java
  3. 43
      shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java
  4. 3
      shuili-system/src/main/java/com/kms/yg/sk/domain/AttResRspp.java
  5. 121
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttDamBaseJsonMolde.java
  6. 41
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttResRsppJsonModel.java
  7. 150
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttResSwJsonMode.java
  8. 71
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/RelStResJsonMode.java
  9. 28
      shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/AttResSw.java
  10. 2
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/AttResSwMapper.java
  11. 2
      shuili-system/src/main/java/com/kms/yxgh/common/service/BsSgcSkStatisticsService.java

32
shuili-system/src/main/java/com/kms/yg/cz/controller/ReservoirOverviewDataController.java

@ -0,0 +1,32 @@
package com.kms.yg.cz.controller;
import com.kms.yg.cz.service.MonitorService;
import com.kms.yg.sk.dto.AttResTaskViewDto;
import com.kms.yxgh.base.Response;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author lyd
* @company 数元科技有限公司
* @create 2025-03-19 9:34
*/
@RestController
@AllArgsConstructor
@RequestMapping("/run/sk/data")
public class ReservoirOverviewDataController {
private final MonitorService monitorService;
@PostMapping("/preview")
@ApiOperation("水库总览")
public Response<AttResTaskViewDto> getPreview(@RequestBody AttResTaskViewDto dto) {
return Response.ok(monitorService.getPreview(dto));
}
}

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

@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
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.yxgh.base.domain.monitor.att.AttResRsppJsonModel;
import com.kms.yxgh.base.domain.monitor.att.AttResSwJsonMode;
import com.kms.yxgh.base.domain.monitor.*;
import lombok.Data;
import lombok.Getter;
@ -46,6 +49,10 @@ public enum MonitorSourceEnum {
MS_DSM_PR("应力监测表", MsDsmPr.class),
MS_DSM_ST("应变监测表", MsDsmSt.class),
MS_HDM_WAS("堰闸水情监测表", MsHdmWas.class),
ATT_RES_SW("水库溢洪道表", AttResSwJsonMode.class),
ATT_RES_RSPP("水库溢洪道表", AttResRsppJsonModel.class)
;
private final String zhName;

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

@ -2,6 +2,7 @@ package com.kms.yg.cz.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.yg.cz.domain.MonitorConfig;
@ -10,7 +11,12 @@ import com.kms.yg.cz.dto.CurrentWaterMonitorDto;
import com.kms.yg.cz.dto.MonitorConfigDto;
import com.kms.yg.cz.dto.MonitorQueDto;
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.yxgh.base.domain.monitor.att.AttResRsppJsonModel;
import com.kms.yxgh.base.domain.monitor.att.AttResSwJsonMode;
import com.kms.yg.sk.dto.AttResTaskViewDto;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvr;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvrav;
@ -30,7 +36,8 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.kms.yg.cz.enmu.MonitorSourceEnum.MS_HDM_RSVR;
import static com.kms.yg.cz.enmu.MonitorSourceEnum.*;
@Service
@Slf4j
@ -276,4 +283,38 @@ public class MonitorService {
.map(Double::parseDouble);
}
public AttResTaskViewDto getPreview(AttResTaskViewDto dto) {
AttResTaskViewDto attResTaskViewDto=new AttResTaskViewDto();
MonitorQueDto sp=new MonitorQueDto();
sp.setResCode(dto.getResCode());
CompletableFuture<AttResSwJsonMode> currentWatterFuture = CompletableFuture.supplyAsync(() -> queryDataOne(ATT_RES_SW, sp));
AttResSwJsonMode attResSw = currentWatterFuture.join();
// 堰顶高程
if (!Objects.isNull(attResSw)) {
attResTaskViewDto.setElevationWeirCrest(attResSw.getWrcrel());
}
// 设计洪水位、校核洪水位
CompletableFuture<AttResRsppJsonModel> attResRsppJsonModelFuture = CompletableFuture.supplyAsync(() -> queryDataOne(ATT_RES_RSPP, sp));
AttResRsppJsonModel attResRsppJsonModel = attResRsppJsonModelFuture.join();
if (!Objects.isNull(attResRsppJsonModel)) {
attResTaskViewDto.setDesignLevel(attResRsppJsonModel.getDsfllv());
attResTaskViewDto.setCheckWaterLevel(attResRsppJsonModel.getChfllv());
}
//
// CompletableFuture<MsHdmRsvr> currentWatterFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MS_HDM_RSVR, sp));
//
// CompletableFuture<MsHdmRsvrav> avWatterFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MonitorSourceEnum.MS_HDM_RSVRAV, sp));
// CompletableFuture<MsHdmRsvrevs> mxWatterFuture = CompletableFuture.supplyAsync(() -> queryDataOne(MonitorSourceEnum.MS_HDM_RSVREVS, sp));
// CompletableFuture<List<MsHdmObp>> currentFlowFuture = CompletableFuture.supplyAsync(() -> queryDataList(MonitorSourceEnum.MS_HDM_OBP, sp));
// CompletableFuture.allOf(currentWatterFuture, avWatterFuture, mxWatterFuture, currentFlowFuture).join();
//
// MsHdmRsvr currentWatter = currentWatterFuture.join();
// MsHdmRsvrav avWatter = avWatterFuture.join();
// MsHdmRsvrevs mxWatter = mxWatterFuture.join();
// List<MsHdmObp> currentFlow = currentFlowFuture.join();
return null;
}
}

3
shuili-system/src/main/java/com/kms/yg/sk/domain/AttResRspp.java

@ -1,5 +1,6 @@
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;
@ -70,6 +71,7 @@ public class AttResRspp extends BaseEntity implements Serializable {
* 设计洪水位
*/
@Excel(name = "设计洪水位")
@JSONField(name = "dsfllv")
@ApiModelProperty("设计洪水位")
private String dsfllv;
@ -78,6 +80,7 @@ public class AttResRspp extends BaseEntity implements Serializable {
*/
@Excel(name = "校核洪水位")
@ApiModelProperty("校核洪水位")
@JSONField(name = "chfllv")
private String chfllv;
/**

121
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttDamBaseJsonMolde.java

@ -0,0 +1,121 @@
package com.kms.yxgh.base.domain.monitor.att;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@TableName("att_dam_base")
@Data
@ApiModel("水库大坝基础信息表")
public class AttDamBaseJsonMolde {
/**
* 大坝代码
*/
@ApiModelProperty("大坝代码")
@JSONField(name = "DAM_CODE")
private String damCode;
/**
* 大坝名称
*/
@ApiModelProperty("大坝名称")
@JSONField(name = "DAM_NAME")
private String damName;
/**
* 水库代码
*/
@ApiModelProperty("水库代码")
@JSONField(name = "RES_CODE")
private String resCode;
/**
* 水库大坝中点经度
*/
@ApiModelProperty("水库大坝中点经度")
@JSONField(name = "DAM_START_LONG")
private String damStartLong;
/**
* 水库大坝中点纬度
*/
@ApiModelProperty("水库大坝中点纬度")
@JSONField(name = "DAM_START_LAT")
private String damStartLat;
@ApiModelProperty("大坝所在位置")
@JSONField(name = "DAM_LOC")
private String damLoc;
@ApiModelProperty("是否主坝")
@JSONField(name = "IF_MAIN_DAM")
private String ifMainDam;
@ApiModelProperty("是否溢流坝")
@JSONField(name = "IF_YL_DAM")
private String ifYlDam;
@ApiModelProperty("工程等别")
@JSONField(name = "ENG_GRAD")
private String engGrad;
@ApiModelProperty("大坝级别")
@JSONField(name = "DAM_GRAD")
private String damGrad;
@ApiModelProperty("最大坝高")
@JSONField(name = "DAM_MAX_HEIG")
private String damMaxHeig;
@ApiModelProperty("坝顶长度")
@JSONField(name = "DAM_TOP_LEN")
private String damTopLen;
@ApiModelProperty("坝顶宽度")
@JSONField(name = "DAM_TOP_WID")
private String damTopWid;
@ApiModelProperty("高程系统")
@JSONField(name = "ELEV_SYS")
private String elevSys;
@ApiModelProperty("高程转换值")
@JSONField(name = "ELEV_SYS_CONVER")
private String elevSysConver;
@ApiModelProperty("坝顶高程")
@JSONField(name = "DAM_TOP_ELEV")
private String damTopElev;
@ApiModelProperty("防浪墙顶高程")
@JSONField(name = "WVWLTPEL")
private String wvwltpel;
@ApiModelProperty("大坝材料类型")
@JSONField(name = "DAM_TYPE_MAT")
private String damTypeMat;
@ApiModelProperty("大坝结构类型")
@JSONField(name = "DAM_TYPE_STR")
private String damTypeStr;
@ApiModelProperty("大坝概况")
@JSONField(name = "DAM_OV")
private String damOv;
@ApiModelProperty("备注")
@JSONField(name = "NOTE")
private String note;
@ApiModelProperty("记录更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(name = "UPDATE_DATE", format = "yyyy-MM-dd HH:mm:ss")
private Date updateDate;
}

41
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttResRsppJsonModel.java

@ -0,0 +1,41 @@
package com.kms.yxgh.base.domain.monitor.att;
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;
/**
* 请填写功能名称对象 att_res_rspp
*
* @author kms
* @date 2024-04-24
*/
@TableName("att_res_rspp")
@Data
@ApiModel("水库主要特征")
public class AttResRsppJsonModel {
/**
* 设计洪水位
*/
@JSONField(name = "dsfllv")
@ApiModelProperty("设计洪水位")
private String dsfllv;
/**
* 校核洪水位
*/
@ApiModelProperty("校核洪水位")
@JSONField(name = "chfllv")
private String chfllv;
}

150
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/AttResSwJsonMode.java

@ -0,0 +1,150 @@
package com.kms.yxgh.base.domain.monitor.att;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 请填写功能名称对象 ATT_RES_SW
*
* @author kms
* @date 2024-04-24
*/
@TableName("att_res_sw")
@Data
@ApiModel("水库溢洪道表")
public class AttResSwJsonMode {
/**
* 水库编码
*/
@ApiModelProperty("水库编码")
@JSONField(name = "RES_CODE")
private String resCode;
/**
* 溢洪道名称
*/
@ApiModelProperty("溢洪道名称")
@JSONField(name = "SWNM")
private String swnm;
/**
* 布置位置
*/
@ApiModelProperty("布置位置")
@JSONField(name = "LYPS")
private String lyps;
/**
* 控制方式
*/
@ApiModelProperty("控制方式")
@JSONField(name = "CRMT")
private String crmt;
/**
* 堰顶高程
*/
@ApiModelProperty("堰顶高程")
@JSONField(name = "WRCREL")
private String wrcrel;
/**
* 堰顶净宽
*/
@ApiModelProperty("堰顶净宽")
@JSONField(name = "WRCRNTWD")
private String wrcrntwd;
/**
* 溢流堰型式
*/
@ApiModelProperty("溢流堰型式")
@JSONField(name = "OFWRST")
private String ofwrst;
/**
* 闸门型式
*/
@ApiModelProperty("闸门型式")
@JSONField(name = "GTST")
private String gtst;
/**
* 闸门尺寸
*/
@ApiModelProperty("闸门尺寸")
@JSONField(name = "GTSZ")
private String gtsz;
/**
* 闸门数量
*/
@ApiModelProperty("闸门数量")
@JSONField(name = "GTAM")
private String gtam;
/**
* 最大泄量
*/
@ApiModelProperty("最大泄量")
@JSONField(name = "MAXDS")
private String maxds;
/**
* 消能型式
*/
@ApiModelProperty("消能型式")
@JSONField(name = "ENDSST")
private String endsst;
/**
* 启闭设备
*/
@ApiModelProperty("启闭设备")
@JSONField(name = "HSEQ")
private String hseq;
/**
* 启闭机数量
*/
@ApiModelProperty("启闭机数量")
@JSONField(name = "HSGRAM")
private String hsgram;
/**
* 电源条件
*/
@ApiModelProperty("电源条件")
@JSONField(name = "PWSPCN")
private String pwspcn;
/**
* 备注
*/
@ApiModelProperty("备注")
@JSONField(name = "NOTE")
private String note;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(name = "UPDATE_DATE", format = "yyyy-MM-dd HH:mm:ss")
private Date updateDate;
}

71
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/att/RelStResJsonMode.java

@ -0,0 +1,71 @@
package com.kms.yxgh.base.domain.monitor.att;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@TableName("rel_st_res")
@Data
@ApiModel("代表站")
public class RelStResJsonMode {
private static final long serialVersionUID = 1L;
/**
* 水库编码
*/
@ApiModelProperty("类型标识 1代表站")
@JSONField(name = "FLAG")
private String flag;
/**
* 水库编码
*/
@ApiModelProperty("水库编码")
@JSONField(name = "RES_CODE")
private String resCode;
/**
* 水库名称
*/
@ApiModelProperty("水库名称")
@JSONField(name = "RES_NAME")
private String resName;
/**
* 河流代码
*/
@ApiModelProperty("测站代码")
@JSONField(name = "ST_CODE")
private String stCode;
/**
* 河流名称
*/
@ApiModelProperty("测站名称")
@JSONField(name = "ST_NAME")
private String stName;
/**
* 关系建立时间
*/
@ApiModelProperty("关系建立时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(name = "FROM_DATE", format = "yyyy-MM-dd HH:mm:ss")
private Date fromDate;
/**
* 关系终止时间
*/
@ApiModelProperty("关系终止时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(name = "TO_DATE", format = "yyyy-MM-dd HH:mm:ss")
private Date toDate;
}

28
shuili-system/src/main/java/com/kms/yg/sk/domain/AttResSw.java → shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/AttResSw.java

@ -1,14 +1,12 @@
package com.kms.yg.sk.domain;
package com.kms.yxgh.base.domain.sk;
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;
@ -21,31 +19,35 @@ import java.util.Date;
@TableName("att_res_sw")
@Data
@ApiModel("水库溢洪道表")
public class AttResSw {
public class AttResSw {
/**
* 水库编码
*/
@ApiModelProperty("水库编码")
@JSONField(name = "RES_CODE")
private String resCode;
/**
* 溢洪道名称
*/
@ApiModelProperty("溢洪道名称")
@JSONField(name = "SWNM")
private String swnm;
/**
* 布置位置
*/
@ApiModelProperty("布置位置")
@JSONField(name = "LYPS")
private String lyps;
/**
* 控制方式
*/
@ApiModelProperty("控制方式")
@JSONField(name = "CRMT")
private String crmt;
@ -53,24 +55,28 @@ public class AttResSw {
* 堰顶高程
*/
@ApiModelProperty("堰顶高程")
@JSONField(name = "WRCREL")
private String wrcrel;
/**
* 堰顶净宽
*/
@ApiModelProperty("堰顶净宽")
@JSONField(name = "WRCRNTWD")
private String wrcrntwd;
/**
* 溢流堰型式
*/
@ApiModelProperty("溢流堰型式")
@JSONField(name = "OFWRST")
private String ofwrst;
/**
* 闸门型式
*/
@ApiModelProperty("闸门型式")
@JSONField(name = "GTST")
private String gtst;
@ -78,24 +84,28 @@ public class AttResSw {
* 闸门尺寸
*/
@ApiModelProperty("闸门尺寸")
@JSONField(name = "GTSZ")
private String gtsz;
/**
* 闸门数量
*/
@ApiModelProperty("闸门数量")
@JSONField(name = "GTAM")
private String gtam;
/**
* 最大泄量
*/
@ApiModelProperty("最大泄量")
@JSONField(name = "MAXDS")
private String maxds;
/**
* 消能型式
*/
@ApiModelProperty("消能型式")
@JSONField(name = "ENDSST")
private String endsst;
@ -103,12 +113,14 @@ public class AttResSw {
* 启闭设备
*/
@ApiModelProperty("启闭设备")
@JSONField(name = "HSEQ")
private String hseq;
/**
* 启闭机数量
*/
@ApiModelProperty("启闭机数量")
@JSONField(name = "HSGRAM")
private String hsgram;
@ -116,18 +128,22 @@ public class AttResSw {
* 电源条件
*/
@ApiModelProperty("电源条件")
@JSONField(name = "PWSPCN")
private String pwspcn;
/**
* 备注
*/
@ApiModelProperty("备注")
@JSONField(name = "NOTE")
private String note;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JSONField(name = "UPDATE_DATE", format = "yyyy-MM-dd HH:mm:ss")
private Date updateDate;

2
shuili-system/src/main/java/com/kms/yxgh/common/mapper/AttResSwMapper.java

@ -1,7 +1,7 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yg.sk.domain.AttResSw;
import com.kms.yxgh.base.domain.sk.AttResSw;
import org.springframework.stereotype.Repository;
/**

2
shuili-system/src/main/java/com/kms/yxgh/common/service/BsSgcSkStatisticsService.java

@ -1,13 +1,13 @@
package com.kms.yxgh.common.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.kms.yg.sk.domain.AttResRspp;
import com.kms.yg.sk.domain.AttResSw;
import com.kms.yg.sk.dto.AttResTaskViewDto;
import com.kms.yg.sk.service.AttResRsppService;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvr;
import com.kms.yxgh.base.domain.sk.SkAttDamBase;
import com.kms.yxgh.base.domain.sk.SkRelStRes;
import com.kms.yxgh.base.domain.sk.AttResSw;
import com.kms.yxgh.common.mapper.AttResSwMapper;
import com.kms.yxgh.common.mapper.SkAttDamBaseMapper;
import com.kms.yxgh.common.mapper.SkRelStResMapper;

Loading…
Cancel
Save