燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-08-12 ab94a1bded125837276d70cc14a3d8c7282294f4
1
已修改4个文件
88 ■■■■ 文件已修改
src/main/java/com/yssh/controller/WarningAnalyseController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/mapper/QxshMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/WarningAnalyseService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/QxshMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -102,21 +102,14 @@
        return Result.OK(warningService.everydayCount(null == date ? new Date() : date));
    }
    @ApiOperationSupport(order = 4)
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "三小时监测站点数据变化趋势", notes = "返回值为三小时监测站点监测数据,返回值为map集合,其中key为站点名称,value为list集合,保存每天监测数值数据")
    @GetMapping("/locationDataChange")
    public Result locationDataChange(@RequestParam(value = "end", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        return Result.OK(warningService.select3Hours(null == date ? new Date() : date));
    }
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "获取本月监测大数据站点最大值TOP10", notes = "获取本月监测大数据站点最大值TOP10数量列表")
    @GetMapping("/monthTop10")
    public Result monthTop10() {
        return Result.OK(warningService.selectMonthTop10());
    }
    @ApiOperationSupport(order = 5)
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "根据时间获取报警和预警信息", notes = "根据时间获取报警和预警信息")
    @GetMapping("/getAlarmAndWarnByTime")
    public Result getAlarmAndWarnByTime(
@@ -133,4 +126,25 @@
        return Result.OK(warningService.getAlarmAndWarnByTime(begin, end));
    }
    @ApiOperationSupport(order = 7)
    @ApiOperation(value = "获取本月监测站点最大值Top10", notes = "获取本月监测站点最大值Top10数量列表")
    @GetMapping("/monthTop10")
    public Result monthTop10() {
        return Result.OK(warningService.selectMonthTop10());
    }
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "获取本周监测站点最大值Top10", notes = "获取本周监测站点最大值Top10")
    @GetMapping("/weekTop10")
    public Result weekTop10() {
        return Result.OK(warningService.selectWeekTop10());
    }
    @ApiOperationSupport(order = 9)
    @ApiOperation(value = "获取本日监测站点最大值Top10", notes = "获取本日监测站点最大值Top10")
    @GetMapping("/dayTop10")
    public Result dayTop10() {
        return Result.OK(warningService.selectDayTop10());
    }
}
src/main/java/com/yssh/mapper/QxshMapper.java
@@ -18,6 +18,10 @@
    public List<Qxsh> selectMonthTop10(String time);
    public List<Qxsh> selectWeekTop10(@Param("start") Integer start, @Param("end") Integer end);
    public List<Qxsh> selectDayTop10(String time);
    public List<Qxsh> selectWarnByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
    public List<Qxsh> selectAlarmByBeginAndEnd(@Param("start") Integer start, @Param("end") Integer end);
src/main/java/com/yssh/service/WarningAnalyseService.java
@@ -135,7 +135,7 @@
    }
    /**
     * 获取本月监测大数据站点最大值TOP10
     * 获取本月监测站点最大值TOP10
     */
    public List<Qxsh> selectMonthTop10() {
        String time = DateUtils.getYyyyMm(new Date());
@@ -145,6 +145,34 @@
    }
    /**
     * 获取本周监测站点最大值TOP10
     */
    public List<Qxsh> selectWeekTop10() {
        Date now = new Date();
        int weekOfYear = DateUtils.getWeekOfYear(now);
        int year = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYY, now));
        Date lastSun = DateUtils.getWeekOfYearForSun(year, weekOfYear);
        Date mon = DateUtils.getAPeriodOfTime(lastSun, 1, Calendar.DATE);
        Date sun = DateUtils.getAPeriodOfTime(lastSun, 7, Calendar.DATE);
        Integer intMon = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, mon) + "00"); // 2023080700
        Integer intSun = Integer.parseInt(DateUtils.parseDateToStr(DateUtils.YYYYMMDD, sun) + "23"); // 2023081323
        List<Qxsh> list = qxshMapper.selectWeekTop10(intMon, intSun);
        return list;
    }
    /**
     * 获取本日监测站点最大值TOP10
     */
    public List<Qxsh> selectDayTop10() {
        String time = DateUtils.getYyyyMmDd(new Date());
        List<Qxsh> list = qxshMapper.selectDayTop10(time + "%");
        return list;
    }
    /**
     * 根据时间获取报警和预警信息
     */
    public List<Report> getAlarmAndWarnByTime(Date beginDate, Date endDate) {
src/main/resources/mapper/QxshMapper.xml
@@ -19,6 +19,28 @@
        limit 10;
    </select>
    <select id="selectWeekTop10" resultType="com.yssh.entity.Qxsh">
        with rs as (
            select id, name, lon, lat, format(value, 2) "value", time
            from yssh_qxsh
            where time between #{start} and #{end} and name like 'AI-%'
        )
        select id, name, lon, lat, value, time from rs
        order by value desc
        limit 10;
    </select>
    <select id="selectDayTop10" resultType="com.yssh.entity.Qxsh">
        with rs as (
            select id, name, lon, lat, format(value, 2) "value", time
            from yssh_qxsh
            where time like #{time} and name like 'AI-%'
        )
        select id, name, lon, lat, value, time from rs
        order by value desc
        limit 10;
    </select>
    <select id="selectWarnByBeginAndEnd" resultType="com.yssh.entity.Qxsh">
        select id, name, lon, lat, format(value, 2) "value", time
        from yssh_qxsh