云前置改造
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.njcn.csharmonic.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -377,6 +378,11 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
||||
if(!CollectionUtils.isEmpty(governmentDevTree)){
|
||||
governmentDevTree = governmentDevTree.get(0).getChildren();
|
||||
}
|
||||
List<CsLedgerVO> cldDevTree = data.stream().filter(temp -> Objects.equals(temp.getName(), DataParam.cldDev)).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(cldDevTree)){
|
||||
cldDevTree = cldDevTree.get(0).getChildren();
|
||||
}
|
||||
|
||||
//便携式就1层下边就是设备
|
||||
List<String> portableDevIds = portableDevTree.stream().filter(
|
||||
temp -> StringUtils.isEmpty(csEventUserQueryPage.getDeviceId()) ||
|
||||
@@ -394,8 +400,23 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
||||
).
|
||||
map(CsLedgerVO::getId).
|
||||
collect(Collectors.toList());
|
||||
List<String> cldDevIds = cldDevTree.stream().filter(temp->StringUtils.isEmpty(csEventUserQueryPage.getEngineeringid())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getEngineeringid()))
|
||||
.map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter(
|
||||
temp->StringUtils.isEmpty(csEventUserQueryPage.getProjectId())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getProjectId())
|
||||
).
|
||||
map(CsLedgerVO::getChildren).flatMap(Collection::stream).filter(
|
||||
temp->StringUtils.isEmpty(csEventUserQueryPage.getDeviceId())||
|
||||
Objects.equals(temp.getId(), csEventUserQueryPage.getDeviceId())
|
||||
).
|
||||
map(CsLedgerVO::getId).
|
||||
collect(Collectors.toList());
|
||||
|
||||
devIds.addAll(portableDevIds);
|
||||
devIds.addAll(governmentDevIds);
|
||||
devIds.addAll(cldDevIds);
|
||||
|
||||
if (CollectionUtils.isEmpty(devIds)){
|
||||
return returnpage;
|
||||
}
|
||||
@@ -408,10 +429,17 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
||||
temp.setEngineeringid(devDetail.getEngineeringid());
|
||||
temp.setEngineeringName(devDetail.getEngineeringName());
|
||||
EleEpdPqd ele = epdFeignClient.findByName(temp.getTag()).getData();
|
||||
temp.setShowName(ele.getShowName());
|
||||
temp.setCode(ele.getDefaultValue());
|
||||
if (temp.getLineId().endsWith("0")) {
|
||||
temp.setModuleNo("模块" + temp.getClDid());
|
||||
if (Objects.isNull(ele)) {
|
||||
temp.setShowName(temp.getTag());
|
||||
temp.setCode(temp.getCode());
|
||||
} else {
|
||||
temp.setShowName(ele.getShowName());
|
||||
temp.setCode(ele.getDefaultValue());
|
||||
}
|
||||
if (ObjectUtil.isNotNull(temp.getLineId())) {
|
||||
if (temp.getLineId().endsWith("0")) {
|
||||
temp.setModuleNo("模块" + temp.getClDid());
|
||||
}
|
||||
}
|
||||
if(Objects.equals(csEventUserQueryPage.getType(),"0")){
|
||||
List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(ele.getId()).getData();
|
||||
|
||||
@@ -8,17 +8,22 @@ import com.njcn.csdevice.api.CsLineFeignClient;
|
||||
import com.njcn.csdevice.api.DataSetFeignClient;
|
||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||
import com.njcn.csdevice.pojo.po.CsDataSet;
|
||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO;
|
||||
import com.njcn.csharmonic.service.RealDataService;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.api.DictTreeFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.log4j.Log4j;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -35,23 +40,37 @@ public class RealDataServiceImpl implements RealDataService {
|
||||
private final EquipmentFeignClient equipmentFeignClient;
|
||||
private final RedisUtil redisUtil;
|
||||
private final MqttUtil mqttUtil;
|
||||
private final DictTreeFeignClient dictTreeFeignClient;
|
||||
|
||||
@Override
|
||||
public boolean getBaseRealData(String lineId) {
|
||||
boolean result = true;
|
||||
try {
|
||||
String nDid = lineId.substring(0, lineId.length() - 1);
|
||||
String clientName = "NJCN-" + nDid.substring(nDid.length() - 6);
|
||||
boolean mqttClient = mqttUtil.judgeClientOnline(clientName);
|
||||
if (!mqttClient) {
|
||||
throw new BusinessException("装置离线");
|
||||
}
|
||||
//判断设备类型 治理无线设备需要判断mqtt、云前置设备直接判断设备运行状态
|
||||
CsEquipmentDeliveryPO dev = equipmentFeignClient.getDevByLineId(lineId).getData();
|
||||
String devModelCode = dictTreeFeignClient.queryById(dev.getDevType()).getData().getCode();
|
||||
// if (Objects.equals(DicDataEnum.DEV_CLD.getCode(),devModelCode)) {
|
||||
// if (dev.getRunStatus() == 1) {
|
||||
// throw new BusinessException("装置离线");
|
||||
// }
|
||||
// } else {
|
||||
// String clientName = "NJCN-" + nDid.substring(nDid.length() - 6);
|
||||
// boolean mqttClient = mqttUtil.judgeClientOnline(clientName);
|
||||
// if (!mqttClient) {
|
||||
// throw new BusinessException("装置离线");
|
||||
// }
|
||||
// }
|
||||
Integer clDid = Integer.parseInt(lineId.substring(lineId.length() - 1));
|
||||
//获取装置所用模板
|
||||
CsLinePO po = csLineFeignClient.getById(lineId).getData();
|
||||
String modelId = po.getDataModelId();
|
||||
CsDataSet csDataSet = dataSetFeignClient.getBaseDataSet(modelId,clDid).getData();
|
||||
askDeviceDataFeignClient.askRealData(nDid,csDataSet.getIdx(),clDid);
|
||||
if (Objects.equals(DicDataEnum.DEV_CLD.getCode(),devModelCode)) {
|
||||
askDeviceDataFeignClient.askCldRealData(dev.getId(),lineId,dev.getNodeId());
|
||||
} else {
|
||||
askDeviceDataFeignClient.askRealData(nDid,csDataSet.getIdx(),clDid);
|
||||
}
|
||||
//等待装置响应,获取询问结果
|
||||
Thread.sleep(2000);
|
||||
Object object = redisUtil.getObjectByKey("devResponse");
|
||||
|
||||
Reference in New Issue
Block a user