tangzy
2021-11-09 39caebba35fc84824f5cd51d189fe322d5145803
src/main/java/org/springblade/modules/rsvr/mapper/RsvrRMapper.xml
@@ -58,22 +58,65 @@
               rsv.FSLTDZ,
               st.STNM,
               st.LGTD,
               st.FDL,
               rs.INQ,
               rs.W,
               isnull(rs.W, 0)  as W,
               rs.OTQ,
               st.LTTD,
               st.ADDVNM
               st.ADDVNM,
               cs3.maxZ,
               cs4.minZ
        FROM dbo.ST_RSVR_R rs
                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
                 LEFT JOIN (SELECT FSLTDZ, STCD
                            FROM dbo.ST_RSVRFSR_B
                            WHERE BGMD = #{egmd}
                              AND EDMD = #{edmd}
                              and FSLTDZ is not null) rsv ON rsv.STCD = rs.STCD
                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
                 INNER JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
        WHERE rs.TM >= #{beginTime}
                 LEFT JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
                 LEFT JOIN (SELECT STCD, MAX(RZ) AS maxZ
                            FROM dbo.ST_RSVR_R
                            WHERE TM > #{beginTime}
                              AND TM <= #{endTime}
                              AND STCD IN (${code})
                            GROUP BY STCD) cs3 ON cs3.STCD = rs.STCD
                 LEFT JOIN (SELECT STCD, MIN(RZ) AS minZ
                            FROM dbo.ST_RSVR_R
                            WHERE TM > #{beginTime}
                              AND TM <= #{endTime}
                              AND STCD IN (${code})
                            GROUP BY STCD) cs4 ON cs4.STCD = rs.STCD
        WHERE rs.TM > #{beginTime}
          AND rs.TM <= #{endTime}
        ORDER BY rs.TM DESC
    </select>
    <select id="selectyjcd" resultType="java.util.HashMap">
        SELECT rs.STCD,
               rs.TM,
               isnull(rs.RZ, 0) as RZ,
               rsv.FSLTDZ,
               st.STNM,
               st.LGTD,
               st.FDL,
               rs.INQ,
               isnull(rs.W, 0)  as W,
               rs.OTQ,
               st.LTTD,
               st.ADDVNM,
               rs.RZ            as maxZ,
               rs.RZ            as minZ
        FROM dbo.ST_RSVR_R rs
                 INNER JOIN sys_rsvr st ON st.STCD = rs.STCD
                 LEFT JOIN (SELECT FSLTDZ, STCD
                            FROM dbo.ST_RSVRFSR_B
                            WHERE BGMD = #{egmd}
                              AND EDMD = #{edmd}
                              and FSLTDZ is not null) rsv ON rsv.STCD = rs.STCD
                 LEFT JOIN dbo.ST_RSVRFCCH_B rst ON rst.STCD = rs.STCD
        WHERE rs.TM &gt;= #{beginTime}
          AND rs.TM &lt;= #{endTime}
          AND rs.STCD IN (${code})
    </select>
    <!--水库最新信息-->
