Browse Source

Merge branch 'fu-dev' of uskycloud/usky-modules into server-165

hanzhengyi 1 year ago
parent
commit
16ef8c141f
32 changed files with 1299 additions and 25 deletions
  1. 3 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanSonServiceImpl.java
  2. 5 1
      service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionRecordServiceImpl.java
  3. 2 2
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/MybatisGeneratorUtils.java
  4. 62 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpHj2017Controller.java
  5. 0 6
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpProjectConfigController.java
  6. 20 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpRtu2017Controller.java
  7. 19 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpSj2017Controller.java
  8. 142 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpHj2017.java
  9. 122 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpRtu2017.java
  10. 122 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpSj2017.java
  11. 18 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpHj2017Mapper.java
  12. 2 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpProjectConfigMapper.java
  13. 18 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpRtu2017Mapper.java
  14. 18 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpSj2017Mapper.java
  15. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpHj2017Service.java
  16. 23 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpRtu2017Service.java
  17. 21 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpSj2017Service.java
  18. 102 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpHj2017ServiceImpl.java
  19. 2 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpProjectConfigServiceImpl.java
  20. 104 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpRtu2017ServiceImpl.java
  21. 96 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpSj2017ServiceImpl.java
  22. 79 8
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/YtDeviceStatusServiceImpl.java
  23. 42 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpHj2017RequestVO.java
  24. 42 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpRtu2017RequestVO.java
  25. 43 0
      service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpSj2017RequestVO.java
  26. 33 0
      service-issue/service-issue-biz/src/main/resources/mapper/issue/SpHj2017Mapper.xml
  27. 30 0
      service-issue/service-issue-biz/src/main/resources/mapper/issue/SpRtu2017Mapper.xml
  28. 30 0
      service-issue/service-issue-biz/src/main/resources/mapper/issue/SpSj2017Mapper.xml
  29. 17 7
      service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataStHistoryController.java
  30. 5 0
      service-park/service-park-biz/src/main/java/com/usky/park/domain/DataStHistory.java
  31. 14 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/DataStHistoryService.java
  32. 42 0
      service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataStHistoryServiceImpl.java

+ 3 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionPlanSonServiceImpl.java

@@ -256,7 +256,9 @@ public class PatrolInspectionPlanSonServiceImpl extends AbstractCrudService<Patr
         queryWrapperOne.select(PatrolInspectionArea::getId, PatrolInspectionArea::getAreaName)
                 .eq(PatrolInspectionArea::getId, planSonList.get(0).getAreaId());
         List<PatrolInspectionArea> areaList = patrolInspectionAreaService.list(queryWrapperOne);
-
+        if (areaList.isEmpty()) {
+            throw new BusinessException("巡检区域不存在");
+        }
         PatrolInspectionRecord patrolInspectionRecord = new PatrolInspectionRecord();
         patrolInspectionRecord.setSiteNubmber(planRecordVo.getSiteNubmber());
         patrolInspectionRecord.setSiteType(planRecordVo.getSiteType());

+ 5 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/PatrolInspectionRecordServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.usky.common.core.bean.CommonPage;
+import com.usky.common.core.exception.BusinessException;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.fire.domain.*;
@@ -93,7 +94,9 @@ public class PatrolInspectionRecordServiceImpl extends AbstractCrudService<Patro
         queryWrapper.eq(PatrolInspectionRecord::getTenantId, SecurityUtils.getTenantId())
                 .eq(PatrolInspectionRecord::getId, id);
         List<PatrolInspectionRecord> patrolInspectionRecordList = this.list(queryWrapper);
-
+        if (patrolInspectionRecordList.isEmpty()) {
+            throw new BusinessException("巡检记录不存在");
+        }
         //上传图片查询
         LambdaQueryWrapper<PatrolInspectionRecordPicture> queryWrapperOne = Wrappers.lambdaQuery();
         queryWrapperOne.eq(PatrolInspectionRecordPicture::getRecordId, id);
@@ -195,6 +198,7 @@ public class PatrolInspectionRecordServiceImpl extends AbstractCrudService<Patro
             patrolInspectionRecordVo.setTenantId(patrolInspectionRecordList.get(i).getTenantId());
             patrolInspectionRecordVo.setCompanyId(patrolInspectionRecordList.get(i).getCompanyId());
             patrolInspectionRecordVo.setCreator(patrolInspectionRecordList.get(i).getCreator());
+            patrolInspectionRecordVo.setRemarks(patrolInspectionRecordList.get(i).getRemarks());
             patrolInspectionRecordVo.setRecordPictureList(patrolInspectionRecordPictureList);
             patrolInspectionRecordVo.setContentVoList(patrolInspectionContentVoList);
             list.add(patrolInspectionRecordVo);

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

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

+ 62 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpHj2017Controller.java

@@ -0,0 +1,62 @@
+package com.usky.issue.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.issue.annotation.CheckSign;
+import com.usky.issue.service.SpHj2017Service;
+import com.usky.issue.service.SpRtu2017Service;
+import com.usky.issue.service.SpSj2017Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@RestController
+@RequestMapping("/spHj2017")
+public class SpHj2017Controller {
+    @Autowired
+    private SpHj2017Service spHj2017Service;
+    @Autowired
+    private SpSj2017Service spSj2017Service;
+    @Autowired
+    private SpRtu2017Service spRtu2017Service;
+
+    @CheckSign
+    @PostMapping("eventList")
+    ApiResult<Map<String, Object>> eventList(@RequestBody String requestBody) {
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("firaAlarm", spHj2017Service.statusCount(requestBody));
+        resultMap.put("waterAlarm", spSj2017Service.statusCount(requestBody));
+        resultMap.put("rtuAlarm", spRtu2017Service.statusCount(requestBody));
+            return ApiResult.success(resultMap);
+    }
+
+    @CheckSign
+    @PostMapping("listCount")
+    ApiResult<Map<String, Object>> countList(@RequestBody String requestBody) {
+        List<Map<String, Object>> typeList1 = spHj2017Service.typeList(requestBody);
+        Long untreatedCount1 = (Long) typeList1.get(0).get("untreated");
+        Long processedCount11 = (Long) typeList1.get(0).get("processed");
+        List<Map<String, Object>> typeList2 = spSj2017Service.typeList(requestBody);
+        Long untreatedCount2 = (Long) typeList2.get(0).get("untreated");
+        Long processedCount22 = (Long) typeList2.get(0).get("processed");
+        List<Map<String, Object>> typeList3 = spRtu2017Service.typeList(requestBody);
+        Long untreatedCount3 = (Long) typeList3.get(0).get("untreated");
+        Long processedCount33 = (Long) typeList3.get(0).get("processed");
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("unprocess", untreatedCount1+untreatedCount2+untreatedCount3);
+        resultMap.put("processing",0);
+        resultMap.put("processed", processedCount11+processedCount22+processedCount33);
+            return ApiResult.success(resultMap);
+    }
+
+
+}
+

+ 0 - 6
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpProjectConfigController.java

@@ -21,11 +21,5 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/spProjectConfig")
 public class SpProjectConfigController {
-    @Autowired
-    SpProjectConfigService spProjectConfigService;
-    @PostMapping("/getCompanyCode")
-    ApiResult<String> getCompanyCode(@RequestBody SpProjectConfigRequestVO requestVO) {
-        return ApiResult.success(spProjectConfigService.getCompanyCode(requestVO));
-    }
 
 }

+ 20 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpRtu2017Controller.java

@@ -0,0 +1,20 @@
+package com.usky.issue.controller.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@RestController
+@RequestMapping("/spRtu2017")
+public class SpRtu2017Controller {
+
+}
+

+ 19 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/controller/web/SpSj2017Controller.java

@@ -0,0 +1,19 @@
+package com.usky.issue.controller.web;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * asf 前端控制器
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@RestController
+@RequestMapping("/spSj2017")
+public class SpSj2017Controller {
+
+}
+

+ 142 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpHj2017.java

@@ -0,0 +1,142 @@
+package com.usky.issue.domain;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpHj2017 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String port;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime time;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 地址 ip
+     */
+    private String address;
+
+    /**
+     * 防火分区
+     */
+    private String compartment;
+
+    /**
+     * 火警流程
+     */
+    private String fireprocess;
+
+    private LocalDateTime flowendtime;
+
+    /**
+     * 命令码
+     */
+    private String ncmd;
+
+    /**
+     * 备用字段
+     */
+    private String data1;
+
+    /**
+     * 类型
+     */
+    private String data2;
+
+    /**
+     * 命令源码
+     */
+    private String data3;
+
+    /**
+     * 回路地址
+     */
+    private String data4;
+
+    /**
+     * 部件位置信息
+     */
+    private String data5;
+
+    /**
+     * 处理类型
+     */
+    private String cllx;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime clsj;
+
+    /**
+     * 处理人
+     */
+    private String clr;
+
+    /**
+     * 处理内容
+     */
+    private String clnr;
+
+    /**
+     * 处理误报(1 误报  0 非误报)
+     */
+    private String clwb;
+
+    /**
+     * 联系人
+     */
+    private String cllxr;
+
+    /**
+     * 联系电话
+     */
+    private String cldh;
+
+    /**
+     * 处理状态
+     */
+    private Integer clzt;
+
+    /**
+     * 视频地址
+     */
+    private String video;
+
+
+}

