Browse Source

Merge remote-tracking branch 'origin/master'

chen.cheng 5 months ago
parent
commit
b18b0053ab

+ 2 - 2
ems/ems-application/ems-admin/src/main/java/com/ruoyi/web/controller/ems/ElecMeterHController.java

@@ -44,7 +44,7 @@ public class ElecMeterHController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo list(QueryMeter queryMeter) {
         startPage();
-        List<ElecMeterH> list = elecMeterHService.selectElecMeterHList(queryMeter);
+        List<ElecMeterH> list = elecMeterHService.selectByMeterDev(queryMeter);
         return getDataTable(list);
     }
 
@@ -55,7 +55,7 @@ public class ElecMeterHController extends BaseController {
     @Log(title = "用电计量-小时", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, QueryMeter queryMeter) {
-        List<ElecMeterH> list = elecMeterHService.selectElecMeterHList(queryMeter);
+        List<ElecMeterH> list = elecMeterHService.selectByMeterDev(queryMeter);
         ExcelUtil<ElecMeterH> util = new ExcelUtil<ElecMeterH>(ElecMeterH.class);
         util.exportExcel(response, list, "用电计量-小时数据");
     }

+ 4 - 4
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/ElecMeterHController.java

@@ -49,7 +49,7 @@ public class ElecMeterHController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo list(QueryMeter queryMeter) {
         startPage();
-        List<ElecMeterH> list = elecMeterHService.selectElecMeterHList(queryMeter);
+        List<ElecMeterH> list = elecMeterHService.selectByMeterDev(queryMeter);
         return getDataTable(list);
     }
 
@@ -60,7 +60,7 @@ public class ElecMeterHController extends BaseController {
      */
     @GetMapping("/hour/listFacsMeterTotal")
     public AjaxResult listFacsMeterTotal(QueryMeter queryMeter) {
-        List<ElecMeter> list = boundaryObjService.getMeterStatisticsByFacs(queryMeter);
+        List<ElecMeter> list = boundaryObjService.getMeterStaByFacsCategory(queryMeter);
         return success(list);
     }
 
@@ -72,7 +72,7 @@ public class ElecMeterHController extends BaseController {
     @GetMapping("/hour/listFacsMeter")
     public TableDataInfo listFacsMeter(QueryMeter queryMeter) {
         startPage();
-        List<ElecMeterH> list = boundaryObjService.getMeterByFacs(queryMeter);
+        List<ElecMeterH> list = boundaryObjService.getMeterByFacsCategory(queryMeter);
         return getDataTable(list);
     }
 
@@ -83,7 +83,7 @@ public class ElecMeterHController extends BaseController {
     @Log(title = "用电计量-小时", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, QueryMeter queryMeter) {
-        List<ElecMeterH> list = elecMeterHService.selectElecMeterHList(queryMeter);
+        List<ElecMeterH> list = elecMeterHService.selectByMeterDev(queryMeter);
         ExcelUtil<ElecMeterH> util = new ExcelUtil<ElecMeterH>(ElecMeterH.class);
         util.exportExcel(response, list, "用电计量-小时数据");
     }

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

@@ -40,7 +40,7 @@ public class MeterBoundaryController extends BaseController {
     private IBoundaryObjService boundaryObjService;
 
     /**
-     * 查询计量设备绑定边界对象关系列表
+     * 查询区域-边界对象-绑定设备拓扑
      */
     @RequiresPermissions("ems:meterBoundary:list")
     @GetMapping("/getBoundaryTreeByArea")

+ 3 - 3
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/ElecMeterHMapper.java

@@ -20,7 +20,7 @@ public interface ElecMeterHMapper {
      * @param queryMeter 查询计量条件
      * @return 用电计量-小时集合
      */
-    List<ElecMeterH> selectElecMeterHList(QueryMeter queryMeter);
+    List<ElecMeterH> selectElecMeterByDev(QueryMeter queryMeter);
 
     /**
      * 查询用电计量-小时列表
@@ -28,7 +28,7 @@ public interface ElecMeterHMapper {
      * @param queryMeter 查询计量条件
      * @return 用电计量-小时集合
      */
-    ElecMeter selectElecMeterSumByDev(QueryMeter queryMeter);
+    List<ElecMeterH> selectElecMeterByDevs(QueryMeter queryMeter);
 
     /**
      * 查询用电计量-小时列表
@@ -36,7 +36,7 @@ public interface ElecMeterHMapper {
      * @param queryMeter 查询计量条件
      * @return 用电计量-小时集合
      */
-    List<ElecMeterH> selectElecMeterByDev(QueryMeter queryMeter);
+    ElecMeter selectElecMeterSumByDev(QueryMeter queryMeter);
 
     /**
      * 新增用电计量-小时

+ 2 - 1
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/EmsFacsMapper.java

@@ -40,11 +40,12 @@ public interface EmsFacsMapper {
     /**
      * 根据类别查询设施下的仪表
      *
+     * @param areaCode    区域
      * @param category    设施类别
      * @param subCategory 设施子类别
      * @return
      */
-    List<BoundaryObj> selectFacsWithMeter(@Param("category") String category,
+    List<BoundaryObj> selectFacsWithMeter(@Param("areaCode") String areaCode, @Param("category") String category,
         @Param("subCategory") String subCategory);
 
     /**

+ 20 - 4
ems/ems-core/src/main/java/com/ruoyi/ems/service/IBoundaryObjService.java

@@ -28,7 +28,7 @@ import java.util.List;
  */
 public interface IBoundaryObjService {
     /**
-     * 根据区域编码、对象类型和对象代码获取边界对象
+     * 区域-边界对象-绑定设备拓扑
      *
      * @param areaCode 区域编码
      * @return 边界对象
@@ -36,12 +36,28 @@ public interface IBoundaryObjService {
     BoundaryObj getBoundaryByArea(String areaCode);
 
     /**
-     * 查询用电计量统计-根据边界对象
+     * 查询用电计量统计-根据边界设施分类
      *
      * @param queryMeter 查询条件
      * @return 用电计量统计结果
      */
-    List<ElecMeter> getMeterStatisticsByFacs(QueryMeter queryMeter);
+    List<ElecMeter> getMeterStaByFacsCategory(QueryMeter queryMeter);
+
+    /**
+     * 查询用电计量列表-根据设施分类
+     *
+     * @param queryMeter 查询条件
+     * @return 用电计量结果
+     */
+    List<ElecMeterH> getMeterByFacsCategory(QueryMeter queryMeter);
+
+    /**
+     * 查询用电计量-根据边界设施分类
+     *
+     * @param queryMeter 查询条件
+     * @return 用电计量统计结果
+     */
+    List<ElecMeter> getMeterStaByBoundaryObj(QueryMeter queryMeter);
 
     /**
      * 查询用电计量-根据边界对象
@@ -49,5 +65,5 @@ public interface IBoundaryObjService {
      * @param queryMeter 查询条件
      * @return 用电计量结果
      */
-    List<ElecMeterH> getMeterByFacs(QueryMeter queryMeter);
+    List<ElecMeterH> getMeterByBoundaryObj(QueryMeter queryMeter);
 }

+ 5 - 5
ems/ems-core/src/main/java/com/ruoyi/ems/service/IElecMeterHService.java

@@ -19,23 +19,23 @@ public interface IElecMeterHService {
      * @param queryMeter 用电计量-小时
      * @return 用电计量-小时集合
      */
-    List<ElecMeterH> selectElecMeterHList(QueryMeter queryMeter);
+    List<ElecMeterH> selectByMeterDev(QueryMeter queryMeter);
 
     /**
      * 统计用电计量-根据边界对象
      *
      * @param queryMeter 查询条件
-     * @return
+     * @return 用电计量-小时集合
      */
-    ElecMeter staByMeterDev(QueryMeter queryMeter);
+    List<ElecMeterH> selectByMeterDevs(QueryMeter queryMeter);
 
     /**
      * 统计用电计量-根据边界对象
      *
      * @param queryMeter 查询条件
-     * @return 用电计量-小时集合
+     * @return
      */
-    List<ElecMeterH> selectByMeterDev(QueryMeter queryMeter);
+    ElecMeter staByMeterDev(QueryMeter queryMeter);
 
     /**
      * 新增用电计量-小时

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

@@ -53,7 +53,7 @@ public interface IEmsFacsService {
      * @param subCategory 设施子类别
      * @return 绑定计量设备列表
      */
-    List<BoundaryObj> getFacsWithMeterDev(String category, String subCategory);
+    List<BoundaryObj> getFacsWithMeterDev(String areaCode, String category, String subCategory);
 
     /**
      * 新增能源设施/系统

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

@@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -113,10 +114,10 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
      * @return 返回电表信息列表,如果未找到符合条件的数据,则返回空列表
      */
     @Override
-    public List<ElecMeter> getMeterStatisticsByFacs(QueryMeter queryMeter) {
+    public List<ElecMeter> getMeterStaByFacsCategory(QueryMeter queryMeter) {
         List<ElecMeter> result = new ArrayList<>();
-        List<BoundaryObj> bObjs = emsFacsService.getFacsWithMeterDev(queryMeter.getFacsCategory(),
-            queryMeter.getFacsSubCategory());
+        List<BoundaryObj> bObjs = emsFacsService.getFacsWithMeterDev(queryMeter.getAreaCode(),
+            queryMeter.getFacsCategory(), queryMeter.getFacsSubCategory());
 
         if (CollectionUtils.isNotEmpty(bObjs)) {
             for (BoundaryObj bObj : bObjs) {
@@ -143,10 +144,10 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
     }
 
     @Override
-    public List<ElecMeterH> getMeterByFacs(QueryMeter queryMeter) {
+    public List<ElecMeterH> getMeterByFacsCategory(QueryMeter queryMeter) {
         List<ElecMeterH> result = new ArrayList<>();
-        List<BoundaryObj> bObjs = emsFacsService.getFacsWithMeterDev(queryMeter.getFacsCategory(),
-            queryMeter.getFacsSubCategory());
+        List<BoundaryObj> bObjs = emsFacsService.getFacsWithMeterDev(queryMeter.getAreaCode(),
+            queryMeter.getFacsCategory(), queryMeter.getFacsSubCategory());
 
         if (CollectionUtils.isNotEmpty(bObjs)) {
             Set<String> devCodes = new HashSet<>();
@@ -180,12 +181,22 @@ public class BoundaryObjServiceImpl implements IBoundaryObjService {
             condition.setEndRecTime(queryMeter.getEndRecTime());
             condition.setDeviceCodes(devCodes);
 
-            result = elecMeterHService.selectByMeterDev(condition);
+            result = elecMeterHService.selectByMeterDevs(condition);
         }
 
         return result;
     }
 
+    @Override
+    public List<ElecMeter> getMeterStaByBoundaryObj(QueryMeter queryMeter) {
+        return Collections.emptyList();
+    }
+
+    @Override
+    public List<ElecMeterH> getMeterByBoundaryObj(QueryMeter queryMeter) {
+        return Collections.emptyList();
+    }
+
     private ElecMeter getElecMeter(QueryMeter queryMeter, BoundaryObj bObj) {
         QueryMeter condition = new QueryMeter();
         condition.setAreaCode(queryMeter.getAreaCode());

+ 14 - 8
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/ElecMeterHServiceImpl.java

@@ -22,14 +22,25 @@ public class ElecMeterHServiceImpl implements IElecMeterHService {
     private ElecMeterHMapper elecMeterHMapper;
 
     /**
-     * 查询用电计量-小时列表
+     * 根据电表/断路器查询用电计量-小时列表
      *
      * @param queryMeter 用电计量-小时
      * @return 用电计量-小时
      */
     @Override
-    public List<ElecMeterH> selectElecMeterHList(QueryMeter queryMeter) {
-        return elecMeterHMapper.selectElecMeterHList(queryMeter);
+    public List<ElecMeterH> selectByMeterDev(QueryMeter queryMeter) {
+        return elecMeterHMapper.selectElecMeterByDev(queryMeter);
+    }
+
+    /**
+     * 根据多个电表/断路器合并查询用电计量-小时列表
+     *
+     * @param queryMeter 用电计量-小时
+     * @return 用电计量-小时
+     */
+    @Override
+    public List<ElecMeterH> selectByMeterDevs(QueryMeter queryMeter) {
+        return elecMeterHMapper.selectElecMeterByDevs(queryMeter);
     }
 
     /**
@@ -43,11 +54,6 @@ public class ElecMeterHServiceImpl implements IElecMeterHService {
         return elecMeterHMapper.selectElecMeterSumByDev(queryMeter);
     }
 
-    @Override
-    public List<ElecMeterH> selectByMeterDev(QueryMeter queryMeter) {
-        return elecMeterHMapper.selectElecMeterByDev(queryMeter);
-    }
-
     /**
      * 新增用电计量-小时
      *

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

@@ -163,8 +163,8 @@ public class EmsFacsServiceImpl implements IEmsFacsService {
     }
 
     @Override
-    public List<BoundaryObj> getFacsWithMeterDev(String category, String subCategory) {
-        List<BoundaryObj> facsMeterObjs = emsFacsMapper.selectFacsWithMeter(category, subCategory);
+    public List<BoundaryObj> getFacsWithMeterDev(String areaCode, String category, String subCategory) {
+        List<BoundaryObj> facsMeterObjs = emsFacsMapper.selectFacsWithMeter(areaCode, category, subCategory);
 
         if (CollectionUtils.isNotEmpty(facsMeterObjs)) {
             for (BoundaryObj obj : facsMeterObjs) {

+ 15 - 13
ems/ems-core/src/main/resources/mapper/ems/ElecMeterHMapper.xml

@@ -45,7 +45,7 @@
         from adm_elec_meter_h
     </sql>
 
-    <select id="selectElecMeterHList" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterHResult">
+    <select id="selectElecMeterByDev" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterHResult">
         select
         m.id, m.area_code, m.device_code, d.device_name, m.record_time, m.`date`, m.`time`, m.time_index,
         m.elec_quantity, m.meter_type, m.meter_unit_price, m.use_elec_cost, m.create_time
@@ -61,12 +61,11 @@
         order by m.record_time ${orderFlag}
     </select>
 
-    <select id="selectElecMeterSumByDev" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterResult">
+    <select id="selectElecMeterByDevs" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterHResult">
         select
-         area_code,
-        '${objType}' as obj_type,
-        '${objCode}' as obj_code,
-        '${objName}' as obj_name,
+        '${objCode}' as device_code,
+        '${objName}' as device_name,
+        m.area_code, m.record_time, m.`date`, m.`time`, m.time_index,
         sum(m.elec_quantity) as elec_quantity,
         sum(m.use_elec_cost) as use_elec_cost
         from adm_elec_meter_h m
@@ -80,18 +79,23 @@
                 #{item}
             </foreach>
         </where>
+        GROUP BY m.`date`, m.time_index
+        ORDER BY m.record_time ${orderFlag}
     </select>
 
-    <select id="selectElecMeterByDev" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterHResult">
+    <select id="selectElecMeterSumByDev" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="ElecMeterResult">
         select
-        '${objCode}' as device_code,
-        '${objName}' as device_name,
-        m.area_code, m.record_time, m.`date`, m.`time`, m.time_index,
+         area_code,
+        '${objType}' as obj_type,
+        '${objCode}' as obj_code,
+        '${objName}' as obj_name,
         sum(m.elec_quantity) as elec_quantity,
         sum(m.use_elec_cost) as use_elec_cost
         from adm_elec_meter_h m
         <where>
-            and m.area_code = #{areaCode}
+            <if test="areaCode != null and areaCode != '-1'">
+                and m.area_code = #{areaCode}
+            </if>
             <if test="startRecTime != null and startRecTime != '' and endRecTime != null and endRecTime != ''">
                 and m.record_time between #{startRecTime} and #{endRecTime}
             </if>
@@ -100,8 +104,6 @@
                 #{item}
             </foreach>
         </where>
-        GROUP BY m.`date`, m.time_index
-        ORDER BY m.record_time ${orderFlag}
     </select>
 
     <insert id="insertElecMeterH" parameterType="com.ruoyi.ems.domain.ElecMeterH" useGeneratedKeys="true"

+ 1 - 0
ems/ems-core/src/main/resources/mapper/ems/EmsFacsMapper.xml

@@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             adm_ems_facs e
                 LEFT JOIN adm_meter_boundary_rel r ON e.facs_code = r.boundary_obj AND r.obj_type = 2 AND e.enable = 1
         <where>
+            <if test="areaCode != null and areaCode != '-1'"> and e.ref_area = #{areaCode}</if>
             <if test="category != null and category != ''"> and e.facs_category = #{category}</if>
             <if test="subCategory != null and subCategory != ''"> and e.facs_subcategory = #{subCategory}</if>
         </where>