guoshilong
2023-08-09 f0c26b9f4a033e03dfe4710776c102440e44f9e8
1、修改hst预测请求;2、大坝预测数据接口
17 files modified
1 files added
283 ■■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java 8 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/PageVO.java 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/ArimaPredictController.java 31 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/HstPredictController.java 9 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/ArimaPredictMapper.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/ArimaPredictMapper.xml 18 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IArimaPredictService.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHstPredictService.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java 13 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java 66 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java 18 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java
@@ -1,8 +1,7 @@
package cn.gistack.nky.fegin;
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.vo.AlarmGetVO;
import org.apache.ibatis.annotations.Param;
import cn.gistack.nky.vo.PageVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -35,6 +34,8 @@
    //预警详情
    String GET_ALARM_DETAIL = API_PREFIX + "getAlarmDetail";
    //预警详情分页
    String GET_ALARM_DETAIL_PAGE = API_PREFIX + "getAlarmDetailPage";
    /**
@@ -78,4 +79,7 @@
    @PostMapping(GET_ALARM_DETAIL)
    List<AlarmGetVO> getAlarmDetail(@RequestBody AlarmGetVO alarmGet);
    @PostMapping(GET_ALARM_DETAIL_PAGE)
    PageVO<AlarmGetVO> getAlarmDetailPage(@RequestParam("current") Integer current, @RequestParam("size") Integer size,@RequestBody AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java
@@ -2,6 +2,7 @@
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.vo.AlarmGetVO;
import cn.gistack.nky.vo.PageVO;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -44,4 +45,11 @@
    public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
        return null;
    }
    @Override
    public PageVO<AlarmGetVO> getAlarmDetailPage(Integer current, Integer size, AlarmGetVO alarmGet) {
        return null;
    }
}
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/PageVO.java
New file
@@ -0,0 +1,29 @@
package cn.gistack.nky.vo;
import lombok.Data;
import java.util.List;
@Data
public class PageVO<T> {
    /**
     * 数据
     */
    private List<T> data;
    /**
     * 总数
     */
    private Long total;
    /**
     * 页数
     */
    private Long size;
    /**
     * 当前页
     */
    private Long current;
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/ArimaPredictController.java
@@ -1,10 +1,18 @@
package cn.gistack.nky.controller;
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.entity.HstPredict;
import cn.gistack.nky.service.IArimaPredictService;
import cn.gistack.nky.service.IHstPredictService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@@ -12,4 +20,27 @@
@RequestMapping("/arimaPredict/arimaPredict")
public class ArimaPredictController extends BladeController {
    private final IArimaPredictService arimaPredictService;
    private final IHstPredictService hstPredictService;
    /**
     * 获取预测数据
     * @param resCd 水库id
     * @param type 1:渗压,2:渗流,3:位移
     * @param predictFlag 预测方式
     * @return
     */
    @GetMapping("/futureData")
    public R futureData(String resCd,String type,String predictFlag){
        if (predictFlag.equals("Arima")){
            List<ArimaPredict> list =  arimaPredictService.getFutureData(resCd,type);
            return R.data(list);
        }else if (predictFlag.equals("Hst")){
            List<HstPredict> list = hstPredictService.getFutureData(resCd,type);
            return R.data(list);
        }else {
            return R.fail("无该预测方式");
        }
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/controller/HstPredictController.java
@@ -1,10 +1,17 @@
package cn.gistack.nky.controller;
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.service.IArimaPredictService;
import cn.gistack.nky.service.IHstPredictService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@@ -12,4 +19,6 @@
@RequestMapping("/hstPredict/hstPredict")
public class HstPredictController extends BladeController {
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java
@@ -7,8 +7,12 @@
import cn.gistack.nky.service.IHstPredictService;
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.vo.AlarmGetVO;
import cn.gistack.nky.vo.PageVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -71,4 +75,22 @@
    public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
        return alarmGetService.getAlarmDetail(alarmGet);
    }
    @Override
    @PostMapping(GET_ALARM_DETAIL_PAGE)
    public PageVO<AlarmGetVO> getAlarmDetailPage(Integer current, Integer size, AlarmGetVO alarmGet) {
        Query query = new Query();
        query.setCurrent(current);
        query.setSize(size);
        IPage<AlarmGetVO> alarmDetailPage = alarmGetService.getAlarmDetailPage(Condition.getPage(query), alarmGet);
        PageVO<AlarmGetVO> pageVO = new PageVO();
        pageVO.setData(alarmDetailPage.getRecords());
        pageVO.setTotal(alarmDetailPage.getTotal());
        pageVO.setCurrent(alarmDetailPage.getCurrent());
        pageVO.setSize(alarmDetailPage.getSize());
        return pageVO;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java
@@ -3,10 +3,13 @@
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface AlarmGetMapper extends BaseMapper<AlarmGet> {
    List<AlarmGetVO> getAlarmDetail(@Param("vo") AlarmGetVO alarmGet);
    List<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, @Param("vo") AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml
@@ -42,4 +42,24 @@
        </if>
        AND dam_id =  #{vo.damId}
    </select>
    <select id="getAlarmDetailPage" resultType="cn.gistack.nky.vo.AlarmGetVO">
        SELECT * FROM NKY_ALARM_GET
        WHERE 1=1
        <if test="vo.startTime != null and vo.startTime != ''">
            AND DATE_FORMAT(time,'%Y-%m-%d')  &gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime != null and vo.endTime !='' ">
            AND DATE_FORMAT(time,'%Y-%m-%d') &lt;= #{vo.endTime}
        </if>
        <if test="vo.level != null and vo.level !='' ">
            AND level = #{vo.level}
        </if>
        <if test="vo.status != null and vo.status !='' ">
            AND status = #{vo.status}
        </if>
        <if test="vo.type != null and vo.type !='' ">
            AND type = #{vo.type}
        </if>
        AND dam_id =  #{vo.damId}
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/ArimaPredictMapper.java
@@ -2,6 +2,10 @@
import cn.gistack.nky.entity.ArimaPredict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface ArimaPredictMapper  extends BaseMapper<ArimaPredict>{
    List<ArimaPredict> getFutureData(@Param("resCd") String resCd,@Param("type") String type);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/ArimaPredictMapper.xml
@@ -2,4 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.nky.mapper.ArimaPredictMapper">
    <select id="getFutureData" resultType="cn.gistack.nky.entity.ArimaPredict">
        SELECT * FROM NKY_ARIMA_PREDICT
        WHERE DATE_FORMAT(create_time,'%Y-%m-%d')>= CURDATE()
        <if test="resCd != null and resCd !='' ">
            AND DAM_ID = #{resCd}
        </if>
        <if test="type != null and type !='' and type == 1 ">
            AND type = #{type}
        </if>
        <if test="type != null and type !='' and type == 2">
            AND type = #{type}
        </if>
        <if test="type != null and type !='' and type == 3">
            AND (type = '3' or type = '4' or type = '5')
        </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java
@@ -2,6 +2,7 @@
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -12,4 +13,6 @@
    void alarmGetData(String type);
    List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet);
    IPage<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, AlarmGetVO alarmGet);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IArimaPredictService.java
@@ -3,8 +3,14 @@
import cn.gistack.nky.entity.ArimaPredict;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface IArimaPredictService extends IService<ArimaPredict> {
    /**
     * 请求预测
     * @param type
     */
    void getData(String type);
    /**
@@ -12,4 +18,11 @@
     * @param type
     */
    void predictData(String type);
    /**
     * 获取渗压预测数据
     * @param resCd
     * @return
     */
    List<ArimaPredict> getFutureData(String resCd,String type);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IHstPredictService.java
@@ -1,10 +1,15 @@
package cn.gistack.nky.service;
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.entity.HstPredict;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface IHstPredictService extends IService<HstPredict> {
    void getData(String type);
    void predictData(String type);
    List<HstPredict> getFutureData(String resCd, String type);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
@@ -10,6 +10,7 @@
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.service.IZtApiService;
import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -55,6 +56,11 @@
        return baseMapper.getAlarmDetail(alarmGet);
    }
    @Override
    public IPage<AlarmGetVO> getAlarmDetailPage(IPage<AlarmGetVO> page, AlarmGetVO alarmGet) {
        return  page.setRecords(baseMapper.getAlarmDetailPage(page,alarmGet));
    }
    /**
     * 获取水库集
     *
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/ArimaPredictServiceImpl.java
@@ -3,15 +3,13 @@
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.mapper.ArimaPredictMapper;
import cn.gistack.nky.requestpojo.ArimaPredictReqPo;
import cn.gistack.nky.requestpojo.HstPredictReqPo;
import cn.gistack.nky.requestpojo.PredictWatersPo;
import cn.gistack.nky.requestpojo.QueryReqPo;
import cn.gistack.nky.resultpojo.DataResChildrenPo;
import cn.gistack.nky.service.IArimaPredictService;
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.service.IZtApiService;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mysql.cj.util.StringUtils;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -72,6 +70,15 @@
    }
    @Override
    public List<ArimaPredict> getFutureData(String resCd,String type) {
        List<ArimaPredict> futureData = baseMapper.getFutureData(resCd, type);
        futureData.forEach(arimaPredict -> {
            arimaPredict.setPredicts(JSON.parse(arimaPredict.getPredicts().toString()));
        });
        return futureData;
    }
    @Override
    public boolean save(ArimaPredict entity) {
        if (ObjectUtil.isEmpty(entity.getId())){
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java
@@ -1,5 +1,6 @@
package cn.gistack.nky.service.impl;
import cn.gistack.nky.entity.ArimaPredict;
import cn.gistack.nky.entity.HstPredict;
import cn.gistack.nky.mapper.HstPredictMapper;
import cn.gistack.nky.requestpojo.HstPredictReqPo;
@@ -115,6 +116,11 @@
    }
    @Override
    public List<HstPredict> getFutureData(String resCd, String type) {
        return null;
    }
    @Override
    public boolean save(HstPredict entity) {
        if (ObjectUtil.isEmpty(entity.getCreateTime())) {
@@ -152,4 +158,5 @@
        }
        return cdList;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HsybServiceImpl.java
@@ -13,6 +13,8 @@
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -27,31 +29,29 @@
    @Override
    public List<List<String>> getFuture(String resCd) {
        HsybGetFuturePo hsybGetFuturePo  = apiRequest(GET_FUTURE, resCd);
        HsybGetFuturePo hsybGetFuturePo = apiRequest(GET_FUTURE, resCd);
        if (hsybGetFuturePo != null && hsybGetFuturePo.getRespCode().equals("200")){
        if (hsybGetFuturePo != null && hsybGetFuturePo.getRespCode().equals("200")) {
            List<List<String>> data = hsybGetFuturePo.getData();
            //过滤空值数据,过滤过去时间
            List<List<String>> collect =
                data.stream().filter(item -> item.get(0) != null).filter(item -> CommonUtil.strToDate(item.get(0)).after(DateUtil.now())).collect(Collectors.toList());
            List<List<String>> collect = filterPredictData(data);
            return collect;
        }else {
        } else {
            return null;
        }
    }
    public HsybGetFuturePo apiRequest(String url, String jsonparams){
    public HsybGetFuturePo apiRequest(String url, String jsonparams) {
//        Long param = Long.parseLong(jsonparams);
        System.out.println("请求参数:"+ jsonparams);
        System.out.println("请求参数:" + jsonparams);
        // 声明一个header变量
        HttpHeaders headers = new HttpHeaders();
        // 设置为json格式
        MediaType mediaType = MediaType.parseMediaType("application/json;charset=utf-8");
        headers.setContentType(mediaType);
        //设置请求头
        headers.set("Authorization",AUTHORIZATION);
        headers.set("Authorization", AUTHORIZATION);
        headers.add("Accept", MediaType.APPLICATION_JSON.toString());
        HttpEntity<String> httpEntity = new HttpEntity(jsonparams, headers);
@@ -60,10 +60,56 @@
            HsybGetFuturePo hsybGetFuturePo = template.postForObject(url, httpEntity, HsybGetFuturePo.class);
            System.out.println(hsybGetFuturePo.toString());
            return hsybGetFuturePo;
        }catch (Exception e){
        } catch (Exception e) {
            System.out.println(e);
        }
        return null;
    }
    /**
     * 对预测数据进行过滤
     *
     * @param data
     * @return
     */
    public List<List<String>> filterPredictData(List<List<String>> data) {
        String formatter = "yyyy-MM-dd";
        String today = DateUtil.format(new Date(), formatter);
        Long time = new Date().getTime() + 60 * 60 * 24 * 1000;
        Date tomorrowDate = new Date(time);
        String tomorrow = DateUtil.format(tomorrowDate, formatter);
        //过滤空值数据,过滤过去时间
        List<List<String>> collect = data.stream().filter(item -> item.get(0) != null).collect(Collectors.toList());
        Integer index = findIndex(collect, "/");
        if (index>-1){
            collect.get(index).set(0,tomorrow  + collect.get(index).get(0).substring(5));
        }
        for (int i = 0; i < collect.size(); i++) {
            if (i<index && index>-1){
                collect.get(i).set(0,today + " " + collect.get(i).get(0));
            }else if (i>index && index>-1){
                collect.get(i).set(0,tomorrow + " " + collect.get(i).get(0));
            }else if ( i!= index && index == -1){
                collect.get(i).set(0,today + " " + collect.get(i).get(0));
            }
        }
        List<List<String>> filterData =  data.stream().filter(item -> item.get(0) != null).filter(item -> CommonUtil.strToDate(item.get(0)).after(DateUtil.now())).collect(Collectors.toList());
        return filterData;
    }
    public Integer findIndex(List<List<String>> list,String reg){
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).get(0).indexOf(reg)>-1){
                return     i;
            }
        }
        return -1;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
@@ -1,17 +1,14 @@
package cn.gistack.sm.damSecurity.controller;
import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.fegin.INkyClient;
import cn.gistack.nky.vo.AlarmGetVO;
import cn.gistack.nky.vo.PageVO;
import cn.gistack.sm.damSecurity.service.IDamSecurityService;
import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics;
import cn.gistack.sm.damSecurity.vo.DamStationStatistics;
import cn.gistack.sm.exam.entity.ExamPlan;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
@@ -95,6 +92,19 @@
        return R.data(list);
    }
    /**
     * 大坝安全监测预警详情(分页)
     * @param alarmGet
     * @return
     */
    @ApiOperation(value = "大坝安全统计-大坝安全监测预警详情", notes = "大坝安全统计-大坝安全监测预警详情")
    @GetMapping(value = "/alarmDetailPage")
    public R alarmDetail(AlarmGetVO alarmGet,Query query){
        PageVO<AlarmGetVO> page = nkyClient.getAlarmDetailPage(query.getCurrent(), query.getSize(), alarmGet);
        return R.data(page);
    }
    /**
     * 大坝安全监测预警异常统计
     * @param damStationStatistics