| | |
| | | return R.status(riverRService.saveOrUpdate(riverR)); |
| | | } |
| | | |
| | | /** |
| | | * 河道自定义时间查询 |
| | | * |
| | | * @param beginTime |
| | | * @param endTime |
| | | * @return |
| | | * @throws ParseException |
| | | */ |
| | | @PostMapping("/selecthd") |
| | | public R selecthd(String beginTime, String endTime) throws ParseException { |
| | | String substring = beginTime.substring(0, 10); |
| | | String substrings = endTime.substring(0, 10); |
| | | String hs = beginTime.substring(11, 13); |
| | | String hss = endTime.substring(11, 13); |
| | | //截取月日 |
| | | String[] strs = substring.split("-"); |
| | | //月 |
| | | String year = strs[1].toString(); |
| | | //日 |
| | | String day = strs[2].toString(); |
| | | //截取月日 |
| | | String[] strss = substrings.split("-"); |
| | | //月 |
| | | String years = strss[1].toString(); |
| | | //日 |
| | | String days = strss[2].toString(); |
| | | //定义短信内容头 |
| | | String text = year + "月" + day + "日" + hs + "时" + "-" + years + "月" + days + "日" + hss + "时"; |
| | | String texta = ""; |
| | | //定义统计数量 |
| | | int number = 0; |
| | | //河道超警信息 |
| | | List<Map<String, Object>> selecthd = riverRService.selecthd(beginTime, endTime); |
| | | //Map<String, Object> sel = riverRService.sel(); |
| | | //selecthd.add(sel); |
| | | //基本站信息 |
| | | List<Map<String, Object>> list1 = riverRService.selectP(); |
| | | //用来判断是否重复统计超警信息 |
| | | Map mnum = new HashMap(); |
| | | Map mnums = new HashMap(); |
| | | //定义list保存预警信息 |
| | | List ylist = new ArrayList(); |
| | | //定义list保存未预警信息 |
| | | List alist = new ArrayList(); |
| | | //查询数据为空 |
| | | if (selecthd.size() == 0) { |
| | | text += "暂无河道超警信息。廖家湾水位暂无数据,流量暂无数据;娄家村水位暂无数据,流量暂无数据;"; |
| | | } |
| | | //不为空遍历数据计算是否超出预警值 |
| | | else { |
| | | int c = 0; |
| | | for (int i = 0; i < selecthd.size(); i++) { |
| | | //实时河道水位值 |
| | | BigDecimal z = (BigDecimal) selecthd.get(i).get("Z"); |
| | | double Z = z.doubleValue(); |
| | | //超警戒水位值 |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | if (selecthd.get(i).get("WRZ") == null || selecthd.get(i).get("Q") == null) { |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据"; |
| | | } |
| | | } |
| | | alist.add(selecthd.get(i)); |
| | | continue; |
| | | } |
| | | BigDecimal wrz = (BigDecimal) selecthd.get(i).get("WRZ"); |
| | | double WRZ = wrz.doubleValue(); |
| | | BigDecimal q = (BigDecimal) selecthd.get(i).get("Q"); |
| | | double Q = q.doubleValue(); |
| | | if (Z <= WRZ) { |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据"; |
| | | } else { |
| | | DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | texta += "流量" + Q + "立方米每秒;"; |
| | | } |
| | | } |
| | | } |
| | | alist.add(selecthd.get(i)); |
| | | } else { |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | ylist.add(selecthd.get(i)); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | number++; |
| | | //超出警戒水位多少 |
| | | Double num = Z - WRZ; |
| | | double v3 = (double) Math.round(num * 100) / 100; |
| | | //县,市 |
| | | String addvcd5 = selecthd.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "站超出警戒水位" + df.format(v3) + "米," + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据;"; |
| | | } else { |
| | | //DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | texta += "流量" + Q + "立方米每秒;"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // /** |
| | | // * 河道自定义时间查询 |
| | | // * |
| | | // * @param beginTime |
| | | // * @param endTime |
| | | // * @return |
| | | // * @throws ParseException |
| | | // */ |
| | | // @PostMapping("/selecthd") |
| | | // public R selecthd(String beginTime, String endTime) throws ParseException { |
| | | // String substring = beginTime.substring(0, 10); |
| | | // String substrings = endTime.substring(0, 10); |
| | | // String hs = beginTime.substring(11, 13); |
| | | // String hss = endTime.substring(11, 13); |
| | | // //截取月日 |
| | | // String[] strs = substring.split("-"); |
| | | // //月 |
| | | // String year = strs[1].toString(); |
| | | // //日 |
| | | // String day = strs[2].toString(); |
| | | // //截取月日 |
| | | // String[] strss = substrings.split("-"); |
| | | // //月 |
| | | // String years = strss[1].toString(); |
| | | // //日 |
| | | // String days = strss[2].toString(); |
| | | // //定义短信内容头 |
| | | // String text = year + "月" + day + "日" + hs + "时" + "-" + years + "月" + days + "日" + hss + "时"; |
| | | // String texta = ""; |
| | | // //定义统计数量 |
| | | // int number = 0; |
| | | // //河道超警信息 |
| | | // List<Map<String, Object>> selecthd = riverRService.selecthd(beginTime, endTime); |
| | | // //Map<String, Object> sel = riverRService.sel(); |
| | | // //selecthd.add(sel); |
| | | // //基本站信息 |
| | | // List<Map<String, Object>> list1 = riverRService.selectP(); |
| | | // //用来判断是否重复统计超警信息 |
| | | // Map mnum = new HashMap(); |
| | | // Map mnums = new HashMap(); |
| | | // //定义list保存预警信息 |
| | | // List ylist = new ArrayList(); |
| | | // //定义list保存未预警信息 |
| | | // List alist = new ArrayList(); |
| | | // //查询数据为空 |
| | | // if (selecthd.size() == 0) { |
| | | // text += "暂无河道超警信息。廖家湾水位暂无数据,流量暂无数据;娄家村水位暂无数据,流量暂无数据;"; |
| | | // } |
| | | // //不为空遍历数据计算是否超出预警值 |
| | | // else { |
| | | // int c = 0; |
| | | // for (int i = 0; i < selecthd.size(); i++) { |
| | | // //实时河道水位值 |
| | | // BigDecimal z = (BigDecimal) selecthd.get(i).get("Z"); |
| | | // double Z = z.doubleValue(); |
| | | // //超警戒水位值 |
| | | // if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | // } else { |
| | | // if (selecthd.get(i).get("WRZ") == null || selecthd.get(i).get("Q") == null) { |
| | | // String stnm = selecthd.get(i).get("STNM").toString(); |
| | | // mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | // if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | // DecimalFormat df = new DecimalFormat("#0.00"); |
| | | // texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | // if (selecthd.get(i).get("Q") == null) { |
| | | // texta += "流量暂无数据"; |
| | | // } |
| | | // } |
| | | // alist.add(selecthd.get(i)); |
| | | // continue; |
| | | // } |
| | | // BigDecimal wrz = (BigDecimal) selecthd.get(i).get("WRZ"); |
| | | // double WRZ = wrz.doubleValue(); |
| | | // BigDecimal q = (BigDecimal) selecthd.get(i).get("Q"); |
| | | // double Q = q.doubleValue(); |
| | | // if (Z <= WRZ) { |
| | | // if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | // } else { |
| | | // String stnm = selecthd.get(i).get("STNM").toString(); |
| | | // mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | // if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | // DecimalFormat df = new DecimalFormat("#0.00"); |
| | | // texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | // if (selecthd.get(i).get("Q") == null) { |
| | | // texta += "流量暂无数据"; |
| | | // } else { |
| | | // DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | // texta += "流量" + Q + "立方米每秒;"; |
| | | // } |
| | | // } |
| | | // } |
| | | // alist.add(selecthd.get(i)); |
| | | // } else { |
| | | // //如果map集合保存了站点则不重复统计数量 |
| | | // if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | // } else { |
| | | // ylist.add(selecthd.get(i)); |
| | | // mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | // number++; |
| | | // //超出警戒水位多少 |
| | | // Double num = Z - WRZ; |
| | | // double v3 = (double) Math.round(num * 100) / 100; |
| | | // //县,市 |
| | | // String addvcd5 = selecthd.get(i).get("ADDVNM").toString(); |
| | | // //站点名称 |
| | | // String stnm = selecthd.get(i).get("STNM").toString(); |
| | | // if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | // DecimalFormat df = new DecimalFormat("#0.00"); |
| | | // texta += stnm.replaceAll(" ", "") + "站超出警戒水位" + df.format(v3) + "米," + "水位" + df.format(Z) + "米,"; |
| | | // if (selecthd.get(i).get("Q") == null) { |
| | | // texta += "流量暂无数据;"; |
| | | // } else { |
| | | // //DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | // texta += "流量" + Q + "立方米每秒;"; |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | //// //河道涨幅,跌幅信息 |
| | | // //List<Map<String, Object>> selecthds = riverRService.selecthds(beginTime, endTime); |
| | | // Map m1 = new HashMap(); |
| | | // Map m2 = new HashMap(); |
| | | // Map c = new HashMap(); |
| | | // Map m = new HashMap(); |
| | | // List list = new ArrayList(); |
| | | //// for (int j = 0; j < selecthds.size(); j++) { |
| | | //// //站点编码 |
| | | //// String stcd = selecthds.get(j).get("STCD").toString(); |
| | | //// //站点名称 |
| | | //// String stnm = selecthds.get(j).get("STNM").toString(); |
| | | //// //省,市 |
| | | //// 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 (number == 0) { |
| | | // text += "暂无河道超警戒信息。" + texta; |
| | | // } else { |
| | | // text += "有" + number + "个河道站超警戒。" + texta; |
| | | // } |
| | | //// if (m1.size() != 0) { |
| | | //// Object maxKey = getMaxKey(m1); |
| | | //// String s1 = m1.get(maxKey).toString(); |
| | | //// text += " 涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。"; |
| | | //// } |
| | | // m.put("text", text); |
| | | // m.put("number", number); |
| | | // m.put("Yjlist", ylist); |
| | | // m.put("list", alist); |
| | | // m.put("list1", list1); |
| | | // m.put("clist", c); |
| | | // list.add(m); |
| | | // return R.data(list); |
| | | // |
| | | // } |
| | | |
| | | } |
| | | if (number == 0) { |
| | | text += "暂无河道超警戒信息。" + texta; |
| | | } else { |
| | | text += "有" + number + "个河道站超警戒。" + texta; |
| | | } |
| | | } |
| | | //河道涨幅,跌幅信息 |
| | | List<Map<String, Object>> selecthds = riverRService.selecthds(beginTime, endTime); |
| | | Map m1 = new HashMap(); |
| | | Map m2 = new HashMap(); |
| | | Map c = new HashMap(); |
| | | Map m = new HashMap(); |
| | | List list = new ArrayList(); |
| | | for (int j = 0; j < selecthds.size(); j++) { |
| | | //站点编码 |
| | | String stcd = selecthds.get(j).get("STCD").toString(); |
| | | //站点名称 |
| | | String stnm = selecthds.get(j).get("STNM").toString(); |
| | | //省,市 |
| | | 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(Math.abs(v3), stnm.replaceAll(" ", "") + "站"); |
| | | // c.put(stcd,Math.abs(v3)); |
| | | // |
| | | // |
| | | // } |
| | | // //跌幅 |
| | | // 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){ |
| | | // text += "暂无涨幅信息。"; |
| | | // } |
| | | // else { |
| | | // //获取涨幅最大的信息 |
| | | // Object maxKey = getMaxKey(m1); |
| | | // String s1 = m1.get(maxKey).toString(); |
| | | // text += "涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。"; |
| | | // } |
| | | // if (m2.size()==0){ |
| | | // text += "暂无跌幅信息。"; |
| | | // } |
| | | // else { |
| | | // //获取跌幅最大的信息 |
| | | // 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); |
| | | m.put("list", alist); |
| | | m.put("list1", list1); |
| | | m.put("clist", c); |
| | | list.add(m); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 河道最新 |
| | |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | String stcd = selecthd.get(i).get("STCD").toString(); |
| | | Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) stringObjectMap.get("Z"); |
| | | //Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) selecthd.get(i).get("Zc"); |
| | | double ZC = zc.doubleValue(); |
| | | double vz = Z - ZC; |
| | | DecimalFormat dfc = new DecimalFormat("#0.00"); |
| | |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | String stcd = selecthd.get(i).get("STCD").toString(); |
| | | Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) stringObjectMap.get("Z"); |
| | | //Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) selecthd.get(i).get("Zc"); |
| | | double ZC = zc.doubleValue(); |
| | | double vz = Z - ZC; |
| | | DecimalFormat dfc = new DecimalFormat("#0.00"); |
| | |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | String stcd = selecthd.get(i).get("STCD").toString(); |
| | | Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) stringObjectMap.get("Z"); |
| | | //Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec); |
| | | BigDecimal zc = (BigDecimal) selecthd.get(i).get("Zc"); |
| | | double ZC = zc.doubleValue(); |
| | | double vz = Z - ZC; |
| | | DecimalFormat dfc = new DecimalFormat("#0.00"); |
| | |
| | | return obj[obj.length - 1]; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 河道自定义时间查询 |
| | | * |
| | | * @param beginTime |
| | | * @param endTime |
| | | * @return |
| | | * @throws ParseException |
| | | */ |
| | | @PostMapping("/selecthd") |
| | | public R selecthd(String beginTime, String endTime) throws ParseException { |
| | | String substring = beginTime.substring(0, 10); |
| | | String substrings = endTime.substring(0, 10); |
| | | String hs = beginTime.substring(11, 13); |
| | | String hss = endTime.substring(11, 13); |
| | | //截取月日 |
| | | String[] strs = substring.split("-"); |
| | | //月 |
| | | String year = strs[1].toString(); |
| | | //日 |
| | | String day = strs[2].toString(); |
| | | //截取月日 |
| | | String[] strss = substrings.split("-"); |
| | | //月 |
| | | String years = strss[1].toString(); |
| | | //日 |
| | | String days = strss[2].toString(); |
| | | //定义短信内容头 |
| | | String text = year + "月" + day + "日" + hs + "时" + "-" + years + "月" + days + "日" + hss + "时"; |
| | | String texta = ""; |
| | | //定义统计数量 |
| | | int number = 0; |
| | | //河道超警信息 |
| | | List<Map<String, Object>> selecthd = riverRService.selecthdcs(beginTime, endTime); |
| | | //Map<String, Object> sel = riverRService.sel(); |
| | | //selecthd.add(sel); |
| | | //基本站信息 |
| | | List<Map<String, Object>> list1 = riverRService.selectP(); |
| | | //用来判断是否重复统计超警信息 |
| | | Map mnum = new HashMap(); |
| | | Map mnums = new HashMap(); |
| | | //定义list保存预警信息 |
| | | List ylist = new ArrayList(); |
| | | //定义list保存未预警信息 |
| | | List alist = new ArrayList(); |
| | | Map m1 = new HashMap(); |
| | | Map m2 = new HashMap(); |
| | | Map czf = new HashMap(); |
| | | Map m = new HashMap(); |
| | | List list = new ArrayList(); |
| | | //查询数据为空 |
| | | if (selecthd.size() == 0) { |
| | | text += "暂无河道超警信息。廖家湾水位暂无数据,流量暂无数据;娄家村水位暂无数据,流量暂无数据;"; |
| | | } |
| | | //不为空遍历数据计算是否超出预警值 |
| | | else { |
| | | int c = 0; |
| | | for (int i = 0; i < selecthd.size(); i++) { |
| | | //实时河道水位值 |
| | | BigDecimal z = (BigDecimal) selecthd.get(i).get("Z"); |
| | | double Z = z.doubleValue(); |
| | | String stcd = selecthd.get(i).get("STCD").toString(); |
| | | //站点名称 |
| | | String stnms = selecthd.get(i).get("STNM").toString(); |
| | | //最大值 |
| | | BigDecimal maxZ = (BigDecimal) selecthd.get(i).get("maxZ"); |
| | | //最小值 |
| | | BigDecimal minZ = (BigDecimal) selecthd.get(i).get("minZ"); |
| | | double v = maxZ.doubleValue(); |
| | | double v1 = minZ.doubleValue(); |
| | | //涨幅值 |
| | | double v2 = v - v1; |
| | | double v4 = (double) Math.round(v2 * 100) / 100; |
| | | m1.put(v4, stnms.replaceAll(" ", "") + "站"); |
| | | czf.put(stcd, v4); |
| | | //超警戒水位值 |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | if (selecthd.get(i).get("WRZ") == null || selecthd.get(i).get("Q") == null) { |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据"; |
| | | } |
| | | } |
| | | alist.add(selecthd.get(i)); |
| | | continue; |
| | | } |
| | | BigDecimal wrz = (BigDecimal) selecthd.get(i).get("WRZ"); |
| | | double WRZ = wrz.doubleValue(); |
| | | BigDecimal q = (BigDecimal) selecthd.get(i).get("Q"); |
| | | double Q = q.doubleValue(); |
| | | if (Z <= WRZ) { |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据"; |
| | | } else { |
| | | DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | texta += "流量" + Q + "立方米每秒;"; |
| | | } |
| | | } |
| | | } |
| | | alist.add(selecthd.get(i)); |
| | | } else { |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | ylist.add(selecthd.get(i)); |
| | | mnum.put(selecthd.get(i).get("STCD").toString(), i); |
| | | number++; |
| | | //超出警戒水位多少 |
| | | Double num = Z - WRZ; |
| | | double v3 = (double) Math.round(num * 100) / 100; |
| | | //县,市 |
| | | String addvcd5 = selecthd.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = selecthd.get(i).get("STNM").toString(); |
| | | if (stnm.equals("廖家湾") || stnm.equals("娄家村")) { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += stnm.replaceAll(" ", "") + "站超出警戒水位" + df.format(v3) + "米," + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据;"; |
| | | } else { |
| | | //DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | texta += "流量" + Q + "立方米每秒;"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | if (number == 0) { |
| | | text += "暂无河道超警戒信息。" + texta; |
| | | } else { |
| | | text += "有" + number + "个河道站超警戒。" + texta; |
| | | } |
| | | if (m1.size() != 0) { |
| | | Object maxKey = getMaxKey(m1); |
| | | String s1 = m1.get(maxKey).toString(); |
| | | text += " 涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。"; |
| | | } |
| | | m.put("text", text); |
| | | m.put("number", number); |
| | | m.put("Yjlist", ylist); |
| | | m.put("list", alist); |
| | | m.put("list1", list1); |
| | | m.put("clist", czf); |
| | | list.add(m); |
| | | return R.data(list); |
| | | |
| | | } |
| | | } |