+ 122 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpRtu2017.java

@@ -0,0 +1,122 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpRtu2017 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String port;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime time;
+
+    /**
+     * 开关状态 1关闭(连接) 0开启(断开)
+     */
+    private String status;
+
+    /**
+     * 地址 ip
+     */
+    private String address;
+
+    /**
+     * 命令码
+     */
+    private String ncmd;
+
+    /**
+     * 备用字段
+     */
+    private String data1;
+
+    /**
+     * 状态
+     */
+    private String data2;
+
+    /**
+     * 备用字段
+     */
+    private String data3;
+
+    /**
+     * 名称
+     */
+    private String data4;
+
+    /**
+     * 备用字段
+     */
+    private String data5;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime clsj;
+
+    /**
+     * 处理人
+     */
+    private String clr;
+
+    /**
+     * 处理内容
+     */
+    private String clnr;
+
+    private String clwb;
+
+    /**
+     * 联系人
+     */
+    private String cllxr;
+
+    /**
+     * 联系电话
+     */
+    private String cldh;
+
+    /**
+     * 处理状态
+     */
+    private Integer clzt;
+
+    private String cllx;
+
+    /**
+     * 视频地址
+     */
+    private String video;
+
+
+}

+ 122 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/domain/SpSj2017.java

@@ -0,0 +1,122 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * asf
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SpSj2017 implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    private String port;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime time;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 地址 ip
+     */
+    private String address;
+
+    /**
+     * 命令码
+     */
+    private String ncmd;
+
+    /**
+     * 报警类型0 正常 1 低压 2高压 3故障 4离线
+     */
+    private String data1;
+
+    /**
+     * 电池电量
+     */
+    private String data2;
+
+    /**
+     * 信号强度
+     */
+    private String data3;
+
+    /**
+     * 压力值 mpa
+     */
+    private String data4;
+
+    /**
+     * 物联网卡号
+     */
+    private String data5;
+
+    /**
+     * 联系人
+     */
+    private String cllxr;
+
+    /**
+     * 处理时间
+     */
+    private LocalDateTime clsj;
+
+    /**
+     * 处理人
+     */
+    private String clr;
+
+    /**
+     * 处理内容
+     */
+    private String clnr;
+
+    private String clwb;
+
+    /**
+     * 联系电话
+     */
+    private String cldh;
+
+    /**
+     * 处理状态
+     */
+    private Integer clzt;
+
+    private String cllx;
+
+    /**
+     * 视频地址
+     */
+    private String video;
+
+
+}

+ 18 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpHj2017Mapper.java

@@ -0,0 +1,18 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpHj2017;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Repository
+public interface SpHj2017Mapper extends CrudMapper<SpHj2017> {
+
+}

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

@@ -1,5 +1,6 @@
 package com.usky.issue.mapper;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.usky.issue.domain.SpProjectConfig;
 import com.usky.common.mybatis.core.CrudMapper;
 import org.apache.ibatis.annotations.Param;
@@ -13,6 +14,7 @@ import org.springframework.stereotype.Repository;
  * @author fu
  * @since 2023-12-11
  */
+@DS("UskyOw")
 @Repository
 public interface SpProjectConfigMapper extends CrudMapper<SpProjectConfig> {
     String getCompanyCode(@Param("appKey") String appKey);

+ 18 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpRtu2017Mapper.java

@@ -0,0 +1,18 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpRtu2017;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Repository
+public interface SpRtu2017Mapper extends CrudMapper<SpRtu2017> {
+
+}

+ 18 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/mapper/SpSj2017Mapper.java

@@ -0,0 +1,18 @@
+package com.usky.issue.mapper;
+
+import com.usky.issue.domain.SpSj2017;
+import com.usky.common.mybatis.core.CrudMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * asf Mapper 接口
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Repository
+public interface SpSj2017Mapper extends CrudMapper<SpSj2017> {
+
+}

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

@@ -0,0 +1,21 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpHj2017;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+public interface SpHj2017Service extends CrudService<SpHj2017> {
+    List<Map<String, Object>> statusCount(String requestBody);
+    List<Map<String, Object>> typeList(String requestBody);
+    Integer countDevice (String requestBody);
+}

+ 23 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/SpRtu2017Service.java

@@ -0,0 +1,23 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpRtu2017;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author fu
+ * @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);
+}

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

@@ -0,0 +1,21 @@
+package com.usky.issue.service;
+
+import com.usky.issue.domain.SpSj2017;
+import com.usky.common.mybatis.core.CrudService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * asf 服务类
+ * </p>
+ *
+ * @author fu
+ * @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);
+}

+ 102 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpHj2017ServiceImpl.java

@@ -0,0 +1,102 @@
+package com.usky.issue.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+import com.usky.common.core.exception.BusinessException;
+import com.usky.issue.domain.SpHj2017;
+import com.usky.issue.domain.SpRtu2017;
+import com.usky.issue.mapper.SpHj2017Mapper;
+import com.usky.issue.service.SpHj2017Service;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Service
+public class SpHj2017ServiceImpl extends AbstractCrudService<SpHj2017Mapper, SpHj2017> implements SpHj2017Service {
+    @Override
+    public List<Map<String, Object>> statusCount(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        Integer currentPage = (Integer) requestVO.get("current");
+        Integer pageSize = (Integer) requestVO.get("size");
+        int startIndex = (currentPage - 1) * pageSize;
+        QueryWrapper<SpHj2017> queryWrapper = Wrappers.query();
+        queryWrapper.select("DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') AS alarm_time", "data2 AS alarm_type", "data4 AS alarm_point", "device_code")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype IN (1,3)");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString) && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        queryWrapper.last("LIMIT " + pageSize + " OFFSET " + startIndex)
+                .orderByDesc("id");
+        List<Map<String, Object>> deviceStatusList = this.listMaps(queryWrapper);
+
+        return deviceStatusList;
+    }
+
+    public List<Map<String, Object>> typeList(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        QueryWrapper<SpHj2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("COUNT(CASE WHEN clzt = 0 THEN 1 ELSE NULL END) AS untreated", "COUNT(CASE WHEN clzt = 1 THEN 1 ELSE NULL END) AS processed")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype IN (1,3)");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper1.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper1.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString) && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper1.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        List<Map<String, Object>> deviceStatusList1 = this.listMaps(queryWrapper1);
+        return deviceStatusList1;
+    }
+
+    public Integer countDevice(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+
+        QueryWrapper<SpHj2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("DISTINCT device_code")
+                .inSql("device_code", "SELECT device_code FROM yt_device_status WHERE company_code = '" + companyCode + "'");
+        List<SpHj2017> SpHj2017 = this.list(queryWrapper1);
+
+        Integer deviceCount = SpHj2017.size();
+
+        return deviceCount;
+    }
+
+}

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

@@ -1,5 +1,6 @@
 package com.usky.issue.service.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.usky.issue.domain.SpProjectConfig;
 import com.usky.issue.mapper.SpProjectConfigMapper;
 import com.usky.issue.service.SpProjectConfigService;
@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
  * @author fu
  * @since 2023-12-11
  */
+@DS("UskyOw")
 @Service
 public class SpProjectConfigServiceImpl extends AbstractCrudService<SpProjectConfigMapper, SpProjectConfig> implements SpProjectConfigService {
     @Autowired

+ 104 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpRtu2017ServiceImpl.java

@@ -0,0 +1,104 @@
+package com.usky.issue.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+
+import com.usky.common.core.exception.BusinessException;
+import com.usky.issue.domain.SpRtu2017;
+import com.usky.issue.mapper.SpRtu2017Mapper;
+import com.usky.issue.service.SpRtu2017Service;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Service
+public class SpRtu2017ServiceImpl extends AbstractCrudService<SpRtu2017Mapper, SpRtu2017> implements SpRtu2017Service {
+
+    @Override
+    public List<Map<String, Object>> statusCount(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        Integer currentPage = (Integer) requestVO.get("current");
+        Integer pageSize = (Integer) requestVO.get("size");
+        int startIndex = (currentPage - 1) * pageSize;
+        QueryWrapper<SpRtu2017> queryWrapper = Wrappers.query();
+        queryWrapper.select("DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') AS alarm_time", "data2 AS alarm_type", "data4 AS alarm_point", "device_code")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype = 6");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString) && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        queryWrapper.last("LIMIT " + pageSize + " OFFSET " + startIndex)
+                .orderByDesc("id");
+        List<Map<String, Object>> deviceStatusList = this.listMaps(queryWrapper);
+
+        return deviceStatusList;
+    }
+
+    public List<Map<String, Object>> typeList(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        QueryWrapper<SpRtu2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("COUNT(CASE WHEN clzt = 0 THEN 1 ELSE NULL END) AS untreated", "COUNT(CASE WHEN clzt = 1 THEN 1 ELSE NULL END) AS processed")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype = 6");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper1.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper1.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString) && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper1.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        List<Map<String, Object>> deviceStatusList1 = this.listMaps(queryWrapper1);
+        return deviceStatusList1;
+    }
+
+    public Integer countDevice(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+
+        QueryWrapper<SpRtu2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("DISTINCT device_code")
+                .inSql("device_code", "SELECT device_code FROM yt_device_status WHERE company_code = '" + companyCode + "'");
+        List<SpRtu2017> SpRtu2017 = this.list(queryWrapper1);
+
+        Integer deviceCount = SpRtu2017.size();
+
+        return deviceCount;
+    }
+
+}

+ 96 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/SpSj2017ServiceImpl.java

@@ -0,0 +1,96 @@
+package com.usky.issue.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.issue.domain.SpRtu2017;
+import com.usky.issue.domain.SpSj2017;
+import com.usky.issue.mapper.SpSj2017Mapper;
+import com.usky.issue.service.SpSj2017Service;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * asf 服务实现类
+ * </p>
+ *
+ * @author fu
+ * @since 2023-12-13
+ */
+@Service
+public class SpSj2017ServiceImpl extends AbstractCrudService<SpSj2017Mapper, SpSj2017> implements SpSj2017Service {
+    @Override
+    public List<Map<String, Object>> statusCount(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        Integer currentPage = (Integer) requestVO.get("current");
+        Integer pageSize = (Integer) requestVO.get("size");
+        int startIndex = (currentPage - 1) * pageSize;
+        QueryWrapper<SpSj2017> queryWrapper = Wrappers.query();
+        queryWrapper.select("DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') AS alarm_time","data1 AS alarm_type","data4 AS alarm_point " ,"device_code")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype IN (2,5)");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+
+        }else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString)  && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        queryWrapper.last("LIMIT " + pageSize + " OFFSET " + startIndex)
+                    .orderByDesc("id");
+        List<Map<String, Object>> deviceStatusList = this.listMaps(queryWrapper);
+        return deviceStatusList;
+    }
+
+    public List<Map<String, Object>> typeList(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        String startTimeString = requestVO.get("startTime").toString();
+        String endTimeString = requestVO.get("endTime").toString();
+        QueryWrapper<SpSj2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("COUNT(CASE WHEN clzt = 0 THEN 1 ELSE NULL END) AS untreated", "COUNT(CASE WHEN clzt = 1 THEN 1 ELSE NULL END) AS processed")
+                .inSql("device_code", "SELECT owner_code FROM sp_owner WHERE company = '" + companyCode + "' AND dwtype IN (2,5)");
+        if (StringUtils.isBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+
+        }else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isNotBlank(endTimeString)) {
+            // 如果同时传了 startTime 和 endTime
+            queryWrapper1.between("time", startTimeString, endTimeString);
+        } else if (StringUtils.isNotBlank(startTimeString) && StringUtils.isBlank(endTimeString)) {
+            // 如果只传了 startTime
+            queryWrapper1.between("time", startTimeString, LocalDateTime.now().toString());
+        } else if (StringUtils.isNotBlank(endTimeString)  && StringUtils.isBlank(startTimeString)) {
+            // 如果只传了 endTime
+            queryWrapper1.le("time", endTimeString);
+        } else {
+            throw new BusinessException("时间参数错误");
+        }
+        List<Map<String, Object>> deviceStatusList1 = this.listMaps(queryWrapper1);
+        return deviceStatusList1;
+    }
+    public Integer countDevice(String requestBody) {
+        JSONObject requestVO = JSONObject.parseObject(requestBody);
+        String companyCode = requestVO.get("companyCode").toString();
+        QueryWrapper<SpSj2017> queryWrapper1 = Wrappers.query();
+        queryWrapper1.select("DISTINCT device_code")
+                .inSql("device_code", "SELECT device_code FROM yt_device_status WHERE company_code = '" + companyCode + "'");
+        List<SpSj2017> SpSj2017 = this.list(queryWrapper1);
+        Integer deviceCount = SpSj2017.size();
+        return deviceCount;
+    }
+}

+ 79 - 8
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/impl/YtDeviceStatusServiceImpl.java

@@ -1,20 +1,20 @@
 package com.usky.issue.service.impl;
 
-
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.issue.domain.YtDeviceStatus;
 import com.usky.issue.mapper.YtDeviceStatusMapper;
+import com.usky.issue.service.SpHj2017Service;
+import com.usky.issue.service.SpRtu2017Service;
+import com.usky.issue.service.SpSj2017Service;
 import com.usky.issue.service.YtDeviceStatusService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.issue.service.vo.YtDeviceStatusRequestVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -30,7 +30,16 @@ import java.util.stream.Collectors;
 public class YtDeviceStatusServiceImpl extends AbstractCrudService<YtDeviceStatusMapper, YtDeviceStatus> implements YtDeviceStatusService {
     @Autowired
     private YtDeviceStatusMapper ytDeviceStatusMapper;
+    @Autowired
+    private SpRtu2017Service spRtu2017Service;
+    @Autowired
+    private SpSj2017Service spSj2017Service;
+    @Autowired
+    private SpHj2017Service spHj2017Service;
 
+    /*
+    分页查询
+    */
     @Override
     public CommonPage<YtDeviceStatus> page(YtDeviceStatusRequestVO requestVO) {
 
@@ -62,6 +71,7 @@ public class YtDeviceStatusServiceImpl extends AbstractCrudService<YtDeviceStatu
         return new CommonPage<>(records, total, pageSize, pageCurrent);
     }
 
+
     /*
     导出离线数据查询结果
      */
@@ -70,6 +80,11 @@ public class YtDeviceStatusServiceImpl extends AbstractCrudService<YtDeviceStatu
         return ytDeviceStatusMapper.exportData();
     }
 
+
+    /*
+    告警设备数量统计
+    */
+
     /*
     根据传入单位编号查询所有设备信息
     */
@@ -77,12 +92,68 @@ public class YtDeviceStatusServiceImpl extends AbstractCrudService<YtDeviceStatu
     public List<Map<String, Object>> deviceList(String requestBody) {
         JSONObject requestVO = JSONObject.parseObject(requestBody);
         String companyCode = requestVO.get("companyCode").toString();
-        QueryWrapper<YtDeviceStatus> queryWrapper = Wrappers.query();
-        queryWrapper.select("device_type AS deviceType","COUNT(*) AS deviceTypeCounts","COUNT(difference < 48 OR " +
-                        "NULL) AS onlineCount","COUNT(difference >= 48 OR NULL) AS offlineCount")
-                .eq("company_code",companyCode)
-                .groupBy("device_type");
+        QueryWrapper<YtDeviceStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("device_type AS deviceType","COUNT(*) AS deviceTypeCounts",
+                    "COUNT(difference < 48 OR NULL) AS onlineCount",
+                    "COUNT(difference >= 48 OR NULL) AS offlineCount")
+                    .eq("company_code",companyCode)
+                    .groupBy("device_type");
         List<Map<String, Object>> deviceStatusList = this.listMaps(queryWrapper);
+        if (deviceStatusList.size() == 0) {
+            throw new BusinessException("暂无设备");
+        }
+        for (Map<String, Object> type : deviceStatusList) {
+            String dwtype = String.valueOf(type.get("deviceType"));
+            type.put("deviceType", dwtype);
+            switch (dwtype) {
+                case "火系统":
+                    // 1火系统
+                    Long countHj = (spHj2017Service.countDevice(requestBody)!= null)? spHj2017Service.countDevice(requestBody) : 0L;
+                    type.put("alarmDeviceSum", countHj);
+                    break;
+                case "水系统":
+                    // 2水系统
+                    Long countSj = (spSj2017Service.countDevice(requestBody) != null) ? spSj2017Service.countDevice(requestBody) : 0L;
+                    type.put("alarmDeviceSum", countSj);
+                case "液位":
+                    // 5液位
+                    Long countSjYw = (spSj2017Service.countDevice(requestBody) != null) ? spSj2017Service.countDevice(requestBody) : 0L;
+                    type.put("alarmDeviceSum", countSjYw);
+                    break;
+                case "烟感系统":
+                    // 3烟感系统
+                    break;
+                case "消防栓":
+                    // 4消防栓
+                    break;
+                case "rtu":
+                    // 6rtu
+                    Long countRtu = (spRtu2017Service.countDevice(requestBody) != null) ? spRtu2017Service.countDevice(requestBody) : 0L;
+                    type.put("alarmDeviceSum", countRtu);
+                    break;
+                case "电气火灾":
+                    // 7电气火灾
+                    break;
+                case "防火门":
+                    // 8防火门
+                    break;
+                case "气体灭火":
+                    // 9气体灭火
+                    break;
+                case "人脸识别":
+                    // 10人脸识别
+                    break;
+                case "视频监控":
+                    // 11视频监控
+                    break;
+                case "井盖":
+                    // 128井盖
+                    break;
+                default:
+                    // 处理未知类型
+                    break;
+            }
+        }
         return deviceStatusList;
     }
 

+ 42 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpHj2017RequestVO.java

@@ -0,0 +1,42 @@
+package com.usky.issue.service.vo;
+
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @description:TODO
+ * @author: fu
+ * @create: 2023/11/23 15:58
+ */
+@Data
+public class SpHj2017RequestVO {
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 页数
+     */
+    private Integer current;
+
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 开始时间
+     */
+    private SimpleDateFormat startTime = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
+
+    /**
+     * 结束时间
+     */
+    private SimpleDateFormat endTime = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
+
+
+}
+

+ 42 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpRtu2017RequestVO.java

@@ -0,0 +1,42 @@
+package com.usky.issue.service.vo;
+
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+
+/**
+ * @description:TODO
+ * @author: fu
+ * @create: 2023/11/23 15:58
+ */
+@Data
+public class SpRtu2017RequestVO {
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 页数
+     */
+    private Integer current;
+
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 开始时间
+     */
+    private SimpleDateFormat startTime = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
+
+    /**
+     * 结束时间
+     */
+    private SimpleDateFormat endTime = new SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");
+
+
+}
+

+ 43 - 0
service-issue/service-issue-biz/src/main/java/com/usky/issue/service/vo/SpSj2017RequestVO.java

@@ -0,0 +1,43 @@
+package com.usky.issue.service.vo;
+
+import lombok.Data;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+
+/**
+ * @description:TODO
+ * @author: fu
+ * @create: 2023/11/23 15:58
+ */
+@Data
+public class SpSj2017RequestVO {
+
+    /**
+     * 单位编号
+     */
+    private String companyCode;
+
+    /**
+     * 页数
+     */
+    private Integer current;
+
+    /**
+     * 条数
+     */
+    private Integer size;
+
+    /**
+     * 开始时间
+     */
+    private LocalDateTime startTime;
+
+    /**
+     * 结束时间
+     */
+    private LocalDateTime endTime;
+
+
+}
+

+ 33 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpHj2017Mapper.xml

@@ -0,0 +1,33 @@
+<?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.SpHj2017Mapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpHj2017">
+        <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="compartment" property="compartment" />
+        <result column="fireprocess" property="fireprocess" />
+        <result column="flowendtime" property="flowendtime" />
+        <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>

+ 30 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpRtu2017Mapper.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.SpRtu2017Mapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpRtu2017">
+        <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="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="cllx" property="cllx" />
+        <result column="video" property="video" />
+    </resultMap>
+
+</mapper>

+ 30 - 0
service-issue/service-issue-biz/src/main/resources/mapper/issue/SpSj2017Mapper.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.SpSj2017Mapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.issue.domain.SpSj2017">
+        <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="cllxr" property="cllxr" />
+        <result column="clsj" property="clsj" />
+        <result column="clr" property="clr" />
+        <result column="clnr" property="clnr" />
+        <result column="clwb" property="clwb" />
+        <result column="cldh" property="cldh" />
+        <result column="clzt" property="clzt" />
+        <result column="cllx" property="cllx" />
+        <result column="video" property="video" />
+    </resultMap>
+
+</mapper>

+ 17 - 7
service-park/service-park-biz/src/main/java/com/usky/park/controller/web/DataStHistoryController.java

@@ -1,14 +1,13 @@
 package com.usky.park.controller.web;
 
 
+import com.usky.common.core.bean.ApiResult;
+import com.usky.common.core.bean.CommonPage;
 import com.usky.park.domain.DataStHistory;
-import com.usky.park.mapper.DataStHistoryMapper;
 import com.usky.park.service.DataStHistoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.List;
-
 /**
  * <p>
  * 无人驿站历史数据 前端控制器
@@ -24,14 +23,12 @@ public class DataStHistoryController {
     @Autowired
     private DataStHistoryService dataStHistoryService;
 
-    @Autowired
-    private DataStHistoryMapper dataStHistoryMapper;
-
 
     /**
      * 新增
      *
      * @param dataStHistory
+     * @param appKey
      * @return
      */
     @PostMapping("/add")
