guoshilong
2023-08-11 1fee64c10ffa5961f6970378d66a56e9b9f095f3
hst查询接口;大坝地图接口
9 files modified
337 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/HstPredictMapper.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/HstPredictMapper.xml 16 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/HstPredictServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java 15 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml 217 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java 58 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStatisticsRes.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/HstPredictMapper.java
@@ -3,5 +3,8 @@
import cn.gistack.nky.entity.HstPredict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface HstPredictMapper extends BaseMapper<HstPredict> {
    List<HstPredict> getFutureData(String resCd, String type);
}
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/HstPredictMapper.xml
@@ -2,4 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.nky.mapper.HstPredictMapper">
    <select id="getFutureData" resultType="cn.gistack.nky.entity.HstPredict">
        SELECT * FROM NKY_HST_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/impl/HstPredictServiceImpl.java
@@ -11,6 +11,7 @@
import cn.gistack.nky.service.IHsybService;
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 org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.utils.ObjectUtil;
@@ -117,7 +118,14 @@
    @Override
    public List<HstPredict> getFutureData(String resCd, String type) {
        return null;
        List<HstPredict> list = baseMapper.getFutureData(resCd,type);
        list.forEach(hstPredict -> {
            hstPredict.setPredictList(JSON.parse(hstPredict.getPredictList().toString()));
            hstPredict.setPreWaterList(JSON.parse(hstPredict.getPreWaterList().toString()));
        });
        return list;
    }
    @Override
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
@@ -18,8 +18,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.HashMap;
import java.util.List;
@Slf4j
@@ -130,4 +133,16 @@
        return R.data(list);
    }
    /**
     * 业务一张图 大坝安全监测(地图)
     * @param obj(adCode :行政区划;type:监测类型;status :状态 1全部;2正常;3异常)
     * @return
     */
    @ApiOperation(value = "大坝安全统计-大坝安全监测(地图)", notes = "大坝安全统计-大坝安全监测(地图)")
    @GetMapping(value = "/damResInfoCountMap")
    public R damResInfoCountMap(@ApiIgnore @RequestParam HashMap<String, String> obj){
        List<DamStationStatistics> list = damSecurityService.damResInfoCountMap(obj);
        return R.data(list);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java
@@ -30,4 +30,8 @@
    List<DamStationStatistics> getResSyNormalList(@Param("adCode") String adCode);
    List<DamStationStatistics> getResSlNormalList(@Param("adCode") String adCode);
    List<DamStationStatistics> getSyList(@Param("adCode") String adCode, @Param("status") String status);
    List<DamStationStatistics> getSlList(@Param("adCode") String adCode, @Param("status") String status);
    List<DamStationStatistics> getWyList(@Param("adCode") String adCode, @Param("status") String status);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -771,4 +771,221 @@
    </select>
    <select id="getSyList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
            DISTINCT arb."guid" AS resCd,
            arb."name" AS resName,
            arb."center_long" AS longitude,
            arb."center_lat" AS latitude
        FROM(
            SELECT
                b."guid" as "res_cd",
                'sy' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid"  IS NOT NULL
          <if test="status ==2">
              AND b."guid"  NOT IN  (
              ifnull(
              (
              SELECT wm_concat(temp.resCd)
              FROM (
              SELECT DISTINCT arb."guid" AS resCd
              FROM YWXT.NKY_ALARM_GET NAG
              LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
              LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
              LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
              WHERE NAG.TYPE = 1 AND  DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
              <if test=" adCode != null and adCode !='' ">
                  AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
              </if>
              ) temp),'')
              )
          </if>
        <if test="status == 3">
            AND b."guid"   IN  (
            ifnull(
            (
            SELECT wm_concat(temp.resCd)
            FROM (
            SELECT DISTINCT arb."guid" AS resCd
            FROM YWXT.NKY_ALARM_GET NAG
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE NAG.TYPE = 1 AND  DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
            <if test=" adCode != null and adCode !='' ">
                AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
            </if>
            ) temp),'')
            )
        </if>
        ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        <if test=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
    <select id="getSlList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
        DISTINCT arb."guid" AS resCd,
        arb."name" AS resName,
        arb."center_long" AS longitude,
        arb."center_lat" AS latitude
        FROM (SELECT b."guid" as "res_cd",'sl' as "sys_resource"
        FROM sjzt_ods."dsm_spg_spqnmp" a
        LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
        WHERE b."guid"  IS NOT NULL
          <if test="status == 2">
              AND b."guid"  NOT IN (
              ifnull(
              (SELECT wm_concat(temp.resCd) FROM
              (
              SELECT DISTINCT arb."guid" AS resCd
              FROM YWXT.NKY_ALARM_GET NAG
              LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
              LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
              LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
              WHERE NAG.TYPE = 2 AND  DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
              <if test=" adCode != null and adCode !='' ">
                  AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
              </if>
              ) temp),''
              )
              )
          </if>
        <if test="status == 3">
            AND b."guid"  IN (
            ifnull(
            (SELECT wm_concat(temp.resCd) FROM
            (
            SELECT DISTINCT arb."guid" AS resCd
            FROM YWXT.NKY_ALARM_GET NAG
            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
            LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
            LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
            LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
            WHERE NAG.TYPE = 2 AND  DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
            <if test=" adCode != null and adCode !='' ">
                AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
            </if>
            ) temp),''
            )
            )
        </if>
        group by b."guid" ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        <if test=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
    <select id="getWyList" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
        SELECT
        DISTINCT arb."guid" AS resCd,
        arb."name" AS resName,
        arb."center_long" AS longitude,
        arb."center_lat" AS latitude
        FROM (
        SELECT
        b."guid" as "res_cd",
        'wy' as "sys_resource"
        FROM (
        SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code"
        ) a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid"
        WHERE
        b."guid"  IS NOT NULL
          <if test="status == 2">
              and b."guid" NOT IN  (
              ifnull(
              (
              SELECT wm_concat(temp.resCd) FROM(
              SELECT DISTINCT arb."guid" AS resCd
              FROM YWXT.NKY_ALARM_GET NAG
              LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
              LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
              LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
              LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
              WHERE
              DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
              AND (NAG.TYPE = 3 OR NAG.TYPE = 4 OR NAG.TYPE = 5)
              <if test=" adCode != null and adCode !='' ">
                  AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
              </if>
              ) temp),'')
              )
          </if>
            <if test="status == 3">
                and b."guid"  IN  (
                ifnull(
                (
                SELECT wm_concat(temp.resCd) FROM(
                SELECT DISTINCT arb."guid" AS resCd
                FROM YWXT.NKY_ALARM_GET NAG
                LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID
                LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
                LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
                LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
                WHERE
                DATE_FORMAT(time,'%Y-%m-%d')>= CURDATE()
                AND (NAG.TYPE = 3 OR NAG.TYPE = 4 OR NAG.TYPE = 5)
                <if test=" adCode != null and adCode !='' ">
                    AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
                </if>
                ) temp),'')
                )
            </if>
        ) baseRes
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseRes."res_cd"
        LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
        WHERE 1=1
        <if test=" adCode != null and adCode !='' ">
            AND  (province."ad_code" =#{adCode} or city."ad_code" = #{adCode} or county."ad_code" = #{adCode})
        </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java
@@ -5,6 +5,7 @@
import cn.gistack.sm.damSecurity.vo.DamStatisticsRes;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.HashMap;
import java.util.List;
public interface IDamSecurityService {
@@ -44,4 +45,11 @@
     * @return
     */
    List<DamStatisticsRes> damResInfoCount(String adCode);
    /**
     * 大坝安全监测地图集合
     * @param obj
     * @return
     */
    List<DamStationStatistics> damResInfoCountMap(HashMap<String,String>  obj);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java
@@ -14,6 +14,7 @@
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Service
@@ -52,25 +53,46 @@
        List<DamStatisticsRes> list = damSecurityMapper.damResInfoCount(adCode);
        list.forEach(damStatisticsRes -> {
            List<DamStationStatistics> errorList = damSecurityMapper.getResErrorList(damStatisticsRes,adCode);
            damStatisticsRes.setErrorList(errorList);
        });
//        list.forEach(damStatisticsRes -> {
//            List<DamStationStatistics> errorList = damSecurityMapper.getResErrorList(damStatisticsRes,adCode);
//            damStatisticsRes.setErrorList(errorList);
//        });
//
//        list.forEach(damStatisticsRes -> {
//            List<DamStationStatistics> normalList = new ArrayList<>();
//            if (damStatisticsRes.getType().equals("1")){
//                //渗压
//                normalList = damSecurityMapper.getResSyNormalList(adCode);
//            }else if (damStatisticsRes.getType().equals("2")){
//                //渗流
//                normalList = damSecurityMapper.getResSlNormalList(adCode);
//            }else if (damStatisticsRes.getType().equals("3")){
//                //位移
//                 normalList = damSecurityMapper.getResWyNormalList(adCode);
//            }
//            damStatisticsRes.setNormalList(normalList);
//        });
        list.forEach(damStatisticsRes -> {
            List<DamStationStatistics> normalList = new ArrayList<>();
            if (damStatisticsRes.getType().equals("1")){
                //渗压
                normalList = damSecurityMapper.getResSyNormalList(adCode);
            }else if (damStatisticsRes.getType().equals("2")){
                //渗流
                normalList = damSecurityMapper.getResSlNormalList(adCode);
            }else if (damStatisticsRes.getType().equals("3")){
                //位移
                 normalList = damSecurityMapper.getResWyNormalList(adCode);
            }
            damStatisticsRes.setNormalList(normalList);
        });
        return list;
    }
    @Override
    public List<DamStationStatistics> damResInfoCountMap(HashMap<String,String>  obj) {
        String type = obj.get("type");
        String adCode = obj.get("adCode");
        String status = obj.get("status");
        List<DamStationStatistics> list = new ArrayList<>();
        if (type.equals("sy")){
            list = damSecurityMapper.getSyList(adCode,status);
        }else if (type.equals("sl")){
            list = damSecurityMapper.getSlList(adCode,status);
        }else if (type.equals("wy")){
            list = damSecurityMapper.getWyList(adCode,status);
        }else {
            return null;
        }
        return list;
    }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStatisticsRes.java
@@ -35,7 +35,7 @@
     */
    private String typeName;
    private List<DamStationStatistics> errorList;
    private List<DamStationStatistics> normalList;
//    private List<DamStationStatistics> errorList;
//
//    private List<DamStationStatistics> normalList;
}