云前置改造-前置功能优化
This commit is contained in:
@@ -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("指定事件补召波形")
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -428,6 +428,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
if (isCLdDevice) {
|
||||
// 云前置数据集
|
||||
addDataSet(dataSetList, item, "实时数据", "realtimedata");
|
||||
addDataSet(dataSetList, item, "暂态事件", "event");
|
||||
}
|
||||
deviceManagerVo.setDataLevel(item.getDataLevel());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数,检查是否存在相同编码的字典类型
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user