fuyuhchuan 1 year ago
parent
commit
e505c723a8
32 changed files with 1184 additions and 9 deletions
  1. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceAlarmController.java
  2. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceController.java
  3. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceDataController.java
  4. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpEf2017Controller.java
  5. 23 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpOwnerStatusController.java
  6. 51 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/TaskController.java
  7. 66 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDevice.java
  8. 86 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDeviceAlarm.java
  9. 66 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDeviceData.java
  10. 125 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpEf2017.java
  11. 1 1
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpOwner.java
  12. 66 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpOwnerStatus.java
  13. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceAlarmMapper.java
  14. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceDataMapper.java
  15. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceMapper.java
  16. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpEf2017Mapper.java
  17. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpOwnerStatusMapper.java
  18. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceAlarmService.java
  19. 19 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceDataService.java
  20. 16 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceService.java
  21. 22 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpEf2017Service.java
  22. 2 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpHj2017Service.java
  23. 11 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpOwnerService.java
  24. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpOwnerStatusService.java
  25. 7 2
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpRtu2017Service.java
  26. 8 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpSj2017Service.java
  27. 137 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpDeviceAlarmServiceImpl.java
  28. 56 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpDeviceDataServiceImpl.java
  29. 42 2
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpHj2017ServiceImpl.java
  30. 74 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpOwnerServiceImpl.java
  31. 44 3
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpRtu2017ServiceImpl.java
  32. 61 1
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpSj2017ServiceImpl.java

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceAlarmController.java

@@ -0,0 +1,21 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 设备告警表 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Controller
+@RequestMapping("/spDeviceAlarm")
+public class SpDeviceAlarmController {
+
+}
+

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceController.java

@@ -0,0 +1,21 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 设备信息表 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Controller
+@RequestMapping("/spDevice")
+public class SpDeviceController {
+
+}
+

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpDeviceDataController.java

@@ -0,0 +1,21 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ * 设备数据表 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Controller
+@RequestMapping("/spDeviceData")
+public class SpDeviceDataController {
+
+}
+

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpEf2017Controller.java

@@ -0,0 +1,21 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Controller
+@RequestMapping("/spEf2017")
+public class SpEf2017Controller {
+
+}
+

+ 23 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpOwnerStatusController.java

@@ -0,0 +1,23 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@EnableScheduling
+@Component
+public class SpOwnerStatusController {
+
+}
+

+ 51 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/TaskController.java

@@ -0,0 +1,51 @@
+package com.usky.issue.controller.web;
+
+import com.usky.issue.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+
+/**
+ * @description:TODO
+ * @author: fu
+ * @create: 2024/1/25 13:15
+ */
+@EnableScheduling
+@Component
+public class TaskController {
+    @Autowired
+    private SpDeviceService spDeviceService;
+    @Autowired
+    private SpDeviceDataService spDeviceDataService;
+    @Autowired
+    private SpDeviceAlarmService spDeviceAlarmService;
+
+    @Scheduled(cron = "59 59 23 * * ?")
+    public void task1(){
+        System.out.println(Thread.currentThread().getName() + "设备信息更新中");
+        spDeviceService.updateDevice();
+    }
+    @Scheduled(cron = "59 59 23 * * ?")
+    public void task2(){
+        System.out.println(Thread.currentThread().getName() + "设备数据更新中");
+        spDeviceDataService.updateData();
+    }
+    @Scheduled(cron = "59 59 23 * * ?")
+    public void task3(){
+        System.out.println(Thread.currentThread().getName() + "告警信息更新中");
+        spDeviceAlarmService.updateAlarm();
+    }
+
+    @PostConstruct
+    public void init() {
+        task1();
+        task2();
+        task3();
+    }
+
+}
+

+ 66 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDevice.java

@@ -0,0 +1,66 @@
+package com.usky.issue.domain;
+
+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;
+
+/**
+ * <p>
+ * 设备信息表
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 设备主键ID
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 安装位置
+     */
+    private String installAddress;
+
+    /**
+     * 安装楼层
+     */
+    private String installationFloor;
+
+    /**
+     * 安装时间
+     */
+    private LocalDateTime installationTime;
+
+    /**
+     * 设备类型:1 用户信息传输装置、2 水压探测器、3 独立烟感、5 液位探测器、6 消防远程控制终端、7 电气火灾
+     */
+    private Integer deviceType;
+
+    /**
+     * 所属校区
+     */
+    private String campus;
+
+
+}

+ 86 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDeviceAlarm.java

@@ -0,0 +1,86 @@
+package com.usky.issue.domain;
+
+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;
+
+/**
+ * <p>
+ * 设备告警表
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpDeviceAlarm implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 告警时间
+     */
+    private LocalDateTime alarmTime;
+
+    /**
+     * 设备类型:1 用户信息传输装置、2 水压探测器、3 独立烟感、5 液位探测器、6 消防远程控制终端、7 电气火灾
+     */
+    private Integer deviceType;
+
+    /**
+     * 告警类型
+     */
+    private String alarmType;
+
+    /**
+     * 告警名称
+     */
+    private String alarmName;
+
+    /**
+     * 告警地址
+     */
+    private String alarmAddress;
+
+    /**
+     * 处理人
+     */
+    private String handler;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime handlingTime;
+
+    /**
+     * 处理内容
+     */
+    private String handlingContent;
+
+    /**
+     * 处理状态:0、未处理 1、已处理
+     */
+    private Integer handlingStatus;
+
+    /**
+     * 是否误报:0、非误报 1、误报
+     */
+    private Integer falseAlarm;
+
+
+}

+ 66 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpDeviceData.java

@@ -0,0 +1,66 @@
+package com.usky.issue.domain;
+
+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;
+
+/**
+ * <p>
+ * 设备数据表
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpDeviceData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.INPUT)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备类型:1 用户信息传输装置、2 水压探测器、3 独立烟感、5 液位探测器、6 消防远程控制终端、7 电气火灾
+     */
+    private Integer deviceType;
+
+    /**
+     * 监控点名称
+     */
+    private String pointName;
+
+    /**
+     * 监控点编码
+     */
+    private String pointCode;
+
+    /**
+     * 采集值
+     */
+    private String pointData;
+
+    /**
+     * 采集时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 值说明
+     */
+    private String dataContent;
+
+
+}

+ 125 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpEf2017.java

@@ -0,0 +1,125 @@
+package com.usky.issue.domain;
+
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpEf2017 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String port;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 报警时间
+     */
+    private LocalDateTime time;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 地址 ip
+     */
+    private String address;
+
+    /**
+     * 命令码
+     */
+    private String ncmd;
+
+    /**
+     * 报警类型
+     */
+    private String data1;
+
+    /**
+     * 报警数值1
+     */
+    private String data2;
+
+    /**
+     * 报警数值2
+     */
+    private String data3;
+
+    /**
+     * 报警数值3
+     */
+    private String data4;
+
+    /**
+     * 留用
+     */
+    private String data5;
+
+    /**
+     * 处理类型
+     */
+    private String cllx;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime clsj;
+
+    /**
+     * 处理人
+     */
+    private String clr;
+
+    /**
+     * 处理内容
+     */
+    private String clnr;
+
+    /**
+     * 处理误报
+     */
+    private String clwb;
+
+    /**
+     * 联系人
+     */
+    private String cllxr;
+
+    /**
+     * 联系电话
+     */
+    private String cldh;
+
+    /**
+     * 处理状态
+     */
+    private Integer clzt;
+
+    /**
+     * 视频地址
+     */
+    private String video;
+
+
+}

+ 1 - 1
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpOwner.java

@@ -29,7 +29,7 @@ public class SpOwner implements Serializable {
     private Integer id;
 
     /**
-     * 单位编号
+     * 设备编号
      */
     private String ownerCode;
 

+ 66 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpOwnerStatus.java

@@ -0,0 +1,66 @@
+package com.usky.issue.domain;
+
+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;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpOwnerStatus implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 设备编码
+     */
+    private String deviceId;
+
+    /**
+     * 设备类型
+     */
+    private Integer dwtype;
+
+    /**
+     * 监控点名称
+     */
+    private String pointName;
+
+    /**
+     * 监控点编码
+     */
+    private String pointCode;
+
+    /**
+     * 采集值
+     */
+    private String pointData;
+
+    /**
+     * 采集时间
+     */
+    private LocalDateTime dataTime;
+
+    /**
+     * 值说明
+     */
+    private String content;
+
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceAlarmMapper.java

@@ -0,0 +1,16 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpDeviceAlarm;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备告警表 Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceAlarmMapper extends CrudMapper<SpDeviceAlarm> {
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceDataMapper.java

@@ -0,0 +1,16 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpDeviceData;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备数据表 Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceDataMapper extends CrudMapper<SpDeviceData> {
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpDevice;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备信息表 Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceMapper extends CrudMapper<SpDevice> {
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpEf2017Mapper.java

@@ -0,0 +1,16 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpEf2017;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpEf2017Mapper extends CrudMapper<SpEf2017> {
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpOwnerStatusMapper.java

@@ -0,0 +1,16 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpOwnerStatus;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpOwnerStatusMapper extends CrudMapper<SpOwnerStatus> {
+
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceAlarmService.java

@@ -0,0 +1,16 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpDeviceAlarm;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 设备告警表 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceAlarmService extends CrudService<SpDeviceAlarm> {
+    void updateAlarm ();
+}

+ 19 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceDataService.java

@@ -0,0 +1,19 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpDeviceData;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.issue.domain.SpOwner;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备数据表 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceDataService extends CrudService<SpDeviceData> {
+    void updateData ();
+}

+ 16 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpDeviceService.java

@@ -0,0 +1,16 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpDevice;
+import com.usky.common.mybatis.core.CrudService;
+
+/**
+ * <p>
+ * 设备信息表 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpDeviceService extends CrudService<SpDevice> {
+    void updateDevice();
+}

+ 22 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpEf2017Service.java

@@ -0,0 +1,22 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpEf2017;
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.issue.domain.SpOwnerStatus;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpEf2017Service extends CrudService<SpEf2017> {
+
+    List<SpEf2017> getOwners();
+
+    String getAlarmName(String data1);
+}

+ 2 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpHj2017Service.java

@@ -1,5 +1,6 @@
 package com.usky.issue.service;
 
+import com.usky.issue.domain.SpEf2017;
 import com.usky.issue.domain.SpHj2017;
 import com.usky.common.mybatis.core.CrudService;
 
@@ -18,4 +19,5 @@ public interface SpHj2017Service extends CrudService<SpHj2017> {
     List<Map<String, Object>> statusCount(String requestBody);
     List<Map<String, Object>> typeList(String requestBody);
     Integer countDevice (String requestBody);
+    List<SpHj2017> getOwners();
 }

+ 11 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpOwnerService.java

@@ -3,6 +3,8 @@ package com.usky.issue.service;
 import com.usky.issue.domain.SpOwner;
 import com.usky.common.mybatis.core.CrudService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +14,14 @@ import com.usky.common.mybatis.core.CrudService;
  * @since 2024-01-04
  */
 public interface SpOwnerService extends CrudService<SpOwner> {
+    //定时获取数据
+    List<String> getDeviceCodes();
+
+    String getCampus(String company);
+
+    List<SpOwner> getOwners(List<String> deviceCode);
+
+    Integer getType(String deviceCode);
 
+    List<SpOwner> getOwnersAfter(Integer lastId);
 }

+ 21 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpOwnerStatusService.java

@@ -0,0 +1,21 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpDeviceData;
+import com.usky.issue.domain.SpOwnerStatus;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+public interface SpOwnerStatusService extends CrudService<SpOwnerStatus> {
+    List<SpOwnerStatus> getOwners();
+
+    List<SpOwnerStatus> getOwnersAfter(Integer lastId);
+}

+ 7 - 2
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpRtu2017Service.java

@@ -1,5 +1,6 @@
 package com.usky.issue.service;
 
+import com.usky.issue.domain.SpHj2017;
 import com.usky.issue.domain.SpRtu2017;
 import com.usky.common.mybatis.core.CrudService;
 
@@ -15,9 +16,13 @@ import java.util.Map;
  * @since 2023-12-13
  */
 public interface SpRtu2017Service extends CrudService<SpRtu2017> {
+    //设备状态统计
     List<Map<String, Object>> statusCount(String requestBody);
-
+    //设备查询
     List<Map<String, Object>> typeList(String requestBody);
-
+    //设备数量统计
     Integer countDevice(String requestBody);
+
+    //定时更新告警数据
+    List<SpRtu2017> getOwners();
 }

+ 8 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpSj2017Service.java

@@ -1,5 +1,6 @@
 package com.usky.issue.service;
 
+import com.usky.issue.domain.SpHj2017;
 import com.usky.issue.domain.SpSj2017;
 import com.usky.common.mybatis.core.CrudService;
 
@@ -15,7 +16,14 @@ import java.util.Map;
  * @since 2023-12-13
  */
 public interface SpSj2017Service extends CrudService<SpSj2017> {
+    //设备状态统计
     List<Map<String, Object>> statusCount(String requestBody);
+    //设备查询
     List<Map<String, Object>> typeList(String deviceCode);
+    //设备数量统计
     Integer countDevice(String requestBody);
+    //定时更新告警数据
+    List<SpSj2017> getOwners();
+
+    String getAlarmName(String data1);
 }

+ 137 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpDeviceAlarmServiceImpl.java

@@ -0,0 +1,137 @@
+package com.usky.issue.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.usky.common.core.util.StringUtils;
+import com.usky.issue.domain.*;
+import com.usky.issue.mapper.SpDeviceAlarmMapper;
+import com.usky.issue.service.*;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.apache.commons.lang.math.NumberUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 设备告警表 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Service
+public class SpDeviceAlarmServiceImpl extends AbstractCrudService<SpDeviceAlarmMapper, SpDeviceAlarm> implements SpDeviceAlarmService {
+    @Autowired
+    private SpOwnerService spOwnerService;
+    @Autowired
+    private SpEf2017Service spEf2017Service;
+    @Autowired
+    private SpHj2017Service spHj2017Service;
+    @Autowired
+    private SpRtu2017Service spRtu2017Service;
+    @Autowired
+    private SpSj2017Service spSj2017Service;
+
+    /**
+     * 告警数据更新hj、sj、rtu、ef
+     */
+    @Override
+    @DS("usky-website")
+    public void updateAlarm() {
+        QueryWrapper<SpDeviceAlarm> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByDesc("id").last("LIMIT 1");
+        SpDeviceAlarm lastAlarm = baseMapper.selectOne(queryWrapper);
+        List<SpEf2017> listEf;
+        List<SpHj2017> listHj;
+        List<SpRtu2017> listRtu;
+        List<SpSj2017> listSj;
+        if (lastAlarm == null) {
+            listEf = spEf2017Service.getOwners();
+            listHj = spHj2017Service.getOwners();
+            listRtu = spRtu2017Service.getOwners();
+            listSj = spSj2017Service.getOwners();
+        } else {
+            LocalDateTime time = lastAlarm.getAlarmTime();
+            listEf = spEf2017Service.getOwners().stream()
+                    .filter(owner -> owner.getTime().isAfter(time))
+                    .collect(Collectors.toList());
+            listHj = spHj2017Service.getOwners().stream()
+                    .filter(owner -> owner.getTime().isAfter(time))
+                    .collect(Collectors.toList());
+            listRtu = spRtu2017Service.getOwners().stream()
+                    .filter(owner -> owner.getTime().isAfter(time))
+                    .collect(Collectors.toList());
+            listSj = spSj2017Service.getOwners().stream()
+                    .filter(owner -> owner.getTime().isAfter(time))
+                    .collect(Collectors.toList());
+        }
+        for (SpEf2017 ef : listEf) {
+            SpDeviceAlarm newAlarm = new SpDeviceAlarm();
+            newAlarm.setDeviceCode(ef.getDeviceCode());
+            newAlarm.setAlarmTime(ef.getTime());
+            newAlarm.setDeviceType(spOwnerService.getType(ef.getDeviceCode()));
+            newAlarm.setAlarmType(ef.getData1());
+            newAlarm.setAlarmName(spEf2017Service.getAlarmName(ef.getData1()));
+            newAlarm.setAlarmAddress(null);
+            newAlarm.setHandler(ef.getClr());
+            newAlarm.setHandlingTime(ef.getClsj());
+            newAlarm.setHandlingContent(ef.getClnr());
+            newAlarm.setHandlingStatus(ef.getClzt());
+            Integer falseAlarmValue = StringUtils.isBlank(ef.getClwb()) ? null : NumberUtils.createInteger(ef.getClwb());
+            newAlarm.setFalseAlarm(falseAlarmValue);
+            baseMapper.insert(newAlarm);
+        }
+        for (SpHj2017 hj : listHj) {
+            SpDeviceAlarm newAlarm = new SpDeviceAlarm();
+            newAlarm.setDeviceCode(hj.getDeviceCode());
+            newAlarm.setAlarmTime(hj.getTime());
+            newAlarm.setDeviceType(spOwnerService.getType(hj.getDeviceCode()));
+            newAlarm.setAlarmType(hj.getData1());
+            newAlarm.setAlarmName(hj.getData2());
+            newAlarm.setAlarmAddress(hj.getData4());
+            newAlarm.setHandler(hj.getClr());
+            newAlarm.setHandlingTime(hj.getClsj());
+            newAlarm.setHandlingContent(hj.getClnr());
+            newAlarm.setHandlingStatus(hj.getClzt());
+            Integer falseAlarmValue = StringUtils.isBlank(hj.getClwb()) ? null : NumberUtils.createInteger(hj.getClwb());
+            newAlarm.setFalseAlarm(falseAlarmValue);
+            baseMapper.insert(newAlarm);
+        }
+        for (SpRtu2017 rtu : listRtu) {
+            SpDeviceAlarm newAlarm = new SpDeviceAlarm();
+            newAlarm.setDeviceCode(rtu.getDeviceCode());
+            newAlarm.setAlarmTime(rtu.getTime());
+            newAlarm.setDeviceType(spOwnerService.getType(rtu.getDeviceCode()));
+            newAlarm.setAlarmType(rtu.getPort());
+            newAlarm.setAlarmName(rtu.getData2());
+            newAlarm.setAlarmAddress(rtu.getData4());
+            newAlarm.setHandler(rtu.getClr());
+            newAlarm.setHandlingTime(rtu.getClsj());
+            newAlarm.setHandlingContent(rtu.getClnr());
+            newAlarm.setHandlingStatus(rtu.getClzt());
+            Integer falseAlarmValue = StringUtils.isBlank(rtu.getClwb()) ? null : NumberUtils.createInteger(rtu.getClwb());
+            newAlarm.setFalseAlarm(falseAlarmValue);
+            baseMapper.insert(newAlarm);
+        }
+        for (SpSj2017 sj : listSj) {
+            SpDeviceAlarm newAlarm = new SpDeviceAlarm();
+            newAlarm.setDeviceCode(sj.getDeviceCode());
+            newAlarm.setAlarmTime(sj.getTime());
+            newAlarm.setDeviceType(spOwnerService.getType(sj.getDeviceCode()));
+            newAlarm.setAlarmType(sj.getData1());
+            newAlarm.setAlarmName(spSj2017Service.getAlarmName(sj.getData1()));
+            newAlarm.setAlarmAddress(sj.getAddress());
+            newAlarm.setHandler(sj.getClr());
+            newAlarm.setHandlingTime(sj.getClsj());
+            newAlarm.setHandlingContent(sj.getClnr());
+            newAlarm.setHandlingStatus(sj.getClzt());
+            Integer falseAlarmValue = StringUtils.isBlank(sj.getClwb()) ? null : NumberUtils.createInteger(sj.getClwb());
+            newAlarm.setFalseAlarm(falseAlarmValue);
+            baseMapper.insert(newAlarm);
+        }
+    }
+}

+ 56 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpDeviceDataServiceImpl.java

@@ -0,0 +1,56 @@
+package com.usky.issue.service.impl;
+
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.usky.issue.domain.*;
+import com.usky.issue.mapper.SpDeviceDataMapper;
+import com.usky.issue.service.SpDeviceDataService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.issue.service.SpOwnerStatusService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 设备数据表 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Service
+public class SpDeviceDataServiceImpl extends AbstractCrudService<SpDeviceDataMapper, SpDeviceData> implements SpDeviceDataService {
+    @Autowired
+    private SpOwnerStatusService spOwnerStatusService;
+
+
+    @Override
+    @DS("usky-website")
+    public void updateData() {
+        QueryWrapper<SpDeviceData> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByDesc("id").last("LIMIT 1");
+        SpDeviceData lastStatus = baseMapper.selectOne(queryWrapper);
+        List<SpOwnerStatus> devicesToUpdate;
+        if (lastStatus == null) {
+            devicesToUpdate = spOwnerStatusService.getOwners();
+        } else {
+            devicesToUpdate = spOwnerStatusService.getOwnersAfter(lastStatus.getId());
+        }
+        for (SpOwnerStatus owner : devicesToUpdate) {
+            SpDeviceData spDeviceData = new SpDeviceData();
+            spDeviceData.setId(owner.getId().intValue());
+            spDeviceData.setDeviceCode(owner.getDeviceId());
+            spDeviceData.setDeviceType(owner.getDwtype());
+            spDeviceData.setPointName(owner.getPointName());
+            spDeviceData.setPointCode(owner.getPointCode());
+            spDeviceData.setPointData(owner.getPointData());
+            spDeviceData.setDataTime(owner.getDataTime());
+            spDeviceData.setDataContent(owner.getContent());
+            baseMapper.insert(spDeviceData);
+        }
+    }
+}

+ 42 - 2
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpHj2017ServiceImpl.java

@@ -1,11 +1,13 @@
 package com.usky.issue.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.usky.issue.domain.SpHj2017;
-import com.usky.issue.domain.SpOwner;
+import com.usky.common.core.util.StringUtils;
+import com.usky.issue.domain.*;
 import com.usky.issue.mapper.SpHj2017Mapper;
 import com.usky.issue.service.SpHj2017Service;
 import com.usky.common.mybatis.core.AbstractCrudService;
@@ -15,6 +17,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -25,10 +28,16 @@ import java.util.Map;
  * @since 2023-12-13
  */
 @Service
+@DS("jdxf")
 public class SpHj2017ServiceImpl extends AbstractCrudService<SpHj2017Mapper, SpHj2017> implements SpHj2017Service {
     @Autowired
     private SpOwnerService spOwnerService;
 
+    /**
+     * 设备状态统计
+     * @param requestBody
+     * @return
+     */
     @Override
     public List<Map<String, Object>> statusCount(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
@@ -62,6 +71,11 @@ public class SpHj2017ServiceImpl extends AbstractCrudService<SpHj2017Mapper, SpH
         return deviceStatusList;
     }
 
+    /**
+     * 设备查询
+     * @param requestBody
+     * @return
+     */
     public List<Map<String, Object>> typeList(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -73,6 +87,11 @@ public class SpHj2017ServiceImpl extends AbstractCrudService<SpHj2017Mapper, SpH
         return deviceStatusList1;
     }
 
+    /**
+     * 设备数量统计
+     * @param requestBody
+     * @return
+     */
     public Integer countDevice(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -87,4 +106,25 @@ public class SpHj2017ServiceImpl extends AbstractCrudService<SpHj2017Mapper, SpH
         return deviceCount;
     }
 
+    /**
+     * 告警信息更新
+     * @return
+     */
+    @Override
+    public List<SpHj2017> getOwners() {
+        List<String> codes = spOwnerService.getOwners(spOwnerService.getDeviceCodes())
+                .stream()
+                .filter(spOwner -> spOwner.getDwtype()==1 || spOwner.getDwtype()==3)
+                .map(SpOwner::getOwnerCode)
+                .collect(Collectors.toList());
+        return baseMapper.selectList(Wrappers.<SpHj2017>query()
+                .select("device_code", "time", "data1", "data2", "data4", "clr",
+                        "IF(clsj = '0000-00-00 00:00:00', '1997-01-01 00:00:00', clsj) AS clsj",
+                        "clnr", "clzt", "clwb")
+                .in("device_code", codes)
+        );
+    }
+
+
+
 }

+ 74 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpOwnerServiceImpl.java

@@ -1,11 +1,18 @@
 package com.usky.issue.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.issue.domain.SpOwner;
 import com.usky.issue.mapper.SpOwnerMapper;
 import com.usky.issue.service.SpOwnerService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  *  服务实现类
@@ -15,6 +22,73 @@ import org.springframework.stereotype.Service;
  * @since 2024-01-04
  */
 @Service
+@DS("jdxf")
 public class SpOwnerServiceImpl extends AbstractCrudService<SpOwnerMapper, SpOwner> implements SpOwnerService {
 
+    /**
+     * 获取所有设备编号
+     * @return
+     */
+    @Override
+    public List<String> getDeviceCodes() {
+        List<String> owner_company = Arrays.asList("10327", "10331", "10334");
+        LambdaQueryWrapper<SpOwner> device = Wrappers.lambdaQuery();
+        device.select(SpOwner::getOwnerCode)
+                .in(SpOwner::getCompany,owner_company);
+
+        return baseMapper.selectObjs(device)
+                .stream()
+                .map(String::valueOf)
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * 校区
+     * @return
+     */
+    public String getCampus(String company) {
+        if (company.contains("10327")) {
+            return "西校区";
+        } else if (company.contains("10331")) {
+            return "东校区";
+        } else {
+            return "中山南一路院区";
+        }
+    }
+
+    /**
+     * 获取所有设备信息
+     * @return
+     */
+    @Override
+    public List<SpOwner> getOwners(List<String> deviceCode) {
+        LambdaQueryWrapper<SpOwner> device1 = Wrappers.lambdaQuery();
+        device1.select(SpOwner::getId,SpOwner::getCompany,SpOwner::getOwnerCode,SpOwner::getOwnerName,
+                SpOwner::getUnitinfo,SpOwner::getLouyu,SpOwner::getInstallTime,SpOwner::getDwtype)
+                .in(SpOwner::getOwnerCode,getDeviceCodes());
+        return baseMapper.selectList(device1);
+    }
+
+    /**
+     * 获取类型
+     * @param deviceCode
+     * @return
+     */
+    @Override
+    public Integer getType(String deviceCode) {
+        LambdaQueryWrapper<SpOwner> tpye = Wrappers.lambdaQuery();
+        tpye.select(SpOwner::getDwtype)
+                .in(SpOwner::getOwnerCode,deviceCode);
+        return baseMapper.selectOne(tpye).getDwtype();
+    }
+
+    @Override
+    public List<SpOwner> getOwnersAfter(Integer lastId) {
+        LambdaQueryWrapper<SpOwner> wrapper = Wrappers.lambdaQuery();
+        wrapper.select(SpOwner::getId,SpOwner::getOwnerName,SpOwner::getInstallTime,SpOwner::getUnitinfo,
+                SpOwner::getLouyu,SpOwner::getDwtype,SpOwner::getCompany,SpOwner::getOwnerCode)
+                .gt(SpOwner::getId,lastId)
+                .in(SpOwner::getOwnerCode,getDeviceCodes());
+        return baseMapper.selectList(wrapper);
+    }
 }

+ 44 - 3
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpRtu2017ServiceImpl.java

@@ -1,25 +1,28 @@
 package com.usky.issue.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 
 import com.usky.common.core.exception.BusinessException;
-import com.usky.issue.domain.SpOwner;
-import com.usky.issue.domain.SpRtu2017;
+import com.usky.common.core.util.StringUtils;
+import com.usky.issue.domain.*;
 import com.usky.issue.mapper.SpRtu2017Mapper;
 import com.usky.issue.service.SpOwnerService;
 import com.usky.issue.service.SpRtu2017Service;
 import com.usky.common.mybatis.core.AbstractCrudService;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -30,10 +33,16 @@ import java.util.Map;
  * @since 2023-12-13
  */
 @Service
+@DS("jdxf")
 public class SpRtu2017ServiceImpl extends AbstractCrudService<SpRtu2017Mapper, SpRtu2017> implements SpRtu2017Service {
     @Autowired
     private SpOwnerService spOwnerService;
 
+    /**
+     * 设备状态统计
+     * @param requestBody
+     * @return
+     */
     @Override
     public List<Map<String, Object>> statusCount(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
@@ -67,6 +76,11 @@ public class SpRtu2017ServiceImpl extends AbstractCrudService<SpRtu2017Mapper, S
         return deviceStatusList;
     }
 
+    /**
+     * 设备查询
+     * @param requestBody
+     * @return
+     */
     public List<Map<String, Object>> typeList(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -77,6 +91,11 @@ public class SpRtu2017ServiceImpl extends AbstractCrudService<SpRtu2017Mapper, S
         return deviceStatusList1;
     }
 
+    /**
+     * 设备数量统计
+     * @param requestBody
+     * @return
+     */
     public Integer countDevice(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -91,4 +110,26 @@ public class SpRtu2017ServiceImpl extends AbstractCrudService<SpRtu2017Mapper, S
         return deviceCount;
     }
 
+    /**
+     * 告警信息更新
+     * @return
+     */
+    @Override
+    public List<SpRtu2017> getOwners() {
+        List<String> codes = spOwnerService.getOwners(spOwnerService.getDeviceCodes())
+                .stream()
+                .filter(spOwner -> spOwner.getDwtype()==6)
+                .map(SpOwner::getOwnerCode)
+                .collect(Collectors.toList());
+        if (!codes.isEmpty()) {
+
+        }
+        return baseMapper.selectList(Wrappers.<SpRtu2017>query()
+                .select("device_code", "time", "data2","data4","clr",
+                        "IF(clsj = '0000-00-00 00:00:00', '1997-01-01 00:00:00', clsj) AS clsj",
+                        "clnr", "clzt", "clwb")
+                .in("device_code", codes)
+        );
+    }
+
 }

+ 61 - 1
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpSj2017ServiceImpl.java

@@ -1,10 +1,14 @@
 package com.usky.issue.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.common.core.exception.BusinessException;
+import com.usky.common.core.util.StringUtils;
+import com.usky.issue.domain.SpHj2017;
 import com.usky.issue.domain.SpOwner;
 import com.usky.issue.domain.SpRtu2017;
 import com.usky.issue.domain.SpSj2017;
@@ -12,13 +16,13 @@ import com.usky.issue.mapper.SpSj2017Mapper;
 import com.usky.issue.service.SpOwnerService;
 import com.usky.issue.service.SpSj2017Service;
 import com.usky.common.mybatis.core.AbstractCrudService;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -29,10 +33,16 @@ import java.util.Map;
  * @since 2023-12-13
  */
 @Service
+@DS("jdxf")
 public class SpSj2017ServiceImpl extends AbstractCrudService<SpSj2017Mapper, SpSj2017> implements SpSj2017Service {
     @Autowired
     private SpOwnerService spOwnerService;
 
+    /**
+     * 设备状态统计
+     * @param requestBody
+     * @return
+     */
     @Override
     public List<Map<String, Object>> statusCount(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
@@ -66,6 +76,11 @@ public class SpSj2017ServiceImpl extends AbstractCrudService<SpSj2017Mapper, SpS
         return deviceStatusList;
     }
 
+    /**
+     * 设备查询
+     * @param requestBody
+     * @return
+     */
     public List<Map<String, Object>> typeList(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -75,6 +90,12 @@ public class SpSj2017ServiceImpl extends AbstractCrudService<SpSj2017Mapper, SpS
         List<Map<String, Object>> deviceStatusList1 = this.listMaps(queryWrapper1);
         return deviceStatusList1;
     }
+
+    /**
+     * 设备数量统计
+     * @param requestBody
+     * @return
+     */
     public Integer countDevice(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
@@ -85,4 +106,43 @@ public class SpSj2017ServiceImpl extends AbstractCrudService<SpSj2017Mapper, SpS
         Integer deviceCount = SpSj2017.size();
         return deviceCount;
     }
+
+    /**
+     * 告警信息更新
+     * @return
+     */
+    @Override
+    public List<SpSj2017> getOwners() {
+        List<String> codes = spOwnerService.getOwners(spOwnerService.getDeviceCodes())
+                .stream()
+                .filter(spOwner -> spOwner.getDwtype()==2 || spOwner.getDwtype()==5)
+                .map(SpOwner::getOwnerCode)
+                .collect(Collectors.toList());
+        return baseMapper.selectList(Wrappers.<SpSj2017>query()
+                .select("device_code", "time", "data1","clr",
+                        "IF(clsj = '0000-00-00 00:00:00', '1997-01-01 00:00:00', clsj) AS clsj",
+                        "clnr", "clzt", "clwb")
+                .in("device_code", codes)
+        );
+    }
+
+    @Override
+    public String getAlarmName(String data1) {
+        switch (data1) {
+            case "WP1":
+                return "低压";
+            case "WP2":
+                return "高压";
+            case "WP3":
+                return "故障";
+            case "LL1":
+                return "低液位";
+            case "LL2":
+                return "高液位";
+            case "LL3":
+                return "故障";
+            default:
+                return "";
+        }
+    }
 }