Commit 469f7fad by xuchengsi

修改线路最大限额

parent d16c4c4d
...@@ -511,7 +511,7 @@ public class AvailCapMain { ...@@ -511,7 +511,7 @@ public class AvailCapMain {
// lineSummer为线路夏季分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为开关mRID // lineSummer为线路夏季分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为开关mRID
// lineRatedICv为线路限额,seasonCluster2为负荷聚类曲线,seasonMax2为最大负荷曲线,cap2为可开放容量 // lineRatedICv为线路限额,seasonCluster2为负荷聚类曲线,seasonMax2为最大负荷曲线,cap2为可开放容量
SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db"); SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(args[2] + oneLineParamTableName, args[3]); double lineRatedI = sqliteDb.queryOneLineSeasonParam(args[2] + oneLineParamTableName, args[3], 1);
double[] lineRatedICv = new double[96]; double[] lineRatedICv = new double[96];
for (int i = 0; i < 96; i++) { for (int i = 0; i < 96; i++) {
lineRatedICv[i] = lineRatedI; lineRatedICv[i] = lineRatedI;
...@@ -530,7 +530,7 @@ public class AvailCapMain { ...@@ -530,7 +530,7 @@ public class AvailCapMain {
// lineWinter为线路冬季分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为开关mRID // lineWinter为线路冬季分析。args[1]为馈线数据库文件夹的路径,args[2]为馈线名称,args[3]为开关mRID
// lineRatedICv为线路限额,seasonCluster4为负荷聚类曲线,seasonMax4为最大负荷曲线,cap4为可开放容量 // lineRatedICv为线路限额,seasonCluster4为负荷聚类曲线,seasonMax4为最大负荷曲线,cap4为可开放容量
SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db"); SqliteDb sqliteDb = new SqliteDb(args[1] + "\\" + args[2] + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(args[2] + oneLineParamTableName, args[3]); double lineRatedI = sqliteDb.queryOneLineSeasonParam(args[2] + oneLineParamTableName, args[3], 2);
double[] lineRatedICv = new double[96]; double[] lineRatedICv = new double[96];
for (int i = 0; i < 96; i++) { for (int i = 0; i < 96; i++) {
lineRatedICv[i] = lineRatedI; lineRatedICv[i] = lineRatedI;
......
...@@ -69,7 +69,9 @@ public class AvailCapModel { ...@@ -69,7 +69,9 @@ public class AvailCapModel {
String initSql = "CREATE TABLE " + tableName + " (" + String initSql = "CREATE TABLE " + tableName + " (" +
" devName varchar(200) NOT NULL," + " devName varchar(200) NOT NULL," +
" mRID varchar(50) NOT NULL," + " mRID varchar(50) NOT NULL," +
" ratedCurrent decimal(6,2) NULL" + " ratedCurrent decimal(6,2) NULL," +
" smRatedI decimal(6,2) NULL," +
" winRatedI decimal(6,2) NULL" +
")"; ")";
sqliteDb.initDb(initSql); sqliteDb.initDb(initSql);
// 清空表格 // 清空表格
...@@ -936,9 +938,18 @@ public class AvailCapModel { ...@@ -936,9 +938,18 @@ public class AvailCapModel {
SqliteDb sqliteDb = new SqliteDb(dbFile); SqliteDb sqliteDb = new SqliteDb(dbFile);
List<String> sqls = new LinkedList<>(); List<String> sqls = new LinkedList<>();
for (Edge e : edges) { for (Edge e : edges) {
double smLimI = e.getLimI();
double winLimI = e.getLimI();
if (e.getType() == 1) {
smLimI = e.getLimI() * JKsm;
winLimI = e.getLimI() * JKwin;
} else if (e.getType() == 2) {
smLimI = e.getLimI() * LGJsm;
winLimI = e.getLimI() * LGJwin;
}
String insertSql = "insert into " + oneLineTableName + " values(" + String insertSql = "insert into " + oneLineTableName + " values(" +
"'" + ps.getResource(e.getEquips().get(0)).getProperty("NAME") + "'" + ps.getResource(e.getEquips().get(0)).getProperty("NAME") +
"','" + e.getEquips().get(0).substring(3) + "'," + e.getLimI() + ")"; "','" + e.getEquips().get(0).substring(3) + "'," + e.getLimI() + "," + smLimI + "," + winLimI + ")";
sqls.add(insertSql); sqls.add(insertSql);
} }
sqliteDb.executeSqls(sqls); sqliteDb.executeSqls(sqls);
......
...@@ -240,32 +240,6 @@ public class SqliteDb { ...@@ -240,32 +240,6 @@ public class SqliteDb {
return mRIDNames; return mRIDNames;
} }
public List<Object> queryData(String tableName, String psId) {
List<Object> objs = new LinkedList<>();
Connection conn = createConn();
String sql = "select * from " + tableName + " where psId='" + psId + "'";
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
Object obj = createObj(tableName, rs);
objs.add(obj);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
} catch (SQLException e) {
}
}
return objs;
}
/** /**
* 查询变电站名称 * 查询变电站名称
* @param tableName 表名 * @param tableName 表名
...@@ -947,7 +921,7 @@ public class SqliteDb { ...@@ -947,7 +921,7 @@ public class SqliteDb {
* @return * @return
*/ */
public double queryOneLineParam(String tableName, String mRID) { public double queryOneLineParam(String tableName, String mRID) {
double oneLineParam = 1000; double oneLineParam = 754;
Connection conn = createConn(); Connection conn = createConn();
String sql = "select * from " + tableName + " where mRID='" + mRID + "'"; String sql = "select * from " + tableName + " where mRID='" + mRID + "'";
Statement stmt = null; Statement stmt = null;
...@@ -972,6 +946,40 @@ public class SqliteDb { ...@@ -972,6 +946,40 @@ public class SqliteDb {
} }
/** /**
* 查询单线夏季、冬季电流限值
* @param tableName 表名
* @return
*/
public double queryOneLineSeasonParam(String tableName, String mRID, int season) {
double oneLineParam = 754;
Connection conn = createConn();
String sql = "select * from " + tableName + " where mRID='" + mRID + "'";
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
if (season == 1) {
oneLineParam = rs.getDouble("smRatedI");
} else {
oneLineParam = rs.getDouble("winRatedI");
}
}
} catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
} catch (SQLException e) {
}
}
return oneLineParam;
}
/**
* 按mRID和季节查询开关或公变可接入容量 * 按mRID和季节查询开关或公变可接入容量
* @param tableName 表名 * @param tableName 表名
* @param mRID mRID * @param mRID mRID
...@@ -1597,8 +1605,4 @@ public class SqliteDb { ...@@ -1597,8 +1605,4 @@ public class SqliteDb {
} }
return maxMinAvailCap; return maxMinAvailCap;
} }
private Object createObj(String tableName, ResultSet rs) throws SQLException {
return null;
}
} }
...@@ -13,7 +13,7 @@ import java.util.* ...@@ -13,7 +13,7 @@ import java.util.*
import javax.xml.parsers.SAXParserFactory import javax.xml.parsers.SAXParserFactory
class TN(var id : String = "", val cns : LinkedList<String> = LinkedList()) class TN(var id : String = "", val cns : LinkedList<String> = LinkedList())
class Edge(val equips : LinkedList<String> = LinkedList(), var limI : Double = 867.0, var type : Int = 1) class Edge(val equips : LinkedList<String> = LinkedList(), var limI : Double = 754.0, var type : Int = 1)
/** /**
* 该类用于管理电网资源(MapObject)的方法 * 该类用于管理电网资源(MapObject)的方法
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论