From 10a094864f75928f853e1ebb0311b0a20b858901 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 30 五月 2025 10:12:55 +0800
Subject: [PATCH] 设备信息统计

---
 src/main/java/com/whyc/service/BattInfService.java         |   14 +++++++
 src/main/java/com/whyc/service/BatttestdataInfService.java |    1 
 src/main/resources/mapper/PowerInfMapper.xml               |    3 +
 src/main/java/com/whyc/pojo/db_station/PowerInf.java       |    4 +
 src/main/java/com/whyc/controller/StatisticController.java |   17 ++++++--
 src/main/java/com/whyc/pojo/db_station/BattInf.java        |   17 ++++++++
 src/main/java/com/whyc/mapper/BattInfMapper.java           |    6 ++
 src/main/resources/mapper/BattInfMapper.xml                |   35 +++++++++++++++++
 8 files changed, 90 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/whyc/controller/StatisticController.java b/src/main/java/com/whyc/controller/StatisticController.java
index 0c34b6e..96807a8 100644
--- a/src/main/java/com/whyc/controller/StatisticController.java
+++ b/src/main/java/com/whyc/controller/StatisticController.java
@@ -5,10 +5,7 @@
 import com.whyc.dto.Statistic.DeviceStateStic;
 import com.whyc.dto.Statistic.StationStic;
 import com.whyc.pojo.db_user.User;
-import com.whyc.service.BatttestdataInfService;
-import com.whyc.service.DeviceStateService;
-import com.whyc.service.PowerInfService;
-import com.whyc.service.StationInfService;
+import com.whyc.service.*;
 import com.whyc.util.ActionUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -27,6 +24,8 @@
 
     @Autowired
     private BatttestdataInfService battTinfService;
+    @Autowired
+    private BattInfService battService;
 
     @Autowired
     private PowerInfService powerInfService;
@@ -42,6 +41,16 @@
         return powerInfService.getPowerStatistic(stic);
     }
 
+    @ApiOperation(value = "璁惧淇℃伅缁熻")
+    @PostMapping("getDevStatistic")
+    public Response getDevStatistic(@RequestBody StationStic stic){
+        User uinf= ActionUtil.getUser();
+        stic.setUid(uinf.getId());
+        return battService.getDevStatistic(stic);
+    }
+
+
+
     @ApiOperation(value = "绔欑偣淇℃伅缁熻")
     @PostMapping("getStationStatistic")
     public Response getStationStatistic(@RequestBody StationStic stic){
diff --git a/src/main/java/com/whyc/mapper/BattInfMapper.java b/src/main/java/com/whyc/mapper/BattInfMapper.java
index f38de0f..3dee2b6 100644
--- a/src/main/java/com/whyc/mapper/BattInfMapper.java
+++ b/src/main/java/com/whyc/mapper/BattInfMapper.java
@@ -2,6 +2,7 @@
 
 import com.whyc.dto.BattDto;
 import com.whyc.dto.InfoDto;
+import com.whyc.dto.Statistic.StationStic;
 import com.whyc.pojo.db_station.BattInf;
 import org.apache.ibatis.annotations.Param;
 
@@ -30,5 +31,8 @@
 
     //鑾峰彇鏍囩О鍐呴樆(涓嬫媺)
     List<Float> getMonResByUid(@Param("uid") Integer uid);
-
+    //璁惧淇℃伅缁熻
+    List<BattInf> getDevStatistic(@Param("stic") StationStic stic);
+    //鑾峰彇璁惧涓嬬數姹犵粍涓暟
+    Integer getBattCountBydevId(Integer devId);
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/pojo/db_station/BattInf.java b/src/main/java/com/whyc/pojo/db_station/BattInf.java
index d607baf..bf67809 100644
--- a/src/main/java/com/whyc/pojo/db_station/BattInf.java
+++ b/src/main/java/com/whyc/pojo/db_station/BattInf.java
@@ -94,5 +94,22 @@
     @ApiModelProperty(value = "0:璁惧涓嬫柊寤虹數姹犵粍锛�1鏂板缓涓�涓澶囦竴涓數姹犵粍")
     private Integer addBinfFlag;
 
+    @TableField(exist = false)
+    private String provice;
 
+    @TableField(exist = false)
+    private String city;
+
+    @TableField(exist = false)
+    private String country;
+
+    @TableField(exist = false)
+    private String fullName;
+
+    @TableField(exist = false)
+    private String stationType;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "璁惧涓嬬數姹犵粍涓暟")
+    private Integer battCount;
 }
diff --git a/src/main/java/com/whyc/pojo/db_station/PowerInf.java b/src/main/java/com/whyc/pojo/db_station/PowerInf.java
index 13a7652..82389dd 100644
--- a/src/main/java/com/whyc/pojo/db_station/PowerInf.java
+++ b/src/main/java/com/whyc/pojo/db_station/PowerInf.java
@@ -72,12 +72,14 @@
     @TableField(exist = false)
     private String city;
 
-
     @TableField(exist = false)
     private String country;
 
     @TableField(exist = false)
     private String fullName;
 
+    @TableField(exist = false)
+    private String stationType;
+
 
 }
diff --git a/src/main/java/com/whyc/service/BattInfService.java b/src/main/java/com/whyc/service/BattInfService.java
index 975e334..39e2fa9 100644
--- a/src/main/java/com/whyc/service/BattInfService.java
+++ b/src/main/java/com/whyc/service/BattInfService.java
@@ -8,6 +8,7 @@
 import com.whyc.dto.InfoDto;
 import com.whyc.dto.Real.QuarterDto;
 import com.whyc.dto.Response;
+import com.whyc.dto.Statistic.StationStic;
 import com.whyc.factory.InfoFactory;
 import com.whyc.mapper.BattInfMapper;
 import com.whyc.mapper.PowerInfMapper;
@@ -403,4 +404,17 @@
         }
         return list;
     }
+
+    //璁惧淇℃伅缁熻
+    public Response getDevStatistic(StationStic stic) {
+        PageHelper.startPage(stic.getPageNum(),stic.getPageSize());
+        List<BattInf> list=mapper.getDevStatistic(stic);
+        for (BattInf binf:list) {
+            //鑾峰彇璁惧涓嬬數姹犵粍涓暟
+            int battCount=mapper.getBattCountBydevId(binf.getDevId());
+            binf.setBattCount(battCount);
+        }
+        PageInfo<BattInf> pageInfo=new PageInfo<>(list);
+        return new Response().setII(1,list.size()>0,pageInfo,"璁惧淇℃伅缁熻");
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index 0f26dd6..84e0ab1 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -5,6 +5,7 @@
 import com.github.pagehelper.PageInfo;
 import com.whyc.dto.Response;
 import com.whyc.dto.Statistic.BattTinfStic;
+import com.whyc.dto.Statistic.StationStic;
 import com.whyc.factory.BattCapFactory;
 import com.whyc.mapper.BattInfMapper;
 import com.whyc.mapper.BatttestdataInfMapper;
diff --git a/src/main/resources/mapper/BattInfMapper.xml b/src/main/resources/mapper/BattInfMapper.xml
index e660dc9..97dae1d 100644
--- a/src/main/resources/mapper/BattInfMapper.xml
+++ b/src/main/resources/mapper/BattInfMapper.xml
@@ -110,5 +110,40 @@
             </if>
         </where>
     </select>
+    <select id="getDevStatistic" resultType="com.whyc.pojo.db_station.BattInf">
+        select distinct tb_batt_inf.dev_id,tb_batt_inf.dev_name,tb_batt_inf.dev_type,tb_batt_inf.dev_num,tb_batt_inf.dev_ip
+        ,tb_batt_inf.station_id,tb_batt_inf.power_id
+        ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name
+        from db_station.tb_batt_inf,db_station.tb_station_inf
+        <where>
+            tb_batt_inf.station_id=tb_station_inf.station_id
+            <if test="stic.provice!=null">
+                and tb_station_inf.provice=#{stic.provice}
+            </if>
+            <if test="stic.city!=null">
+                and tb_station_inf.city=#{stic.city}
+            </if>
+            <if test="stic.country!=null">
+                and tb_station_inf.country=#{stic.country}
+            </if>
+            <if test="stic.stationName!=null">
+                and tb_station_inf.station_name=#{stic.stationName}
+            </if>
+            <if test="stic.uid>100">
+                and tb_batt_inf.station_id in(
+                select distinct station_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr
+                where   tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id
+                and tb_baojigroup_usr.uid=#{stic.uid}
+                )
+            </if>
+            order by tb_batt_inf.dev_id asc
+        </where>
+    </select>
+    <select id="getBattCountBydevId" resultType="java.lang.Integer">
+        select ifnull(count(*),0)  from db_station.tb_batt_inf
+        <where>
+            dev_id=#{devId}
+        </where>
+    </select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/PowerInfMapper.xml b/src/main/resources/mapper/PowerInfMapper.xml
index b811797..cadaa69 100644
--- a/src/main/resources/mapper/PowerInfMapper.xml
+++ b/src/main/resources/mapper/PowerInfMapper.xml
@@ -78,7 +78,8 @@
         </where>
     </select>
     <select id="getPowerStatistic" resultType="com.whyc.pojo.db_station.PowerInf">
-        select distinct tb_power_inf.*,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name
+        select distinct tb_power_inf.*
+        ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name
         from db_station.tb_power_inf,db_station.tb_station_inf
         <where>
             tb_power_inf.station_id=tb_station_inf.station_id

--
Gitblit v1.9.1