@@ -39,6 +36,19 @@ public class DataStHistoryController {
                     @RequestHeader("appKey") String appKey) {
         dataStHistoryService.add(dataStHistory, appKey);
     }
-
+    /**
+     * 分页查询
+     * @param pickupStatus
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping("/pageQuery")
+    public ApiResult<CommonPage<DataStHistory>> pageQuery(
+            @RequestParam(value = "pickupStatus", required = false, defaultValue = "-1") Integer pickupStatus,//设置默认值为-1,则查询所有包裹(未取件优先展示)
+            @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize) {
+        return ApiResult.success(dataStHistoryService.pageList(pickupStatus, pageNum, pageSize));
+    }
 }
 

+ 5 - 0
service-park/service-park-biz/src/main/java/com/usky/park/domain/DataStHistory.java

@@ -78,5 +78,10 @@ public class DataStHistory implements Serializable {
      */
     private Integer packStatus;
 
+    /**
+     * 取件状态;0:已取件,1:未取件
+     */
+    private Integer pickupStatus;
+
 
 }

+ 14 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/DataStHistoryService.java

@@ -1,7 +1,9 @@
 package com.usky.park.service;
 
+import com.usky.common.core.bean.CommonPage;
 import com.usky.park.domain.DataStHistory;
 import com.usky.common.mybatis.core.CrudService;
+import com.usky.park.domain.EventEg;
 
 /**
  * <p>
@@ -12,5 +14,17 @@ import com.usky.common.mybatis.core.CrudService;
  * @since 2023-11-29
  */
 public interface DataStHistoryService extends CrudService<DataStHistory> {
+    /**
+     * 新增包裹信息
+     *
+     * @param dataStHistory
+     * @return
+     */
     void add(DataStHistory dataStHistory,String appKey);
+    /**
+     * 分页查询包裹信息
+     *
+     * @return
+     */
+    CommonPage<DataStHistory> pageList(Integer pickupStatus, Integer pageNum, Integer pageSize);
 }

+ 42 - 0
service-park/service-park-biz/src/main/java/com/usky/park/service/impl/DataStHistoryServiceImpl.java

@@ -1,9 +1,18 @@
 package com.usky.park.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.usky.common.core.bean.CommonPage;
 import com.usky.common.core.exception.BusinessException;
 import com.usky.park.domain.DataStHistory;
+import com.usky.park.domain.EventEg;
+import com.usky.common.security.utils.SecurityUtils;
 import com.usky.park.mapper.DataStHistoryMapper;
 import com.usky.park.service.DataStHistoryService;
 import com.usky.common.mybatis.core.AbstractCrudService;
@@ -12,6 +21,7 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
 
+
 /**
  * <p>
  * 无人驿站历史数据 服务实现类
@@ -25,6 +35,11 @@ public class DataStHistoryServiceImpl extends AbstractCrudService<DataStHistoryM
     @Autowired
     private DataStHistoryMapper dataStHistoryMapper;
 
+    /**
+     * 包裹信息录入
+     * @param dataStHistory
+     * @param appKey
+     */
     @Override
     public void add(DataStHistory dataStHistory, String appKey) {
 
@@ -45,4 +60,31 @@ public class DataStHistoryServiceImpl extends AbstractCrudService<DataStHistoryM
 
         baseMapper.insert(dataStHistory);
     }
+
+    /**
+     * 分页查询包裹信息
+     *
+     * @param pickupStatus  包裹状态
+     * @param pageNum   第几页
+     * @param pageSize  页大小
+     */
+    @Override
+    public CommonPage<DataStHistory> pageList(Integer pickupStatus, Integer pageNum, Integer pageSize){
+        IPage<DataStHistory> page = new Page<>(pageNum,pageSize);
+        LambdaQueryWrapper<DataStHistory> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(DataStHistory::getReceiverPhone,SecurityUtils.getLoginUser().getSysUser().getPhonenumber());
+        if (pickupStatus != null) {
+            if (pickupStatus == 0) {
+                queryWrapper.eq(DataStHistory::getPickupStatus, 0);//代取件
+            } else if (pickupStatus == 1) {
+                queryWrapper.eq(DataStHistory::getPickupStatus, 1);//已取件
+            }
+        }
+        queryWrapper.orderByAsc(DataStHistory::getPickupStatus);//pickupStatus为空就查询所有包裹信息
+        page = this.page(page,queryWrapper);
+        if(page.getRecords().isEmpty()) {
+            throw new BusinessException("暂无包裹信息");
+        }
+        return new CommonPage<>(page.getRecords(),page.getTotal(),pageNum,pageSize);
+    }
 }