diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java
index 9516fb2f5..a5d7bb3eb 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/MonitorClient.java
@@ -68,6 +68,15 @@ public interface MonitorClient {
@PostMapping("getMonitorList")
HttpResult> getMonitorList(@RequestBody List monitorIds);
+
+ /**
+ * 通过同源监测点编码获取监测点信息
+ * @author cdf
+ * @date 2022/11/29
+ */
+ @PostMapping("getMonitorListByMid")
+ HttpResult> getMonitorListByMid(@RequestBody List midIds);
+
@PostMapping("getMonitorPage")
HttpResult> getMonitorPage(@RequestBody TerminalQueryParam baseParam);
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java
index 38802f604..ea5e338b1 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/PmsTerminalClient.java
@@ -32,4 +32,8 @@ public interface PmsTerminalClient {
*/
@PostMapping("/getTerminalSelectList")
HttpResult> getTerminalSelectList(@RequestBody PmsBaseParam pmsBaseParam);
+
+ @PostMapping("/getTerminalSelectByIds")
+ HttpResult> getTerminalSelectByIds(@RequestBody List ids);
+
}
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java
index c72f408ea..db577972c 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/MonitorClientFallbackFactory.java
@@ -63,6 +63,12 @@ public class MonitorClientFallbackFactory implements FallbackFactory> getMonitorListByMid(List midIds) {
+ log.error("{}异常,降级处理,异常为:{}", "使用同源监测点编码获取监测点信息 ", throwable.toString());
+ throw new BusinessException(finalExceptionEnum);
+ }
+
@Override
public HttpResult> getMonitorPage(TerminalQueryParam baseParam) {
log.error("{}异常,降级处理,异常为:{}", "分页获取主网监测点数据 ", throwable.toString());
diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java
index 1486d8995..586823d9e 100644
--- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java
+++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/api/fallback/PmsTerminalClientFallbackFactory.java
@@ -36,6 +36,12 @@ public class PmsTerminalClientFallbackFactory implements FallbackFactory> getTerminalSelectByIds(List ids) {
+ log.error("{}异常,降级处理,异常为:{}", "使用装置id集合查询装置信息", throwable.toString());
+ throw new BusinessException(finalExceptionEnum);
+ }
};
}
}
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java
index b60677c37..c9f8390da 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsMonitorController.java
@@ -131,15 +131,27 @@ public class PmsMonitorController extends BaseController {
@ApiOperation("获取所有主网监测点(或者指定监测点编号查询)")
@ApiImplicitParam(name = "monitorIds",value = "主网监测点编号",required = true)
public HttpResult> getMonitorList(@RequestBody List monitorIds) {
- String methodDescribe = getMethodDescribe("getAllMonitorList");
+ String methodDescribe = getMethodDescribe("getMonitorList");
List monitor= monitorService.getMonitorList(monitorIds);
- if (Objects.isNull(monitor)) {
- return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe);
- } else {
- return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
- }
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
}
+ /**
+ * 使用同源监测点编码获取监测点信息
+ * @author cdf
+ * @date 2022/11/29
+ */
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getMonitorListByMid")
+ @ApiOperation("使用同源监测点编码获取监测点信息")
+ @ApiImplicitParam(name = "midIds",value = "主网监测点编号",required = true)
+ public HttpResult> getMonitorListByMid(@RequestBody List midIds) {
+ String methodDescribe = getMethodDescribe("getMonitorListByMid");
+ List monitor= monitorService.getMonitorListByMid(midIds);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe);
+ }
+
+
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getMonitorPage")
@ApiOperation("获取所有主网监测点(或者指定监测点编号查询)")
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java
index e11451feb..15b3fc7b9 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/controller/ledgerManger/PmsTerminalController.java
@@ -83,6 +83,16 @@ public class PmsTerminalController extends BaseController {
}
}
+ @OperateInfo(info = LogEnum.SYSTEM_COMMON)
+ @PostMapping("/getTerminalSelectByIds")
+ @ApiOperation("根据ID集合查询监测终端台账数据")
+ @ApiImplicitParam(name = "ID集合",value = "ids",required = true)
+ public HttpResult> getTerminalSelectByIds(@RequestBody List ids){
+ String methodDescribe = getMethodDescribe("getTerminalSelectByIds");
+ List pmsTerminal = iTerminalService.getTerminalSelectByIds(ids);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, pmsTerminal, methodDescribe);
+ }
+
/**
* 新增监测终端台账信息
* @author hany
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java
index bb1ebb423..dc5a1968d 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/IMonitorService.java
@@ -88,6 +88,8 @@ public interface IMonitorService extends IService {
List getMonitorList(List monitorIds);
+ List getMonitorListByMid(List midIds);
+
List getPmsCalMonitorList(List monitorIds);
diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java
index 6b84ab32c..10a9700fd 100644
--- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java
+++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/MonitorServiceImpl.java
@@ -302,6 +302,16 @@ public class MonitorServiceImpl extends ServiceImpl impl
return monitorList;
}
+
+ @Override
+ public List getMonitorListByMid(List midIds) {
+ List monitorList;
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()).in(Monitor::getMonitorId,midIds);
+ monitorList = this.list(lambdaQueryWrapper);
+ return monitorList;
+ }
+
@Override
public List getPmsCalMonitorList(List monitorIds) {
List monitorList = new ArrayList<>();
diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceServiceImpl.java
index 0dbe52acb..72d93b020 100644
--- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceServiceImpl.java
+++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeviceServiceImpl.java
@@ -47,7 +47,7 @@ public class DeviceServiceImpl extends ServiceImpl impleme
private final DevVersionMapper devVersionMapper;
private final ProgramVersionService programVersionService;
- @Value("${socket.port}")
+ @Value("${socket.port:60000}")
private Integer socketPort;
@Override
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java
index 15c527f80..9d12c2915 100644
--- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/UploadGwDataFeignClient.java
@@ -31,4 +31,7 @@ public interface UploadGwDataFeignClient {
@PostMapping("/upGwCommPoint")
HttpResult upGwCommPoint(@RequestBody UploadDataParam param);
+ @PostMapping("/upGwMainMonitor")
+ HttpResult upGwMainMonitor(@RequestBody UploadDataParam param);
+
}
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java
index 3b3938dbd..d2e48a1fc 100644
--- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/UploadGwDataFallbackFactory.java
@@ -52,6 +52,12 @@ public class UploadGwDataFallbackFactory implements FallbackFactory(CommonResponseEnum.FAIL.getCode(),CommonResponseEnum.FAIL.getMessage());
}
+
+ @Override
+ public HttpResult upGwMainMonitor(UploadDataParam param) {
+ log.error("{}异常,降级处理,异常为:{}", "国网上送-主网测点数据", throwable.toString());
+ return new HttpResult<>(CommonResponseEnum.FAIL.getCode(),CommonResponseEnum.FAIL.getMessage());
+ }
};
}
}
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RUploadMainMonitorDataDTO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RUploadMainMonitorDataDTO.java
new file mode 100644
index 000000000..5ff91535c
--- /dev/null
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/dto/upload/RUploadMainMonitorDataDTO.java
@@ -0,0 +1,111 @@
+package com.njcn.harmonic.pojo.dto.upload;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * 用于河北上送主网测点信息至国网
+ */
+@Data
+public class RUploadMainMonitorDataDTO {
+
+
+ private String objId;
+ private String provinceOrg;
+ private String provinceOrgName;
+ private String cityOrg;
+ private String cityOrgName;
+ private String maintOrg;
+ private String maintOrgName;
+ private String monitorName;
+ private String monitorVoltageLevel;
+ private String monitorId;
+ private String monitorStatus;
+ private Date monitorOperateDate;
+ private Date monitorStopDate;
+ private String substationId;
+ private String substationName;
+ private String busId;
+ private String busName;
+ private String outLineIntervalId;
+ private String outLineIntervalName;
+ private String monitorObjTypeBig;
+ private String monitorObjTypeSmall;
+ private String monitorTag;
+ private String monitorObjName;
+ private String monitorObjId;
+ private String isLine;
+ private BigDecimal minShortCapacity;
+ private BigDecimal supplyEquipCapacity;
+ private BigDecimal userProtocolCapacity;
+ private String terminalCode;
+ private String terminalManufacturer;
+ private String terminalModel;
+ private String terminalManufactureNum;
+ private String terminalConnect;
+ private String neutralGround;
+ private String evtType;
+ /**
+ * 统计日期
+ */
+ private String statisticalDate;
+
+ /**
+ * 统计类型(01:年 02:月 03:日)
+ */
+ private String statisticalType;
+
+
+ /**
+ * 监测点是否在线
+ */
+ private String isMonitorOnline;
+
+ /**
+ * 监测终端是否在线
+ */
+ private String isTerminalOnline;
+
+ /**
+ * 在线监测点数量
+ */
+ private Integer onlineMonitorNum;
+
+ /**
+ * 在运监测点数量
+ */
+ private Integer runMonitorNum;
+
+ /**
+ * 监测点在线率
+ */
+ private BigDecimal onlineMonitorRate;
+
+ /**
+ * 应收采集数
+ */
+ private Long expectCollectNum;
+
+ /**
+ * 实收采集数
+ */
+ private Long actualCollectNum;
+
+ /**
+ * 监测数据完整率
+ */
+ private BigDecimal dataFullRate;
+
+ /**
+ * 计算日期(用于记录算法执行日期)
+ */
+ private LocalDate computeDate;
+
+ /**
+ * 上送状态
+ */
+ private Integer uploadStatus;
+}
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RUploadMainMonitorData.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RUploadMainMonitorData.java
new file mode 100644
index 000000000..45fd41383
--- /dev/null
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/upload/RUploadMainMonitorData.java
@@ -0,0 +1,97 @@
+package com.njcn.harmonic.pojo.po.upload;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ * 2.4.1.23接收电能质量主网监测点统计数据接口功能表(日月年数据)
+ *
+ *
+ * @author cdf
+ * @since 2024-10-21
+ */
+@Getter
+@Setter
+@TableName("r_upload_main_monitor_data")
+public class RUploadMainMonitorData{
+
+ private static final long serialVersionUID = 1L;
+
+ private String objId;
+
+ /**
+ * 统计日期
+ */
+ @MppMultiId
+ private String statisticalDate;
+
+ /**
+ * 统计类型(01:年 02:月 03:日)
+ */
+ @MppMultiId
+ private String statisticalType;
+
+ /**
+ * 主网测点id
+ */
+ @MppMultiId
+ private String monitorId;
+
+ /**
+ * 监测点是否在线
+ */
+ private String isMonitorOnline;
+
+ /**
+ * 监测终端是否在线
+ */
+ private String isTerminalOnline;
+
+ /**
+ * 在线监测点数量
+ */
+ private Integer onlineMonitorNum;
+
+ /**
+ * 在运监测点数量
+ */
+ private Integer runMonitorNum;
+
+ /**
+ * 监测点在线率
+ */
+ private BigDecimal onlineMonitorRate;
+
+ /**
+ * 应收采集数
+ */
+ private Long expectCollectNum;
+
+ /**
+ * 实收采集数
+ */
+ private Long actualCollectNum;
+
+ /**
+ * 监测数据完整率
+ */
+ private BigDecimal dataFullRate;
+
+ /**
+ * 计算日期(用于记录算法执行日期)
+ */
+ private LocalDate computeDate;
+
+ /**
+ * 上送状态
+ */
+ private Integer uploadStatus;
+
+
+}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java
new file mode 100644
index 000000000..38173d003
--- /dev/null
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/upload/RUploadMainMonitorController.java
@@ -0,0 +1,63 @@
+package com.njcn.harmonic.controller.upload;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.njcn.common.pojo.annotation.OperateInfo;
+import com.njcn.common.pojo.enums.common.LogEnum;
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.common.utils.HttpResultUtil;
+import com.njcn.harmonic.pojo.param.UploadDataParam;
+import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus;
+import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
+import com.njcn.harmonic.service.upload.RUploadCommPointBusService;
+import com.njcn.harmonic.service.upload.RUploadMainMonitorService;
+import com.njcn.web.controller.BaseController;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ *
+ *
+ *
+ * @author cdf
+ * @since 2024-08-15
+ */
+@RestController
+@RequestMapping("/upload")
+@RequiredArgsConstructor
+public class RUploadMainMonitorController extends BaseController {
+
+ private final RUploadMainMonitorService rUploadMainMonitorService;
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getMainMonitorPage")
+ @ApiOperation("分页查询主网监测点")
+ @ApiImplicitParam(name = "param", value = "实体参数", required = true)
+ public HttpResult> getMainMonitorPage(@RequestBody @Validated UploadDataParam param) {
+ String methodDescribe = getMethodDescribe("getMainMonitorPage");
+ Page page = rUploadMainMonitorService.getMainMonitorPage(param);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
+ }
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/upGwMainMonitor")
+ @ApiOperation("上送国网")
+ @ApiImplicitParam(name = "param", value = "实体参数", required = true)
+ public HttpResult upGwMainMonitor(@RequestBody UploadDataParam param) {
+ String methodDescribe = getMethodDescribe("upGwMainMonitor");
+ rUploadMainMonitorService.upGwMainMonitor(param);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
+ }
+
+}
+
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadMainMonitorDataMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadMainMonitorDataMapper.java
new file mode 100644
index 000000000..3978cb3a7
--- /dev/null
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/upload/RUploadMainMonitorDataMapper.java
@@ -0,0 +1,17 @@
+package com.njcn.harmonic.mapper.upload;
+
+
+import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
+import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
+
+/**
+ *
+ * 2.4.1.23接收电能质量主网监测点统计数据接口功能表(日月年数据) Mapper 接口
+ *
+ *
+ * @author cdf
+ * @since 2024-10-21
+ */
+public interface RUploadMainMonitorDataMapper extends MppBaseMapper {
+
+}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadMainMonitorService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadMainMonitorService.java
new file mode 100644
index 000000000..303dd574a
--- /dev/null
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/RUploadMainMonitorService.java
@@ -0,0 +1,21 @@
+package com.njcn.harmonic.service.upload;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.harmonic.pojo.param.UploadDataParam;
+import com.njcn.harmonic.pojo.po.upload.RUploadCommPointBus;
+import com.njcn.harmonic.pojo.po.upload.RUploadMainMonitorData;
+
+/**
+ *
+ * 公共连接点母线电能质量统计 服务类
+ *
+ */
+
+public interface RUploadMainMonitorService extends IService {
+
+ Page getMainMonitorPage(UploadDataParam param);
+
+ Boolean upGwMainMonitor(UploadDataParam param);
+}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java
index cfa214165..0d8c7808c 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/upload/impl/RUploadCommPointBusServiceImpl.java
@@ -22,6 +22,7 @@ import com.njcn.web.pojo.param.SendParam;
import com.njcn.web.utils.GwSendUtil;
import org.springframework.stereotype.Service;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -32,7 +33,7 @@ import java.util.stream.Stream;
* 公共连接点母线电能质量统计 服务实现类
*
*
- * @author xy
+ * @author cdf
* @since 2024-08-15
*/
@Service
@@ -66,6 +67,11 @@ public class RUploadCommPointBusServiceImpl extends ServiceImpl
+ * 公共连接点母线电能质量统计 服务实现类
+ *
+ *
+ * @author cdf
+ * @since 2024-08-15
+ */
+@Service
+@RequiredArgsConstructor
+public class RUploadMainMonitorServiceImpl extends ServiceImpl implements RUploadMainMonitorService {
+
+ private final MonitorClient monitorClient;
+
+ private final DeptFeignClient deptFeignClient;
+
+ private final DicDataFeignClient dicDataFeignClient;
+
+ private final DictTreeFeignClient dictTreeFeignClient;
+
+ private final PmsTerminalClient pmsTerminalClient;
+
+
+ @Override
+ public Page getMainMonitorPage(UploadDataParam param) {
+ DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(), DatePattern.NORM_DATE_PATTERN);
+ if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
+ param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN));
+ }else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
+ param.setSearchBeginTime(DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN));
+ }
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(RUploadMainMonitorData::getStatisticalType,param.getDataType())
+ .eq(RUploadMainMonitorData::getStatisticalDate,param.getSearchBeginTime());
+ return this.page(new Page<>(PageFactory.getPageNum(param),PageFactory.getPageSize(param)),lambdaQueryWrapper);
+ }
+
+ @Override
+ public Boolean upGwMainMonitor(UploadDataParam param) {
+ if(StrUtil.isBlank(param.getSearchBeginTime())){
+ throw new BusinessException("日期不可为空");
+ }
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+
+ if(StrUtil.isBlank(param.getDataType())){
+ //类型为空则上送日月年数据
+ DateTime dateTime = DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN);
+ String month = DateUtil.format(dateTime,DatePattern.NORM_MONTH_PATTERN);
+ String year = DateUtil.format(dateTime,DatePattern.NORM_YEAR_PATTERN);
+ lambdaQueryWrapper.in(RUploadMainMonitorData::getStatisticalDate, Stream.of(param.getSearchBeginTime(),month,year).collect(Collectors.toList()));
+ }else {
+ if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_M.getCode())){
+ param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_MONTH_PATTERN));
+ }else if(param.getDataType().equals(DicDataEnum.STATISTICAL_TYPE_Y.getCode())){
+ param.setSearchBeginTime(DateUtil.format(DateUtil.parse(param.getSearchBeginTime(),DatePattern.NORM_DATE_PATTERN),DatePattern.NORM_YEAR_PATTERN));
+ }
+ lambdaQueryWrapper.eq(RUploadMainMonitorData::getStatisticalType,param.getDataType())
+ .eq(RUploadMainMonitorData::getStatisticalDate,param.getSearchBeginTime());
+ }
+ List rUploadMainMonitorDataList = this.list(lambdaQueryWrapper);
+ if(CollUtil.isEmpty(rUploadMainMonitorDataList)){
+ throw new BusinessException("查询数据为空");
+ }
+
+ List deptTreeVOList = deptFeignClient.allDeptList().getData();
+ Map pvTerminalTreeVOCodeMap = deptTreeVOList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode,Function.identity()));
+ Map pvTerminalTreeVOIdMap = deptTreeVOList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId,Function.identity()));
+
+ List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
+ Map voltageMap = dictDataList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
+
+ List stateList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
+ Map stateMap = stateList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
+
+ //监测点标签
+ List tagList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
+ Map tagMap = tagList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
+ //监测点接线方式
+ List wireList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_CONNECT.getCode()).getData();
+ Map wireMap = wireList.stream().collect(Collectors.toMap(DictData::getId,Function.identity()));
+
+
+ List sysDicTreePOList = dictTreeFeignClient.queryAllByType(Integer.valueOf(DicTreeEnum.HB_PMS_TYPE.getCode())).getData();
+ Map dicTreeMap = sysDicTreePOList.stream().collect(Collectors.toMap(SysDicTreePO::getId,Function.identity()));
+
+
+ //获取测点map
+ List monitorIds = rUploadMainMonitorDataList.stream().map(RUploadMainMonitorData::getMonitorId).distinct().collect(Collectors.toList());
+ List monitorList = monitorClient.getMonitorListByMid(monitorIds).getData();
+ Map monitorMap = monitorList.stream().collect(Collectors.toMap(Monitor::getMonitorId, Function.identity()));
+
+ List terminalIds = monitorList.stream().map(Monitor::getTerminalId).distinct().collect(Collectors.toList());
+ List pmsTerminalList = pmsTerminalClient.getTerminalSelectByIds(terminalIds).getData();
+ Map pmsTerminalMap = pmsTerminalList.stream().collect(Collectors.toMap(PmsTerminal::getId,Function.identity()));
+
+ List rUploadMainMonitorDataDTOList = new ArrayList<>();
+ rUploadMainMonitorDataList.forEach(item->{
+ RUploadMainMonitorDataDTO rUploadMainMonitorDataDTO = new RUploadMainMonitorDataDTO();
+ BeanUtil.copyProperties(item,rUploadMainMonitorDataDTO);
+
+ if(monitorMap.containsKey(item.getMonitorId())){
+ Monitor monitor = monitorMap.get(item.getMonitorId());
+ assOrg(pvTerminalTreeVOCodeMap,pvTerminalTreeVOIdMap,rUploadMainMonitorDataDTO,monitor);
+ rUploadMainMonitorDataDTO.setMonitorName(monitor.getName());
+ rUploadMainMonitorDataDTO.setMonitorVoltageLevel(String.format("%02d",voltageMap.get(monitor.getVoltageLevel()).getAlgoDescribe()));
+ rUploadMainMonitorDataDTO.setMonitorStatus(stateMap.get(monitor.getMonitorState()).getValue());
+ rUploadMainMonitorDataDTO.setSubstationId(monitor.getPowerrId());
+ rUploadMainMonitorDataDTO.setSubstationName(monitor.getPowerrName());
+ rUploadMainMonitorDataDTO.setBusId(monitor.getLineId());
+ rUploadMainMonitorDataDTO.setBusName(monitor.getLineName());
+
+ String objType = monitor.getObjType();
+ SysDicTreePO sysDicTreePO = dicTreeMap.get(objType);
+ rUploadMainMonitorDataDTO.setMonitorObjTypeSmall(sysDicTreePO.getCode());
+ if("0".equals(sysDicTreePO.getPid())){
+ rUploadMainMonitorDataDTO.setMonitorObjTypeBig(sysDicTreePO.getCode());
+ }else {
+ SysDicTreePO sysDicTreeSmall = dicTreeMap.get(sysDicTreePO.getPid());
+ rUploadMainMonitorDataDTO.setMonitorObjTypeBig(sysDicTreeSmall.getCode());
+ }
+ rUploadMainMonitorDataDTO.setMonitorTag(tagMap.get(monitor.getMonitorTag()).getValue());
+ rUploadMainMonitorDataDTO.setMonitorObjName(monitor.getMonitorObjectName());
+ rUploadMainMonitorDataDTO.setMinShortCapacity(BigDecimal.valueOf(monitor.getMinShortCircuitCapacity()));
+ rUploadMainMonitorDataDTO.setSupplyEquipCapacity(BigDecimal.valueOf(monitor.getPowerSupplyEqCapacity()));
+ rUploadMainMonitorDataDTO.setUserProtocolCapacity(BigDecimal.valueOf(monitor.getUserAgreementCapacity()));
+
+ PmsTerminal pmsTerminal = pmsTerminalMap.get(monitor.getTerminalId());
+ rUploadMainMonitorDataDTO.setTerminalCode(pmsTerminal.getTerminalCode());
+ rUploadMainMonitorDataDTO.setTerminalConnect(wireMap.get(monitor.getTerminalWiringMethod()).getValue());
+ }
+
+ rUploadMainMonitorDataDTOList.add(rUploadMainMonitorDataDTO);
+ });
+
+ List> list = CollUtil.split(rUploadMainMonitorDataDTOList,100);
+ for(int i=0;i sendRes = GwSendUtil.newSend(sendParam, GWSendEnum.COMM_POINT);
+ List ids = list.get(i).stream().map(RUploadMainMonitorDataDTO::getObjId).collect(Collectors.toList());
+ int count = GwSendUtil.returnInfoMsg(ids,sendRes);
+ System.out.println("上送成功,上送成功返回"+count+"条");
+ if(count == list.get(i).size()){
+ LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+ lambdaUpdateWrapper.set(RUploadMainMonitorData::getUploadStatus,1).in(RUploadMainMonitorData::getObjId,ids);
+ this.update(lambdaUpdateWrapper);
+ }
+ }
+ return true;
+ }
+
+
+
+ private void assOrg(Map pvTerminalTreeVOCodeMap,Map pvTerminalTreeVOIdMap,RUploadMainMonitorDataDTO rUploadMainMonitorDataDTO,Monitor monitor){
+ PvTerminalTreeVO pvTerminalTreeVO = pvTerminalTreeVOCodeMap.get(monitor.getOrgId());
+ rUploadMainMonitorDataDTO.setMaintOrg(pvTerminalTreeVO.getCode());
+ rUploadMainMonitorDataDTO.setMaintOrgName(pvTerminalTreeVO.getName());
+
+ PvTerminalTreeVO pvTerminalTreeCity = pvTerminalTreeVOIdMap.get(pvTerminalTreeVO.getPid());
+ rUploadMainMonitorDataDTO.setCityOrg(pvTerminalTreeCity.getCode());
+ rUploadMainMonitorDataDTO.setCityOrgName(pvTerminalTreeCity.getName());
+
+ PvTerminalTreeVO pvTerminalTreeProvince = pvTerminalTreeVOIdMap.get(pvTerminalTreeCity.getPid());
+ rUploadMainMonitorDataDTO.setProvinceOrg(pvTerminalTreeProvince.getCode());
+ rUploadMainMonitorDataDTO.setProvinceOrgName(pvTerminalTreeProvince.getName());
+ }
+
+
+
+}