pms国网上送代码提交

This commit is contained in:
2023-12-19 16:40:22 +08:00
parent 2ac9662268
commit 006e61f2ce
3 changed files with 75 additions and 12 deletions

View File

@@ -239,6 +239,11 @@ public class Monitor extends BaseEntity {
*/ */
private Integer monitorUploadStatus; private Integer monitorUploadStatus;
/**
* 0.未上送 1.已上送 2.取消上送 3.待重新上送(限值)
*/
private Integer monitorOverlimitStatus;
/** /**
* 牵引站id * 牵引站id

View File

@@ -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;
} }

View File

@@ -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()) {