河北功能bug调整

This commit is contained in:
2025-03-14 16:02:38 +08:00
parent 37c6e52281
commit 99eff7d3d2
9 changed files with 256 additions and 261 deletions

View File

@@ -72,10 +72,15 @@ public class Monitor extends BaseEntity {
private String lineName; private String lineName;
/** /**
* 监测线路ID * 监测线
*/ */
private String lineId; private String lineId;
/**
* 监测线路号
*/
private Integer lineNum;
/** /**
* 中台母线ID * 中台母线ID
*/ */
@@ -190,7 +195,6 @@ public class Monitor extends BaseEntity {
* 监测终端接线方式(字典) * 监测终端接线方式(字典)
*/ */
private String terminalWiringMethod; private String terminalWiringMethod;
/** /**
* 是否是上送国网监测点,0-否 1-是 * 是否是上送国网监测点,0-否 1-是
*/ */

View File

@@ -1309,37 +1309,38 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
} }
// 初始化字典数据的通用方法
private Map<String, DictData> initDictData(DicDataTypeEnum type) {
return dicDataFeignClient.getDicDataByTypeCode(type.getCode()).getData()
.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
}
private String dealData(List<OracleTerminalExcel> oracleTerminalExcelList) { private String dealData(List<OracleTerminalExcel> oracleTerminalExcelList) {
List<OracleTerminalExcel.OracleTerminalExcelMsg> oracleTerminalExcelMsg = new ArrayList<>(); List<OracleTerminalExcel.OracleTerminalExcelMsg> oracleTerminalExcelMsg = new ArrayList<>();
List<DeptDTO> allDept = deptFeignClient.getDeptDescendantIndexes(deptFeignClient.getRootDept().getData().getId(), Stream.of(0, 1, 2).collect(Collectors.toList())).getData(); List<DeptDTO> allDept = deptFeignClient.getDeptDescendantIndexes(deptFeignClient.getRootDept().getData().getId(), Stream.of(0, 1, 2).collect(Collectors.toList())).getData();
Map<String, DeptDTO> mapDept = allDept.stream().collect(Collectors.toMap(DeptDTO::getName, Function.identity())); Map<String, DeptDTO> mapDept = allDept.stream().collect(Collectors.toMap(DeptDTO::getName, Function.identity()));
List<DictData> voltageLevelDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); Map<String, DictData> voltageLevelMap = initDictData(DicDataTypeEnum.DEV_VOLTAGE);
Map<String, DictData> voltageLevelMap = voltageLevelDic.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//装置型号 //装置型号
List<DictData> devTypelDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData(); Map<String, DictData> devTypelDicMap = initDictData(DicDataTypeEnum.DEV_TYPE);
Map<String, DictData> devTypelDicMap = devTypelDic.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//装置类别
DictData devCategoryDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_CATEGORY.getName(), DicDataEnum.Monitor_Terminals.getName()).getData();
//装置状态 //装置状态
List<DictData> devStatelDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_STATUS.getCode()).getData(); Map<String, DictData> devStateDicMap = initDictData(DicDataTypeEnum.DEV_STATUS);
Map<String, DictData> devStateDicMap = devStatelDic.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//监测点状态 //监测点状态
List<DictData> monitorStatelDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData(); Map<String, DictData> monitorStateDicMap = initDictData(DicDataTypeEnum.LINE_STATE);
Map<String, DictData> monitorStateDicMap = monitorStatelDic.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//监测点标签 //监测点标签
List<DictData> objTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); Map<String, DictData> objTypeDicMap = initDictData(DicDataTypeEnum.MONITORING_LABELS);
Map<String, DictData> objTypeDicMap = objTypeList.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//装置厂家 //装置厂家
List<DictData> manList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_MANUFACTURER.getCode()).getData(); Map<String, DictData> manDicMap = initDictData(DicDataTypeEnum.DEV_MANUFACTURER);
Map<String, DictData> manDicMap = manList.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//接线方式
Map<String, DictData> wireListMap = initDictData(DicDataTypeEnum.DEV_CONNECT);
//装作等级 //装作等级
DictData devGrade = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_GRADE.getName(), DicDataEnum.MOST_IMPORMENT.getName()).getData(); DictData devGrade = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_GRADE.getName(), DicDataEnum.MOST_IMPORMENT.getName()).getData();
@@ -1350,30 +1351,27 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
//监测点类型 //监测点类型
DictData monitorType = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_TYPE.getName(), DicDataEnum.Power_Supply_Point.getName()).getData(); DictData monitorType = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_TYPE.getName(), DicDataEnum.Power_Supply_Point.getName()).getData();
//接线方式
List<DictData> wireList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
Map<String, DictData> wireListMap = wireList.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
DictData potentialDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.Cap_V.getCode(),DicDataTypeEnum.VOLTAGE_TRANSFORMER.getCode()).getData(); DictData potentialDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.Cap_V.getCode(),DicDataTypeEnum.VOLTAGE_TRANSFORMER.getCode()).getData();
DictData neutralDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.Neutral_Point.getName(), DicDataEnum.Ground_Res.getName()).getData(); DictData neutralDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.Neutral_Point.getName(), DicDataEnum.Ground_Res.getName()).getData();
//装置类别
DictData devCategoryDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_CATEGORY.getName(), DicDataEnum.Monitor_Terminals.getName()).getData();
List<DictData> businessType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.BUSINESS_TYPE.getCode()).getData(); //对象类型
Map<String, DictData> businessDicMap = businessType.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//TODO 零时处理
List<SysDicTreePO> dicTree = dictTreeFeignClient.queryAll().getData(); List<SysDicTreePO> dicTree = dictTreeFeignClient.queryAll().getData();
dicTree = dicTree.stream().filter(item->item.getCode()!="Device_Unit" && !item.getCode().contains("@")).collect(Collectors.toList()); dicTree = dicTree.stream().filter(item->item.getCode()!="Device_Unit" && !item.getCode().contains("@")).collect(Collectors.toList());
Map<String,SysDicTreePO> objTypeMap = dicTree.stream().collect(Collectors.toMap(SysDicTreePO::getName,Function.identity())); Map<String,SysDicTreePO> objTypeMap = dicTree.stream().collect(Collectors.toMap(SysDicTreePO::getName,Function.identity()));
for (OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList) { for (OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList) {
//单位 //单位
if(oracleTerminalExcel.getGdName().equals("省检修")){ if (oracleTerminalExcel.getGdName().equals("省检修")) {
oracleTerminalExcel.setGdName("国网河北超高压公司本部"); oracleTerminalExcel.setGdName("国网河北超高压公司本部");
}else { } else {
oracleTerminalExcel.setGdName("国网"+oracleTerminalExcel.getGdName()+"本部"); oracleTerminalExcel.setGdName("国网" + oracleTerminalExcel.getGdName() + "本部");
} }
if (!mapDept.containsKey(oracleTerminalExcel.getGdName())) { if (!mapDept.containsKey(oracleTerminalExcel.getGdName())) {
@@ -1383,7 +1381,6 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
//判断是否操作过该条记录 //判断是否操作过该条记录
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId, oracleTerminalExcel.getId())); LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId, oracleTerminalExcel.getId()));
DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId, oracleTerminalExcel.getDeviceId())); DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId, oracleTerminalExcel.getDeviceId()));
@@ -1452,14 +1449,6 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
continue; continue;
} }
/* if (devTypelDicMap.containsKey(oracleTerminalExcel.getDevType())) {
pmsTerminalPO.setTerminalState(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典终端状态不存在,请确认后重试"));
continue;
}*/
//终端状态 //终端状态
String devState = null; String devState = null;
switch (oracleTerminalExcel.getRunFlag()) { switch (oracleTerminalExcel.getRunFlag()) {
@@ -1530,8 +1519,6 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
GeneratrixWire generatrixWire = generatrixWireMapper.selectOne(generatrixWireLambdaQueryWrapper); GeneratrixWire generatrixWire = generatrixWireMapper.selectOne(generatrixWireLambdaQueryWrapper);
String lineId = null, lineName = null, genScale = null; String lineId = null, lineName = null, genScale = null;
GeneratrixWire generatrixWirePO = new GeneratrixWire(); GeneratrixWire generatrixWirePO = new GeneratrixWire();
generatrixWirePO.setGeneratrixName(oracleTerminalExcel.getSubvName()); generatrixWirePO.setGeneratrixName(oracleTerminalExcel.getSubvName());
generatrixWirePO.setStatus(DataStateEnum.ENABLE.getCode()); generatrixWirePO.setStatus(DataStateEnum.ENABLE.getCode());
@@ -1557,7 +1544,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
} else { } else {
generatrixWirePO.setId(generatrixWire.getId()); generatrixWirePO.setId(generatrixWire.getId());
generatrixWireMapper.updateById(generatrixWirePO); generatrixWireMapper.updateById(generatrixWirePO);
lineId = generatrixWire.getId(); lineId = generatrixWirePO.getId();
lineName = generatrixWirePO.getName(); lineName = generatrixWirePO.getName();
genScale = generatrixWirePO.getScale(); genScale = generatrixWirePO.getScale();
} }
@@ -1566,224 +1553,217 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getLineId, lineId) monitorLambdaQueryWrapper.eq(Monitor::getLineId, lineId)
.eq(Monitor::getName, oracleTerminalExcel.getLineName()); .eq(Monitor::getName, oracleTerminalExcel.getLineName());
List<Monitor> monitorList = monitorMapper.selectList(monitorLambdaQueryWrapper); Monitor monitor = monitorMapper.selectOne(monitorLambdaQueryWrapper);
if(CollUtil.isNotEmpty(monitorList)) {
for (Monitor monitor : monitorList) {
//当前电站下面没有监测点,可以新增
Monitor monitorPO = new Monitor();
String monitorId = "04";
String one = "";
if (deptDTO.getName().contains("石家庄")) {
one = "01";
} else if (deptDTO.getName().contains("邯郸")) {
one = "02";
} else if (deptDTO.getName().contains("保定")) {
one = "03";
} else if (deptDTO.getName().contains("沧州")) {
one = "04";
} else if (deptDTO.getName().contains("邢台")) {
one = "05";
} else if (deptDTO.getName().contains("衡水")) {
one = "06";
} else if (deptDTO.getName().contains("超高压")) {
one = "07";
} else {
one = "3.14159";
}
String last = String.format("M%05d", oracleTerminalExcel.getId());
monitorPO.setMonitorId(monitorId + one + last);
monitorPO.setName(oracleTerminalExcel.getLineName()); //当前电站下面没有监测点,可以新增
monitorPO.setPowerrName(stationName); Monitor monitorPO = new Monitor();
monitorPO.setPowerrId(stationId);
monitorPO.setOperationName(deptDTO.getName());
monitorPO.setOperationId(deptDTO.getCode());
monitorPO.setOrgName(deptDTO.getName());
monitorPO.setOrgId(deptDTO.getCode());
monitorPO.setLineName(lineName);
monitorPO.setLineId(lineId);
monitorPO.setVoltageLevel(genScale);
monitorPO.setIsUploadHead(0);
monitorPO.setMonitorOverlimitStatus(0);
monitorPO.setMonitorOverlimitStatus(0);
String monitorState = null; String monitorId = "04";
switch (oracleTerminalExcel.getRunFlag()) { String one = "";
case 0: if (deptDTO.getName().contains("石家庄")) {
monitorState = DicDataEnum.RUN.getName(); one = "01";
break; } else if (deptDTO.getName().contains("邯郸")) {
case 1: one = "02";
monitorState = DicDataEnum.DEBUGGING.getName(); } else if (deptDTO.getName().contains("保定")) {
break; one = "03";
case 2: } else if (deptDTO.getName().contains("沧州")) {
monitorState = DicDataEnum.DECOMMISSIONING.getName(); one = "04";
break; } else if (deptDTO.getName().contains("邢台")) {
default: one = "05";
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测点状态不存在,请确认后重试")); } else if (deptDTO.getName().contains("衡水")) {
break; one = "06";
} else if (deptDTO.getName().contains("超高压")) {
} one = "07";
if (monitorStateDicMap.containsKey(monitorState)) { } else if (deptDTO.getName().contains("雄安")) {
monitorPO.setMonitorState(monitorStateDicMap.get(monitorState).getId()); one = "08";
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测点运行状态不存在,请确认后重试"));
continue;
}
monitorPO.setMonitorType(monitorType.getId());
monitorPO.setStandShortCapacity(oracleTerminalExcel.getStandardCapacity());
monitorPO.setMinShortCircuitCapacity(oracleTerminalExcel.getShortCapacity());
monitorPO.setUserAgreementCapacity(oracleTerminalExcel.getDealCapacity());
monitorPO.setPowerSupplyEqCapacity(oracleTerminalExcel.getDevCapacity());
DictData scale = dicDataFeignClient.getDicDataById(monitorPO.getVoltageLevel()).getData();
Overlimit overlimitTem = new Overlimit();
COverlimitUtil.voltageDeviation(overlimitTem, Float.parseFloat(scale.getValue()));
monitorPO.setVoltageDeviationLowerLimit(overlimitTem.getUvoltageDev());
monitorPO.setVoltageDeviationUpperLimit(overlimitTem.getVoltageDev());
monitorPO.setPotentialTransFormerType(potentialDic.getId());
monitorPO.setNeutralGroundingMode(neutralDic.getId());
monitorPO.setStatisticalInterval(oracleTerminalExcel.getTimeInterval());
monitorPO.setTerminalId(devId);
monitorPO.setIsSpecialSupplyElectricity(0);
monitorPO.setMonitorObjectName(oracleTerminalExcel.getObjName());
if (oracleTerminalExcel.getLoadType().equals("电加热负荷") ||oracleTerminalExcel.getLoadType().equals("轧机") || oracleTerminalExcel.getLoadType().equals("其他非线性负荷")) {
if (objTypeDicMap.containsKey("冶炼负荷")) {
String objTypeId = objTypeDicMap.get("冶炼负荷").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "冶炼负荷字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("商业/市政/民用/电子通讯负荷")) {
if (objTypeDicMap.containsKey("城市商业")) {
String objTypeId = objTypeDicMap.get("城市商业").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "城市商业字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("半导体制造") || oracleTerminalExcel.getLoadType().equals("精密加工")) {
if (objTypeDicMap.containsKey("敏感用户")) {
String objTypeId = objTypeDicMap.get("敏感用户").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "敏感用户字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("二类变电站") || oracleTerminalExcel.getLoadType().equals("三类变电站") || oracleTerminalExcel.getLoadType().equals("四类变电站")) {
if (objTypeDicMap.containsKey("主变高压侧")) {
String objTypeId = objTypeDicMap.get("主变高压侧").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试"));
continue;
}
}else if(oracleTerminalExcel.getLoadType().equals("跨省计量关口")){
if (objTypeDicMap.containsKey("跨省联络线")) {
String objTypeId = objTypeDicMap.get("跨省联络线").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "跨省联络线字典监测标签不存在,请确认后重试"));
continue;
}
}else if(oracleTerminalExcel.getLoadType().equals("光伏电站")){
if (objTypeDicMap.containsKey("光伏电站")) {
String objTypeId = objTypeDicMap.get("光伏电站").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "光伏电站字典监测标签不存在,请确认后重试"));
continue;
}
} else {
if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) {
String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试"));
continue;
}
}
//监测点对象类型
if (objTypeMap.containsKey(oracleTerminalExcel.getLoadType())) {
String objTypeId = objTypeMap.get(oracleTerminalExcel.getLoadType()).getId();
monitorPO.setObjType(objTypeId);
}else if(oracleTerminalExcel.getLoadType().equals("电加热负荷")){
String objTypeId = objTypeMap.get("电加热负荷(含电弧炉、中频炉、电热炉、单/多晶硅生产设备)").getId();
monitorPO.setObjType(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, oracleTerminalExcel.getLoadType() + "字典监测点对象类型不存在,请确认后重试"));
continue;
}
//行业类型
/* if (businessDicMap.containsKey(oracleTerminalExcel.getBusinessType())) {
String busTypeId = businessDicMap.get(oracleTerminalExcel.getBusinessType()).getId();
monitorPO.setTradeCode(busTypeId);
} else { } else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, oracleTerminalExcel.getBusinessType()+"字典行业类型不存在,请确认后重试")); one = "3.14159";
}
String last = String.format("M%05d", oracleTerminalExcel.getId());
monitorPO.setMonitorId(monitorId + one + last);
monitorPO.setLineNum(oracleTerminalExcel.getLineNum());
monitorPO.setName(oracleTerminalExcel.getLineName());
monitorPO.setPowerrName(stationName);
monitorPO.setPowerrId(stationId);
monitorPO.setOperationName(deptDTO.getName());
monitorPO.setOperationId(deptDTO.getCode());
monitorPO.setOrgName(deptDTO.getName());
monitorPO.setOrgId(deptDTO.getCode());
monitorPO.setLineName(lineName);
monitorPO.setLineId(lineId);
monitorPO.setVoltageLevel(genScale);
monitorPO.setIsUploadHead(0);
monitorPO.setMonitorOverlimitStatus(0);
monitorPO.setMonitorOverlimitStatus(0);
String monitorState = null;
switch (oracleTerminalExcel.getRunFlag()) {
case 0:
monitorState = DicDataEnum.RUN.getName();
break;
case 1:
monitorState = DicDataEnum.DEBUGGING.getName();
break;
case 2:
monitorState = DicDataEnum.DECOMMISSIONING.getName();
break;
default:
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测点状态不存在,请确认后重试"));
break;
}
if (monitorStateDicMap.containsKey(monitorState)) {
monitorPO.setMonitorState(monitorStateDicMap.get(monitorState).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测点运行状态不存在,请确认后重试"));
continue; continue;
}*/ }
//TODO 监测点对象名称 monitorPO.setMonitorType(monitorType.getId());
monitorPO.setStandShortCapacity(oracleTerminalExcel.getStandardCapacity());
monitorPO.setMinShortCircuitCapacity(oracleTerminalExcel.getShortCapacity());
monitorPO.setUserAgreementCapacity(oracleTerminalExcel.getDealCapacity());
monitorPO.setPowerSupplyEqCapacity(oracleTerminalExcel.getDevCapacity());
DictData scale = dicDataFeignClient.getDicDataById(monitorPO.getVoltageLevel()).getData();
Overlimit overlimitTem = new Overlimit();
COverlimitUtil.voltageDeviation(overlimitTem, Float.parseFloat(scale.getValue()));
monitorPO.setVoltageDeviationLowerLimit(overlimitTem.getUvoltageDev());
monitorPO.setVoltageDeviationUpperLimit(overlimitTem.getVoltageDev());
monitorPO.setPotentialTransFormerType(potentialDic.getId());
monitorPO.setNeutralGroundingMode(neutralDic.getId());
monitorPO.setStatisticalInterval(oracleTerminalExcel.getTimeInterval());
monitorPO.setTerminalId(devId);
monitorPO.setIsSpecialSupplyElectricity(0);
monitorPO.setMonitorObjectName(oracleTerminalExcel.getObjName());
String wireMethod = ""; if (oracleTerminalExcel.getLoadType().equals("电加热负荷") || oracleTerminalExcel.getLoadType().equals("轧机") || oracleTerminalExcel.getLoadType().equals("其他非线性负荷")|| oracleTerminalExcel.getLoadType().equals("变频调速负荷")) {
switch (oracleTerminalExcel.getPtType()) { if (objTypeDicMap.containsKey("冶炼负荷")) {
case 0: String objTypeId = objTypeDicMap.get("冶炼负荷").getId();
wireMethod = DicDataEnum.STAR.getName(); monitorPO.setMonitorTag(objTypeId);
break; } else {
case 1: oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "冶炼负荷字典监测标签不存在,请确认后重试"));
wireMethod = DicDataEnum.STAR_TRIANGLE.getName(); continue;
break; }
case 2: } else if (oracleTerminalExcel.getLoadType().equals("商业/市政/民用/电子通讯负荷")) {
wireMethod = DicDataEnum.OPEN_DELTA.getName(); if (objTypeDicMap.containsKey("城市商业")) {
break; String objTypeId = objTypeDicMap.get("城市商业").getId();
default: monitorPO.setMonitorTag(objTypeId);
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试")); } else {
break; oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "城市商业字典监测标签不存在,请确认后重试"));
} continue;
if (wireListMap.containsKey(wireMethod)) { }
monitorPO.setTerminalWiringMethod(wireListMap.get(wireMethod).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试"));
continue;
}
monitorPO.setStatus(DataStateEnum.ENABLE.getCode()); } else if (oracleTerminalExcel.getLoadType().equals("半导体制造") || oracleTerminalExcel.getLoadType().equals("精密加工") || oracleTerminalExcel.getLoadType().equals("党政机关")||"敏感/重要/高危用户".equals(oracleTerminalExcel.getLoadType())) {
monitorPO.setIsSpecialMonitor(0); if (objTypeDicMap.containsKey("敏感用户")) {
monitorPO.setPt1(oracleTerminalExcel.getPt1()); String objTypeId = objTypeDicMap.get("敏感用户").getId();
monitorPO.setPt2(oracleTerminalExcel.getPt2()); monitorPO.setMonitorTag(objTypeId);
monitorPO.setCt1(oracleTerminalExcel.getCt1()); } else {
monitorPO.setCt2(oracleTerminalExcel.getCt2()); oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "敏感用户字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("二类变电站") || oracleTerminalExcel.getLoadType().equals("三类变电站") || oracleTerminalExcel.getLoadType().equals("四类变电站")) {
if (objTypeDicMap.containsKey("主变高压侧")) {
String objTypeId = objTypeDicMap.get("主变高压侧").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("跨省计量关口")) {
if (objTypeDicMap.containsKey("跨省联络线")) {
String objTypeId = objTypeDicMap.get("跨省联络线").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "跨省联络线字典监测标签不存在,请确认后重试"));
continue;
}
} else if (oracleTerminalExcel.getLoadType().equals("光伏电站")) {
if (objTypeDicMap.containsKey("光伏电站")) {
String objTypeId = objTypeDicMap.get("光伏电站").getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "光伏电站字典监测标签不存在,请确认后重试"));
continue;
}
} else {
if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) {
String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId();
monitorPO.setMonitorTag(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测标签不存在,请确认后重试"));
continue;
}
}
if (oracleTerminalExcel.getLoadType().equals("光伏电站") || oracleTerminalExcel.getLoadType().equals("风电场")) { //监测点对象类型
monitorPO.setFieldStation("01"); if (objTypeMap.containsKey(oracleTerminalExcel.getLoadType())) {
} String objTypeId = objTypeMap.get(oracleTerminalExcel.getLoadType()).getId();
monitorPO.setObjType(objTypeId);
} else if (oracleTerminalExcel.getLoadType().equals("电加热负荷")) {
String objTypeId = objTypeMap.get("电加热负荷(含电弧炉、中频炉、电热炉、单/多晶硅生产设备)").getId();
monitorPO.setObjType(objTypeId);
} else if (oracleTerminalExcel.getLoadType().equals("变频调速负荷")) {
String objTypeId = objTypeMap.get("变频调速负荷(变频电机、变频水泵等)").getId();
monitorPO.setObjType(objTypeId);
} else if (oracleTerminalExcel.getLoadType().equals("敏感/重要/高危用户")) {
String objTypeId = objTypeMap.get("敏感/重要/高危用户").getId();
monitorPO.setObjType(objTypeId);
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, oracleTerminalExcel.getLoadType() + "字典监测点对象类型不存在,请确认后重试"));
continue;
}
if (oracleTerminalExcel.getPowerFlag() == 0) {
monitorPO.setPowerFlag("101");
} else if (oracleTerminalExcel.getPowerFlag() == 1) {
monitorPO.setPowerFlag("102");
}
//TODO 监测点对象名称
String wireMethod = "";
switch (oracleTerminalExcel.getPtType()) {
case 0:
wireMethod = DicDataEnum.STAR.getName();
break;
case 1:
wireMethod = DicDataEnum.STAR_TRIANGLE.getName();
break;
case 2:
wireMethod = DicDataEnum.OPEN_DELTA.getName();
break;
default:
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试"));
break;
}
if (wireListMap.containsKey(wireMethod)) {
monitorPO.setTerminalWiringMethod(wireListMap.get(wireMethod).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试"));
continue;
}
monitorPO.setStatus(DataStateEnum.ENABLE.getCode());
monitorPO.setIsSpecialMonitor(0);
monitorPO.setPt1(oracleTerminalExcel.getPt1());
monitorPO.setPt2(oracleTerminalExcel.getPt2());
monitorPO.setCt1(oracleTerminalExcel.getCt1());
monitorPO.setCt2(oracleTerminalExcel.getCt2());
if (oracleTerminalExcel.getLoadType().equals("光伏电站") || oracleTerminalExcel.getLoadType().equals("风电场")) {
monitorPO.setFieldStation("01");
}
if (oracleTerminalExcel.getPowerFlag() == 0) {
monitorPO.setPowerFlag("101");
} else if (oracleTerminalExcel.getPowerFlag() == 1) {
monitorPO.setPowerFlag("102");
}
if (Objects.isNull(lineBak) && Objects.isNull(monitor)) { if (Objects.isNull(lineBak) && Objects.isNull(monitor)) {
monitorPO.setIsUpToGrid(0); monitorPO.setIsUpToGrid(0);
@@ -1801,6 +1781,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
lineBakPO.setId(monitorPO.getId()); lineBakPO.setId(monitorPO.getId());
lineBakPO.setLineId(oracleTerminalExcel.getId()); lineBakPO.setLineId(oracleTerminalExcel.getId());
lineBakMapper.insert(lineBakPO); lineBakMapper.insert(lineBakPO);
} else { } else {
if (Objects.isNull(lineBak)) { if (Objects.isNull(lineBak)) {
LineBak lineBakPO = new LineBak(); LineBak lineBakPO = new LineBak();
@@ -1818,6 +1799,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
monitorMapper.updateById(monitorPO); monitorMapper.updateById(monitorPO);
} }
Overlimit overlimit = COverlimitUtil.globalAssemble(Float.parseFloat(scale.getValue()), oracleTerminalExcel.getDealCapacity(), oracleTerminalExcel.getDevCapacity(), oracleTerminalExcel.getShortCapacity(), 0, 0); Overlimit overlimit = COverlimitUtil.globalAssemble(Float.parseFloat(scale.getValue()), oracleTerminalExcel.getDealCapacity(), oracleTerminalExcel.getDevCapacity(), oracleTerminalExcel.getShortCapacity(), 0, 0);
overlimit.setId(monitorPO.getId()); overlimit.setId(monitorPO.getId());
Overlimit overlimitRes = overlimitMapper.selectById(monitorPO.getId()); Overlimit overlimitRes = overlimitMapper.selectById(monitorPO.getId());
@@ -1828,13 +1810,10 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
} }
} }
}
}
} }
if (CollectionUtil.isNotEmpty(oracleTerminalExcelMsg)) { if (CollectionUtil.isNotEmpty(oracleTerminalExcelMsg)) {
ExcelUtil.exportExcel("失败列表.xlsx", OracleTerminalExcel.OracleTerminalExcelMsg.class, oracleTerminalExcelMsg); ExcelUtil.exportExcel("失败列表.xlsx", OracleTerminalExcel.OracleTerminalExcelMsg.class, oracleTerminalExcelMsg);
return null; return null;

View File

@@ -16,6 +16,10 @@ import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM; import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM;
import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO; import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO;
import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelMService; import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelMService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@@ -26,6 +30,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* @author jianghf * @author jianghf
@@ -43,6 +48,8 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl<PwRMpBenchmarkL
private final DistributionMonitorClient distributionMonitorClient; private final DistributionMonitorClient distributionMonitorClient;
private final DicDataFeignClient dicDataFeignClient;
/*** /***
* 配网-全网基准水平 * 配网-全网基准水平
@@ -71,6 +78,10 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl<PwRMpBenchmarkL
pwPmsMonitorParam.setOrgId(id); //单位id pwPmsMonitorParam.setOrgId(id); //单位id
pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级 pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.THREE_LINE.getCode(), DicDataTypeEnum.LINE_SORT.getCode()).getData();
pwPmsMonitorParam.setMonitorSort(Stream.of(dictData.getId()).collect(Collectors.toList()));
//临时调整为查询三类测点
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
if (CollUtil.isEmpty(monitorIds)) { if (CollUtil.isEmpty(monitorIds)) {
return new Page<>(); return new Page<>();

View File

@@ -15,6 +15,7 @@ import com.njcn.harmonic.pojo.po.RStatPwPermeabilityM;
import com.njcn.harmonic.pojo.vo.RStatPwPermeabilityMVO; import com.njcn.harmonic.pojo.vo.RStatPwPermeabilityMVO;
import com.njcn.harmonic.service.distribution.RStatPwPermeabilityMService; import com.njcn.harmonic.service.distribution.RStatPwPermeabilityMService;
import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData; import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -24,6 +25,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 各渗透率光伏台区基准水平 * 各渗透率光伏台区基准水平
@@ -68,6 +70,8 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl<RStatPwPermeabi
//根据条件查询单位下面的所有配网监测点 //根据条件查询单位下面的所有配网监测点
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam(); PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
pwPmsMonitorParam.setOrgId(id); //单位id pwPmsMonitorParam.setOrgId(id); //单位id
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.THREE_LINE.getCode(), DicDataTypeEnum.LINE_SORT.getCode()).getData();
pwPmsMonitorParam.setMonitorSort(Stream.of(dictData.getId()).collect(Collectors.toList()));
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData(); List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
if (CollUtil.isEmpty(monitorIds)) { if (CollUtil.isEmpty(monitorIds)) {
return new Page<>(); return new Page<>();

View File

@@ -93,7 +93,7 @@ public class RStatOrgMServiceImpl extends ServiceImpl<RStatOrgMMapper, RStatOrgM
if(rStatOrgM.getHarmonicMeasurementAverage()!=null&&rStatOrgM.getEffectiveMeasurementAverage()!=null&& if(rStatOrgM.getHarmonicMeasurementAverage()!=null&&rStatOrgM.getEffectiveMeasurementAverage()!=null&&
rStatOrgM.getHarmonicMeasurementAverage()!=0&&rStatOrgM.getEffectiveMeasurementAverage()!=0){ rStatOrgM.getHarmonicMeasurementAverage()!=0&&rStatOrgM.getEffectiveMeasurementAverage()!=0){
Float harmonicMeasurementRatioAverage = Float.parseFloat( Float harmonicMeasurementRatioAverage = Float.parseFloat(
df.format(rStatOrgM.getHarmonicMeasurementAverage()*100.0 / rStatOrgM.getEffectiveMeasurementAverage())); df.format(rStatOrgM.getHarmonicMeasurementAverage() / rStatOrgM.getEffectiveMeasurementAverage()));
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage); rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
}else{ }else{
rStatOrgVO.setHarmonicMeasurementRatioAverage(0.0f); rStatOrgVO.setHarmonicMeasurementRatioAverage(0.0f);
@@ -101,7 +101,7 @@ public class RStatOrgMServiceImpl extends ServiceImpl<RStatOrgMMapper, RStatOrgM
if(rStatOrgM.getHarmonicMeasurementAccrued()!=null&&rStatOrgM.getEffectiveMeasurementAccrued()!=null&& if(rStatOrgM.getHarmonicMeasurementAccrued()!=null&&rStatOrgM.getEffectiveMeasurementAccrued()!=null&&
rStatOrgM.getHarmonicMeasurementAccrued()!=0&&rStatOrgM.getEffectiveMeasurementAccrued()!=0){ rStatOrgM.getHarmonicMeasurementAccrued()!=0&&rStatOrgM.getEffectiveMeasurementAccrued()!=0){
Float harmonicMeasurementRatioAccrued = Float.parseFloat( Float harmonicMeasurementRatioAccrued = Float.parseFloat(
df.format(rStatOrgM.getHarmonicMeasurementAccrued()*100.0 / rStatOrgM.getEffectiveMeasurementAccrued() )); df.format(rStatOrgM.getHarmonicMeasurementAccrued() / rStatOrgM.getEffectiveMeasurementAccrued() ));
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued); rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
}else{ }else{
rStatOrgVO.setHarmonicMeasurementRatioAccrued(0.0f); rStatOrgVO.setHarmonicMeasurementRatioAccrued(0.0f);

View File

@@ -23,9 +23,13 @@ spring:
ip: @service.server.url@ ip: @service.server.url@
server-addr: @nacos.url@ server-addr: @nacos.url@
namespace: @nacos.namespace@ namespace: @nacos.namespace@
#username: @nacos.username@
#password: @nacos.password@
config: config:
server-addr: @nacos.url@ server-addr: @nacos.url@
namespace: @nacos.namespace@ namespace: @nacos.namespace@
#username: @nacos.username@
#password: @nacos.password@
file-extension: yaml file-extension: yaml
shared-configs: shared-configs:
- data-id: share-config.yaml - data-id: share-config.yaml

View File

@@ -225,7 +225,7 @@ public class ExecutionCenter extends BaseController {
@PostMapping("/orgPointExecutor") @PostMapping("/orgPointExecutor")
@Async("asyncExecutor") @Async("asyncExecutor")
public void orgPointExecutor(@RequestBody BaseParam baseParam) { public void orgPointExecutor(@RequestBody BaseParam baseParam) {
String methodDescribe = getMethodDescribe("OrgPointExecutor"); String methodDescribe = getMethodDescribe("orgPointExecutor");
//手动判断参数是否合法, //手动判断参数是否合法,
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = judgeExecuteParam(baseParam); CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = judgeExecuteParam(baseParam);
// 测点索引 // 测点索引

View File

@@ -86,13 +86,6 @@ public class IntegrityServiceImpl extends MppServiceImpl<RStatIntegrityDMapper,
RStatIntegrityD integrityDpo = new RStatIntegrityD(); RStatIntegrityD integrityDpo = new RStatIntegrityD();
integrityDpo.setTimeId(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); integrityDpo.setTimeId(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
integrityDpo.setLineIndex(item.getPointId()); integrityDpo.setLineIndex(item.getPointId());
if(Objects.isNull(item.getInterval())){
System.out.println("遇到空指针异常+++++++++++++++++++++++++++++++++"+item);
System.out.println("遇到空指针异常+++++++++++++++++++++++++++++++++"+item);
System.out.println("遇到空指针异常+++++++++++++++++++++++++++++++++"+item);
System.out.println(item.getPointId());
}
integrityDpo.setDueTime(InfluxDBTableConstant.DAY_MINUTE / item.getInterval()); integrityDpo.setDueTime(InfluxDBTableConstant.DAY_MINUTE / item.getInterval());
integrityDpo.setRealTime(countList.stream() integrityDpo.setRealTime(countList.stream()
.filter(item2 -> Objects.equals(item.getPointId(), item2.getLineId())) .filter(item2 -> Objects.equals(item.getPointId(), item2.getLineId()))

View File

@@ -10,7 +10,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
/** /**
* 用于pms往国网推送公共连接点数据定时任务 * 主配网监测点
*/ */
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor