tangzy
2021-10-07 2461281f7bdf6a4e7a016b528280ed5ec7b9f2a2
src/main/java/org/springblade/modules/rsvr/controller/RsvrRController.java
@@ -172,17 +172,17 @@
            edmd = e2;
         }
      }
//      String s = rsvrRService.selectCode(beginTime, endTime);
//      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, Object>> map = rsvrRService.selectyjck(egmd, edmd, beginTime, endTime);
      String s = rsvrRService.selectCode(beginTime, endTime);
      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, Object>> sel = rsvrRService.sel(egmd, edmd, code);
      map.addAll(sel);
//      List<Map<String, Object>> sel = rsvrRService.sel(egmd, edmd, code);
//      map.addAll(sel);
      //用来判断是否重复统计超警信息
      Map mnum = new HashMap();
      Map mnums = new HashMap();
@@ -416,80 +416,46 @@
         } else {
            text += "有" + number + "个水库站预警;" + texta + texth;
         }
         //水库涨幅,跌幅信息
         List<Map<String, Object>> selecthds = rsvrRService.selectsk(beginTime, endTime);
//         //水库涨幅,跌幅信息
         //List<Map<String, Object>> selecthds = rsvrRService.selectsk(beginTime, endTime);
         Map m1 = new HashMap();
         Map m2 = new HashMap();
         Map m = new HashMap();
         for (int j = 0; j < selecthds.size(); j++) {
            String stcd = selecthds.get(j).get("STCD").toString();
            //站点名称
            String stnm = selecthds.get(j).get("STNM").toString();
            if (selecthds.get(j).get("ADDVNM") == null) {
               continue;
            }
            //省,市
            String addvcd5 = selecthds.get(j).get("ADDVNM").toString();
            //最大值
            BigDecimal maxZ = (BigDecimal) selecthds.get(j).get("maxZ");
            //最大值出现时间
            String maxTM = selecthds.get(j).get("maxTM").toString();
            //最小值
            BigDecimal minZ = (BigDecimal) selecthds.get(j).get("minZ");
            //最小值出现时间
            String minTM = selecthds.get(j).get("minTM").toString();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date sd1 = df.parse(maxTM);
            Date sd2 = df.parse(minTM);
            double v = maxZ.doubleValue();
            double v1 = minZ.doubleValue();
            //涨幅值
            double v2 = v - v1;
            double v3 = (double) Math.round(v2 * 100) / 100;
            m1.put(v3, stnm.replaceAll(" ", "") + "站");
            c.put(stcd, v3);
            //获取涨幅最大的信息
         }
         if (m1.size() != 0) {
            Object maxKey = getMaxKey(m1);
            String s1 = m1.get(maxKey).toString();
            text += " 涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。";
         }
//            //如果最大时间大于最小时间就是涨幅
//            if (sd1.after(sd2)) {
//               //创建一个map集合保存涨幅数据
//               double v = maxZ.doubleValue();
//               double v1 = minZ.doubleValue();
//               //涨幅值
//               double v2 = v - v1;
//               double v3 = (double) Math.round(v2 * 100) / 100;
//               m1.put(v3, stnm.replaceAll(" ", "") + "站");
//               c.put(stcd, v3);
//         for (int j = 0; j < selecthds.size(); j++) {
//            String stcd = selecthds.get(j).get("STCD").toString();
//            //站点名称
//            String stnm = selecthds.get(j).get("STNM").toString();
//            if (selecthds.get(j).get("ADDVNM") == null) {
//               continue;
//            }
//            //跌幅
//            else {
//               //创建一个map集合保存跌幅数据
//               double v = maxZ.doubleValue();
//               double v1 = minZ.doubleValue();
//               //涨幅值
//               double v2 = v1 - v;
//               double v3 = (double) Math.round(v2 * 100) / 100;
//               m2.put(Math.abs(v3), stnm.replaceAll(" ", "") + "站");
//               c.put(stcd, v3);
//            }
//         }
//         if (m1.size()!=0) {
//            //省,市
//            String addvcd5 = selecthds.get(j).get("ADDVNM").toString();
//            //最大值
//            BigDecimal maxZ = (BigDecimal) selecthds.get(j).get("maxZ");
//            //最大值出现时间
//            String maxTM = selecthds.get(j).get("maxTM").toString();
//            //最小值
//            BigDecimal minZ = (BigDecimal) selecthds.get(j).get("minZ");
//            //最小值出现时间
//            String minTM = selecthds.get(j).get("minTM").toString();
//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//            Date sd1 = df.parse(maxTM);
//            Date sd2 = df.parse(minTM);
//            double v = maxZ.doubleValue();
//            double v1 = minZ.doubleValue();
//            //涨幅值
//            double v2 = v - v1;
//            double v3 = (double) Math.round(v2 * 100) / 100;
//            m1.put(v3, stnm.replaceAll(" ", "") + "站");
//            c.put(stcd, v3);
//            //获取涨幅最大的信息
//         }
//         if (m1.size() != 0) {
//            Object maxKey = getMaxKey(m1);
//            String s1 = m1.get(maxKey).toString();
//            text += " 涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。";
//         }
//         if (m2.size()!=0) {
//            //获取跌幅最大的信息
//            Object maxKey2 = getMaxKey(m2);
//            String s2 = m2.get(maxKey2).toString();
//            text += " 跌幅最大的是:" + s2 + "(跌" + maxKey2 + "米)。";
//         }
         m.put("text", text);
         m.put("number", number);
         m.put("Yjlist", ylist);
@@ -508,6 +474,15 @@
      int ws = 1;
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String time = df.format(new Date());
      Date date = null;
      // 把Date按照格式转换成字符串
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      try {
         date = sdf.parse(time);
      } catch (ParseException e) {
         e.printStackTrace();
      }
      String dateEnd = sdf.format(date);
      SimpleDateFormat dfz = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
      String timez = dfz.format(new Date());
      String yearc = time.substring(0, 4);
@@ -570,7 +545,7 @@
         }
      }
      //水库水情预警信息
      List<Map<String, Object>> map = rsvrRService.selectyjcks(egmd, edmd, timec, timez);
      List<Map<String, Object>> map = rsvrRService.selectyjcks(egmd, edmd, timec, timez,time,dateEnd);
      //用来判断是否重复统计超警信息
      Map mnum = new HashMap();
      //定义list保存预警信息
@@ -588,7 +563,7 @@
            RZ = rz.doubleValue();
            String stcd = map.get(i).get("STCD").toString();
            String ti = map.get(i).get("TM").toString();
            Map<String, Object> stringObjectMap = rsvrRService.selectRZ(stcd, timec);
            //Map<String, Object> stringObjectMap = rsvrRService.selectRZ(stcd, timec);
            //BigDecimal zc = (BigDecimal) stringObjectMap.get("RZ");
            BigDecimal zc = (BigDecimal) map.get(i).get("RZS");
            double ZC = zc.doubleValue();