tangzy
2021-10-07 2461281f7bdf6a4e7a016b528280ed5ec7b9f2a2
src/main/java/org/springblade/modules/river/mapper/RiverRMapper.xml
@@ -20,7 +20,7 @@
    </resultMap>
    <!--河道自定义超警信息-->
    <select id="selecthd" resultType="java.util.HashMap">
    <!--  <select id="selecthd" resultType="java.util.HashMap">
        SELECT ri.STCD,
               ri.TM,
               ri.Z,
@@ -37,6 +37,121 @@
        WHERE ri.TM &gt; #{beginTime}
          AND ri.TM &lt;= #{endTime} and ad.ADDVNM NOT LIKE '井冈山市' AND ad.ADDVNM NOT LIKE '吉水县'
        ORDER BY ri.Z desc
      </select>-->
    <select id="selecthd" resultType="java.util.HashMap">
        SELECT cs.STCD,
               cs1.TM,
               cs1.Z,
               cs1.Q,
               cs2.STNM,
               cs2.LGTD,
               cs2.LTTD,
               ad.ADDVNM,
               rv.WRZ
        FROM (
                 SELECT A.STCD,
                        s.ADDVCD
                 FROM (SELECT STCD, TM, Z, Q
                       FROM dbo.ST_RIVER_R
                       WHERE TM &gt; #{beginTime}
                         AND TM &lt;= #{endTime}) AS A
                          INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                                      FROM dbo.ST_STBPRP_B
                                      WHERE STTP = 'ZZ'
                                         or STTP = 'ZQ') s ON A.STCD = s.STCD
                          LEFT JOIN (SELECT ADDVCD, ADDVNM
                                     FROM dbo.ST_ADDVCD_D
                                     WHERE ADDVNM NOT LIKE '井冈山市'
                                       AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                 GROUP BY A.STCD, s.ADDVCD
             ) cs
                 LEFT JOIN (SELECT STCD, TM, Z, Q
                            FROM dbo.ST_RIVER_R
                            WHERE TM &gt; #{beginTime}
                              AND TM &lt;= #{endTime}) cs1 ON cs.STCD = cs1.STCD
                 INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                             FROM dbo.ST_STBPRP_B
                             WHERE STTP = 'ZZ'
                                or STTP = 'ZQ') cs2 ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT STCD, WRZ FROM dbo.ST_RVFCCH_B) rv ON rv.STCD = cs.STCD
                 LEFT JOIN (SELECT ADDVCD, ADDVNM FROM dbo.ST_ADDVCD_D) ad ON ad.ADDVCD = cs.ADDVCD
        GROUP BY cs.STCD,
                 cs1.TM,
                 cs1.Z,
                 cs2.STNM,
                 ad.ADDVNM,
                 cs2.LGTD,
                 cs2.LTTD,
                 cs1.Q,
                 rv.WRZ
    </select>
    <!--河道自定义预警测试接口-->
    <select id="selecthdcs" resultType="java.util.HashMap">
        SELECT cs.STCD,
               cs.TM,
               cs1.Z,
               cs1.Q,
               cs2.STNM,
               cs2.LGTD,
               cs2.LTTD,
               ad.ADDVNM,
               rv.WRZ,
               cs3.maxZ,
               cs4.minZ
        FROM (
                 SELECT A.STCD,
                        MAX(A.TM) TM,
                        s.ADDVCD
                 FROM (SELECT STCD, TM, Z, Q
                       FROM dbo.ST_RIVER_R
                       WHERE TM &gt; #{beginTime}
                         AND TM &lt;= #{endTime}) AS A
                          INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                                      FROM dbo.ST_STBPRP_B
                                      WHERE STTP = 'ZZ'
                                         OR STTP = 'ZQ') s ON A.STCD = s.STCD
                          LEFT JOIN (SELECT ADDVCD, ADDVNM
                                     FROM dbo.ST_ADDVCD_D
                                     WHERE ADDVNM NOT LIKE '井冈山市'
                                       AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                 GROUP BY A.STCD,
                          s.ADDVCD
             ) cs
                 LEFT JOIN (SELECT STCD, TM, Z, Q
                            FROM dbo.ST_RIVER_R
                            WHERE TM &gt; #{beginTime}
                              AND TM &lt;= #{endTime}) cs1 ON cs.STCD = cs1.STCD
            AND cs.TM = cs1.TM
                 INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                             FROM dbo.ST_STBPRP_B
                             WHERE STTP = 'ZZ'
                                OR STTP = 'ZQ') cs2 ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT STCD, WRZ FROM dbo.ST_RVFCCH_B) rv ON rv.STCD = cs.STCD
                 LEFT JOIN (SELECT ADDVCD, ADDVNM FROM dbo.ST_ADDVCD_D) ad ON ad.ADDVCD = cs.ADDVCD
                 INNER JOIN (SELECT STCD, MAX(Z) AS maxZ
                             FROM dbo.ST_RIVER_R
                             WHERE TM &gt; #{beginTime}
                               AND TM &lt;= #{endTime}
                             GROUP BY STCD) cs3 ON cs3.STCD = cs.STCD
                 INNER JOIN (SELECT STCD, MIN(Z) AS minZ
                             FROM dbo.ST_RIVER_R
                             WHERE TM &gt; #{beginTime}
                               AND TM &lt;= #{endTime}
                             GROUP BY STCD) cs4 ON cs4.STCD = cs.STCD
        GROUP BY cs.STCD,
                 cs.TM,
                 cs1.Z,
                 cs2.STNM,
                 ad.ADDVNM,
                 cs2.LGTD,
                 cs2.LTTD,
                 cs1.Q,
                 rv.WRZ,
                 cs3.maxZ,
                 cs4.minZ
    </select>
    <!--河道最新超警信息-->
