Commit 7995c82c by xiang

增加首页、线路信息、负荷接入分析后台接口;数据类部分调用修改

parent 962d323a
......@@ -17,11 +17,11 @@ import static java.lang.Math.sqrt;
public class HistoryData {
static String seasonTable = "_season";
public static String seasonTable = "_season";
static String unbalanceTable = "_ub";
static String minITable = "_minI";
static String seasonClusterTable = "_seasonCluster";
static String psClusterTable = "_psCluster";
public static String seasonClusterTable = "_seasonCluster";
public static String psClusterTable = "_psCluster";
static String ubMaxTable = "_ubMax";
static String tfAvailCapTable = "_availCap";
......
......@@ -3,4 +3,20 @@ package com.jinyun.cap;
public class MaxMinAvailCap {
String feederName;
double availCap;
public String getFeederName() {
return feederName;
}
public void setFeederName(String feederName) {
this.feederName = feederName;
}
public double getAvailCap() {
return availCap;
}
public void setAvailCap(double availCap) {
this.availCap = availCap;
}
}
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.*;
import java.util.List;
import java.util.Map;
@Api(value = "desc of class", tags="LineBase",description = "线路台区")
@RestController
@RequestMapping("lineBase")
public class LineBaseController {
@Autowired
CapService capService;
@ApiOperation(value = "基础信息", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "开关ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/baseInfo",method = RequestMethod.GET)
public Object baseInfo(@RequestParam("mRID") String mRID) {
Map<String,Object> result = capService.baseInfo(mRID);
return result;
}
@ApiOperation(value = "夏季分析", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "开关ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/lineSummer",method = RequestMethod.GET)
public Object lineSummer(@RequestParam("mRID") String mRID) {
Map<String,Object> result = capService.lineSummer(mRID);
return result;
}
@ApiOperation(value = "冬季分析", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "开关ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/lineWinter",method = RequestMethod.GET)
public Object lineWinter(@RequestParam("mRID") String mRID) {
Map<String,Object> result = capService.lineWinter(mRID);
return result;
}
@ApiOperation(value = "峰谷分析", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "开关ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/linePs",method = RequestMethod.GET)
public Object linePs(@RequestParam("mRID") String mRID) {
Map<String,Object> result = capService.linePs(mRID);
return result;
}
}
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.List;
import java.util.Map;
@Api(value = "desc of class", tags="LoadPos",description = "负荷接入分析")
@RestController
@RequestMapping("loadPos")
public class LoadPosController {
@Autowired
CapService capService;
@ApiOperation(value = "接入分析", notes = "")
@RequestMapping(value = "/loadPosList",method = RequestMethod.GET)
public Object loadPosSeason() {
List result = capService.loadPosList();
return result;
}
@ApiOperation(value = "高压负荷接入分析结果", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "负荷ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/loadPosSw",method = RequestMethod.GET)
public Object loadPosSw(@RequestParam("mRID") String mRID) {
Object result = capService.loadPosSw(mRID);
return result;
}
@ApiOperation(value = "低压负荷接入分析结果", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "mRID", value = "负荷ID", dataType = "string", paramType = "query",required = true),
})
@RequestMapping(value = "/loadPosTf",method = RequestMethod.GET)
public Object loadPosTf(@RequestParam("mRID") String mRID) {
Object result = capService.loadPosTf(mRID);
return result;
}
}
......@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@Api(value = "desc of class", tags="MainPage",description = "首页")
......@@ -29,6 +30,35 @@ public class MainPageController {
return result;
}
@ApiOperation(value = "重载线路列表", notes = "")
@RequestMapping(value = "/hardLineList",method = RequestMethod.GET)
public Object hardLineList() {
List result = capService.hardLineList();
return result;
}
@ApiOperation(value = "重载配变列表", notes = "")
@RequestMapping(value = "/hardTransformerList",method = RequestMethod.GET)
public Object hardTransformerList() {
List result = capService.hardTransformerList();
return result;
}
@ApiOperation(value = "超载线路列表", notes = "")
@RequestMapping(value = "/overLineList",method = RequestMethod.GET)
public Object overLineList() {
List result = capService.overLineList();
return result;
}
@ApiOperation(value = "超载配变列表", notes = "")
@RequestMapping(value = "/overTransformerList",method = RequestMethod.GET)
public Object overTransformerList() {
List result = capService.overTransformerList();
return result;
}
@ApiOperation(value = "配变三相不平衡度", notes = "")
@RequestMapping(value = "/transformerUnbalance",method = RequestMethod.GET)
public Object transformerUnbalance() {
......@@ -43,5 +73,24 @@ public class MainPageController {
return result;
}
@ApiOperation(value = "线路电流合格率", notes = "")
@RequestMapping(value = "/linePassRate",method = RequestMethod.GET)
public Object linePassRate() {
List result = capService.linePassRate();
return result;
}
@ApiOperation(value = "配变负荷越限统计", notes = "")
@RequestMapping(value = "/transformerOverLoadRate",method = RequestMethod.GET)
public Object transformerOverLoadRate() {
Object result = capService.transformerOverLoadRate();
return result;
}
@ApiOperation(value = "线路可开放容量大小", notes = "")
@RequestMapping(value = "/maxMinAvailCap",method = RequestMethod.GET)
public Object maxMinAvailCap() {
List result = capService.maxMinAvailCap();
return result;
}
}
package com.jinyun.web.service;
import com.jinyun.cap.SqliteDb;
import com.jinyun.cap.TfUb;
import com.jinyun.cap.*;
import org.springframework.stereotype.Service;
import java.util.HashMap;
......@@ -40,6 +39,7 @@ public class CapService {
static String loadPosTable = "负荷接入位置";
static String allPsDbFile = "D:\\others\\yunqi\\项目\\缙云项目\\test\\allPsDb\\allPs.db";
static String feederDbFile = "D:\\others\\yunqi\\项目\\缙云项目\\test\\feederDb";
static String feederDbName = "溪南G134线";
public Map<String, Object> gridStatistics() {
Map<String,Object> result = new HashMap<>();
......@@ -99,4 +99,136 @@ public class CapService {
}
return result;
}
public List hardLineList() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
List<WarnLine> hardLine = sqliteDb.queryWarnLine(allPsLineWarnTable, 1);
return hardLine;
}
public List hardTransformerList() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
List<WarnLine> overLine = sqliteDb.queryWarnLine(allPsLineWarnTable, 2);
return overLine;
}
public List overLineList() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
List<WarnTf> hardTf = sqliteDb.queryWarnTf(allPsTfWarnTable, 1);
return hardTf;
}
public List overTransformerList() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
List<WarnTf> overTf = sqliteDb.queryWarnTf(allPsTfWarnTable, 2);
return overTf;
}
public List linePassRate() {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feederDbName + ".db");
List<LinePassRate> linePassRates = sqliteDb.queryLinePassRate(feederDbName + linePassRateTableName);
return linePassRates;
}
public Object transformerOverLoadRate() {
SqliteDb allPsDb = new SqliteDb(allPsDbFile);
List<String> feeders = allPsDb.queryAllFeederName(allFeederNameTable); // 查询馈线名称
List<TfOverLoadRate> tfOverLoadRates = new LinkedList<>();
for (String feeder : feeders) {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feeder + ".db");
tfOverLoadRates.addAll(sqliteDb.queryTfOverLoadRate(feeder + tfOverLoadRateTableName));
}
return tfOverLoadRates.get(0); //todo 先取第一个
}
public List maxMinAvailCap() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
MaxMinAvailCap maxFeeder = sqliteDb.queryMaxMinAvailCap(maxMinAvailCapTable, 1);
MaxMinAvailCap minFeeder = sqliteDb.queryMaxMinAvailCap(maxMinAvailCapTable, 2);
List result = new LinkedList<>();
result.add(maxFeeder);
result.add(minFeeder);
return result;
}
public Map<String, Object> baseInfo(String mRID) {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feederDbName + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(feederDbName + oneLineParamTableName, mRID);
double lineMaxI = sqliteDb.queryMaxSwitchI(feederDbName + switchTableName + HistoryData.seasonTable, mRID, -1);
double avgI = sqliteDb.queryMaxSwitchI(feederDbName + switchTableName + HistoryData.seasonTable, mRID, -2);
Map<String,Object> result = new HashMap<>();
result.put("lineRatedI",lineRatedI);
result.put("lineMaxI",lineMaxI);
result.put("avgI",avgI);
return result;
}
public Map<String, Object> lineSummer(String mRID) {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feederDbName + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(feederDbName + oneLineParamTableName, mRID);
double[] lineRatedICv = new double[96];
for (int i = 0; i < 96; i++) {
lineRatedICv[i] = lineRatedI;
}
double[] seasonCluster2 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.seasonClusterTable, mRID, 2, 96);
double[] seasonMax2 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.seasonTable, mRID, 2, 96);
double[] cap2 = sqliteDb.queryAvailCap(feederDbName + availCapTableName, mRID, 2, 96);
Map<String,Object> result = new HashMap<>();
result.put("seasonCluster2",seasonCluster2);
result.put("seasonMax2",seasonMax2);
result.put("cap2",cap2);
return result;
}
public Map<String, Object> lineWinter(String mRID) {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feederDbName + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(feederDbName + oneLineParamTableName, mRID);
double[] lineRatedICv = new double[96];
for (int i = 0; i < 96; i++) {
lineRatedICv[i] = lineRatedI;
}
double[] seasonCluster4 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.seasonClusterTable, mRID, 4, 96);
double[] seasonMax4 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.seasonTable, mRID, 4, 96);
double[] cap4 = sqliteDb.queryAvailCap(feederDbName + availCapTableName, mRID, 4, 96);
Map<String,Object> result = new HashMap<>();
result.put("seasonCluster4",seasonCluster4);
result.put("seasonMax4",seasonMax4);
result.put("cap4",cap4);
return result;
}
public Map<String, Object> linePs(String mRID) {
SqliteDb sqliteDb = new SqliteDb(feederDbFile + "\\" + feederDbName + ".db");
double lineRatedI = sqliteDb.queryOneLineParam(feederDbName + oneLineParamTableName, mRID);
double[] lineRatedICv = new double[96];
for (int i = 0; i < 96; i++) {
lineRatedICv[i] = lineRatedI;
}
double[] psCluster2 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.psClusterTable, mRID, 2, 96);
double[] seasonMax2 = sqliteDb.querySeasonSwitchI(feederDbName + switchTableName + HistoryData.seasonTable, mRID, 2, 96);
double[] cap2 = sqliteDb.queryAvailCap(feederDbName + availCapTableName, mRID, 2, 96);
Map<String,Object> result = new HashMap<>();
result.put("psCluster2",psCluster2);
result.put("seasonMax2",seasonMax2);
result.put("cap2",cap2);
return result;
}
public List loadPosList() {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
List<LoadPosSeason> loadPosSeason = sqliteDb.queryLoadPosSeason(loadPosTable, 1);
return loadPosSeason;
}
public Object loadPosSw(String mRID) {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
LoadPosSw loadPosSw = sqliteDb.queryLoadPosSw(loadPosTable, Integer.parseInt(mRID), 1);
return loadPosSw;
}
public Object loadPosTf(String mRID) {
SqliteDb sqliteDb = new SqliteDb(allPsDbFile);
LoadPosTf loadPosTf = sqliteDb.queryLoadPosTf(loadPosTable, Integer.parseInt(mRID), 1);
return loadPosTf;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论