首页-预警
parent
91d34a227f
commit
f3c475e6f7
|
|
@ -41,6 +41,9 @@ public class StRiverRReal implements Serializable {
|
||||||
@NotNull(message = "stcd不能为空")
|
@NotNull(message = "stcd不能为空")
|
||||||
private String stcd;
|
private String stcd;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String stnm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tm
|
* tm
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,7 @@ 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.*;
|
||||||
import com.gunshi.project.hsz.model.StImgWarnR;
|
|
||||||
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;
|
||||||
|
|
@ -61,6 +58,9 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
@Resource
|
@Resource
|
||||||
private AlarmSetService alarmSetService;
|
private AlarmSetService alarmSetService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private StRiverRRealService stRiverRRealService;
|
||||||
|
|
||||||
public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) {
|
public HomeWarnVo homeWarn(DateTimeRangeSo dateTimeRangeSo) {
|
||||||
HomeWarnVo vo = new HomeWarnVo();
|
HomeWarnVo vo = new HomeWarnVo();
|
||||||
|
|
||||||
|
|
@ -113,8 +113,9 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpAndDownOverRvUp(String stcd,HomeWarnVo vo){
|
private void setUpAndDownOverRvUp(String stcd,HomeWarnVo vo){
|
||||||
StRsvrRReal stRsvrRReal = stRsvrRRealService.getBaseMapper().queryRzByStcd(stcd);
|
//StRsvrRReal stRsvrRReal = stRsvrRRealService.getBaseMapper().queryRzByStcd(stcd);
|
||||||
if(stRsvrRReal != null){
|
StRiverRReal stRiverRReal = stRiverRRealService.getBaseMapper().queryQByStcd(stcd);
|
||||||
|
if(stRiverRReal != null){
|
||||||
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
||||||
//警告水位
|
//警告水位
|
||||||
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
||||||
|
|
@ -123,13 +124,10 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
if(alarmSet == null){
|
if(alarmSet == null){
|
||||||
vo.setOverRvUp("告警设置未配置,请检查");
|
vo.setOverRvUp("告警设置未配置,请检查");
|
||||||
}else{
|
}else{
|
||||||
BigDecimal rz = new BigDecimal(stRsvrRReal.getRz());
|
BigDecimal rz = stRiverRReal.getZ();
|
||||||
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
if(rz.compareTo(warnWaterLevel) >=0){
|
||||||
BigDecimal gap = rz.subtract(warnWaterLevel);
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
vo.setOverRvUp("超警戒(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
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{
|
}else{
|
||||||
BigDecimal gap = rz.subtract(warnWaterLevel);
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
vo.setOverRvUp("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
vo.setOverRvUp("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
|
@ -141,8 +139,8 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpAndDownOverRvDown(String stcd,HomeWarnVo vo){
|
private void setUpAndDownOverRvDown(String stcd,HomeWarnVo vo){
|
||||||
StRsvrRReal stRsvrRReal = stRsvrRRealService.getBaseMapper().queryRzByStcd(stcd);
|
StRiverRReal stRiverRReal = stRiverRRealService.getBaseMapper().queryQByStcd(stcd);
|
||||||
if(stRsvrRReal != null){
|
if(stRiverRReal != null){
|
||||||
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
AlarmSet alarmSet = alarmSetService.getBaseMapper().queryByStcd(stcd);
|
||||||
//警告水位
|
//警告水位
|
||||||
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
||||||
|
|
@ -151,13 +149,10 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
|
||||||
if(alarmSet == null){
|
if(alarmSet == null){
|
||||||
vo.setOverRvDown("告警设置未配置,请检查");
|
vo.setOverRvDown("告警设置未配置,请检查");
|
||||||
}else{
|
}else{
|
||||||
BigDecimal rz = new BigDecimal(stRsvrRReal.getRz());
|
BigDecimal rz = stRiverRReal.getZ();
|
||||||
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
if(rz.compareTo(warnWaterLevel) >=0){
|
||||||
BigDecimal gap = rz.subtract(warnWaterLevel);
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
vo.setOverRvDown("超警戒(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
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{
|
}else{
|
||||||
BigDecimal gap = rz.subtract(warnWaterLevel);
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
vo.setOverRvDown("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
vo.setOverRvDown("正常(" +gap.setScale(2, RoundingMode.HALF_UP)+")m");
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,10 @@ import com.gunshi.project.hsz.mapper.AlarmSetMapper;
|
||||||
import com.gunshi.project.hsz.mapper.AttResBaseMapper;
|
import com.gunshi.project.hsz.mapper.AttResBaseMapper;
|
||||||
import com.gunshi.project.hsz.mapper.StRsvrRRealMapper;
|
import com.gunshi.project.hsz.mapper.StRsvrRRealMapper;
|
||||||
import com.gunshi.project.hsz.model.AlarmSet;
|
import com.gunshi.project.hsz.model.AlarmSet;
|
||||||
|
import com.gunshi.project.hsz.model.StRiverRReal;
|
||||||
import com.gunshi.project.hsz.model.StRsvrRReal;
|
import com.gunshi.project.hsz.model.StRsvrRReal;
|
||||||
import com.gunshi.project.hsz.model.WaterAlarm;
|
import com.gunshi.project.hsz.model.WaterAlarm;
|
||||||
|
import com.gunshi.project.hsz.service.StRiverRRealService;
|
||||||
import com.gunshi.project.hsz.service.WaterAlarmService;
|
import com.gunshi.project.hsz.service.WaterAlarmService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -46,6 +48,9 @@ public class AlarmTask {
|
||||||
@Autowired
|
@Autowired
|
||||||
private WaterAlarmService waterAlarmService;
|
private WaterAlarmService waterAlarmService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private StRiverRRealService stRiverRRealService;
|
||||||
|
|
||||||
// @Async
|
// @Async
|
||||||
// @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES)
|
// @Scheduled(fixedRate = 5, timeUnit = TimeUnit.MINUTES)
|
||||||
public void updateAlarmSet(){
|
public void updateAlarmSet(){
|
||||||
|
|
@ -112,8 +117,9 @@ public class AlarmTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveRiverData(String stcd){
|
private void saveRiverData(String stcd){
|
||||||
StRsvrRReal stRsvrRReal = stRsvrRRealMapper.queryRzByStcd(stcd);
|
//StRsvrRReal stRsvrRReal = stRsvrRRealMapper.queryRzByStcd(stcd);
|
||||||
if(stRsvrRReal != null){
|
StRiverRReal stRiverRReal = stRiverRRealService.getBaseMapper().queryQByStcd(stcd);
|
||||||
|
if(stRiverRReal != null){
|
||||||
AlarmSet alarmSet = alarmSetMapper.queryByStcd(stcd);
|
AlarmSet alarmSet = alarmSetMapper.queryByStcd(stcd);
|
||||||
//警告水位
|
//警告水位
|
||||||
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
BigDecimal warnWaterLevel = alarmSet.getWarnWaterLevel();
|
||||||
|
|
@ -122,16 +128,16 @@ public class AlarmTask {
|
||||||
if(alarmSet == null){
|
if(alarmSet == null){
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
BigDecimal rz = new BigDecimal(stRsvrRReal.getRz());
|
BigDecimal rz =stRiverRReal.getZ();
|
||||||
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
if(rz.compareTo(warnWaterLevel) >=0 && rz.compareTo(promiseWaterLevel) <0){
|
||||||
BigDecimal gap = rz.subtract(warnWaterLevel);
|
BigDecimal gap = rz.subtract(warnWaterLevel);
|
||||||
//河道超警戒
|
//河道超警戒
|
||||||
Integer level = AlarmTypeEnum.RIVER_OVER_WARNING.getLevel();
|
Integer level = AlarmTypeEnum.RIVER_OVER_WARNING.getLevel();
|
||||||
WaterAlarm waterAlarm = new WaterAlarm();
|
WaterAlarm waterAlarm = new WaterAlarm();
|
||||||
waterAlarm.setStcd(stRsvrRReal.getStcd());
|
waterAlarm.setStcd(stRiverRReal.getStcd());
|
||||||
waterAlarm.setStnm(stRsvrRReal.getStnm());
|
waterAlarm.setStnm(stRiverRReal.getStnm());
|
||||||
waterAlarm.setAlarmTime(stRsvrRReal.getTm().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
waterAlarm.setAlarmTime(stRiverRReal.getTm().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||||
waterAlarm.setCurValue(new BigDecimal(stRsvrRReal.getRz()));
|
waterAlarm.setCurValue(stRiverRReal.getZ());
|
||||||
waterAlarm.setAlarmValue(warnWaterLevel);
|
waterAlarm.setAlarmValue(warnWaterLevel);
|
||||||
waterAlarm.setOverValue(gap);
|
waterAlarm.setOverValue(gap);
|
||||||
waterAlarm.setAlarmType(level);
|
waterAlarm.setAlarmType(level);
|
||||||
|
|
@ -141,10 +147,10 @@ public class AlarmTask {
|
||||||
//河道超保证
|
//河道超保证
|
||||||
Integer level = AlarmTypeEnum.RIVER_OVER_GUARANTEE.getLevel();
|
Integer level = AlarmTypeEnum.RIVER_OVER_GUARANTEE.getLevel();
|
||||||
WaterAlarm waterAlarm = new WaterAlarm();
|
WaterAlarm waterAlarm = new WaterAlarm();
|
||||||
waterAlarm.setStcd(stRsvrRReal.getStcd());
|
waterAlarm.setStcd(stRiverRReal.getStcd());
|
||||||
waterAlarm.setStnm(stRsvrRReal.getStnm());
|
waterAlarm.setStnm(stRiverRReal.getStnm());
|
||||||
waterAlarm.setAlarmTime(stRsvrRReal.getTm().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
waterAlarm.setAlarmTime(stRiverRReal.getTm().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
||||||
waterAlarm.setCurValue(new BigDecimal(stRsvrRReal.getRz()));
|
waterAlarm.setCurValue(stRiverRReal.getZ());
|
||||||
waterAlarm.setAlarmValue(promiseWaterLevel);
|
waterAlarm.setAlarmValue(promiseWaterLevel);
|
||||||
waterAlarm.setOverValue(gap);
|
waterAlarm.setOverValue(gap);
|
||||||
waterAlarm.setAlarmType(level);
|
waterAlarm.setAlarmType(level);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue