Browse Source

看板相关接口开发1(查询、修改、新增)

jichaobo 3 years ago
parent
commit
7fd3d9a485
21 changed files with 1090 additions and 44 deletions
  1. 21 0
      fiveep-controller/src/main/java/com/bizmatics/controller/web/BulletinAlarmConfigController.java
  2. 33 6
      fiveep-controller/src/main/java/com/bizmatics/controller/web/BulletinCruxConfigController.java
  3. 1 1
      fiveep-controller/src/main/java/com/bizmatics/controller/web/MybatisGeneratorUtils.java
  4. 83 0
      fiveep-model/src/main/java/com/bizmatics/model/BulletinAlarmConfig.java
  5. 20 0
      fiveep-model/src/main/java/com/bizmatics/model/BulletinCruxConfig.java
  6. 2 2
      fiveep-model/src/main/java/com/bizmatics/model/BulletinHistoricalConfig.java
  7. 112 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/AlarmPowerVo.java
  8. 70 1
      fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinCruxConfigVo.java
  9. 114 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinHistoricalConfigAddVo.java
  10. 83 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinHistoricalRelationVo.java
  11. 88 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/DeviceDataVo.java
  12. 9 0
      fiveep-model/src/main/java/com/bizmatics/model/vo/RtData.java
  13. 16 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/BulletinAlarmConfigMapper.java
  14. 18 5
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/BulletinCruxConfigMapper.java
  15. 20 0
      fiveep-persistence/src/main/resources/mapper/mysql/BulletinAlarmConfigMapper.xml
  16. 81 0
      fiveep-persistence/src/main/resources/mapper/mysql/BulletinCruxConfigMapper.xml
  17. 2 2
      fiveep-persistence/src/main/resources/mapper/mysql/BulletinHistoricalConfigMapper.xml
  18. 16 0
      fiveep-service/src/main/java/com/bizmatics/service/BulletinAlarmConfigService.java
  19. 16 1
      fiveep-service/src/main/java/com/bizmatics/service/BulletinCruxConfigService.java
  20. 20 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/BulletinAlarmConfigServiceImpl.java
  21. 265 26
      fiveep-service/src/main/java/com/bizmatics/service/impl/BulletinCruxConfigServiceImpl.java

+ 21 - 0
fiveep-controller/src/main/java/com/bizmatics/controller/web/BulletinAlarmConfigController.java

@@ -0,0 +1,21 @@
+package com.bizmatics.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-07
+ */
+@Controller
+@RequestMapping("/bulletinAlarmConfig")
+public class BulletinAlarmConfigController {
+
+}
+

+ 33 - 6
fiveep-controller/src/main/java/com/bizmatics/controller/web/BulletinCruxConfigController.java

@@ -2,7 +2,9 @@ package com.bizmatics.controller.web;
 
 
 import com.bizmatics.common.core.bean.ApiResult;
+import com.bizmatics.model.BulletinAlarmConfig;
 import com.bizmatics.model.BulletinCruxConfig;
+import com.bizmatics.model.vo.BulletinHistoricalConfigAddVo;
 import com.bizmatics.service.BulletinCruxConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -22,21 +24,22 @@ public class BulletinCruxConfigController {
     private BulletinCruxConfigService bulletinCruxConfigService;
 
     /**
-     * 数据看板-数据配置查询1
-     *
+     * 数据看板-数据配置查询
      * @param siteId 站点ID
-     * @param id     配置ID
+     * @param id 配置id
+     * @param colorType 类型
      * @return
      */
     @GetMapping("/getBulletinCruxConfigList")
     public ApiResult<List<Object>> getBulletinCruxConfigList(@RequestParam(value = "siteId") Integer siteId,
-                                                             @RequestParam(value = "id", required = false, defaultValue = "0") Integer id) {
-        return ApiResult.success(bulletinCruxConfigService.getBulletinCruxConfigList(siteId, id));
+                                                             @RequestParam(value = "id", required = false, defaultValue = "0") Integer id,
+                                                             @RequestParam(value = "colorType", required = false) String colorType) {
+        return ApiResult.success(bulletinCruxConfigService.getBulletinCruxConfigList(siteId, id,colorType));
     }
 
 
     /**
-     * 数据看板-数据配置1编辑
+     * 数据看板-数据配置1编辑新增
      *
      * @param bulletinCruxConfig
      * @return
@@ -47,6 +50,30 @@ public class BulletinCruxConfigController {
         return ApiResult.success();
     }
 
+    /**
+     * 数据看板-数据配置2编辑新增
+     *
+     * @param bulletinHistoricalConfigAddVo
+     * @return
+     */
+    @PostMapping("editBulletinHistoricalConfig")
+    public ApiResult<Void> editBulletinHistoricalConfig(@RequestBody BulletinHistoricalConfigAddVo bulletinHistoricalConfigAddVo) {
+        bulletinCruxConfigService.editBulletinHistoricalConfig(bulletinHistoricalConfigAddVo);
+        return ApiResult.success();
+    }
+
+    /**
+     * 数据看板-数据配置3编辑新增
+     *
+     * @param bulletinAlarmConfig
+     * @return
+     */
+    @PostMapping("editBulletinAlarmConfig")
+    public ApiResult<Void> editBulletinAlarmConfig(@RequestBody BulletinAlarmConfig bulletinAlarmConfig) {
+        bulletinCruxConfigService.editBulletinAlarmConfig(bulletinAlarmConfig);
+        return ApiResult.success();
+    }
+
     /**
      * 数据看板-数据配置1删除
      *

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/MybatisGeneratorUtils.java

@@ -70,7 +70,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude(new String[]{"bulletin_historical_relation"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude(new String[]{"bulletin_alarm_config"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 83 - 0
fiveep-model/src/main/java/com/bizmatics/model/BulletinAlarmConfig.java

@@ -0,0 +1,83 @@
+package com.bizmatics.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class BulletinAlarmConfig implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 历史数据关联表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 列表标题
+     */
+    private String listTitle;
+
+    /**
+     * 图标路径
+     */
+    private String iconPath;
+
+    /**
+     * 告警类型
+     */
+    private String alarmType;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 站点id
+     */
+    private Integer siteId;
+
+    /**
+     * X轴坐标
+     */
+    private Integer coordinatex;
+
+    /**
+     * Y轴坐标
+     */
+    private Integer coordinatey;
+
+    /**
+     * 宽
+     */
+    private Integer wide;
+
+    /**
+     * 高
+     */
+    private Integer high;
+
+
+}

+ 20 - 0
fiveep-model/src/main/java/com/bizmatics/model/BulletinCruxConfig.java

@@ -108,4 +108,24 @@ public class BulletinCruxConfig implements Serializable {
      * 保留小数
      */
     private Integer digit;
+
+    /**
+     * X轴坐标
+     */
+    private Integer coordinatex;
+
+    /**
+     * Y轴坐标
+     */
+    private Integer coordinatey;
+
+    /**
+     * 宽
+     */
+    private Integer wide;
+
+    /**
+     * 高
+     */
+    private Integer high;
 }

+ 2 - 2
fiveep-model/src/main/java/com/bizmatics/model/BulletinHistoricalConfig.java

@@ -87,12 +87,12 @@ public class BulletinHistoricalConfig implements Serializable {
     /**
      * X轴坐标
      */
-    private Integer xAxis;
+    private Integer coordinatex;
 
     /**
      * Y轴坐标
      */
-    private Integer yAxis;
+    private Integer coordinatey;
 
     /**
      * 宽

+ 112 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/AlarmPowerVo.java

@@ -0,0 +1,112 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 电力告警
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class AlarmPowerVo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 电力告警表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 阿里云平台设备名称
+     */
+    private String deviceCode;
+
+    /**
+     * 告警名称
+     */
+    private String alarmName;
+
+    /**
+     * 发送时间
+     */
+    private Date sendingTime;
+
+    /**
+     * 告警类型(alert 告警)
+     */
+    private String alarmType;
+
+    /**
+     * 测点名称
+     */
+    private String measName;
+
+    /**
+     * 遥信值(0  正常  1 告警)
+     */
+    private Integer digitalValue;
+
+    /**
+     * 测点描述
+     */
+    private String measDesc;
+
+    /**
+     * 发生时间
+     */
+    private Date soeTime;
+
+    /**
+     * 处理人
+     */
+    private String handler;
+
+    /**
+     * 处理时间
+     */
+    private Date handlingTime;
+
+    /**
+     * 处理内容
+     */
+    private String handlingContent;
+
+    /**
+     * 联系电话
+     */
+    private String handlerPhone;
+
+    /**
+     * 处理状态(0 未处理,1 已处理)
+     */
+    private Integer handlingStatus;
+    /**
+     * 图片
+      */
+    private String image;
+
+    @TableField(exist = false)
+    private Integer siteId;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+
+}

+ 70 - 1
fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinCruxConfigVo.java

@@ -111,7 +111,76 @@ public class BulletinCruxConfigVo implements Serializable {
     private Integer digit;
 
 
-    private String textValue;
+    private Object textValue;
 
     private String idx;
+
+    /**
+     * X轴坐标
+     */
+    private Integer coordinatex;
+
+    /**
+     * Y轴坐标
+     */
+    private Integer coordinatey;
+
+    /**
+     * 宽
+     */
+    private Integer wide;
+
+    /**
+     * 高
+     */
+    private Integer high;
+
+
+    /**
+     * 历史数据模块id
+     */
+    private Integer historicalId;
+
+    /**
+     * 监控设备id
+     */
+    private Integer deviceId;
+
+    /**
+     * 统计图颜色
+     */
+    private String graphicColor;
+
+    /**
+     * 1折线图 2柱形图
+     */
+    private Integer graphicType;
+
+    /**
+     * 显示名称
+     */
+    private String displayName;
+
+    /**
+     * 变量配置
+     */
+    private Object relationData;
+
+    /**
+     * 模板类型
+     */
+    private String colorType;
+
+
+    /**
+     * 列表标题
+     */
+    private String listTitle;
+
+
+    /**
+     * 告警类型
+     */
+    private String alarmType;
+
 }

+ 114 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinHistoricalConfigAddVo.java

@@ -0,0 +1,114 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.bizmatics.model.BulletinHistoricalRelation;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class BulletinHistoricalConfigAddVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 关键数据配置表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 数据标题
+     */
+    private String dataTitle;
+
+    /**
+     * 图标路径
+     */
+    private String iconPath;
+
+    /**
+     * 查询周期
+     */
+    private Integer queryCycle;
+
+    /**
+     * 查询类型
+     */
+    private Integer queryType;
+
+    /**
+     * 最大值是否标注
+     */
+    private Integer maxDimension;
+
+    /**
+     * 最小值是否标注
+     */
+    private Integer minDimension;
+
+    /**
+     * 平均值是否标注
+     */
+    private Integer meanDimension;
+
+    /**
+     * 纵轴自适应
+     */
+    private Integer lonAdaptation;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 站点id
+     */
+    private Integer siteId;
+
+    /**
+     * X轴坐标
+     */
+    private Integer coordinatex;
+
+    /**
+     * Y轴坐标
+     */
+    private Integer coordinatey;
+
+    /**
+     * 宽
+     */
+    private Integer wide;
+
+    /**
+     * 高
+     */
+    private Integer high;
+
+
+    private List<BulletinHistoricalRelation> bulletinHistoricalRelationList;
+
+
+}

+ 83 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/BulletinHistoricalRelationVo.java

@@ -0,0 +1,83 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-06
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class BulletinHistoricalRelationVo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 历史数据关联表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 历史数据模块id
+     */
+    private Integer historicalId;
+
+    /**
+     * 监控设备id
+     */
+    private Integer deviceId;
+
+    /**
+     * 变量id
+     */
+    private Integer variableId;
+
+    /**
+     * 统计图颜色
+     */
+    private String graphicColor;
+
+    /**
+     * 1折线图 2柱形图
+     */
+    private Integer graphicType;
+
+    /**
+     * 显示名称
+     */
+    private String displayName;
+
+
+    /**
+     * 数据
+     */
+    private Object datas;
+
+    /**
+     * 时间
+     */
+    private Object timeKeys;
+
+    /**
+     * 查询周期
+     */
+    private Integer queryCycle;
+
+    /**
+     * 查询类型 1平均 2最大
+     */
+    private Integer queryType;
+
+}

+ 88 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/DeviceDataVo.java

@@ -0,0 +1,88 @@
+package com.bizmatics.model.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author ya
+ * @since 2021-07-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class DeviceDataVo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 设备信息表ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 楼层
+     */
+    private String floor;
+    /**
+     * 所属站点
+     */
+    private Integer siteId;
+
+    /**
+     * 设备安装位置
+     */
+    private String deviceAddress;
+
+    /**
+     * 1:183用电设备,2:视频监控设备,3:171用电设备,4:173用电设备,5:158智能网关,6:其他
+     */
+    private String deviceType;
+
+    /**
+     * 安装时间
+     */
+    private Date installTime;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 使能标识(0 不生效,1生效)
+     */
+    private Integer enable;
+
+    /**
+     * sim卡号
+     */
+    private String sim;
+
+    /**
+     * 变量编号
+     */
+    private String variableCoding;
+
+}

+ 9 - 0
fiveep-model/src/main/java/com/bizmatics/model/vo/RtData.java

@@ -23,6 +23,15 @@ import java.util.Date;
 @Accessors(chain = true)
 public class RtData implements Serializable {
 
+    /**
+     * 值
+     */
     private String textValue;
 
+    /**
+     * 上报时间
+     */
+    @TableField("dataTime")
+    private Date dataTime;
+
 }

+ 16 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/BulletinAlarmConfigMapper.java

@@ -0,0 +1,16 @@
+package com.bizmatics.persistence.mapper;
+
+import com.bizmatics.model.BulletinAlarmConfig;
+import com.bizmatics.common.mvc.base.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-07
+ */
+public interface BulletinAlarmConfigMapper extends CrudMapper<BulletinAlarmConfig> {
+
+}

+ 18 - 5
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/BulletinCruxConfigMapper.java

@@ -1,16 +1,15 @@
 package com.bizmatics.persistence.mapper;
 
-import com.bizmatics.model.BulletinCruxConfig;
 import com.bizmatics.common.mvc.base.CrudMapper;
-import com.bizmatics.model.vo.RtData;
-import com.bizmatics.model.vo.SiteData;
+import com.bizmatics.model.BulletinCruxConfig;
+import com.bizmatics.model.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 /**
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  *
  * @author ya
@@ -19,9 +18,23 @@ import java.util.List;
 public interface BulletinCruxConfigMapper extends CrudMapper<BulletinCruxConfig> {
     int delBulletinCruxConfig(Integer id);
 
+    int delBulletinHistoricalRelation(Integer historicalId);
+
     List<SiteData> getSiteData(Integer siteId);
 
-    List<RtData> getTextData(String table,String fieldData,String deviceCode, String startTime, String endTime);
+    List<RtData> getTextData(String table, String fieldData, String deviceCode, String startTime, String endTime);
 
     Integer getAlarmCount(@Param("siteId") Integer siteId);
+
+    List<BulletinHistoricalRelationVo> getRelationData(Integer siteId);
+
+    List<BulletinCruxConfigVo> getBulletinHistoricalConfig(Integer siteId, Integer id);
+
+    List<DeviceDataVo> getDeviceData(Integer id);
+
+    List<RtData> getHtAnalogData(String table, String fieldData, String deviceCode, String startTime, String endTime, String group);
+
+    List<BulletinCruxConfigVo> getBulletinAlarmConfig(Integer siteId, Integer id);
+
+    List<AlarmPowerVo> getAlarmPower(Integer siteId, String measName);
 }

+ 20 - 0
fiveep-persistence/src/main/resources/mapper/mysql/BulletinAlarmConfigMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bizmatics.persistence.mapper.BulletinAlarmConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.bizmatics.model.BulletinAlarmConfig">
+        <id column="id" property="id" />
+        <result column="list_title" property="listTitle" />
+        <result column="icon_path" property="iconPath" />
+        <result column="alarm_type" property="alarmType" />
+        <result column="create_by" property="createBy" />
+        <result column="create_time" property="createTime" />
+        <result column="site_id" property="siteId" />
+        <result column="coordinatex" property="coordinatex" />
+        <result column="coordinatey" property="coordinatey" />
+        <result column="wide" property="wide" />
+        <result column="high" property="high" />
+    </resultMap>
+
+</mapper>

+ 81 - 0
fiveep-persistence/src/main/resources/mapper/mysql/BulletinCruxConfigMapper.xml

@@ -21,12 +21,20 @@
         <result column="cycle" property="cycle" />
         <result column="method" property="method" />
         <result column="digit" property="digit" />
+        <result column="coordinatex" property="coordinatex" />
+        <result column="coordinatey" property="coordinatey" />
+        <result column="wide" property="wide" />
+        <result column="high" property="high" />
     </resultMap>
 
     <delete id="delBulletinCruxConfig" parameterType="Long">
         delete from bulletin_crux_config where id=#{id}
     </delete>
 
+    <delete id="delBulletinHistoricalRelation" parameterType="Integer">
+        delete from bulletin_historical_relation where historical_id=#{historicalId}
+    </delete>
+
     <select id="getSiteData" resultType="com.bizmatics.model.vo.SiteData">
         select s.id,s.site_name,s.site_address,s.phone,s.spare_phone,s.installed_capacity,sdp.power_supply_type,sdp.voltage_level,sdp.operation_time,s.create_time
         from site as s
@@ -61,4 +69,77 @@
         </where>
     </select>
 
+    <select id="getRelationData" resultType="com.bizmatics.model.vo.BulletinHistoricalRelationVo">
+        SELECT
+        a.query_type,a.query_cycle,b.*
+        FROM
+        bulletin_historical_config AS a
+        JOIN bulletin_historical_relation AS b ON a.id = b.historical_id
+        <where>
+            a.site_id = #{siteId}
+        </where>
+    </select>
+
+    <select id="getBulletinHistoricalConfig" resultType="com.bizmatics.model.vo.BulletinCruxConfigVo">
+        SELECT
+        *
+        FROM
+        bulletin_historical_config
+        <where>
+            site_id = #{siteId}
+            <if test="id != null and id != 0">
+                and id = #{id}
+            </if>
+        </where>
+    </select>
+
+    <select id="getDeviceData" resultType="com.bizmatics.model.vo.DeviceDataVo">
+        SELECT
+        a.*, b.variable_coding
+        FROM
+        device AS a
+        JOIN device_analog_variable_list AS b ON a.id = b.communication_equipment
+        <where>
+            b.id = #{id}
+        </where>
+    </select>
+
+    <select id="getHtAnalogData" resultType="com.bizmatics.model.vo.RtData">
+        select ${fieldData}
+        from ${table}
+        <where>
+            and deviceName=#{deviceCode}
+            <if test="endTime != null and startTime != null and endTime != '' and startTime != ''">
+                and dataTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        </where>
+        ${group}
+    </select>
+
+
+    <select id="getBulletinAlarmConfig" resultType="com.bizmatics.model.vo.BulletinCruxConfigVo">
+        SELECT
+        *
+        FROM
+        bulletin_alarm_config
+        <where>
+            site_id = #{siteId}
+            <if test="id != null and id != 0">
+                and id = #{id}
+            </if>
+        </where>
+    </select>
+
+    <select id="getAlarmPower" resultType="com.bizmatics.model.vo.AlarmPowerVo">
+        SELECT
+        b.device_name,
+        a.*
+        FROM
+        alarm_power AS a
+        JOIN device AS b ON a.device_code = b.device_code
+        <where>
+            b.site_id = #{siteId}
+            AND a.meas_name = #{measName}
+        </where>
+    </select>
 </mapper>

+ 2 - 2
fiveep-persistence/src/main/resources/mapper/mysql/BulletinHistoricalConfigMapper.xml

@@ -16,8 +16,8 @@
         <result column="create_by" property="createBy" />
         <result column="create_time" property="createTime" />
         <result column="site_id" property="siteId" />
-        <result column="x_axis" property="xAxis" />
-        <result column="y_axis" property="yAxis" />
+        <result column="coordinatex" property="coordinatex" />
+        <result column="coordinatey" property="coordinatey" />
         <result column="wide" property="wide" />
         <result column="high" property="high" />
     </resultMap>

+ 16 - 0
fiveep-service/src/main/java/com/bizmatics/service/BulletinAlarmConfigService.java

@@ -0,0 +1,16 @@
+package com.bizmatics.service;
+
+import com.bizmatics.model.BulletinAlarmConfig;
+import com.bizmatics.common.mvc.base.CrudService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-07
+ */
+public interface BulletinAlarmConfigService extends CrudService<BulletinAlarmConfig> {
+
+}

+ 16 - 1
fiveep-service/src/main/java/com/bizmatics/service/BulletinCruxConfigService.java

@@ -1,8 +1,11 @@
 package com.bizmatics.service;
 
+import com.bizmatics.model.BulletinAlarmConfig;
 import com.bizmatics.model.BulletinCruxConfig;
 import com.bizmatics.common.mvc.base.CrudService;
 import com.bizmatics.model.vo.BulletinCruxConfigVo;
+import com.bizmatics.model.vo.BulletinHistoricalConfigAddVo;
+import com.bizmatics.model.vo.BulletinHistoricalRelationVo;
 
 import java.util.List;
 
@@ -16,9 +19,21 @@ import java.util.List;
  */
 public interface BulletinCruxConfigService extends CrudService<BulletinCruxConfig> {
 
-    List<Object> getBulletinCruxConfigList(Integer siteId, Integer id);
+    List<Object> getBulletinCruxConfigList(Integer siteId, Integer id, String colorType);
 
     void editBulletinCruxConfig(BulletinCruxConfig bulletinCruxConfig);
 
+    void editBulletinHistoricalConfig(BulletinHistoricalConfigAddVo bulletinHistoricalConfigAddVo);
+
+    void editBulletinAlarmConfig(BulletinAlarmConfig bulletinAlarmConfig);
+
     void delBulletinCruxConfig(Integer id);
+
+    List<BulletinCruxConfigVo> getBulletinHistoricalConfig(Integer siteId,Integer id);
+
+    List<BulletinHistoricalRelationVo> getBulletinHistoricalRelationVo(Integer siteId);
+
+    List<BulletinCruxConfigVo> getBulletinAlarmConfig(Integer siteId, Integer id);
+
+    List<BulletinCruxConfigVo> getbulletinCruxConfig(Integer siteId, Integer id);
 }

+ 20 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/BulletinAlarmConfigServiceImpl.java

@@ -0,0 +1,20 @@
+package com.bizmatics.service.impl;
+
+import com.bizmatics.model.BulletinAlarmConfig;
+import com.bizmatics.persistence.mapper.BulletinAlarmConfigMapper;
+import com.bizmatics.service.BulletinAlarmConfigService;
+import com.bizmatics.common.mvc.base.AbstractCrudService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author ya
+ * @since 2022-06-07
+ */
+@Service
+public class BulletinAlarmConfigServiceImpl extends AbstractCrudService<BulletinAlarmConfigMapper, BulletinAlarmConfig> implements BulletinAlarmConfigService {
+
+}

+ 265 - 26
fiveep-service/src/main/java/com/bizmatics/service/impl/BulletinCruxConfigServiceImpl.java

@@ -1,25 +1,20 @@
 package com.bizmatics.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.common.core.exception.BusinessException;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
-import com.bizmatics.model.BulletinCruxConfig;
-import com.bizmatics.model.Device;
-import com.bizmatics.model.DeviceAnalogVariableList;
-import com.bizmatics.model.DeviceStatus;
+import com.bizmatics.model.*;
 import com.bizmatics.model.system.SysUser;
-import com.bizmatics.model.vo.BulletinCruxConfigVo;
-import com.bizmatics.model.vo.RtData;
-import com.bizmatics.model.vo.SiteData;
+import com.bizmatics.model.vo.*;
 import com.bizmatics.persistence.mapper.BulletinCruxConfigMapper;
-import com.bizmatics.service.BulletinCruxConfigService;
-import com.bizmatics.service.DeviceAnalogVariableListService;
-import com.bizmatics.service.DeviceService;
-import com.bizmatics.service.DeviceStatusService;
+import com.bizmatics.service.*;
 import com.bizmatics.service.util.SecurityUtils;
+import org.apache.commons.collections.ExtendedProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
@@ -36,20 +31,97 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
 
     @Autowired
     private DeviceAnalogVariableListService deviceAnalogVariableListService;
-
     @Autowired
     private DeviceService deviceService;
     @Autowired
     private DeviceStatusService deviceStatusService;
+    @Autowired
+    private BulletinHistoricalConfigService bulletinHistoricalConfigService;
+    @Autowired
+    private BulletinHistoricalRelationService bulletinHistoricalRelationService;
+    @Autowired
+    private BulletinAlarmConfigService bulletinAlarmConfigService;
 
     /**
-     * 数据看板-数据配置查询1
+     * 数据看板-数据配置查询
      *
      * @param siteId 站点ID
      * @param id     配置ID
      * @return
      */
-    public List<Object> getBulletinCruxConfigList(Integer siteId, Integer id) {
+    @Override
+    public List<Object> getBulletinCruxConfigList(Integer siteId, Integer id, String colorType) {
+        List<Object> list2 = new ArrayList<>();
+        if (id != 0 && colorType.equals("iconText")) {
+            //配置数据查询1
+            List<BulletinCruxConfigVo> lsit1 = this.getbulletinCruxConfig(siteId, id);
+            if (lsit1.size() > 0) {
+                for (int i = 0; i < lsit1.size(); i++) {
+                    lsit1.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit1.get(i));
+                }
+            }
+        } else if (id != 0 && colorType.equals("echarts")) {
+            //配置数据查询2
+            List<BulletinCruxConfigVo> lsit3 = this.getBulletinHistoricalConfig(siteId,id);
+            if (lsit3.size() > 0) {
+                for (int i = 0; i < lsit3.size(); i++) {
+                    lsit3.get(i).setColorType("echarts");
+                    lsit3.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit3.get(i));
+                }
+            }
+        } else if (id != 0 && colorType.equals("tabls")) {
+            //配置数据查询3
+            List<BulletinCruxConfigVo> lsit4 = this.getBulletinAlarmConfig(siteId,id);
+            if (lsit4.size() > 0) {
+                for (int i = 0; i < lsit4.size(); i++) {
+                    lsit4.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit4.get(i));
+                }
+            }
+        } else {
+            //配置数据查询1
+            List<BulletinCruxConfigVo> lsit1 = this.getbulletinCruxConfig(siteId, id);
+            if (lsit1.size() > 0) {
+                for (int i = 0; i < lsit1.size(); i++) {
+                    lsit1.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit1.get(i));
+                }
+            }
+
+            //配置数据查询2
+            List<BulletinCruxConfigVo> lsit3 = this.getBulletinHistoricalConfig(siteId,id);
+            if (lsit3.size() > 0) {
+                for (int i = 0; i < lsit3.size(); i++) {
+                    lsit3.get(i).setColorType("echarts");
+                    lsit3.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit3.get(i));
+                }
+            }
+
+            //配置数据查询3
+            List<BulletinCruxConfigVo> lsit4 = this.getBulletinAlarmConfig(siteId,id);
+            if (lsit4.size() > 0) {
+                for (int i = 0; i < lsit4.size(); i++) {
+                    lsit4.get(i).setIdx("" + (list2.size() + 1));
+                    list2.add(lsit4.get(i));
+                }
+            }
+        }
+        return list2;
+    }
+
+
+    /**
+     * 配置数据查询1
+     *
+     * @param siteId
+     * @param id
+     * @return
+     */
+    @Override
+    public List<BulletinCruxConfigVo> getbulletinCruxConfig(Integer siteId, Integer id) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat sdfa = new SimpleDateFormat("yyyy");
         //配置数据查询1
@@ -59,8 +131,7 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
             queryWrapper.eq(BulletinCruxConfig::getId, id);
         }
         List<BulletinCruxConfig> list = this.list(queryWrapper);
