| | |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texta += "库水位" + df.format(RZ) + "(米)、"; |
| | | texta += "库水位" + df.format(RZ) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texta += "入库流量暂无数据、"; |
| | |
| | | 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 += "出库流量暂无数据;"; |
| | |
| | | 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 += "库水位暂无数据、"; |
| | | } else { |
| | | DecimalFormat df = new DecimalFormat("#0.00"); |
| | | texth += "库水位" + df.format(RZ) + "(米)、"; |
| | | texth += "库水位" + df.format(RZ) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texth += "入库流量暂无数据、"; |
| | |
| | | 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 += "出库流量暂无数据。"; |
| | |
| | | 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)); |
| | |
| | | //站点名称 |
| | | 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 += "出库流量暂无数据;"; |
| | |
| | | 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 += "出库流量暂无数据。"; |
| | |
| | | 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)); |
| | |
| | | //站点名称 |
| | | 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 += "出库流量暂无数据;"; |
| | |
| | | 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 += "出库流量暂无数据。"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0"); |
| | | texth += "出库流量" + OTQ + "(立方米每秒)。"; |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | } |
| | | } |
| | | } |
| | |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date sd1 = df.parse(maxTM); |
| | | Date sd2 = df.parse(minTM); |
| | | //如果最大时间大于最小时间就是涨幅 |
| | | 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); |
| | | } |
| | | //跌幅 |
| | | 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) { |
| | | 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); |
| | | //获取涨幅最大的信息 |
| | | Object maxKey = getMaxKey(m1); |
| | | String s1 = m1.get(maxKey).toString(); |
| | | text += " 涨幅最大的是:" + s1 + "(涨" + maxKey + "米)。"; |
| | | 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 + "米)。"; |
| | | // //如果最大时间大于最小时间就是涨幅 |
| | | // 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); |
| | | // } |
| | | // //跌幅 |
| | | // 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) { |
| | | // //获取涨幅最大的信息 |
| | | // 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); |
| | | m.put("list", alist); |
| | | m.put("clist", c); |
| | | list.add(m); |
| | | } |
| | | m.put("text", text); |
| | | m.put("number", number); |
| | | m.put("Yjlist", ylist); |
| | | m.put("list", alist); |
| | | m.put("clist", c); |
| | | list.add(m); |
| | | return R.data(list); |
| | | } |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 水库水情最新信息 |
| | | */ |
| | | @PostMapping("/selectyjcks") |
| | | public R selectyjcks() throws ParseException { |
| | | int ws = 1; |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String time = df.format(new Date()); |
| | | SimpleDateFormat dfz = new SimpleDateFormat("yyyy-MM-dd HH:00:00"); |
| | | String timez = dfz.format(new Date()); |
| | | String yearc = time.substring(0, 4); |
| | | int years = Integer.parseInt(yearc); |
| | | String monthc = time.substring(5, 7); |
| | | int months = Integer.parseInt(monthc); |
| | | String dayc = time.substring(8, 10); |
| | | int days = Integer.parseInt(dayc); |
| | | int da = days - ws; |
| | | String hss = time.substring(11, 13); |
| | | int hs = Integer.parseInt(hss); |
| | | //前一天8时 |
| | | String timec = years + "-" + months + "-" + da + " 08:00:00"; |
| | | //前24小时 |
| | | Calendar calendar6 = Calendar.getInstance(); |
| | | calendar6.set(Calendar.HOUR_OF_DAY, calendar6.get(Calendar.HOUR_OF_DAY) - 24); |
| | | String dateBegin24 = df.format(calendar6.getTime()); |
| | | /** |
| | | * 水库水情最新信息 |
| | | */ |
| | | @PostMapping("/selectyjcks") |
| | | public R selectyjcks () throws ParseException { |
| | | int ws = 1; |
| | | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String time = df.format(new Date()); |
| | | SimpleDateFormat dfz = new SimpleDateFormat("yyyy-MM-dd HH:00:00"); |
| | | String timez = dfz.format(new Date()); |
| | | String yearc = time.substring(0, 4); |
| | | int years = Integer.parseInt(yearc); |
| | | String monthc = time.substring(5, 7); |
| | | int months = Integer.parseInt(monthc); |
| | | String dayc = time.substring(8, 10); |
| | | int days = Integer.parseInt(dayc); |
| | | int da = days - ws; |
| | | String hss = time.substring(11, 13); |
| | | int hs = Integer.parseInt(hss); |
| | | //前一天8时 |
| | | String timec = years + "-" + months + "-" + da + " 08:00:00"; |
| | | //前24小时 |
| | | Calendar calendar6 = Calendar.getInstance(); |
| | | calendar6.set(Calendar.HOUR_OF_DAY, calendar6.get(Calendar.HOUR_OF_DAY) - 24); |
| | | String dateBegin24 = df.format(calendar6.getTime()); |
| | | |
| | | String substring = time.substring(0, 10); |
| | | //截取月日 |
| | | String[] strs = substring.split("-"); |
| | | //月 |
| | | String year = strs[1].toString(); |
| | | //日 |
| | | String day = strs[2].toString(); |
| | | //定义短信内容头 |
| | | String text = year + "月" + day + "日" + hs + "时"; |
| | | String texta = ""; |
| | | String texth = ""; |
| | | //定义统计数量 |
| | | int number = 0; |
| | | String mouz = year + day; |
| | | Integer mou = Integer.parseInt(mouz); |
| | | String egmd = ""; |
| | | String edmd = ""; |
| | | List<Map<String, Object>> selectfx = rsvrRService.selectfx(); |
| | | String b = (String) selectfx.get(0).get("BGMD"); |
| | | String e = (String) selectfx.get(0).get("EDMD"); |
| | | String b2 = (String) selectfx.get(1).get("BGMD"); |
| | | String e2 = (String) selectfx.get(1).get("EDMD"); |
| | | int bs = Integer.parseInt(b.trim()); |
| | | int es = Integer.parseInt(e.trim()); |
| | | int b2s = Integer.parseInt(b2.trim()); |
| | | int e2s = Integer.parseInt(e2.trim()); |
| | | if (mou >= bs && mou <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (mou >= b2s && mou <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } else { |
| | | String mous = "0901"; |
| | | int m = Integer.parseInt(mous); |
| | | if (m >= bs && m <= es) { |
| | | String substring = time.substring(0, 10); |
| | | //截取月日 |
| | | String[] strs = substring.split("-"); |
| | | //月 |
| | | String year = strs[1].toString(); |
| | | //日 |
| | | String day = strs[2].toString(); |
| | | //定义短信内容头 |
| | | String text = year + "月" + day + "日" + hs + "时"; |
| | | String texta = ""; |
| | | String texth = ""; |
| | | //定义统计数量 |
| | | int number = 0; |
| | | String mouz = year + day; |
| | | Integer mou = Integer.parseInt(mouz); |
| | | String egmd = ""; |
| | | String edmd = ""; |
| | | List<Map<String, Object>> selectfx = rsvrRService.selectfx(); |
| | | String b = (String) selectfx.get(0).get("BGMD"); |
| | | String e = (String) selectfx.get(0).get("EDMD"); |
| | | String b2 = (String) selectfx.get(1).get("BGMD"); |
| | | String e2 = (String) selectfx.get(1).get("EDMD"); |
| | | int bs = Integer.parseInt(b.trim()); |
| | | int es = Integer.parseInt(e.trim()); |
| | | int b2s = Integer.parseInt(b2.trim()); |
| | | int e2s = Integer.parseInt(e2.trim()); |
| | | if (mou >= bs && mou <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (m >= b2s && m <= e2s) { |
| | | } else if (mou >= b2s && mou <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } |
| | | } |
| | | //水库水情预警信息 |
| | | List<Map<String, Object>> map = rsvrRService.selectyjcks(egmd, edmd, timec, timez); |
| | | //用来判断是否重复统计超警信息 |
| | | Map mnum = new HashMap(); |
| | | //定义list保存预警信息 |
| | | List alist = new ArrayList(); |
| | | List blist = new ArrayList(); |
| | | double RZ = 0.0; |
| | | double v = 0.0; |
| | | //定义list保存未预警信息 |
| | | //查询数据为空 |
| | | if (map.size() == 0) { |
| | | text += "暂无水库超汛限。$$$$$洪门水库&&&&&库水位暂无数据、入库流量暂无数据、蓄水量暂无数据、出库流量暂无数据;$$$$$廖坊水库&&&&&库水位暂无数据、入库流量暂无数据、蓄水量暂无数据、出库流量暂无数据。"; |
| | | } else { |
| | | for (int i = 0; i < map.size(); i++) { |
| | | BigDecimal rz = (BigDecimal) map.get(i).get("RZ"); |
| | | 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); |
| | | //BigDecimal zc = (BigDecimal) stringObjectMap.get("RZ"); |
| | | BigDecimal zc = (BigDecimal) map.get(i).get("RZS"); |
| | | double ZC = zc.doubleValue(); |
| | | Double vs = RZ - ZC; |
| | | DecimalFormat dfc = new DecimalFormat("#0.00"); |
| | | String format = dfc.format(vs); |
| | | v = Double.parseDouble(format); |
| | | if (map.get(i).get("FSLTDZ") == null || RZ == 0) { |
| | | String addvcd5 = map.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = map.get(i).get("STNM").toString(); |
| | | //实时水库水位值 |
| | | if (stnm.equals("洪门")) { |
| | | texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | texta += "库水位" + RZ + "(米)、"; |
| | | } |
| | | if (v < 0) { |
| | | texta += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texta += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texta += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "(百万立方米)、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texta += "出库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "(立方米每秒);"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | | texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texth += "库水位暂无数据、"; |
| | | } else { |
| | | texth += "库水位" + RZ + "(米)、"; |
| | | } |
| | | if (v < 0) { |
| | | texth += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texth += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texth += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "(百万立方米)、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texth += "出库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "(立方米每秒)。"; |
| | | } |
| | | } |
| | | blist.add(map.get(i)); |
| | | continue; |
| | | } else { |
| | | String mous = "0901"; |
| | | int m = Integer.parseInt(mous); |
| | | if (m >= bs && m <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (m >= b2s && m <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } |
| | | BigDecimal fsltdz = (BigDecimal) map.get(i).get("FSLTDZ"); |
| | | double FSLTDZ = fsltdz.doubleValue(); |
| | | if (RZ <= FSLTDZ) { |
| | | //县,市 |
| | | String addvcd5 = map.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = map.get(i).get("STNM").toString(); |
| | | //站点名称 |
| | | if (stnm.equals("洪门")) { |
| | | texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | texta += "库水位" + RZ + "(米)、"; |
| | | } |
| | | if (v < 0) { |
| | | texta += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texta += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texta += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "(百万立方米)、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texta += "出库流量暂无数据;"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "(立方米每秒);"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | | texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texth += "库水位暂无数据、"; |
| | | } else { |
| | | texth += "库水位" + RZ + "(米)、"; |
| | | } |
| | | if (v < 0) { |
| | | texth += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texth += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texth += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "(百万立方米)、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texth += "出库流量暂无数据。"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "(立方米每秒)。"; |
| | | } |
| | | } |
| | | blist.add(map.get(i)); |
| | | } else { |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | if (mnum.containsKey(map.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | alist.add(map.get(i)); |
| | | mnum.put(map.get(i).get("STCD").toString(), i); |
| | | number++; |
| | | //超出警戒水位多少 |
| | | Double num = RZ - FSLTDZ; |
| | | double v3 = (double) Math.round(num * 100) / 100; |
| | | //县,市 |
| | | } |
| | | //水库水情预警信息 |
| | | List<Map<String, Object>> map = rsvrRService.selectyjcks(egmd, edmd, timec, timez); |
| | | //用来判断是否重复统计超警信息 |
| | | Map mnum = new HashMap(); |
| | | //定义list保存预警信息 |
| | | List alist = new ArrayList(); |
| | | List blist = new ArrayList(); |
| | | double RZ = 0.0; |
| | | double v = 0.0; |
| | | //定义list保存未预警信息 |
| | | //查询数据为空 |
| | | if (map.size() == 0) { |
| | | text += "暂无水库超汛限。$$$$$洪门水库&&&&&库水位暂无数据、入库流量暂无数据、蓄水量暂无数据、出库流量暂无数据;$$$$$廖坊水库&&&&&库水位暂无数据、入库流量暂无数据、蓄水量暂无数据、出库流量暂无数据。"; |
| | | } else { |
| | | for (int i = 0; i < map.size(); i++) { |
| | | BigDecimal rz = (BigDecimal) map.get(i).get("RZ"); |
| | | 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); |
| | | //BigDecimal zc = (BigDecimal) stringObjectMap.get("RZ"); |
| | | BigDecimal zc = (BigDecimal) map.get(i).get("RZS"); |
| | | double ZC = zc.doubleValue(); |
| | | Double vs = RZ - ZC; |
| | | DecimalFormat dfc = new DecimalFormat("#0.00"); |
| | | String format = dfc.format(vs); |
| | | v = Double.parseDouble(format); |
| | | if (map.get(i).get("FSLTDZ") == null || RZ == 0) { |
| | | String addvcd5 = map.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = map.get(i).get("STNM").toString(); |
| | | //实时水库水位值 |
| | | if (stnm.equals("洪门")) { |
| | | texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | texta += "库水位" + RZ + "(米)、"; |
| | | texta += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texta += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | |
| | | } 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 += "出库流量暂无数据;"; |
| | | texta += "出库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "(立方米每秒);"; |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | |
| | | if (RZ == 0) { |
| | | texth += "库水位暂无数据、"; |
| | | } else { |
| | | texth += "库水位" + RZ + "(米)、"; |
| | | texth += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texth += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | |
| | | } 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 + "立方米每秒。"; |
| | | } |
| | | } |
| | | blist.add(map.get(i)); |
| | | continue; |
| | | } |
| | | BigDecimal fsltdz = (BigDecimal) map.get(i).get("FSLTDZ"); |
| | | double FSLTDZ = fsltdz.doubleValue(); |
| | | if (RZ <= FSLTDZ) { |
| | | //县,市 |
| | | String addvcd5 = map.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = map.get(i).get("STNM").toString(); |
| | | //站点名称 |
| | | if (stnm.equals("洪门")) { |
| | | texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | texta += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texta += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texta += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texta += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "百万立方米、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texta += "出库流量暂无数据;"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | | texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texth += "库水位暂无数据、"; |
| | | } else { |
| | | texth += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texth += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texth += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texth += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "百万立方米、"; |
| | | } |
| | | 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)); |
| | | } else { |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | //如果map集合保存了站点则不重复统计数量 |
| | | if (mnum.containsKey(map.get(i).get("STCD").toString()) == true) { |
| | | } else { |
| | | alist.add(map.get(i)); |
| | | mnum.put(map.get(i).get("STCD").toString(), i); |
| | | number++; |
| | | //超出警戒水位多少 |
| | | Double num = RZ - FSLTDZ; |
| | | double v3 = (double) Math.round(num * 100) / 100; |
| | | //县,市 |
| | | String addvcd5 = map.get(i).get("ADDVNM").toString(); |
| | | //站点名称 |
| | | String stnm = map.get(i).get("STNM").toString(); |
| | | if (stnm.equals("洪门")) { |
| | | texta += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texta += "库水位暂无数据、"; |
| | | } else { |
| | | texta += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texta += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texta += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texta += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "百万立方米、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texta += "出库流量暂无数据;"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | | texth += "$$$$$" + stnm.replaceAll(" ", "") + "水库&&&&&"; |
| | | if (RZ == 0) { |
| | | texth += "库水位暂无数据、"; |
| | | } else { |
| | | texth += "库水位" + RZ + "米、"; |
| | | } |
| | | if (v < 0) { |
| | | texth += "比昨日8时下降" + Math.abs(v) + "米、"; |
| | | } else { |
| | | texth += "比昨日8时上涨" + Math.abs(v) + "米、"; |
| | | } |
| | | if (map.get(i).get("INQ") == null) { |
| | | texth += "入库流量暂无数据、"; |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | 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 + "百万立方米、"; |
| | | } |
| | | if (map.get(i).get("OTQ") == null) { |
| | | texth += "出库流量暂无数据。"; |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (number == 0) { |
| | | text += texta + texth; |
| | | } else { |
| | | text += "有" + number + "个水库站超汛限;" + texta + texth; |
| | | } |
| | | } |
| | | if (number == 0) { |
| | | text += texta + texth; |
| | | } else { |
| | | text += "有" + number + "个水库站超汛限;" + texta + texth; |
| | | Map m = new HashMap(); |
| | | List list = new ArrayList(); |
| | | m.put("text", text); |
| | | m.put("number", number); |
| | | m.put("Yjlist", alist); |
| | | m.put("list", blist); |
| | | list.add(m); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 水库详情 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selectInfo") |
| | | public R selectInfo (String stcd){ |
| | | return R.data(rsvrRService.selectInfo(stcd)); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/selectTinfo") |
| | | public R selectTinfo (String stcd){ |
| | | Calendar cal = Calendar.getInstance(); |
| | | int mnth = cal.get(Calendar.MONTH) + 1; |
| | | return R.data(rsvrRService.selectTinfo(mnth, stcd)); |
| | | } |
| | | |
| | | /** |
| | | * 求Map<K,V>中Key(键)的最大值 |
| | | * |
| | | * @param map |
| | | * @return |
| | | */ |
| | | public static Object getMaxKey (Map < Double, Integer > map){ |
| | | if (map == null) return null; |
| | | Set<Double> set = map.keySet(); |
| | | Object[] obj = set.toArray(); |
| | | Arrays.sort(obj); |
| | | return obj[obj.length - 1]; |
| | | } |
| | | |
| | | /** |
| | | * 求Map<K,V>中Value(值)的最大值 |
| | | * |
| | | * @param map |
| | | * @return |
| | | */ |
| | | public static Object getMaxValue (Map < Integer, Integer > map){ |
| | | if (map == null) return null; |
| | | Collection<Integer> c = map.values(); |
| | | Object[] obj = c.toArray(); |
| | | Arrays.sort(obj); |
| | | return obj[obj.length - 1]; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 水位流量曲线 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selList") |
| | | public R selList (String stcd){ |
| | | List<Map<String, Object>> newList = rsvrRService.selList(stcd); |
| | | Map<String, List<Map>> mm = new HashMap(); |
| | | for (Map temp : newList) { |
| | | if (mm.containsKey(temp.get("LNNM"))) |
| | | mm.get(temp.get("LNNM")).add(temp); |
| | | else { |
| | | List<Map> ll = new ArrayList<>(); |
| | | ll.add(temp); |
| | | mm.put((String) temp.get("LNNM"), ll); |
| | | } |
| | | } |
| | | } |
| | | Map m = new HashMap(); |
| | | List list = new ArrayList(); |
| | | m.put("text", text); |
| | | m.put("number", number); |
| | | m.put("Yjlist", alist); |
| | | m.put("list", blist); |
| | | list.add(m); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 水库详情 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selectInfo") |
| | | public R selectInfo(String stcd) { |
| | | return R.data(rsvrRService.selectInfo(stcd)); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/selectTinfo") |
| | | public R selectTinfo(String stcd) { |
| | | Calendar cal = Calendar.getInstance(); |
| | | int mnth = cal.get(Calendar.MONTH) + 1; |
| | | return R.data(rsvrRService.selectTinfo(mnth, stcd)); |
| | | } |
| | | |
| | | /** |
| | | * 求Map<K,V>中Key(键)的最大值 |
| | | * |
| | | * @param map |
| | | * @return |
| | | */ |
| | | public static Object getMaxKey(Map<Double, Integer> map) { |
| | | if (map == null) return null; |
| | | Set<Double> set = map.keySet(); |
| | | Object[] obj = set.toArray(); |
| | | Arrays.sort(obj); |
| | | return obj[obj.length - 1]; |
| | | } |
| | | |
| | | /** |
| | | * 求Map<K,V>中Value(值)的最大值 |
| | | * |
| | | * @param map |
| | | * @return |
| | | */ |
| | | public static Object getMaxValue(Map<Integer, Integer> map) { |
| | | if (map == null) return null; |
| | | Collection<Integer> c = map.values(); |
| | | Object[] obj = c.toArray(); |
| | | Arrays.sort(obj); |
| | | return obj[obj.length - 1]; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 水位流量曲线 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selList") |
| | | public R selList(String stcd) { |
| | | List<Map<String, Object>> newList = rsvrRService.selList(stcd); |
| | | Map<String, List<Map>> mm = new HashMap(); |
| | | for (Map temp : newList) { |
| | | if (mm.containsKey(temp.get("LNNM"))) |
| | | mm.get(temp.get("LNNM")).add(temp); |
| | | else { |
| | | List<Map> ll = new ArrayList<>(); |
| | | ll.add(temp); |
| | | mm.put((String) temp.get("LNNM"), ll); |
| | | List<List<Map>> res = new ArrayList(); |
| | | for (Map.Entry<String, List<Map>> et : mm.entrySet()) { |
| | | res.add(et.getValue()); |
| | | } |
| | | return R.data(res); |
| | | } |
| | | List<List<Map>> res = new ArrayList(); |
| | | for (Map.Entry<String, List<Map>> et : mm.entrySet()) { |
| | | res.add(et.getValue()); |
| | | |
| | | /** |
| | | * 库容曲线 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selLists") |
| | | public R selLists (String stcd){ |
| | | return R.data(rsvrRService.selLists(stcd)); |
| | | } |
| | | return R.data(res); |
| | | } |
| | | |
| | | /** |
| | | * 库容曲线 |
| | | * |
| | | * @param stcd |
| | | * @return |
| | | */ |
| | | @PostMapping("/selLists") |
| | | public R selLists(String stcd) { |
| | | return R.data(rsvrRService.selLists(stcd)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 水库站水位流量过程接口 |
| | | */ |
| | | @PostMapping("/selectRsvrList") |
| | | @ApiOperation(value = "水库站水位过程接口", notes = "code,dateBegin,dateEnd") |
| | | public R selectRsvrList(String code, String dateBegin, String dateEnd) { |
| | | List<Map<String, Object>> list = rsvrRService.selectRsvrList(code, dateBegin, dateEnd); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 河道水位流量过程接口 |
| | | */ |
| | | @PostMapping("/selectRiverList") |
| | | @ApiOperation(value = "水库站水位过程接口", notes = "code,dateBegin,dateEnd") |
| | | public R selectRiverList(String code, String dateBegin, String dateEnd) { |
| | | List<Map<String, Object>> list = rsvrRService.selectRsvrLists(code, dateBegin, dateEnd); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 水库实时预警 |
| | | */ |
| | | @ApiLog("水库实时预警") |
| | | @PostMapping("/selectyj") |
| | | @ApiOperation(value = "水库实时预警", notes = "") |
| | | public R selectyj(String times, int mou, int k) { |
| | | Date date = null; |
| | | // 把Date按照格式转换成字符串 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | try { |
| | | date = sdf.parse(times); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | /** |
| | | * 水库站水位流量过程接口 |
| | | */ |
| | | @PostMapping("/selectRsvrList") |
| | | @ApiOperation(value = "水库站水位过程接口", notes = "code,dateBegin,dateEnd") |
| | | public R selectRsvrList (String code, String dateBegin, String dateEnd){ |
| | | List<Map<String, Object>> list = rsvrRService.selectRsvrList(code, dateBegin, dateEnd); |
| | | return R.data(list); |
| | | } |
| | | String dateEnd = sdf.format(date); |
| | | |
| | | String egmd = ""; |
| | | String edmd = ""; |
| | | List<Map<String, Object>> selectfx = rsvrRService.selectfx(); |
| | | String b = (String) selectfx.get(0).get("BGMD"); |
| | | String e = (String) selectfx.get(0).get("EDMD"); |
| | | String b2 = (String) selectfx.get(1).get("BGMD"); |
| | | String e2 = (String) selectfx.get(1).get("EDMD"); |
| | | int bs = Integer.parseInt(b.trim()); |
| | | int es = Integer.parseInt(e.trim()); |
| | | int b2s = Integer.parseInt(b2.trim()); |
| | | int e2s = Integer.parseInt(e2.trim()); |
| | | if (mou >= bs && mou <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (mou >= b2s && mou <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } else { |
| | | String mous = "0901"; |
| | | int m = Integer.parseInt(mous); |
| | | if (m >= bs && m <= es) { |
| | | /** |
| | | * 河道水位流量过程接口 |
| | | */ |
| | | @PostMapping("/selectRiverList") |
| | | @ApiOperation(value = "水库站水位过程接口", notes = "code,dateBegin,dateEnd") |
| | | public R selectRiverList (String code, String dateBegin, String dateEnd){ |
| | | List<Map<String, Object>> list = rsvrRService.selectRsvrLists(code, dateBegin, dateEnd); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 水库实时预警 |
| | | */ |
| | | @ApiLog("水库实时预警") |
| | | @PostMapping("/selectyj") |
| | | @ApiOperation(value = "水库实时预警", notes = "") |
| | | public R selectyj (String times,int mou, int k){ |
| | | Date date = null; |
| | | // 把Date按照格式转换成字符串 |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | try { |
| | | date = sdf.parse(times); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | String dateEnd = sdf.format(date); |
| | | |
| | | String egmd = ""; |
| | | String edmd = ""; |
| | | List<Map<String, Object>> selectfx = rsvrRService.selectfx(); |
| | | String b = (String) selectfx.get(0).get("BGMD"); |
| | | String e = (String) selectfx.get(0).get("EDMD"); |
| | | String b2 = (String) selectfx.get(1).get("BGMD"); |
| | | String e2 = (String) selectfx.get(1).get("EDMD"); |
| | | int bs = Integer.parseInt(b.trim()); |
| | | int es = Integer.parseInt(e.trim()); |
| | | int b2s = Integer.parseInt(b2.trim()); |
| | | int e2s = Integer.parseInt(e2.trim()); |
| | | if (mou >= bs && mou <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (m >= b2s && m <= e2s) { |
| | | } else if (mou >= b2s && mou <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } |
| | | } |
| | | List<Map<String, Object>> map; |
| | | if (k == 13) { |
| | | map = rsvrRService.selectyj(egmd, edmd, times, dateEnd); |
| | | } else { |
| | | map = rsvrRService.selectyj(egmd, edmd, times, dateEnd); |
| | | } |
| | | List<Map<String, Object>> lists = new ArrayList<>(); |
| | | for (int i = 0; i < map.size(); i++) { |
| | | Map<String, Object> maps = new HashMap<String, Object>(); |
| | | BigDecimal bigDecimaldz = (BigDecimal) map.get(i).get("FSLTDZ");//汛限水位 |
| | | BigDecimal bigDecimalrz = (BigDecimal) map.get(i).get("RZ");//当前水位 |
| | | BigDecimal bigDecimallz = (BigDecimal) map.get(i).get("DSFLZ");//设计水位 |
| | | BigDecimal bigDecimalmz = (BigDecimal) map.get(i).get("NORMZ");//防洪高水位 |
| | | double dz = bigDecimaldz.doubleValue(); |
| | | double rz = bigDecimalrz.doubleValue(); |
| | | double lz = bigDecimallz.doubleValue(); |
| | | double mz = bigDecimalmz.doubleValue(); |
| | | double num = 0.5; |
| | | double s = dz - num; |
| | | if (dz == 0) { |
| | | map.get(i).put("yj", "无预警"); |
| | | maps.put("YjList", map.get(i)); |
| | | lists.add(maps); |
| | | } else { |
| | | if (rz > 0 && rz < s) { |
| | | map.get(i).put("yj", "无预警"); |
| | | } else if (rz >= s && rz < dz) { |
| | | map.get(i).put("yj", "蓝色预警"); |
| | | } else if (rz >= dz && rz < mz) { |
| | | map.get(i).put("yj", "黄色预警"); |
| | | } else if (rz >= mz && rz < lz) { |
| | | map.get(i).put("yj", "橙色预警"); |
| | | } else { |
| | | map.get(i).put("yj", "红色预警"); |
| | | String mous = "0901"; |
| | | int m = Integer.parseInt(mous); |
| | | if (m >= bs && m <= es) { |
| | | egmd = b; |
| | | edmd = e; |
| | | } else if (m >= b2s && m <= e2s) { |
| | | egmd = b2; |
| | | edmd = e2; |
| | | } |
| | | maps.put("YjList", map.get(i)); |
| | | lists.add(maps); |
| | | } |
| | | List<Map<String, Object>> map; |
| | | if (k == 13) { |
| | | map = rsvrRService.selectyj(egmd, edmd, times, dateEnd); |
| | | } else { |
| | | map = rsvrRService.selectyj(egmd, edmd, times, dateEnd); |
| | | } |
| | | List<Map<String, Object>> lists = new ArrayList<>(); |
| | | for (int i = 0; i < map.size(); i++) { |
| | | Map<String, Object> maps = new HashMap<String, Object>(); |
| | | BigDecimal bigDecimaldz = (BigDecimal) map.get(i).get("FSLTDZ");//汛限水位 |
| | | BigDecimal bigDecimalrz = (BigDecimal) map.get(i).get("RZ");//当前水位 |
| | | BigDecimal bigDecimallz = (BigDecimal) map.get(i).get("DSFLZ");//设计水位 |
| | | BigDecimal bigDecimalmz = (BigDecimal) map.get(i).get("NORMZ");//防洪高水位 |
| | | double dz = bigDecimaldz.doubleValue(); |
| | | double rz = bigDecimalrz.doubleValue(); |
| | | double lz = bigDecimallz.doubleValue(); |
| | | double mz = bigDecimalmz.doubleValue(); |
| | | double num = 0.5; |
| | | double s = dz - num; |
| | | if (dz == 0) { |
| | | map.get(i).put("yj", "无预警"); |
| | | maps.put("YjList", map.get(i)); |
| | | lists.add(maps); |
| | | } else { |
| | | if (rz > 0 && rz < s) { |
| | | map.get(i).put("yj", "无预警"); |
| | | } else if (rz >= s && rz < dz) { |
| | | map.get(i).put("yj", "蓝色预警"); |
| | | } else if (rz >= dz && rz < mz) { |
| | | map.get(i).put("yj", "黄色预警"); |
| | | } else if (rz >= mz && rz < lz) { |
| | | map.get(i).put("yj", "橙色预警"); |
| | | } else { |
| | | map.get(i).put("yj", "红色预警"); |
| | | } |
| | | maps.put("YjList", map.get(i)); |
| | | lists.add(maps); |
| | | } |
| | | } |
| | | |
| | | return R.data(lists); |
| | | } |
| | | |
| | | return R.data(lists); |
| | | } |
| | | |
| | | } |