@@ -49,25 +164,34 @@
               cs2.LGTD,
               cs2.LTTD,
               ad.ADDVNM,
               rv.WRZ
               rv.WRZ,
               z.Z as Zc
        FROM (
                 SELECT A.STCD,
                        MAX(A.TM) TM,
                        s.ADDVCD
                 FROM (SELECT STCD, TM, Z,Q FROM dbo.ST_RIVER_R) AS A
                          LEFT JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD FROM dbo.ST_STBPRP_B) s ON A.STCD = s.STCD
                          INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                                      FROM dbo.ST_STBPRP_B
                                      WHERE STTP = 'ZZ'
                                         or STTP = 'ZQ') s ON A.STCD = s.STCD
                          INNER JOIN (SELECT ADDVCD, ADDVNM
                                      FROM dbo.ST_ADDVCD_D
                                      WHERE ADDVNM NOT LIKE '井冈山市' AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                                      WHERE ADDVNM NOT LIKE '井冈山市'
                                        AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                 WHERE A.TM &gt; #{dateBegin24}
                   AND A.TM &lt;= #{time}
                 GROUP BY A.STCD, s.ADDVCD
             ) cs
                 LEFT JOIN (SELECT STCD, TM, Z,Q FROM dbo.ST_RIVER_R) cs1 ON cs.STCD = cs1.STCD
            AND cs.TM = cs1.TM
                 LEFT JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD FROM dbo.ST_STBPRP_B) cs2 ON cs.STCD = cs2.STCD
                 INNER JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD, STTP
                             FROM dbo.ST_STBPRP_B
                             WHERE STTP = 'ZZ'
                                or STTP = 'ZQ') cs2 ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT STCD, WRZ FROM dbo.ST_RVFCCH_B) rv ON rv.STCD = cs.STCD
                 INNER JOIN (SELECT ADDVCD, ADDVNM FROM dbo.ST_ADDVCD_D) ad ON ad.ADDVCD = cs.ADDVCD
                 INNER JOIN ( SELECT Z,STCD FROM ST_RIVER_R WHERE TM = '2021-09-11 08:00:00' ) z ON z.STCD= cs.STCD
        GROUP BY cs.STCD,
                 cs.TM,
                 cs1.Z,
@@ -76,7 +200,8 @@
                 cs2.LGTD,
                 cs2.LTTD,
                 cs1.Q,
                 rv.WRZ
                 rv.WRZ,
                 z.Z
    </select>
    <!--河道最新超警信息-->
    <select id="sel" resultType="java.util.HashMap">
@@ -97,7 +222,8 @@
                          LEFT JOIN (SELECT STCD, STNM, LTTD, LGTD, ADDVCD FROM dbo.ST_STBPRP_B) s ON A.STCD = s.STCD
                          INNER JOIN (SELECT ADDVCD, ADDVNM
                                      FROM dbo.ST_ADDVCD_D
                                      WHERE ADDVNM NOT LIKE '井冈山市' AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                                      WHERE ADDVNM NOT LIKE '井冈山市'
                                        AND ADDVNM NOT LIKE '吉水县') c ON c.ADDVCD = s.ADDVCD
                 GROUP BY A.STCD, s.ADDVCD
             ) cs
                 LEFT JOIN (SELECT STCD, TM, Z,Q FROM dbo.ST_RIVER_R) cs1 ON cs.STCD = cs1.STCD
@@ -118,7 +244,10 @@
    <select id="selectZ" resultType="java.util.HashMap">
        SELECT Z FROM ST_RIVER_R WHERE STCD=#{stcd} AND TM=#{ti}
        SELECT Z
        FROM ST_RIVER_R
        WHERE STCD = #{stcd}
          AND TM = #{ti}
    </select>
    <!--河道涨幅,跌幅信息-->
    <select id="selecthds" resultType="java.util.HashMap">