@@ -128,17 +171,18 @@
               isnull(rsvr.RZS, 0) AS RZS,
               cs2.STNM,
               cs3.INQ,
               cs1.W,
               isnull(cs1.W, 0)    as W,
               cs3.OTQ,
               cs2.LGTD,
               cs2.LTTD,
               cs2.ADDVNM,
               cs2.FDL,
               rsv.FSLTDZ
        FROM (
                 SELECT A.STCD,
                        MAX(A.TM) TM
                 FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A
                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr) s ON A.STCD = s.STCD
                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) s ON A.STCD = s.STCD
                          LEFT JOIN (SELECT FSLTDZ, STCD
                                     FROM dbo.ST_RSVRFSR_B
                                     WHERE BGMD = #{egmd}
@@ -153,7 +197,7 @@
                 INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1
                            ON cs.STCD = cs1.STCD
                                AND cs.TM = cs1.TM
                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT FSLTDZ, STCD
                            FROM dbo.ST_RSVRFSR_B
                            WHERE BGMD = #{egmd}
@@ -173,6 +217,7 @@
                 cs2.ADDVNM,
                 cs2.LGTD,
                 cs2.LTTD,
                 cs2.FDL,
                 rsv.FSLTDZ
    </select>
@@ -281,14 +326,8 @@
    <select id="selectCode" resultType="java.lang.String">
        SELECT stuff((SELECT ',' + CONVERT(VARCHAR (25), rs.STCD)
                      FROM ST_RSVR_R r
                               INNER JOIN sys_rsvr rs ON
                          rs.STCD = r.STCD
                      WHERE r.TM &gt;= #{beginTime}
                        AND r.TM &lt;= #{endTime}
                      GROUP BY rs.STCD
            FOR XML PATH ('')),
        SELECT stuff((SELECT ',' + CONVERT(VARCHAR (25), STCD)
                      FROM sys_rsvr FOR XML PATH ('')),
                     1,
                     1,
                     ''
@@ -303,46 +342,74 @@
    <!--                     ''-->
    <!--                   ) AS stcd-->
    <!--    </select>-->
    <!--    <select id="sel" resultType="java.util.HashMap">-->
    <!--        SELECT cs.STCD,-->
    <!--               cs.TM,-->
    <!--               isnull(cs1.RZ, 0) as RZ,-->
    <!--               cs2.STNM,-->
    <!--               cs1.INQ,-->
    <!--               isnull(cs1.W, 0)  as W,-->
    <!--               cs1.OTQ,-->
    <!--               cs2.LGTD,-->
    <!--               cs2.LTTD,-->
    <!--               cs2.ADDVNM,-->
    <!--               rsv.FSLTDZ-->
    <!--        FROM (-->
    <!--                 SELECT A.STCD,-->
    <!--                        MAX(A.TM) TM-->
    <!--                 FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A-->
    <!--                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) s-->
    <!--                                     ON A.STCD = s.STCD-->
    <!--                 GROUP BY A.STCD-->
    <!--             ) cs-->
    <!--                 INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD-->
    <!--            AND cs.TM = cs1.TM-->
    <!--                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) cs2-->
    <!--                            ON cs.STCD = cs2.STCD-->
    <!--                 LEFT JOIN (SELECT FSLTDZ, STCD-->
    <!--                            FROM dbo.ST_RSVRFSR_B-->
    <!--                            WHERE BGMD = #{egmd}-->
    <!--                              AND EDMD = #{edmd}-->
    <!--                              AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD-->
    <!--        GROUP BY cs.STCD,-->
    <!--                 cs.TM,-->
    <!--                 cs1.RZ,-->
    <!--                 cs1.INQ,-->
    <!--                 cs1.W,-->
    <!--                 cs1.OTQ,-->
    <!--                 cs2.STNM,-->
    <!--                 cs2.ADDVNM,-->
    <!--                 cs2.LGTD,-->
    <!--                 cs2.LTTD,-->
    <!--                 rsv.FSLTDZ-->
    <!--    </select> -->
    <select id="sel" resultType="java.util.HashMap">
        SELECT cs.STCD,
               cs.TM,
               isnull(cs1.RZ, 0) as RZ,
               isnull(cs1.RZ, 0) AS RZ,
               cs2.STNM,
               cs1.INQ,
               cs1.W,
               cs1.OTQ,
               isnull(cs1.W, 0)  AS W,
               cs2.LGTD,
               cs2.LTTD,
               cs2.ADDVNM,
               cs2.FDL,
               rsv.FSLTDZ
        FROM (
                 SELECT A.STCD,
                        MAX(A.TM) TM
                 FROM (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) AS A
                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) s
                          INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) s
                                     ON A.STCD = s.STCD
                 GROUP BY A.STCD
             ) cs
                 INNER JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
                 LEFT JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
            AND cs.TM = cs1.TM
                 INNER JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD FROM sys_rsvr WHERE STCD not IN (${code})) cs2
                            ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
                 LEFT JOIN (SELECT FSLTDZ, STCD
                            FROM dbo.ST_RSVRFSR_B
                            WHERE BGMD = #{egmd}
                              AND EDMD = #{edmd}
                              AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD
        GROUP BY cs.STCD,
                 cs.TM,
                 cs1.RZ,
                 cs1.INQ,
                 cs1.W,
                 cs1.OTQ,
                 cs2.STNM,
                 cs2.ADDVNM,
                 cs2.LGTD,
                 cs2.LTTD,
                 rsv.FSLTDZ
    </select>
    <!--水库实时预警-->
@@ -379,4 +446,54 @@
                 LEFT JOIN (SELECT STCD, NORMZ, DSFLZ FROM ST_RSVRFCCH_B WHERE NORMZ IS NOT NULL) cs4
                           ON cs.STCD = cs4.STCD
    </select>
    <select id="selectskshi" resultType="java.util.HashMap">
        SELECT D.*,
        isnull(rsvr.RZS, 0) AS RZS
        FROM (
        SELECT cs.STCD,
        cs.TM,
        isnull(cs.RZ, 0) AS RZ,
        cs.INQ,
        cs.OTQ,
        cs2.STNM,
        isnull(cs.W, 0) AS W,
        cs2.LGTD,
        cs2.LTTD,
        cs2.ADDVNM,
        cs2.FDL,
        rsv.FSLTDZ
        FROM (
        SELECT
        STCD,
        TM,
        RZ,
        INQ,
        W,
        OTQ
        FROM
        dbo.ST_RSVR_R
        WHERE
        TM &gt;=#{beginTime}
        AND TM&lt;=#{endTime}
        AND STCD IN (${code})
        ) cs
        LEFT JOIN (SELECT STCD, TM, RZ, INQ, W, OTQ FROM dbo.ST_RSVR_R) cs1 ON cs.STCD = cs1.STCD
        AND cs.TM = cs1.TM
        LEFT JOIN (SELECT STCD, STNM, ADDVNM, LTTD, LGTD, FDL FROM sys_rsvr) cs2 ON cs.STCD = cs2.STCD
        LEFT JOIN (SELECT FSLTDZ, STCD
        FROM dbo.ST_RSVRFSR_B
        WHERE BGMD = #{egmd}
        AND EDMD = #{edmd}
        AND FSLTDZ IS NOT NULL) rsv ON rsv.STCD = cs.STCD
        ) D
        LEFT JOIN (
        SELECT isnull(RZ, 0) AS RZS,
        STCD
        FROM ST_RSVR_R
        WHERE TM = #{tm}
        AND STCD IN (${code})
        ) rsvr ON rsvr.STCD = D.STCD
    </select>
</mapper>