From 32bc309a7c2af7405d5e45907b705b7f9168f63b Mon Sep 17 00:00:00 2001
From: VVT789 <sdxt_0802@163.com>
Date: 星期三, 12 二月 2025 11:12:31 +0800
Subject: [PATCH] 根据节点id查询电表信息

---
 zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java         |   10 +++++
 zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java              |    8 ++++
 zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java |   11 +++++
 zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java |   19 +++++++++
 zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml                     |   22 +++++++---
 5 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
index b20411c..337f918 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
@@ -5,6 +5,7 @@
 import com.zhitan.common.core.controller.BaseController;
 import com.zhitan.common.core.domain.AjaxResult;
 import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO;
+import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO;
 import com.zhitan.energyMonitor.service.IElectricLoadService;
 import com.zhitan.model.domain.EnergyIndex;
 import com.zhitan.model.service.IEnergyIndexService;
@@ -16,6 +17,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
 
 /**
  * @Description: 璐熻嵎鍒嗘瀽
@@ -54,4 +57,12 @@
         return AjaxResult.success(vo);
     }
 
+    @Log(title = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�")
+    @ApiOperation(value = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�", notes = "鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�")
+    @GetMapping(value = "/listElectricMeter")
+    public AjaxResult listElectricMeter(@RequestParam(name = "nodeId") String nodeId) {
+        List<ListElectricityMeterVO> vo = electricLoadService.listElectricMeter(nodeId);
+        return AjaxResult.success(vo);
+    }
+
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java b/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java
index b744816..ae25bae 100644
--- a/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java
+++ b/zhitan-system/src/main/java/com/zhitan/basicdata/mapper/MeterImplementMapper.java
@@ -88,4 +88,12 @@
     MeterImplement selectByNodeIdIndexId(@Param("nodeId") String nodeId, @Param("indexId") String indexId);
 
     List<MeterImplement> listMeterImplByInstallLocation(@Param("installactionLocation") String installactionLocation);
+
+    /**
+     * 鏍规嵁鑺傜偣id鏌ヨ璁¢噺鍣ㄥ叿淇℃伅
+     *
+     * @param nodeId
+     * @return
+     */
+    List<MeterImplement> selectByNodeId(@Param("nodeId") String nodeId);
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java
index f3c4448..86fcd2c 100644
--- a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java
@@ -1,7 +1,10 @@
 package com.zhitan.energyMonitor.service;
 
 import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO;
+import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO;
 import com.zhitan.model.domain.EnergyIndex;
+
+import java.util.List;
 
 /**
  * @Description:
@@ -15,4 +18,11 @@
      * 鑾峰彇璐熻嵎鍒嗘瀽鏁版嵁
      */
     ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex);
+
+    /**
+     * 鑾峰彇鑺傜偣涓嬫墍鏈夌數琛�
+     * @param nodeId
+     * @return
+     */
+    List<ListElectricityMeterVO> listElectricMeter(String nodeId);
 }
diff --git a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java
index a01fd03..2d2e3b5 100644
--- a/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java
@@ -14,7 +14,9 @@
 import com.zhitan.energyMonitor.domain.vo.ListElectricLoadDetail;
 import com.zhitan.energyMonitor.domain.vo.ListElectricLoadItem;
 import com.zhitan.energyMonitor.domain.vo.ListElectricLoadVO;
+import com.zhitan.energyMonitor.domain.vo.ListElectricityMeterVO;
 import com.zhitan.energyMonitor.service.IElectricLoadService;
+import com.zhitan.knowledgeBase.domain.enums.EnergyTypeEnum;
 import com.zhitan.model.domain.EnergyIndex;
 import com.zhitan.realtimedata.domain.TagValue;
 import com.zhitan.realtimedata.service.RealtimeDatabaseService;
@@ -28,6 +30,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description: sensor_alarm_item
@@ -255,4 +258,20 @@
     }
 
 
+    /**
+     * 鑾峰彇鐢佃〃鍒楄〃
+     */
+    @Override
+    public List<ListElectricityMeterVO> listElectricMeter(String nodeId) {
+        List<MeterImplement> meterImplements = meterImplementMapper.selectByNodeId(nodeId);
+        meterImplements = meterImplements.stream().filter(x -> "electric".equals(x.getEnergyType())).collect(Collectors.toList());
+        List<ListElectricityMeterVO> list = new ArrayList<>();
+        for (MeterImplement meterImplement : meterImplements) {
+            ListElectricityMeterVO vo = new ListElectricityMeterVO();
+            vo.setCode(meterImplement.getId());
+            vo.setLabel(meterImplement.getMeterName());
+            list.add(vo);
+        }
+        return list;
+    }
 }
diff --git a/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml b/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml
index 9635b86..da977d8 100644
--- a/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml
+++ b/zhitan-system/src/main/resources/mapper/basicdata/MeterImplementMapper.xml
@@ -4,7 +4,7 @@
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.zhitan.basicdata.mapper.MeterImplementMapper">
 
-    <resultMap type="MeterImplement" id="MeterImplementResult">
+    <resultMap type="com.zhitan.basicdata.domain.MeterImplement" id="MeterImplementResult">
         <result property="id"    column="id"    />
         <result property="code"    column="code"    />
         <result property="meterName"    column="meter_name"    />
@@ -31,7 +31,7 @@
         <result property="gatewayId"    column="gateway_id"    />
         <result property="gatewayName"    column="gateway_name"    />
     </resultMap>
-    <resultMap type="MeterImplementExcel" id="MeterImplementResultExcel">
+    <resultMap type="com.zhitan.basicdata.domain.MeterImplementExcel" id="MeterImplementResultExcel">
         <result property="id"    column="id"    />
         <result property="code"    column="code"    />
         <result property="meterName"    column="meter_name"    />
@@ -59,7 +59,7 @@
         select id,energy_type, code, meter_name, meter_type, model_number, measure_range, manufacturer, person_charge, installaction_location, start_time, check_cycle, reminder_cycle, meter_status, del_flage, remark, putrun_time,create_time, create_by, update_time, update_by,(start_time+check_cycle-reminder_cycle)&lt;=current_date as txflage,wire_diameter,max_allowable_power,gateway_id,gateway_name from meter_implement
     </sql>
 
-    <select id="selectMeterImplementList" parameterType="MeterImplement" resultMap="MeterImplementResult">
+    <select id="selectMeterImplementList" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResult">
         <include refid="selectMeterImplementVo"/>
         <where>
             del_flage='N'
@@ -73,7 +73,7 @@
         order by code
     </select>
 
-    <select id="exectMeterImplementList" parameterType="MeterImplement" resultMap="MeterImplementResultExcel">
+    <select id="exectMeterImplementList" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResultExcel">
         select id,energy_type, code, meter_name, fun_getDiceData('sys_device_type',meter_status) as meter_type, model_number, measure_range, manufacturer,
         person_charge, installaction_location, to_char(start_time,'YYYY-MM-DD') start_time, check_cycle, reminder_cycle, fun_getDiceData('meter_status',meter_status) as meter_status,
         del_flage, remark, create_time, create_by, update_time, update_by,wire_diameter,max_allowable_power,gateway_name
@@ -95,7 +95,7 @@
         where id = #{id}
     </select>
 
-    <select id="selectMeterImplementByCode" parameterType="MeterImplement" resultMap="MeterImplementResult">
+    <select id="selectMeterImplementByCode" parameterType="com.zhitan.basicdata.domain.MeterImplement" resultMap="MeterImplementResult">
         <include refid="selectMeterImplementVo"/>
         where code = #{code}
         <if test="id != null  and id != ''"> and id != #{id} or id is null</if>
@@ -133,8 +133,16 @@
             installaction_location = #{installactionLocation}
         </where>
     </select>
+    <select id="selectByNodeId" resultType="com.zhitan.basicdata.domain.MeterImplement">
+        <include refid="selectMeterImplementVo"/>
+        mi
+        left join node_device nd on mi.id = nd.device_id
+        where
+            mi.del_flage = 'N'
+            AND nd.node_id = #{nodeId}
+    </select>
 
-    <insert id="insertMeterImplement" parameterType="MeterImplement">
+    <insert id="insertMeterImplement" parameterType="com.zhitan.basicdata.domain.MeterImplement">
         insert into meter_implement
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null  and id != ''">id,</if>
@@ -192,7 +200,7 @@
          </trim>
     </insert>
 
-    <update id="updateMeterImplement" parameterType="MeterImplement">
+    <update id="updateMeterImplement" parameterType="com.zhitan.basicdata.domain.MeterImplement">
         update meter_implement
         <trim prefix="SET" suffixOverrides=",">
             <if test="code != null  and code != ''">code = #{code},</if>

--
Gitblit v1.9.3