diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java
index 0fe5fc583..a4efb3a69 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsLedgerStaticDTO.java
@@ -35,7 +35,7 @@ public class PmsLedgerStaticDTO implements Serializable {
private HashMap> monitorStatisticsByDept;
/**
- * 根据单位统计终端数量
+ *根据单位统计终端数量
*/
private HashMap> terminalStatisticsByDept;
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java
index 2ff4d38bd..5fe938d5b 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsMonitorBaseDTO.java
@@ -38,7 +38,7 @@ public class PmsMonitorBaseDTO implements Serializable {
private String powerrId;
/***
- * 终端ID
+ *终端ID
*/
private String terminalId;
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java
index b377e6c40..f518c5c20 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/dto/PmsSimpleDTO.java
@@ -24,4 +24,14 @@ public class PmsSimpleDTO implements Serializable {
private String classification;
private Integer sort;
+
+ @ApiModelProperty(name = "id", value = "id")
+ private String id;
+
+ @Data
+ public static class PmsSimpleOrg extends PmsSimpleDTO{
+
+ @ApiModelProperty(name = "orgName", value = "部门名称")
+ private String orgName;
+ }
}
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java
index 54c03e068..53bda4b1a 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/SubstationExpendController.java
@@ -8,10 +8,10 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.pms.pojo.dto.PmsLedgerStaticDTO;
-import com.njcn.device.pms.pojo.param.PmsBaseParam;
-import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.po.SubstationExpend;
import com.njcn.device.pms.service.ISubstationExpendService;
+import com.njcn.device.pq.pojo.param.CommunicateParam;
+import com.njcn.device.pq.pojo.vo.CommunicateVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@@ -24,8 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.njcn.web.controller.BaseController;
-import java.math.BigDecimal;
-import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -40,7 +38,7 @@ import java.util.Map;
@Slf4j
@Api(tags = "冀北变电站地图信息")
@RestController
-@RequestMapping("/pms/substationExpend")
+@RequestMapping("/substationExpend")
@RequiredArgsConstructor
public class SubstationExpendController extends BaseController {
@@ -48,7 +46,7 @@ public class SubstationExpendController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
- @PostMapping("/getSubstationExpendInfo")
+ @PostMapping("/getPVSubstationExpendInfo")
@ApiOperation("冀北变电站地图信息")
@ApiImplicitParam(name = "param", value = "冀北变电站地图信息参数", required = true)
public HttpResult
*
- * @author zhuxinyu
+ * @author wr
* @since 2023-05-08
*/
public interface ISubstationExpendService {
diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/SubstationExpendServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/SubstationExpendServiceImpl.java
new file mode 100644
index 000000000..7aa9d7756
--- /dev/null
+++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/SubstationExpendServiceImpl.java
@@ -0,0 +1,89 @@
+package com.njcn.device.pq.service.impl;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import com.njcn.device.pq.pojo.bo.DeviceType;
+import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
+import com.njcn.device.pq.pojo.param.DeviceInfoParam;
+import com.njcn.device.pq.pojo.po.Communicate;
+import com.njcn.device.pq.pojo.vo.CommunicateVO;
+import com.njcn.device.pq.pojo.vo.TerminalBaseVO;
+import com.njcn.device.pq.service.ISubstationExpendService;
+import com.njcn.device.pq.service.TerminalBaseService;
+import com.njcn.influxdb.param.InfluxDBPublicParam;
+import com.njcn.influxdb.utils.InfluxDbUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.influxdb.dto.QueryResult;
+import org.influxdb.impl.InfluxDBResultMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author wr
+ * @since 2023-05-08
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class SubstationExpendServiceImpl implements ISubstationExpendService {
+
+ private final GeneralDeviceService generalDeviceService;
+ private final InfluxDbUtils influxDbUtils;
+ private final TerminalBaseService terminalBaseService;
+
+ @Override
+ public List getCommunicationStatus(DeviceInfoParam.CompareLimitParam param) {
+ List generalDeviceDTOS = generalDeviceService.getDeviceInfo(param, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
+ //获取所有终端id
+ List terminalIds = generalDeviceDTOS.stream().flatMap(dto -> dto.getDeviceIndexes().stream()).collect(Collectors.toList());
+ List info =new ArrayList<>();
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))).append("' ");
+ if(CollUtil.isNotEmpty(terminalIds)){
+ stringBuilder.append(" and ").append("(");
+ for (int i = 0; i < terminalIds.size(); i++) {
+ if (terminalIds.size() - i != 1) {
+ stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("' or ");
+ } else {
+ stringBuilder.append("dev_id = '").append(terminalIds.get(i)).append("')");
+ }
+ }
+ }
+ stringBuilder.append(" limit "+param.getLimit());
+ String sql = "select * from " + InfluxDBPublicParam.PQS_COMMUNICATE + " where " + stringBuilder + InfluxDBPublicParam.TIME_ZONE;
+ // 获取暂降事件
+ QueryResult result = influxDbUtils.query(sql);
+ InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper();
+ List communicates = influxDBResultMapper.toPOJO(result, Communicate.class);
+ if(CollUtil.isEmpty(communicates)){
+ return info;
+ }
+ List ids = communicates.stream().map(Communicate::getDevId).distinct().collect(Collectors.toList());
+ if(CollUtil.isNotEmpty(ids)){
+ List deviceByIds = terminalBaseService.getDeviceByIdOnOrOff(ids, new DeviceType(), 0);
+ Map terminalNameIp = deviceByIds.stream().collect(Collectors.toMap(TerminalBaseVO::getDevId, x -> x.getDevName() + "_" + x.getIp()));
+ CommunicateVO.PVCommunicateVO communicate;
+ for (Communicate cate : communicates) {
+ communicate=new CommunicateVO.PVCommunicateVO();
+ BeanUtil.copyProperties(cate, communicate);
+ communicate.setTime(cate.getUpdateTime());
+ if(terminalNameIp.containsKey(cate.getDevId())){
+ communicate.setDevIp(terminalNameIp.get(cate.getDevId()));
+ }
+ info.add(communicate);
+ }
+ }
+ return info;
+ }
+
+}
diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/WaveTypeParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/WaveTypeParam.java
index 19c4c4ed4..9dc1ae7d0 100644
--- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/WaveTypeParam.java
+++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/WaveTypeParam.java
@@ -40,4 +40,7 @@ public class WaveTypeParam extends DeviceInfoParam.BusinessParam {
value = "通讯状态 0.离线 1.在线"
)
private Integer comFlag = 1;
+
+ @ApiModelProperty(name = "type", value = "区分 0.pq 1.pms")
+ private Integer type = 0;
}
diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java
index a0594a08a..0ed9d2715 100644
--- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java
+++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java
@@ -55,8 +55,6 @@ import com.njcn.event.service.majornetwork.ReportService;
import com.njcn.event.utils.EchartsUtil;
import com.njcn.event.utils.FreemarkerUtil;
import com.njcn.event.utils.WordUtils;
-import com.njcn.harmonic.pojo.vo.ComAssessVO;
-import com.njcn.influxdb.mapper.InfluxDBResultMapperCn;
import com.njcn.influxdb.utils.InfluxDBCommUtils;
import com.njcn.influxdb.utils.InfluxDbUtils;
import com.njcn.poi.util.PoiUtil;
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java
index df98d1bb1..ab6959d04 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java
@@ -7,7 +7,6 @@ import com.njcn.device.pq.api.GeneralDeviceInfoClient;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.OnlineRateParam;
-import com.njcn.device.pq.pojo.po.OnlineRate;
import com.njcn.device.pq.pojo.vo.RStatOnlinerateVO;
import com.njcn.harmonic.mapper.TerminalDataMapper;
import com.njcn.harmonic.pojo.dto.PublicDTO;
@@ -15,10 +14,8 @@ import com.njcn.harmonic.pojo.vo.TerminalCensusVO;
import com.njcn.harmonic.pojo.vo.TerminalVO;
import com.njcn.harmonic.service.TerminalService;
import com.njcn.harmonic.utils.PubUtils;
-import com.njcn.influxdb.param.InfluxDBPublicParam;
import com.njcn.influxdb.utils.InfluxDbUtils;
import lombok.AllArgsConstructor;
-import org.influxdb.dto.QueryResult;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -28,7 +25,6 @@ import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
-import static com.njcn.influxdb.param.InfluxDBPublicParam.*;
/**
* @author: chenchao