From 11cd82dc0ff00f1d9aae9bebda0153ca148282da Mon Sep 17 00:00:00 2001
From: huangzj <826100833@qq.com>
Date: Wed, 19 Jul 2023 14:58:13 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cs-device/cs-device-api/pom.xml | 6 ++
.../api/RoleEngineerDevFeignClient.java | 2 +
.../RoleEngineerDevClientFallbackFactory.java | 6 ++
.../pojo/param/AppProjectAddParm.java | 5 +-
.../pojo/param/AppTopologyDiagramAddParm.java | 3 +-
.../njcn/csdevice/pojo/param/CsLineParm.java | 58 +++++++++++++++++++
.../pojo/po/AppTopologyDiagramPO.java | 5 ++
.../pojo/vo/AppTopologyDiagramVO.java | 10 ++++
.../com/njcn/csdevice/pojo/vo/DevCountVO.java | 12 +++-
.../controller/line/CslineController.java | 14 ++++-
.../CsLineTopologyTemplateController.java | 11 ++++
.../project/RoleEngineerDevController.java | 10 ++++
.../AppLineTopologyDiagramService.java | 7 ++-
.../csdevice/service/CsLinePOService.java | 4 +-
.../service/RoleEngineerDevService.java | 2 +
.../AppLineTopologyDiagramServiceImpl.java | 8 +++
.../service/impl/AppProjectServiceImpl.java | 57 +++++++++++++++---
.../impl/AppTopologyDiagramServiceImpl.java | 20 +++----
.../impl/CsDeviceUserPOServiceImpl.java | 22 +++++--
.../service/impl/CsLinePOServiceImpl.java | 52 +++++++++++++++++
.../impl/RoleEngineerDevServiceImpl.java | 15 +++++
.../param/CommonStatisticalQueryParam.java | 2 +-
.../csharmonic/param/CsConfigurationParm.java | 2 +-
.../csharmonic/pojo/po/CsConfigurationPO.java | 4 +-
.../csharmonic/pojo/vo/CsConfigurationVO.java | 2 +-
.../handler/MqttMessageHandler.java | 31 +++++++++-
.../mapper/mapping/CsConfigurationMapper.xml | 2 +-
.../impl/CsConfigurationServiceImpl.java | 28 ++++-----
.../service/impl/StableDataServiceImpl.java | 1 +
.../alarm/CsEquipmentAlarmController.java | 10 ++--
.../service/CsEquipmentAlarmPOService.java | 6 +-
.../impl/CsEquipmentAlarmPOServiceImpl.java | 16 ++---
32 files changed, 365 insertions(+), 68 deletions(-)
create mode 100644 cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParm.java
diff --git a/cs-device/cs-device-api/pom.xml b/cs-device/cs-device-api/pom.xml
index 017d949..30b135d 100644
--- a/cs-device/cs-device-api/pom.xml
+++ b/cs-device/cs-device-api/pom.xml
@@ -35,6 +35,12 @@
common-microservice
${project.version}
+
+ com.njcn
+ cs-warn-api
+ 1.0.0
+ compile
+
UTF-8
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/RoleEngineerDevFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/RoleEngineerDevFeignClient.java
index 9f6cb7f..e885e3c 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/RoleEngineerDevFeignClient.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/RoleEngineerDevFeignClient.java
@@ -28,5 +28,7 @@ public interface RoleEngineerDevFeignClient {
@PostMapping("/getDevice")
public HttpResult> getDevice();
+ @PostMapping("/getRoleproject")
+ public HttpResult> getRoleProject();
}
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/RoleEngineerDevClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/RoleEngineerDevClientFallbackFactory.java
index 05dce32..c884c43 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/RoleEngineerDevClientFallbackFactory.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/RoleEngineerDevClientFallbackFactory.java
@@ -42,6 +42,12 @@ public class RoleEngineerDevClientFallbackFactory implements FallbackFactory> getRoleProject() {
+ log.error("{}异常,降级处理,异常为:{}","查询角色项目异常",cause.toString());
+ throw new BusinessException(finalExceptionEnum);
+ }
};
}
}
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAddParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAddParm.java
index 0d57555..d0746bd 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAddParm.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppProjectAddParm.java
@@ -7,6 +7,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
+import java.util.List;
/**
* Description:
@@ -50,7 +51,9 @@ public class AppProjectAddParm {
private BigDecimal lat;
@ApiModelProperty(value = "拓扑图文件")
- @NotNull(message="拓扑图文件不能为空!")
private MultipartFile[] files;
+ @ApiModelProperty(value="拓扑图模版id集合")
+ private List topoIds;
+
}
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppTopologyDiagramAddParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppTopologyDiagramAddParm.java
index cf73958..eb455ef 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppTopologyDiagramAddParm.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/AppTopologyDiagramAddParm.java
@@ -42,8 +42,7 @@ public class AppTopologyDiagramAddParm {
@ApiModelProperty(value = "拓扑图文件")
private MultipartFile file;
- @ApiModelProperty(value = "拓扑图模板")
- private String topoId;
+
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParm.java
new file mode 100644
index 0000000..2607799
--- /dev/null
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsLineParm.java
@@ -0,0 +1,58 @@
+package com.njcn.csdevice.pojo.param;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.njcn.db.bo.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *
+ * Description:
+ * Date: 2023/5/18 14:01【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+@Data
+public class CsLineParm {
+
+ private String topoId;
+ private String projectId;
+
+ private String devId;
+ /**
+ * 监测点名称
+ */
+ private String name;
+
+ /**
+ * 字典表:安装位置(负载侧,电网侧, 输出侧)
+ */
+ private String position;
+
+ /**
+ * 电压等级
+ */
+ private String volGrade;
+
+ /**
+ * PT变比
+ */
+ private BigDecimal ptRatio;
+
+ /**
+ * CT变比
+ */
+ private BigDecimal ctRatio;
+
+ private Double lat;
+ private Double lng;
+
+
+
+
+}
\ No newline at end of file
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/AppTopologyDiagramPO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/AppTopologyDiagramPO.java
index bb3d240..fd5cb81 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/AppTopologyDiagramPO.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/AppTopologyDiagramPO.java
@@ -33,6 +33,11 @@ public class AppTopologyDiagramPO extends BaseEntity {
*/
@TableField(value = "name")
private String name;
+ /**
+ * 拓扑图模板Id
+ */
+ @TableField(value = "topo_id")
+ private String topoId;
/**
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppTopologyDiagramVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppTopologyDiagramVO.java
index 2d003e3..47ec5fa 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppTopologyDiagramVO.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/AppTopologyDiagramVO.java
@@ -1,9 +1,12 @@
package com.njcn.csdevice.pojo.vo;
+import com.njcn.csdevice.pojo.po.AppLineTopologyDiagramPO;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
/**
*
* Description:
@@ -29,6 +32,9 @@ public class AppTopologyDiagramVO extends BaseEntity {
@ApiModelProperty(value = "拓扑图名称")
private String name;
+ @ApiModelProperty(value = "拓扑图模板名称")
+ private String topoId;
+
/**
@@ -52,5 +58,9 @@ public class AppTopologyDiagramVO extends BaseEntity {
@ApiModelProperty(value = "status")
private String status;
+ private List csLineTopologyTemplateVOList;
+
+ private List appsLineTopologyDiagramPO;
+
}
\ No newline at end of file
diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DevCountVO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DevCountVO.java
index d2b3cd7..090ac75 100644
--- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DevCountVO.java
+++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/vo/DevCountVO.java
@@ -1,8 +1,12 @@
package com.njcn.csdevice.pojo.vo;
+import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
+import com.njcn.cswarn.pojo.vo.CsEquipmentAlarmVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
/**
* Description:
* Date: 2023/7/5 15:09【需求编号】
@@ -13,16 +17,22 @@ import lombok.Data;
@Data
public class DevCountVO {
- @ApiModelProperty(value = "设备总数")
+ @ApiModelProperty(value = "工程id")
private String id;
@ApiModelProperty(value = "设备总数")
private Integer allDevCount;
+ private List allDevs;
@ApiModelProperty(value = "在线设备数")
private Integer onLineCount;
+ private List onLineDevs;
+
@ApiModelProperty(value = "离线设备数")
private Integer offLineCount;
+ private List offLineDevs;
@ApiModelProperty(value = "报警设备数")
private Integer alarmLineCount;
+ private List alarmLineDevs;
+
@ApiModelProperty(value = "设备报警事件数")
private Integer alarmEventCount;
@ApiModelProperty(value = "稳态/暂态发生事件数")
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java
index 0d7990e..b4c2814 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java
@@ -5,6 +5,7 @@ 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.csdevice.pojo.param.CsLineParm;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.service.CsLinePOService;
import com.njcn.web.controller.BaseController;
@@ -35,7 +36,7 @@ public class CslineController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryLineById")
- @ApiOperation("监测点查询通过设备id获取")
+ @ApiOperation("监测点查询通过id获取")
@ApiImplicitParam(name = "ids", value = "设备id获集合", required = true)
public HttpResult> queryLineById(@RequestParam List ids){
String methodDescribe = getMethodDescribe("queryLineById");
@@ -62,4 +63,15 @@ public class CslineController extends BaseController {
csLinePOService.saveBatch(list);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
+
+// @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+// @PostMapping("/addLineList")
+// @ApiOperation("批量新增监测点及绑定关系")
+// @ApiImplicitParam(name = "list", value = "监测点数据集", required = true)
+// public HttpResult addLines(@RequestBody List list){
+// String methodDescribe = getMethodDescribe("addLines");
+// csLinePOService.addLines(list);
+// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
+// }
+
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/CsLineTopologyTemplateController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/CsLineTopologyTemplateController.java
index 11197ce..c604cd0 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/CsLineTopologyTemplateController.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/CsLineTopologyTemplateController.java
@@ -7,6 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.pojo.param.CsLineTopologyTemplateParm;
+import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
import com.njcn.csdevice.pojo.vo.CsTopologyDiagramTemplateVO;
import com.njcn.csdevice.service.CsLineTopologyTemplateService;
import com.njcn.web.controller.BaseController;
@@ -42,4 +43,14 @@ public class CsLineTopologyTemplateController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,flag, methodDescribe);
}
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
+ @PostMapping("/queryByTopoId")
+ @ApiOperation("根据拓扑图id查询监测点位置")
+ public HttpResult> queryByTopoId(@RequestParam("topoId") String topoId){
+ String methodDescribe = getMethodDescribe("queryByTopoId");
+ List csLineTopologyTemplateVOS = csLineTopologyTemplateService.queryByTopoId(topoId);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,csLineTopologyTemplateVOS, methodDescribe);
+ }
+
+
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/RoleEngineerDevController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/RoleEngineerDevController.java
index c44702a..4ed788d 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/RoleEngineerDevController.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/project/RoleEngineerDevController.java
@@ -52,6 +52,16 @@ public class RoleEngineerDevController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, roleengineer, methodDescribe);
}
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getRoleproject")
+ @ApiOperation("角色项目查询")
+ public HttpResult> getRoleProject(){
+ String methodDescribe = getMethodDescribe("getRoleProject");
+
+ List roleProject = roleEngineerDevService.getRoleProject();
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, roleProject, methodDescribe);
+ }
+
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getDevice")
@ApiOperation("角色设备查询")
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppLineTopologyDiagramService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppLineTopologyDiagramService.java
index 1809a50..85f1d51 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppLineTopologyDiagramService.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/AppLineTopologyDiagramService.java
@@ -3,6 +3,9 @@ package com.njcn.csdevice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.csdevice.pojo.po.AppLineTopologyDiagramPO;
import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO;
+import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
+
+import java.util.List;
/**
*
@@ -17,4 +20,6 @@ public interface AppLineTopologyDiagramService extends IService queryByTopoId(String id);
+}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java
index 17ec37b..0c2bc92 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java
@@ -1,6 +1,7 @@
package com.njcn.csdevice.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.njcn.csdevice.pojo.param.CsLineParm;
import com.njcn.csdevice.pojo.po.CsLinePO;
import java.util.List;
@@ -26,4 +27,5 @@ public interface CsLinePOService extends IService{
List queryByDevId(String devId);
- }
+// void addLines(List list);
+}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/RoleEngineerDevService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/RoleEngineerDevService.java
index 0f9d433..7094ca5 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/RoleEngineerDevService.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/RoleEngineerDevService.java
@@ -12,4 +12,6 @@ import java.util.List;
public interface RoleEngineerDevService {
List getRoleengineer();
List getDevice();
+
+ List getRoleProject();
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java
index 7c3dde6..eaa247e 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppLineTopologyDiagramServiceImpl.java
@@ -9,6 +9,7 @@ import com.njcn.csdevice.pojo.param.AppTopologyDiagramQueryParm;
import com.njcn.csdevice.pojo.po.AppLineTopologyDiagramPO;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO;
+import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
import com.njcn.csdevice.service.AppLineTopologyDiagramService;
import com.njcn.csdevice.service.AppTopologyDiagramService;
import com.njcn.csdevice.service.CsLinePOService;
@@ -49,6 +50,13 @@ public class AppLineTopologyDiagramServiceImpl extends ServiceImpl queryByTopoId(String id) {
+ List list = this.lambdaQuery().eq(AppLineTopologyDiagramPO::getId, id).list();
+ return list;
+ }
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java
index da20d63..b711f51 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppProjectServiceImpl.java
@@ -10,18 +10,22 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.mapper.AppProjectMapper;
import com.njcn.csdevice.mapper.CsLedgerMapper;
+import com.njcn.csdevice.mapper.CsTopologyDiagramTemplateMapper;
import com.njcn.csdevice.pojo.param.*;
-import com.njcn.csdevice.pojo.po.AppProjectPO;
-import com.njcn.csdevice.pojo.po.CsLedger;
+import com.njcn.csdevice.pojo.po.*;
import com.njcn.csdevice.pojo.vo.AppProjectVO;
import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO;
+import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
import com.njcn.csdevice.service.AppProjectService;
import com.njcn.csdevice.service.AppTopologyDiagramService;
+import com.njcn.csdevice.service.CsLineTopologyTemplateService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
@@ -42,7 +46,8 @@ class AppProjectServiceImpl extends ServiceImpl
private final AppProjectMapper appProjectMapper;
private final AppTopologyDiagramService appTopologyDiagramService;
private final CsLedgerMapper csLedgerMapper;
-
+ private final CsTopologyDiagramTemplateMapper csTopologyDiagramTemplateMapper;
+ private final CsLineTopologyTemplateService csLineTopologyDiagramTemplateService;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean addAppProject(AppProjectAddParm appProjectAddOrAuditParm) {
@@ -58,14 +63,47 @@ class AppProjectServiceImpl extends ServiceImpl
BeanUtils.copyProperties (appProjectAddOrAuditParm, appProjectPO);
appProjectPO.setStatus ("1");
boolean save = this.save (appProjectPO);
- for (int i = 0; i < appProjectAddOrAuditParm.getFiles ( ).length; i++) {
+ //如何使用拓扑图模板则将拓扑图模板复制绑定
+ if(!CollectionUtils.isEmpty(appProjectAddOrAuditParm.getTopoIds()) ){
+ List appTopologyDiagramPOS = new ArrayList<>();
+ List csLineTopologyTemplates = new ArrayList<>();
+ appProjectAddOrAuditParm.getTopoIds().forEach(temp->{
+ AppTopologyDiagramPO appTopologyDiagramPO = new AppTopologyDiagramPO();
+ CsTopologyDiagramTemplate csTopologyDiagramTemplate = csTopologyDiagramTemplateMapper.selectById(temp);
+ appTopologyDiagramPO.setFilePath (csTopologyDiagramTemplate.getFilePath());
+ appTopologyDiagramPO.setProjectId (appProjectPO.getId());
+ appTopologyDiagramPO.setName (csTopologyDiagramTemplate.getName());
+ appTopologyDiagramPO.setStatus ("1");
+ appTopologyDiagramPO.setTopoId(temp);
+ appTopologyDiagramService.save(appTopologyDiagramPO);
+
+ //如何使用拓扑图模板生成监测点模版
+// List csLineTopologyTemplateVOS = csLineTopologyDiagramTemplateService.queryByTopoId(temp);
+// List collect = csLineTopologyTemplateVOS.stream().map(temp1 -> {
+// CsLineTopologyTemplate csLineTopologyTemplate = new CsLineTopologyTemplate();
+// BeanUtils.copyProperties(temp1, csLineTopologyTemplate);
+// csLineTopologyTemplate.setId(null);
+// csLineTopologyTemplate.setStatus("1");
+// csLineTopologyTemplate.setTopoId(appTopologyDiagramPO.getId());
+// return csLineTopologyTemplate;
+// }).collect(Collectors.toList());
+// csLineTopologyTemplates.addAll(collect);
+ });
+ csLineTopologyDiagramTemplateService.saveBatch(csLineTopologyTemplates);
+
- AppTopologyDiagramAddParm appTopologyDiagramAddParm = new AppTopologyDiagramAddParm ( );
- appTopologyDiagramAddParm.setProjectId (appProjectPO.getId ( ));
- appTopologyDiagramAddParm.setTopologyDiagramName (appProjectAddOrAuditParm.getFiles ( )[i].getOriginalFilename ( ));
- appTopologyDiagramAddParm.setFile (appProjectAddOrAuditParm.getFiles ( )[i]);
- appTopologyDiagramService.addAppTopologyDiagram (appTopologyDiagramAddParm);
}
+ if(Objects.nonNull( appProjectAddOrAuditParm.getFiles ( ))){
+ for (int i = 0; i < appProjectAddOrAuditParm.getFiles ( ).length; i++) {
+
+ AppTopologyDiagramAddParm appTopologyDiagramAddParm = new AppTopologyDiagramAddParm ( );
+ appTopologyDiagramAddParm.setProjectId (appProjectPO.getId ( ));
+ appTopologyDiagramAddParm.setTopologyDiagramName (appProjectAddOrAuditParm.getFiles ( )[i].getOriginalFilename ( ));
+ appTopologyDiagramAddParm.setFile (appProjectAddOrAuditParm.getFiles ( )[i]);
+ appTopologyDiagramService.addAppTopologyDiagram (appTopologyDiagramAddParm);
+ }
+ }
+
CsLedger csLedger = csLedgerMapper.selectById(appProjectAddOrAuditParm.getEngineeringId());
Optional.ofNullable(csLedger).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.ENGINEERING_DATA_ERROR));
CsLedger csLedger1 = new CsLedger();
@@ -152,6 +190,7 @@ class AppProjectServiceImpl extends ServiceImpl
appTopologyDiagramQueryParm.setProjectId(temp.getId());
List appTopologyDiagramVOList = appTopologyDiagramService.queryAppTopologyDiagram(appTopologyDiagramQueryParm);
temp.setTopologyDiagramPaths(appTopologyDiagramVOList);
+
return temp;
}).collect(Collectors.toList());
returnpage.setRecords(collect);
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java
index c5b7e68..e6bfe81 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/AppTopologyDiagramServiceImpl.java
@@ -22,6 +22,8 @@ import com.njcn.csdevice.pojo.po.AppTopologyDiagramPO;
import com.njcn.csdevice.pojo.po.CsLineTopologyTemplate;
import com.njcn.csdevice.pojo.po.CsTopologyDiagramTemplate;
import com.njcn.csdevice.pojo.vo.AppTopologyDiagramVO;
+import com.njcn.csdevice.pojo.vo.CsLineTopologyTemplateVO;
+import com.njcn.csdevice.service.AppLineTopologyDiagramService;
import com.njcn.csdevice.service.AppTopologyDiagramService;
import com.njcn.csdevice.service.CsLineTopologyTemplateService;
import com.njcn.oss.constant.OssPath;
@@ -54,19 +56,13 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl DataParam.FILE_SIZE){
throw new BusinessException(AlgorithmResponseEnum.FILE_SIZE_ERROR);
@@ -77,7 +73,7 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl csLineTopologyTemplateVOS = csLineTopologyTemplateService.queryByTopoId(temp.getTopoId());
+ vo.setCsLineTopologyTemplateVOList(csLineTopologyTemplateVOS);
return vo;
}).collect (Collectors.toList ( ));
return collect;
@@ -154,6 +152,8 @@ public class AppTopologyDiagramServiceImpl extends ServiceImpl csLineTopologyTemplateVOS = csLineTopologyTemplateService.queryByTopoId(temp.getTopoId());
+ vo.setCsLineTopologyTemplateVOList(csLineTopologyTemplateVOS);
return vo;
}).collect (Collectors.toList ( ));
returnpage.setRecords (collect);
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDeviceUserPOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDeviceUserPOServiceImpl.java
index cf1f141..acbbbdd 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDeviceUserPOServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDeviceUserPOServiceImpl.java
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -87,17 +88,28 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl device = roleEngineerDevService.getDevice();
if(CollectionUtils.isEmpty(device)){
devCountVO.setOnLineCount(0);
+ devCountVO.setOnLineDevs(new ArrayList<>());
devCountVO.setOffLineCount(0);
+ devCountVO.setOffLineDevs(new ArrayList<>());
+
devCountVO.setAllDevCount(0);
+ devCountVO.setAllDevs(new ArrayList<>());
+
}else {
devCountVO.setAllDevCount(device.size());
+
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.in("id",device);
List csEquipmentDeliveryPOS = csEquipmentDeliveryMapper.selectList(queryWrapper);
- long count = csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 1).count();
- long count1 = csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 2).count();
- devCountVO.setOnLineCount(Integer.valueOf(count1+""));
- devCountVO.setOffLineCount(Integer.valueOf(count+""));
+ devCountVO.setAllDevs(csEquipmentDeliveryPOS);
+ List collect = csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 1).collect(Collectors.toList());
+ List collect2= csEquipmentDeliveryPOS.stream().filter(temp -> temp.getRunStatus() == 2).collect(Collectors.toList());
+ devCountVO.setOnLineCount(collect.size());
+ devCountVO.setOnLineDevs(collect);
+ devCountVO.setOffLineCount(collect2.size());
+ devCountVO.setOffLineDevs(collect2);
+
+
}
@@ -111,7 +123,7 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl data = csEquipmentAlarmFeignClient.queryList(csEquipmentAlarmPageParm).getData();
List devIds = data.stream().map(CsEquipmentAlarmVO::getEquipmentId).distinct().collect(Collectors.toList());
-
+ devCountVO.setAlarmLineDevs(data);
devCountVO.setAlarmEventCount(data.size());
devCountVO.setId(id);
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java
index 060d1a5..238b46f 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java
@@ -1,14 +1,19 @@
package com.njcn.csdevice.service.impl;
+import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.csdevice.mapper.CsLedgerMapper;
import com.njcn.csdevice.mapper.CsLinePOMapper;
+import com.njcn.csdevice.pojo.param.CsLineParm;
+import com.njcn.csdevice.pojo.po.AppLineTopologyDiagramPO;
import com.njcn.csdevice.pojo.po.CsLedger;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.service.CsLinePOService;
import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -43,8 +48,55 @@ public class CsLinePOServiceImpl extends ServiceImpl i
queryWrapper.eq("state",1).eq("pid",devId);
List csLedgerList = csLedgerMapper.selectList(queryWrapper);
List csPairList = csLedgerList.stream().map(CsLedger::getId).collect(Collectors.toList());
+ if(CollectionUtil.isEmpty(csPairList)){
+ return new ArrayList<>();
+ }
List csLinePOS = this.listByIds(csPairList);
csLinePOS.forEach(temp->temp.setDevId(devId));
return csLinePOS;
}
+
+// /**
+// * 1.平台端默认配置拓扑图模板,包含拓扑图信息(cs_topology_diagram_template)和拓扑图上监测点的点位信息(cs_line_topology_template)
+// *
+// * 2.移动端新增项目时可以上传自己的拓扑图也可以选择拓扑图模板
+// * 维护项目和拓扑图关系(cs_topology_diagram,这个表的id可以使用拓扑图模板id);
+// * 用户使用拓扑图模板,则根据模板id查(cs_line_topology_template)库中有几个监测点,绑定到监测点模板关系表中(cs_line_topology_diagram);
+// * 用户自己添加拓扑图,则新增拓扑图信息(cs_topology_diagram),同时记录用户在此拓扑图上的点位信息(cs_line_topology_diagram)
+// *
+// * 3.用户注册直连设备,根据模板信息返回监测点数量,页面选择拓扑图,根据(cs_topology_diagram)拓扑图id查询(cs_line_topology_diagram)拓扑图监测点关系表,获取监测点信息。根据位置来获取打点信息。
+// * 注:cs_line_topology_diagram这个表还需要加个位置字段,不然无法根据位置来匹配对应的监测点
+// *
+// * 4.保存之后要在这些表中同步数据(cs_line、cs_ledger)
+// *
+// * @param list
+// */
+// @Override
+// @Transactional(rollbackFor = Exception.class)
+// public void addLines(List list) {
+// List csLedgerLis = new ArrayList<>();
+// list.stream().forEach(temp->{
+// CsLinePO csLinePO = new CsLinePO();
+// BeanUtils.copyProperties(temp,csLinePO);
+// this.save(csLinePO);
+// String lineId = csLinePO.getLineId();
+// CsLedger csLedger = new CsLedger();
+//
+// csLedger.setId(lineId);
+// csLedger.setPid(temp.getDevId());
+// csLedger.setLevel(3);
+// csLedger.setSort(1);
+// csLedger.setState(1);
+//
+//
+// AppLineTopologyDiagramPO appLineTopologyDiagramPO = new AppLineTopologyDiagramPO();
+// appLineTopologyDiagramPO.setId(temp.getTopoId());
+// appLineTopologyDiagramPO.setStatus("1");
+// appLineTopologyDiagramPO.setLineId(lineId);
+// appLineTopologyDiagramPO.setLat(temp.getLat());
+// appLineTopologyDiagramPO.setLng(temp.getLng());
+//
+// });
+//
+// }
}
diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RoleEngineerDevServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RoleEngineerDevServiceImpl.java
index 1997028..22b2c02 100644
--- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RoleEngineerDevServiceImpl.java
+++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/RoleEngineerDevServiceImpl.java
@@ -138,6 +138,21 @@ public class RoleEngineerDevServiceImpl implements RoleEngineerDevService {
return collect;
}
+ @Override
+ public List getRoleProject() {
+ List roleengineer = this.getRoleengineer();
+ if(CollectionUtils.isEmpty(roleengineer)){
+ return new ArrayList<>();
+ }
+ QueryWrapper csLedgerQueryWrapper = new QueryWrapper<>();
+ csLedgerQueryWrapper.clear();
+ csLedgerQueryWrapper.eq("level",1).eq("state",1).in("pid",roleengineer);
+ List csLedgers = csLedgerMapper.selectList(csLedgerQueryWrapper);
+ List collect = csLedgers.stream().map(CsLedger::getId).distinct().collect(Collectors.toList());
+
+
+ return collect;
+ }
}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
index db16c02..4baf4e7 100644
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CommonStatisticalQueryParam.java
@@ -24,7 +24,7 @@ public class CommonStatisticalQueryParam {
private String statisticalId;
@ApiModelProperty(value = "取值类型(Max,Min,cp95,avg)")
private String valueType;
- @ApiModelProperty(value = "频次20-50")
+ @ApiModelProperty(value = "频次2-50")
private String frequency;
@ApiModelProperty(value = "开始时间")
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsConfigurationParm.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsConfigurationParm.java
index ff3156c..ebe6031 100644
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsConfigurationParm.java
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/param/CsConfigurationParm.java
@@ -28,7 +28,7 @@ public class CsConfigurationParm {
private String remark;
- private List engeeringIds;
+ private List projectIds;
private Integer orderBy;
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/CsConfigurationPO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/CsConfigurationPO.java
index e2ba597..cb83ade 100644
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/CsConfigurationPO.java
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/CsConfigurationPO.java
@@ -36,8 +36,8 @@ public class CsConfigurationPO extends BaseEntity {
@TableField(value = "remark")
private String remark;
- @TableField(value = "engeering_ids")
- private String engeeringIds;
+ @TableField(value = "project_ids")
+ private String projectIds;
@TableField(value = "order_By")
private Integer orderBy;
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsConfigurationVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsConfigurationVO.java
index 923ff2b..625940b 100644
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsConfigurationVO.java
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/CsConfigurationVO.java
@@ -32,7 +32,7 @@ public class CsConfigurationVO extends BaseEntity {
private Integer orderBy;
- private List engeeringIds;
+ private List projectIds;
@ApiModelProperty(value = "操作人")
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java
index 446ee52..b079f04 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java
@@ -5,13 +5,19 @@ import com.github.tocrhz.mqtt.annotation.MqttSubscribe;
import com.github.tocrhz.mqtt.annotation.NamedValue;
import com.github.tocrhz.mqtt.annotation.Payload;
import com.github.tocrhz.mqtt.publisher.MqttPublisher;
+import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
+import com.njcn.csharmonic.pojo.vo.ThdDataVO;
import com.njcn.csharmonic.service.ILineTargetService;
+import com.njcn.csharmonic.service.StableDataService;
+import com.njcn.system.api.CsStatisticalSetFeignClient;
+import com.njcn.system.pojo.po.EleEpdPqd;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.stereotype.Component;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -27,7 +33,8 @@ public class MqttMessageHandler {
private final MqttPublisher publisher;
private final ILineTargetService lineTargetService;
-
+ private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
+ private final StableDataService stableDataService;
/**
* 实时数据应答
*/
@@ -37,4 +44,26 @@ public class MqttMessageHandler {
Gson gson = new Gson();
publisher.send("/zl/rtData/"+pageId,gson.toJson(list),1,false);
}
+
+ /**
+ * 实时数据应答
+ */
+ @MqttSubscribe(value = "/zl/askDevData/{devId}",qos = 1)
+ public void responseTopoData(String topic, @NamedValue("devId") String devId, MqttMessage message, @Payload String payload) {
+ List result = new ArrayList<>();
+ //1.查询拓扑图配置的指标:拓扑图扑图配置:7677f94c749dedaff30f911949cbd724
+ List data = csStatisticalSetFeignClient.queryStatisticalSelect("7677f94c749dedaff30f911949cbd724").getData();
+ data.forEach(temp->{
+ CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam();
+ commonStatisticalQueryParam.setDevId(devId);
+ commonStatisticalQueryParam.setStatisticalId(temp.getId());
+ commonStatisticalQueryParam.setValueType("cp95");
+ List thdDataVOS = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam);
+ result.addAll(thdDataVOS);
+ });
+
+
+ Gson gson = new Gson();
+ publisher.send("/zl/devData/"+devId,gson.toJson(result),1,false);
+ }
}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsConfigurationMapper.xml b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsConfigurationMapper.xml
index 7446ee4..a5c6a7f 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsConfigurationMapper.xml
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsConfigurationMapper.xml
@@ -20,7 +20,7 @@