pms代码调整

This commit is contained in:
2023-06-14 16:48:05 +08:00
parent b33312122f
commit 3146847c71
16 changed files with 290 additions and 244 deletions

View File

@@ -1,4 +1,4 @@
package com.njcn.device.pq.pojo.po; package com.njcn.device.biz.pojo.po;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;

View File

@@ -163,16 +163,10 @@ public class MonitorParam {
/** /**
* 监测点标签 * 监测点标签
*/ */
@ApiModelProperty(value = "监测点标签") @ApiModelProperty(value = "监测对象类型(字典)")
@NotBlank(message = "监测点标签不可为空") @NotBlank(message = "监测对象类型(字典)不可为空")
private String monitorTag; private String monitorTag;
/**
* 监测对象类型(字典)
*/
@ApiModelProperty(value = "监测对象类型(字典)")
@NotBlank(message = "监测对象类型不可为空")
private String monitorObjectType;
/** /**
* 监测对象编号 * 监测对象编号

View File

@@ -138,10 +138,6 @@ public class Monitor extends BaseEntity {
*/ */
private String monitorTag; private String monitorTag;
/**
* 监测对象类型(字典)
*/
private String monitorObjectType;
/** /**
* 监测对象编号 * 监测对象编号

View File

@@ -290,14 +290,15 @@ public class PmsMonitorController extends BaseController {
*/ */
@PostMapping("/importOracleLedgerToMysql") @PostMapping("/importOracleLedgerToMysql")
@ApiOperation("oracle系统监测点转mysql主网监测点") @ApiOperation("oracle系统监测点转mysql主网监测点")
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.UPLOAD)
public HttpResult<Object> importOracleLedgerToMysql(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) { public HttpResult<Object> importOracleLedgerToMysql(@ApiParam(value = "文件", required = true) @RequestPart("file") MultipartFile file, HttpServletResponse response) {
String methodDescribe = getMethodDescribe("importOracleLedgerToMysql"); String methodDescribe = getMethodDescribe("importOracleLedgerToMysql");
boolean res = monitorService.importOracleLedgerToMysql(file,response); String result = monitorService.importOracleLedgerToMysql(file,response);
if(res){
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
return null;
if (Objects.isNull(result)) {
return null;
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} }

View File

@@ -0,0 +1,19 @@
package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.biz.pojo.po.DeviceBak;
/**
* <p>
* Mapper 接口
* </p>
*
* @author cdf
* @since 2022-01-04
*/
public interface DeviceBakMapper extends BaseMapper<DeviceBak> {
}

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.mapper.majornetwork; package com.njcn.device.pms.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO; import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO; import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationSonDTO;
import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO; import com.njcn.device.pms.pojo.dto.PmsGeneratrixDTO;
@@ -19,7 +20,7 @@ import java.util.List;
* @date 2022/10/26 * @date 2022/10/26
*/ */
@Mapper @Mapper
public interface PmsGeneratrixWireMapper extends BaseMapper<GeneratrixWire> { public interface PmsGeneratrixWireMapper extends MppBaseMapper<GeneratrixWire> {
/** /**

View File

@@ -49,9 +49,12 @@
inner join sys_dept b on a.org_id = b.code and b.state = 1 inner join sys_dept b on a.org_id = b.code and b.state = 1
where a.status = 1 where a.status = 1
<if test="baseParam.searchValue!=null and baseParam.searchValue!=''"> <if test="baseParam.searchValue!=null and baseParam.searchValue!=''">
and a.Power_Id like concat('%',#{baseParam.searchValue},'%') and
(
a.Power_Id like concat('%',#{baseParam.searchValue},'%')
or a.Power_Name like concat('%',#{baseParam.searchValue},'%') or a.Power_Name like concat('%',#{baseParam.searchValue},'%')
or b.name like concat('%',#{baseParam.searchValue},'%') or b.name like concat('%',#{baseParam.searchValue},'%')
)
</if> </if>
order by a.Create_Time desc order by a.Create_Time desc
</select> </select>

View File

@@ -151,7 +151,7 @@ public interface IMonitorService extends IService<Monitor> {
* @author cdf * @author cdf
* @date 2023/6/8 * @date 2023/6/8
*/ */
boolean importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response); String importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response);

View File

@@ -20,6 +20,7 @@ import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.biz.pojo.po.DeviceBak;
import com.njcn.device.biz.utils.COverlimit; import com.njcn.device.biz.utils.COverlimit;
import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.enums.PmsDeviceResponseEnum;
@@ -98,6 +99,8 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
private final LineBakMapper lineBakMapper; private final LineBakMapper lineBakMapper;
private final DeviceBakMapper deviceBakMapper;
@Override @Override
public List<PmsMonitorBaseDTO> getMonitorByCondition(List<String> deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) { public List<PmsMonitorBaseDTO> getMonitorByCondition(List<String> deptIdList, PmsDeviceInfoParam pmsDeviceInfoParam) {
@@ -390,28 +393,29 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
} }
@Override @Override
public boolean importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response) { @Transactional(rollbackFor = Exception.class)
public String importOracleLedgerToMysql(MultipartFile file, HttpServletResponse response) {
ImportParams importParams = new ImportParams(); ImportParams importParams = new ImportParams();
importParams.setHeadRows(1); importParams.setHeadRows(1);
importParams.setTitleRows(1); importParams.setTitleRows(1);
importParams.setNeedVerify(true); importParams.setNeedVerify(true);
try { try {
ExcelImportResult<OracleTerminalExcel> terminalExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), OracleTerminalExcel.class, importParams); ExcelImportResult<OracleTerminalExcel> terminalExcelExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), OracleTerminalExcel.class, importParams);
//如果存在非法数据,将不合格的数据导出 //如果存在非法数据,将不合格的数据导出
if (terminalExcelExcelImportResult.isVerifyFail()) { if (terminalExcelExcelImportResult.isVerifyFail()) {
PoiUtil.exportFileByWorkbook(terminalExcelExcelImportResult.getFailWorkbook(), "非法台账信息.xlsx", response); PoiUtil.exportFileByWorkbook(terminalExcelExcelImportResult.getFailWorkbook(), "非法台账信息.xlsx", response);
return null;
} else { } else {
//执行台账信息导入(不考虑,存在监测点却不存在限值信息) //执行台账信息导入(不考虑,存在监测点却不存在限值信息)
dealData(terminalExcelExcelImportResult.getList()); return dealData(terminalExcelExcelImportResult.getList());
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new BusinessException(DeviceResponseEnum.IMPORT_ORACLE_EXCEPTION); throw new BusinessException(DeviceResponseEnum.IMPORT_ORACLE_EXCEPTION);
} }
return true;
} }
@@ -499,11 +503,6 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
throw new BusinessException(SystemResponseEnum.MONITOR_TAG_EMPTY); throw new BusinessException(SystemResponseEnum.MONITOR_TAG_EMPTY);
} }
//校验监测对象类型
DictData objTypeDic = dicDataFeignClient.getDicDataById(monitorParam.getMonitorObjectType()).getData();
if (Objects.isNull(objTypeDic)) {
throw new BusinessException(SystemResponseEnum.MONITORY_TYPE_EMPTY);
}
//校验监测终端接线方式 //校验监测终端接线方式
DictData wireDic = dicDataFeignClient.getDicDataById(monitorParam.getTerminalWiringMethod()).getData(); DictData wireDic = dicDataFeignClient.getDicDataById(monitorParam.getTerminalWiringMethod()).getData();
@@ -590,6 +589,23 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
List<DictData> manList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_MANUFACTURER.getCode()).getData(); List<DictData> manList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_MANUFACTURER.getCode()).getData();
Map<String, DictData> manDicMap = manList.stream().collect(Collectors.toMap(DictData::getName, Function.identity())); Map<String, DictData> manDicMap = manList.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
//装作等级
DictData devGrade = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_GRADE.getName(), DicDataEnum.MOST_IMPORMENT.getName()).getData();
//
DictData devInputType = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.INPUT_SIGNAL.getName(), DicDataEnum.SIMULATION_SIGNAL.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.getDicDataByNameAndTypeName(DicDataTypeEnum.VOLTAGE_TRANSFORMER.getName(), DicDataEnum.Cap_V.getName()).getData();
DictData neutralDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.Neutral_Point.getName(), DicDataEnum.Ground_Res.getName()).getData();
for (OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList) { for (OracleTerminalExcel oracleTerminalExcel : oracleTerminalExcelList) {
//单位 //单位
@@ -599,12 +615,9 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
} }
//判断是否操作过该条记录 //判断是否操作过该条记录
LineBak lineBak = lineBakMapper.selectById(oracleTerminalExcel.getId()); LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>().eq(LineBak::getLineId,oracleTerminalExcel.getId()));
if (Objects.nonNull(lineBak)) {
//不为空默认已经存在监测点,提示先删除对应监测点 DeviceBak deviceBak = deviceBakMapper.selectOne(new LambdaQueryWrapper<DeviceBak>().eq(DeviceBak::getDevId,oracleTerminalExcel.getDeviceId()));
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "mysql库中已经存在该监测点请先删除监测点"));
continue;
}
//单位 //单位
@@ -617,111 +630,127 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
.eq(StatationStat::getOrgId, deptDTO.getCode()); .eq(StatationStat::getOrgId, deptDTO.getCode());
StatationStat statationStat = statationStatMapper.selectOne(statLambdaQueryWrapper); StatationStat statationStat = statationStatMapper.selectOne(statLambdaQueryWrapper);
if (Objects.isNull(statationStat)) { StatationStat statationStatPO = new StatationStat();
StatationStat statationStatPO = new StatationStat(); statationStatPO.setOrgId(deptDTO.getCode());
statationStatPO.setOrgId(deptDTO.getCode()); statationStatPO.setOrgName(deptDTO.getName());
statationStatPO.setOrgName(deptDTO.getName()); statationStatPO.setPowerName(oracleTerminalExcel.getSubstationName());
statationStatPO.setPowerName(oracleTerminalExcel.getSubstationName()); statationStatPO.setLongitude(oracleTerminalExcel.getLng().doubleValue());
statationStatPO.setLongitude(oracleTerminalExcel.getLng().doubleValue()); statationStatPO.setLatitude(oracleTerminalExcel.getLat().doubleValue());
statationStatPO.setLatitude(oracleTerminalExcel.getLat().doubleValue()); statationStatPO.setShouldBeNum(100);
statationStatPO.setShouldBeNum(100); statationStatPO.setStatus(DataStateEnum.ENABLE.getCode());
statationStatPO.setStatus(DataStateEnum.ENABLE.getCode());
String dicVoltage = dealVoltageLevel(oracleTerminalExcel.getSubStationScale()); String dicVoltage = dealVoltageLevel(oracleTerminalExcel.getSubStationScale());
if (voltageLevelMap.containsKey(dicVoltage)) { if (voltageLevelMap.containsKey(dicVoltage)) {
statationStatPO.setVoltageLevel(voltageLevelMap.get(dicVoltage).getId()); statationStatPO.setVoltageLevel(voltageLevelMap.get(dicVoltage).getId());
} else { } else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "变电站电压等级不存在,请确认电压等级存在")); oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典变电站电压等级不存在,请确认电压等级存在"));
continue; continue;
} }
if (Objects.isNull(statationStat)) {
statationStatMapper.insert(statationStatPO); statationStatMapper.insert(statationStatPO);
stationId = statationStatPO.getPowerId(); stationId = statationStatPO.getPowerId();
stationName = statationStatPO.getPowerName(); stationName = statationStatPO.getPowerName();
} else { } else {
//更新信息
statationStatPO.setPowerId(statationStat.getPowerId());
statationStatMapper.updateById(statationStatPO);
stationId = statationStat.getPowerId(); stationId = statationStat.getPowerId();
stationName = statationStat.getPowerName(); stationName = statationStat.getPowerName();
} }
//装置 //装置
String devId = null; String devId = null;
LambdaQueryWrapper<PmsTerminal> terminalLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsTerminal> terminalLambdaQueryWrapper = new LambdaQueryWrapper<>();
terminalLambdaQueryWrapper.eq(PmsTerminal::getName, oracleTerminalExcel.getDeviceName()) terminalLambdaQueryWrapper.eq(PmsTerminal::getName, oracleTerminalExcel.getDeviceName())
.eq(PmsTerminal::getPowerStationId, stationId); .eq(PmsTerminal::getPowerStationId, stationId);
PmsTerminal pmsTerminal = terminalMapper.selectOne(terminalLambdaQueryWrapper); PmsTerminal pmsTerminal = terminalMapper.selectOne(terminalLambdaQueryWrapper);
if (Objects.isNull(pmsTerminal)) {
PmsTerminal pmsTerminalPO = new PmsTerminal();
pmsTerminalPO.setOrgId(deptDTO.getCode());
pmsTerminalPO.setOrgName(deptDTO.getName());
pmsTerminalPO.setName(oracleTerminalExcel.getDeviceName());
pmsTerminalPO.setOperationId(deptDTO.getCode());
pmsTerminalPO.setOperationName(deptDTO.getName());
pmsTerminalPO.setPowerrName(stationName);
pmsTerminalPO.setPowerStationId(stationId);
pmsTerminalPO.setIp(oracleTerminalExcel.getIp());
pmsTerminalPO.setUseDate(oracleTerminalExcel.getLoginTime());
pmsTerminalPO.setVerificationDate(oracleTerminalExcel.getThisTimeCheck());
pmsTerminalPO.setDeviceCategory(devCategoryDic.getId()); PmsTerminal pmsTerminalPO = new PmsTerminal();
pmsTerminalPO.setOrgId(deptDTO.getCode());
pmsTerminalPO.setOrgName(deptDTO.getName());
pmsTerminalPO.setName(oracleTerminalExcel.getDeviceName());
pmsTerminalPO.setOperationId(deptDTO.getCode());
pmsTerminalPO.setOperationName(deptDTO.getName());
pmsTerminalPO.setPowerrName(stationName);
pmsTerminalPO.setPowerStationId(stationId);
pmsTerminalPO.setIp(oracleTerminalExcel.getIp());
pmsTerminalPO.setUseDate(oracleTerminalExcel.getLoginTime());
pmsTerminalPO.setVerificationDate(oracleTerminalExcel.getThisTimeCheck());
pmsTerminalPO.setDeviceCategory(devCategoryDic.getId());
if (devTypelDicMap.containsKey(oracleTerminalExcel.getDevType())) { if (devTypelDicMap.containsKey(oracleTerminalExcel.getDevType())) {
pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId()); pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
} else { } else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "装置类型不存在,请确认后重试")); oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置类型不存在,请确认后重试"));
continue; continue;
} }
//终端状态
if (devTypelDicMap.containsKey(oracleTerminalExcel.getDevType())) {
pmsTerminalPO.setDeviceModel(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置类型不存在,请确认后重试"));
continue;
}
String devState = null;
switch (oracleTerminalExcel.getRunFlag()) {
case 0:
devState = DicDataEnum.RUNNING.getName();
break;
case 1:
devState = DicDataEnum.NOT_OPERATION.getName();
break;
case 2:
devState = DicDataEnum.RETIRE.getName();
break;
}
if (devStateDicMap.containsKey(devState)) {
pmsTerminalPO.setTerminalState(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置运行状态不存在,请确认后重试"));
continue;
}
DictData devGrade = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_GRADE.getName(), DicDataEnum.MOST_IMPORMENT.getName()).getData();
pmsTerminalPO.setTerminalLevel(devGrade.getId());
DictData devInputType = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.INPUT_SIGNAL.getName(), DicDataEnum.SIMULATION_SIGNAL.getName()).getData();
pmsTerminalPO.setInputType(devInputType.getId());
/* if (devTypelDicMap.containsKey(oracleTerminalExcel.getDevType())) {
pmsTerminalPO.setTerminalState(devTypelDicMap.get(oracleTerminalExcel.getDevType()).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典终端状态不存在,请确认后重试"));
continue;
}*/
pmsTerminalPO.setStatus(DataStateEnum.ENABLE.getCode()); //终端状态
pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString()); String devState = null;
pmsTerminalPO.setIsUpToGrid(0); switch (oracleTerminalExcel.getRunFlag()) {
case 0:
if(manDicMap.containsKey(oracleTerminalExcel.getManufacturer())){ devState = DicDataEnum.RUNNING.getName();
pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId()); break;
}else { case 1:
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试")); devState = DicDataEnum.NOT_OPERATION.getName();
continue; break;
} case 2:
devState = DicDataEnum.RETIRE.getName();
break;
}
if (devStateDicMap.containsKey(devState)) {
pmsTerminalPO.setTerminalState(devStateDicMap.get(devState).getId());
} else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典装置运行状态不存在,请确认后重试"));
continue;
}
pmsTerminalPO.setTerminalLevel(devGrade.getId());
pmsTerminalPO.setInputType(devInputType.getId());
pmsTerminalPO.setStatus(DataStateEnum.ENABLE.getCode());
pmsTerminalPO.setPort(oracleTerminalExcel.getPort().toString());
pmsTerminalPO.setIsUpToGrid(0);
if(manDicMap.containsKey(oracleTerminalExcel.getManufacturer())){
pmsTerminalPO.setManufacture(manDicMap.get(oracleTerminalExcel.getManufacturer()).getId());
}else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典制造厂商不存在,请确认后重试"));
continue;
}
if (Objects.isNull(pmsTerminal) && Objects.isNull(deviceBak)) {
terminalMapper.insert(pmsTerminalPO); terminalMapper.insert(pmsTerminalPO);
devId = pmsTerminalPO.getId(); devId = pmsTerminalPO.getId();
DeviceBak deviceBakPO = new DeviceBak();
deviceBakPO.setId(devId);
deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId());
deviceBakMapper.insert(deviceBakPO);
} else { } else {
devId = pmsTerminal.getId(); if(Objects.isNull(deviceBak)) {
pmsTerminalPO.setId(pmsTerminal.getId());
DeviceBak deviceBakPO = new DeviceBak();
deviceBakPO.setId(pmsTerminal.getId());
deviceBakPO.setDevId(oracleTerminalExcel.getDeviceId());
deviceBakMapper.insert(deviceBakPO);
terminalMapper.updateById(pmsTerminalPO);
devId = pmsTerminal.getId();
}else if(Objects.isNull(pmsTerminal)){
terminalMapper.deleteById(deviceBak.getId());
pmsTerminalPO.setId(deviceBak.getId());
terminalMapper.insert(pmsTerminalPO);
devId = pmsTerminalPO.getId();
}else {
devId = pmsTerminal.getId();
}
} }
//线路 //线路
@@ -732,149 +761,140 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
String lineId = null, lineName = null, genScale = null; String lineId = null, lineName = null, genScale = null;
if (Objects.isNull(generatrixWire)) {
GeneratrixWire generatrixWirePO = new GeneratrixWire();
generatrixWirePO.setGeneratrixName(oracleTerminalExcel.getSubvName());
generatrixWirePO.setStatus(DataStateEnum.ENABLE.getCode());
generatrixWirePO.setName(oracleTerminalExcel.getSubvName());
generatrixWirePO.setOrgId(deptDTO.getCode());
generatrixWirePO.setStationId(stationId);
generatrixWirePO.setStationName(stationName);
String dicVoltage = dealVoltageLevel(oracleTerminalExcel.getSubvScale()); GeneratrixWire generatrixWirePO = new GeneratrixWire();
if (voltageLevelMap.containsKey(dicVoltage)) { generatrixWirePO.setGeneratrixName(oracleTerminalExcel.getSubvName());
DictData temVoltage = voltageLevelMap.get(dicVoltage); generatrixWirePO.setStatus(DataStateEnum.ENABLE.getCode());
generatrixWirePO.setScale(temVoltage.getId()); generatrixWirePO.setName(oracleTerminalExcel.getSubvName());
} generatrixWirePO.setOrgId(deptDTO.getCode());
generatrixWirePO.setStationId(stationId);
generatrixWirePO.setStationName(stationName);
String dicVoltagePms = dealVoltageLevel(oracleTerminalExcel.getSubvScale());
if (voltageLevelMap.containsKey(dicVoltagePms)) {
DictData temVoltage = voltageLevelMap.get(dicVoltagePms);
generatrixWirePO.setScale(temVoltage.getId());
}else {
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典母线电压等级不存在,请确认后重试"));
continue;
}
if (Objects.isNull(generatrixWire)) {
generatrixWireMapper.insert(generatrixWirePO); generatrixWireMapper.insert(generatrixWirePO);
lineId = generatrixWirePO.getId(); lineId = generatrixWirePO.getId();
lineName = generatrixWirePO.getName(); lineName = generatrixWirePO.getName();
genScale = generatrixWirePO.getScale(); genScale = generatrixWirePO.getScale();
} else { } else {
generatrixWirePO.setId(generatrixWire.getId());
generatrixWireMapper.updateById(generatrixWirePO);
lineId = generatrixWire.getId(); lineId = generatrixWire.getId();
lineName = generatrixWire.getName(); lineName = generatrixWirePO.getName();
genScale = generatrixWire.getScale(); genScale = generatrixWirePO.getScale();
} }
//监测点 //监测点
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getPowerrId, stationId) monitorLambdaQueryWrapper.eq(Monitor::getLineId, lineId)
.eq(Monitor::getName, oracleTerminalExcel.getLineName()); .eq(Monitor::getName, oracleTerminalExcel.getLineName());
Monitor monitor = monitorMapper.selectOne(monitorLambdaQueryWrapper); Monitor monitor = monitorMapper.selectOne(monitorLambdaQueryWrapper);
if (Objects.isNull(monitor)) {
//当前电站下面没有监测点,可以新增
Monitor monitorPO = new Monitor();
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);
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;
}
DictData monitorType = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_TYPE.getName(), DicDataEnum.Power_Supply_Point.getName()).getData();
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.getVoltageDev());
monitorPO.setVoltageDeviationUpperLimit(overlimitTem.getUvoltageDev());
DictData potentialDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.VOLTAGE_TRANSFORMER.getName(), DicDataEnum.Cap_V.getName()).getData(); //当前电站下面没有监测点,可以新增
monitorPO.setPotentialTransFormerType(potentialDic.getId()); Monitor monitorPO = new Monitor();
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);
DictData neutralDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.Neutral_Point.getName(), DicDataEnum.Ground_Res.getName()).getData(); String monitorState = null;
monitorPO.setNeutralGroundingMode(neutralDic.getId()); 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;
monitorPO.setIsSpecialSupplyElectricity(0); }
if (monitorStateDicMap.containsKey(monitorState)) {
monitorPO.setMonitorState(monitorStateDicMap.get(monitorState).getId());
} 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);
if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) { if (objTypeDicMap.containsKey(oracleTerminalExcel.getLoadType())) {
String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId(); String objTypeId = objTypeDicMap.get(oracleTerminalExcel.getLoadType()).getId();
monitorPO.setMonitorTag(objTypeId); monitorPO.setMonitorTag(objTypeId);
monitorPO.setMonitorObjectType(objTypeId); } else {
} else { oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测对象类型不存在,请确认后重试"));
oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典监测对象类型不存在,请确认后重试")); continue;
continue; }
}
monitorPO.setStatisticalInterval(oracleTerminalExcel.getTimeInterval());
monitorPO.setTerminalId(devId);
//接线方式 String wireMethod = "";
List<DictData> wireList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData(); switch (oracleTerminalExcel.getPtType()) {
Map<String, DictData> wireListMap = wireList.stream().collect(Collectors.toMap(DictData::getName, Function.identity())); case 0:
wireMethod = DicDataEnum.STAR.getName();
String wireMethod = ""; break;
switch (oracleTerminalExcel.getPtType()) { case 1:
case 0: wireMethod = DicDataEnum.STAR_TRIANGLE.getName();
wireMethod = DicDataEnum.STAR.getName(); break;
break; case 2:
case 1: wireMethod = DicDataEnum.OPEN_DELTA.getName();
wireMethod = DicDataEnum.STAR_TRIANGLE.getName(); break;
break; default:
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, "字典接线方式不存在,请确认后重试")); oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试"));
continue; break;
} }
monitorPO.setIsUpToGrid(0); if (wireListMap.containsKey(wireMethod)) {
monitorPO.setStatus(DataStateEnum.ENABLE.getCode()); monitorPO.setTerminalWiringMethod(wireListMap.get(wireMethod).getId());
monitorPO.setIsSpecialMonitor(0); } else {
monitorPO.setPt1(oracleTerminalExcel.getPt1()); oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "字典接线方式不存在,请确认后重试"));
monitorPO.setPt2(oracleTerminalExcel.getPt2()); continue;
monitorPO.setCt1(oracleTerminalExcel.getCt1()); }
monitorPO.setCt2(oracleTerminalExcel.getCt2()); monitorPO.setIsUpToGrid(0);
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 (Objects.isNull(lineBak) && Objects.isNull(monitor)) {
monitorMapper.insert(monitorPO); monitorMapper.insert(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());
if (Objects.isNull(overlimitRes)) { if (Objects.isNull(overlimitRes)) {
overlimitMapper.insert(overlimit); overlimitMapper.insert(overlimit);
@@ -886,6 +906,19 @@ 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 {
if(Objects.isNull(lineBak)){
LineBak lineBakPO = new LineBak();
lineBakPO.setId(monitor.getId());
lineBakPO.setLineId(oracleTerminalExcel.getId());
lineBakMapper.insert(lineBakPO);
monitorMapper.updateById(monitorPO);
}else if(Objects.isNull(monitor)){
monitorMapper.deleteById(lineBak.getId());
monitorPO.setId(lineBak.getId());
monitorMapper.insert(monitorPO);
}
} }
@@ -900,7 +933,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
private String dealVoltageLevel(String voltage) { private String dealVoltageLevel(String voltage) {
int scale = Integer.parseInt(voltage.substring(0, voltage.indexOf("kV"))); float scale = Float.parseFloat(voltage.substring(0, voltage.indexOf("kV")));
if (scale < 500) { if (scale < 500) {
return "交流" + voltage; return "交流" + voltage;
} else { } else {

View File

@@ -93,7 +93,7 @@ implements RMpMonitorAlarmCountMService {
//根据条件查询单位下面的所有监测点 //根据条件查询单位下面的所有监测点
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.in(Monitor::getOrgId, orgCodeList) //单位code monitorLambdaQueryWrapper.in(Monitor::getOrgId, orgCodeList) //单位code
.eq(StringUtils.isNotBlank(monitorObjectType), Monitor::getMonitorObjectType, monitorObjectType) //监测点对象类型id .eq(StringUtils.isNotBlank(monitorObjectType), Monitor::getMonitorTag, monitorObjectType) //监测点对象类型id
.in(CollUtil.isNotEmpty(voltageLevelParamList), Monitor::getVoltageLevel, voltageLevelParamList) //电压等级id .in(CollUtil.isNotEmpty(voltageLevelParamList), Monitor::getVoltageLevel, voltageLevelParamList) //电压等级id
.like(StringUtils.isNotBlank(monitorName), Monitor::getName, monitorName); //监测点名称 .like(StringUtils.isNotBlank(monitorName), Monitor::getName, monitorName); //监测点名称
//监测点集合 //监测点集合

View File

@@ -2,7 +2,7 @@ package com.njcn.device.pq.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.device.pq.pojo.po.DeviceBak; import com.njcn.device.biz.pojo.po.DeviceBak;
/** /**
* <p> * <p>

View File

@@ -2,7 +2,7 @@ package com.njcn.device.pq.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.po.DeviceBak; import com.njcn.device.biz.pojo.po.DeviceBak;
/** /**
* 监测点类 * 监测点类

View File

@@ -2,7 +2,7 @@ package com.njcn.device.pq.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.device.pq.mapper.DeviceBakMapper; import com.njcn.device.pq.mapper.DeviceBakMapper;
import com.njcn.device.pq.pojo.po.DeviceBak; import com.njcn.device.biz.pojo.po.DeviceBak;
import com.njcn.device.pq.service.DeviceBakService; import com.njcn.device.pq.service.DeviceBakService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -5,7 +5,6 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@@ -20,6 +19,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.LogUtil;
import com.njcn.common.utils.PubUtils; import com.njcn.common.utils.PubUtils;
import com.njcn.device.biz.enums.DeviceResponseEnum; import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.device.biz.pojo.po.DeviceBak;
import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.device.biz.utils.COverlimitUtil; import com.njcn.device.biz.utils.COverlimitUtil;
import com.njcn.device.pq.enums.LineBaseEnum; import com.njcn.device.pq.enums.LineBaseEnum;
@@ -34,7 +34,6 @@ import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.po.*; import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*; import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.*; import com.njcn.device.pq.service.*;
import com.njcn.device.pq.utils.DeviceUtil;
import com.njcn.device.pq.utils.ExcelStyleUtil; import com.njcn.device.pq.utils.ExcelStyleUtil;
import com.njcn.poi.excel.ExcelUtil; import com.njcn.poi.excel.ExcelUtil;
import com.njcn.poi.util.PoiUtil; import com.njcn.poi.util.PoiUtil;

View File

@@ -257,7 +257,7 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService
Map<String, PvTerminalTreeVO> pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); Map<String, PvTerminalTreeVO> pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO));
//2、取干扰源类型 //2、取干扰源类型
List<DictData> loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE.getCode()).getData(); List<DictData> loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
Map<String, DictData> loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); Map<String, DictData> loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData));
//3、取入网报告状态 //3、取入网报告状态
@@ -310,7 +310,7 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService
Map<String, PvTerminalTreeVO> pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO)); Map<String, PvTerminalTreeVO> pvTerminalTreeVOMap = dept.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, pvTerminalTreeVO -> pvTerminalTreeVO));
//2、取干扰源类型 //2、取干扰源类型
List<DictData> loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INTERFERENCE_SOURCE.getCode()).getData(); List<DictData> loadTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
Map<String, DictData> loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData)); Map<String, DictData> loadTypeMap = loadTypeList.stream().collect(Collectors.toMap(DictData::getId, dictData -> dictData));
//3、取实测报告状态 //3、取实测报告状态

View File

@@ -42,7 +42,7 @@ public enum DicDataTypeEnum {
LINE_TYPE("监测点类型","Line_Type"), LINE_TYPE("监测点类型","Line_Type"),
STEADY_STATIS("稳态统计指标","Steady_Statis"), STEADY_STATIS("稳态统计指标","Steady_Statis"),
EVENT_STATIS("暂态指标","Event_Statis"), EVENT_STATIS("暂态指标","Event_Statis"),
MONITORING_LABELS("监测点标签","Monitoring_Labels"), MONITORING_LABELS("监测对象类型","Monitoring_Labels"),
POLLUTION_STATIS("污区图统计类型","Pollution_Statis"), POLLUTION_STATIS("污区图统计类型","Pollution_Statis"),
BENCHMARK_INDICATORS("基准水平评价指标","Benchmark_Indicator"), BENCHMARK_INDICATORS("基准水平评价指标","Benchmark_Indicator"),
LINE_SORT("监测点类别","Line_Sort"), LINE_SORT("监测点类别","Line_Sort"),
@@ -55,7 +55,7 @@ public enum DicDataTypeEnum {
AREA_PQ_EVENT_TYPE("台区电能质量事件类型","area_pq_event_type"), AREA_PQ_EVENT_TYPE("台区电能质量事件类型","area_pq_event_type"),
LINE_STATE("监测点状态","Line_State"), LINE_STATE("监测点状态","Line_State"),
DEVICE_STATUS("设备状态","Device_Status"), DEVICE_STATUS("设备状态","Device_Status"),
INTERFERENCE_SOURCE("监测对象类别","Interference_Source"), //INTERFERENCE_SOURCE("监测对象类别","Interference_Source"),
PLAN_TAKE("计划采取实施","Plan_Take"), PLAN_TAKE("计划采取实施","Plan_Take"),
MONITOR_OBJ("监测对象","Monitor_Obj"), MONITOR_OBJ("监测对象","Monitor_Obj"),
CONNET_GROUP_WAY("牵引站变压器接线方式","Connet_Group_Way"), CONNET_GROUP_WAY("牵引站变压器接线方式","Connet_Group_Way"),