河道水情

master
yangzhe123 2025-09-03 14:13:30 +08:00
parent 04bd928387
commit b2077819a5
5 changed files with 121 additions and 11 deletions

View File

@ -4,6 +4,7 @@ import com.gunshi.core.annotation.Get;
import com.gunshi.core.annotation.Post; import com.gunshi.core.annotation.Post;
import com.gunshi.core.result.R; import com.gunshi.core.result.R;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.vo.AttRiverNowDataVo;
import com.gunshi.project.hsz.entity.vo.AttRvBaseVo; import com.gunshi.project.hsz.entity.vo.AttRvBaseVo;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo; import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo; import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo;
@ -35,9 +36,9 @@ public class RiverWaterController {
@Autowired @Autowired
private RiverWaterService riverWaterService; private RiverWaterService riverWaterService;
@Post(path = "/list", summary = "河道水情列表") @Get(path = "/list", summary = "河道水情列表")
public R<List<AttRvBaseVo>> list() { public R<List<AttRvBaseVo>> list(@RequestParam("stcd") String stcd) {
return R.ok(riverWaterService.list()); return R.ok(riverWaterService.list(stcd));
} }
@Get(path = "/zqrl", summary = "水位流量关系") @Get(path = "/zqrl", summary = "水位流量关系")
@ -46,7 +47,7 @@ public class RiverWaterController {
} }
@Post(path = "/monitor/data", summary = "监测数据") @Post(path = "/monitor/data", summary = "监测数据(上方表格)")
public R<List<AttRvMonitorVo>> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) { public R<List<AttRvMonitorVo>> monitorData(@RequestBody @Validated DataQueryCommonSo dataQueryCommonSo) {
return R.ok(riverWaterService.monitorData(dataQueryCommonSo)); return R.ok(riverWaterService.monitorData(dataQueryCommonSo));
} }
@ -56,5 +57,10 @@ public class RiverWaterController {
return R.ok(riverWaterService.detail(stcd)); return R.ok(riverWaterService.detail(stcd));
} }
@Get(path = "/nowData",summary = "实时监测")
public R<AttRiverNowDataVo> nowData(@RequestParam("stcd") String stcd) {
return R.ok(riverWaterService.nowData(stcd));
}
} }

View File

@ -0,0 +1,34 @@
package com.gunshi.project.hsz.entity.vo;
import com.gunshi.project.hsz.model.StPptnRReal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class AttRiverNowDataVo extends StPptnRReal {
@Schema(description = "水位上报时间")
private Date waterTm;
@Schema(description = "监测水位")
private BigDecimal waterVal;
@Schema(description = "警戒水位")
private BigDecimal waterAlarm;
@Schema(description = "监测水位差值")
private BigDecimal waterAlarmGap;
@Schema(description = "保证水位")
private BigDecimal waterPromise;
@Schema(description = "保证水位差值")
private BigDecimal waterPromiseGap;
}

View File

@ -124,4 +124,41 @@ public class AttRvBaseVo {
@Schema(description = "建站日期") @Schema(description = "建站日期")
private String esstym; private String esstym;
/**
*
*/
@Schema(description="小时雨量")
private BigDecimal h1;
/**
* 3
*/
@Schema(description="3小时雨量")
private BigDecimal h3;
/**
* 6
*/
@Schema(description="6小时雨量")
private BigDecimal h6;
/**
* 12
*/
@Schema(description="12小时雨量")
private BigDecimal h12;
/**
* 24
*/
@Schema(description="24小时雨量")
private BigDecimal h24;
/**
*
*/
@Schema(description="今日雨量")
private BigDecimal today;
} }

View File

@ -490,4 +490,7 @@ public class RainBasinDivisionService {
.orElse(BigDecimal.ZERO); .orElse(BigDecimal.ZERO);
} }
public StPptnRReal queryStPptnRealByStcd(String stcd) {
return realRainMapper.queryPptnByStcd(stcd);
}
} }

View File

@ -4,13 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gunshi.project.hsz.entity.so.DataQueryCommonSo; import com.gunshi.project.hsz.entity.so.DataQueryCommonSo;
import com.gunshi.project.hsz.entity.vo.AttRvBaseVo; import com.gunshi.project.hsz.entity.vo.*;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorDetailVo;
import com.gunshi.project.hsz.entity.vo.AttRvMonitorVo;
import com.gunshi.project.hsz.entity.vo.StPptnDetailsVo;
import com.gunshi.project.hsz.mapper.AttResBaseMapper; import com.gunshi.project.hsz.mapper.AttResBaseMapper;
import com.gunshi.project.hsz.mapper.StZqrlBMapper; import com.gunshi.project.hsz.mapper.StZqrlBMapper;
import com.gunshi.project.hsz.model.StZqrlB; import com.gunshi.project.hsz.model.*;
import com.gunshi.project.hsz.util.DataHandleUtil; import com.gunshi.project.hsz.util.DataHandleUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -45,8 +42,14 @@ public class RiverWaterService {
@Resource @Resource
private RainBasinDivisionService rainBasinDivisionService; private RainBasinDivisionService rainBasinDivisionService;
public List<AttRvBaseVo> list() { @Resource
List<AttRvBaseVo> attRvBaseVos = attRvBaseMapper.queryWaterList(); private AlarmSetService alarmSetService;
@Resource
private StRiverRRealService stRiverRRealService;
public List<AttRvBaseVo> list(String stcd) {
List<AttRvBaseVo> attRvBaseVos = attRvBaseMapper.queryWaterListByStcd(stcd);
if(CollectionUtils.isEmpty(attRvBaseVos)){ if(CollectionUtils.isEmpty(attRvBaseVos)){
return attRvBaseVos; return attRvBaseVos;
} }
@ -160,4 +163,31 @@ public class RiverWaterService {
return new BigDecimal(0); return new BigDecimal(0);
} }
public AttRiverNowDataVo nowData(String stcd) {
AttRiverNowDataVo vo = new AttRiverNowDataVo();
LambdaQueryWrapper<AlarmSet> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlarmSet::getStcd,stcd);
AlarmSet alarmSet = alarmSetService.getBaseMapper().selectOne(queryWrapper);//查询该站点的警告水位配置信息
if(alarmSet == null){
vo.setWaterAlarm(BigDecimal.ZERO);
vo.setWaterPromise(BigDecimal.ZERO);
}else{
vo.setWaterAlarm(alarmSet.getWarnWaterLevel());
vo.setWaterPromise(alarmSet.getPromiseWaterLevel());
}
StPptnRReal stPptnRReal = rainBasinDivisionService.queryStPptnRealByStcd(stcd);//查询该站点的实时降雨
BeanUtils.copyProperties(stPptnRReal,vo);
//查询该站点实时水位
StRiverRReal stRiverRReal = stRiverRRealService.getBaseMapper().queryQByStcd(stcd);
if(stRiverRReal == null){
throw new IllegalArgumentException("未查询到该站点实时水位信息,请检查");
}
BigDecimal z = stRiverRReal.getZ() == null ? BigDecimal.ZERO : stRiverRReal.getZ();
vo.setWaterVal(z);
vo.setWaterAlarmGap(z.subtract(vo.getWaterAlarm()));
vo.setWaterPromise(z.subtract(vo.getWaterPromise()));
return vo;
}
} }