Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
sparrowzz
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
sgool
sparrowzz
Commits
da37fd99
Commit
da37fd99
authored
Nov 18, 2021
by
xiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加首页、线路信息、负荷接入分析后台接口;数据类部分调用修改
parent
c973180d
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
318 行增加
和
30 行删除
+318
-30
jinyun/availCap/src/main/java/com/jinyun/cap/AvailCapMain.java
+1
-1
jinyun/availCap/src/main/java/com/jinyun/cap/SqliteDb.java
+36
-1
jinyun/web/src/main/java/com/jinyun/web/controller/DataImportController.java
+1
-1
jinyun/web/src/main/java/com/jinyun/web/controller/LoadPosController.java
+43
-9
jinyun/web/src/main/java/com/jinyun/web/controller/LowMarginWarnController.java
+33
-0
jinyun/web/src/main/java/com/jinyun/web/controller/MainPageController.java
+2
-2
jinyun/web/src/main/java/com/jinyun/web/entity/LinePassRateWeb.java
+17
-0
jinyun/web/src/main/java/com/jinyun/web/entity/TfOverLoadRateWeb.java
+21
-0
jinyun/web/src/main/java/com/jinyun/web/service/CapService.java
+163
-15
jinyun/web/src/main/resources/application.yaml
+1
-1
没有找到文件。
jinyun/availCap/src/main/java/com/jinyun/cap/AvailCapMain.java
查看文件 @
da37fd99
...
@@ -550,7 +550,7 @@ public class AvailCapMain {
...
@@ -550,7 +550,7 @@ public class AvailCapMain {
// loadPosSeason为负荷接入分析结果列表,属性substation;feederName;canIn;tfName;phase;time对应界面表格的
// loadPosSeason为负荷接入分析结果列表,属性substation;feederName;canIn;tfName;phase;time对应界面表格的
// 变电站、线路名称、能否接入、接入点、接入相别、分析时间
// 变电站、线路名称、能否接入、接入点、接入相别、分析时间
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]);
SqliteDb
sqliteDb
=
new
SqliteDb
(
args
[
1
]);
List
<
LoadPosSeason
>
loadPosSeason
=
sqliteDb
.
queryLoadPosSeason
(
loadPosTable
,
1
);
List
<
LoadPosSeason
>
loadPosSeason
=
sqliteDb
.
queryLoadPosSeason
(
loadPosTable
,
1
,-
1
,-
1
);
System
.
out
.
println
(
loadPosSeason
.
size
());
System
.
out
.
println
(
loadPosSeason
.
size
());
break
;
break
;
}
}
...
...
jinyun/availCap/src/main/java/com/jinyun/cap/SqliteDb.java
查看文件 @
da37fd99
...
@@ -1293,17 +1293,52 @@ public class SqliteDb {
...
@@ -1293,17 +1293,52 @@ public class SqliteDb {
return
tfOverLoadRates
;
return
tfOverLoadRates
;
}
}
/**
* 按季节查询负荷接入分析结果总数
* @param tableName 表名
* @param season 季节
* @return
*/
public
int
queryLoadPosSeasonCount
(
String
tableName
,
int
season
)
{
Connection
conn
=
createConn
();
String
sql
;
sql
=
"select count(*) from "
+
tableName
+
" where season="
+
season
;
Statement
stmt
=
null
;
ResultSet
rs
=
null
;
int
count
=
0
;
try
{
stmt
=
conn
.
createStatement
();
rs
=
stmt
.
executeQuery
(
sql
);
rs
.
next
();
count
=
rs
.
getInt
(
1
);
}
catch
(
SQLException
e
)
{
System
.
out
.
println
(
e
.
getMessage
());
e
.
printStackTrace
();
}
finally
{
try
{
rs
.
close
();
stmt
.
close
();
}
catch
(
SQLException
e
)
{
}
}
return
count
;
}
/**
/**
* 按季节查询负荷接入分析结果总表
* 按季节查询负荷接入分析结果总表
* @param tableName 表名
* @param tableName 表名
* @param season 季节
* @param season 季节
* @return
* @return
*/
*/
public
List
<
LoadPosSeason
>
queryLoadPosSeason
(
String
tableName
,
int
season
)
{
public
List
<
LoadPosSeason
>
queryLoadPosSeason
(
String
tableName
,
int
season
,
int
page
,
int
rows
)
{
List
<
LoadPosSeason
>
loadPosSeasons
=
new
LinkedList
<>();
List
<
LoadPosSeason
>
loadPosSeasons
=
new
LinkedList
<>();
Connection
conn
=
createConn
();
Connection
conn
=
createConn
();
String
sql
;
String
sql
;
sql
=
"select * from "
+
tableName
+
" where season="
+
season
;
sql
=
"select * from "
+
tableName
+
" where season="
+
season
;
if
(
page
>
0
&&
rows
>
0
){
sql
+=
" limit "
+
(
page
-
1
)*
rows
+
","
+
rows
;
}
Statement
stmt
=
null
;
Statement
stmt
=
null
;
ResultSet
rs
=
null
;
ResultSet
rs
=
null
;
try
{
try
{
...
...
jinyun/web/src/main/java/com/jinyun/web/controller/DataImportController.java
查看文件 @
da37fd99
...
@@ -20,7 +20,7 @@ import java.util.List;
...
@@ -20,7 +20,7 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
@Api
(
value
=
"desc of class"
,
tags
=
"DataImport"
,
description
=
"数据导入"
)
@Api
(
value
=
"desc of class"
,
tags
=
"DataImport"
,
description
=
"数据导入"
)
@RestController
//
@RestController
@RequestMapping
(
"import"
)
@RequestMapping
(
"import"
)
public
class
DataImportController
{
public
class
DataImportController
{
@Autowired
@Autowired
...
...
jinyun/web/src/main/java/com/jinyun/web/controller/LoadPosController.java
查看文件 @
da37fd99
...
@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
...
@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -21,30 +23,62 @@ public class LoadPosController {
...
@@ -21,30 +23,62 @@ public class LoadPosController {
@Autowired
@Autowired
CapService
capService
;
CapService
capService
;
@ApiOperation
(
value
=
"接入分析"
,
notes
=
""
)
@ApiOperation
(
value
=
"分析结果列表"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"page"
,
value
=
"页码"
,
dataType
=
"int"
,
paramType
=
"query"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"rows"
,
value
=
"行数"
,
dataType
=
"int"
,
paramType
=
"query"
,
required
=
true
),
})
@RequestMapping
(
value
=
"/loadPosList"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/loadPosList"
,
method
=
RequestMethod
.
GET
)
public
Object
loadPosSeason
()
{
public
Object
loadPosSeason
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"rows"
)
int
rows
)
{
List
result
=
capService
.
loadPosList
();
int
total
=
capService
.
loadPosListCout
();
List
loadPosList
=
new
ArrayList
();
if
(
total
>
0
){
loadPosList
=
capService
.
loadPosList
(
page
,
rows
);
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"total"
,
total
);
result
.
put
(
"rows"
,
loadPosList
);
return
result
;
}
@ApiOperation
(
value
=
"线路名称列表"
,
notes
=
""
)
@RequestMapping
(
value
=
"/lineNameList"
,
method
=
RequestMethod
.
GET
)
public
Object
lineNameList
()
{
List
result
=
capService
.
lineNameList
();
return
result
;
return
result
;
}
}
@ApiOperation
(
value
=
"负荷接入分析"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"lineName"
,
value
=
"线路名称"
,
dataType
=
"string"
,
paramType
=
"query"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"cap"
,
value
=
"负荷容量"
,
dataType
=
"int"
,
paramType
=
"query"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"type"
,
value
=
"负荷特征(1为峰用电,2为谷用电,3为峰谷用电)"
,
dataType
=
"int"
,
paramType
=
"query"
,
required
=
true
),
})
@RequestMapping
(
value
=
"/loadPosAnalysis"
,
method
=
RequestMethod
.
GET
)
public
Object
loadPosAnalysis
(
@RequestParam
(
"lineName"
)
String
lineName
,
@RequestParam
(
"cap"
)
int
cap
,
@RequestParam
(
"type"
)
int
type
)
{
Object
result
=
capService
.
loadPosAnalysis
(
lineName
,
cap
,
type
);
if
(
result
!=
null
)
return
"分析完成"
;
else
return
"分析失败"
;
}
@ApiOperation
(
value
=
"高压负荷接入分析结果"
,
notes
=
""
)
@ApiOperation
(
value
=
"高压负荷接入分析结果"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"
mRID
"
,
value
=
"负荷ID"
,
dataType
=
"string"
,
paramType
=
"query"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"
loadId
"
,
value
=
"负荷ID"
,
dataType
=
"string"
,
paramType
=
"query"
,
required
=
true
),
})
})
@RequestMapping
(
value
=
"/loadPosSw"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/loadPosSw"
,
method
=
RequestMethod
.
GET
)
public
Object
loadPosSw
(
@RequestParam
(
"
mRID"
)
String
mRID
)
{
public
Object
loadPosSw
(
@RequestParam
(
"
loadId"
)
String
loadId
)
{
Object
result
=
capService
.
loadPosSw
(
mRID
);
Object
result
=
capService
.
loadPosSw
(
loadId
);
return
result
;
return
result
;
}
}
@ApiOperation
(
value
=
"低压负荷接入分析结果"
,
notes
=
""
)
@ApiOperation
(
value
=
"低压负荷接入分析结果"
,
notes
=
""
)
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"
mRID
"
,
value
=
"负荷ID"
,
dataType
=
"string"
,
paramType
=
"query"
,
required
=
true
),
@ApiImplicitParam
(
name
=
"
loadId
"
,
value
=
"负荷ID"
,
dataType
=
"string"
,
paramType
=
"query"
,
required
=
true
),
})
})
@RequestMapping
(
value
=
"/loadPosTf"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/loadPosTf"
,
method
=
RequestMethod
.
GET
)
public
Object
loadPosTf
(
@RequestParam
(
"
mRID"
)
String
mRID
)
{
public
Object
loadPosTf
(
@RequestParam
(
"
loadId"
)
String
loadId
)
{
Object
result
=
capService
.
loadPosTf
(
mRID
);
Object
result
=
capService
.
loadPosTf
(
loadId
);
return
result
;
return
result
;
}
}
}
}
jinyun/web/src/main/java/com/jinyun/web/controller/LowMarginWarnController.java
0 → 100644
查看文件 @
da37fd99
package
com
.
jinyun
.
web
.
controller
;
import
com.jinyun.web.service.CapService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Api
(
value
=
"desc of class"
,
tags
=
"LowMarginWarn"
,
description
=
"低裕度预警分析"
)
@RestController
@RequestMapping
(
"lowMarginWarn"
)
public
class
LowMarginWarnController
{
@Autowired
CapService
capService
;
@ApiOperation
(
value
=
"lowMarginAnalysis"
,
notes
=
""
)
@RequestMapping
(
value
=
"/lowMarginAnalysis"
,
method
=
RequestMethod
.
GET
)
public
Object
lowMarginAnalysis
()
{
Map
<
String
,
Object
>
result
=
capService
.
lowMarginAnalysis
();
return
result
;
}
}
jinyun/web/src/main/java/com/jinyun/web/controller/MainPageController.java
查看文件 @
da37fd99
...
@@ -69,7 +69,7 @@ public class MainPageController {
...
@@ -69,7 +69,7 @@ public class MainPageController {
@ApiOperation
(
value
=
"配变三相不平衡度列表"
,
notes
=
""
)
@ApiOperation
(
value
=
"配变三相不平衡度列表"
,
notes
=
""
)
@RequestMapping
(
value
=
"/transformerUnbalanceList"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/transformerUnbalanceList"
,
method
=
RequestMethod
.
GET
)
public
Object
transformerUnbalanceList
()
{
public
Object
transformerUnbalanceList
()
{
Map
<
String
,
Object
>
result
=
capService
.
transformerUnbalanceList
();
List
result
=
capService
.
transformerUnbalanceList
();
return
result
;
return
result
;
}
}
...
@@ -90,7 +90,7 @@ public class MainPageController {
...
@@ -90,7 +90,7 @@ public class MainPageController {
@ApiOperation
(
value
=
"线路可开放容量大小"
,
notes
=
""
)
@ApiOperation
(
value
=
"线路可开放容量大小"
,
notes
=
""
)
@RequestMapping
(
value
=
"/maxMinAvailCap"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/maxMinAvailCap"
,
method
=
RequestMethod
.
GET
)
public
Object
maxMinAvailCap
()
{
public
Object
maxMinAvailCap
()
{
List
result
=
capService
.
maxMinAvailCap
();
Map
<
String
,
Object
>
result
=
capService
.
maxMinAvailCap
();
return
result
;
return
result
;
}
}
}
}
jinyun/web/src/main/java/com/jinyun/web/entity/LinePassRateWeb.java
0 → 100644
查看文件 @
da37fd99
package
com
.
jinyun
.
web
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LinePassRateWeb
{
String
feederName
;
String
substation
;
double
springRate
;
double
summerRate
;
double
autumnRate
;
double
winterRate
;
}
jinyun/web/src/main/java/com/jinyun/web/entity/TfOverLoadRateWeb.java
0 → 100644
查看文件 @
da37fd99
package
com
.
jinyun
.
web
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
TfOverLoadRateWeb
{
String
feederName
;
String
devName
;
String
mRID
;
String
lineName
;
String
lineMRID
;
String
substation
;
double
springRate
;
double
summerRate
;
double
autumnRate
;
double
winterRate
;
}
jinyun/web/src/main/java/com/jinyun/web/service/CapService.java
查看文件 @
da37fd99
...
@@ -2,8 +2,13 @@ package com.jinyun.web.service;
...
@@ -2,8 +2,13 @@ package com.jinyun.web.service;
import
com.jinyun.cap.*
;
import
com.jinyun.cap.*
;
import
com.jinyun.web.entity.ImportData
;
import
com.jinyun.web.entity.ImportData
;
import
com.jinyun.web.entity.LinePassRateWeb
;
import
com.jinyun.web.entity.TfOverLoadRateWeb
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.util.*
;
import
java.util.*
;
/**
/**
...
@@ -38,6 +43,7 @@ public class CapService {
...
@@ -38,6 +43,7 @@ public class CapService {
static
String
allPsDbFile
=
"D:\\others\\yunqi\\项目\\缙云项目\\test\\allPsDb\\allPs.db"
;
static
String
allPsDbFile
=
"D:\\others\\yunqi\\项目\\缙云项目\\test\\allPsDb\\allPs.db"
;
static
String
feederDbFile
=
"D:\\others\\yunqi\\项目\\缙云项目\\test\\feederDb"
;
static
String
feederDbFile
=
"D:\\others\\yunqi\\项目\\缙云项目\\test\\feederDb"
;
static
String
feederDbName
=
"溪南G134线"
;
static
String
feederDbName
=
"溪南G134线"
;
static
String
cimFile
=
"D:\\others\\yunqi\\项目\\缙云项目\\test\\CIM"
;
public
Map
<
String
,
Object
>
gridStatistics
()
{
public
Map
<
String
,
Object
>
gridStatistics
()
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
...
@@ -83,7 +89,7 @@ public class CapService {
...
@@ -83,7 +89,7 @@ public class CapService {
return
result
;
return
result
;
}
}
public
Map
<
String
,
Object
>
transformerUnbalanceList
()
{
public
List
transformerUnbalanceList
()
{
SqliteDb
allPsDb
=
new
SqliteDb
(
allPsDbFile
);
SqliteDb
allPsDb
=
new
SqliteDb
(
allPsDbFile
);
List
<
String
>
feeders
=
allPsDb
.
queryAllFeederName
(
allFeederNameTable
);
// 查询馈线名称
List
<
String
>
feeders
=
allPsDb
.
queryAllFeederName
(
allFeederNameTable
);
// 查询馈线名称
List
<
TfUb
>
tfUbs
=
new
LinkedList
<>();
List
<
TfUb
>
tfUbs
=
new
LinkedList
<>();
...
@@ -91,11 +97,7 @@ public class CapService {
...
@@ -91,11 +97,7 @@ public class CapService {
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feeder
+
".db"
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feeder
+
".db"
);
tfUbs
.
addAll
(
sqliteDb
.
queryTfMonthUb
(
feeder
+
tfMonthUbTableName
));
tfUbs
.
addAll
(
sqliteDb
.
queryTfMonthUb
(
feeder
+
tfMonthUbTableName
));
}
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
return
tfUbs
;
for
(
TfUb
tfUb:
tfUbs
){
result
.
put
(
tfUb
.
getmRID
(),
tfUb
);
}
return
result
;
}
}
public
List
hardLineList
()
{
public
List
hardLineList
()
{
...
@@ -125,7 +127,13 @@ public class CapService {
...
@@ -125,7 +127,13 @@ public class CapService {
public
List
linePassRate
()
{
public
List
linePassRate
()
{
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
List
<
LinePassRate
>
linePassRates
=
sqliteDb
.
queryLinePassRate
(
feederDbName
+
linePassRateTableName
);
List
<
LinePassRate
>
linePassRates
=
sqliteDb
.
queryLinePassRate
(
feederDbName
+
linePassRateTableName
);
return
linePassRates
;
List
<
LinePassRateWeb
>
linePassRateWebs
=
new
ArrayList
<>();
for
(
LinePassRate
it:
linePassRates
){
LinePassRateWeb
linePassRateWeb
=
new
LinePassRateWeb
(
it
.
getFeederName
(),
it
.
getSubstation
(),
it
.
getPassRate
()[
0
],
it
.
getPassRate
()[
1
],
it
.
getPassRate
()[
2
],
it
.
getPassRate
()[
3
]);
linePassRateWebs
.
add
(
linePassRateWeb
);
}
return
linePassRateWebs
;
}
}
public
Object
transformerOverLoadRate
()
{
public
Object
transformerOverLoadRate
()
{
...
@@ -136,16 +144,19 @@ public class CapService {
...
@@ -136,16 +144,19 @@ public class CapService {
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feeder
+
".db"
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feeder
+
".db"
);
tfOverLoadRates
.
addAll
(
sqliteDb
.
queryTfOverLoadRate
(
feeder
+
tfOverLoadRateTableName
));
tfOverLoadRates
.
addAll
(
sqliteDb
.
queryTfOverLoadRate
(
feeder
+
tfOverLoadRateTableName
));
}
}
return
tfOverLoadRates
.
get
(
0
);
//todo 先取第一个
TfOverLoadRate
it
=
tfOverLoadRates
.
get
(
0
);
//todo 先取第一个
TfOverLoadRateWeb
tfOverLoadRateWeb
=
new
TfOverLoadRateWeb
(
it
.
getFeederName
(),
it
.
getDevName
(),
it
.
getmRID
(),
it
.
getLineName
(),
it
.
getLineMRID
(),
it
.
getSubstation
(),
it
.
getOverLoadRate
()[
0
],
it
.
getOverLoadRate
()[
1
],
it
.
getOverLoadRate
()[
2
],
it
.
getOverLoadRate
()[
3
]);
return
tfOverLoadRateWeb
;
}
}
public
List
maxMinAvailCap
()
{
public
Map
<
String
,
Object
>
maxMinAvailCap
()
{
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
MaxMinAvailCap
maxFeeder
=
sqliteDb
.
queryMaxMinAvailCap
(
maxMinAvailCapTable
,
1
);
MaxMinAvailCap
maxFeeder
=
sqliteDb
.
queryMaxMinAvailCap
(
maxMinAvailCapTable
,
1
);
MaxMinAvailCap
minFeeder
=
sqliteDb
.
queryMaxMinAvailCap
(
maxMinAvailCapTable
,
2
);
MaxMinAvailCap
minFeeder
=
sqliteDb
.
queryMaxMinAvailCap
(
maxMinAvailCapTable
,
2
);
List
result
=
new
LinkedList
<>();
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
add
(
maxFeeder
);
result
.
put
(
"max"
,
maxFeeder
);
result
.
add
(
minFeeder
);
result
.
put
(
"min"
,
minFeeder
);
return
result
;
return
result
;
}
}
...
@@ -217,9 +228,15 @@ public class CapService {
...
@@ -217,9 +228,15 @@ public class CapService {
return
result
;
return
result
;
}
}
public
List
loadPosList
()
{
public
int
loadPosListCout
()
{
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
int
total
=
sqliteDb
.
queryLoadPosSeasonCount
(
loadPosTable
,
1
);
return
total
;
}
public
List
loadPosList
(
int
page
,
int
rows
)
{
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
List
<
LoadPosSeason
>
loadPosSeason
=
sqliteDb
.
queryLoadPosSeason
(
loadPosTable
,
1
);
List
<
LoadPosSeason
>
loadPosSeason
=
sqliteDb
.
queryLoadPosSeason
(
loadPosTable
,
1
,
page
,
rows
);
return
loadPosSeason
;
return
loadPosSeason
;
}
}
...
@@ -255,7 +272,7 @@ public class CapService {
...
@@ -255,7 +272,7 @@ public class CapService {
}
}
public
Map
<
String
,
Object
>
transformerInfo
(
String
mRID
)
{
public
Map
<
String
,
Object
>
transformerInfo
(
String
mRID
)
{
// mouseOverTF为鼠标放置在公变上,查询公变容量,最大负荷,三相不平衡度。args[1]为馈线数据库文件夹的路径,
args[2]为馈线名称,args[3]
为公变mRID
// mouseOverTF为鼠标放置在公变上,查询公变容量,最大负荷,三相不平衡度。args[1]为馈线数据库文件夹的路径,
feederDbName为馈线名称,cimFile
为公变mRID
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
double
tFRatedCap
=
sqliteDb
.
queryTFCap
(
feederDbName
+
tfParamTableName
,
mRID
);
double
tFRatedCap
=
sqliteDb
.
queryTFCap
(
feederDbName
+
tfParamTableName
,
mRID
);
double
tFMaxP
=
sqliteDb
.
queryMaxTFP
(
feederDbName
+
transformerTableName
+
HistoryData
.
seasonTable
,
mRID
,
-
1
);
double
tFMaxP
=
sqliteDb
.
queryMaxTFP
(
feederDbName
+
transformerTableName
+
HistoryData
.
seasonTable
,
mRID
,
-
1
);
...
@@ -406,4 +423,135 @@ public class CapService {
...
@@ -406,4 +423,135 @@ public class CapService {
result
.
add
(
importData3
);
result
.
add
(
importData3
);
return
result
;
return
result
;
}
}
public
List
lineNameList
()
{
// allFeederName为查询所有馈线名称。args[1]为存储所有馈线数据的数据库文件的路径
// feederNames为馈线名称列表
SqliteDb
sqliteDb
=
new
SqliteDb
(
allPsDbFile
);
List
<
String
>
feederNames
=
sqliteDb
.
queryAllFeederName
(
allFeederNameTable
);
return
feederNames
;
}
public
Object
loadPosAnalysis
(
String
lineName
,
int
cap
,
int
type
)
{
// loadPos为分析负荷接入位置,args[1]为馈线数据库文件夹的路径,feederDbName为馈线名称,cimFile为.xml文件夹的路径
// args[4]为负荷容量,args[5]为负荷特征(1为峰用电,2为谷用电,3为峰谷用电),args[6]为存储所有馈线数据的数据库文件的路径
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
String
[]
sourceStationNames
=
new
String
[]{
sqliteDb
.
querySubstationName
(
feederDbName
+
substationTableName
)};
JyPowerSystem
ps
=
new
JyPowerSystem
(
sourceStationNames
);
try
{
ps
.
loadFromCimXML
(
new
FileInputStream
(
new
File
(
cimFile
+
"\\"
+
feederDbName
+
"单线图.sln.xml"
)));
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
ps
.
createActiveIslands
();
AvailCapModel
availCapModel
=
new
AvailCapModel
(
ps
);
availCapModel
.
buildPaths
();
availCapModel
.
createLoadPosTable
(
allPsDbFile
,
loadPosTable
);
double
loadCap
=
cap
;
int
loadType
=
type
;
// 生成负荷曲线
double
[]
load
=
new
double
[
96
];
double
peakAvg
=
0.75
*
loadCap
;
double
valleyAvg
=
0.4
*
loadCap
;
double
pvAvg
=
0.7
*
loadCap
;
double
minLoad
=
0.2
*
loadCap
;
if
(
loadType
==
1
)
{
load
[
0
]
=
valleyAvg
;
for
(
int
i
=
1
;
i
<
32
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
32
]
=
peakAvg
;
for
(
int
i
=
33
;
i
<
88
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
88
]
=
valleyAvg
;
for
(
int
i
=
89
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
else
if
(
loadType
==
2
)
{
load
[
0
]
=
peakAvg
;
for
(
int
i
=
1
;
i
<
32
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
32
]
=
valleyAvg
;
for
(
int
i
=
33
;
i
<
88
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
load
[
88
]
=
peakAvg
;
for
(
int
i
=
89
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
else
if
(
loadType
==
3
)
{
load
[
0
]
=
pvAvg
;
for
(
int
i
=
1
;
i
<
96
;
i
++)
{
double
r
=
0.1
*
(
Math
.
random
()
-
0.5
)
*
loadCap
;
load
[
i
]
=
load
[
i
-
1
]
+
r
;
load
[
i
]
=
Math
.
min
(
load
[
i
],
loadCap
);
load
[
i
]
=
Math
.
max
(
load
[
i
],
minLoad
);
}
}
for
(
int
i
=
0
;
i
<
96
;
i
++)
{
System
.
out
.
println
(
load
[
i
]
+
","
);
}
// 负荷接入分析
LoadPos
loadPos
=
availCapModel
.
loadPosOpt
(
load
,
feederDbName
+
switchTableName
,
feederDbName
+
availCapTableName
,
feederDbFile
+
"\\"
+
feederDbName
+
".db"
,
feederDbName
+
substationTableName
,
feederDbName
+
feederTableName
,
feederDbName
+
oneLineParamTableName
,
feederDbName
+
switchTableName
+
HistoryData
.
seasonClusterTable
,
feederDbName
+
swToTfTableName
,
feederDbName
+
tfParamTableName
,
feederDbName
+
transformerTableName
+
HistoryData
.
tfAvailCapTable
,
feederDbName
+
transformerTableName
+
HistoryData
.
seasonClusterTable
,
feederDbName
+
transformerTableName
+
HistoryData
.
minITable
,
allPsDbFile
,
loadPosTable
);
return
loadPos
;
}
public
Map
<
String
,
Object
>
lowMarginAnalysis
()
{
// feederWarnDev为查询预警元件颜色。args[1]为馈线数据库文件夹路径,feederDbName为查询的馈线名称
// yellowTfs为显示黄色的公变列表,redTfs为显示红色的公变列表,yellowLines为显示黄色的线路列表,redLines为显示红色的线路列表,
// 属性loadState为1表示黄色,为2表示红色,属性mRID为设备mRID
SqliteDb
sqliteDb
=
new
SqliteDb
(
feederDbFile
+
"\\"
+
feederDbName
+
".db"
);
List
<
WarnTf
>
warnTfs
=
sqliteDb
.
queryWarnTf
(
feederDbName
+
tfWarnTableName
);
List
<
WarnLine
>
warnLines
=
sqliteDb
.
queryWarnLine
(
feederDbName
+
lineWarnTableName
);
List
<
WarnTf
>
yellowTfs
=
new
LinkedList
<>();
// 显示黄色的公变
List
<
WarnTf
>
redTfs
=
new
LinkedList
<>();
// 显示红色的公变
List
<
WarnLine
>
yellowLines
=
new
LinkedList
<>();
// 显示黄色的线路
List
<
WarnLine
>
redLines
=
new
LinkedList
<>();
// 显示红色的线路
for
(
WarnTf
warnTf
:
warnTfs
)
{
if
(
warnTf
.
getLoadState
()
==
1
)
yellowTfs
.
add
(
warnTf
);
else
redTfs
.
add
(
warnTf
);
}
for
(
WarnLine
warnLine
:
warnLines
)
{
if
(
warnLine
.
getLoadState
()
==
1
)
yellowLines
.
add
(
warnLine
);
else
redLines
.
add
(
warnLine
);
}
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"yellowTfs"
,
yellowTfs
);
result
.
put
(
"redTfs"
,
redTfs
);
result
.
put
(
"yellowLines"
,
yellowLines
);
result
.
put
(
"redLines"
,
redLines
);
return
result
;
}
}
}
jinyun/web/src/main/resources/application.yaml
查看文件 @
da37fd99
server
:
server
:
port
:
6112
port
:
8080
spring
:
spring
:
datasource
:
datasource
:
driverClassName
:
org.sqlite.JDBC
driverClassName
:
org.sqlite.JDBC
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论