tangzy
2021-09-08 b8bc64fb57ba906eba17f1fc9d87e5c789e39a0c
1.单位
5 files modified
397 ■■■■ changed files
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java 89 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml 293 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java 3 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -449,5 +449,94 @@
    }
    /**
     * 查询洪水预警
     */
    @ApiLog("查询洪水预警")
    @GetMapping("/sss")
    public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds3,String dateEnds6,String dateEnds24,int k,String timei) {
        if (type == 0 && k==13) {
            //当前时间
            String times = time;
            String dateEnd1 = dateEnds1;
            String timess=timei;
            //三个小时前的时间
            String dateEnd3 =dateEnds3;
            //六个小时前的时间
            String dateEnd6 =dateEnds6;
            //二十四个小时前的时间
            String dateEnd24 =dateEnds24;
            //对应雨量站
            long startTime=System.currentTimeMillis();
            String s = mountainrainService.selectCode();
            String[] split = s.split(",");
            String strArrays = "";
            for (int i = 0; i < split.length; i++) {
                strArrays += "'" + split[i] + "',";
            }
            String code = strArrays.substring(0, strArrays.length() - 1);
            List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess,code);
            long endTime=System.currentTimeMillis(); //获取结束时间
            List<Map<String, Object>> lists = new ArrayList<>();
            for (int i = 0; i < mountainrainsCVOS.size(); i++) {
                if (mountainrainsCVOS.get(i).getCenconding()==null){
                    continue;
                }
                Map<String, Object> map = new HashMap<String, Object>();
                int Max =mountainrainService .Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
                    mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour());
                map.put("List", mountainrainsCVOS.get(i));
                map.put("Max", Max);
                lists.add(map);
            }
            System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
            return R.data(lists);
        }
        else {
            //当前时间
            String times = time;
            String dateEnd1 = dateEnds1;
            String timess=timei;
            //三个小时前的时间
            String dateEnd3 =dateEnds3;
            //六个小时前的时间
            String dateEnd6 =dateEnds6;
            //二十四个小时前的时间
            String dateEnd24 =dateEnds24;
            //对应雨量站
            List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.selectcInfo(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess);
            List<Map<String, Object>> lists = new ArrayList<>();
            for (int i = 0; i < mountainrainsCVOS.size(); i++) {
                Map<String, Object> map = new HashMap<String, Object>();
                int Max = mountainrainService.Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
                    mountainrainsCVOS.get(i).getGohour(), mountainrainsCVOS.get(i).getGthour());
                /*if(Max==0){
                    continue;
                }*/
                map.put("List", mountainrainsCVOS.get(i));
                map.put("Max", Max);
                lists.add(map);
            }
            return R.data(lists);
        }
    }
}
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
@@ -56,6 +56,7 @@
    List<MountainrainsCVO> selectcInfos(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
    List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
    List<MountainrainsCVO> selectcInfosdx(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String addvnm);
    List<MountainrainsCVO> selectaInfos(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess);
    List<MountainrainsCVO> selectaInfosdx(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String addvnm);
@@ -112,4 +113,5 @@
                                      String fymdh,String s2);
    Integer selectCount(String beginTime,String endTime);
    String selectCode();
}
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -106,7 +106,8 @@
    <select id="selectMountainrainPage" resultMap="mountainrainResultMap">
        select * from blade_mountainrain
        select *
        from blade_mountainrain
    </select>
    <select id="selectNoticePage" resultMap="ResultMap">
        SELECT
