| | |
| | | int number = 0; |
| | | //河道超警信息 |
| | | List<Map<String, Object>> selecthd = riverRService.selecthd(beginTime, endTime); |
| | | Map<String, Object> sel = riverRService.sel(); |
| | | selecthd.add(sel); |
| | | //Map<String, Object> sel = riverRService.sel(); |
| | | //selecthd.add(sel); |
| | | //基本站信息 |
| | | List<Map<String, Object>> list1 = riverRService.selectP(); |
| | | //用来判断是否重复统计超警信息 |
| | |
| | | } |
| | | //不为空遍历数据计算是否超出预警值 |
| | | else { |
| | | int c = 0; |
| | | for (int i = 0; i < selecthd.size(); i++) { |
| | | //实时河道水位值 |
| | | BigDecimal z = (BigDecimal) selecthd.get(i).get("Z"); |
| | |
| | | texta += stnm.replaceAll(" ", "") + "水位" + df.format(Z) + "米,"; |
| | | if (selecthd.get(i).get("Q") == null) { |
| | | texta += "流量暂无数据"; |
| | | } else {DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | } else { |
| | | DecimalFormat dfs = new DecimalFormat("#0.000"); |
| | | texta += "流量" + Q + "立方米每秒;"; |
| | | } |
| | | } |
| | |
| | | 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(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(" ", "") + "站"); |
| | | m1.put(v3, stnm.replaceAll(" ", "") + "站"); |
| | | c.put(stcd,v3); |
| | | |
| | | } |
| | | } |
| | | if (m1.size()==0){ |
| | | text += "暂无涨幅信息。"; |
| | | } |
| | | else { |
| | | //获取涨幅最大的信息 |
| | | if (m1.size() != 0) { |
| | | 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 + "米)。"; |
| | | } |
| | | // //如果最大时间大于最小时间就是涨幅 |
| | | // 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); |
| | |
| | | List blist = new ArrayList(); |
| | | //河道超警信息 |
| | | List<Map<String, Object>> selecthd = riverRService.selecthdt(dateBegin24,time); |
| | | Map<String, Object> sel = riverRService.sel(); |
| | | selecthd.add(sel); |
| | | //Map<String, Object> sel = riverRService.sel(); |
| | | //selecthd.add(sel); |
| | | List<Map<String, Object>> list1 = riverRService.selectP(); |
| | | //用来判断是否重复统计超警信息 |
| | | Map mnum = new HashMap(); |
| | |
| | | texta +=stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、"; |
| | | if (v<0){ |
| | | texta+="比昨日8时下跌"+Math.abs(v)+"米、"; |
| | | } |
| | | else { |
| | | } else { |
| | | texta+="比昨日8时上涨"+Math.abs(v)+"米、"; |
| | | } |
| | | if (selecthd.get(i).get("Q")==null){ |
| | |
| | | texta +=stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、"; |
| | | if (v<0){ |
| | | texta+="比昨日8时下跌"+Math.abs(v)+"米、"; |
| | | } |
| | | else { |
| | | } else { |
| | | texta+="比昨日8时上涨"+Math.abs(v)+"米、"; |
| | | } |
| | | if (selecthd.get(i).get("Q")==null){ |
| | | texta+="流量暂无数据;"; |
| | | } |
| | | else { |
| | | } else { |
| | | //DecimalFormat dfl = new DecimalFormat("#0.000"); |
| | | texta+="流量"+Q+"立方米每秒;"; |
| | | } |
| | |
| | | texta += "。" + stnm.replaceAll(" ", "") + "站超出警戒水位" + dfc.format(v3) + "米、"+ "水位" + dfc.format(Z) + "米、"; |
| | | if (v<0){ |
| | | texta+="比昨日8时下跌"+Math.abs(v)+"米、"; |
| | | } |
| | | else { |
| | | } else { |
| | | texta+="比昨日8时上涨"+Math.abs(v)+"米、"; |
| | | } |
| | | if (selecthd.get(i).get("Q")==null){ |
| | | texta+="流量暂无数据、"; |
| | | } |
| | | else { |
| | | } else { |
| | | DecimalFormat dfl = new DecimalFormat("#0.000"); |
| | | texta+="流量"+Q+"立方米每秒;"; |
| | | } |
| | |
| | | list.add(m); |
| | | return R.data(list); |
| | | } |
| | | |
| | | /** |
| | | * 河道实时预警 |
| | | * |
| | | * @return |
| | | */ |
| | | @ApiLog("河道实时预警") |
| | |
| | | List<Map<String, Object>> list; |
| | | if(k==13){ |
| | | list= riverRService.selecthdyj(times,dateEnd); |
| | | } |
| | | else { |
| | | } else { |
| | | list= riverRService.selecthdyj(times,dateEnd); |
| | | } |
| | | List<Map<String, Object>> lists = new ArrayList<>(); |
| | |
| | | int i1 = b.intValue(); |
| | | if(i1==0){ |
| | | list.get(i).put("yuc","无预警"); |
| | | } |
| | | else { |
| | | } else { |
| | | BigDecimal bigDecimalz = (BigDecimal) list.get(i).get("Z");//实时水位 |
| | | BigDecimal bigDecimalw = (BigDecimal) list.get(i).get("WRZ");//警戒水位 |
| | | double wrz = bigDecimalw.doubleValue();//警戒水位 |
| | |
| | | Double ty= (Double) list.get(i).get("ty"); |
| | | if(z<wrz || wrz==0){ |
| | | list.get(i).put("yuc","无预警"); |
| | | } |
| | | else if(z>=wrz && z<fy){ |
| | | } else if (z >= wrz && z < fy) { |
| | | list.get(i).put("yuc","蓝色预警"); |
| | | } |
| | | else if(z>=fy && z<oy){ |
| | | } else if (z >= fy && z < oy) { |
| | | list.get(i).put("yuc","黄色预警"); |
| | | } |
| | | else if(z>=oy && z<ty){ |
| | | } else if (z >= oy && z < ty) { |
| | | list.get(i).put("yuc","橙色预警"); |
| | | } |
| | | else { |
| | | } else { |
| | | list.get(i).put("yuc","红色预警"); |
| | | } |
| | | } |
| | |
| | | } |
| | | return R.data(lists); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |