Browse Source

add:水库总览

release-sy-v1.0.0
“lyd” 1 month ago
parent
commit
916578cfa9
  1. 134
      shuili-system/src/main/java/com/kms/yg/sk/domain/AttResSw.java
  2. 65
      shuili-system/src/main/java/com/kms/yg/sk/dto/AttResTaskViewDto.java
  3. 3
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/MsHdmObp.java
  4. 3
      shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/MsHdmRsvr.java
  5. 97
      shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/SkAttDamBase.java
  6. 60
      shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/SkRelStRes.java
  7. 31
      shuili-system/src/main/java/com/kms/yxgh/common/controller/ReservoirOverviewController.java
  8. 14
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/AttResSwMapper.java
  9. 14
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/MsHdmObpMapper.java
  10. 15
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/MsHdmRsvrMapper.java
  11. 15
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/SkAttDamBaseMapper.java
  12. 14
      shuili-system/src/main/java/com/kms/yxgh/common/mapper/SkRelStResMapper.java
  13. 274
      shuili-system/src/main/java/com/kms/yxgh/common/service/BsSgcSkStatisticsService.java
  14. 16
      shuili-system/src/main/java/com/kms/yxgh/common/service/MsHdmObpService.java
  15. 12
      shuili-system/src/main/java/com/kms/yxgh/common/service/MsHdmRsvrService.java
  16. 59
      sql/sy/v1.6.0/增量脚本/v1.6.2-update.sql

134
shuili-system/src/main/java/com/kms/yg/sk/domain/AttResSw.java

@ -0,0 +1,134 @@
package com.kms.yg.sk.domain;
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_SW
*
* @author kms
* @date 2024-04-24
*/
@TableName("att_res_sw")
@Data
@ApiModel("水库溢洪道表")
public class AttResSw {
/**
* 水库编码
*/
@ApiModelProperty("水库编码")
private String resCode;
/**
* 溢洪道名称
*/
@ApiModelProperty("溢洪道名称")
private String swnm;
/**
* 布置位置
*/
@ApiModelProperty("布置位置")
private String lyps;
/**
* 控制方式
*/
@ApiModelProperty("控制方式")
private String crmt;
/**
* 堰顶高程
*/
@ApiModelProperty("堰顶高程")
private String wrcrel;
/**
* 堰顶净宽
*/
@ApiModelProperty("堰顶净宽")
private String wrcrntwd;
/**
* 溢流堰型式
*/
@ApiModelProperty("溢流堰型式")
private String ofwrst;
/**
* 闸门型式
*/
@ApiModelProperty("闸门型式")
private String gtst;
/**
* 闸门尺寸
*/
@ApiModelProperty("闸门尺寸")
private String gtsz;
/**
* 闸门数量
*/
@ApiModelProperty("闸门数量")
private String gtam;
/**
* 最大泄量
*/
@ApiModelProperty("最大泄量")
private String maxds;
/**
* 消能型式
*/
@ApiModelProperty("消能型式")
private String endsst;
/**
* 启闭设备
*/
@ApiModelProperty("启闭设备")
private String hseq;
/**
* 启闭机数量
*/
@ApiModelProperty("启闭机数量")
private String hsgram;
/**
* 电源条件
*/
@ApiModelProperty("电源条件")
private String pwspcn;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private Date updateDate;
}

65
shuili-system/src/main/java/com/kms/yg/sk/dto/AttResTaskViewDto.java

@ -0,0 +1,65 @@
package com.kms.yg.sk.dto;
import com.kms.yxgh.common.dto.IAdcd;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author lyd
* @company 数元科技有限公司
* @create 2025-03-19 9:02
*/
@Data
@ApiModel("水库总览")
public class AttResTaskViewDto implements IAdcd {
@ApiModelProperty("行政区划")
private String adcd;
@ApiModelProperty("水库编码")
private String resCode;
@ApiModelProperty("代表站name")
private String stationName;
@ApiModelProperty("代表站code")
private String stationCode;
@ApiModelProperty("当前水位")
private String currentWaterLevel;
@ApiModelProperty("堰顶高程")
private String elevationWeirCrest;
@ApiModelProperty("设计水位")
private String designLevel;
@ApiModelProperty("校核水位")
private String checkWaterLevel;
@ApiModelProperty("坝顶高程")
private String crestElevation;
@ApiModelProperty("去年今日")
private String lastYearToday;
@ApiModelProperty("入库流量")
private String incomingFlow;
@ApiModelProperty("出库流量")
private String outboundFlow;
@ApiModelProperty("近一小时")
private String nearlyAnHour;
@ApiModelProperty("近六小时")
private String nearlySixHours;
@ApiModelProperty("近九小时")
private String nearlyNineHours;
@ApiModelProperty("近十二小时")
private String nearlyTwelveHours;
}