@@ -132,124 +133,216 @@
        dbo.blade_mountain mr
        where 1=1
        <if test="mountainrainSSVO.crainfall!=null">
            and mr.crainfall like  '%' +  #{mountainrainSSVO.crainfall} + '%'
            and mr.crainfall like '%' + #{mountainrainSSVO.crainfall} + '%'
        </if>
        <if test="mountainrainSSVO.arainfall!=null">
            and mr.arainfall like  '%' +  #{mountainrainSSVO.arainfall} + '%'
            and mr.arainfall like '%' + #{mountainrainSSVO.arainfall} + '%'
        </if>
        <if test="mountainrainSSVO.township!=null">
            and mr.township like  '%' +  #{mountainrainSSVO.township} + '%'
            and mr.township like '%' + #{mountainrainSSVO.township} + '%'
        </if>
        <if test="mountainrainSSVO.village_group!=null">
            and mr.village_group like  '%' +  #{mountainrainSSVO.village_group} + '%'
            and mr.village_group like '%' + #{mountainrainSSVO.village_group} + '%'
        </if>
        <if test="mountainrainSSVO.county!=null">
            and mr.county like  '%' +  #{mountainrainSSVO.county} + '%'
            and mr.county like '%' + #{mountainrainSSVO.county} + '%'
        </if>
        <if test="mountainrainSSVO.village!=null">
            and mr.village like  '%' +  #{mountainrainSSVO.village} + '%'
            and mr.village like '%' + #{mountainrainSSVO.village} + '%'
        </if>
        ORDER BY mr.cenconding
    </select>
    <select id="selectInfo" resultMap="ResultMap">
        SELECT
            mr.id,
            mr.cenconding,
            mr.aconding,
            mr.township,
            mr.village,
            mr.village_group as village_group,
            mr.dj,
            mr.bw,
            mr.fyear,
            mr.tyear,
            mr.oyear,
            mr.county,
            mr.crainfall,
            mr.arainfall,
            isnull(mr.gohour,0) gohour,
            isnull(mr.gthour,0) gthour,
            isnull(mr.gshour,0) gshour,
            isnull(mr.imohour,0) imohour,
            isnull(mr.imthour,0) imthour,
            isnull(mr.imshour,0) imshour
        FROM
            dbo.blade_mountain mr
        where mr.id=#{id}
        SELECT mr.id,
               mr.cenconding,
               mr.aconding,
               mr.township,
               mr.village,
               mr.village_group as   village_group,
               mr.dj,
               mr.bw,
               mr.fyear,
               mr.tyear,
               mr.oyear,
               mr.county,
               mr.crainfall,
               mr.arainfall,
               isnull(mr.gohour, 0)  gohour,
               isnull(mr.gthour, 0)  gthour,
               isnull(mr.gshour, 0)  gshour,
               isnull(mr.imohour, 0) imohour,
               isnull(mr.imthour, 0) imthour,
               isnull(mr.imshour, 0) imshour
        FROM dbo.blade_mountain mr
        where mr.id = #{id}
    </select>
    <select id="selectcInfos" resultMap="mountainrainResultMapcInfo">
        SELECT cs.id,
               cs.cenconding,
               cs.crainfall,
               isnull(cs.gohour, 0)   gohour,
               isnull(cs.gthour, 0)   gthour,
               isnull(cs.gshour, 0)   gshour,
               isnull(cs.imohour, 0)  imohour,
               isnull(cs.imthour, 0)  imthour,
               isnull(cs.imshour, 0)  imshour,
               css.drp1,
               cs2.drp3,
               cs6.drp6,
               isnull(csd.dyp, 0)     dyp,
               cs.township,
               cs.village,
               cs.village_group,
               cs.dj,
               cs.bw,
               cs.county,
               isnull(cs.fyear, 0) as fyear,
               isnull(cs.tyear, 0) as tyear,
               isnull(cs.oyear, 0) as oyear
        FROM (SELECT id,
                     cenconding,
                     crainfall,
                     township,
                     village,
                     village_group,
                     dj,
                     bw,
                     county,
                     fyear,
                     tyear,
                     oyear,
                     gohour,
                     gthour,
                     gshour,
                     imohour,
                     imthour,
                     imshour
              FROM blade_mountain) cs
                 INNER JOIN (
            SELECT ISNULL(SUM(str.DRP), 0) AS drp1,
                   STCD
            FROM dbo.ST_PPTN_R str
            WHERE str.TM &gt; #{dateEnd1}
              AND str.TM &lt;= #{times}
            GROUP BY STCD
        ) css ON css.STCD = cs.cenconding
                 FULL JOIN (
            SELECT ISNULL(SUM(s.DRP), 0) AS drp3,
                   STCD
            FROM dbo.ST_PPTN_R s
            WHERE s.TM &gt; #{dateEnd3}
              AND s.TM &lt;= #{times}
            GROUP BY STCD
        ) cs2 ON cs2.STCD = cs.cenconding
                 FULL JOIN (
            SELECT ISNULL(SUM(strs.DRP), 0) AS drp6,
                   STCD
            FROM dbo.ST_PPTN_R strs
            WHERE strs.TM &gt; #{dateEnd6}
              AND strs.TM &lt;= #{times}
            GROUP BY STCD
        ) cs6 ON cs6.STCD = cs.cenconding
                 FULL JOIN (
            SELECT SUM(strd.DRP) AS dyp,
                   STCD
            FROM dbo.ST_PPTN_R strd
            WHERE strd.TM &gt; #{timess}
              AND strd.TM &lt;= #{times}
            GROUP BY STCD
        ) csd on csd.STCD = cs.cenconding
    </select>
    <select id="selectCode" resultType="java.lang.String">
        SELECT stuff((
            SELECT ',' + CONVERT(VARCHAR (25), cenconding)
            FROM dbo.blade_mountain FOR XML PATH ('')),
        1,
        1,
    ''
    ) AS siteids
    </select>
    <select id="Mountains">
        SELECT
            cs.id,
            cs.cenconding,
            cs.crainfall,
            isnull(cs.gohour,0) gohour,
            isnull(cs.gthour,0) gthour,
            isnull(cs.gshour,0) gshour,
            isnull(cs.imohour,0) imohour,
            isnull(cs.imthour,0) imthour,
            isnull(cs.imshour,0) imshour,
            css.drp1,
            cs2.drp3,
            cs6.drp6,
            isnull(csd.dyp,0) dyp,
            cs.township,
            cs.village,
            cs.village_group,
            cs.dj,
            cs.bw,
            cs.county,
            isnull(cs.fyear,0) as fyear ,
            isnull(cs.tyear,0) as tyear,
            isnull(cs.oyear,0) as oyear
        a.drp1,
        b.drp3,
        c.drp6,
        d.dyp,
        cs.*
        FROM
            ( SELECT id,cenconding,crainfall,township, village, village_group, dj, bw,county,fyear,tyear,oyear,gohour,gthour,gshour,imohour,imthour,imshour FROM blade_mountain ) cs
                INNER JOIN (
                SELECT
                    ISNULL( SUM ( str.DRP ), 0 ) AS drp1,
                    STCD
                FROM
                    dbo.ST_PPTN_R str
                WHERE
                    str.TM &gt;#{dateEnd1}
                  AND str.TM &lt;=#{times}
                GROUP BY
                    STCD
            ) css ON css.STCD = cs.cenconding
                FULL JOIN (
                SELECT
                    ISNULL( SUM ( s.DRP ), 0 ) AS drp3,
                    STCD
                FROM
                    dbo.ST_PPTN_R s
                WHERE
                    s.TM &gt;#{dateEnd3}
                  AND s.TM &lt;=#{times}
                GROUP BY
                    STCD
            ) cs2 ON cs2.STCD = cs.cenconding
                FULL JOIN (
                SELECT
                    ISNULL( SUM ( strs.DRP ), 0 ) AS drp6,
                    STCD
                FROM
                    dbo.ST_PPTN_R strs
                WHERE
                    strs.TM &gt;#{dateEnd6}
                  AND strs.TM &lt;=#{times}
                GROUP BY
                    STCD
            ) cs6 ON cs6.STCD = cs.cenconding
                FULL JOIN (
                SELECT
                    SUM( strd.DRP ) AS dyp,STCD
                FROM
                    dbo.ST_PPTN_R strd
                WHERE
                    strd.TM &gt;#{timess}
                  AND strd.TM &lt;=#{times}
                GROUP BY STCD
            ) csd on csd.STCD=cs.cenconding
        (
        SELECT
        ISNULL( SUM ( str.DRP ), 0 ) AS drp1,
        STCD
        FROM
        dbo.ST_PPTN_R str
        WHERE
        str.TM &gt;#{dateEnd1}
        AND str.TM&lt;=#{times}
        AND str.STCD IN (${code})
        GROUP BY
        str.STCD
        ) a
        FULL JOIN (
        SELECT
        ISNULL( SUM ( s.DRP ), 0 ) AS drp3,
        STCD
        FROM
        dbo.ST_PPTN_R s
        WHERE
        s.TM&gt;#{dateEnd3}
        AND s.TM&lt;= #{times}
        AND s.STCD IN (${code})
        GROUP BY
        s.STCD
        ) b ON a.STCD= b.STCD
        FULL JOIN (
        SELECT
        ISNULL( SUM ( strs.DRP ), 0 ) AS drp6,
        STCD
        FROM
        dbo.ST_PPTN_R strs
        WHERE
        strs.TM &gt;#{dateEnd6}
        AND strs.TM&lt;= #{times} AND strs.STCD IN (${code})
        GROUP BY
        STCD
        ) c ON a.STCD= c.STCD
        FULL JOIN (
        SELECT
        SUM( strd.DRP ) AS dyp,STCD
        FROM
        dbo.ST_PPTN_R strd
        WHERE
        strd.TM&gt; #{timess}
        AND strd.TM&lt;= #{times} AND strd.STCD IN (${code})
        GROUP BY STCD
        ) d on d.STCD=a.STCD
        LEFT JOIN (
        SELECT
        id,
        cenconding,
        crainfall,
        township,
        village,
        village_group,
        dj,
        bw,
        county,
        fyear,
        tyear,
        oyear,
        gohour,
        gthour,
        gshour,
        imohour,
        imthour,
        imshour
        FROM
        blade_mountain
        ) cs ON cs.cenconding= a.STCD
    </select>
</mapper>
src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
@@ -122,7 +122,7 @@
     * @return
     */
    int rainOne(int number,Integer gohour);
    List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
    /**
     *三小时
@@ -130,4 +130,5 @@
     * @return
     */
    int rainthree(int number,Integer gthour);
    String selectCode();
}
src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java
@@ -378,6 +378,11 @@
    }
    @Override
    public List<MountainrainsCVO> Mountains(String times, String dateEnd24, String dateEnd1, String dateEnd3, String dateEnd6, String timess, String code) {
        return baseMapper.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6, timess, code);
    }
    @Override
    public int rainthree(int number, Integer gthour) {
        if (number<=gthour){
            return 0;//正常
@@ -389,6 +394,11 @@
        }
    }
    @Override
    public String selectCode() {
        return baseMapper.selectCode();
    }
    /*
     * 计算最大值