From a98b1db4392c357304036e8b3cdd01646920300d Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 21 Jul 2022 15:41:23 +0800
Subject: [PATCH] 1.山洪

---
 src/main/java/org/springblade/modules/river/controller/RiverRController.java | 1098 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 750 insertions(+), 348 deletions(-)

diff --git a/src/main/java/org/springblade/modules/river/controller/RiverRController.java b/src/main/java/org/springblade/modules/river/controller/RiverRController.java
index 0244a49..dc064fe 100644
--- a/src/main/java/org/springblade/modules/river/controller/RiverRController.java
+++ b/src/main/java/org/springblade/modules/river/controller/RiverRController.java
@@ -19,7 +19,6 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import liquibase.pro.packaged.S;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.log.annotation.ApiLog;
@@ -32,15 +31,12 @@
 import org.springblade.modules.river.wrapper.RiverRWrapper;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.stream.Collectors;
 
 
 /**
@@ -114,6 +110,669 @@
 		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 + "立方米每秒;";
+//								}
+//							}
+//						}
+//					}
+//				}
+//			}
+//		}
+////		//河道涨幅,跌幅信息
+//		//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);
+//
+//	}
+
+
+	/**
+	 * 河道最新
+	 *
+	 * @return
+	 * @throws ParseException
+	 */
+	@PostMapping("/selecthdt")
+	public R selecthdt() throws ParseException {
+		int w = 1;
+		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		String time = df.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 - w;
+		String hss = time.substring(11, 13);
+		int hs = Integer.parseInt(hss);
+		//前一天的8时
+		//String timec = years + "-" + months + "-" + da + " 08:00:00";
+		SimpleDateFormat sdfs=new SimpleDateFormat("yyyy-MM-dd 08:00:00");
+		Calendar now = Calendar.getInstance();
+		now.setTime(new Date());
+		now.add(Calendar.DAY_OF_MONTH, -1);
+		String timec = sdfs.format(now.getTime());
+		//前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 = "";
+		//定义统计数量
+		int number = 0;
+		//定义List保存警戒信息
+		List alist = new ArrayList();
+		//定义List保存未警戒信息
+		List blist = new ArrayList();
+		//河道超警信息
+		List<Map<String, Object>> selecthd = riverRService.selecthdt(dateBegin24, time, timec);
+		//Map<String, Object> sel = riverRService.sel();
+		//selecthd.add(sel);
+		List<Map<String, Object>> list1 = riverRService.selectP();
+		//用来判断是否重复统计超警信息
+		Map mnum = new HashMap();
+		//查询数据为空
+		if (selecthd.size() == 0) {
+			text += "暂无河道超警信息。廖家湾水位暂无数据,流量暂无数据;娄家村水位暂无数据,流量暂无数据;";
+		}
+		//不为空遍历数据计算是否超出预警值
+		else {
+			for (int i = 0; i < selecthd.size(); i++) {
+				//实时河道水位值
+				BigDecimal z = (BigDecimal) selecthd.get(i).get("Z");
+				double Z = z.doubleValue();
+				//超警戒水位值
+				if (selecthd.get(i).get("WRZ") == null || selecthd.get(i).get("Q") == null) {
+					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) selecthd.get(i).get("Zc");
+						double ZC = zc.doubleValue();
+						double vz = Z - ZC;
+						DecimalFormat dfc = new DecimalFormat("#0.00");
+						String format = dfc.format(vz);
+						double v = Double.parseDouble(format);
+						texta += stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、";
+						if (v < 0) {
+							texta += "比昨日8时下跌" + Math.abs(v) + "米、";
+						} else {
+							texta += "比昨日8时上涨" + Math.abs(v) + "米、";
+						}
+						if (selecthd.get(i).get("Q") == null) {
+							texta += "流量暂无信息;";
+						}
+					}
+					blist.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) {
+					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) selecthd.get(i).get("Zc");
+						double ZC = zc.doubleValue();
+						double vz = Z - ZC;
+						DecimalFormat dfc = new DecimalFormat("#0.00");
+						String format = dfc.format(vz);
+						double v = Double.parseDouble(format);
+						texta += stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、";
+						if (v < 0) {
+							texta += "比昨日8时下跌" + Math.abs(v) + "米、";
+						} else {
+							texta += "比昨日8时上涨" + Math.abs(v) + "米、";
+						}
+						if (selecthd.get(i).get("Q") == null) {
+							texta += "流量暂无数据;";
+						} else {
+							//DecimalFormat dfl = new DecimalFormat("#0.000");
+							double v5 = roundToSignificantFigures(Q, 3);
+							String a = String.valueOf(v5);
+							String s1 = subZeroAndDot(a);
+							texta += "流量" + s1 + "立方米每秒;";
+						}
+					}
+					blist.add(selecthd.get(i));
+				} else {
+					//如果map集合保存了站点则不重复统计数量
+					if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) {
+					} else {
+						alist.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("娄家村")) {
+							String stcd = selecthd.get(i).get("STCD").toString();
+							//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 format = dfc.format(vz);
+							double v = Double.parseDouble(format);
+							texta += "。" + stnm.replaceAll(" ", "") + "站超出警戒水位" + dfc.format(v3) + "米、" + "水位" + dfc.format(Z) + "米、";
+							if (v < 0) {
+								texta += "比昨日8时下跌" + Math.abs(v) + "米、";
+							} else {
+								texta += "比昨日8时上涨" + Math.abs(v) + "米、";
+							}
+							if (selecthd.get(i).get("Q") == null) {
+								texta += "流量暂无数据、";
+							} else {
+								//DecimalFormat dfl = new DecimalFormat("#0.000");
+								//texta += "流量" + Q + "立方米每秒;";
+								double v5 = roundToSignificantFigures(Q, 3);
+								String a = String.valueOf(v5);
+								String s1 = subZeroAndDot(a);
+								texta += "流量" + s1 + "立方米每秒;";
+							}
+						}
+					}
+				}
+			}
+			if (number == 0) {
+				text += "暂无河道超警戒信息。" + texta;
+			} else {
+				text += "有" + number + "个河道站超警戒。" + texta;
+			}
+		}
+		Map m = new HashMap();
+		List list = new ArrayList();
+		m.put("text", text);
+		m.put("number", number);
+		m.put("Yjlist", alist);
+		m.put("list1", list1);
+		m.put("list", blist);
+		list.add(m);
+		return R.data(list);
+	}
+
+	/**
+	 * 河道实时预警
+	 *
+	 * @return
+	 */
+	@ApiLog("河道实时预警")
+	@PostMapping("/selecthdyj")
+	public R selecthdyj(String times, 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);
+		List<Map<String, Object>> list;
+		if (k == 13) {
+			list = riverRService.selecthdyj(times, dateEnd);
+		} else {
+			list = riverRService.selecthdyj(times, dateEnd);
+		}
+		List<Map<String, Object>> lists = new ArrayList<>();
+		for (int i = 0; i < list.size(); i++) {
+			Map<String, Object> maps = new HashMap<String, Object>();
+			BigDecimal b = (BigDecimal) list.get(i).get("Z");
+			int i1 = b.intValue();
+			if (i1 == 0) {
+				list.get(i).put("yuc", "无预警");
+			} else {
+				BigDecimal bigDecimalz = (BigDecimal) list.get(i).get("Z");//实时水位
+				BigDecimal bigDecimalw = (BigDecimal) list.get(i).get("WRZ");//警戒水位
+				double wrz = bigDecimalw.doubleValue();//警戒水位
+				double z = bigDecimalz.doubleValue();//实时水位
+				Double fy = (Double) list.get(i).get("fy");
+				Double oy = (Double) list.get(i).get("oy");
+				Double toy = (Double) list.get(i).get("toy");
+				Double ty = (Double) list.get(i).get("ty");
+				if (z < wrz || wrz == 0) {
+					list.get(i).put("yuc", "无预警");
+				} else if (z >= wrz && z < fy) {
+					list.get(i).put("yuc", "蓝色预警");
+				} else if (z >= fy && z < oy) {
+					list.get(i).put("yuc", "黄色预警");
+				} else if (z >= oy && z < ty) {
+					list.get(i).put("yuc", "橙色预警");
+				} else {
+					list.get(i).put("yuc", "红色预警");
+				}
+			}
+			maps.put("YjList", list.get(i));
+			lists.add(maps);
+		}
+		return R.data(lists);
+	}
+
+
+	/**
+	 * 求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];
+	}
+
+
+	public static double roundToSignificantFigures(double num, int n) {
+
+		if (num == 0) {
+
+			return 0;
+
+		}
+
+		final double d = Math.ceil(Math.log10(num < 0 ? -num : num));
+
+		final int power = n - (int) d;
+
+		final double magnitude = Math.pow(10, power);
+
+		final long shifted = Math.round(num * magnitude);
+
+		return shifted / magnitude;
+
+	}
+
+	public static String subZeroAndDot(String s) {
+		if (s.indexOf(".") > 0) {
+			s = s.replaceAll("0+?$", "");//去掉多余的0
+			s = s.replaceAll("[.]$", "");//如最后一位是.则去掉
+		}
+		return s;
+	}
+
+	//	@PostMapping("/ss")
+//	public void ss() {
+//		String s = riverRService.selectCode();
+//		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);
+//		System.out.println(code);
+//	}
+
+//	/**
+//	 * 河道自定义时间查询
+//	 *
+//	 * @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 t = beginTime.substring(11, 13);
+//		String hs;
+//		if (t.substring(0, 1).equals("0")) {
+//			hs = beginTime.substring(12, 13);
+//		} else {
+//			hs = beginTime.substring(11, 13);
+//		}
+//		String ts = endTime.substring(11, 13);
+//		String hss;
+//		if (ts.substring(0, 1).equals("0")) {
+//			hss = beginTime.substring(12, 13);
+//		} else {
+//			hss = beginTime.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 {
+//									double v5 = roundToSignificantFigures(Q, 3);
+//									String a = String.valueOf(v5);
+//									String s1 = subZeroAndDot(a);
+//									texta += "流量" + s1 + "立方米每秒;";
+//								}
+//							}
+//						}
+//						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");
+//									double v5 = roundToSignificantFigures(Q, 3);
+//									String a = String.valueOf(v5);
+//									String s1 = subZeroAndDot(a);
+//									texta += "流量" + s1 + "立方米每秒;";
+//								}
+//							}
+//						}
+//					}
+//				}
+//
+//			}
+//		}
+//		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);
+//
+//	}
+
 	/**
 	 * 河道自定义时间查询
 	 *
@@ -126,8 +785,20 @@
 	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 t = beginTime.substring(11, 13);
+		String hs;
+		if (t.substring(0, 1).equals("0")) {
+			hs = beginTime.substring(12, 13);
+		} else {
+			hs = beginTime.substring(11, 13);
+		}
+		String ts = endTime.substring(11, 13);
+		String hss;
+		if (ts.substring(0, 1).equals("0")) {
+			hss = beginTime.substring(12, 13);
+		} else {
+			hss = beginTime.substring(11, 13);
+		}
 		//截取月日
 		String[] strs = substring.split("-");
 		//月
@@ -137,18 +808,30 @@
 		//截取月日
 		String[] strss = substrings.split("-");
 		//月
-		String years= strss[1].toString();
+		String years = strss[1].toString();
 		//日
 		String days = strss[2].toString();
 		//定义短信内容头
-		String text = year + "月" + day + "日"+hs+"时"+"-"+years+ "月" + days + "日"+hss+"时";
+		String text = year + "月" + day + "日" + hs + "时" + "-" + years + "月" + days + "日" + hss + "时";
 		String texta = "";
 		//定义统计数量
 		int number = 0;
+		String s = riverRService.selectCode();
+		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>> selecthd = riverRService.selecthd(beginTime, endTime);
-		Map<String, Object> sel = riverRService.sel();
-		selecthd.add(sel);
+		List<Map<String, Object>> selecthd = riverRService.selecthdcss(beginTime, endTime,code);
+		Collections.sort(selecthd, new Comparator<Map<String, Object>>() {
+			public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+				Double name1 = Double.valueOf(o1.get("Z").toString()) ;//name1是从你list里面拿出来的一个
+				Double name2 = Double.valueOf(o2.get("Z").toString()) ; //name1是从你list里面拿出来的第二个name
+				return name2.compareTo(name1);
+			}
+		});
 		//基本站信息
 		List<Map<String, Object>> list1 = riverRService.selectP();
 		//用来判断是否重复统计超警信息
@@ -158,16 +841,36 @@
 		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 {
@@ -199,8 +902,10 @@
 								if (selecthd.get(i).get("Q") == null) {
 									texta += "流量暂无数据";
 								} else {
-									DecimalFormat dfs = new DecimalFormat("#0.000");
-									texta += "流量" + dfs.format(Q) + "立方米每秒;";
+									double v5 = roundToSignificantFigures(Q, 3);
+									String a = String.valueOf(v5);
+									String s1 = subZeroAndDot(a);
+									texta += "流量" + s1 + "立方米每秒;";
 								}
 							}
 						}
@@ -225,363 +930,60 @@
 								if (selecthd.get(i).get("Q") == null) {
 									texta += "流量暂无数据;";
 								} else {
-									DecimalFormat dfs = new DecimalFormat("#0.000");
-									texta += "流量" + dfs.format(Q) + "立方米每秒;";
+									//DecimalFormat dfs = new DecimalFormat("#0.000");
+									double v5 = roundToSignificantFigures(Q, 3);
+									String a = String.valueOf(v5);
+									String s1 = subZeroAndDot(a);
+									texta += "流量" + s1 + "立方米每秒;";
 								}
 							}
 						}
 					}
-					}
-
-			}
-			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);
-			//如果最大时间大于最小时间就是涨幅
-			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 += "暂无涨幅信息。";
+		if (number == 0) {
+			text += "暂无河道超警戒信息。" + texta;
+		} else {
+			text += "有" + number + "个河道站超警戒。" + texta;
 		}
-		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 + "米)。";
+			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);
+		m.put("clist", czf);
 		list.add(m);
 		return R.data(list);
-	}
 
-	/**
-	 * 河道最新
-	 *
-	 * @return
-	 * @throws ParseException
-	 */
-	@PostMapping("/selecthdt")
-	public R selecthdt() throws ParseException {
-		int w=1;
-		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-		String time = df.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-w;
-		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 = "";
-		//定义统计数量
-		int number = 0;
-		//定义List保存警戒信息
-		List alist = new ArrayList();
-		//定义List保存未警戒信息
-		List blist = new ArrayList();
-		//河道超警信息
-		List<Map<String, Object>> selecthd = riverRService.selecthdt(dateBegin24,time);
-		Map<String, Object> sel = riverRService.sel();
-		selecthd.add(sel);
-		List<Map<String, Object>> list1 = riverRService.selectP();
-		//用来判断是否重复统计超警信息
-		Map mnum = new HashMap();
-		//查询数据为空
-		if (selecthd.size() == 0) {
-			text +="暂无河道超警信息。廖家湾水位暂无数据,流量暂无数据;娄家村水位暂无数据,流量暂无数据;";
-		}
-		//不为空遍历数据计算是否超出预警值
-		else {
-			for (int i = 0; i < selecthd.size(); i++) {
-				//实时河道水位值
-				BigDecimal z = (BigDecimal) selecthd.get(i).get("Z");
-				double Z = z.doubleValue();
-				//超警戒水位值
-				if (selecthd.get(i).get("WRZ") == null || selecthd.get(i).get("Q")==null) {
-					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");
-						double ZC = zc.doubleValue();
-						double vz = Z - ZC;
-						DecimalFormat dfc = new DecimalFormat("#0.00");
-						String format = dfc.format(vz);
-						double v = Double.parseDouble(format);
-						texta +=stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、";
-						if (v<0){
-							texta+="比昨日8时下跌"+Math.abs(v)+"米、";
-						}
-						else {
-							texta+="比昨日8时上涨"+Math.abs(v)+"米、";
-						}
-						if (selecthd.get(i).get("Q")==null){
-							texta+="流量暂无信息;";
-						}
-					}
-					blist.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) {
-					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");
-						double ZC = zc.doubleValue();
-						double vz = Z - ZC;
-						DecimalFormat dfc = new DecimalFormat("#0.00");
-						String format = dfc.format(vz);
-						double v = Double.parseDouble(format);
-						texta +=stnm.replaceAll(" ", "") + "水位" + dfc.format(Z) + "米、";
-						if (v<0){
-							texta+="比昨日8时下跌"+Math.abs(v)+"米、";
-						}
-						else {
-							texta+="比昨日8时上涨"+Math.abs(v)+"米、";
-						}
-						if (selecthd.get(i).get("Q")==null){
-							texta+="流量暂无数据;";
-						}
-						else {
-							DecimalFormat dfl = new DecimalFormat("#0.000");
-							texta+="流量"+dfl.format(Q)+"立方米每秒;";
-						}
-					}
-					blist.add(selecthd.get(i));
-				} else {
-					//如果map集合保存了站点则不重复统计数量
-					if (mnum.containsKey(selecthd.get(i).get("STCD").toString()) == true) {
-					} else {
-						alist.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("娄家村")) {
-							String stcd = selecthd.get(i).get("STCD").toString();
-							Map<String, Object> stringObjectMap = riverRService.selectZ(stcd, timec);
-							BigDecimal zc = (BigDecimal) stringObjectMap.get("Z");
-							double ZC = zc.doubleValue();
-							double vz = Z - ZC;
-							DecimalFormat dfc = new DecimalFormat("#0.00");
-							String format = dfc.format(vz);
-							double v = Double.parseDouble(format);
-							texta += "。" + stnm.replaceAll(" ", "") + "站超出警戒水位" + dfc.format(v3) + "米、"+ "水位" + dfc.format(Z) + "米、";
-							if (v<0){
-								texta+="比昨日8时下跌"+Math.abs(v)+"米、";
-							}
-							else {
-								texta+="比昨日8时上涨"+Math.abs(v)+"米、";
-							}
-							if (selecthd.get(i).get("Q")==null){
-								texta+="流量暂无数据、";
-							}
-							else {
-								DecimalFormat dfl = new DecimalFormat("#0.000");
-								texta+="流量"+dfl.format(Q)+"立方米每秒;";
-							}
-						}
-					}
-				}
-			}
-			if (number == 0) {
-				text +="暂无河道超警戒信息。"+texta;
-			} else {
-				text +="有" + number + "个河道站超警戒。" + texta;
-			}
-		}
-		Map m = new HashMap();
-		List list = new ArrayList();
-		m.put("text", text);
-		m.put("number", number);
-		m.put("Yjlist", alist);
-		m.put("list1", list1);
-		m.put("list", blist);
-		list.add(m);
-		return R.data(list);
-	}
-	/**
-	 * 河道实时预警
-	 * @return
-	 */
-	@ApiLog("河道实时预警")
-	@PostMapping("/selecthdyj")
-	public R selecthdyj(String times,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);
-		List<Map<String, Object>> list;
-		if(k==13){
-			list= riverRService.selecthdyj(times,dateEnd);
-		}
-		else {
-			list= riverRService.selecthdyj(times,dateEnd);
-		}
-		List<Map<String, Object>> lists = new ArrayList<>();
-		for (int i =0;i<list.size();i++) {
-			Map<String, Object> maps = new HashMap<String, Object>();
-			BigDecimal b = (BigDecimal) list.get(i).get("Z");
-			int i1 = b.intValue();
-			if(i1==0){
-				list.get(i).put("yuc","无预警");
-			}
-			else {
-				BigDecimal bigDecimalz = (BigDecimal) list.get(i).get("Z");//实时水位
-				BigDecimal bigDecimalw = (BigDecimal) list.get(i).get("WRZ");//警戒水位
-				double wrz = bigDecimalw.doubleValue();//警戒水位
-				double z = bigDecimalz.doubleValue();//实时水位
-				Double fy= (Double) list.get(i).get("fy");
-				Double oy= (Double) list.get(i).get("oy");
-				Double toy= (Double) list.get(i).get("toy");
-				Double ty= (Double) list.get(i).get("ty");
-				if(z<wrz || wrz==0){
-					list.get(i).put("yuc","无预警");
-				}
-				else if(z>=wrz && z<fy){
-					list.get(i).put("yuc","蓝色预警");
-				}
-				else if(z>=fy && z<oy){
-					list.get(i).put("yuc","黄色预警");
-				}
-				else if(z>=oy && z<ty){
-					list.get(i).put("yuc","橙色预警");
-				}
-				else {
-					list.get(i).put("yuc","红色预警");
-				}
-			}
-			maps.put("YjList",list.get(i));
-			lists.add(maps);
-		}
-		return R.data(lists);
 	}
 
 
 
-	/**
-	 * 求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];
-	}
-
+//	@PostMapping("/ss")
+//	public R ss(String beginTime, String endTime) {
+//		String s = riverRService.selectCode();
+//		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>> list = riverRService.selecthdcss(beginTime, endTime, code);
+//		Collections.sort(list, new Comparator<Map<String, Object>>() {
+//			public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+//				Double name1 = Double.valueOf(o1.get("Z").toString()) ;//name1是从你list里面拿出来的一个
+//				Double name2 = Double.valueOf(o2.get("Z").toString()) ; //name1是从你list里面拿出来的第二个name
+//				return name2.compareTo(name1);
+//			}
+//		});
+//		return  R.data(list);
+//	}
 }

--
Gitblit v1.9.3