Browse Source

支持下级查询

learshaw 6 months ago
parent
commit
cdd049082f

+ 1 - 1
ems/ems-application/ems-admin/src/main/java/com/ruoyi/web/controller/ems/MeterBoundaryRelController.java

@@ -41,7 +41,7 @@ public class MeterBoundaryRelController extends BaseController {
     @GetMapping("/listByObj")
     public AjaxResult list(@RequestParam(value = "objType") Integer objType,
         @RequestParam(value = "boundaryObj") String boundaryObj, @RequestParam(value = "meterCls") Integer meterCls) {
-        List<MeterBoundaryRel> list = relService.selectRelByObj(objType, boundaryObj, meterCls);
+        List<MeterBoundaryRel> list = relService.selectRelByObj(boundaryObj, objType, meterCls);
         return success(list);
     }
 

+ 1 - 1
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/MeterBoundaryController.java

@@ -56,7 +56,7 @@ public class MeterBoundaryController extends BaseController {
     @GetMapping("/listByObj")
     public AjaxResult list(@RequestParam(value = "objType") Integer objType,
         @RequestParam(value = "boundaryObj") String boundaryObj, @RequestParam(value = "meterCls") Integer meterCls) {
-        List<MeterBoundaryRel> list = relService.selectRelByObj(objType, boundaryObj, meterCls);
+        List<MeterBoundaryRel> list = relService.selectRelByObj(boundaryObj, objType, meterCls);
         return success(list);
     }
 

+ 1 - 4
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/MeterBoundaryRelMapper.java

@@ -12,9 +12,6 @@ import java.util.List;
  * @date 2024-12-09
  */
 public interface MeterBoundaryRelMapper {
-    List<MeterBoundaryRel> selectRel(@Param("areaCode") String areaCode, @Param("objType") Integer objType,
-        @Param("meterCls") Integer meterCls);
-
     /**
      * 查询计量设备绑定边界对象关系列表
      *
@@ -22,7 +19,7 @@ public interface MeterBoundaryRelMapper {
      * @param boundaryObj 计量对象编号
      * @return 计量设备绑定边界对象关系集合
      */
-    List<MeterBoundaryRel> selectByObj(@Param("objType") Integer objType, @Param("boundaryObj") String boundaryObj,
+    List<MeterBoundaryRel> selectByObj(@Param("boundaryObj") String boundaryObj, @Param("objType") Integer objType,
         @Param("meterCls") Integer meterCls);
 
     /**

+ 9 - 5
ems/ems-core/src/main/java/com/ruoyi/ems/model/BoundaryObj.java

@@ -13,6 +13,7 @@ package com.ruoyi.ems.model;
 import com.ruoyi.common.core.web.domain.TreeEntity;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -44,14 +45,17 @@ public class BoundaryObj {
     /**
      * 直接绑定的电表
      */
-    private Set<String> bindElecMeterDevs;
+    private Set<String> bindElecMeterDevs = new HashSet<>();
 
     /**
      * 分项关联计量电表
      */
-    private Set<String> subElecMeterDevs;
+    private Set<String> subElecMeterDevs = new HashSet<>();;
 
-    private List<?> children = new ArrayList();
+    /**
+     * 子对象集合
+     */
+    private List<BoundaryObj> children = new ArrayList<>();
 
     public int getObjType() {
         return objType;
@@ -93,11 +97,11 @@ public class BoundaryObj {
         this.subElecMeterDevs = subElecMeterDevs;
     }
 
-    public List<?> getChildren() {
+    public List<BoundaryObj> getChildren() {
         return children;
     }
 
-    public void setChildren(List<?> children) {
+    public void setChildren(List<BoundaryObj> children) {
         this.children = children;
     }
 

+ 1 - 10
ems/ems-core/src/main/java/com/ruoyi/ems/service/IMeterBoundaryRelService.java

@@ -14,21 +14,12 @@ public interface IMeterBoundaryRelService {
     /**
      * 查询计量设备绑定边界对象关系列表
      *
-     * @param areaCode 计量对象编号
-     * @param objType     计量对象类型
-     * @return 计量设备绑定边界对象关系集合
-     */
-    List<MeterBoundaryRel> selectRel(String areaCode, Integer objType, Integer meterCls);
-
-    /**
-     * 查询计量设备绑定边界对象关系列表
-     *
      * @param objType     计量对象类型
      * @param boundaryObj 计量对象编号
      * @param meterCls    计量介质
      * @return 计量设备绑定边界对象关系集合
      */
-    List<MeterBoundaryRel> selectRelByObj(Integer objType, String boundaryObj, Integer meterCls);
+    List<MeterBoundaryRel> selectRelByObj(String boundaryObj, Integer objType, Integer meterCls);
 
     /**
      * 删除计量设备绑定边界对象关系信息

+ 1 - 1
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/BoundaryObjServiceImpl.java

@@ -66,7 +66,7 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
 
         try {
             // 查询电表绑定关系
-            List<MeterBoundaryRel> relList = boundaryRelService.selectRel(areaCode, MeterObjType.METER_AREA.getType(),
+            List<MeterBoundaryRel> relList = boundaryRelService.selectRelByObj(null, MeterObjType.METER_AREA.getType(),
                 45);
             Map<String, Set<MeterBoundaryRel>> relMap = relList.stream()
                 .collect(Collectors.groupingBy(MeterBoundaryRel::getBoundaryObj, Collectors.toSet()));

+ 2 - 7
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/MeterBoundaryRelServiceImpl.java

@@ -20,13 +20,8 @@ public class MeterBoundaryRelServiceImpl implements IMeterBoundaryRelService {
     private MeterBoundaryRelMapper relMapper;
 
     @Override
-    public List<MeterBoundaryRel> selectRel(String areaCode, Integer objType, Integer meterCls) {
-        return relMapper.selectRel(areaCode, objType, meterCls);
-    }
-
-    @Override
-    public List<MeterBoundaryRel> selectRelByObj(Integer objType, String boundaryObj, Integer meterCls) {
-        return relMapper.selectByObj(objType, boundaryObj, meterCls);
+    public List<MeterBoundaryRel> selectRelByObj(String boundaryObj, Integer objType, Integer meterCls) {
+        return relMapper.selectByObj(boundaryObj, objType, meterCls);
     }
 
     @Override

+ 1 - 11
ems/ems-core/src/main/resources/mapper/ems/MeterBoundaryRelMapper.xml

@@ -19,22 +19,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         from adm_meter_boundary_rel r
     </sql>
 
-    <select id="selectRel"  resultMap="relResult">
-        <include refid="selectMeterBoundaryRelVo"/>
-        left join adm_meter_device m on r.meter_device = m.device_code
-        <where>
-            <if test="areaCode != null  and areaCode != ''"> and m.area_code = #{areaCode}</if>
-            <if test="objType != null "> and r.obj_type = #{objType}</if>
-            <if test="meterCls != null "> and r.meter_cls = #{meterCls}</if>
-        </where>
-    </select>
-
     <select id="selectByObj"  resultMap="relResult">
         <include refid="selectMeterBoundaryRelVo"/>
         left join adm_meter_device m on r.meter_device = m.device_code
         <where>
-            <if test="objType != null "> and r.obj_type = #{objType}</if>
             <if test="boundaryObj != null  and boundaryObj != ''"> and r.boundary_obj = #{boundaryObj}</if>
+            <if test="objType != null "> and r.obj_type = #{objType}</if>
             <if test="meterCls != null "> and r.meter_cls = #{meterCls}</if>
         </where>
     </select>

+ 1 - 1
ems/sql/ems_sys_data.sql

@@ -129,7 +129,7 @@ insert into sys_menu values ('1622',  '能流关系',   '162', '3',  'basecfg-fl
 insert into sys_menu values ('1623',  '能源设施',   '162', '4',  'basecfg-facscfg',        'basecfg/emsfacs/index',      '', 1, 0, 'C', '0', '0',   'basecfg:emsfacs:list',          'cfgwrite',   'admin', sysdate(), '', null, '设施配置');
 insert into sys_menu values ('1624',  '能源设备',   '162', '5',  'basecfg-devccfg',        'basecfg/device/index',       '', 1, 0, 'C', '0', '0',   'basecfg:device:list',           'cfgwrite',   'admin', sysdate(), '', null, '设备配置');
 insert into sys_menu values ('1630',  '计量设备',   '163', '1',  'basecfg-meterdevc',      'basecfg/meterdevc/index',    '', 1, 0, 'C', '0', '0',   'ems:meterdevc:list',            'cfgwrite',   'admin', sysdate(), '', null, '计量设备');
-insert into sys_menu values ('1631',  '边界划分',   '163', '2',  'basecfg-boundaryRel',    'basecfg/boundaryRel/index',  '', 1, 0, 'C', '0', '0',   'ems:meterBoundary:list',     'cfgwrite',   'admin', sysdate(), '', null, '边界划分');
+insert into sys_menu values ('1631',  '计量绑定',   '163', '2',  'basecfg-boundaryRel',    'basecfg/boundaryRel/index',  '', 1, 0, 'C', '0', '0',   'ems:meterBoundary:list',     'cfgwrite',   'admin', sysdate(), '', null, '边界划分');
 insert into sys_menu values ('1632',  '价格策略',   '163', '3',  'basecfg-electricity',    'basecfg/price/index',        '', 1, 0, 'C', '0', '0',   'basecfg:price:list',            'cfgwrite',   'admin', sysdate(), '', null, '价格策略');
 insert into sys_menu values ('1633',  '碳排因子',   '163', '4',  'basecfg-cacfg',          'basecfg/cacfg/index',        '', 1, 0, 'C', '0', '0',   'basecfg:cacfg:list',            'cfgwrite',   'admin', sysdate(), '', null, '碳排因子');
 insert into sys_menu values ('1634',  '折煤系数',   '163', '5',  'basecfg-dsccfg',         'basecfg/dsccfg/index',       '', 1, 0, 'C', '0', '0',   'basecfg:dsccfg:list',           'cfgwrite',   'admin', sysdate(), '', null, '折煤系数');