3
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/MsHdmObp.java

@ -3,6 +3,7 @@ package com.kms.yxgh.base.domain.monitor;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -15,7 +16,7 @@ import java.util.Date;
@TableName("ms_hdm_obp") @TableName("ms_hdm_obp")
@Data @Data
@ApiModel("降水量监测表") @ApiModel("降水量监测表")
public class MsHdmObp { public class MsHdmObp extends BaseEntity {
/** /**
* 测站编码 * 测站编码
*/ */

3
shuili-system/src/main/java/com/kms/yxgh/base/domain/monitor/MsHdmRsvr.java

@ -3,6 +3,7 @@ package com.kms.yxgh.base.domain.monitor;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -12,7 +13,7 @@ import java.util.Date;
@TableName("ms_hdm_rsvr") @TableName("ms_hdm_rsvr")
@Data @Data
@ApiModel("水库水情监测表") @ApiModel("水库水情监测表")
public class MsHdmRsvr { public class MsHdmRsvr extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

97
shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/SkAttDamBase.java

@ -0,0 +1,97 @@
package com.kms.yxgh.base.domain.sk;
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 SkAttDamBase {
/**
* 大坝代码
*/
@ApiModelProperty("大坝代码")
private String damCode;
/**
* 大坝名称
*/
@ApiModelProperty("大坝名称")
private String damName;
/**
* 水库代码
*/
@ApiModelProperty("水库代码")
private String resCode;
/**
* 水库大坝中点经度
*/
@ApiModelProperty("水库大坝中点经度")
private String damStartLong;
/**
* 水库大坝中点纬度
*/
@ApiModelProperty("水库大坝中点纬度")
private String damStartLat;
@ApiModelProperty("大坝所在位置")
private String damLoc;
@ApiModelProperty("是否主坝")
private String ifMainDam;
@ApiModelProperty("是否溢流坝")
private String ifYlDam;
@ApiModelProperty("工程等别")
private String engGrad;
@ApiModelProperty("大坝级别")
private String damGrad;
@ApiModelProperty("最大坝高")
private String damMaxHeig;
@ApiModelProperty("坝顶长度")
private String damTopLen;
@ApiModelProperty("坝顶宽度")
private String damTopWid;
@ApiModelProperty("高程系统")
private String elevSys;
@ApiModelProperty("高程转换值")
private String elevSysConver;
@ApiModelProperty("坝顶高程")
private String damTopElev;
@ApiModelProperty("防浪墙顶高程")
private String wvwltpel;
@ApiModelProperty("大坝材料类型")
private String damTypeMat;
@ApiModelProperty("大坝结构类型")
private String damTypeStr;
@ApiModelProperty("大坝概况")
private String damOv;
@ApiModelProperty("备注")
private String note;
@ApiModelProperty("记录更新时间")
private Date updateDate;
}

60
shuili-system/src/main/java/com/kms/yxgh/base/domain/sk/SkRelStRes.java

@ -0,0 +1,60 @@
package com.kms.yxgh.base.domain.sk;
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 SkRelStRes {
private static final long serialVersionUID = 1L;
/**
* 水库编码
*/
@ApiModelProperty("类型标识 1代表站")
private String flag;
/**
* 水库编码
*/
@ApiModelProperty("水库编码")
private String resCode;
/**
* 水库名称
*/
@ApiModelProperty("水库名称")
private String resName;
/**
* 河流代码
*/
@ApiModelProperty("测站代码")
private String stCode;
/**
* 河流名称
*/
@ApiModelProperty("测站名称")
private String stName;
/**
* 关系建立时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("关系建立时间")
private Date fromDate;
/**
* 关系终止时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("关系终止时间")
private Date toDate;
}

31
shuili-system/src/main/java/com/kms/yxgh/common/controller/ReservoirOverviewController.java

@ -0,0 +1,31 @@
package com.kms.yxgh.common.controller;
import com.kms.yg.sk.dto.AttResTaskViewDto;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.common.service.BsSgcSkStatisticsService;
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/statistics")
public class ReservoirOverviewController {
private final BsSgcSkStatisticsService bsSgcSkStatisticsService;
@PostMapping("/view")
@ApiOperation("水库总览")
public Response<AttResTaskViewDto> getView(@RequestBody AttResTaskViewDto dto) {
return Response.ok(bsSgcSkStatisticsService.getView(dto));
}
}

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

@ -0,0 +1,14 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yg.sk.domain.AttResSw;
import org.springframework.stereotype.Repository;
/**
* @author lyd
* @date 2025/1/18
*/
@Repository
public interface AttResSwMapper extends BaseMapper<AttResSw> {
}

14
shuili-system/src/main/java/com/kms/yxgh/common/mapper/MsHdmObpMapper.java

@ -0,0 +1,14 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import org.springframework.stereotype.Repository;
/**
* @author lyd
* @date 2025/1/18
*/
@Repository
public interface MsHdmObpMapper extends BaseMapper<MsHdmObp> {
}

15
shuili-system/src/main/java/com/kms/yxgh/common/mapper/MsHdmRsvrMapper.java

@ -0,0 +1,15 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvr;
import com.kms.yxgh.common.domain.ApprovalOperator;
import org.springframework.stereotype.Repository;
/**
* @author lyd
* @date 2025/1/18
*/
@Repository
public interface MsHdmRsvrMapper extends BaseMapper<MsHdmRsvr> {
}

15
shuili-system/src/main/java/com/kms/yxgh/common/mapper/SkAttDamBaseMapper.java

@ -0,0 +1,15 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import com.kms.yxgh.base.domain.sk.SkAttDamBase;
import org.springframework.stereotype.Repository;
/**
* @author lyd
* @date 2025/1/18
*/
@Repository
public interface SkAttDamBaseMapper extends BaseMapper<SkAttDamBase> {
}

14
shuili-system/src/main/java/com/kms/yxgh/common/mapper/SkRelStResMapper.java

@ -0,0 +1,14 @@
package com.kms.yxgh.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.base.domain.sk.SkRelStRes;
import org.springframework.stereotype.Repository;
/**
* @author lyd
* @date 2025/1/18
*/
@Repository
public interface SkRelStResMapper extends BaseMapper<SkRelStRes> {
}

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

@ -0,0 +1,274 @@
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.common.mapper.AttResSwMapper;
import com.kms.yxgh.common.mapper.SkAttDamBaseMapper;
import com.kms.yxgh.common.mapper.SkRelStResMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 水库统计
*
* @author lyd
* @date 2025-01-16
*/
@Service
@AllArgsConstructor
public class BsSgcSkStatisticsService {
private final MsHdmRsvrService msHdmRsvrService;
private final SkRelStResMapper skRelStResMapper;
private final AttResRsppService attResRsppService;
private final MsHdmObpService msHdmObpService;
private final SkAttDamBaseMapper skAttDamBaseMapper;
private final AttResSwMapper attResSwMapper;
public AttResTaskViewDto getView(@RequestBody AttResTaskViewDto dto) {
AttResTaskViewDto view = new AttResTaskViewDto();
dtoInit(view);
// 堰顶高程
AttResSw attResSw = attResSwMapper.selectOne(new LambdaQueryWrapper<AttResSw>()
.eq(!StringUtils.isEmpty(dto.getResCode()), AttResSw::getResCode, dto.getResCode())
.orderByAsc(AttResSw::getWrcrel)
.last(" limit 1")
);
if (!StringUtils.isEmpty(attResSw)) {
view.setElevationWeirCrest(attResSw.getWrcrel());
}
// 设计洪水位、校核洪水位
AttResRspp resRsp = attResRsppService.getOne(new LambdaQueryWrapper<AttResRspp>()
.eq(!StringUtils.isEmpty(dto.getResCode()), AttResRspp::getResCode, dto.getResCode())
.orderByDesc(AttResRspp::getCreateTime)
.last(" limit 1")
);
if (!StringUtils.isEmpty(resRsp)) {
view.setDesignLevel(resRsp.getDsfllv());
view.setCheckWaterLevel(resRsp.getChfllv());
}
// 坝顶高程
SkAttDamBase skAttDamBase = skAttDamBaseMapper.selectOne(new LambdaQueryWrapper<SkAttDamBase>()
.eq(!StringUtils.isEmpty(dto.getResCode()), SkAttDamBase::getResCode, dto.getResCode())
.orderByDesc(SkAttDamBase::getDamTopElev)
.last(" limit 1")
);
if (!StringUtils.isEmpty(skAttDamBase)) {
view.setCrestElevation(skAttDamBase.getDamTopElev());
}
// 代表站
SkRelStRes skRelOne = skRelStResMapper.selectOne(new LambdaQueryWrapper<SkRelStRes>()
.eq(!StringUtils.isEmpty(dto.getResCode()), SkRelStRes::getResCode, dto.getResCode())
.eq(SkRelStRes::getFlag, 1)
.last(" limit 1")
);
if (StringUtils.isEmpty(skRelOne)) {
return view;
}
// 代表站
view.setStationName(skRelOne.getStName());
view.setStationCode(skRelOne.getStCode());
// 当前水位
MsHdmRsvr msHdmRsvr = msHdmRsvrService.getOne(new LambdaQueryWrapper<MsHdmRsvr>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmRsvr::getStcd, skRelOne.getStCode())
.ge(MsHdmRsvr::getTm, getStartOfDay())
.lt(MsHdmRsvr::getTm, getStartOfNextDay())
.orderByDesc(MsHdmRsvr::getTm)
.last(" limit 1")
);
if (!StringUtils.isEmpty(msHdmRsvr)) {
// 当前水位
view.setCurrentWaterLevel(msHdmRsvr.getRz());
// 入库流量
view.setIncomingFlow(msHdmRsvr.getInq());
// 出库流量
view.setOutboundFlow(msHdmRsvr.getOtq());
}
// 去年今日
MsHdmRsvr lastYearRest = msHdmRsvrService.getOne(new LambdaQueryWrapper<MsHdmRsvr>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmRsvr::getStcd, skRelOne.getStCode())
.ge(MsHdmRsvr::getTm, getLastYearTodayStartOfDay())
.lt(MsHdmRsvr::getTm, getLastYearTomorrowStartOfDay())
.orderByDesc(MsHdmRsvr::getTm)
.last(" limit 1")
);
if (!StringUtils.isEmpty(lastYearRest)) {
view.setLastYearToday(lastYearRest.getRz());
}
// 近一个小时
List<MsHdmObp> msHdmObpOneList = msHdmObpService.list(new LambdaQueryWrapper<MsHdmObp>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmObp::getStcd, skRelOne.getStCode())
.ge(MsHdmObp::getCollTime, getTimeBeforeHours(1))
.le(MsHdmObp::getCollTime, getCurrentTime())
);
if (!CollectionUtils.isEmpty(msHdmObpOneList)) {
view.setNearlyAnHour(getSum(msHdmObpOneList));
}
// 近6个小时
List<MsHdmObp> msHdmObpSixList = msHdmObpService.list(new LambdaQueryWrapper<MsHdmObp>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmObp::getStcd, skRelOne.getStCode())
.ge(MsHdmObp::getCollTime, getTimeBeforeHours(6))
.le(MsHdmObp::getCollTime, getCurrentTime())
);
if (!CollectionUtils.isEmpty(msHdmObpSixList)) {
view.setNearlySixHours(getSum(msHdmObpSixList));
}
// 近9个小时
List<MsHdmObp> msHdmObpNineList = msHdmObpService.list(new LambdaQueryWrapper<MsHdmObp>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmObp::getStcd, skRelOne.getStCode())
.ge(MsHdmObp::getCollTime, getTimeBeforeHours(9))
.le(MsHdmObp::getCollTime, getCurrentTime())
);
if (!CollectionUtils.isEmpty(msHdmObpNineList)) {
view.setNearlyNineHours(getSum(msHdmObpNineList));
}
// 近12个小时
List<MsHdmObp> msHdmObpTwelveList = msHdmObpService.list(new LambdaQueryWrapper<MsHdmObp>()
.eq(!StringUtils.isEmpty(skRelOne.getStCode()), MsHdmObp::getStcd, skRelOne.getStCode())
.ge(MsHdmObp::getCollTime, getTimeBeforeHours(12))
.le(MsHdmObp::getCollTime, getCurrentTime())
);
if (!StringUtils.isEmpty(msHdmObpTwelveList)) {
view.setNearlyTwelveHours(getSum(msHdmObpTwelveList));
}
return view;
}
private String getSum(List<MsHdmObp> list) {
// 使用 Stream API 处理
BigDecimal sum = list.stream()
.map(MsHdmObp::getDrp)
.filter(drp -> !StringUtils.isEmpty(drp))
.map(BigDecimal::new)
.reduce(BigDecimal.ZERO, BigDecimal::add);
return sum.toString();
}
private void dtoInit(AttResTaskViewDto view) {
view.setCrestElevation("150");
view.setCurrentWaterLevel("0");
view.setDesignLevel("0");
view.setElevationWeirCrest("0");
view.setIncomingFlow("0");
view.setLastYearToday("0");
view.setNearlyAnHour("0");
view.setNearlyNineHours("0");
view.setNearlySixHours("0");
view.setNearlyTwelveHours("0");
view.setOutboundFlow("0");
view.setStationCode("");
view.setStationName("");
view.setStationName("");
view.setCheckWaterLevel("0");
view.setResCode("");
}
/**
* 获取当天的 00:00:00
*/
public static Date getStartOfDay() {
// 获取当前日期
LocalDate today = LocalDate.now();
// 转换为当天的 00:00:00
LocalDateTime startOfDay = today.atStartOfDay();
// 转换为 Date 类型
return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 获取第二天的 00:00:00
*/
public static Date getStartOfNextDay() {
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取第二天的日期
LocalDate nextDay = today.plusDays(1);
// 转换为第二天的 00:00:00
LocalDateTime startOfNextDay = nextDay.atStartOfDay();
// 转换为 Date 类型
return Date.from(startOfNextDay.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 获取去年今日的凌晨开始时间00:00:00
*/
public static Date getLastYearTodayStartOfDay() {
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取去年今日的日期
LocalDate lastYearToday = today.minusYears(1);
// 转换为凌晨开始时间(00:00:00)
LocalDateTime startOfDay = lastYearToday.atStartOfDay();
// 转换为 Date 类型
return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 获取去年今日第二天的凌晨开始时间00:00:00
*/
public static Date getLastYearTomorrowStartOfDay() {
// 获取当前日期
LocalDate today = LocalDate.now();
// 获取去年今日的日期
LocalDate lastYearToday = today.minusYears(1);
// 获取去年今日的第二天
LocalDate lastYearTomorrow = lastYearToday.plusDays(1);
// 转换为第二天的凌晨开始时间(00:00:00)
LocalDateTime startOfNextDay = lastYearTomorrow.atStartOfDay();
// 转换为 Date 类型
return Date.from(startOfNextDay.atZone(ZoneId.systemDefault()).toInstant());
}
/**
* 获取当前时间
*/
public static Date getCurrentTime() {
return Calendar.getInstance().getTime();
}
/**
* 获取指定小时数前的时间
*
* @param hours 小时数
* @return 指定小时数前的时间
*/
public static Date getTimeBeforeHours(int hours) {
Calendar calendar = Calendar.getInstance();
// 减去指定小时数
calendar.add(Calendar.HOUR_OF_DAY, -hours);
return calendar.getTime();
}
}

16
shuili-system/src/main/java/com/kms/yxgh/common/service/MsHdmObpService.java

@ -0,0 +1,16 @@
package com.kms.yxgh.common.service;
import com.kms.yxgh.base.domain.monitor.MsHdmObp;
import com.kms.yxgh.common.mapper.MsHdmObpMapper;
import com.shuili.common.core.service.BaseService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @author lyd
*/
@Service
@AllArgsConstructor
public class MsHdmObpService extends BaseService<MsHdmObpMapper, MsHdmObp> {
}

12
shuili-system/src/main/java/com/kms/yxgh/common/service/MsHdmRsvrService.java

@ -0,0 +1,12 @@
package com.kms.yxgh.common.service;
import com.kms.yxgh.base.domain.monitor.MsHdmRsvr;
import com.kms.yxgh.common.mapper.MsHdmRsvrMapper;
import com.shuili.common.core.service.BaseService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
public class MsHdmRsvrService extends BaseService<MsHdmRsvrMapper, MsHdmRsvr> {
}

59
sql/sy/v1.6.0/增量脚本/v1.6.2-update.sql

@ -0,0 +1,59 @@
create table `rel_st_res` (
`st_code` varchar(50) default null comment '测站代码',
`st_name` varchar(50) default null comment '测站名称',
`res_code` varchar(50) default null comment '水库代码',
`res_name` varchar(50) default null comment '水库名称',
`flag` varchar(50) default null comment '类型标识 1代表站',
`from_date` datetime default null comment '关系建立时间',
`to_date` datetime default null comment '关系终止时间'
) engine=innodb auto_increment=1 default charset=utf8mb4 collate=utf8mb4_general_ci row_format=dynamic comment='水库测站关联关系表';
create table att_res_sw (
res_code varchar(18) default null comment '水库代码',
swcd varchar(225) default null comment '溢洪道编号',
swnm varchar(225) default null comment '溢洪道名称',
lyps varchar(225) default null comment '布置位置',
crmt varchar(225) default null comment '控制方式',
wrcrel varchar(225) default null comment '堰顶高程',
wrcrntwd varchar(225) default null comment '堰顶净宽',
ofwrst varchar(225) default null comment '溢流堰型式',
gtst varchar(225) default null comment '闸门型式',
gtsz varchar(225) default null comment '闸门尺寸',
gtam varchar(225) default null comment '闸门数量',
maxds varchar(225) default null comment '最大泄量',
endsst varchar(225) default null comment '消能型式',
hseq varchar(225) default null comment '启闭设备',
hsgram varchar(225) default null comment '启闭机数量',
pwspcn varchar(225) default null comment '电源条件',
note varchar(256) default null comment '备注',
update_date datetime not null comment '记录更新时间'
)engine=innodb auto_increment=1 default charset=utf8mb4 collate=utf8mb4_general_ci row_format=dynamic comment='水库溢洪道表';
create table att_dam_base (
dam_code varchar(225) default null comment '大坝代码',
dam_name varchar(225) default null comment '大坝名称',
res_code varchar(225) default null comment '水库代码',
dam_start_long varchar(225) default null comment '水库大坝中点经度',
dam_start_lat varchar(225) default null comment '水库大坝中点纬度',
dam_loc varchar(225) default null comment '大坝所在位置',
if_main_dam varchar(225) default null comment '是否主坝',
if_yl_dam varchar(225) default null comment '是否溢流坝',
eng_grad varchar(225) default null comment '工程等别',
dam_grad varchar(225) default null comment '大坝级别',
dam_max_heig varchar(225) default null comment '最大坝高',
dam_top_len varchar(225) default null comment '坝顶长度',
dam_top_wid varchar(225) default null comment '坝顶宽度',
elev_sys varchar(225) default null comment '高程系统',
elev_sys_conver varchar(225) default null comment '高程转换值',
dam_top_elev varchar(225) default null comment '坝顶高程',
wvwltpel varchar(225) default null comment '防浪墙顶高程',
dam_type_mat varchar(225) default null comment '大坝材料类型',
dam_type_str varchar(225) default null comment '大坝结构类型',
dam_ov varchar(3000) default null comment '大坝概况',
note varchar(256) default null comment '备注',
update_date datetime not null comment '记录更新时间'
)engine=innodb auto_increment=1 default charset=utf8mb4 collate=utf8mb4_general_ci row_format=dynamic comment='水库大坝基础信息表';
Loading…
Cancel
Save