| | |
| | | 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); |
| | | 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); |
| | | // 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(); |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | } |
| | | if (stnm.equals("廖坊")) { |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | alist.add(map.get(i)); |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | } |
| | | if (stnm.equals("廖坊")) { |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | alist.add(map.get(i)); |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | } |
| | | if (stnm.equals("廖坊")) { |
| | |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0.000"); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | //DecimalFormat df = new DecimalFormat("#0"); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | } |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | blist.add(map.get(i)); |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | blist.add(map.get(i)); |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texta += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texta += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texta += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texta += "出库流量" + OTQ + "立方米每秒;"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texta += "出库流量" + vc + "立方米每秒;"; |
| | | } |
| | | // texta += "汛限水位暂无数据;"; |
| | | } else if (stnm.equals("廖坊")) { |
| | |
| | | } else { |
| | | BigDecimal inq = (BigDecimal) map.get(i).get("INQ"); |
| | | double INQ = inq.doubleValue(); |
| | | texth += "入库流量" + INQ + "立方米每秒、"; |
| | | String vc = formatSignificantDigit(INQ); |
| | | texth += "入库流量" + vc + "立方米每秒、"; |
| | | } |
| | | if (map.get(i).get("W") == null) { |
| | | texth += "蓄水量暂无数据、"; |
| | |
| | | } else { |
| | | BigDecimal otq = (BigDecimal) map.get(i).get("OTQ"); |
| | | double OTQ = otq.doubleValue(); |
| | | texth += "出库流量" + OTQ + "立方米每秒。"; |
| | | String vc = formatSignificantDigit(OTQ); |
| | | texth += "出库流量" + vc + "立方米每秒。"; |
| | | } |
| | | } |
| | | } |
| | |
| | | return R.data(lists); |
| | | } |
| | | |
| | | public static int magnitude(Double price){ |
| | | if (price == 0.0) {return 0;} |
| | | int fac; |
| | | Long i; |
| | | Long k = 10L; |
| | | if (price > 1) { |
| | | i = price.longValue(); |
| | | fac = 0; |
| | | while (i / k != 0L) { |
| | | fac++; |
| | | k *= 10; |
| | | } |
| | | } else { |
| | | fac = -1; |
| | | while (price * k < 1) { |
| | | fac--; |
| | | k *= 10; |
| | | } |
| | | } |
| | | return fac; |
| | | } |
| | | /** |
| | | * 数字格式化 - 最少保留{num}位有效数字 - 保留 {min}~{max} 为小数 - format02 |
| | | */ |
| | | public static String formatSignificantDigit(Double price) { |
| | | int min = 2; |
| | | int max= 8; |
| | | int num = 3; |
| | | boolean sign = false; |
| | | Double rate = 1.0; |
| | | Double value = price * rate; |
| | | int level = magnitude(Math.abs(value)); |
| | | int count = Math.max(min, Math.min(max, num - level - 1)); |
| | | return String.format("%"+(sign?"+": "")+"."+count + "f", value); |
| | | } |
| | | |
| | | } |
| | | |