Commit 55ce7f83 by xuchengsi

加入馈线id

parent 683131a1
......@@ -5,6 +5,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class AvailCapMain {
......@@ -388,6 +389,16 @@ public class AvailCapMain {
System.out.println(feederNames.size());
break;
}
case "allFeederNameId": {
// allFeederNameId为查询所有馈线名称和id对应关系。args[1]为存储所有馈线数据的数据库文件的路径
// feederIdToName为馈线id到名称的映射,feederNameToId为馈线名称到id的映射
SqliteDb sqliteDb = new SqliteDb(args[1]);
FeederNameId feederNameId = sqliteDb.queryAllFeederNameId(allFeederNameTable);
Map<Integer, String> feederIdToName = feederNameId.getFeederIdToName();
Map<String, Integer> feederNameToId = feederNameId.getFeederNameToId();
System.out.println(feederIdToName.size() + "," + feederNameToId.size());
break;
}
case "allPsWarnDev": {
// allPsWarnDev为查询所有馈线设备预警数量。args[1]为存储所有馈线数据的数据库文件的路径
// hardLineNum为重载线路数量,overLineNum为超载线路数量,hardTfNum为重载配变数量,overTfNum为超载配变数量
......
......@@ -248,7 +248,8 @@ public class AvailCapModel {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
if (!sqliteDb.existTable(tableName)) {
String initSql = "CREATE TABLE " + tableName + " (" +
" feeder varchar(200) NOT NULL" +
" feederId INTEGER NOT NULL," +
" feederName varchar(200) NOT NULL" +
")";
sqliteDb.initDb(initSql);
// 清空表格
......@@ -263,12 +264,13 @@ public class AvailCapModel {
* @param tableName 表名
*/
public void saveAllFeederNameTable(String allPsDbFile, String tableName, String feederName) {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
SqliteDb allPsDb = new SqliteDb(allPsDbFile);
int feederId = allPsDb.queryMaxFeederId(tableName) + 1;
List<String> sqls = new LinkedList<>();
String insertSql = "insert into " + tableName + " values(" +
"'" + feederName + "')";
feederId + ",'" + feederName + "')";
sqls.add(insertSql);
sqliteDb.executeSqls(sqls);
allPsDb.executeSqls(sqls);
sqls.clear();
}
......
package com.jinyun.cap;
import java.util.HashMap;
import java.util.Map;
public class FeederNameId {
Map<Integer, String> feederIdToName = new HashMap<>();
Map<String, Integer> feederNameToId = new HashMap<>();
public Map<Integer, String> getFeederIdToName() {
return feederIdToName;
}
public void setFeederIdToName(Map<Integer, String> feederIdToName) {
this.feederIdToName = feederIdToName;
}
public Map<String, Integer> getFeederNameToId() {
return feederNameToId;
}
public void setFeederNameToId(Map<String, Integer> feederNameToId) {
this.feederNameToId = feederNameToId;
}
}
......@@ -1599,7 +1599,7 @@ public class SqliteDb {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
feederNames.add(rs.getString("feeder"));
feederNames.add(rs.getString("feederName"));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
......@@ -1615,6 +1615,70 @@ public class SqliteDb {
}
/**
* 查询所有馈线id和名称对应关系
* @param tableName 表名
* @return
*/
public FeederNameId queryAllFeederNameId(String tableName) {
FeederNameId feederNameId = new FeederNameId();
Connection conn = createConn();
String sql = "select * from " + tableName;
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("feederId");
String name = rs.getString("feederName");
feederNameId.feederIdToName.put(id, name);
feederNameId.feederNameToId.put(name, id);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
} catch (SQLException e) {
}
}
return feederNameId;
}
/**
* 查询馈线最大Id
* @param tableName 表名
* @return
*/
public int queryMaxFeederId(String tableName) {
int maxFeederId = 0;
Connection conn = createConn();
String sql;
sql = "select max(feederId) as maxFeederId from " + tableName;
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
maxFeederId = rs.getInt("maxFeederId");
}
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
} catch (SQLException e) {
}
}
return maxFeederId;
}
/**
* 按照过载类型和设备类型,查询预警设备数量
* @param tableName 表名
* @return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论