Commit 4801bc88 by xuchengsi

修改馈线id

parent 55ce7f83
package com.jinyun.cap;//package availCap; package com.jinyun.cap;//package availCap;
import zju.devmodel.MapObject;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
...@@ -39,7 +41,23 @@ public class AvailCapMain { ...@@ -39,7 +41,23 @@ public class AvailCapMain {
case "parseData": case "parseData":
// parseData为解析数据文件和存库操作,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为线路电流历史数据文件夹的路径 // parseData为解析数据文件和存库操作,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为线路电流历史数据文件夹的路径
// args[4]为开关历史数据文件夹的路径,args[5]为线路参数.csv格式文件数据,args[6]为公变历史数据文件夹的路径, // args[4]为开关历史数据文件夹的路径,args[5]为线路参数.csv格式文件数据,args[6]为公变历史数据文件夹的路径,
// args[7]为公变参数文件的路径,args[8]为存储所有馈线数据的数据库文件的路径,args[9]为变电站名称 // args[7]为公变参数文件的路径,args[8]为存储所有馈线数据的数据库文件的路径,args[9]为变电站名称,args[10]为.xml文件的路径
// 馈线名称和id
JyPowerSystem ps = new JyPowerSystem();
try {
ps.loadFromCimXML(new FileInputStream(new File(args[10])));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
List<MapObject> feederObjs = ps.getResourceByClassId("FEEDER");
String feederMRID = null;
String feederName = null;
for (MapObject feeder: feederObjs) {
if (feeder.getProperty("ISCURRENTFEEDER").equals("true")) {
feederMRID = feeder.getProperty("MRID");
feederName = feeder.getProperty("NAME");
}
}
HistoryData.createLineCurrentTable(args[1] + "\\" + args[2] + ".db", args[2] + lineITableName); HistoryData.createLineCurrentTable(args[1] + "\\" + args[2] + ".db", args[2] + lineITableName);
HistoryData.parseLineCurrent(args[2] + lineITableName, args[3], args[1] + "\\" + args[2] + ".db"); HistoryData.parseLineCurrent(args[2] + lineITableName, args[3], args[1] + "\\" + args[2] + ".db");
HistoryData.createSwitchTable(args[1] + "\\" + args[2] + ".db", args[2] + switchTableName); HistoryData.createSwitchTable(args[1] + "\\" + args[2] + ".db", args[2] + switchTableName);
...@@ -69,7 +87,7 @@ public class AvailCapMain { ...@@ -69,7 +87,7 @@ public class AvailCapMain {
// 存储所有馈线名称 // 存储所有馈线名称
AvailCapModel availCapModel = new AvailCapModel(); AvailCapModel availCapModel = new AvailCapModel();
availCapModel.createAllFeederNameTable(args[8], allFeederNameTable); availCapModel.createAllFeederNameTable(args[8], allFeederNameTable);
availCapModel.saveAllFeederNameTable(args[8], allFeederNameTable, args[2]); availCapModel.saveAllFeederNameTable(args[8], allFeederNameTable, feederMRID, feederName);
// 存储变电站名称 // 存储变电站名称
availCapModel.createSubStationNameTable(args[1] + "\\" + args[2] + ".db", args[2] + substationTableName); availCapModel.createSubStationNameTable(args[1] + "\\" + args[2] + ".db", args[2] + substationTableName);
availCapModel.saveSubstationName(args[2] + substationTableName, availCapModel.saveSubstationName(args[2] + substationTableName,
...@@ -79,7 +97,7 @@ public class AvailCapMain { ...@@ -79,7 +97,7 @@ public class AvailCapMain {
// calAvailCap为计算可接入容量操作,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件的路径 // calAvailCap为计算可接入容量操作,args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件的路径
SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db"); SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db");
String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)}; String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)};
JyPowerSystem ps = new JyPowerSystem(sourceStationNames); ps = new JyPowerSystem(sourceStationNames);
try { try {
ps.loadFromCimXML(new FileInputStream(new File(args[3]))); ps.loadFromCimXML(new FileInputStream(new File(args[3])));
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
...@@ -104,7 +122,7 @@ public class AvailCapMain { ...@@ -104,7 +122,7 @@ public class AvailCapMain {
// warnDev为设备预警分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件的路径 // warnDev为设备预警分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为.xml文件的路径
SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db"); SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db");
String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)}; String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)};
JyPowerSystem ps = new JyPowerSystem(sourceStationNames); ps = new JyPowerSystem(sourceStationNames);
try { try {
ps.loadFromCimXML(new FileInputStream(new File(args[3]))); ps.loadFromCimXML(new FileInputStream(new File(args[3])));
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
...@@ -139,7 +157,7 @@ public class AvailCapMain { ...@@ -139,7 +157,7 @@ public class AvailCapMain {
// args[4]为负荷容量,args[5]为负荷特征(1为峰用电,2为谷用电,3为峰谷用电),args[6]为存储所有馈线数据的数据库文件的路径 // args[4]为负荷容量,args[5]为负荷特征(1为峰用电,2为谷用电,3为峰谷用电),args[6]为存储所有馈线数据的数据库文件的路径
SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db"); SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db");
String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)}; String[] sourceStationNames = new String[]{sqliteDb.querySubstationName(args[2] + substationTableName)};
JyPowerSystem ps = new JyPowerSystem(sourceStationNames); ps = new JyPowerSystem(sourceStationNames);
try { try {
ps.loadFromCimXML(new FileInputStream(new File(args[3] + "\\" + args[2] + "单线图.sln.xml"))); ps.loadFromCimXML(new FileInputStream(new File(args[3] + "\\" + args[2] + "单线图.sln.xml")));
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
...@@ -394,8 +412,8 @@ public class AvailCapMain { ...@@ -394,8 +412,8 @@ public class AvailCapMain {
// feederIdToName为馈线id到名称的映射,feederNameToId为馈线名称到id的映射 // feederIdToName为馈线id到名称的映射,feederNameToId为馈线名称到id的映射
SqliteDb sqliteDb = new SqliteDb(args[1]); SqliteDb sqliteDb = new SqliteDb(args[1]);
FeederNameId feederNameId = sqliteDb.queryAllFeederNameId(allFeederNameTable); FeederNameId feederNameId = sqliteDb.queryAllFeederNameId(allFeederNameTable);
Map<Integer, String> feederIdToName = feederNameId.getFeederIdToName(); Map<String, String> feederIdToName = feederNameId.getFeederIdToName();
Map<String, Integer> feederNameToId = feederNameId.getFeederNameToId(); Map<String, String> feederNameToId = feederNameId.getFeederNameToId();
System.out.println(feederIdToName.size() + "," + feederNameToId.size()); System.out.println(feederIdToName.size() + "," + feederNameToId.size());
break; break;
} }
......
...@@ -248,7 +248,7 @@ public class AvailCapModel { ...@@ -248,7 +248,7 @@ public class AvailCapModel {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile); SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
if (!sqliteDb.existTable(tableName)) { if (!sqliteDb.existTable(tableName)) {
String initSql = "CREATE TABLE " + tableName + " (" + String initSql = "CREATE TABLE " + tableName + " (" +
" feederId INTEGER NOT NULL," + " feederId varchar(200) NOT NULL," +
" feederName varchar(200) NOT NULL" + " feederName varchar(200) NOT NULL" +
")"; ")";
sqliteDb.initDb(initSql); sqliteDb.initDb(initSql);
...@@ -263,12 +263,11 @@ public class AvailCapModel { ...@@ -263,12 +263,11 @@ public class AvailCapModel {
* @param allPsDbFile 数据库路径 * @param allPsDbFile 数据库路径
* @param tableName 表名 * @param tableName 表名
*/ */
public void saveAllFeederNameTable(String allPsDbFile, String tableName, String feederName) { public void saveAllFeederNameTable(String allPsDbFile, String tableName, String feederMRID, String feederName) {
SqliteDb allPsDb = new SqliteDb(allPsDbFile); SqliteDb allPsDb = new SqliteDb(allPsDbFile);
int feederId = allPsDb.queryMaxFeederId(tableName) + 1;
List<String> sqls = new LinkedList<>(); List<String> sqls = new LinkedList<>();
String insertSql = "insert into " + tableName + " values(" + String insertSql = "insert into " + tableName + " values(" +
feederId + ",'" + feederName + "')"; "'" + feederMRID + "','" + feederName + "')";
sqls.add(insertSql); sqls.add(insertSql);
allPsDb.executeSqls(sqls); allPsDb.executeSqls(sqls);
sqls.clear(); sqls.clear();
......
...@@ -4,22 +4,22 @@ import java.util.HashMap; ...@@ -4,22 +4,22 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class FeederNameId { public class FeederNameId {
Map<Integer, String> feederIdToName = new HashMap<>(); Map<String, String> feederIdToName = new HashMap<>();
Map<String, Integer> feederNameToId = new HashMap<>(); Map<String, String> feederNameToId = new HashMap<>();
public Map<Integer, String> getFeederIdToName() { public Map<String, String> getFeederIdToName() {
return feederIdToName; return feederIdToName;
} }
public void setFeederIdToName(Map<Integer, String> feederIdToName) { public void setFeederIdToName(Map<String, String> feederIdToName) {
this.feederIdToName = feederIdToName; this.feederIdToName = feederIdToName;
} }
public Map<String, Integer> getFeederNameToId() { public Map<String, String> getFeederNameToId() {
return feederNameToId; return feederNameToId;
} }
public void setFeederNameToId(Map<String, Integer> feederNameToId) { public void setFeederNameToId(Map<String, String> feederNameToId) {
this.feederNameToId = feederNameToId; this.feederNameToId = feederNameToId;
} }
} }
...@@ -1629,7 +1629,7 @@ public class SqliteDb { ...@@ -1629,7 +1629,7 @@ public class SqliteDb {
stmt = conn.createStatement(); stmt = conn.createStatement();
rs = stmt.executeQuery(sql); rs = stmt.executeQuery(sql);
while (rs.next()) { while (rs.next()) {
int id = rs.getInt("feederId"); String id = rs.getString("feederId");
String name = rs.getString("feederName"); String name = rs.getString("feederName");
feederNameId.feederIdToName.put(id, name); feederNameId.feederIdToName.put(id, name);
feederNameId.feederNameToId.put(name, id); feederNameId.feederNameToId.put(name, id);
...@@ -1648,37 +1648,6 @@ public class SqliteDb { ...@@ -1648,37 +1648,6 @@ public class SqliteDb {
} }
/** /**
* 查询馈线最大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 表名 * @param tableName 表名
* @return * @return
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论