云前置改造-前置功能优化

This commit is contained in:
xy
2025-10-17 10:49:15 +08:00
parent 9531e18e93
commit 995bd8b310
8 changed files with 111 additions and 33 deletions

View File

@@ -65,19 +65,6 @@ public class IcdController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/restartProcess")
@ApiOperation("重启前置机进程")
@ApiImplicitParams({
@ApiImplicitParam(name = "nodeId", value = "前置服务器id", required = true),
@ApiImplicitParam(name = "processNo", value = "进程号", required = true)
})
public HttpResult<String> restartProcess(@RequestParam String nodeId,@RequestParam Integer processNo){
String methodDescribe = getMethodDescribe("restartProcess");
icdService.restartProcess(nodeId,processNo);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/bzFileByEventId")
@ApiOperation("指定事件补召波形")

View File

@@ -174,5 +174,31 @@ public class NodeController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/restartProcess")
@ApiOperation("重启前置机进程")
@ApiImplicitParams({
@ApiImplicitParam(name = "nodeId", value = "前置服务器id", required = true),
@ApiImplicitParam(name = "processNo", value = "进程号", required = true)
})
public HttpResult<String> restartProcess(@RequestParam String nodeId,@RequestParam Integer processNo){
String methodDescribe = getMethodDescribe("restartProcess");
iNodeService.restartProcess(nodeId,processNo);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/updateDevProcessNo")
@ApiOperation("更新设备进程号")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "设备id", required = true),
@ApiImplicitParam(name = "processNo", value = "进程号", required = true)
})
public HttpResult<String> updateDevProcessNo(@RequestParam String id,@RequestParam Integer processNo){
String methodDescribe = getMethodDescribe("updateDevProcessNo");
iNodeService.updateDevProcessNo(id,processNo);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.param.NodeParam;
import com.njcn.csdevice.pojo.po.Node;
import com.njcn.csdevice.pojo.vo.NodeProcessDeviceVo;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -79,4 +80,8 @@ public interface INodeService extends IService<Node> {
Node getNodeByIp(String ip);
NodeProcessDeviceVo getProcessNoAndDeviceById(String id);
void restartProcess(String nodeId, Integer processNo);
String updateDevProcessNo(String id, Integer processNo);
}

View File

@@ -15,8 +15,6 @@ public interface IcdService {
CldLedgerVo getLedgerById(String id);
void restartProcess(String nodeId, Integer processNo);
void bzFileByEventId(String eventId);
void bzEvent(List<String> lineList, String startTime, String endTime);

View File

@@ -428,6 +428,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
if (isCLdDevice) {
// 云前置数据集
addDataSet(dataSetList, item, "实时数据", "realtimedata");
addDataSet(dataSetList, item, "暂态事件", "event");
}
deviceManagerVo.setDataLevel(item.getDataLevel());
}

View File

@@ -674,6 +674,7 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
Set<String> list1 = new HashSet<>();
List<String> devList = tree3.stream().map(CsLedgerVO::getId).collect(Collectors.toList());
List<CsEquipmentDeliveryPO> devs = csEquipmentDeliveryMapper.selectBatchIds(devList);
Map<String, CsEquipmentDeliveryPO> devsMap = devs.stream().collect(Collectors.toMap(CsEquipmentDeliveryPO::getId, Function.identity()));
DictTreeVO vo1 = dictTreeFeignClient.queryByCode(DicDataEnum.DEV_CLD.getCode()).getData();
//list1是 cld设备
@@ -694,8 +695,43 @@ public class CsLedgerServiceImpl extends ServiceImpl<CsLedgerMapper, CsLedger> i
engineerTree = tree1.stream().filter(vo -> !proList.contains(vo.getId())).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(list1)) {
deviceTree = tree3.stream().filter(vo -> list1.contains(vo.getId())).collect(Collectors.toList());
lineTree = tree4.stream().filter(vo -> list1.contains(vo.getPid())).collect(Collectors.toList());
deviceTree = tree3.stream()
.filter(vo -> list1.contains(vo.getId()))
.peek(item -> {
CsEquipmentDeliveryPO dev = devsMap.get(item.getId());
if (dev != null) {
item.setComFlag(dev.getRunStatus());
}
})
.collect(Collectors.toList());
lineTree = tree4.stream()
.filter(vo -> list1.contains(vo.getPid()))
.peek(item -> {
CsEquipmentDeliveryPO dev = devsMap.get(item.getId());
if (dev != null) {
item.setComFlag(dev.getRunStatus());
}
})
.collect(Collectors.toList());
// deviceTree = tree3.stream().filter(vo -> list1.contains(vo.getId())).collect(Collectors.toList());
// deviceTree.forEach(item->{
// devs.forEach(item2->{
// if (Objects.equals(item.getId(),item2.getId())) {
// item.setComFlag(item2.getRunStatus());
// }
// });
// });
// lineTree = tree4.stream().filter(vo -> list1.contains(vo.getPid())).collect(Collectors.toList());
// lineTree.forEach(item->{
// devs.forEach(item2->{
// if (Objects.equals(item.getPid(),item2.getId())) {
// item.setComFlag(item2.getRunStatus());
// }
// });
// });
}
}
}

