diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java index 7d74ce5..0781c3b 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/constant/DataParam.java @@ -58,7 +58,7 @@ public interface DataParam { String GOVERNANCE_SYSTEM = "治理系统"; - String cldDev = "云前置设备"; + String cldDev = "在线设备"; String EvtParamPhase = "Evt_Param_Phase"; diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalLogs.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalLogs.java index 21c53e0..f0254ef 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalLogs.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalLogs.java @@ -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 */ diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalReply.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalReply.java index f24fad7..8270858 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalReply.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsTerminalReply.java @@ -48,10 +48,15 @@ public class CsTerminalReply extends BaseEntity implements Serializable { private Integer processNo; /** - * 设备id集合 + * 设备id */ private String deviceId; + /** + * 设备名称 + */ + private String deviceName; + /** * 是否收到(0:未收到 1:收到) */ diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java index 0886e26..03454b1 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java @@ -185,4 +185,6 @@ public interface CsEquipmentDeliveryService extends IService getDataByNodeIdAndProcessNo(String nodeId, Integer processNo); + List getListByIds(List devList); + } 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 bfebcef..ee352e9 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 @@ -816,6 +816,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl getListByIds(List devList) { + return this.lambdaQuery().in(CsEquipmentDeliveryPO::getId,devList).list(); + } + //根据前置机id获取装置数量 public List getListByNodeId(String nodeId) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java index 43a43f5..0e34349 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java @@ -175,7 +175,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl v1 = entry.getValue(); String guid = IdUtil.simpleUUID(); message.setGuid(guid); - message.setProcessNo(String.valueOf(k1)); + message.setProcessNo(k1); List list1 = new ArrayList<>(); v1.forEach(item -> { CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto(); @@ -248,7 +248,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl{ String guid = IdUtil.simpleUUID(); message.setGuid(guid); - message.setProcessNo(String.valueOf(k1)); + message.setProcessNo(k1); List list1 = new ArrayList<>(); v1.forEach(item->{ CldUpdateLedgerMessage.CldDeviceDto deviceDto = new CldUpdateLedgerMessage.CldDeviceDto(); @@ -267,6 +267,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl devList1 = csEquipmentDeliveryService.getAll(); List devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList()); List 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 wrapper = new LambdaUpdateWrapper<>(); + wrapper.set(CsTerminalReply::getIsReceived,state) + .eq(CsTerminalReply::getReplyId,id) + .eq(CsTerminalReply::getDeviceId,deviceId); + this.update(wrapper); } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatIntegrityDServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatIntegrityDServiceImpl.java index 9389c80..e6f0eff 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatIntegrityDServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatIntegrityDServiceImpl.java @@ -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 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 result = new ArrayList<>(); - //获取库中正常的所有装置 - List devList = equipmentFeignClient.getAll().getData(); + List devList; + //判断是否指定设备补招 + if (CollectionUtil.isNotEmpty(param.getIdList())) { + devList = csEquipmentDeliveryService.getListByIds(param.getIdList()); + } else { + //获取库中正常的所有装置 + devList = csEquipmentDeliveryService.getAll(); + } if (CollectionUtil.isNotEmpty(devList)) { Map devMap = devList.stream().collect(Collectors.toMap(CsEquipmentDeliveryPO::getId, Function.identity())); //获取所有监测点 diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatOnlineRateDServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatOnlineRateDServiceImpl.java index 4931976..9069c81 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatOnlineRateDServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RStatOnlineRateDServiceImpl.java @@ -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 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 list = new ArrayList<>(); - //获取库中正常的所有装置 - List devList = equipmentFeignClient.getAll().getData(); + List 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 dateRange = TimeUtil.getDateRangeAsString(param.getStartTime(), param.getEndTime()); @@ -190,6 +198,8 @@ public class RStatOnlineRateDServiceImpl extends MppServiceImpl devList = processList.stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(devList)) { + return result; + } List csLineList = csLineFeignClient.getLinesByDevList(devList).getData(); if (CollectionUtil.isNotEmpty(csLineList)) { Map> devMap = csLineList.stream().collect(Collectors.groupingBy(CsLinePO::getDeviceId));