|
@@ -12,21 +12,20 @@ import javax.servlet.http.HttpSession;
|
|
|
import java.sql.*;
|
|
|
import java.util.*;
|
|
|
|
|
|
-
|
|
|
+@SuppressWarnings("unchecked")
|
|
|
public class DbUtil {
|
|
|
- private static final Logger log= LoggerFactory.getLogger(DbUtil.class);
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(DbUtil.class);
|
|
|
private static Connection conn = null;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
private final static String url = "jdbc:postgresql://10.100.68.195:5432/sqmmt";
|
|
|
private final static String user = "pmparse";
|
|
|
private final static String password = "abc123!";
|
|
|
|
|
|
-
|
|
|
static {
|
|
|
try {
|
|
|
conn = DriverManager.getConnection(url, user, password);
|
|
@@ -34,82 +33,76 @@ public class DbUtil {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- public static Map<String, String> initZnEnMap()
|
|
|
- {
|
|
|
- String sql = "select distinct indicator_en,indicator_cn from pm_parse.per_cfg_indicator;";
|
|
|
- Map<String, String> m = new HashMap();
|
|
|
- m.put("cellname", "小区中文名");
|
|
|
- m.put("city", "地市");
|
|
|
- m.put("quxian", "区县");
|
|
|
- m.put("vendor", "厂家");
|
|
|
- try
|
|
|
- {
|
|
|
- PreparedStatement psmt = null;
|
|
|
- psmt = conn.prepareStatement(sql);
|
|
|
- psmt.setQueryTimeout(600);
|
|
|
- ResultSet rs = psmt.executeQuery();
|
|
|
- while (rs.next()) {
|
|
|
- m.put(rs.getString("indicator_en"), rs.getString("indicator_cn"));
|
|
|
+
|
|
|
+ public static Map<String, String> initZnEnMap() {
|
|
|
+ String sql = "select distinct indicator_en,indicator_cn from pm_parse.per_cfg_indicator;";
|
|
|
+ Map<String, String> m = new HashMap<>();
|
|
|
+ m.put("cellname", "小区中文名");
|
|
|
+ m.put("city", "地市");
|
|
|
+ m.put("quxian", "区县");
|
|
|
+ m.put("vendor", "厂家");
|
|
|
+ try {
|
|
|
+ PreparedStatement psmt = null;
|
|
|
+ psmt = conn.prepareStatement(sql);
|
|
|
+ psmt.setQueryTimeout(600);
|
|
|
+ ResultSet rs = psmt.executeQuery();
|
|
|
+ while (rs.next()) {
|
|
|
+ m.put(rs.getString("indicator_en"), rs.getString("indicator_cn"));
|
|
|
+ }
|
|
|
+ } catch (SQLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- }
|
|
|
- catch (SQLException e)
|
|
|
- {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return m;
|
|
|
+ return m;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- public static RetData conditionRenderTable(String condition, String searchType, String indicators, String ttype, String sdate)
|
|
|
- {
|
|
|
- Map<String, String> ezMap = initZnEnMap();
|
|
|
- String[] timeArray = sdate.split(" - ");
|
|
|
- String startTime = timeArray[0];
|
|
|
- String endTime = timeArray[1];
|
|
|
- String sql = "select a.cellname,a.city,a.quxian,a.vendor,b.* from \n(select eci,cellname,city,quxian,vendor from pm_parse.per_cfg_cell where " + searchType + " in (" + condition + ")) a\ninner join \n(select " + indicators + " from pm_parse.pm_4g_" + ttype + " where sdate>='" + startTime + "' and sdate <= '" + endTime + "') b\n" + "on a.eci=b.eci";
|
|
|
-
|
|
|
- if ("all".equals(searchType)) {
|
|
|
- sql = "select a.cellname,a.city,a.quxian,a.vendor,b.* from pm_parse.per_cfg_cell a\ninner join \n(select " + indicators + " from pm_parse.pm_4g_" + ttype + " where sdate>='" + startTime + "' and sdate <= '" + endTime + "') b\n" + "on a.eci=b.eci";
|
|
|
- }
|
|
|
-
|
|
|
- List<Map<String, String>> datas = new ArrayList();
|
|
|
- List<Col> cols = new ArrayList();
|
|
|
- try
|
|
|
- {
|
|
|
- PreparedStatement psmt = null;
|
|
|
- psmt = conn.prepareStatement(sql);
|
|
|
- psmt.setQueryTimeout(600);
|
|
|
- ResultSet rs = psmt.executeQuery();
|
|
|
- ResultSetMetaData rsmd = rs.getMetaData();
|
|
|
- List<String> heads = new ArrayList();
|
|
|
- String columnName;
|
|
|
- for (int i = 1; i <= rsmd.getColumnCount(); i++)
|
|
|
- {
|
|
|
- columnName = rsmd.getColumnName(i);
|
|
|
- heads.add(columnName);
|
|
|
- cols.add(new Col(columnName, (String)ezMap.get(columnName)));
|
|
|
+
|
|
|
+ public static RetData conditionRenderTable(String condition, String searchType, String indicators, String ttype,
|
|
|
+ String sdate) {
|
|
|
+ Map<String, String> ezMap = initZnEnMap();
|
|
|
+ String[] timeArray = sdate.split(" - ");
|
|
|
+ String startTime = timeArray[0];
|
|
|
+ String endTime = timeArray[1];
|
|
|
+ String sql = "select a.cellname,a.city,a.quxian,a.vendor,b.* from \n(select eci,cellname,city,quxian,vendor from pm_parse.per_cfg_cell where "
|
|
|
+ + searchType + " in (" + condition + ")) a\ninner join \n(select " + indicators
|
|
|
+ + " from pm_parse.pm_4g_" + ttype + " where sdate>='" + startTime + "' and sdate <= '" + endTime
|
|
|
+ + "') b\n" + "on a.eci=b.eci";
|
|
|
+
|
|
|
+ if ("all".equals(searchType)) {
|
|
|
+ sql = "select a.cellname,a.city,a.quxian,a.vendor,b.* from pm_parse.per_cfg_cell a\ninner join \n(select "
|
|
|
+ + indicators + " from pm_parse.pm_4g_" + ttype + " where sdate>='" + startTime + "' and sdate <= '"
|
|
|
+ + endTime + "') b\n" + "on a.eci=b.eci";
|
|
|
}
|
|
|
- while (rs.next())
|
|
|
- {
|
|
|
- Map<String, String> m = new HashMap();
|
|
|
- for (String head : heads)
|
|
|
- {
|
|
|
- String string = rs.getString(head);
|
|
|
- m.put(head, string);
|
|
|
- }
|
|
|
- datas.add(m);
|
|
|
+
|
|
|
+ List<Map<String, String>> datas = new ArrayList<>();
|
|
|
+ List<Col> cols = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ PreparedStatement psmt = null;
|
|
|
+ psmt = conn.prepareStatement(sql);
|
|
|
+ psmt.setQueryTimeout(600);
|
|
|
+ ResultSet rs = psmt.executeQuery();
|
|
|
+ ResultSetMetaData rsmd = rs.getMetaData();
|
|
|
+ List<String> heads = new ArrayList<>();
|
|
|
+ String columnName;
|
|
|
+ for (int i = 1; i <= rsmd.getColumnCount(); i++) {
|
|
|
+ columnName = rsmd.getColumnName(i);
|
|
|
+ heads.add(columnName);
|
|
|
+ cols.add(new Col(columnName, (String) ezMap.get(columnName)));
|
|
|
+ }
|
|
|
+ while (rs.next()) {
|
|
|
+ Map<String, String> m = new HashMap<>();
|
|
|
+ for (String head : heads) {
|
|
|
+ String string = rs.getString(head);
|
|
|
+ m.put(head, string);
|
|
|
+ }
|
|
|
+ datas.add(m);
|
|
|
+ }
|
|
|
+ } catch (SQLException e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- }
|
|
|
- catch (SQLException e)
|
|
|
- {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return new RetData(cols, datas);
|
|
|
+ return new RetData(cols, datas);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- public static RetData renderTable(String citys, String quxians, String indicators, String ttype, String sdate, HttpSession session) {
|
|
|
+
|
|
|
+ public static RetData renderTable(String citys, String quxians, String indicators, String ttype, String sdate,
|
|
|
+ HttpSession session) {
|
|
|
log.debug("indicators: {}", indicators);
|
|
|
log.debug("citys: {}", citys);
|
|
|
log.debug("quxians: {}", quxians);
|
|
@@ -141,8 +134,8 @@ public class DbUtil {
|
|
|
"' and sdate <= '" + endTime + "') b\n" +
|
|
|
"on a.eci=b.eci";
|
|
|
|
|
|
- if(indicators.contains("eci")){
|
|
|
- sql="select b.* from \n" +
|
|
|
+ if (indicators.contains("eci")) {
|
|
|
+ sql = "select b.* from \n" +
|
|
|
"(select eci from pm_parse.per_cfg_cell where quxian in (" + quxians + ")) a\n" +
|
|
|
"inner join \n" +
|
|
|
"(select " + indicators + " from pm_parse.pm_4g_" + ttype +
|
|
@@ -160,8 +153,7 @@ public class DbUtil {
|
|
|
ResultSetMetaData rsmd = rs.getMetaData();
|
|
|
List<String> heads = new ArrayList<>();
|
|
|
|
|
|
-
|
|
|
- for (int i = 1; i <=rsmd.getColumnCount(); i++) {
|
|
|
+ for (int i = 1; i <= rsmd.getColumnCount(); i++) {
|
|
|
String columnName = rsmd.getColumnName(i);
|
|
|
heads.add(columnName);
|
|
|
cols.add(new Col(columnName, columnName));
|
|
@@ -184,7 +176,7 @@ public class DbUtil {
|
|
|
String sql = "select distinct * from pm_parse.per_cfg_area order by city,quxian";
|
|
|
PreparedStatement psmt = null;
|
|
|
TreeNode allTree = new TreeNode("地市选择", "地市选择", new ArrayList<>());
|
|
|
- int i = 0;
|
|
|
+
|
|
|
try {
|
|
|
psmt = conn.prepareStatement(sql);
|
|
|
psmt.setQueryTimeout(60 * 10);
|
|
@@ -206,7 +198,6 @@ public class DbUtil {
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
for (String s : m.keySet()) {
|
|
|
allTree.getChildren().add(new TreeNode(s, s, m.get(s)));
|
|
|
}
|
|
@@ -221,7 +212,8 @@ public class DbUtil {
|
|
|
}
|
|
|
|
|
|
public static List<TreeNode> initTreeIndicator() {
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
String sql = "select distinct * from pm_parse.per_cfg_indicator order by indicator_id,indicator_type,indicator_cn,indicator_en";
|
|
|
PreparedStatement psmt = null;
|
|
|
TreeNode allTree = new TreeNode("指标选择", "指标选择", new ArrayList<>());
|
|
@@ -245,7 +237,7 @@ public class DbUtil {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- int i = 0;
|
|
|
+
|
|
|
for (String s : m.keySet()) {
|
|
|
allTree.getChildren().add(new TreeNode(s, s, m.get(s)));
|
|
|
}
|
|
@@ -259,301 +251,329 @@ public class DbUtil {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
public static Object userLogin(String username, String password, HttpSession session) {
|
|
|
|
|
@@ -579,7 +599,7 @@ public class DbUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
- sql = "select area from pm_parse.user_area where username='" + username +"'";
|
|
|
+ sql = "select area from pm_parse.user_area where username='" + username + "'";
|
|
|
psmt = conn.prepareStatement(sql);
|
|
|
psmt.setQueryTimeout(60 * 10);
|
|
|
rs = psmt.executeQuery();
|
|
@@ -591,7 +611,7 @@ public class DbUtil {
|
|
|
|
|
|
log.debug("areas: {}", map.keySet());
|
|
|
|
|
|
- session.setMaxInactiveInterval(30*60);
|
|
|
+ session.setMaxInactiveInterval(30 * 60);
|
|
|
session.setAttribute("username", username);
|
|
|
session.setAttribute("areas", map);
|
|
|
return 1;
|
|
@@ -722,87 +742,98 @@ public class DbUtil {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|