View File

@@ -23,9 +23,7 @@ import com.njcn.csdevice.service.*;
import com.njcn.csharmonic.api.EventFeignClient;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.mq.message.BZEventMessage;
import com.njcn.mq.message.CldControlMessage;
import com.njcn.mq.template.BZEventMessageTemplate;
import com.njcn.mq.template.CldControlMessageTemplate;
import com.njcn.redis.pojo.enums.AppRedisKey;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.enums.DicDataEnum;
@@ -55,7 +53,6 @@ class IcdServiceImpl implements IcdService {
private final CsEquipmentDeliveryService csEquipmentDeliveryService;
private final CsLinePOService csLinePOService;
private final ICsLedgerService csLedgerService;
private final CldControlMessageTemplate controlMessageTemplate;
private final BZEventMessageTemplate bzEventMessageTemplate;
private final EventFeignClient eventFeignClient;
private final ICsTerminalLogsService csTerminalLogsService;
@@ -176,19 +173,6 @@ class IcdServiceImpl implements IcdService {
return vo;
}
@Override
public void restartProcess(String nodeId, Integer processNo) {
Node node = nodeService.getNodeById(nodeId);
CldControlMessage cldControlMessage = new CldControlMessage();
cldControlMessage.setGuid(IdUtil.simpleUUID());
cldControlMessage.setCode("set_process");
cldControlMessage.setNodeId(nodeId);
cldControlMessage.setProcessNo(processNo);
cldControlMessage.setFun("delete");
cldControlMessage.setProcessNum(node.getMaxProcessNum());
controlMessageTemplate.sendMember(cldControlMessage,nodeId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void bzFileByEventId(String eventId) {

View File

@@ -1,6 +1,7 @@
package com.njcn.csdevice.service.impl;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
@@ -20,6 +21,8 @@ import com.njcn.csdevice.pojo.vo.NodeProcessDeviceVo;
import com.njcn.csdevice.service.INodeService;
import com.njcn.db.constant.DbConstant;
import com.njcn.device.biz.enums.DeviceResponseEnum;
import com.njcn.mq.message.CldControlMessage;
import com.njcn.mq.template.CldControlMessageTemplate;
import com.njcn.web.factory.PageFactory;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
@@ -46,6 +49,7 @@ import java.util.stream.Collectors;
public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements INodeService {
private final CsEquipmentDeliveryMapper csEquipmentDeliveryMapper;
private final CldControlMessageTemplate controlMessageTemplate;
@Override
public boolean addNode(NodeParam nodeParam) {
@@ -165,6 +169,43 @@ public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements IN
return nodeProcessDeviceVo;
}
@Override
public void restartProcess(String nodeId, Integer processNo) {
Node node = getNodeById(nodeId);
CldControlMessage cldControlMessage = new CldControlMessage();
cldControlMessage.setGuid(IdUtil.simpleUUID());
cldControlMessage.setCode("set_process");
cldControlMessage.setNodeId(nodeId);
cldControlMessage.setProcessNo(processNo);
cldControlMessage.setFun("delete");
cldControlMessage.setProcessNum(node.getMaxProcessNum());
controlMessageTemplate.sendMember(cldControlMessage,nodeId);
}
@Override
public String updateDevProcessNo(String id, Integer processNo) {
String result;
LambdaQueryWrapper<CsEquipmentDeliveryPO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CsEquipmentDeliveryPO::getId,id);
CsEquipmentDeliveryPO po = csEquipmentDeliveryMapper.selectOne(wrapper);
if (Objects.equals(po.getNodeProcess(),processNo)) {
return "修改进程号前后一致,暂不调整";
}
po.setNodeProcess(processNo);
int count = csEquipmentDeliveryMapper.updateById(po);
if (count > 0) {
result = "修改成功";
//重启前置机进程(两个)
//原来的
restartProcess(po.getNodeId(), po.getNodeProcess());
//修改后的
restartProcess(po.getNodeId(), processNo);
} else {
result = "修改失败";
}
return result;
}
/**
* 校验参数,检查是否存在相同编码的字典类型
*/