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