云前置改造-台账更新功能
This commit is contained in:
@@ -58,7 +58,7 @@ public interface DataParam {
|
|||||||
|
|
||||||
String GOVERNANCE_SYSTEM = "治理系统";
|
String GOVERNANCE_SYSTEM = "治理系统";
|
||||||
|
|
||||||
String cldDev = "云前置设备";
|
String cldDev = "在线设备";
|
||||||
|
|
||||||
String EvtParamPhase = "Evt_Param_Phase";
|
String EvtParamPhase = "Evt_Param_Phase";
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import com.njcn.db.bo.BaseEntity;
|
import com.njcn.db.bo.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
@@ -34,6 +32,11 @@ public class CsTerminalLogs extends BaseEntity implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
private String deviceName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 前置服务器id
|
* 前置服务器id
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -48,10 +48,15 @@ public class CsTerminalReply extends BaseEntity implements Serializable {
|
|||||||
private Integer processNo;
|
private Integer processNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备id集合
|
* 设备id
|
||||||
*/
|
*/
|
||||||
private String deviceId;
|
private String deviceId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
private String deviceName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否收到(0:未收到 1:收到)
|
* 是否收到(0:未收到 1:收到)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -185,4 +185,6 @@ public interface CsEquipmentDeliveryService extends IService<CsEquipmentDelivery
|
|||||||
|
|
||||||
List<CsEquipmentDeliveryPO> getDataByNodeIdAndProcessNo(String nodeId, Integer processNo);
|
List<CsEquipmentDeliveryPO> getDataByNodeIdAndProcessNo(String nodeId, Integer processNo);
|
||||||
|
|
||||||
|
List<CsEquipmentDeliveryPO> getListByIds(List<String> devList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -816,6 +816,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
|||||||
csTerminalLogs.setIsPush(0);
|
csTerminalLogs.setIsPush(0);
|
||||||
csTerminalLogs.setNodeId(one.getNodeId());
|
csTerminalLogs.setNodeId(one.getNodeId());
|
||||||
csTerminalLogs.setNodeProcess(one.getNodeProcess());
|
csTerminalLogs.setNodeProcess(one.getNodeProcess());
|
||||||
|
csTerminalLogs.setDeviceName(one.getName());
|
||||||
csTerminalLogsMapper.insert(csTerminalLogs);
|
csTerminalLogsMapper.insert(csTerminalLogs);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -969,6 +970,11 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
|||||||
return this.list(lambdaQueryWrapper);
|
return this.list(lambdaQueryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CsEquipmentDeliveryPO> getListByIds(List<String> devList) {
|
||||||
|
return this.lambdaQuery().in(CsEquipmentDeliveryPO::getId,devList).list();
|
||||||
|
}
|
||||||
|
|
||||||
//根据前置机id获取装置数量
|
//根据前置机id获取装置数量
|
||||||
public List<CsEquipmentDeliveryPO> getListByNodeId(String nodeId) {
|
public List<CsEquipmentDeliveryPO> getListByNodeId(String nodeId) {
|
||||||
LambdaQueryWrapper<CsEquipmentDeliveryPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<CsEquipmentDeliveryPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
|
|||||||
List<CsEquipmentDeliveryPO> v1 = entry.getValue();
|
List<CsEquipmentDeliveryPO> v1 = entry.getValue();
|
||||||
String guid = IdUtil.simpleUUID();
|
String guid = IdUtil.simpleUUID();
|
||||||
message.setGuid(guid);
|
message.setGuid(guid);
|
||||||
message.setProcessNo(String.valueOf(k1));
|
message.setProcessNo(k1);
|
||||||
List<CldUpdateLedgerMessage.CldDeviceDto> list1 = new ArrayList<>();
|
List<CldUpdateLedgerMessage.CldDeviceDto> list1 = new ArrayList<>();
|
||||||
v1.forEach(item -> {
|
v1.forEach(item -> {
|
||||||
CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto();
|
CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto();
|
||||||
@@ -248,7 +248,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
|
|||||||
nodeProcessMap1.forEach((k1,v1)->{
|
nodeProcessMap1.forEach((k1,v1)->{
|
||||||
String guid = IdUtil.simpleUUID();
|
String guid = IdUtil.simpleUUID();
|
||||||
message.setGuid(guid);
|
message.setGuid(guid);
|
||||||
message.setProcessNo(String.valueOf(k1));
|
message.setProcessNo(k1);
|
||||||
List<CldUpdateLedgerMessage.CldDeviceDto> list1 = new ArrayList<>();
|
List<CldUpdateLedgerMessage.CldDeviceDto> list1 = new ArrayList<>();
|
||||||
v1.forEach(item->{
|
v1.forEach(item->{
|
||||||
CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto();
|
CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto();
|
||||||
@@ -267,6 +267,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
|
|||||||
csFmTerminalReply.setNodeId(k);
|
csFmTerminalReply.setNodeId(k);
|
||||||
csFmTerminalReply.setProcessNo(k1);
|
csFmTerminalReply.setProcessNo(k1);
|
||||||
csFmTerminalReply.setDeviceId(item.getDeviceId());
|
csFmTerminalReply.setDeviceId(item.getDeviceId());
|
||||||
|
csFmTerminalReply.setDeviceName(item.getDeviceName());
|
||||||
csFmTerminalReply.setIsReceived(0);
|
csFmTerminalReply.setIsReceived(0);
|
||||||
csTerminalReplyMapper.insert(csFmTerminalReply);
|
csTerminalReplyMapper.insert(csFmTerminalReply);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.csdevice.service.impl;
|
package com.njcn.csdevice.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.csdevice.mapper.CsTerminalReplyMapper;
|
import com.njcn.csdevice.mapper.CsTerminalReplyMapper;
|
||||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||||
@@ -70,13 +71,18 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl<CsTerminalReplyMappe
|
|||||||
List<CsEquipmentDeliveryPO> devList1 = csEquipmentDeliveryService.getAll();
|
List<CsEquipmentDeliveryPO> devList1 = csEquipmentDeliveryService.getAll();
|
||||||
List<CsEquipmentDeliveryPO> devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList());
|
List<CsEquipmentDeliveryPO> devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList());
|
||||||
List<String> devNameList = devList2.stream().map(CsEquipmentDeliveryPO::getName).collect(Collectors.toList());
|
List<String> devNameList = devList2.stream().map(CsEquipmentDeliveryPO::getName).collect(Collectors.toList());
|
||||||
String devNameListString = devNameList.toString();
|
String devNameListString;
|
||||||
|
if (CollectionUtil.isNotEmpty(devNameList)) {
|
||||||
|
devNameListString = devNameList.toString();
|
||||||
|
} else {
|
||||||
|
devNameListString = "[" + item.getDeviceName() + "]";
|
||||||
|
}
|
||||||
if (item.getIsReceived() == 0) {
|
if (item.getIsReceived() == 0) {
|
||||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + code + "数据失败";
|
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据失败";
|
||||||
//将cs_terminal_logs数据置为未发送
|
//将cs_terminal_logs数据置为未发送
|
||||||
csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
||||||
} else {
|
} else {
|
||||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + code + "数据成功";
|
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据成功";
|
||||||
}
|
}
|
||||||
result.add(key);
|
result.add(key);
|
||||||
});
|
});
|
||||||
@@ -88,8 +94,10 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl<CsTerminalReplyMappe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateReplyData(String id,Integer state,String deviceId) {
|
public void updateReplyData(String id,Integer state,String deviceId) {
|
||||||
this.lambdaUpdate().set(CsTerminalReply::getIsReceived,state)
|
LambdaUpdateWrapper<CsTerminalReply> wrapper = new LambdaUpdateWrapper<>();
|
||||||
.eq(CsTerminalReply::getDeviceId,deviceId)
|
wrapper.set(CsTerminalReply::getIsReceived,state)
|
||||||
.eq(CsTerminalReply::getReplyId,id);
|
.eq(CsTerminalReply::getReplyId,id)
|
||||||
|
.eq(CsTerminalReply::getDeviceId,deviceId);
|
||||||
|
this.update(wrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.csdevice.api.CsLineFeignClient;
|
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
|
||||||
import com.njcn.csdevice.mapper.RStatIntegrityDMapper;
|
import com.njcn.csdevice.mapper.RStatIntegrityDMapper;
|
||||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||||
import com.njcn.csdevice.pojo.po.RStatIntegrityD;
|
import com.njcn.csdevice.pojo.po.RStatIntegrityD;
|
||||||
|
import com.njcn.csdevice.service.CsEquipmentDeliveryService;
|
||||||
import com.njcn.csdevice.service.IRStatIntegrityDService;
|
import com.njcn.csdevice.service.IRStatIntegrityDService;
|
||||||
import com.njcn.csdevice.util.TimeUtil;
|
import com.njcn.csdevice.util.TimeUtil;
|
||||||
import com.njcn.csharmonic.pojo.param.StatisticsDataParam;
|
import com.njcn.csharmonic.pojo.param.StatisticsDataParam;
|
||||||
@@ -42,15 +42,21 @@ import java.util.stream.Collectors;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class RStatIntegrityDServiceImpl extends MppServiceImpl<RStatIntegrityDMapper, RStatIntegrityD> implements IRStatIntegrityDService {
|
public class RStatIntegrityDServiceImpl extends MppServiceImpl<RStatIntegrityDMapper, RStatIntegrityD> implements IRStatIntegrityDService {
|
||||||
|
|
||||||
private final EquipmentFeignClient equipmentFeignClient;
|
|
||||||
private final CsLineFeignClient csLineFeignClient;
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
private final CommonService commonService;
|
private final CommonService commonService;
|
||||||
|
private final CsEquipmentDeliveryService csEquipmentDeliveryService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addData(StatisticsDataParam param) {
|
public void addData(StatisticsDataParam param) {
|
||||||
List<RStatIntegrityD> result = new ArrayList<>();
|
List<RStatIntegrityD> result = new ArrayList<>();
|
||||||
//获取库中正常的所有装置
|
List<CsEquipmentDeliveryPO> devList;
|
||||||
List<CsEquipmentDeliveryPO> devList = equipmentFeignClient.getAll().getData();
|
//判断是否指定设备补招
|
||||||
|
if (CollectionUtil.isNotEmpty(param.getIdList())) {
|
||||||
|
devList = csEquipmentDeliveryService.getListByIds(param.getIdList());
|
||||||
|
} else {
|
||||||
|
//获取库中正常的所有装置
|
||||||
|
devList = csEquipmentDeliveryService.getAll();
|
||||||
|
}
|
||||||
if (CollectionUtil.isNotEmpty(devList)) {
|
if (CollectionUtil.isNotEmpty(devList)) {
|
||||||
Map<String, CsEquipmentDeliveryPO> devMap = devList.stream().collect(Collectors.toMap(CsEquipmentDeliveryPO::getId, Function.identity()));
|
Map<String, CsEquipmentDeliveryPO> devMap = devList.stream().collect(Collectors.toMap(CsEquipmentDeliveryPO::getId, Function.identity()));
|
||||||
//获取所有监测点
|
//获取所有监测点
|
||||||
|
|||||||
@@ -6,16 +6,15 @@ import cn.hutool.core.date.DateUnit;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
|
||||||
import com.njcn.csdevice.mapper.RStatOnlineRateDMapper;
|
import com.njcn.csdevice.mapper.RStatOnlineRateDMapper;
|
||||||
import com.njcn.csdevice.param.LineCountEvaluateParam;
|
import com.njcn.csdevice.param.LineCountEvaluateParam;
|
||||||
import com.njcn.csdevice.pojo.dto.PqsCommunicateDto;
|
import com.njcn.csdevice.pojo.dto.PqsCommunicateDto;
|
||||||
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
||||||
import com.njcn.csdevice.pojo.po.RStatOnlineRateD;
|
import com.njcn.csdevice.pojo.po.RStatOnlineRateD;
|
||||||
|
import com.njcn.csdevice.service.CsEquipmentDeliveryService;
|
||||||
import com.njcn.csdevice.service.ICsCommunicateService;
|
import com.njcn.csdevice.service.ICsCommunicateService;
|
||||||
import com.njcn.csdevice.service.IRStatOnlineRateDService;
|
import com.njcn.csdevice.service.IRStatOnlineRateDService;
|
||||||
import com.njcn.csdevice.util.TimeUtil;
|
import com.njcn.csdevice.util.TimeUtil;
|
||||||
import com.njcn.csharmonic.param.DataParam;
|
|
||||||
import com.njcn.csharmonic.pojo.param.StatisticsDataParam;
|
import com.njcn.csharmonic.pojo.param.StatisticsDataParam;
|
||||||
import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
import com.njcn.influx.deprecated.InfluxDBPublicParam;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -25,7 +24,6 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -46,14 +44,24 @@ import java.util.List;
|
|||||||
public class RStatOnlineRateDServiceImpl extends MppServiceImpl<RStatOnlineRateDMapper, RStatOnlineRateD> implements IRStatOnlineRateDService {
|
public class RStatOnlineRateDServiceImpl extends MppServiceImpl<RStatOnlineRateDMapper, RStatOnlineRateD> implements IRStatOnlineRateDService {
|
||||||
|
|
||||||
private final Integer online = 1;
|
private final Integer online = 1;
|
||||||
private final EquipmentFeignClient equipmentFeignClient;
|
|
||||||
private final ICsCommunicateService pqsCommunicateService;
|
private final ICsCommunicateService pqsCommunicateService;
|
||||||
|
private final CsEquipmentDeliveryService csEquipmentDeliveryService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addData(StatisticsDataParam param) {
|
public void addData(StatisticsDataParam param) {
|
||||||
List<RStatOnlineRateD> list = new ArrayList<>();
|
List<RStatOnlineRateD> list = new ArrayList<>();
|
||||||
//获取库中正常的所有装置
|
List<CsEquipmentDeliveryPO> devList;
|
||||||
List<CsEquipmentDeliveryPO> devList = equipmentFeignClient.getAll().getData();
|
//判断是否指定设备补招
|
||||||
|
if (CollectionUtil.isNotEmpty(param.getIdList())) {
|
||||||
|
devList = csEquipmentDeliveryService.getListByIds(param.getIdList());
|
||||||
|
} else {
|
||||||
|
//获取库中正常的所有装置
|
||||||
|
devList = csEquipmentDeliveryService.getAll();
|
||||||
|
}
|
||||||
|
if (CollectionUtil.isEmpty(devList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(devList)) {
|
if (CollectionUtil.isNotEmpty(devList)) {
|
||||||
//获取需要计算的时间
|
//获取需要计算的时间
|
||||||
List<String> dateRange = TimeUtil.getDateRangeAsString(param.getStartTime(), param.getEndTime());
|
List<String> dateRange = TimeUtil.getDateRangeAsString(param.getStartTime(), param.getEndTime());
|
||||||
@@ -190,6 +198,8 @@ public class RStatOnlineRateDServiceImpl extends MppServiceImpl<RStatOnlineRateD
|
|||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
minute = InfluxDBPublicParam.DAY_MINUTE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,6 +99,9 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService
|
|||||||
if (CollectionUtil.isNotEmpty(processList)) {
|
if (CollectionUtil.isNotEmpty(processList)) {
|
||||||
//获取监测点集合
|
//获取监测点集合
|
||||||
List<String> devList = processList.stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList());
|
List<String> devList = processList.stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isEmpty(devList)) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
List<CsLinePO> csLineList = csLineFeignClient.getLinesByDevList(devList).getData();
|
List<CsLinePO> csLineList = csLineFeignClient.getLinesByDevList(devList).getData();
|
||||||
if (CollectionUtil.isNotEmpty(csLineList)) {
|
if (CollectionUtil.isNotEmpty(csLineList)) {
|
||||||
Map<String,List<CsLinePO>> devMap = csLineList.stream().collect(Collectors.groupingBy(CsLinePO::getDeviceId));
|
Map<String,List<CsLinePO>> devMap = csLineList.stream().collect(Collectors.groupingBy(CsLinePO::getDeviceId));
|
||||||
|
|||||||
Reference in New Issue
Block a user