From 0a30812acaa26ebe654340f7e749a6801b63b194 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 21 十月 2022 16:32:36 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java |   21 ++++++++--
 dao/src/main/resources/mapper/AirDataNongGengMapper.xml                                   |   19 +++++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java       |   24 ++++++++++--
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java  |    2 
 dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java                         |    9 +++-
 dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java                           |    2 +
 dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java                   |    3 +
 7 files changed, 67 insertions(+), 13 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java b/dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java
index 6de3c6c..919291e 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/bo/AirDataNongGengBo.java
@@ -1,11 +1,13 @@
 package com.sandu.ximon.dao.bo;
 
 import com.sandu.ximon.dao.domain.AirDataNongGeng;
+import lombok.Data;
 
 /**
  * @author ZZQ
  * @date 2022/4/25 15:10
  */
+@Data
 public class AirDataNongGengBo extends AirDataNongGeng {
     private String poleId;
     private String PoleName;
diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java b/dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java
index bec329d..7b7a095 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/AirDataNongGeng.java
@@ -4,16 +4,18 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
 import java.io.Serializable;
 import java.time.LocalDateTime;
-import java.util.Date;
-import lombok.Data;
 
 /**
  * 鍐滆�曞ぇ姘旂洃娴嬫暟鎹�
+ *
  * @TableName air_data_nong_geng
  */
-@TableName(value ="air_data_nong_geng")
+@TableName(value = "air_data_nong_geng")
 @Data
 public class AirDataNongGeng implements Serializable {
     /**
@@ -125,6 +127,7 @@
     /**
      * 璁惧绫诲瀷
      */
+    @JsonIgnore
     private String type;
 
     /**
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java
index 7b04362..2ef39cb 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/AirDataNongGengMapper.java
@@ -15,10 +15,11 @@
  */
 @Mapper
 public interface AirDataNongGengMapper extends BaseMapper<AirDataNongGeng> {
-    List<Long> listAirId(String keyword, Long userid);
+    List<Long> listAirId(String keyword, Long userid, String type);
 
     List<AirDataNongGengBo> listAirDataByIds(List<Long> airIdList);
 
+    List<AirDataNongGengBo> historyData(String mac);
 }
 
 
diff --git a/dao/src/main/resources/mapper/AirDataNongGengMapper.xml b/dao/src/main/resources/mapper/AirDataNongGengMapper.xml
index bde6712..38a703c 100644
--- a/dao/src/main/resources/mapper/AirDataNongGengMapper.xml
+++ b/dao/src/main/resources/mapper/AirDataNongGengMapper.xml
@@ -46,6 +46,7 @@
         MAX(t1.id) AS air_id
         FROM
         air_data_nong_geng t1
+        left join air_equipment_nong_geng t4 on t4.mac = t1.mac
         <if test="keyword != null and keyword != ''">
             LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code
             AND t2.device_type = 11
@@ -55,6 +56,10 @@
             1=1
             <if test="keyword != null and keyword != ''">
                 AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                or t1.mac LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+            </if>
+            <if test="type != null">
+                AND t4.type = #{type}
             </if>
             <if test="userid != null">
                 AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
@@ -79,5 +84,19 @@
             </foreach>
         </where>
     </select>
+    <select id="historyData" resultType="com.sandu.ximon.dao.bo.AirDataNongGengBo"
+            parameterType="java.lang.String">
+        SELECT t1.*,
+               t3.id AS pole_id,
+               t3.pole_name
+        FROM air_data_nong_geng t1
+                 LEFT JOIN air_equipment_nong_geng t4 ON t4.mac = t1.mac
+                 LEFT JOIN pole_binding t2 ON t1.mac = t2.device_code
+            AND t2.device_type = 11
+                 LEFT JOIN pole t3 ON t3.id = t2.pole_id
+        WHERE t1.mac = #{mac}
+        ORDER BY t1.id DESC
+
+    </select>
 
 </mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java
index ae7c4a9..4642a8d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataNongGengController.java
@@ -6,6 +6,7 @@
  */
 
 import com.sandu.common.domain.ResponseVO;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.security.PermissionConfig;
@@ -34,7 +35,6 @@
     private final AirDataNongGengService airDataNongGengService;
 
 
-
     /**
      * 鏌ヨ澶ф皵鏁版嵁妯$硦鏌ヨ
      *
@@ -42,11 +42,24 @@
      * @return
      */
     @GetMapping("/listAirData")
-    public ResponseVO<Object> listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
+    public ResponseVO<Object> listAirDataByKeyword(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword
+            , @RequestParam(value = "type", required = false) String type) {
+        if (type == null || type.isEmpty()) {
+            throw new BusinessException("鏁版嵁绫诲瀷涓嶈兘涓虹┖");
+        }
         if (!permissionConfig.check(MenuEnum.AIR_DATA_LIST.getCode())) {
             return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
         }
-        List<AirDataNongGengBo> list = airDataNongGengService.listAirDataByKeyword(baseConditionVO, keyword);
-        return ResponseUtil.successPage(list);
+        List<AirDataNongGengBo> list = airDataNongGengService.listAirDataByKeyword(baseConditionVO, keyword, type);
+        return ResponseUtil.success(list);
+    }
+
+    @GetMapping("/historyData")
+    public ResponseVO<Object> historyData(BaseConditionVO baseConditionVO, @RequestParam(value = "mac", required = false) String mac) {
+        if (!permissionConfig.check(MenuEnum.AIR_DATA_LIST.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        List<AirDataNongGengBo> list = airDataNongGengService.historyData(baseConditionVO, mac);
+        return ResponseUtil.success(list);
     }
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java
index 182c5e0..d0bde78 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirDataNongGengService.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.collection.CollUtil;
 import com.github.pagehelper.PageHelper;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.manager.iot.frame.inner.report.A5AtmosphereNewHeartbeatReportInnerFrame;
@@ -92,17 +93,16 @@
     }
 
 
-
     /**
      * 鏌ヨ澶ф皵鏁版嵁(妯$硦鏌ヨ)
      */
-    public List<AirDataNongGengBo> listAirDataByKeyword(BaseConditionVO baseConditionVO, String keyword) {
+    public List<AirDataNongGengBo> listAirDataByKeyword(BaseConditionVO baseConditionVO, String keyword, String type) {
         PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
         List<Long> listAirId;
         if (SecurityUtils.getClientId() == null) {
-            listAirId = baseMapper.listAirId(keyword, null);
+            listAirId = baseMapper.listAirId(keyword, null, type);
         } else {
-            listAirId = baseMapper.listAirId(keyword, SecurityUtils.getUserId());
+            listAirId = baseMapper.listAirId(keyword, SecurityUtils.getUserId(), type);
         }
         if (CollUtil.isEmpty(listAirId)) {
             return CollUtil.newArrayList();
@@ -111,4 +111,20 @@
         return airDataBos;
 
     }
+
+    /**
+     * 璁惧鍘嗗彶鏁版嵁
+     *
+     * @param baseConditionVO
+     * @param mac
+     * @return
+     */
+    public List<AirDataNongGengBo> historyData(BaseConditionVO baseConditionVO, String mac) {
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        if (mac == null || mac.isEmpty()) {
+            throw new BusinessException("mac涓嶈兘涓虹┖");
+        }
+        List<AirDataNongGengBo> bos = baseMapper.historyData(mac);
+        return bos;
+    }
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
index 4d30249..44e8bb1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AirEquipmentNongGengService.java
@@ -76,7 +76,7 @@
         }
 
 
-     return airEquipmentBos;
+        return airEquipmentBos;
     }
 
     /**

--
Gitblit v1.9.3