-//        List<BulletinCruxConfigVo> list1 = new ArrayList<>();
-        List<Object> list2 = new ArrayList<>();
+        List<BulletinCruxConfigVo> list1 = new ArrayList<>();
         if (list.size() > 0) {
             for (int i = 0; i < list.size(); i++) {
                 BulletinCruxConfigVo bulletinCruxConfigVo = new BulletinCruxConfigVo();
@@ -77,7 +148,12 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
                 bulletinCruxConfigVo.setCreateBy(list.get(i).getCreateBy());
                 bulletinCruxConfigVo.setCreateTime(list.get(i).getCreateTime());
                 bulletinCruxConfigVo.setSiteId(list.get(i).getSiteId());
-                bulletinCruxConfigVo.setIdx(""+(list2.size()+1));
+                bulletinCruxConfigVo.setCoordinatex(list.get(i).getCoordinatex());
+                bulletinCruxConfigVo.setCoordinatey(list.get(i).getCoordinatey());
+                bulletinCruxConfigVo.setWide(list.get(i).getWide());
+                bulletinCruxConfigVo.setHigh(list.get(i).getHigh());
+//                bulletinCruxConfigVo.setIdx(""+(list2.size()+1));
+                bulletinCruxConfigVo.setColorType("iconText");
                 if (list.get(i).getDataType() == 1) {//普通文本
 
                 } else if (list.get(i).getDataType() == 2) {//站点管理信息
@@ -168,33 +244,131 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
                 } else if (list.get(i).getDataType() == 4) {//站点告警状态
                     Integer alarCount = baseMapper.getAlarmCount(siteId);
                     bulletinCruxConfigVo.setTextValue("无告警");
-                    if (alarCount>0){
+                    if (alarCount > 0) {
                         bulletinCruxConfigVo.setTextValue("告警");
                     }
                 } else if (list.get(i).getDataType() == 5) {//站点通信状态
                     LambdaQueryWrapper<DeviceStatus> queryWrapper1 = Wrappers.lambdaQuery();
                     queryWrapper1.eq(DeviceStatus::getSiteId, siteId);
                     List<DeviceStatus> deviceStatusList = deviceStatusService.list(queryWrapper1);
-                    if (deviceStatusList.size()>0){
+                    if (deviceStatusList.size() > 0) {
                         for (int j = 0; j < deviceStatusList.size(); j++) {
                             bulletinCruxConfigVo.setTextValue("在线");
-                            if (deviceStatusList.get(j).getDeviceStatus()==1){
+                            if (deviceStatusList.get(j).getDeviceStatus() == 1) {
                                 bulletinCruxConfigVo.setTextValue("离线");
                             }
                         }
-                    }else {
+                    } else {
                         bulletinCruxConfigVo.setTextValue("离线");
                     }
                 }
-                list2.add(bulletinCruxConfigVo);
+                list1.add(bulletinCruxConfigVo);
             }
         }
+        return list1;
+    }
 
-        //配置数据查询1
 
+    /**
+     * 配置数据查询2
+     *
+     * @param siteId
+     * @return
+     */
+    @Override
+    public List<BulletinCruxConfigVo> getBulletinHistoricalConfig(Integer siteId,Integer id) {
+        List<BulletinCruxConfigVo> bulletinCruxConfigVoList = baseMapper.getBulletinHistoricalConfig(siteId,id);
+        List<BulletinHistoricalRelationVo> bulletinHistoricalRelationList = this.getBulletinHistoricalRelationVo(siteId);
+        if (bulletinCruxConfigVoList.size() > 0) {
+            for (int i = 0; i < bulletinCruxConfigVoList.size(); i++) {
+                List<Object> bulletinHistoricalRelationList1 = new ArrayList<>();
+                for (int j = 0; j < bulletinHistoricalRelationList.size(); j++) {
+                    if (bulletinCruxConfigVoList.get(i).getId() == bulletinHistoricalRelationList.get(j).getHistoricalId()) {
+                        bulletinHistoricalRelationList1.add(bulletinHistoricalRelationList.get(j));
+                    }
+                }
+                bulletinCruxConfigVoList.get(i).setRelationData(bulletinHistoricalRelationList1);
+            }
+        }
+        return bulletinCruxConfigVoList;
+    }
 
+    /**
+     * 配置2变量数据
+     *
+     * @param siteId
+     * @return
+     */
+    @Override
+    public List<BulletinHistoricalRelationVo> getBulletinHistoricalRelationVo(Integer siteId) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm:ss");
+        List<BulletinHistoricalRelationVo> bulletinHistoricalRelationList = baseMapper.getRelationData(siteId);
+        if (bulletinHistoricalRelationList.size() > 0) {
+            for (int i = 0; i < bulletinHistoricalRelationList.size(); i++) {
+                List<DeviceDataVo> deviceData = baseMapper.getDeviceData(bulletinHistoricalRelationList.get(i).getVariableId());
+                String table = "ht_analog_data";
+                if (deviceData.get(0).getDeviceType().equals("3")) {
+                    table = "ht_analog_171_data";
+                } else if (deviceData.get(0).getDeviceType().equals("4")) {
+                    table = "ht_analog_173_data";
+                }
 
-        return list2;
+                String deviceCode = deviceData.get(0).getDeviceCode();
+                String time = sdf.format(new Date());
+                String startTime = time + " 00:00:00";
+                String endTime = time + " 23:59:59";
+                String field = " " + deviceData.get(0).getVariableCoding().split("_")[1] + " as textValue ,dataTime";
+                String group = " group by dataTime ";
+                if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 2) {
+                    Calendar calendar = new GregorianCalendar();
+                    calendar.setTime(new Date());
+                    //获得本月第一天
+                    calendar.add(Calendar.MONTH, 0);
+                    calendar.set(Calendar.DAY_OF_MONTH, 1);
+                    startTime = sdf.format(calendar.getTime()) + " 00:00:00";
+                    //获得本月最后一天
+                    calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+                    endTime = sdf.format(calendar.getTime()) + " 23:59:59";
+                    group = " group by freezingTime ";
+                    if (bulletinHistoricalRelationList.get(i).getQueryType() == 1) {
+                        field = " avg(" + deviceData.get(0).getVariableCoding().split("_")[1] + ") as textValue ,freezingTime as dataTime";
+                    } else if (bulletinHistoricalRelationList.get(i).getQueryType() == 2) {
+                        field = " max(" + deviceData.get(0).getVariableCoding().split("_")[1] + ") as textValue ,freezingTime as dataTime";
+                    }
+                }
+                List<RtData> RtData = baseMapper.getHtAnalogData(table, field, deviceCode, startTime, endTime, group);
+                List<String> timeKeys = new ArrayList<>();
+                List<String> datas = new ArrayList<>();
+                if (RtData.size() > 0) {
+                    for (int j = 0; j < RtData.size(); j++) {
+                        datas.add(RtData.get(j).getTextValue());
+                        if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 1) {
+                            timeKeys.add("" + sdf1.format(RtData.get(j).getDataTime()));
+                        } else if (bulletinHistoricalRelationList.get(i).getQueryCycle() == 2) {
+                            timeKeys.add("" + sdf.format(RtData.get(j).getDataTime()));
+                        }
+
+                    }
+                    bulletinHistoricalRelationList.get(i).setDatas(datas);
+                    bulletinHistoricalRelationList.get(i).setTimeKeys(timeKeys);
+                }
+            }
+        }
+        return bulletinHistoricalRelationList;
+    }
+
+    @Override
+    public List<BulletinCruxConfigVo> getBulletinAlarmConfig(Integer siteId, Integer id) {
+        List<BulletinCruxConfigVo> bulletinAlarmConfigList = baseMapper.getBulletinAlarmConfig(siteId, id);
+        if (bulletinAlarmConfigList.size() > 0) {
+            for (int i = 0; i < bulletinAlarmConfigList.size(); i++) {
+                bulletinAlarmConfigList.get(i).setColorType("tabls");
+                List<AlarmPowerVo> AlarmPowerVoList = baseMapper.getAlarmPower(siteId, bulletinAlarmConfigList.get(i).getAlarmType());
+                bulletinAlarmConfigList.get(i).setTextValue(AlarmPowerVoList);
+            }
+        }
+        return bulletinAlarmConfigList;
     }
 
 
@@ -216,12 +390,13 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
     }
 
     /**
-     * 数据看板-数据配置1编辑
+     * 数据看板-数据配置1编辑新增
      *
      * @param bulletinCruxConfig
      */
+    @Override
     public void editBulletinCruxConfig(BulletinCruxConfig bulletinCruxConfig) {
-        if (bulletinCruxConfig.getId() == 0) {
+        if (bulletinCruxConfig.getId() != 0) {
             this.updateById(bulletinCruxConfig);
         } else {
             SysUser user = SecurityUtils.getLoginUser().getUser();
@@ -231,6 +406,70 @@ public class BulletinCruxConfigServiceImpl extends AbstractCrudService<BulletinC
         }
     }
 
+    /**
+     * 数据看板-数据配置2编辑新增
+     * @param bulletinHistoricalConfigAddVo
+     */
+    @Transactional
+    @Override
+    public void editBulletinHistoricalConfig(BulletinHistoricalConfigAddVo bulletinHistoricalConfigAddVo){
+        List<BulletinHistoricalRelation> bulletinHistoricalRelation = bulletinHistoricalConfigAddVo.getBulletinHistoricalRelationList();
+        BulletinHistoricalConfig bulletinHistoricalConfig = new BulletinHistoricalConfig();
+        bulletinHistoricalConfig.setId(bulletinHistoricalConfigAddVo.getId());
+        bulletinHistoricalConfig.setDataTitle(bulletinHistoricalConfigAddVo.getDataTitle());
+        bulletinHistoricalConfig.setIconPath(bulletinHistoricalConfigAddVo.getIconPath());
+        bulletinHistoricalConfig.setQueryCycle(bulletinHistoricalConfigAddVo.getQueryCycle());
+        bulletinHistoricalConfig.setQueryType(bulletinHistoricalConfigAddVo.getQueryType());
+        bulletinHistoricalConfig.setMaxDimension(bulletinHistoricalConfigAddVo.getMaxDimension());
+        bulletinHistoricalConfig.setMinDimension(bulletinHistoricalConfigAddVo.getMinDimension());
+        bulletinHistoricalConfig.setMeanDimension(bulletinHistoricalConfigAddVo.getMeanDimension());
+        bulletinHistoricalConfig.setLonAdaptation(bulletinHistoricalConfigAddVo.getLonAdaptation());
+        bulletinHistoricalConfig.setSiteId(bulletinHistoricalConfigAddVo.getSiteId());
+        bulletinHistoricalConfig.setCoordinatex(bulletinHistoricalConfigAddVo.getCoordinatex());
+        bulletinHistoricalConfig.setCoordinatey(bulletinHistoricalConfigAddVo.getCoordinatey());
+        bulletinHistoricalConfig.setWide(bulletinHistoricalConfigAddVo.getWide());
+        bulletinHistoricalConfig.setHigh(bulletinHistoricalConfigAddVo.getHigh());
+        if (bulletinHistoricalConfigAddVo.getId() != 0) {
+            bulletinHistoricalConfigService.updateById(bulletinHistoricalConfig);
+            if (bulletinHistoricalRelation.size()>0){
+                Integer historicalId = bulletinHistoricalConfigAddVo.getId();
+                baseMapper.delBulletinHistoricalRelation(historicalId);
+                for (int i = 0; i < bulletinHistoricalRelation.size(); i++) {
+                    bulletinHistoricalRelation.get(i).setHistoricalId(bulletinHistoricalConfigAddVo.getId());
+                    bulletinHistoricalRelationService.save(bulletinHistoricalRelation.get(i));
+                }
+            }
+        } else {
+            SysUser user = SecurityUtils.getLoginUser().getUser();
+            bulletinHistoricalConfig.setCreateTime(LocalDateTime.now());
+            bulletinHistoricalConfig.setCreateBy(user.getUserName());
+            bulletinHistoricalConfigService.save(bulletinHistoricalConfig);
+            Integer historicalId = bulletinHistoricalConfig.getId();
+            if (bulletinHistoricalRelation.size()>0){
+                for (int i = 0; i < bulletinHistoricalRelation.size(); i++) {
+                    bulletinHistoricalRelation.get(i).setHistoricalId(historicalId);
+                    bulletinHistoricalRelationService.save(bulletinHistoricalRelation.get(i));
+                }
+            }
+        }
+    }
+
+    /**
+     * 数据看板-数据配置3编辑新增
+     * @param bulletinAlarmConfig
+     */
+    @Override
+    public void editBulletinAlarmConfig(BulletinAlarmConfig bulletinAlarmConfig){
+        if (bulletinAlarmConfig.getId() != 0) {
+            bulletinAlarmConfigService.updateById(bulletinAlarmConfig);
+        } else {
+            SysUser user = SecurityUtils.getLoginUser().getUser();
+            bulletinAlarmConfig.setCreateTime(LocalDateTime.now());
+            bulletinAlarmConfig.setCreateBy(user.getUserName());
+            bulletinAlarmConfigService.save(bulletinAlarmConfig);
+        }
+    }
+
     /**
      * 数据看板-数据配置1删除
      *