Bläddra i källkod

区域筛选精细化

lv.wenbin 10 månader sedan
förälder
incheckning
f87c5b9548

+ 14 - 1
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/controller/AreaController.java

@@ -49,7 +49,20 @@ public class AreaController extends BaseController {
     }
 
     /**
-     * 查询建筑基本信息列表
+     * 查询服务区列表(根据下挂设施)
+     *
+     * @param facsType    设施类型
+     * @param facsSubType 设施子类型
+     */
+    @GetMapping("/listWithFacsType")
+    public AjaxResult listWithFacsType(@RequestParam(name = "facsType") String facsType,
+        @RequestParam(name = "facsSubType", required = false) String facsSubType) {
+        List<Area> list = areaService.selectWithFacsType(facsType, facsSubType);
+        return success(list);
+    }
+
+    /**
+     * 查询服务区基本信息列表
      */
     @RequiresPermissions("basecfg:area:list")
     @GetMapping("/listTotal")

+ 10 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/mapper/AreaMapper.java

@@ -3,6 +3,7 @@ package com.ruoyi.ems.mapper;
 import java.util.List;
 
 import com.ruoyi.ems.domain.Area;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 服务区Mapper接口
@@ -35,6 +36,15 @@ public interface AreaMapper {
      */
     List<Area> selectAreaList(Area admServiceArea);
 
+
+    /**
+     * 查询服务区列表(根据下挂设施)
+     *
+     * @param facsType    设施类型
+     * @param facsSubType 设施子类型
+     */
+    List<Area> selectWithFacsType(@Param("facsType") String facsType, @Param("facsSubType") String facsSubType);
+
     /**
      * 新增服务区
      *

+ 9 - 0
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/IAreaService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.ruoyi.ems.domain.Area;
 import com.ruoyi.ems.domain.vo.TreeEntity;
+import org.springframework.web.bind.annotation.RequestParam;
 
 /**
  * 服务区Service接口
@@ -36,6 +37,14 @@ public interface IAreaService {
     List<Area> selectAreaList(Area area);
 
     /**
+     * 查询服务区列表(根据下挂设施)
+     *
+     * @param facsType    设施类型
+     * @param facsSubType 设施子类型
+     */
+    List<Area> selectWithFacsType(String facsType, String facsSubType);
+
+    /**
      * 查询区域位置树
      * @param tier 层级
      * @return 区域位置树

+ 34 - 1
ems-cloud/ems-modules/ems-server/src/main/java/com/ruoyi/ems/service/impl/AreaServiceImpl.java

@@ -70,6 +70,17 @@ public class AreaServiceImpl implements IAreaService {
     }
 
     /**
+     * 查询服务区列表(根据下挂设施)
+     *
+     * @param facsType    设施类型
+     * @param facsSubType 设施子类型
+     */
+    @Override
+    public List<Area> selectWithFacsType(String facsType, String facsSubType) {
+        return areaMapper.selectWithFacsType(facsType, facsSubType);
+    }
+
+    /**
      * 新增服务区
      *
      * @param area 服务区
@@ -187,7 +198,29 @@ public class AreaServiceImpl implements IAreaService {
         List<TreeEntity> retList = new ArrayList<>();
         List<String> tagCodes = Arrays.asList(tagCode);
 
-        if (StringUtils.equals(AreaTier.Zoning.name(), tier)) {
+        if (StringUtils.equals(AreaTier.Area.name(), tier)) {
+            List<Area> areas = areaMapper.selectAreaList(new Area());
+            List<TreeEntity> entities = areas.stream().map(TreeEntity::new).collect(Collectors.toList());
+
+            for (TreeEntity area : entities) {
+                List<TreeEntity> dbBuildings = getAreaBuilding(area.getId());
+                boolean flag = false;
+
+                for (TreeEntity building : dbBuildings) {
+                    List<TreeEntity> zonings = getBuildingZoning(building.getId(), tagCodes);
+
+                    if (CollectionUtils.isNotEmpty(zonings)) {
+                        flag = true;
+                        break;
+                    }
+                }
+
+                if (flag) {
+                    retList.add(area);
+                }
+            }
+        }
+        else if (StringUtils.equals(AreaTier.Zoning.name(), tier)) {
             List<Area> areas = areaMapper.selectAreaList(new Area());
             List<TreeEntity> entities = areas.stream().map(TreeEntity::new).collect(Collectors.toList());
 

+ 9 - 0
ems-cloud/ems-modules/ems-server/src/main/resources/mapper/ems/AreaMapper.xml

@@ -47,6 +47,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="latitude != null "> and latitude = #{latitude}</if>
         </where>
     </select>
+
+    <select id="selectWithFacsType"  resultMap="AdmServiceAreaResult">
+        select a.id, a.area_code, a.area_name, a.short_name, a.service_star, a.city, a.highway, a.direction, a.address, a.attr_org, a.mgr_org, a.open_date, a.land_area, a.floor_area, a.longitude, a.latitude from adm_service_area a
+        INNER JOIN adm_ems_facs f ON f.ref_area = a.area_code
+        <where>
+            <if test="facsType != null  and facsType != ''"> and f.facs_type = #{facsType}</if>
+            <if test="facsSubType != null  and facsSubType != ''"> and f.facs_subtype = #{facsSubType}</if>
+        </where>
+    </select>
     
     <select id="selectAreaById" parameterType="Long" resultMap="AdmServiceAreaResult">
         <include refid="selectAreaVo"/>

+ 140 - 58
ems-cloud/sql/ems_init_data.sql

@@ -104,6 +104,8 @@ INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('W202', '南区-供电网', 'W', 'W2', 1, '321283124S3002');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('E501', '北区-光伏', 'E', 'E5', 1, '321283124S3001');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('E502', '南区-光伏', 'E', 'E5', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('C101', '北区-储能', 'C', 'C1', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('C102', '南区-储能', 'C', 'C1', 1, '321283124S3002');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('Z101', '北区-室内照明', 'Z', 'Z001', 1, '321283124S3001');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('Z102', '北区-室外照明', 'Z', 'Z002', 1, '321283124S3001');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_type`, `facs_subtype`, `enable`, `ref_area`) VALUES ('Z110', '北区-公共设施', 'Z', 'Z010', 1, '321283124S3001');
@@ -143,7 +145,7 @@ INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `dev
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R105-001', '电源管理器', '2', '1', 'Zoning', 'B-105', '321283124S3001,321283124S300101,B-105', 'W201', 'SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R105-002', '充电站', '1', '1', 'Zoning', 'B-105', '321283124S3001,321283124S300101,B-105', 'Z110', 'SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R105-003', '调光系统', '1', '1', 'Zoning', 'B-105', '321283124S3001,321283124S300101,B-105', 'Z101', 'SYS_BA');
-INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R106-001', '吊灯', '2', '1', 'Zoning', 'B-106', '321283124S3001,321283124S300101,B-106', 'SYS_BA');
+INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R106-001', '吊灯', '2', '1', 'Zoning', 'B-106', '321283124S3001,321283124S300101,B-106', 'Z101', 'SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R107-001', '橱窗照明','2', '1', 'Zoning', 'B-107', '321283124S3001,321283124S300101,B-107', 'Z101', 'SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R107-002', 'UPS(不间断电源)系统', '1', '1', 'Zoning', 'B-107', '321283124S3001,321283124S300101,B-107', 'Z101', 'SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Z010-R108-001', '吊灯', '2', '1', 'Zoning', 'B-108', '321283124S3001,321283124S300101,B-108', 'Z101', 'SYS_BA');
@@ -229,9 +231,9 @@ INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `dev
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Car-106', '停车场照明灯', '1', NULL, 'Zoning', '321283124S3002_CW-WXP', '321283124S3002,321283124S300206,321283124S3002_CW-WXP', 'Z102','SYS_BA');
 INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Car-107', '智能监控系统', '1', NULL, 'Zoning', '321283124S3002_CW-WXP', '321283124S3002,321283124S300206,321283124S3002_CW-WXP', 'Z110','SYS_BA');
 
-INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_001', '主板1', '2', '1', 'Area', '321283124S3003', 'Z110', 'SYS_BA');
-INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_002', '主板2', '2', '1', 'Area', '321283124S3003', 'Z110', 'SYS_BA');
-INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_003', '主板3', '2', '1', 'Area', '321283124S3003', 'Z110', 'SYS_BA');
+INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_001', '主板1', '2', '1', 'Area', '321283124S3003', '321283124S3003', 'Z110', 'SYS_BA');
+INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_002', '主板2', '2', '1', 'Area', '321283124S3003', '321283124S3003', 'Z110', 'SYS_BA');
+INSERT INTO `adm_ems_device` ( `device_code`, `device_name`, `device_type`, `device_status`, `area_type`, `ref_area`, `area_ancestors`, `ref_facs`, `subsystem_code`) VALUES ( 'Road_003', '主板3', '2', '1', 'Area', '321283124S3003', '321283124S3003', 'Z110', 'SYS_BA');
 
 
 -- 配电柜DEMO数据
@@ -266,59 +268,59 @@ INSERT INTO adm_box_elec_eqpt (`box_code`, `eqpt_code`, `ext_eqpt_code`, `eqpt_t
 INSERT INTO adm_box_elec_eqpt (`box_code`, `eqpt_code`, `ext_eqpt_code`, `eqpt_type`, `eqpt_spec`, `rated_voltage`, `rated_current`, `ancestors`, `parent_eqpt`, `sub_circuit`) VALUES ('D-N-1002', 'D-B-1002-11014', '0x0204', 'QF', '分开(空开)', 380, 60, '-1,D-B-1002-10000', 'D-B-1002-10000', '水泵');
 
 -- 区域&标签关系表
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-101','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-102','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-103','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-104','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-105','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-106','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-107','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-108','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-109','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-110','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-111','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-112','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-113','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-114','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-115','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-116','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-117','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-118','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-119','Area_00');
-
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-CD','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-DKC','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-HC','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-WXP','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-WZA','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-XK','Area_00');
-
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-101','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-102','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-103','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-104','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-105','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-106','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-107','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-108','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-109','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-110','Area_01');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-111','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-112','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-113','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-114','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-115','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-116','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-117','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-118','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-119','Area_00');
-
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-CD','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-DKC','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-HC','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-WXP','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-WZA','Area_00');
-insert into adm_obj_tag_rel(`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-XK','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-101','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-102','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-103','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-104','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-105','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-106','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-107','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-108','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-109','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-110','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-111','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-112','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-113','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-114','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-115','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-116','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-117','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-118','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','B-119','Area_00');
+
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-CD','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-DKC','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-HC','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-WXP','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-WZA','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3001_CW-XK','Area_00');
+
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-101','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-102','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-103','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-104','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-105','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-106','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-107','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-108','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-109','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-110','Area_01');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-111','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-112','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-113','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-114','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-115','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-116','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-117','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-118','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','N-119','Area_00');
+
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-CD','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-DKC','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-HC','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-WXP','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-WZA','Area_00');
+insert into adm_obj_tag_rel (`tag_type`,`obj_code`,`tag_code`) VALUES ('3','321283124S3002_CW-XK','Area_00');
 
 -- 服务区用电属性数据
 INSERT INTO adm_area_elec_attr (`area_code`, `price_code`, `req_capacity_flag`, `trans_capacity`, `req_quantity`) VALUES ('321283124S3001', '4001', 1, 630, NULL);
@@ -354,6 +356,12 @@ INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_tim
 INSERT INTO adm_co_charging_config (`area_code`, `elec_unit_price`, `elec_gt_compute_type`, `elec_compute_desc`, `water_unit_price`, `water_gt_compute_type`, `water_compute_desc`) VALUES ('321283124S3001', 0.6068, 1, '1.按户数均摊\n公摊电费每户收费 = 公摊电费 / 户数\n2、按面积分摊\n单户公摊电费 = 公摊电费 * (单户面积 / 总面积)', 3.04, 0, NULL);
 INSERT INTO adm_co_charging_config (`area_code`, `elec_unit_price`, `elec_gt_compute_type`, `elec_compute_desc`, `water_unit_price`, `water_gt_compute_type`, `water_compute_desc`) VALUES ('321283124S3002', 0.6068, 1, '1.按户数均摊\n公摊电费每户收费 = 公摊电费 / 户数\n2、按面积分摊\n单户公摊电费 = 公摊电费 * (单户面积 / 总面积)', 3.04, 0, NULL);
 
+-- 子系统DEMO数据
+INSERT INTO `adm_ems_subsystem` (`system_code`, `system_name`, `short_name`, `man_facturer`, `contact_person`, `contact_number`, `maintainer_person`, `maintainer_number`, `descr`) VALUES ('SYS_GF', '光伏系统', '光伏', '南通', '张', '1380000', '李工', '123123', NULL);
+INSERT INTO `adm_ems_subsystem` (`system_code`, `system_name`, `short_name`, `man_facturer`, `contact_person`, `contact_number`, `maintainer_person`, `maintainer_number`, `descr`) VALUES ('SYS_CN', '储能系统', '储能', '储能厂商', '王', '122112', '陈', '21212', NULL);
+INSERT INTO `adm_ems_subsystem` (`system_code`, `system_name`, `short_name`, `man_facturer`, `contact_person`, `contact_number`, `maintainer_person`, `maintainer_number`, `descr`) VALUES ('SYS_BA', 'BA', '楼控', '楼控', '李', '12', '王', '121', NULL);
+
+
 -- 能源计量设备DEMO数据
 -- 电表
 INSERT INTO `adm_meter_device` (`device_code`, `area_code`, `meter_cls`, `obj_type`, `obj_sub_type`, `obj_code`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('J-D-B-102', '321283124S3001', 45, 1, 3, 'B-102', 1, 4, 1, 1, '直采表');
@@ -586,4 +594,78 @@ INSERT INTO `adm_ems_pv_supply_h` (`area_code`, `facs_code`, `date`, `time`, `ti
 INSERT INTO `adm_ems_pv_supply_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `up_unit_price`, `gen_elec_quantity`, `use_elec_quantity`, `up_elec_quantity`, `up_elec_earn`) VALUES ('321283124S3002', 'E502', '2024-09-01', '23:00:00', 24, 0.45, 0, 0, 0, 0);
 
 
-
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '00:00:00', 1, 35, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '01:00:00', 2, 43, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '02:00:00', 3, 55, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '03:00:00', 4, 51, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '04:00:00', 5, 46, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '05:00:00', 6, 49, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '06:00:00', 7, 35, 5);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '07:00:00', 8, 20, 10);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '08:00:00', 9, 10, 5);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '09:00:00', 10, 0, 30);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '10:00:00', 11, 0, 35);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '11:00:00', 12, 0, 40);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '12:00:00', 13, 0, 45);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '13:00:00', 14, 0, 48);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '14:00:00', 15, 0, 57);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '15:00:00', 16, 0, 49);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '16:00:00', 17, 0, 37);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '17:00:00', 18, 0, 20);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '18:00:00', 19, 33, 10);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '19:00:00', 20, 42, 15);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '20:00:00', 21, 44, 18);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '21:00:00', 22, 56, 13);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '22:00:00', 23, 40, 10);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3001', 'C101', '2024-09-01', '23:00:00', 24, 47, 5);
+
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '00:00:00', 1, 53, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '01:00:00', 2, 34, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '02:00:00', 3, 55, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '03:00:00', 4, 45, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '04:00:00', 5, 64, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '05:00:00', 6, 54, 0);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '06:00:00', 7, 53, 8);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '07:00:00', 8, 42, 12);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '08:00:00', 9, 37, 11);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '09:00:00', 10, 0, 22);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '10:00:00', 11, 0, 45);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '11:00:00', 12, 0, 46);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '12:00:00', 13, 0, 51);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '13:00:00', 14, 0, 39);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '14:00:00', 15, 0, 60);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '15:00:00', 16, 0, 39);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '16:00:00', 17, 0, 46);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '17:00:00', 18, 0, 18);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '18:00:00', 19, 37, 15);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '19:00:00', 20, 34, 19);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '20:00:00', 21, 41, 13);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '21:00:00', 22, 60, 17);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '22:00:00', 23, 48, 15);
+INSERT INTO `adm_ems_elec_store_h` (`area_code`, `facs_code`, `date`, `time`, `time_index`, `charge_elec_quantity`, `discharge_elec_quantity`) VALUES ('321283124S3002', 'C102', '2024-09-01', '23:00:00', 24, 43, 11);
+
+-- 设施用能计量demo数据
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '00:00:00', 1, 12);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '01:00:00', 2, 13);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '02:00:00', 3, 10);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '03:00:00', 4, 13);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '04:00:00', 5, 15);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '05:00:00', 6, 12);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '06:00:00', 7, 8);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '07:00:00', 8, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '08:00:00', 9, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '09:00:00', 10, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '10:00:00', 11, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '11:00:00', 12, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '12:00:00', 13, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '13:00:00', 14, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '14:00:00', 15, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '15:00:00', 16, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '16:00:00', 17, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '17:00:00', 18, 0);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '18:00:00', 19, 10);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '19:00:00', 20, 13);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '20:00:00', 21, 20);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '21:00:00', 22, 17);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '22:00:00', 23, 15);
+INSERT INTO `adm_ems_facs_use_h` (`area_code`, `facs_code`, `device_code`, `date`, `time`, `time_index`, `elec_quantity`) VALUES ('321283124S3001', 'Z101', NULL, '2024-09-01', '23:00:00', 24, 13);

+ 2 - 1
ems-cloud/sql/ems_server.sql

@@ -1023,6 +1023,7 @@ create table adm_ems_facs_use_h (
   `id`                 bigint(20)      not null auto_increment      comment '序号',
   `area_code`          varchar(16)     not null                     comment '园区代码',
   `facs_code`          varchar(16)     not null                     comment '设施代码',
+  `device_code`        varchar(16)     default null                 comment '设施代码',
   `date`               date            not null                     comment '日期 yyyy-MM-dd',
   `time`               time            not null                     comment '时间 HH:mm:ss',
   `time_index`         int             not null                     comment '时间序列',
@@ -1046,7 +1047,7 @@ create table adm_ems_elec_store_h (
   `charge_elec_quantity`      double          default null                 comment '充电电量 单位:kW-h(千瓦时)',
   `discharge_elec_quantity`   double          default null                 comment '放电电量 单位:kW-h(千瓦时)',
   primary key (`id`),
-  unique key ux_ems_elec_store_h(`area_code`, `facs_code`, `date`, `time_index`)
+  unique key ux_ems_elec_store_h(`area_code`, `facs_code`, `date`, `time`)
 ) engine=innodb auto_increment=1 comment = '储能计量表-小时';