tangzy
2021-09-13 139987154fa26282b30cf237c13d999f5f5547a2
1.山洪
9 files modified
545 ■■■■■ changed files
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java 145 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java 6 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml 254 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java 96 ●●●● patch | view | raw | blame | history
src/main/resources/application-dev.yml 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -20,6 +20,7 @@
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import liquibase.pro.packaged.M;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.log.annotation.ApiLog;
@@ -34,10 +35,17 @@
import org.springblade.modules.mountainrain.service.IMountainrainService;
import org.springblade.modules.mountainrain.vo.*;
import org.springblade.modules.mountainrain.wrapper.MountainrainWrapper;
import org.springblade.modules.regionWeight.service.IRegionWeightService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.*;
/**
@@ -49,11 +57,13 @@
@RestController
@AllArgsConstructor
@RequestMapping("/mountainrain")
@Component
@Api(value = "", tags = "接口")
public class MountainrainController extends BladeController {
    private IMountainrainService mountainrainService;
    private IMountainService mountainService;
    private final IRegionWeightService regionWeightService;
    /**
@@ -395,7 +405,6 @@
            //对应雨量站
            long startTime=System.currentTimeMillis();
            List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.selectcInfos(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess);
            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){
@@ -408,7 +417,6 @@
                    map.put("Max", Max);
                    lists.add(map);
            }
            System.out.println("程序运行时间: "+(endTime-startTime)+"ms");
            return R.data(lists);
        }
@@ -436,9 +444,6 @@
                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);
@@ -455,23 +460,19 @@
     */
    @ApiLog("查询洪水预警")
    @GetMapping("/sss")
    public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds3,String dateEnds6,String dateEnds24,int k,String timei) {
    public R selectcInfoss(int type,String time,String dateEnds1,String dateEnds2,String dateEnds3,int k) {
        //第二种方式预警
        if (type == 0 && k==13) {
            //当前时间
            String times = time;
            String dateEnd1 = dateEnds1;
            String timess=timei;
            //2个小时前的时间
            String dateEnd2 =dateEnds2;
            //三个小时前的时间
            //3个小时前的时间
            String dateEnd3 =dateEnds3;
            //六个小时前的时间
            String dateEnd6 =dateEnds6;
            //二十四个小时前的时间
            String dateEnd24 =dateEnds24;
            //对应雨量站
            String s = mountainrainService.selectCode();
@@ -481,59 +482,121 @@
                strArrays += "'" + split[i] + "',";
            }
            String code = strArrays.substring(0, strArrays.length() - 1);
            List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd24, dateEnd1, dateEnd3, dateEnd6,timess,code);
            List<MountainrainsCVO> mountainrainsCVOS = mountainrainService.Mountains(times, dateEnd1, dateEnd2, dateEnd3,code);
            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);
                if (mountainrainsCVOS.get(i).getSoilval()>30){
                    int Max =mountainrainService .Max(mountainrainsCVOS.get(i).getDrp1(), mountainrainsCVOS.get(i).getDrp3(),
                        mountainrainsCVOS.get(i).getGohours(), mountainrainsCVOS.get(i).getGthours());
                    map.put("List", mountainrainsCVOS.get(i));
                    map.put("Max", Max);
                    lists.add(map);
                }
                else {
                    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);
                }
            }
            return R.data(lists);
        }
        //第一种方式预警(雨量表数据)
        else {
            //当前时间
            String times = time;
            //一个小时前的时间
            String dateEnd1 = dateEnds1;
            String timess=timei;
            //两个小时前的时间
            String dateEnd2 =dateEnds2;
            //三个小时前的时间
            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);
            String s = regionWeightService.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<Map<String, Integer>> list = mountainrainService.selecMone(times, dateEnd1, dateEnd2, dateEnd3, code);
            List list1= new ArrayList();
            List list2= new ArrayList();
            List list3= new ArrayList();
            for (int i=0;i<list.size();i++){
                if (list.get(i).get("drp1")>=30){
                        list1.add(list.get(i));
                }
                if (list.get(i).get("drp2")>=50) {
                    list2.add(list.get(i));
                }
                if (list.get(i).get("drp3")>=80) {
                    list3.add(list.get(i));
                }
            }
            return R.data(lists);
            Map map = new HashMap();
            map.put("list1",list1);
            map.put("list2",list2);
            map.put("list2",list3);
            return R.data(map);
        }
    }
    /**
     * 土壤湿度计算
     * @return
     */
    @Scheduled(cron = "0 0 8 * * ?")
    @GetMapping("/soleval")
    public R soleval() {
        SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd 08:00:00" );
        Date today = new Date();
        String endDate = sdf .format( today ); //当前日期
        //获取三十天前日期
        Calendar theCa = Calendar. getInstance ();
        theCa .setTime( today );
        theCa .add( theCa . DATE , -30); //最后一个数字30可改,30天的意思
        Date start = theCa .getTime();
        String startDate = sdf .format( start ); //三十天之前日期
        String s = mountainrainService.selectCode();
        String[] split = s.split(",");
        String strArrays = "";
        Integer num=60;
        for (int i = 0; i < split.length; i++) {
            strArrays += "'" + split[i] + "',";
        }
        String code = strArrays.substring(0, strArrays.length() - 1);
        mountainrainService.soildel();
        List<Map<String, Object>> list = mountainrainService.selectMtwo(startDate, endDate, code);
        for (int i=0;i<list.size();i++){ ;
            BigDecimal w = (BigDecimal) list.get(i).get("drp");
            double drp = w.doubleValue();
            String stcd = list.get(i).get("STCD").toString();
            //计算湿度
            double v = (num + drp) * 0.85;
            if (v>60){
                mountainrainService.soleInster(stcd,"60");
            }
            else {
                String a= String.valueOf(v);
                mountainrainService.soleInster(stcd,a);
            }
        }
        return R.success("成功");
    }
}
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.java
@@ -56,7 +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> Mountains(String times,String dateEnd1,String dateEnd2,String dateEnd3,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);
@@ -114,4 +114,8 @@
    Integer selectCount(String beginTime,String endTime);
    String selectCode();
    List<Map<String, Integer>> selecMone(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
    List<Map<String, Object>> selectMtwo(String time3,String time,String code);
    void soleInster(String stcd,String soilval);
    void soildel();
}
src/main/java/org/springblade/modules/mountainrain/mapper/MountainrainMapper.xml
@@ -266,100 +266,164 @@
    </select>
    <select id="Mountains" 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,
            a.drp1,
            b.drp3,
            c.drp6,
            isnull(d.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
        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 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,
               isnull(cs.gohours, 0)    gohours,
               isnull(cs.gthours, 0)    gthours,
               a.drp1,
               b.drp2,
               c.drp3,
               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,
               isnull(so.soilval, 0) as soilval
        FROM (
                 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 drp2,
                   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 drp3,
                   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
                 LEFT JOIN (
            SELECT id,
                   cenconding,
                   crainfall,
                   township,
                   village,
                   village_group,
                   dj,
                   bw,
                   county,
                   fyear,
                   tyear,
                   oyear,
                   gohour,
                   gthour,
                   gshour,
                   imohour,
                   imthour,
                   imshour,
                   gohours,
                   gthours
            FROM blade_mountain
        ) cs ON cs.cenconding = a.STCD
    </select>
    <!--第一种预警-->
    <select id="selecMone" resultType="java.util.Map">
        SELECT cs.STCD,
               cs.STNM,
               cs.STLC,
               cs.ADDVNM,
               cs.RVNM,
               cs.HNNM,
               cs.LTTD,
               cs.LGTD,
               isnull(a.drp1, 0) as drp1
            isnull(b.drp2,0) as drp2
            isnull(c.drp3,0) as drp3
        FROM (
                 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 drp2,
                   STCD
            FROM dbo.ST_PPTN_R s
            WHERE s.TM &gt; #{dateEnd2}
              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 drp3,
                   STCD
            FROM dbo.ST_PPTN_R strs
            WHERE strs.TM &gt; #{dateEnd3}
              AND strs.TM &lt;= #{times}
              AND strs.STCD IN (${code})
            GROUP BY STCD
        ) c ON a.STCD = c.STCD
                 LEFT JOIN (
            SELECT STCD,
                   st.STNM,
                   st.ADDVCD,
                   st.STLC,
                   st.LTTD,
                   st.LGTD,
                   st.RVNM,
                   st.HNNM,
                   ad.ADDVNM
            FROM dbo.ST_STBPRP_B st
                     INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
        ) cs ON cs.STCD = a.STCD
                 LEFT JOIN (
            SELECT stcd, soilval
            FROM sys_soleval
        ) so ON so.stcd = a.STCD
    </select>
    <!--土壤湿度计算-->
    <select id="selectMtwo" resultType="java.util.Map">
        SELECT SUM
                   (DRP) AS drp,
               STCD
        FROM dbo.ST_PPTN_R
        WHERE TM &gt; #{time3}
          AND TM &lt;= #{time}
          AND STCD IN (${code})
          AND datename(HOUR,TM) = 8
        GROUP BY STCD
    </select>
    <insert id="soleInster">
        insert
        sys_soleval(stcd,soilval) value (
        #{stcd},
        #{soilval}
        )
    </insert>
    <delete id="soildel">
        DELETE
        FROM sys_soleval
    </delete>
</mapper>
src/main/java/org/springblade/modules/mountainrain/service/IMountainrainService.java
@@ -122,8 +122,9 @@
     * @return
     */
    int rainOne(int number,Integer gohour);
    List<MountainrainsCVO> Mountains(String times, String dateEnd24,String dateEnd1,String dateEnd3,String dateEnd6,String timess,String code);
    List<MountainrainsCVO> Mountains(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
    List<Map<String, Integer>> selecMone(String times,String dateEnd1,String dateEnd2,String dateEnd3,String code);
    List<Map<String, Object>> selectMtwo(String time3,String time,String code);
    /**
     *三小时
     * @param gthour 三小时准备转移雨量
@@ -131,4 +132,6 @@
     */
    int rainthree(int number,Integer gthour);
    String selectCode();
    void soleInster(String stcd,String soilval);
    void soildel();
}
src/main/java/org/springblade/modules/mountainrain/service/impl/MountainrainServiceImpl.java
@@ -378,8 +378,18 @@
    }
    @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);
    public List<MountainrainsCVO> Mountains(String times ,String dateEnd1, String dateEnd2, String dateEnd3, String code) {
        return baseMapper.Mountains(times, dateEnd1, dateEnd2, dateEnd3, code);
    }
    @Override
    public List<Map<String, Integer>> selecMone(String times, String dateEnd1, String dateEnd2, String dateEnd3, String code) {
        return baseMapper.selecMone(times, dateEnd1, dateEnd2, dateEnd3, code);
    }
    @Override
    public List<Map<String, Object>> selectMtwo(String time3, String time, String code) {
        return baseMapper.selectMtwo(time3,time,code);
    }
    @Override