@@ -137,21 +266,24 @@
                        RANK() OVER ( partition BY STCD ORDER BY Z DESC ) maxAgeNum,
                        RANK() OVER ( partition BY STCD ORDER BY Z )      minAgeNum
                 FROM dbo.ST_RIVER_R
                 WHERE TM &gt;= #{beginTime}
                 WHERE TM &gt; #{beginTime}
                   AND TM &lt;= #{endTime}
             ) s
                 INNER JOIN dbo.ST_STBPRP_B st ON st.STCD = s.STCD
                 INNER JOIN (SELECT ADDVCD, ADDVNM FROM dbo.ST_ADDVCD_D  WHERE ADDVNM NOT LIKE '井冈山市' AND ADDVNM NOT LIKE '吉水县') ad ON ad.ADDVCD = st.ADDVCD
                 INNER JOIN (SELECT ADDVCD, ADDVNM
                             FROM dbo.ST_ADDVCD_D
                             WHERE ADDVNM NOT LIKE '井冈山市'
                               AND ADDVNM NOT LIKE '吉水县') ad ON ad.ADDVCD = st.ADDVCD
    </select>
   <!--河道基本站信息-->
    <select id="selectP" resultType="java.util.HashMap">
        SELECT STCD FROM sys_stbprp
        SELECT STCD
        FROM sys_stbprp
    </select>
    <select id="selecthdyj" resultType="java.util.HashMap">
        SELECT
        cs.STCD id,
        SELECT cs.STCD               id,
        cs.TM,
        cs1.Z,
        cs2.LTTD,
@@ -165,51 +297,46 @@
        ISNULL(cs4.oy,0) AS oy,
        ISNULL(cs4.toy,0) AS toy,
        ISNULL(cs4.fy,0) AS fy
        FROM
        (
        SELECT
        A.STCD,
        FROM (
                 SELECT A.STCD,
        MAX ( A.TM ) TM,
        s.ADDVCD
        FROM
        ( SELECT STCD, TM, Z FROM ST_RIVER_R WHERE TM &gt;=#{dateEnd} AND TM&lt;=#{times} ) AS A
                 FROM (SELECT STCD, TM, Z FROM ST_RIVER_R WHERE TM &gt;= #{dateEnd} AND TM &lt;= #{times}) AS A
        INNER JOIN (
        SELECT
        STCD,
                     SELECT STCD,
        STNM,
        LTTD,
        LGTD,
        ADDVCD,
        RVNM,
        STLC
        FROM
        dbo.ST_STBPRP_B
        WHERE
        STTP = 'ZZ'
                     FROM dbo.ST_STBPRP_B
                     WHERE STTP = 'ZZ'
        OR STTP = 'ZQ'
        ) s ON A.STCD = s.STCD
        LEFT JOIN ( SELECT STCD, WRZ FROM dbo.ST_RVFCCH_B ) rv ON A.STCD = rv.STCD
        LEFT JOIN ( SELECT stcd,fy,oy,ty,toy FROM swz_chazhi WHERE ty IS NOT NULL ) c ON A.STCD= c.stcd
        INNER JOIN ( SELECT ADDVCD, ADDVNM FROM dbo.ST_ADDVCD_D WHERE ADDVNM NOT LIKE '井冈山市' AND ADDVNM NOT LIKE '吉水县' ) d ON d.ADDVCD = s.ADDVCD
        GROUP BY
        A.STCD,
                          LEFT JOIN (SELECT stcd, fy, oy, ty, toy FROM swz_chazhi WHERE ty IS NOT NULL) c
                                    ON A.STCD = c.stcd
                          INNER JOIN (SELECT ADDVCD, ADDVNM
                                      FROM dbo.ST_ADDVCD_D
                                      WHERE ADDVNM NOT LIKE '井冈山市'
                                        AND ADDVNM NOT LIKE '吉水县') d ON d.ADDVCD = s.ADDVCD
                 GROUP BY A.STCD,
        s.ADDVCD
        ) cs
        INNER JOIN ( SELECT STCD, TM, Z FROM ST_RIVER_R WHERE TM &gt;=#{dateEnd} AND TM&lt;=#{times} ) cs1 ON cs.STCD = cs1.STCD
                 INNER JOIN (SELECT STCD, TM, Z FROM ST_RIVER_R WHERE TM &gt;= #{dateEnd} AND TM &lt;= #{times}) cs1
                            ON cs.STCD = cs1.STCD
        AND cs.TM = cs1.TM
        INNER JOIN (
        SELECT
        STCD,
            SELECT STCD,
        STNM,
        LTTD,
        LGTD,
        ADDVCD,
        RVNM,
        STLC
        FROM
        dbo.ST_STBPRP_B
        WHERE
        STTP = 'ZZ'
            FROM dbo.ST_STBPRP_B
            WHERE STTP = 'ZZ'
        OR STTP = 'ZQ'
        ) cs2 ON cs.STCD = cs2.STCD
        LEFT JOIN ( SELECT STCD, WRZ FROM dbo.ST_RVFCCH_B ) cs3 ON cs.STCD = cs3.STCD