diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java index 7e3103e..9cfc060 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/IcdController.java @@ -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 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("指定事件补召波形") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/NodeController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/NodeController.java index 4a3c124..bd771fa 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/NodeController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/icd/NodeController.java @@ -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 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 updateDevProcessNo(@RequestParam String id,@RequestParam Integer processNo){ + String methodDescribe = getMethodDescribe("updateDevProcessNo"); + iNodeService.updateDevProcessNo(id,processNo); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/INodeService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/INodeService.java index b880cb7..0fc0274 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/INodeService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/INodeService.java @@ -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 getNodeByIp(String ip); NodeProcessDeviceVo getProcessNoAndDeviceById(String id); + + void restartProcess(String nodeId, Integer processNo); + + String updateDevProcessNo(String id, Integer processNo); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java index dfa51d1..d9fcb6f 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IcdService.java @@ -15,8 +15,6 @@ public interface IcdService { CldLedgerVo getLedgerById(String id); - void restartProcess(String nodeId, Integer processNo); - void bzFileByEventId(String eventId); void bzEvent(List lineList, String startTime, String endTime); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index f2c1271..4dd0cd2 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -428,6 +428,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl i Set list1 = new HashSet<>(); List devList = tree3.stream().map(CsLedgerVO::getId).collect(Collectors.toList()); List devs = csEquipmentDeliveryMapper.selectBatchIds(devList); + Map 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 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()); +// } +// }); +// }); } } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java index b21bb06..58e8e93 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java @@ -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) { diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/NodeServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/NodeServiceImpl.java index cf0cafd..7d6b0db 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/NodeServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/NodeServiceImpl.java @@ -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 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 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 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; + } + /** * 校验参数,检查是否存在相同编码的字典类型 */