@@ -399,6 +409,16 @@
        return baseMapper.selectCode();
    }
    @Override
    public void soleInster(String stcd, String soilval) {
        baseMapper.soleInster(stcd,soilval);
    }
    @Override
    public void soildel() {
        baseMapper.soildel();
    }
    /*
     * 计算最大值
src/main/java/org/springblade/modules/mountainrain/vo/MountainrainsCVO.java
@@ -35,7 +35,9 @@
    int drp3;
    int drp6;
    Integer gohour;
    Integer gohours;
    Integer gthour;
    Integer gthours;
    Integer gshour;
    Integer imohour;
    Integer imthour;
@@ -50,4 +52,5 @@
    String tyear;
    String oyear;
    int dyp;
    Double soilval;
}
src/main/java/org/springblade/modules/regionWeight/mapper/RegionWeightMapper.xml
@@ -248,7 +248,7 @@
                 FROM dbo.ST_STBPRP_B st
                          INNER JOIN dbo.ST_ADDVCD_D ad ON ad.ADDVCD = st.ADDVCD
                 WHERE st.STTP = 'PP'
                    OR st.STTP = 'ZQ'
                    OR st.STTP = 'ZQ' OR st.STTP = 'ZZ'
             ) c
                 LEFT JOIN (
            SELECT SUM
src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java
@@ -220,7 +220,7 @@
                                texta += "库水位暂无数据、";
                            } else {
                                DecimalFormat df = new DecimalFormat("#0.00");
                                texta += "库水位" + df.format(RZ) + "(米)、";
                                texta += "库水位" + df.format(RZ) + "米、";
                            }
                            if (map.get(i).get("INQ") == null) {
                                texta += "入库流量暂无数据、";
@@ -228,14 +228,14 @@
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texta += "入库流量" + INQ + "(立方米每秒)、";
                                texta += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texta += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texta += "蓄水量" + W + "(百万立方米)、";
                                texta += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texta += "出库流量暂无数据;";
@@ -243,7 +243,7 @@
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texta += "出库流量" + OTQ + "(立方米每秒);";
                                texta += "出库流量" + OTQ + "立方米每秒;";
                            }
                        }
                        if (stnm.equals("廖坊")) {
@@ -252,7 +252,7 @@
                                texth += "库水位暂无数据、";
                            } else {
                                DecimalFormat df = new DecimalFormat("#0.00");
                                texth += "库水位" + df.format(RZ) + "(米)、";
                                texth += "库水位" + df.format(RZ) + "米、";
                            }
                            if (map.get(i).get("INQ") == null) {
                                texth += "入库流量暂无数据、";
@@ -260,14 +260,14 @@
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texth += "入库流量" + INQ + "(立方米每秒)、";
                                texth += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texth += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texth += "蓄水量" + W + "(百万立方米)、";
                                texth += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texth += "出库流量暂无数据。";
@@ -275,7 +275,7 @@
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texth += "出库流量" + OTQ + "(立方米每秒)。";
                                texth += "出库流量" + OTQ + "立方米每秒。";
                            }
                        }
                        alist.add(map.get(i));
@@ -288,21 +288,21 @@
                        //站点名称
                        String stnm = map.get(i).get("STNM").toString();
                        if (stnm.equals("洪门")) {
                            texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "(米)、";
                            texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "米、";
                            if (map.get(i).get("INQ") == null) {
                                texta += "入库流量暂无数据、";
                            } else {
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texta += "入库流量" + INQ + "(立方米每秒)、";
                                texta += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texta += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texta += "蓄水量" + W + "(百万立方米)、";
                                texta += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texta += "出库流量暂无数据;";
@@ -310,25 +310,25 @@
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texta += "出库流量" + OTQ + "(立方米每秒);";
                                texta += "出库流量" + OTQ + "立方米每秒;";
                            }
                        }
                        if (stnm.equals("廖坊")) {
                            texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "(米)、";
                            texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:" + "库水位" + RZ + "米、";
                            if (map.get(i).get("INQ") == null) {
                                texth += "入库流量暂无数据、";
                            } else {
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texth += "入库流量" + INQ + "(立方米每秒)、";
                                texth += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texth += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texth += "蓄水量" + W + "(百万立方米)、";
                                texth += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texth += "出库流量暂无数据。";
@@ -336,7 +336,7 @@
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                //DecimalFormat df = new DecimalFormat("#0.000");
                                texth += "出库流量" + OTQ + "(立方米每秒)。";
                                texth += "出库流量" + OTQ + "立方米每秒。";
                            }
                        }
                        alist.add(map.get(i));
@@ -355,21 +355,21 @@
                            //站点名称
                            String stnm = map.get(i).get("STNM").toString();
                            if (stnm.equals("洪门")) {
                                texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "(米)、" + "库水位" + RZ + "(米)、";
                                texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "米、" + "库水位" + RZ + "米、";
                                if (map.get(i).get("INQ") == null) {
                                    texta += "入库流量暂无数据、";
                                } else {
                                    BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                    double INQ = inq.doubleValue();
                                    //DecimalFormat df = new DecimalFormat("#0.000");
                                    texta += "入库流量" + INQ + "(立方米每秒)、";
                                    texta += "入库流量" + INQ + "立方米每秒、";
                                }
                                if (map.get(i).get("W") == null) {
                                    texta += "蓄水量暂无数据、";
                                } else {
                                    BigDecimal w = (BigDecimal) map.get(i).get("W");
                                    double W = w.doubleValue();
                                    texta += "蓄水量" + W + "(百万立方米)、";
                                    texta += "蓄水量" + W + "百万立方米、";
                                }
                                if (map.get(i).get("OTQ") == null) {
                                    texta += "出库流量暂无数据;";
@@ -377,25 +377,25 @@
                                    BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                    double OTQ = otq.doubleValue();
                                    //DecimalFormat df = new DecimalFormat("#0.000");
                                    texta += "出库流量" + OTQ + "(立方米每秒);";
                                    texta += "出库流量" + OTQ + "立方米每秒;";
                                }
                            }
                            if (stnm.equals("廖坊")) {
                                texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "(米)、" + "库水位" + RZ + "(米)、";
                                texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&:超出水位" + v3 + "米、" + "库水位" + RZ + "米、";
                                if (map.get(i).get("INQ") == null) {
                                    texth += "入库流量暂无数据、";
                                } else {
                                    BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                    double INQ = inq.doubleValue();
                                    //DecimalFormat df = new DecimalFormat("#0.000");
                                    texth += "入库流量" + INQ + "(立方米每秒)、";
                                    texth += "入库流量" + INQ + "立方米每秒、";
                                }
                                if (map.get(i).get("W") == null) {
                                    texth += "蓄水量暂无数据、";
                                } else {
                                    BigDecimal w = (BigDecimal) map.get(i).get("W");
                                    double W = w.doubleValue();
                                    texth += "蓄水量" + W + "(百万立方米)、";
                                    texth += "蓄水量" + W + "百万立方米、";
                                }
                                if (map.get(i).get("OTQ") == null) {
                                    texth += "出库流量暂无数据。";
@@ -403,7 +403,7 @@
                                    BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                    double OTQ = otq.doubleValue();
                                    //DecimalFormat df = new DecimalFormat("#0");
                                    texth += "出库流量" + OTQ + "(立方米每秒)。";
                                    texth += "出库流量" + OTQ + "立方米每秒。";
                                }
                            }
                        }
@@ -592,7 +592,7 @@
                        if (RZ == 0) {
                            texta += "库水位暂无数据、";
                        } else {
                            texta += "库水位" + RZ + "(米)、";
                            texta += "库水位" + RZ + "米、";
                        }
                        if (v < 0) {
                            texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -604,21 +604,21 @@
                        } else {
                            BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                            double INQ = inq.doubleValue();
                            texta += "入库流量" + INQ + "(立方米每秒)、";
                            texta += "入库流量" + INQ + "立方米每秒、";
                        }
                        if (map.get(i).get("W") == null) {
                            texta += "蓄水量暂无数据、";
                        } else {
                            BigDecimal w = (BigDecimal) map.get(i).get("W");
                            double W = w.doubleValue();
                            texta += "蓄水量" + W + "(百万立方米)、";
                            texta += "蓄水量" + W + "百万立方米、";
                        }
                        if (map.get(i).get("OTQ") == null) {
                            texta += "出库流量暂无数据、";
                        } else {
                            BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                            double OTQ = otq.doubleValue();
                            texta += "出库流量" + OTQ + "(立方米每秒);";
                            texta += "出库流量" + OTQ + "立方米每秒;";
                        }
//                        texta += "汛限水位暂无数据;";
                    } else if (stnm.equals("廖坊")) {
@@ -626,7 +626,7 @@
                        if (RZ == 0) {
                            texth += "库水位暂无数据、";
                        } else {
                            texth += "库水位" + RZ + "(米)、";
                            texth += "库水位" + RZ + "米、";
                        }
                        if (v < 0) {
                            texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -638,21 +638,21 @@
                        } else {
                            BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                            double INQ = inq.doubleValue();
                            texth += "入库流量" + INQ + "(立方米每秒)、";
                            texth += "入库流量" + INQ + "立方米每秒、";
                        }
                        if (map.get(i).get("W") == null) {
                            texth += "蓄水量暂无数据、";
                        } else {
                            BigDecimal w = (BigDecimal) map.get(i).get("W");
                            double W = w.doubleValue();
                            texth += "蓄水量" + W + "(百万立方米)、";
                            texth += "蓄水量" + W + "百万立方米、";
                        }
                        if (map.get(i).get("OTQ") == null) {
                            texth += "出库流量暂无数据、";
                        } else {
                            BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                            double OTQ = otq.doubleValue();
                            texth += "出库流量" + OTQ + "(立方米每秒)。";
                            texth += "出库流量" + OTQ + "立方米每秒。";
                        }
                    }
                    blist.add(map.get(i));
@@ -671,7 +671,7 @@
                        if (RZ == 0) {
                            texta += "库水位暂无数据、";
                        } else {
                            texta += "库水位" + RZ + "(米)、";
                            texta += "库水位" + RZ + "米、";
                        }
                        if (v < 0) {
                            texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -683,21 +683,21 @@
                        } else {
                            BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                            double INQ = inq.doubleValue();
                            texta += "入库流量" + INQ + "(立方米每秒)、";
                            texta += "入库流量" + INQ + "立方米每秒、";
                        }
                        if (map.get(i).get("W") == null) {
                            texta += "蓄水量暂无数据、";
                        } else {
                            BigDecimal w = (BigDecimal) map.get(i).get("W");
                            double W = w.doubleValue();
                            texta += "蓄水量" + W + "(百万立方米)、";
                            texta += "蓄水量" + W + "百万立方米、";
                        }
                        if (map.get(i).get("OTQ") == null) {
                            texta += "出库流量暂无数据;";
                        } else {
                            BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                            double OTQ = otq.doubleValue();
                            texta += "出库流量" + OTQ + "(立方米每秒);";
                            texta += "出库流量" + OTQ + "立方米每秒;";
                        }
//                        texta += "汛限水位暂无数据;";
                    } else if (stnm.equals("廖坊")) {
@@ -705,7 +705,7 @@
                        if (RZ == 0) {
                            texth += "库水位暂无数据、";
                        } else {
                            texth += "库水位" + RZ + "(米)、";
                            texth += "库水位" + RZ + "米、";
                        }
                        if (v < 0) {
                            texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -717,21 +717,21 @@
                        } else {
                            BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                            double INQ = inq.doubleValue();
                            texth += "入库流量" + INQ + "(立方米每秒)、";
                            texth += "入库流量" + INQ + "立方米每秒、";
                        }
                        if (map.get(i).get("W") == null) {
                            texth += "蓄水量暂无数据、";
                        } else {
                            BigDecimal w = (BigDecimal) map.get(i).get("W");
                            double W = w.doubleValue();
                            texth += "蓄水量" + W + "(百万立方米)、";
                            texth += "蓄水量" + W + "百万立方米、";
                        }
                        if (map.get(i).get("OTQ") == null) {
                            texth += "出库流量暂无数据。";
                        } else {
                            BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                            double OTQ = otq.doubleValue();
                            texth += "出库流量" + OTQ + "(立方米每秒)。";
                            texth += "出库流量" + OTQ + "立方米每秒。";
                        }
                    }
                    blist.add(map.get(i));
@@ -755,7 +755,7 @@
                            if (RZ == 0) {
                                texta += "库水位暂无数据、";
                            } else {
                                texta += "库水位" + RZ + "(米)、";
                                texta += "库水位" + RZ + "米、";
                            }
                            if (v < 0) {
                                texta += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -767,21 +767,21 @@
                            } else {
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                texta += "入库流量" + INQ + "(立方米每秒)、";
                                texta += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texta += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texta += "蓄水量" + W + "(百万立方米)、";
                                texta += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texta += "出库流量暂无数据;";
                            } else {
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                texta += "出库流量" + OTQ + "(立方米每秒);";
                                texta += "出库流量" + OTQ + "立方米每秒;";
                            }
//                        texta += "汛限水位暂无数据;";
                        } else if (stnm.equals("廖坊")) {
@@ -789,7 +789,7 @@
                            if (RZ == 0) {
                                texth += "库水位暂无数据、";
                            } else {
                                texth += "库水位" + RZ + "(米)、";
                                texth += "库水位" + RZ + "米、";
                            }
                            if (v < 0) {
                                texth += "比昨日8时下降" + Math.abs(v) + "米、";
@@ -801,21 +801,21 @@
                            } else {
                                BigDecimal inq = (BigDecimal) map.get(i).get("INQ");
                                double INQ = inq.doubleValue();
                                texth += "入库流量" + INQ + "(立方米每秒)、";
                                texth += "入库流量" + INQ + "立方米每秒、";
                            }
                            if (map.get(i).get("W") == null) {
                                texth += "蓄水量暂无数据、";
                            } else {
                                BigDecimal w = (BigDecimal) map.get(i).get("W");
                                double W = w.doubleValue();
                                texth += "蓄水量" + W + "(百万立方米)、";
                                texth += "蓄水量" + W + "百万立方米、";
                            }
                            if (map.get(i).get("OTQ") == null) {
                                texth += "出库流量暂无数据。";
                            } else {
                                BigDecimal otq = (BigDecimal) map.get(i).get("OTQ");
                                double OTQ = otq.doubleValue();
                                texth += "出库流量" + OTQ + "(立方米每秒)。";
                                texth += "出库流量" + OTQ + "立方米每秒。";
                            }
                        }
                    }
src/main/resources/application-dev.yml
@@ -16,13 +16,13 @@
      primary: master
      datasource:
        master:
          url: jdbc:sqlserver://10.36.98.39:1433;DatabaseName=fzsw
          url: jdbc:sqlserver://47.110.245.84:1433;DatabaseName=fzsw
          username: sa
          password: fzsw@2021
          password: jxpskj2018
        slaves:
            url: jdbc:sqlserver://10.36.98.39:1433;DatabaseName=fzswS
            url: jdbc:sqlserver://47.110.245.84:1433;DatabaseName=fzswS
            username: sa
            password: fzsw@2021
            password: jxpskj2018
#第三方登陆