pms国网上送代码提交
This commit is contained in:
@@ -239,6 +239,11 @@ public class Monitor extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Integer monitorUploadStatus;
|
private Integer monitorUploadStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(限值)
|
||||||
|
*/
|
||||||
|
private Integer monitorOverlimitStatus;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 牵引站id
|
* 牵引站id
|
||||||
|
|||||||
@@ -14,15 +14,19 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||||
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
|
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
|
||||||
import com.njcn.device.pms.mapper.majornetwork.OverlimitMapper;
|
import com.njcn.device.pms.mapper.majornetwork.OverlimitMapper;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper;
|
||||||
import com.njcn.device.pms.pojo.dto.MonitorLimitDTO;
|
import com.njcn.device.pms.pojo.dto.MonitorLimitDTO;
|
||||||
import com.njcn.device.pms.pojo.dto.PushMonitorDTO;
|
import com.njcn.device.pms.pojo.dto.PushMonitorDTO;
|
||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
|
import com.njcn.device.pms.pojo.po.StatationStat;
|
||||||
import com.njcn.device.pms.pojo.vo.gw.OtherUserDto;
|
import com.njcn.device.pms.pojo.vo.gw.OtherUserDto;
|
||||||
import com.njcn.device.pms.service.gwPush.GwMonitorPushService;
|
import com.njcn.device.pms.service.gwPush.GwMonitorPushService;
|
||||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
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 com.njcn.system.pojo.po.SysDicTreePO;
|
||||||
import com.njcn.web.enums.GWSendEnum;
|
import com.njcn.web.enums.GWSendEnum;
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import com.njcn.web.pojo.param.BaseParam;
|
import com.njcn.web.pojo.param.BaseParam;
|
||||||
@@ -55,6 +59,10 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
|
|
||||||
|
private final StatationStatMapper statationStatMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String pushMonitor(List<String> ids) {
|
public String pushMonitor(List<String> ids) {
|
||||||
@@ -86,13 +94,55 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
throw new BusinessException("一次最多上送100条数据");
|
throw new BusinessException("一次最多上送100条数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<String> stationIds = monitorList.stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<StatationStat> statationStatList = statationStatMapper.selectList(new LambdaQueryWrapper<StatationStat>().in(StatationStat::getPowerId,stationIds));
|
||||||
|
|
||||||
|
Map<String,StatationStat> mapStation = statationStatList.stream().collect(Collectors.toMap(StatationStat::getPowerId,Function.identity()));
|
||||||
|
|
||||||
|
|
||||||
for (Monitor item : monitorList) {
|
for (Monitor item : monitorList) {
|
||||||
PushMonitorDTO pushMonitorDTO = new PushMonitorDTO();
|
PushMonitorDTO pushMonitorDTO = new PushMonitorDTO();
|
||||||
pushMonitorDTO.setId(item.getId());
|
pushMonitorDTO.setId(item.getId());
|
||||||
pushMonitorDTO.setMonitorId(item.getId());
|
pushMonitorDTO.setMonitorId(item.getMonitorId());
|
||||||
pushMonitorDTO.setMonitorName(item.getName());
|
pushMonitorDTO.setMonitorName(item.getName());
|
||||||
pushMonitorDTO.setTerminalCode(item.getTerminalId());
|
pushMonitorDTO.setTerminalCode(item.getTerminalId());
|
||||||
// pushMonitorDTO.setObjectType();
|
pushMonitorDTO.setCityId(item.getOrgId());
|
||||||
|
pushMonitorDTO.setIsMajorNet("1");
|
||||||
|
|
||||||
|
|
||||||
|
if(mapStation.containsKey(item.getPowerrId())) {
|
||||||
|
pushMonitorDTO.setSubstationId(mapStation.get(item.getPowerrId()).getMidStationId());
|
||||||
|
pushMonitorDTO.setSubstationName(mapStation.get(item.getPowerrId()).getPowerName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//终端
|
||||||
|
|
||||||
|
|
||||||
|
if (voltageMap.containsKey(item.getVoltageLevel())) {
|
||||||
|
pushMonitorDTO.setVoltageLevel(String.format("%02d", voltageMap.get(item.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//对象类型
|
||||||
|
SysDicTreePO sysDicTreePO = dictTreeFeignClient.queryById(item.getObjType()).getData();
|
||||||
|
if(sysDicTreePO.getPid().equals("0")){
|
||||||
|
pushMonitorDTO.setObjTypePrePre(sysDicTreePO.getCode());
|
||||||
|
}else {
|
||||||
|
pushMonitorDTO.setObjTypePre(sysDicTreePO.getCode());
|
||||||
|
SysDicTreePO sysDicTreeParent = dictTreeFeignClient.queryById(sysDicTreePO.getPid()).getData();
|
||||||
|
pushMonitorDTO.setObjTypePrePre(sysDicTreeParent.getCode());
|
||||||
|
}
|
||||||
|
pushMonitorDTO.setObjectType("0");
|
||||||
|
|
||||||
|
if (statusMap.containsKey(item.getMonitorState())) {
|
||||||
|
pushMonitorDTO.setStatus(statusMap.get(item.getMonitorState()).getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (Objects.nonNull(item.getMinShortCircuitCapacity())) {
|
if (Objects.nonNull(item.getMinShortCircuitCapacity())) {
|
||||||
pushMonitorDTO.setMinShortCapacity(BigDecimal.valueOf(item.getMinShortCircuitCapacity()));
|
pushMonitorDTO.setMinShortCapacity(BigDecimal.valueOf(item.getMinShortCircuitCapacity()));
|
||||||
@@ -111,17 +161,13 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
pushMonitorDTO.setCustomName(item.getMonitorObjectName());
|
pushMonitorDTO.setCustomName(item.getMonitorObjectName());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (statusMap.containsKey(item.getMonitorState())) {
|
|
||||||
pushMonitorDTO.setStatus(statusMap.get(item.getMonitorState()).getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tranMap.containsKey(item.getPotentialTransFormerType())) {
|
if (tranMap.containsKey(item.getPotentialTransFormerType())) {
|
||||||
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
|
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (voltageMap.containsKey(item.getVoltageLevel())) {
|
|
||||||
pushMonitorDTO.setVoltageLevel(String.format("%02d", voltageMap.get(item.getVoltageLevel()).getAlgoDescribe()));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tranMap.containsKey(item.getPotentialTransFormerType())) {
|
if (tranMap.containsKey(item.getPotentialTransFormerType())) {
|
||||||
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
|
pushMonitorDTO.setEvtType(tranMap.get(item.getPotentialTransFormerType()).getValue());
|
||||||
@@ -132,8 +178,8 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
pushMonitorDTO.setObjTypePrePre(objTagMap.get(item.getMonitorTag()).getValue());
|
pushMonitorDTO.setObjTypePrePre(objTagMap.get(item.getMonitorTag()).getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
pushMonitorDTO.setIsMajorNet("1");
|
|
||||||
pushMonitorDTO.setCityId(item.getOrgId());
|
|
||||||
if (StrUtil.isNotBlank(item.getOperationId())) {
|
if (StrUtil.isNotBlank(item.getOperationId())) {
|
||||||
pushMonitorDTO.setMaintOrg(item.getOperationId());
|
pushMonitorDTO.setMaintOrg(item.getOperationId());
|
||||||
}
|
}
|
||||||
@@ -172,6 +218,9 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
lambdaQueryWrapper.in(Monitor::getId, ids).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
lambdaQueryWrapper.in(Monitor::getId, ids).eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||||
List<Monitor> monitorList = monitorService.list(lambdaQueryWrapper);
|
List<Monitor> monitorList = monitorService.list(lambdaQueryWrapper);
|
||||||
|
|
||||||
|
if (monitorList.size() > 100) {
|
||||||
|
throw new BusinessException("一次最多上送100条数据");
|
||||||
|
}
|
||||||
|
|
||||||
LambdaQueryWrapper<Overlimit> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<Overlimit> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.in(Overlimit::getId, ids);
|
queryWrapper.in(Overlimit::getId, ids);
|
||||||
@@ -273,7 +322,7 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
sendParam.setStats(pushResult);
|
sendParam.setStats(pushResult);
|
||||||
Map<String, String> sendRes = GwSendUtil.send(sendParam, GWSendEnum.LIMIT_CREATE);
|
Map<String, String> sendRes = GwSendUtil.send(sendParam, GWSendEnum.LIMIT_CREATE);
|
||||||
List<String> mIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList());
|
List<String> mIds = monitorList.stream().map(Monitor::getId).distinct().collect(Collectors.toList());
|
||||||
String msg = returnInformation(1, mIds, sendRes);
|
String msg = returnInformation(2, mIds, sendRes);
|
||||||
return msg;
|
return msg;
|
||||||
} else {
|
} else {
|
||||||
throw new BusinessException("暂无监测点信息");
|
throw new BusinessException("暂无监测点信息");
|
||||||
@@ -314,7 +363,7 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
monitorLimitDTO.setMonitorId(monitor.getMonitorId());
|
monitorLimitDTO.setMonitorId(monitor.getMonitorId());
|
||||||
|
|
||||||
monitorLimitDTO.setVoltage(monitor.getVoltageLevel());
|
monitorLimitDTO.setVoltage(monitor.getVoltageLevel());
|
||||||
monitorLimitDTO.setMonitorUploadStatus(monitor.getMonitorUploadStatus());
|
monitorLimitDTO.setMonitorUploadStatus(monitor.getMonitorOverlimitStatus());
|
||||||
|
|
||||||
|
|
||||||
monitorLimitDTO.setVoldelimiteUp(BigDecimal.valueOf(monitor.getVoltageDeviationUpperLimit()).setScale(3, RoundingMode.HALF_UP));
|
monitorLimitDTO.setVoldelimiteUp(BigDecimal.valueOf(monitor.getVoltageDeviationUpperLimit()).setScale(3, RoundingMode.HALF_UP));
|
||||||
@@ -447,6 +496,12 @@ public class GwMonitorPushServiceImpl implements GwMonitorPushService {
|
|||||||
.in(Monitor::getId, ids)
|
.in(Monitor::getId, ids)
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case 2:
|
||||||
|
monitorService.update(new LambdaUpdateWrapper<Monitor>()
|
||||||
|
.set(Monitor::getMonitorOverlimitStatus, 1)
|
||||||
|
.in(Monitor::getId, ids)
|
||||||
|
);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -249,6 +249,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
monitor.setStatus(DataStateEnum.ENABLE.getCode());
|
monitor.setStatus(DataStateEnum.ENABLE.getCode());
|
||||||
monitor.setIsUploadHead(0);
|
monitor.setIsUploadHead(0);
|
||||||
monitor.setMonitorUploadStatus(0);
|
monitor.setMonitorUploadStatus(0);
|
||||||
|
monitor.setMonitorOverlimitStatus(0);
|
||||||
|
|
||||||
//主网测点限值计算
|
//主网测点限值计算
|
||||||
Overlimit overlimit = overLimitCal(monitorParam, monitor);
|
Overlimit overlimit = overLimitCal(monitorParam, monitor);
|
||||||
@@ -945,6 +946,8 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
monitorPO.setLineId(lineId);
|
monitorPO.setLineId(lineId);
|
||||||
monitorPO.setVoltageLevel(genScale);
|
monitorPO.setVoltageLevel(genScale);
|
||||||
monitorPO.setIsUploadHead(0);
|
monitorPO.setIsUploadHead(0);
|
||||||
|
monitorPO.setMonitorOverlimitStatus(0);
|
||||||
|
monitorPO.setMonitorOverlimitStatus(0);
|
||||||
|
|
||||||
String monitorState = null;
|
String monitorState = null;
|
||||||
switch (oracleTerminalExcel.getRunFlag()) {
|
switch (oracleTerminalExcel.getRunFlag()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user