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