水情告警
parent
72343a2907
commit
afe18d25b0
|
|
@ -11,12 +11,12 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
|||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
@MapperScan({
|
||||
"com.gunshi.project.tsg.datasync.mapper",
|
||||
"com.gunshi.project.tsg.datasync.mapper.jcsk",
|
||||
"com.gunshi.project.tsg.datasync.rsvrWaterLevel",
|
||||
"com.gunshi.project.tsg.datasync.rainfall",
|
||||
"com.gunshi.project.tsg.datasync.gate",
|
||||
"com.gunshi.project.tsg.datasync.riverWaterLevel",
|
||||
"com.gunshi.project.hsz.datasync.mapper",
|
||||
"com.gunshi.project.hsz.datasync.mapper.jcsk",
|
||||
"com.gunshi.project.hsz.datasync.rsvrWaterLevel",
|
||||
"com.gunshi.project.hsz.datasync.rainfall",
|
||||
"com.gunshi.project.hsz.datasync.gate",
|
||||
"com.gunshi.project.hsz.datasync.riverWaterLevel",
|
||||
})
|
||||
public class Main {
|
||||
|
||||
|
|
|
|||
|
|
@ -37,14 +37,14 @@ public class RiverWaterLevelService implements SyncTableRService<JcskStRsvrR, Ri
|
|||
@Scheduled(cron = "0 */5 * * * ?")
|
||||
@Override
|
||||
public int syncData() {
|
||||
// 获取所有水库水位要素的站点
|
||||
//从水库表中获取所有的站点信息(比如 黑石咀,檀树岗水库)
|
||||
List<StStbprpBElem> stbprps = stbprpMapper.selectByElem("z");
|
||||
|
||||
int cnt = 0;
|
||||
for (StStbprpBElem StStbprpBElem : stbprps) {
|
||||
RiverWaterLevel targetParams = new RiverWaterLevel();
|
||||
targetParams.setStcd(StStbprpBElem.getStcd());
|
||||
|
||||
//获取该站点在水库表中最新的那一条数据
|
||||
RiverWaterLevel latestTarget = getLatestTargetEntity(targetParams);
|
||||
List<JcskStRsvrR> sourceEntityList = getSourceEntityListByLatestTargetEntity(latestTarget);
|
||||
cnt += saveToTarget(sourceEntityList);
|
||||
|
|
@ -75,6 +75,7 @@ public class RiverWaterLevelService implements SyncTableRService<JcskStRsvrR, Ri
|
|||
|
||||
@Override
|
||||
public List<JcskStRsvrR> getSourceEntityListByLatestTargetEntity(@NonNull RiverWaterLevel targetEntity) {
|
||||
//去荆楚水库中查询出,时间大于水库中最新那一条时间的记录
|
||||
String stcd = targetEntity.getStcd();
|
||||
LocalDateTime tm = targetEntity.getTm();
|
||||
return sourceMapper.selectList(
|
||||
|
|
@ -86,6 +87,7 @@ public class RiverWaterLevelService implements SyncTableRService<JcskStRsvrR, Ri
|
|||
|
||||
@Override
|
||||
public int saveToTarget(List<JcskStRsvrR> sourceEntityList) {
|
||||
//将查询出的数据保存至目标水库表中
|
||||
int count = 0;
|
||||
for (JcskStRsvrR sourceEntity : sourceEntityList) {
|
||||
String stcd = sourceEntity.getStcd();
|
||||
|
|
|
|||
|
|
@ -66,16 +66,16 @@ public class WaterAlarmController {
|
|||
|
||||
@Operation(summary = "根据年份进行统计柱形图")
|
||||
@GetMapping("/count12")
|
||||
public List<WaterAlarmCount> count12(@RequestParam(value = "year") Integer year){
|
||||
public R<List<WaterAlarmCount>> count12(@RequestParam(value = "year") Integer year){
|
||||
List<WaterAlarmCount> counts = service.count12(year);
|
||||
return counts;
|
||||
return R.ok(counts);
|
||||
}
|
||||
|
||||
@Operation(summary = "根据年份进行统计圆饼图")
|
||||
@GetMapping("/countTypeByYear")
|
||||
public List<WaterAlarmTypeCount> countTypeByYear(@RequestParam(value = "year") Integer year){
|
||||
public R<List<WaterAlarmTypeCount>> countTypeByYear(@RequestParam(value = "year") Integer year){
|
||||
List<WaterAlarmTypeCount> res = service.countTypeByYear(year);
|
||||
return res;
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ public class WaterAlarmService extends ServiceImpl<WaterAlarmMapper, WaterAlarm>
|
|||
if(pageSo.getTimeRangeSo() != null){
|
||||
queryWrapper.between(WaterAlarm::getAlarmTime,pageSo.getTimeRangeSo().getStart(),pageSo.getTimeRangeSo().getEnd());
|
||||
}
|
||||
queryWrapper.orderByDesc(WaterAlarm::getAlarmTime);
|
||||
Page<WaterAlarm> waterAlarmPage = this.baseMapper.selectPage(pageSo.getPageSo().toPage(), queryWrapper);
|
||||
return waterAlarmPage;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,9 @@ public class AlarmTask {
|
|||
|
||||
|
||||
if(stRiverRReal != null){
|
||||
//该站点,真实河道水位的最新数据的时间
|
||||
Instant newDateInstant = stRiverRReal.getTm().toInstant();
|
||||
//告警表中,该站点的最新数据的时间
|
||||
Instant curDateInstant = waterAlarmNew.getAlarmTime().toInstant();
|
||||
if(newDateInstant.compareTo(curDateInstant) <= 0){
|
||||
//如果要插入数据的时间与当前告警表中数据相同,则直接跳过本条数据
|
||||
|
|
|
|||
Loading…
Reference in New Issue