首页-综合监视-预警(2个新站点编号待定)
parent
9deb5985fa
commit
b6cee9a13f
|
|
@ -30,6 +30,13 @@ public class HomeWarnVo {
|
||||||
@Schema(description="渗流告警")
|
@Schema(description="渗流告警")
|
||||||
private List<OsmoticWarnVo> flowWarn;
|
private List<OsmoticWarnVo> flowWarn;
|
||||||
|
|
||||||
|
@Schema(description = "超河道警告 上游")
|
||||||
|
private String overRvUp;
|
||||||
|
|
||||||
|
@Schema(description = "超河道警告 下游")
|
||||||
|
private String overRvDown;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description="AI告警个数")
|
@Schema(description="AI告警个数")
|
||||||
private Long aiWarnCount;
|
private Long aiWarnCount;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.gunshi.project.hsz.mapper;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.gunshi.project.hsz.model.StRsvrRReal;
|
import com.gunshi.project.hsz.model.StRsvrRReal;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述: 水库水位实时数据表
|
* 描述: 水库水位实时数据表
|
||||||
|
|
@ -12,4 +13,6 @@ import org.apache.ibatis.annotations.Mapper;
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface StRsvrRRealMapper extends BaseMapper<StRsvrRReal> {
|
public interface StRsvrRRealMapper extends BaseMapper<StRsvrRReal> {
|
||||||
|
|
||||||
|
StRsvrRReal queryRzByStcd(@Param("stcd") String stcd);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -9,8 +9,10 @@ import com.gunshi.db.dto.DateTimeRangeSo;
|
||||||
import com.gunshi.project.hsz.entity.vo.*;
|
import com.gunshi.project.hsz.entity.vo.*;
|
||||||
import com.gunshi.project.hsz.mapper.AttResBaseMapper;
|
import com.gunshi.project.hsz.mapper.AttResBaseMapper;
|
||||||
import com.gunshi.project.hsz.mapper.StQxWarnRMapper;
|
import com.gunshi.project.hsz.mapper.StQxWarnRMapper;
|
||||||
|
import com.gunshi.project.hsz.model.AlarmSet;
|
||||||
import com.gunshi.project.hsz.model.StImgWarnR;
|
import com.gunshi.project.hsz.model.StImgWarnR;
|
||||||
import com.gunshi.project.hsz.model.StQxWarnR;
|
import com.gunshi.project.hsz.model.StQxWarnR;
|
||||||
|
import com.gunshi.project.hsz.model.StRsvrRReal;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.compress.utils.Lists;
|
import org.apache.commons.compress.utils.Lists;
|
||||||
|
|
@ -53,6 +55,12 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
@Resource
|
@Resource
|
||||||
private AttResBaseMapper attResBaseMapper;
|
private AttResBaseMapper attResBaseMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private StRsvrRRealService stRsvrRRealService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AlarmSetService alarmSetService;
|
||||||
|
|
||||||
public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) {
|
public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) {
|
||||||
HomeWarnVo vo = new HomeWarnVo();
|
HomeWarnVo vo = new HomeWarnVo();
|
||||||
|
|
||||||
|
|
@ -93,9 +101,73 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
Long aiWarnCount = imgWarnRService.lambdaQuery()
|
Long aiWarnCount = imgWarnRService.lambdaQuery()
|
||||||
.ge(StImgWarnR::getTm, dateTimeRangeSo.getStart()).lt(StImgWarnR::getTm, dateTimeRangeSo.getEnd()).count();
|
.ge(StImgWarnR::getTm, dateTimeRangeSo.getStart()).lt(StImgWarnR::getTm, dateTimeRangeSo.getEnd()).count();
|
||||||
vo.setAiWarnCount(aiWarnCount);
|
vo.setAiWarnCount(aiWarnCount);
|
||||||
|
|
||||||
|
//TODO 超河道上游
|
||||||
|
String upperStcd = "123";//固定的站点编码
|
||||||
|
setUpAndDownOverRvUp(upperStcd,vo);
|
||||||
|
|
||||||
|
//TODO 超河道下游
|
||||||
|
String lowerStcd = "61610700";//固定的站点编码
|
||||||
|
setUpAndDownOverRvDown(lowerStcd,vo);
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setUpAndDownOverRvUp(String stcd,HomeWarnVo vo){
|
||||||
|
StRsvrRReal stRsvrRReal = stRsvrRRealService.getBaseMapper().queryRzByStcd(stcd);
|
||||||
|
if(stRsvrRReal != null){
|
||||||
|
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
||||||
|
//警告水位
|
||||||
|
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
||||||
|
//保证水位
|
||||||
|
BigDecimal promiseWaterLevel = alarmSet.getPromiseWaterLevel();
|
||||||
|
if(alarmSet == null){
|
||||||
|
vo.setOverRvUp("告警设置未配置,请检查");
|
||||||
|
}else{
|
||||||
|
BigDecimal rz = new BigDecimal(stRsvrRReal.getRz());
|
||||||
|
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
||||||
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
|
vo.setOverRvUp("超警戒(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}else if(rz.compareTo(promiseWaterLevel) >=0){
|
||||||
|
BigDecimal gap = rz.subtract(promiseWaterLevel);
|
||||||
|
vo.setOverRvUp("超保证(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}else{
|
||||||
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
|
vo.setOverRvUp("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
vo.setOverRvUp("暂无水库水位数据");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setUpAndDownOverRvDown(String stcd,HomeWarnVo vo){
|
||||||
|
StRsvrRReal stRsvrRReal = stRsvrRRealService.getBaseMapper().queryRzByStcd(stcd);
|
||||||
|
if(stRsvrRReal != null){
|
||||||
|
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
||||||
|
//警告水位
|
||||||
|
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
||||||
|
//保证水位
|
||||||
|
BigDecimal promiseWaterLevel = alarmSet.getPromiseWaterLevel();
|
||||||
|
if(alarmSet == null){
|
||||||
|
vo.setOverRvDown("告警设置未配置,请检查");
|
||||||
|
}else{
|
||||||
|
BigDecimal rz = new BigDecimal(stRsvrRReal.getRz());
|
||||||
|
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
||||||
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
|
vo.setOverRvDown("超警戒(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}else if(rz.compareTo(promiseWaterLevel) >=0){
|
||||||
|
BigDecimal gap = rz.subtract(promiseWaterLevel);
|
||||||
|
vo.setOverRvDown("超保证(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}else{
|
||||||
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
|
vo.setOverRvDown("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
vo.setOverRvDown("暂无水库水位数据");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private List<QXWarningVo> queryQxWarn() {
|
private List<QXWarningVo> queryQxWarn() {
|
||||||
List<QXWarningVo> list = new ArrayList<>();
|
List<QXWarningVo> list = new ArrayList<>();
|
||||||
ApiVo apiVo = new ApiVo();
|
ApiVo apiVo = new ApiVo();
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,15 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.gunshi.project.hsz.mapper.StRsvrRRealMapper">
|
<mapper namespace="com.gunshi.project.hsz.mapper.StRsvrRRealMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<select id="queryRzByStcd" resultType="com.gunshi.project.hsz.model.StRsvrRReal">
|
||||||
|
select t2.*,t1.stnm FROM
|
||||||
|
st_stbprp_b t1
|
||||||
|
join st_rsvr_r_real t2
|
||||||
|
on t1.stcd = t2.stcd
|
||||||
|
where t2.stcd = #{stcd}
|
||||||
|
order by t2.tm desc
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue