Browse Source

Merge branch 'fu-dev' into modify_mh

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

+ 4 - 4
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/MybatisGeneratorUtils.java

@@ -43,10 +43,10 @@ public class MybatisGeneratorUtils {
         //2、数据源配置
         //修改数据源
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://47.98.201.187:3306/jdxf?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
+        dsc.setUrl("jdbc:mysql://172.16.120.165:3306/usky-website?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
         dsc.setDriverName("com.mysql.jdbc.Driver");
-        dsc.setUsername("fuYuChuan");
-        dsc.setPassword("fuYuChuan@123");
+        dsc.setUsername("usky");
+        dsc.setPassword("Yt#75Usky");
         mpg.setDataSource(dsc);
 
         // 3、包配置
@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude(new String[]{"sp_rtu2017", "sp_sj2017"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude(new String[]{"sp_device","sp_device_alarm","sp_device_data"});  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 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);
+        }
+    }
+}

+ 55 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpDeviceServiceImpl.java

@@ -0,0 +1,55 @@
+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.SpDevice;
+import com.usky.issue.domain.SpOwner;
+import com.usky.issue.mapper.SpDeviceMapper;
+import com.usky.issue.service.SpDeviceService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.issue.service.SpOwnerService;
+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 SpDeviceServiceImpl extends AbstractCrudService<SpDeviceMapper, SpDevice> implements SpDeviceService {
+    @Autowired
+    private SpOwnerService spOwnerService;
+
+    @Override
+    @DS("usky-website")
+    public void updateDevice() {
+        QueryWrapper<SpDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.orderByDesc("id").last("LIMIT 1");
+        SpDevice lastDevice = baseMapper.selectOne(queryWrapper);
+        List<SpOwner> devicesToUpdate;
+        if (lastDevice == null) {
+            devicesToUpdate = spOwnerService.getOwners(spOwnerService.getDeviceCodes());
+        } else {
+            devicesToUpdate = spOwnerService.getOwnersAfter(lastDevice.getId());
+        }
+        for (SpOwner owner : devicesToUpdate) {
+            SpDevice spDevice = new SpDevice();
+            spDevice.setId(owner.getId());
+            spDevice.setDeviceCode(owner.getOwnerCode());
+            spDevice.setDeviceName(owner.getOwnerName());
+            spDevice.setInstallAddress(owner.getUnitinfo());
+            spDevice.setInstallationFloor(owner.getLouyu());
+            spDevice.setInstallationTime(owner.getInstallTime());
+            spDevice.setDeviceType(owner.getDwtype());
+            spDevice.setCampus(spOwnerService.getCampus(owner.getCompany()));
+            baseMapper.insert(spDevice);
+        }
+    }
+}

+ 79 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpEf2017ServiceImpl.java

@@ -0,0 +1,79 @@
+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.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.util.StringUtils;
+import com.usky.issue.domain.*;
+import com.usky.issue.mapper.SpEf2017Mapper;
+import com.usky.issue.service.SpEf2017Service;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.issue.service.SpOwnerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Service
+@DS("jdxf")
+public class SpEf2017ServiceImpl extends AbstractCrudService<SpEf2017Mapper, SpEf2017> implements SpEf2017Service {
+    @Autowired
+    private SpOwnerService spOwnerService;
+
+
+    /**
+     * 告警信息更新
+     * @return
+     */
+    @Override
+    public List<SpEf2017> getOwners() {
+        List<String> codes = spOwnerService.getOwners(spOwnerService.getDeviceCodes())
+                .stream()
+                .filter(spOwner -> spOwner.getDwtype()==7)
+                .map(SpOwner::getOwnerCode)
+                .collect(Collectors.toList());
+        return baseMapper.selectList(Wrappers.<SpEf2017>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 "EF1":
+                return "过压报警";
+            case "EF2":
+                return "低压报警";
+            case "EF3":
+                return "过流报警";
+            case "EF4":
+                return "漏电报警";
+            case "EF5":
+                return "1号线缆温度超高";
+            case "EF6":
+                return "2号线缆温度超高";
+            case "EF7":
+                return "3号线缆温度超高";
+            default:
+                return "";
+        }
+    }
+
+}

+ 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);
+    }
 }

+ 57 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpOwnerStatusServiceImpl.java

@@ -0,0 +1,57 @@
+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.SpDeviceData;
+import com.usky.issue.domain.SpOwner;
+import com.usky.issue.domain.SpOwnerStatus;
+import com.usky.issue.mapper.SpOwnerStatusMapper;
+import com.usky.issue.service.SpOwnerService;
+import com.usky.issue.service.SpOwnerStatusService;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2024-01-24
+ */
+@Service
+@DS("jdxf")
+public class SpOwnerStatusServiceImpl extends AbstractCrudService<SpOwnerStatusMapper, SpOwnerStatus> implements SpOwnerStatusService {
+    @Autowired
+    private SpOwnerService spOwnerService;
+
+    /**
+     * 设备数据更新
+     *
+     * @return
+     */
+    @Override
+    public List<SpOwnerStatus> getOwners() {
+        LambdaQueryWrapper<SpOwnerStatus> device = Wrappers.lambdaQuery();
+        device.select(SpOwnerStatus::getId, SpOwnerStatus::getDeviceId, SpOwnerStatus::getDwtype, SpOwnerStatus::getPointName,
+                SpOwnerStatus::getPointCode, SpOwnerStatus::getPointData, SpOwnerStatus::getDataTime, SpOwnerStatus::getContent)
+                .in(SpOwnerStatus::getDeviceId, spOwnerService.getDeviceCodes());
+        return baseMapper.selectList(device);
+    }
+
+    @Override
+    public List<SpOwnerStatus> getOwnersAfter(Integer lastId) {
+        LambdaQueryWrapper<SpOwnerStatus> wrapper = Wrappers.lambdaQuery();
+        wrapper.select(SpOwnerStatus::getId, SpOwnerStatus::getDeviceId, SpOwnerStatus::getPointName, SpOwnerStatus::getPointCode,
+                SpOwnerStatus::getPointData, SpOwnerStatus::getDwtype, SpOwnerStatus::getDataTime, SpOwnerStatus::getContent)
+                .gt(SpOwnerStatus::getId, lastId)
+                .in(SpOwnerStatus::getDeviceId, spOwnerService.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 "";
+        }
+    }
 }

+ 2 - 2
service-issue/service-issue-biz/src/main/resources/bootstrap.yml

@@ -14,10 +14,10 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: usky-cloud-nacos:8848
+        server-addr: 172.16.120.165:8848
       config:
         # 配置中心地址
-        server-addr: usky-cloud-nacos:8848
+        server-addr: 172.16.120.165:8848
         # 配置文件格式
         file-extension: yml
         # 共享配置

+ 21 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpDeviceAlarmMapper.xml

@@ -0,0 +1,21 @@
+<?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.usky.issue.mapper.SpDeviceAlarmMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpDeviceAlarm">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="alarm_time" property="alarmTime" />
+        <result column="device_type" property="deviceType" />
+        <result column="alarm_type" property="alarmType" />
+        <result column="alarm_name" property="alarmName" />
+        <result column="alarm_address" property="alarmAddress" />
+        <result column="handler" property="handler" />
+        <result column="handling_time" property="handlingTime" />
+        <result column="handling_content" property="handlingContent" />
+        <result column="handling_status" property="handlingStatus" />
+        <result column="false_alarm" property="falseAlarm" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpDeviceDataMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.issue.mapper.SpDeviceDataMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpDeviceData">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_type" property="deviceType" />
+        <result column="point_name" property="pointName" />
+        <result column="point_code" property="pointCode" />
+        <result column="point_data" property="pointData" />
+        <result column="data_time" property="dataTime" />
+        <result column="data_content" property="dataContent" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpDeviceMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.issue.mapper.SpDeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpDevice">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_name" property="deviceName" />
+        <result column="install_address" property="installAddress" />
+        <result column="installation_floor" property="installationFloor" />
+        <result column="installation_time" property="installationTime" />
+        <result column="device_type" property="deviceType" />
+        <result column="campus" property="campus" />
+    </resultMap>
+
+</mapper>

+ 30 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpEf2017Mapper.xml

@@ -0,0 +1,30 @@
+<?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.usky.issue.mapper.SpEf2017Mapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpEf2017">
+        <id column="id" property="id" />
+        <result column="port" property="port" />
+        <result column="device_code" property="deviceCode" />
+        <result column="time" property="time" />
+        <result column="status" property="status" />
+        <result column="address" property="address" />
+        <result column="ncmd" property="ncmd" />
+        <result column="data1" property="data1" />
+        <result column="data2" property="data2" />
+        <result column="data3" property="data3" />
+        <result column="data4" property="data4" />
+        <result column="data5" property="data5" />
+        <result column="cllx" property="cllx" />
+        <result column="clsj" property="clsj" />
+        <result column="clr" property="clr" />
+        <result column="clnr" property="clnr" />
+        <result column="clwb" property="clwb" />
+        <result column="cllxr" property="cllxr" />
+        <result column="cldh" property="cldh" />
+        <result column="clzt" property="clzt" />
+        <result column="video" property="video" />
+    </resultMap>
+
+</mapper>

+ 17 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpOwnerStatusMapper.xml

@@ -0,0 +1,17 @@
+<?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.usky.issue.mapper.SpOwnerStatusMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpOwnerStatus">
+        <id column="id" property="id" />
+        <result column="device_id" property="deviceId" />
+        <result column="dwtype" property="dwtype" />
+        <result column="point_name" property="pointName" />
+        <result column="point_code" property="pointCode" />
+        <result column="point_data" property="pointData" />
+        <result column="data_time" property="dataTime" />
+        <result column="content" property="content" />
+    </resultMap>
+
+</mapper>