Эх сурвалжийг харах

数据治理+室内能耗接入

learshaw 2 долоо хоног өмнө
parent
commit
dce08ea818
46 өөрчлөгдсөн 2317 нэмэгдсэн , 1165 устгасан
  1. 1 1
      common-cloud/ruoyi-auth/src/main/resources/application-local.yml
  2. 4 4
      common-cloud/ruoyi-modules/ruoyi-gen/src/main/resources/application-local.yml
  3. 2 6
      common-cloud/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml
  4. 1 1
      common-cloud/ruoyi-modules/ruoyi-system/src/main/resources/application-local.yml
  5. 2 2
      common-cloud/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
  6. 19 7
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/TaskExecutor.java
  7. 34 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/config/InDoorEnergyConfig.java
  8. 0 1
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/controller/CircuitBreakerController.java
  9. 193 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/core/InDoorEnergyTemplate.java
  10. 13 92
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseDevHandler.java
  11. 119 14
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseMeterDevHandler.java
  12. 0 86
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseMqttHandler.java
  13. 135 10
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/GeekOpenCbHandler.java
  14. 203 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/InDoorEnergyHandler.java
  15. 58 4
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/Keka86BsHandler.java
  16. 31 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/CodesVal.java
  17. 41 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/CodesValReq.java
  18. 57 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/Token.java
  19. 64 0
      ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/retrofit/InDoorEnergyApi.java
  20. 4 1
      ems/ems-cloud/ems-dev-adapter/src/main/resources/application-local.yml
  21. 3 0
      ems/ems-cloud/ems-dev-adapter/src/main/resources/application-prod-ct.yml
  22. 1 1
      ems/ems-cloud/ems-dev-adapter/src/main/resources/bootstrap.yml
  23. 78 0
      ems/ems-cloud/ems-dev-adapter/src/test/java/com/huashe/test/InDoorEnergyTest.java
  24. 70 0
      ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/FdEnergyPriceConfigController.java
  25. 11 0
      ems/ems-core/src/main/java/com/ruoyi/ems/domain/EmsObjAttrDto.java
  26. 115 0
      ems/ems-core/src/main/java/com/ruoyi/ems/domain/FdEnergyPriceConfig.java
  27. 13 0
      ems/ems-core/src/main/java/com/ruoyi/ems/domain/MeterDevice.java
  28. 11 0
      ems/ems-core/src/main/java/com/ruoyi/ems/domain/WaterMeterH.java
  29. 5 4
      ems/ems-core/src/main/java/com/ruoyi/ems/enums/MeterObjTag.java
  30. 53 0
      ems/ems-core/src/main/java/com/ruoyi/ems/mapper/FdEnergyPriceConfigMapper.java
  31. 2 2
      ems/ems-core/src/main/java/com/ruoyi/ems/mapper/MeterDeviceMapper.java
  32. 8 0
      ems/ems-core/src/main/java/com/ruoyi/ems/mapper/WaterMeterHMapper.java
  33. 10 0
      ems/ems-core/src/main/java/com/ruoyi/ems/model/QueryDevice.java
  34. 61 0
      ems/ems-core/src/main/java/com/ruoyi/ems/service/IFdEnergyPriceConfigService.java
  35. 2 2
      ems/ems-core/src/main/java/com/ruoyi/ems/service/IMeterDeviceService.java
  36. 16 0
      ems/ems-core/src/main/java/com/ruoyi/ems/service/IWaterMeterHService.java
  37. 94 0
      ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/FdEnergyPriceConfigServiceImpl.java
  38. 2 2
      ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/MeterDeviceServiceImpl.java
  39. 9 0
      ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/WaterMeterHServiceImpl.java
  40. 2 1
      ems/ems-core/src/main/resources/mapper/ems/EmsObjAttrMapper.xml
  41. 72 0
      ems/ems-core/src/main/resources/mapper/ems/FdEnergyPriceConfigMapper.xml
  42. 10 10
      ems/ems-core/src/main/resources/mapper/ems/MeterDeviceMapper.xml
  43. 21 7
      ems/ems-core/src/main/resources/mapper/ems/WaterMeterHMapper.xml
  44. 388 635
      ems/sql/ems_init_data.sql
  45. 33 26
      ems/sql/ems_server.sql
  46. 246 246
      ems/sql/ems_sys_data.sql

+ 1 - 1
common-cloud/ruoyi-auth/src/main/resources/application-local.yml

@@ -1,5 +1,5 @@
 spring:
   redis:
-    host: 192.168.20.135
+    host: 192.168.20.210
     port: 6379
     password: admin

+ 4 - 4
common-cloud/ruoyi-modules/ruoyi-gen/src/main/resources/application-local.yml

@@ -1,12 +1,12 @@
 # spring配置
 spring:
   redis:
-    host: 172.192.10.105
-    port: 30013
-    password:
+    host: 192.168.20.210
+    port: 6379
+    password: admin
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://172.192.10.105:30002/ems_ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+    url: jdbc:mysql://192.168.20.210:3306/sys_ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
     username: root
     password: root
 

+ 2 - 6
common-cloud/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml

@@ -13,16 +13,12 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: 172.192.10.105:30003
+        server-addr: ${env-nacos-server:192.168.20.210:8848}
         namespace: ${env-nacos-namespace:2c519718-1e09-4de4-9af5-d07f837372d6}
-        #server-addr: 172.10.0.71:8848
-        #group: public
       config:
         # 配置中心地址
-        server-addr: 172.192.10.105:30003
+        server-addr: ${env-nacos-server:192.168.20.210:8848}
         namespace: ${env-nacos-namespace:2c519718-1e09-4de4-9af5-d07f837372d6}
-        #server-addr: 172.10.0.71:8848
-        #group: public
         # 配置文件格式
         file-extension: yml
         # 共享配置

+ 1 - 1
common-cloud/ruoyi-modules/ruoyi-system/src/main/resources/application-local.yml

@@ -5,7 +5,7 @@ spring:
       matching-strategy: ant_path_matcher
   redis:
     host: 192.168.20.210
-    port: 8848
+    port: 6379
     password: admin
   datasource:
     druid:

+ 2 - 2
common-cloud/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml

@@ -14,11 +14,11 @@ spring:
     nacos:
       discovery:
         # 服务注册地址
-        server-addr: ${env-nacos-server:192.168.20.135:8848}
+        server-addr: ${env-nacos-server:192.168.20.210:8848}
         namespace: ${env-nacos-namespace:2c519718-1e09-4de4-9af5-d07f837372d6}
       config:
         # 配置中心地址
-        server-addr: ${env-nacos-server:192.168.20.135:8848}
+        server-addr: ${env-nacos-server:192.168.20.210:8848}
         namespace: ${env-nacos-namespace:2c519718-1e09-4de4-9af5-d07f837372d6}
         # 配置文件格式
         file-extension: yml

+ 19 - 7
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/TaskExecutor.java

@@ -11,9 +11,8 @@
 package com.ruoyi.ems;
 
 import com.ruoyi.ems.core.ObjectCache;
-import com.ruoyi.ems.handle.BaseDevHandler;
-import com.ruoyi.ems.handle.BaseMeterDevHandler;
-import com.ruoyi.ems.handle.BaseMqttHandler;
+import com.ruoyi.ems.handle.GeekOpenCbHandler;
+import com.ruoyi.ems.handle.InDoorEnergyHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,7 +43,11 @@ public class TaskExecutor {
 
     @Qualifier("geekOpenCbHandler")
     @Resource
-    private BaseMeterDevHandler geekOpenCbHandler;
+    private GeekOpenCbHandler geekOpenCbHandler;
+
+    @Qualifier("inDoorEnergyHandler")
+    @Resource
+    private InDoorEnergyHandler inDoorEnergyHandler;
 
     /**
      * 定时清理过期设备上报响应
@@ -67,8 +70,17 @@ public class TaskExecutor {
      * 每小时产出设备计量数据
      */
     @Scheduled(cron = "0 0 0/1 * * ?")
-    public void meterHourProd() {
-        int cnt = geekOpenCbHandler.meterHourProd();
-        log.debug("产出设备计量数据: {} 条", cnt);
+    public void geekOpenMeterHourProd() {
+        int cnt1 = geekOpenCbHandler.meterHourProd();
+        log.debug("产出GeekOpen设备计量数据: {} 条", cnt1);
+    }
+
+    /**
+     * 每小时产出设备计量数据
+     */
+    @Scheduled(cron = "0 0 0/1 * * ?")
+    public void inDoorMeterHourProd() {
+        int cnt = inDoorEnergyHandler.meterHourProd();
+        log.debug("产出室内能耗设备计量数据: {} 条", cnt);
     }
 }

+ 34 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/config/InDoorEnergyConfig.java

@@ -0,0 +1,34 @@
+/*
+ * 文 件 名:  InDoorEnergyConfig
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.config;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 室内能耗参数
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Data
+@Configuration
+public class InDoorEnergyConfig {
+    @Value("${adapter.id-energy.url}")
+    private String url;
+
+    @Value("${adapter.id-energy.appId}")
+    private String appId;
+}

+ 0 - 1
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/controller/CircuitBreakerController.java

@@ -11,7 +11,6 @@
 package com.ruoyi.ems.controller;
 
 import com.ruoyi.ems.handle.BaseMeterDevHandler;
-import com.ruoyi.ems.handle.BaseMqttHandler;
 import com.ruoyi.ems.model.AbilityPayload;
 import com.ruoyi.ems.model.CallResponse;
 import io.swagger.annotations.Api;

+ 193 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/core/InDoorEnergyTemplate.java

@@ -0,0 +1,193 @@
+/*
+ * 文 件 名:  InDoorEnergyTemplate
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.core;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.support.retrofit.Retrofit2ConverterFactory;
+import com.huashe.common.exception.Assert;
+import com.ruoyi.common.core.utils.SpringUtils;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.ems.config.InDoorEnergyConfig;
+import com.ruoyi.ems.model.idenergy.CodesVal;
+import com.ruoyi.ems.model.idenergy.CodesValReq;
+import com.ruoyi.ems.model.idenergy.Token;
+import com.ruoyi.ems.retrofit.InDoorEnergyApi;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.OkHttpClient;
+import org.apache.commons.lang3.StringUtils;
+import retrofit2.Call;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 室内能耗操作模板
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Slf4j
+public class InDoorEnergyTemplate extends BaseApiTemplate {
+    /**
+     * 访问地址
+     */
+    protected String url;
+
+    /**
+     * 调用代理
+     */
+    protected final InDoorEnergyApi api;
+
+    public InDoorEnergyTemplate(String restUrl) {
+        this.url = restUrl;
+
+        OkHttpClient httpClient = getClient();
+        Retrofit retrofit = new Retrofit.Builder().baseUrl(restUrl)
+            .addConverterFactory(Retrofit2ConverterFactory.create()).client(httpClient).build();
+        this.api = retrofit.create(InDoorEnergyApi.class);
+    }
+
+    /**
+     * 构造调用模板
+     *
+     * @param restUrl        服务地址 (http://ip:port)
+     * @param connectTimeout 连接超时
+     * @param readTimeout    读取超时
+     * @param writeTimeout   写超时
+     */
+    public InDoorEnergyTemplate(String restUrl, int connectTimeout, int readTimeout, int writeTimeout) {
+        super.connectTimeout = connectTimeout;
+        super.readTimeout = readTimeout;
+        super.writeTimeout = writeTimeout;
+        this.url = restUrl;
+
+        OkHttpClient httpClient = getClient();
+        Retrofit retrofit = new Retrofit.Builder().baseUrl(restUrl)
+            .addConverterFactory(Retrofit2ConverterFactory.create()).client(httpClient).build();
+        api = retrofit.create(InDoorEnergyApi.class);
+    }
+
+    public synchronized String getToken() {
+        RedisService redisService = SpringUtils.getBean(RedisService.class);
+        String accessToken = redisService.getCacheObject("INDOOR_ENERGY_ACCESS_TOKEN");
+
+        if (StringUtils.isEmpty(accessToken)) {
+            InDoorEnergyConfig config = SpringUtils.getBean(InDoorEnergyConfig.class);
+            Token token = getAuthToken(config.getAppId());
+            redisService.setCacheObject("INDOOR_ENERGY_ACCESS_TOKEN", token.getAccessToken(), 5 * 60L,
+                TimeUnit.SECONDS);
+            redisService.setCacheObject("INDOOR_ENERGY_REFRESH_TOKEN", token.getRefreshToken());
+            accessToken = token.getAccessToken();
+        }
+
+        return accessToken;
+    }
+
+    public synchronized String refreshToken() {
+        RedisService redisService = SpringUtils.getBean(RedisService.class);
+        String refreshToken = redisService.getCacheObject("INDOOR_ENERGY_REFRESH_TOKEN");
+        InDoorEnergyConfig config = SpringUtils.getBean(InDoorEnergyConfig.class);
+        Token token = StringUtils.isEmpty(refreshToken) ?
+            getAuthToken(config.getAppId()) :
+            refreshToken(config.getAppId(), refreshToken);
+        redisService.setCacheObject("INDOOR_ENERGY_ACCESS_TOKEN", token.getAccessToken(), 5 * 60L, TimeUnit.SECONDS);
+        redisService.setCacheObject("INDOOR_ENERGY_REFRESH_TOKEN", token.getRefreshToken(),60 * 60L, TimeUnit.SECONDS);
+
+        return token.getAccessToken();
+    }
+
+    /**
+     * 获取Token
+     *
+     * @param appId appId
+     * @return 响应
+     */
+    public Token getAuthToken(String appId) {
+        Token token = null;
+
+        try {
+            // 执行调用
+            Call<String> call = api.getAccessToken(appId, "authorization");
+            Response<String> response = call.execute();
+            log.debug("getAccessToken response:{}", response);
+
+            Assert.notEmpty(response.body(), -1, "获取Token失败");
+            token = JSONObject.parseObject(response.body(), Token.class);
+            Assert.notNull(token, -1, "转换Token失败:\n" + response.body());
+        }
+        catch (Exception e) {
+            log.error("getAccessToken fail!", e);
+        }
+
+        return token;
+    }
+
+    /**
+     * 刷新token
+     * @param appId appId
+     * @param refreshToken 缓存token
+     * @return token
+     */
+    public Token refreshToken(String appId, String refreshToken) {
+        Token token = null;
+
+        try {
+            // 执行调用
+            Call<String> call = api.refreshToken(appId, "refresh", refreshToken);
+            Response<String> response = call.execute();
+            log.debug("refreshToken response:{}", response);
+
+            Assert.notEmpty(response.body(), -1, "获取Token失败");
+            token = JSONObject.parseObject(response.body(), Token.class);
+            Assert.notNull(token, -1, "转换Token失败:\n" + response.body());
+        }
+        catch (Exception e) {
+            log.error("refreshToken fail!", e);
+        }
+
+        return token;
+    }
+
+    /**
+     * 获取能耗数据
+     * @param req 请求
+     * @return 能耗数据列表
+     */
+    public List<CodesVal> getCodesVal(CodesValReq req) {
+        List<CodesVal> retList = null;
+
+        try {
+            String token = getToken();
+            InDoorEnergyConfig config = SpringUtils.getBean(InDoorEnergyConfig.class);
+            // 执行调用
+            Call<String> call = api.getCodesVal(config.getAppId(), token, req);
+            Response<String> response = call.execute();
+            log.debug("getCodesVal response:{}", response);
+
+            JSONObject resJson = JSONObject.parseObject(response.body());
+            Assert.isTrue(StringUtils.equals(resJson.getString("code"), "200"), resJson.getInteger("code"),
+                resJson.getString("error"));
+
+            String dataStr = resJson.getString("ResultPointObjArr");
+            retList = JSONObject.parseArray(dataStr, CodesVal.class);
+        }
+        catch (Exception e) {
+            log.error("getCodesVal fail!", e);
+        }
+
+        return retList;
+    }
+}

+ 13 - 92
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseDevHandler.java

@@ -10,11 +10,9 @@
  */
 package com.ruoyi.ems.handle;
 
-import com.alibaba.fastjson2.JSONObject;
 import com.huashe.common.utils.DateUtils;
 import com.ruoyi.ems.domain.EmsDevice;
 import com.ruoyi.ems.domain.EmsObjAbilityCallLog;
-import com.ruoyi.ems.domain.EmsObjAttrValue;
 import com.ruoyi.ems.domain.EmsObjEventLog;
 import com.ruoyi.ems.domain.EmsObjReportLog;
 import com.ruoyi.ems.enums.DevOnlineStatus;
@@ -27,17 +25,16 @@ import com.ruoyi.ems.service.IEmsObjAbilityCallLogService;
 import com.ruoyi.ems.service.IEmsObjAttrValueService;
 import com.ruoyi.ems.service.IEmsObjEventLogService;
 import com.ruoyi.ems.service.IEmsObjReportLogService;
+import com.ruoyi.ems.service.IFdEnergyPriceConfigService;
 import com.ruoyi.ems.service.IPriceService;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.lang3.StringUtils;
+import com.ruoyi.ems.service.IWaterMeterHService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.stream.Collectors;
 
 /**
  * 设备处理基类
@@ -48,7 +45,8 @@ import java.util.stream.Collectors;
  * @see [相关类/方法]
  * @since [产品/模块版本]
  */
-public abstract class BaseDevHandler extends BaseMqttHandler {
+@Slf4j
+public abstract class BaseDevHandler {
     @Autowired
     protected IEmsDeviceService deviceService;
 
@@ -59,9 +57,15 @@ public abstract class BaseDevHandler extends BaseMqttHandler {
     protected IElecMeterHService elecMeterHService;
 
     @Autowired
+    protected IWaterMeterHService waterMeterHService;
+
+    @Autowired
     protected IPriceService priceService;
 
     @Autowired
+    protected IFdEnergyPriceConfigService fdEnergyPriceConfigService;
+
+    @Autowired
     protected IEmsObjAbilityCallLogService objAbilityCallLogService;
 
     @Autowired
@@ -116,89 +120,6 @@ public abstract class BaseDevHandler extends BaseMqttHandler {
     }
 
     /**
-     * 定时刷新在线状态
-     * <br/>每小时执行一次,扫描2个小时无消息的设备,标记为离线状态
-     */
-    public void refreshOnline(long threshold) {
-        long currentTime = new Date().getTime();
-
-        List<EmsDevice> deviceList = getDeviceList();
-
-        if (CollectionUtils.isNotEmpty(deviceList)) {
-            for (EmsDevice device : deviceList) {
-                Map<String, String> attrMap = attrCache.get(device.getDeviceCode());
-
-                if (MapUtils.isNotEmpty(attrMap) && null != attrMap.get(MQTT_LAST_TIME)) {
-                    String lastMsgTime = attrMap.get(MQTT_LAST_TIME);
-
-                    // 计算最后一次消息至今的时间差
-                    long time =
-                        currentTime - DateUtils.stringToDate(lastMsgTime, DateUtils.YYYY_MM_DD_HH_MM_SS).getTime();
-
-                    if (time > threshold) {
-                        refreshStatus(device, DevOnlineStatus.OFFLINE);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * 校验是否需要更新属性值
-     *
-     * @param jsonBody jsonBody 消息体
-     * @param attrKey  属性key
-     * @return true 更新,false 不更新
-     */
-    public boolean updateAttr(EmsDevice device, JSONObject jsonBody, String attrKey) {
-        boolean flag = false;
-
-        try {
-            // 校验消息体是否包含属性key
-            if (!jsonBody.containsKey(attrKey)) {
-                return flag;
-            }
-
-            // 获取属性值
-            String currentValue = jsonBody.getString(attrKey);
-
-            // 获取缓存
-            Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(), k -> {
-                List<EmsObjAttrValue> attrList = objAttrValueService.selectByObjCode(device.getDeviceModel(), k);
-
-                if (CollectionUtils.isNotEmpty(attrList)) {
-                    return attrList.stream().collect(
-                        Collectors.toMap(EmsObjAttrValue::getAttrKey, EmsObjAttrValue::getAttrValue, (v1, v2) -> v1,
-                            ConcurrentHashMap::new));
-                }
-                else {
-                    return new ConcurrentHashMap<>();
-                }
-            });
-
-            // 从缓存中获取属性值
-            String cacheValue = attrMap.get(attrKey);
-
-            // 比较属性值是否发生变化
-            if (!StringUtils.equals(currentValue, cacheValue)) {
-                EmsObjAttrValue attrValue = new EmsObjAttrValue(device.getDeviceCode(), device.getDeviceModel(),
-                    attrKey, currentValue);
-                // 更新数据库
-                objAttrValueService.mergeObjAttrValue(attrValue);
-                // 更新缓存
-                updateCacheAfterSuccess(device.getDeviceCode(), attrKey, currentValue);
-
-                flag = true;
-            }
-        }
-        catch (Exception e) {
-            log.error("检查属性并更新失败!", e);
-        }
-
-        return flag;
-    }
-
-    /**
      * 更新缓存值
      *
      * @param deviceCode 设备信息
@@ -244,8 +165,6 @@ public abstract class BaseDevHandler extends BaseMqttHandler {
         objEventLogService.insertLog(eventLog);
     }
 
-
-
     protected EmsObjAbilityCallLog saveCallLog(AbilityPayload abilityParam, long sendTime, int callStatus) {
         EmsObjAbilityCallLog objAbilityCallLog = new EmsObjAbilityCallLog();
         objAbilityCallLog.setObjCode(abilityParam.getObjCode());
@@ -275,4 +194,6 @@ public abstract class BaseDevHandler extends BaseMqttHandler {
 
         objReportLogService.insertLog(objReportLog);
     }
+
+    public abstract void refreshOnline(long threshold);
 }

+ 119 - 14
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseMeterDevHandler.java

@@ -12,9 +12,12 @@ package com.ruoyi.ems.handle;
 
 import com.huashe.common.utils.DateUtils;
 import com.ruoyi.ems.domain.ElecMeterH;
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
 import com.ruoyi.ems.domain.MeterDevice;
+import com.ruoyi.ems.domain.WaterMeterH;
 import com.ruoyi.ems.model.Price;
 import com.ruoyi.ems.service.IMeterDeviceService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,11 +39,14 @@ import java.util.concurrent.ConcurrentHashMap;
  * @see [相关类/方法]
  * @since [产品/模块版本]
  */
+@Slf4j
 public abstract class BaseMeterDevHandler extends BaseDevHandler {
     @Autowired
     protected IMeterDeviceService meterDeviceService;
 
-    protected static final String LAST_HOUR_READING = "lastHourReading";
+    protected static final String LAST_HOUR_READING = "LAST_HOUR_READING";
+
+    protected static final String NEW_HOUR_READING = "NEW_HOUR_READING";
 
     /**
      * 获取计量设备列表
@@ -62,12 +68,22 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
             Date date = DateUtils.adjustHour(new Date(), -1);
 
             for (MeterDevice device : deviceList) {
-                ElecMeterH elecMeterH = meterHourProdSub(device);
+                // 获取设备属性缓存
+                Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(),
+                    k -> new ConcurrentHashMap<>());
+
+                // 读取历史抄表
+                String lastMeterReading = attrMap.get(LAST_HOUR_READING);
+
+                // 读取最新抄表值
+                String newMeterReading = attrMap.get(NEW_HOUR_READING);
+
+                ElecMeterH elecMeterH = getElecMeterH(device, lastMeterReading, newMeterReading);
 
                 if (null != elecMeterH) {
                     Price price = priceMap.computeIfAbsent(device.getAreaCode(),
                         k -> priceService.getElecHourPrice(device.getAreaCode(), date));
-                    completePrice(elecMeterH, price);
+                    completeElecPrice(elecMeterH, price);
                     meterHList.add(elecMeterH);
                 }
             }
@@ -83,25 +99,19 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
         return cnt;
     }
 
-    private ElecMeterH meterHourProdSub(MeterDevice device) {
+    public ElecMeterH getElecMeterH(MeterDevice device, String lastMeterReading, String newMeterReading) {
         ElecMeterH elecMeterH = null;
 
-        // 获取设备属性缓存
-        Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(), k -> new ConcurrentHashMap<>());
-
-        String lastMeterReading = attrMap.get(LAST_HOUR_READING);
-        String newMeterReading = attrMap.get("energy");
-
         // 缓存不为空,使用缓存抄表计算
         if (StringUtils.isNotEmpty(lastMeterReading)) {
-            elecMeterH = execHourMeter(device, lastMeterReading, newMeterReading);
+            elecMeterH = execElecHourMeter(device, lastMeterReading, newMeterReading);
         }
         // 缓存为空,使用数据库记录计算
         else {
             ElecMeterH dbElecMeterH = elecMeterHService.selectLatelyItem(device.getDeviceCode());
 
             if (null != dbElecMeterH && null != dbElecMeterH.getMeterReading()) {
-                elecMeterH = execHourMeter(device, String.valueOf(dbElecMeterH.getMeterReading()), newMeterReading);
+                elecMeterH = execElecHourMeter(device, String.valueOf(dbElecMeterH.getMeterReading()), newMeterReading);
             }
             else {
                 // 无缓存也无数据库记录,则认为是首次上报
@@ -122,7 +132,7 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
      * @param newMeterReading  本次抄表值
      * @return
      */
-    private ElecMeterH execHourMeter(MeterDevice device, String lastMeterReading, String newMeterReading) {
+    private ElecMeterH execElecHourMeter(MeterDevice device, String lastMeterReading, String newMeterReading) {
         ElecMeterH elecMeterH = null;
         BigDecimal lastEngValue = new BigDecimal(lastMeterReading);
 
@@ -169,6 +179,86 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
         return elecMeterH;
     }
 
+    public WaterMeterH getWaterMeterH(MeterDevice device, String lastMeterReading, String newMeterReading) {
+        WaterMeterH waterMeterH = null;
+
+        // 缓存不为空,使用缓存抄表计算
+        if (StringUtils.isNotEmpty(lastMeterReading)) {
+            waterMeterH = execWaterHourMeter(device, lastMeterReading, newMeterReading);
+        }
+        // 缓存为空,使用数据库记录计算
+        else {
+            WaterMeterH dbWaterMeterH = waterMeterHService.selectLatelyItem(device.getDeviceCode());
+
+            if (null != dbWaterMeterH && null != dbWaterMeterH.getMeterReading()) {
+                waterMeterH = execWaterHourMeter(device, String.valueOf(dbWaterMeterH.getMeterReading()), newMeterReading);
+            }
+            else {
+                // 无缓存也无数据库记录,则认为是首次上报
+                if (StringUtils.isNotEmpty(newMeterReading)) {
+                    updateCacheAfterSuccess(device.getDeviceCode(), LAST_HOUR_READING, newMeterReading);
+                }
+            }
+        }
+
+        return waterMeterH;
+    }
+
+    /**
+     * 执行小时抄表计算
+     *
+     * @param device           设备信息
+     * @param lastMeterReading 上次抄表值
+     * @param newMeterReading  本次抄表值
+     * @return
+     */
+    private WaterMeterH execWaterHourMeter(MeterDevice device, String lastMeterReading, String newMeterReading) {
+        WaterMeterH waterMeterH = null;
+        BigDecimal lastEngValue = new BigDecimal(lastMeterReading);
+
+        if (StringUtils.isNotEmpty(newMeterReading)) {
+            BigDecimal newEngValue = new BigDecimal(newMeterReading);
+            // 计算水量差值
+            BigDecimal useQuantity = newEngValue.subtract(lastEngValue);
+            // 倍率计算
+            useQuantity = magnification(useQuantity, device.getMagnification());
+            // 更新缓存
+            updateCacheAfterSuccess(device.getDeviceCode(), LAST_HOUR_READING, newMeterReading);
+            // 封装计量对象
+            waterMeterH = buildWaterMeterH(device, newEngValue, useQuantity);
+        }
+        else {
+            BigDecimal useQuantity = BigDecimal.ZERO;
+            // 封装计量对象
+            waterMeterH = buildWaterMeterH(device, lastEngValue, useQuantity);
+        }
+
+        return waterMeterH;
+    }
+
+    /**
+     * 封装计量对象
+     *
+     * @param device      设备信息
+     * @param newEngValue 最新电量值
+     * @param useQuantity 用量差值
+     * @return ElecMeterH 计量对象
+     */
+    private WaterMeterH buildWaterMeterH(MeterDevice device, BigDecimal newEngValue, BigDecimal useQuantity) {
+        Date date = DateUtils.adjustHour(new Date(), -1);
+        WaterMeterH waterMeterH = new WaterMeterH();
+        waterMeterH.setAreaCode(device.getAreaCode());
+        waterMeterH.setDeviceCode(device.getDeviceCode());
+        waterMeterH.setRecordTime(date);
+        waterMeterH.setDate(date);
+        waterMeterH.setTime(date);
+        waterMeterH.setTimeIndex(getHourIndex(date));
+        waterMeterH.setWaterQuantity(useQuantity.doubleValue());
+        waterMeterH.setMeterReading(newEngValue.doubleValue());
+
+        return waterMeterH;
+    }
+
     /**
      * 倍率计算
      *
@@ -186,7 +276,7 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
      * @param elecMeterH 计量对象
      * @param price      价格信息
      */
-    private void completePrice(ElecMeterH elecMeterH, Price price) {
+    public void completeElecPrice(ElecMeterH elecMeterH, Price price) {
         if (null != price) {
             BigDecimal useQuantity = new BigDecimal(String.valueOf(elecMeterH.getElecQuantity()));
             BigDecimal cost = useQuantity.multiply(new BigDecimal(String.valueOf(price.getPriceValue())));
@@ -196,6 +286,21 @@ public abstract class BaseMeterDevHandler extends BaseDevHandler {
         }
     }
 
+    /**
+     * 完善价格信息
+     *
+     * @param waterMeterH 计量对象
+     * @param config      价格信息
+     */
+    public void completeWaterPrice(WaterMeterH waterMeterH, FdEnergyPriceConfig config) {
+        if (null != config) {
+            BigDecimal useQuantity = new BigDecimal(String.valueOf(waterMeterH.getWaterQuantity()));
+            BigDecimal cost = useQuantity.multiply(new BigDecimal(String.valueOf(config.getUnitPrice())));
+            waterMeterH.setMeterUnitPrice(config.getUnitPrice());
+            waterMeterH.setUseWaterCost(cost.doubleValue());
+        }
+    }
+
     protected static int getHourIndex(Date date) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(date);

+ 0 - 86
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaseMqttHandler.java

@@ -1,86 +0,0 @@
-/*
- * 文 件 名:  BaseSendHandler
- * 版    权:  华设设计集团股份有限公司
- * 描    述:  <描述>
- * 修 改 人:  lvwenbin
- * 修改时间:  2025/3/3
- * 跟踪单号:  <跟踪单号>
- * 修改单号:  <修改单号>
- * 修改内容:  <修改内容>
- */
-package com.ruoyi.ems.handle;
-
-import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.ems.core.MqttTemplate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Qualifier;
-
-import javax.annotation.Resource;
-
-/**
- * Mqtt基类
- * <功能详细描述>
- *
- * @author lvwenbin
- * @version [版本号, 2025/3/3]
- * @see [相关类/方法]
- * @since [产品/模块版本]
- */
-public abstract class BaseMqttHandler {
-    /**
-     * 日志服务
-     */
-    protected static final Logger log = LoggerFactory.getLogger(BaseMqttHandler.class);
-
-    @Resource
-    @Qualifier("mqttTemplate")
-    protected MqttTemplate mqttTemplate;
-
-    /**
-     * 抽象方法,用于消息处理
-     *
-     * @param deviceCode 设备编码
-     * @param payload    负载数据
-     * @return 处理结果字符串
-     */
-    public abstract void msgHandle(String deviceCode, String payload);
-
-    /**
-     * 添加消息ID到消息中
-     *
-     * @param msg 消息
-     * @return msgBody
-     */
-    public String addMsgId(String msg, String msgIdKey, String msgIdValue) {
-        JSONObject json = JSONObject.parseObject(msg);
-        json.put(msgIdKey, msgIdValue);
-        return json.toString();
-    }
-
-    /**
-     * 发送MQTT消息
-     *
-     * @param topic    主题
-     * @param payload  负载数据
-     * @param qos      质量服务等级
-     * @param retained 是否保留消息
-     */
-    public void sendMqttMsg(String topic, String payload, int qos, boolean retained) {
-        log.info("[Send] Topic:{}, message:{}, qos:{}, retained:{}", topic, payload, qos, retained);
-        mqttTemplate.sendString(topic, payload, 2, false);
-    }
-
-    /**
-     * 发送MQTT消息
-     *
-     * @param topic    主题
-     * @param payload  负载数据
-     * @param qos      质量服务等级
-     * @param retained 是否保留消息
-     */
-    public void sendMqttHex(String topic, String payload, int qos, boolean retained) {
-        log.info("[Send] Topic:{}, message:{}, qos:{}, retained:{}", topic, payload, qos, retained);
-        mqttTemplate.sendHex(topic, payload, 2, false);
-    }
-}

+ 135 - 10
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/GeekOpenCbHandler.java

@@ -13,10 +13,13 @@ package com.ruoyi.ems.handle;
 import com.alibaba.fastjson2.JSONObject;
 import com.huashe.common.exception.Assert;
 import com.huashe.common.exception.BusinessException;
+import com.huashe.common.utils.DateUtils;
 import com.huashe.common.utils.ThreadUtils;
+import com.ruoyi.ems.core.MqttTemplate;
 import com.ruoyi.ems.core.ObjectCache;
 import com.ruoyi.ems.domain.EmsDevice;
 import com.ruoyi.ems.domain.EmsObjAbilityCallLog;
+import com.ruoyi.ems.domain.EmsObjAttrValue;
 import com.ruoyi.ems.domain.MeterDevice;
 import com.ruoyi.ems.enums.DevOnlineStatus;
 import com.ruoyi.ems.model.AbilityPayload;
@@ -24,15 +27,22 @@ import com.ruoyi.ems.model.CallResponse;
 import com.ruoyi.ems.model.MqttCacheMsg;
 import com.ruoyi.ems.model.QueryDevice;
 import com.ruoyi.ems.util.IdUtils;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
 
 /**
  * GeekOpen 断路器服务层
@@ -50,6 +60,10 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
     @Autowired
     private ObjectCache messageCache;
 
+    @Resource
+    @Qualifier("mqttTemplate")
+    protected MqttTemplate mqttTemplate;
+
     // 主题前缀
     private static final String TOPIC_PREFIX = "/device/dlq/";
 
@@ -78,9 +92,9 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
         sendMqttMsg(topic, msgBody, 2, false);
 
         // 需要监测回包的流程
-        if (StringUtils.equals(type, "event")
-            || (StringUtils.equals(type, "setting")
-            && (sendObject.containsKey("keyLock") || sendObject.containsKey("timerEnable") || sendObject.containsKey("onState")))) {
+        if (StringUtils.equals(type, "event") || (StringUtils.equals(type, "setting") && (
+            sendObject.containsKey("keyLock") || sendObject.containsKey("timerEnable") || sendObject.containsKey(
+                "onState")))) {
             // 写入日志
             EmsObjAbilityCallLog logItem = saveCallLog(abilityParam, sendTime, 1);
 
@@ -116,7 +130,6 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
     }
 
     @Async("msgHandleExecutor")
-    @Override
     public void msgHandle(String deviceCode, String payload) {
         try {
             EmsDevice device = deviceService.selectByCode(deviceCode);
@@ -158,6 +171,7 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
 
     /**
      * 获取设备列表
+     *
      * @return 设备列表
      */
     @Override
@@ -169,11 +183,7 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
 
     @Override
     public List<MeterDevice> getMeterDeviceList() {
-        QueryDevice queryDevice = new QueryDevice();
-        queryDevice.setDeviceModel("M_W2_QF_GEEKOPEN");
-        queryDevice.setMeterCls(45);
-        queryDevice.setColMode(0);
-        return meterDeviceService.selectByModel(queryDevice);
+        return meterDeviceService.selectByModel("M_W2_QF_GEEKOPEN");
     }
 
     /**
@@ -214,7 +224,67 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
         updateAttr(device, jsonBody, "voltage");
         updateAttr(device, jsonBody, "current");
         updateAttr(device, jsonBody, "power");
-        updateAttr(device, jsonBody, "energy");
+        updateAttr(device, jsonBody, "energy", NEW_HOUR_READING);
+    }
+
+    public boolean updateAttr(EmsDevice device, JSONObject jsonBody, String sourceKey) {
+        return updateAttr(device, jsonBody, sourceKey, sourceKey);
+    }
+
+    /**
+     * 校验是否需要更新属性值
+     *
+     * @param jsonBody  jsonBody 消息体
+     * @param sourceKey 源属性key
+     * @param targetKey 目标缓存属性key
+     * @return true 更新,false 不更新
+     */
+    public boolean updateAttr(EmsDevice device, JSONObject jsonBody, String sourceKey, String targetKey) {
+        boolean flag = false;
+
+        try {
+            // 校验消息体是否包含属性key
+            if (!jsonBody.containsKey(sourceKey)) {
+                return flag;
+            }
+
+            // 获取属性值
+            String currentValue = jsonBody.getString(sourceKey);
+
+            // 获取缓存
+            Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(), k -> {
+                List<EmsObjAttrValue> attrList = objAttrValueService.selectByObjCode(device.getDeviceModel(), k);
+
+                if (CollectionUtils.isNotEmpty(attrList)) {
+                    return attrList.stream().collect(
+                        Collectors.toMap(EmsObjAttrValue::getAttrKey, EmsObjAttrValue::getAttrValue, (v1, v2) -> v1,
+                            ConcurrentHashMap::new));
+                }
+                else {
+                    return new ConcurrentHashMap<>();
+                }
+            });
+
+            // 从缓存中获取属性值
+            String cacheValue = attrMap.get(targetKey);
+
+            // 比较属性值是否发生变化
+            if (!StringUtils.equals(currentValue, cacheValue)) {
+                EmsObjAttrValue attrValue = new EmsObjAttrValue(device.getDeviceCode(), device.getDeviceModel(),
+                    targetKey, currentValue);
+                // 更新数据库
+                objAttrValueService.mergeObjAttrValue(attrValue);
+                // 更新缓存
+                updateCacheAfterSuccess(device.getDeviceCode(), targetKey, currentValue);
+
+                flag = true;
+            }
+        }
+        catch (Exception e) {
+            log.error("检查属性并更新失败!", e);
+        }
+
+        return flag;
     }
 
     private CallResponse<Void> checkResult(JSONObject sendObject, JSONObject receiveObject) {
@@ -269,4 +339,59 @@ public class GeekOpenCbHandler extends BaseMeterDevHandler {
 
         return response;
     }
+
+    /**
+     * 定时刷新在线状态
+     * <br/>每小时执行一次,扫描2个小时无消息的设备,标记为离线状态
+     */
+    @Override
+    public void refreshOnline(long threshold) {
+        long currentTime = new Date().getTime();
+
+        List<EmsDevice> deviceList = getDeviceList();
+
+        if (CollectionUtils.isNotEmpty(deviceList)) {
+            for (EmsDevice device : deviceList) {
+                Map<String, String> attrMap = attrCache.get(device.getDeviceCode());
+
+                if (MapUtils.isNotEmpty(attrMap) && null != attrMap.get(MQTT_LAST_TIME)) {
+                    String lastMsgTime = attrMap.get(MQTT_LAST_TIME);
+
+                    // 计算最后一次消息至今的时间差
+                    long time =
+                        currentTime - DateUtils.stringToDate(lastMsgTime, DateUtils.YYYY_MM_DD_HH_MM_SS).getTime();
+
+                    if (time > threshold) {
+                        refreshStatus(device, DevOnlineStatus.OFFLINE);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * 添加消息ID到消息中
+     *
+     * @param msg 消息
+     * @return msgBody
+     */
+    public String addMsgId(String msg, String msgIdKey, String msgIdValue) {
+        JSONObject json = JSONObject.parseObject(msg);
+        json.put(msgIdKey, msgIdValue);
+        return json.toString();
+    }
+
+    /**
+     * 发送MQTT消息
+     *
+     * @param topic    主题
+     * @param payload  负载数据
+     * @param qos      质量服务等级
+     * @param retained 是否保留消息
+     */
+    public void sendMqttMsg(String topic, String payload, int qos, boolean retained) {
+        log.info("[Send] Topic:{}, message:{}, qos:{}, retained:{}", topic, payload, qos, retained);
+        mqttTemplate.sendString(topic, payload, 2, false);
+    }
+
 }

+ 203 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/InDoorEnergyHandler.java

@@ -0,0 +1,203 @@
+/*
+ * 文 件 名:  InDoorEnergyHandler
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.handle;
+
+import com.huashe.common.utils.DateUtils;
+import com.ruoyi.ems.config.InDoorEnergyConfig;
+import com.ruoyi.ems.core.InDoorEnergyTemplate;
+import com.ruoyi.ems.domain.ElecMeterH;
+import com.ruoyi.ems.domain.EmsDevice;
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
+import com.ruoyi.ems.domain.MeterDevice;
+import com.ruoyi.ems.domain.WaterMeterH;
+import com.ruoyi.ems.model.AbilityPayload;
+import com.ruoyi.ems.model.CallResponse;
+import com.ruoyi.ems.model.Price;
+import com.ruoyi.ems.model.QueryDevice;
+import com.ruoyi.ems.model.idenergy.CodesVal;
+import com.ruoyi.ems.model.idenergy.CodesValReq;
+import org.apache.commons.collections4.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+
+/**
+ * 室内能耗对接处理
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Service
+public class InDoorEnergyHandler extends BaseMeterDevHandler {
+    private static final Logger log = LoggerFactory.getLogger(InDoorEnergyHandler.class);
+
+    // 设备模型代码
+    private static final String MODE_CODE = "M_W2_SM_INDOOR_ENERGY";
+
+    @Resource
+    private InDoorEnergyConfig config;
+
+    @Override
+    public List<MeterDevice> getMeterDeviceList() {
+        return meterDeviceService.selectByModel(MODE_CODE);
+    }
+
+    @Override
+    public CallResponse<Void> call(AbilityPayload abilityParam) {
+        return null;
+    }
+
+    @Override
+    public List<EmsDevice> getDeviceList() {
+        QueryDevice queryDevice = new QueryDevice();
+        queryDevice.setDeviceModel(MODE_CODE);
+        return deviceService.selectList(queryDevice);
+    }
+
+    @Override
+    public void refreshOnline(long threshold) {
+
+    }
+
+    /**
+     * 能耗数据抄报
+     */
+    @Override
+    public int meterHourProd() {
+        int cnt = 0;
+
+        try {
+            List<MeterDevice> deviceList = getMeterDeviceList();
+
+            if (CollectionUtils.isNotEmpty(deviceList)) {
+                List<String> deviceCodes = deviceList.stream().map(MeterDevice::getDeviceCode)  // 提取deviceCode属性
+                    .collect(Collectors.toList());
+
+                CodesValReq req = new CodesValReq(deviceCodes);
+                InDoorEnergyTemplate template = new InDoorEnergyTemplate(config.getUrl());
+                List<CodesVal> retList = template.getCodesVal(req);
+
+                // 电表过滤
+                List<MeterDevice> elecDevs = deviceList.stream()
+                    .filter(device -> device.getMeterCls() != null && device.getMeterCls() == 45)
+                    .collect(Collectors.toList());
+
+                // 电表抄表数据保存
+                if (CollectionUtils.isNotEmpty(elecDevs)) {
+                    cnt += saveElecMeterReading(elecDevs, retList);
+                }
+
+                // 水表过滤
+                List<MeterDevice> waterDevs = deviceList.stream()
+                    .filter(device -> device.getMeterCls() != null && device.getMeterCls() == 70)
+                    .collect(Collectors.toList());
+
+                // 水表抄表数据保存
+                if (CollectionUtils.isNotEmpty(waterDevs)) {
+                    cnt += saveWaterMeterReading(waterDevs, retList);
+                }
+
+                // 更新设备属性
+                updateDeviceAttr(retList);
+            }
+        }
+        catch (Exception e) {
+            log.error("能耗数据抄报异常", e);
+        }
+
+        return cnt;
+    }
+
+    private int saveElecMeterReading(List<MeterDevice> deviceList, List<CodesVal> retList) {
+        Map<String, CodesVal> retMap = retList.stream().collect(Collectors.toMap(CodesVal::getPointId, val -> val));
+        Map<String, Price> priceMap = new ConcurrentHashMap<>();
+        List<ElecMeterH> meterHList = new ArrayList<>();
+
+        for (MeterDevice device : deviceList) {
+            // 读取最新抄表值
+            CodesVal codesVal = retMap.get(device.getDeviceCode());
+
+            if (null != codesVal) {
+                // 读取最新抄表值
+                String newMeterReading = codesVal.getValue();
+                Date date = DateUtils.stringToDate(codesVal.getTime(), "yyyy-MM-dd HH:mm:ss");
+
+                // 获取设备属性缓存
+                Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(),
+                    k -> new ConcurrentHashMap<>());
+
+                // 读取历史抄表
+                String lastMeterReading = attrMap.get(LAST_HOUR_READING);
+
+                // 组装电表抄报数据
+                ElecMeterH elecMeterH = getElecMeterH(device, lastMeterReading, newMeterReading);
+
+                if (null != elecMeterH) {
+                    Price price = priceMap.computeIfAbsent(device.getAreaCode(),
+                        k -> priceService.getElecHourPrice(device.getAreaCode(), date));
+                    completeElecPrice(elecMeterH, price);
+                    meterHList.add(elecMeterH);
+                }
+            }
+        }
+
+        return CollectionUtils.isNotEmpty(meterHList) ? elecMeterHService.insertBatch(meterHList) : 0;
+    }
+
+    private int saveWaterMeterReading(List<MeterDevice> deviceList, List<CodesVal> retList) {
+        Map<String, CodesVal> retMap = retList.stream().collect(Collectors.toMap(CodesVal::getPointId, val -> val));
+        Map<String, FdEnergyPriceConfig> priceMap = new ConcurrentHashMap<>();
+        List<WaterMeterH> meterHList = new ArrayList<>();
+
+        for (MeterDevice device : deviceList) {
+            // 读取最新抄表值
+            CodesVal codesVal = retMap.get(device.getDeviceCode());
+
+            if (null != codesVal) {
+                // 读取最新抄表值
+                String newMeterReading = codesVal.getValue();
+
+                // 获取设备属性缓存
+                Map<String, String> attrMap = attrCache.computeIfAbsent(device.getDeviceCode(),
+                    k -> new ConcurrentHashMap<>());
+
+                // 读取历史抄表
+                String lastMeterReading = attrMap.get(LAST_HOUR_READING);
+
+                // 组装电表抄报数据
+                WaterMeterH waterMeterH = getWaterMeterH(device, lastMeterReading, newMeterReading);
+
+                if (null != waterMeterH) {
+                    FdEnergyPriceConfig price = priceMap.computeIfAbsent(device.getAreaCode(),
+                        k -> fdEnergyPriceConfigService.selectByAreaCode(device.getAreaCode(), 70));
+                    completeWaterPrice(waterMeterH, price);
+                    meterHList.add(waterMeterH);
+                }
+            }
+        }
+
+        return CollectionUtils.isNotEmpty(meterHList) ? waterMeterHService.insertBatch(meterHList) : 0;
+    }
+
+    private void updateDeviceAttr(List<CodesVal> retList) {
+    }
+}

+ 58 - 4
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/Keka86BsHandler.java

@@ -11,13 +11,23 @@
 package com.ruoyi.ems.handle;
 
 import com.huashe.common.exception.Assert;
+import com.huashe.common.utils.DateUtils;
+import com.ruoyi.ems.core.MqttTemplate;
 import com.ruoyi.ems.domain.EmsDevice;
 import com.ruoyi.ems.domain.EmsObjAttrValue;
+import com.ruoyi.ems.enums.DevOnlineStatus;
 import com.ruoyi.ems.model.AbilityPayload;
 import com.ruoyi.ems.model.CallResponse;
 import com.ruoyi.ems.model.QueryDevice;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.MapUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -33,6 +43,12 @@ import java.util.stream.Collectors;
  */
 @Service
 public class Keka86BsHandler extends BaseDevHandler {
+    private static final Logger log = LoggerFactory.getLogger(Keka86BsHandler.class);
+
+    @Resource
+    @Qualifier("mqttTemplate")
+    protected MqttTemplate mqttTemplate;
+
     // 主题前置
     private static final String TOPIC_PREFIX = "/sc/dtu/ctl/";
 
@@ -59,10 +75,6 @@ public class Keka86BsHandler extends BaseDevHandler {
         return callResponse;
     }
 
-    @Override
-    public void msgHandle(String deviceCode, String payload) {
-
-    }
 
     @Override
     public List<EmsDevice> getDeviceList() {
@@ -70,4 +82,46 @@ public class Keka86BsHandler extends BaseDevHandler {
         queryDevice.setDeviceModel(MODE_CODE);
         return deviceService.selectList(queryDevice);
     }
+
+    /**
+     * 定时刷新在线状态
+     * <br/>每小时执行一次,扫描2个小时无消息的设备,标记为离线状态
+     */
+    @Override
+    public void refreshOnline(long threshold) {
+        long currentTime = new Date().getTime();
+
+        List<EmsDevice> deviceList = getDeviceList();
+
+        if (CollectionUtils.isNotEmpty(deviceList)) {
+            for (EmsDevice device : deviceList) {
+                Map<String, String> attrMap = attrCache.get(device.getDeviceCode());
+
+                if (MapUtils.isNotEmpty(attrMap) && null != attrMap.get(MQTT_LAST_TIME)) {
+                    String lastMsgTime = attrMap.get(MQTT_LAST_TIME);
+
+                    // 计算最后一次消息至今的时间差
+                    long time =
+                        currentTime - DateUtils.stringToDate(lastMsgTime, DateUtils.YYYY_MM_DD_HH_MM_SS).getTime();
+
+                    if (time > threshold) {
+                        refreshStatus(device, DevOnlineStatus.OFFLINE);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * 发送MQTT消息
+     *
+     * @param topic    主题
+     * @param payload  负载数据
+     * @param qos      质量服务等级
+     * @param retained 是否保留消息
+     */
+    public void sendMqttHex(String topic, String payload, int qos, boolean retained) {
+        log.info("[Send] Topic:{}, message:{}, qos:{}, retained:{}", topic, payload, qos, retained);
+        mqttTemplate.sendHex(topic, payload, 2, false);
+    }
 }

+ 31 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/CodesVal.java

@@ -0,0 +1,31 @@
+/*
+ * 文 件 名:  CodesVal
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.model.idenergy;
+
+import lombok.Data;
+
+/**
+ * 抄表信息
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Data
+public class CodesVal {
+    private String pointId;
+
+    private String time;
+
+    private String value;
+}

+ 41 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/CodesValReq.java

@@ -0,0 +1,41 @@
+/*
+ * 文 件 名:  CodesValReq
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/7/29
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.model.idenergy;
+
+import lombok.Data;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * WEB TALK 实时数据
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/7/29]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Data
+public class CodesValReq {
+    private List<String> codes;
+
+    public CodesValReq() {
+    }
+
+    public CodesValReq(List<String> codes) {
+        this.codes = codes;
+    }
+
+    public CodesValReq(String... codes) {
+        this.codes = Arrays.asList(codes);
+    }
+}

+ 57 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/model/idenergy/Token.java

@@ -0,0 +1,57 @@
+/*
+ * 文 件 名:  Token
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.model.idenergy;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+/**
+ * Token
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public class Token {
+    @JSONField(name = "access_token")
+    private String accessToken;
+
+    @JSONField(name = "refresh_token")
+    private String refreshToken;
+
+    @JSONField(name = "token_type")
+    private String tokenType;
+
+    public String getAccessToken() {
+        return accessToken;
+    }
+
+    public void setAccessToken(String accessToken) {
+        this.accessToken = accessToken;
+    }
+
+    public String getRefreshToken() {
+        return refreshToken;
+    }
+
+    public void setRefreshToken(String refreshToken) {
+        this.refreshToken = refreshToken;
+    }
+
+    public String getTokenType() {
+        return tokenType;
+    }
+
+    public void setTokenType(String tokenType) {
+        this.tokenType = tokenType;
+    }
+}

+ 64 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/retrofit/InDoorEnergyApi.java

@@ -0,0 +1,64 @@
+/*
+ * 文 件 名:  WebTalk
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/7/28
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.ruoyi.ems.retrofit;
+
+import com.ruoyi.ems.model.idenergy.CodesValReq;
+import retrofit2.Call;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.POST;
+import retrofit2.http.Query;
+
+/**
+ * 能耗 BA 照明对接
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/7/28]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+public interface InDoorEnergyApi {
+    /**
+     * 获取TOKEN
+     *
+     * @param appId     应用ID
+     * @param grantType 认证方式
+     * @return Token
+     */
+    @GET("/_webtalk/_cur/api/access_token")
+    Call<String> getAccessToken(@Query("appId") String appId, @Query("grant_type") String grantType);
+
+    /**
+     * 刷新TOKEN
+     *
+     * @param appId        应用ID
+     * @param grantType    认证方式
+     * @param refreshToken token
+     * @return Token
+     */
+    @GET("/_webtalk/_cur/api/access_token")
+    Call<String> refreshToken(@Query("appId") String appId, @Query("grant_type") String grantType,
+        @Query("refreshToken") String refreshToken);
+
+    /**
+     * 获取实时数据
+     *
+     * @param appId 应用ID
+     * @param token 认证令牌
+     * @return 实时数据
+     */
+    @Headers({ "Content-Type: application/json" })
+    @POST("/_webtalk/_cur/api/getCodesVal")
+    Call<String> getCodesVal(@Header("appId") String appId, @Header("Token") String token, @Body CodesValReq req);
+}

+ 4 - 1
ems/ems-cloud/ems-dev-adapter/src/main/resources/application-local.yml

@@ -33,7 +33,7 @@ spring:
         # 主库数据源
         master:
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://192.168.20.210:3306/ems_ct?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+          url: jdbc:mysql://192.168.20.210:3306/ems_ct_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
           username: root
           password: root
           # 从库数据源
@@ -60,6 +60,9 @@ adapter:
     auth:
       loginName: guest
       password: 123456
+  id-energy:
+    url: http://127.0.0.1:8093
+    appId: httpsjy
 
 # mybatis配置
 mybatis:

+ 3 - 0
ems/ems-cloud/ems-dev-adapter/src/main/resources/application-prod-ct.yml

@@ -60,6 +60,9 @@ adapter:
     auth:
       loginName: guest
       password: 123456
+  id-energy:
+    url: http://172.17.50.186:80
+    appId: httpsjy
 
 # mybatis配置
 mybatis:

+ 1 - 1
ems/ems-cloud/ems-dev-adapter/src/main/resources/bootstrap.yml

@@ -10,7 +10,7 @@ spring:
     name: ems-dev-adapter
   profiles:
     # 环境配置
-    active: prod
+    active: local
   cloud:
     nacos:
       discovery:

+ 78 - 0
ems/ems-cloud/ems-dev-adapter/src/test/java/com/huashe/test/InDoorEnergyTest.java

@@ -0,0 +1,78 @@
+/*
+ * 文 件 名:  InDoorEnergyTest
+ * 版    权:  华设设计集团股份有限公司
+ * 描    述:  <描述>
+ * 修 改 人:  lvwenbin
+ * 修改时间:  2025/8/15
+ * 跟踪单号:  <跟踪单号>
+ * 修改单号:  <修改单号>
+ * 修改内容:  <修改内容>
+ */
+package com.huashe.test;
+
+import com.ruoyi.ems.EmsDevAdpApplication;
+import com.ruoyi.ems.config.InDoorEnergyConfig;
+import com.ruoyi.ems.core.InDoorEnergyTemplate;
+import com.ruoyi.ems.handle.InDoorEnergyHandler;
+import com.ruoyi.ems.model.idenergy.CodesVal;
+import com.ruoyi.ems.model.idenergy.CodesValReq;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 室内能耗采集单元测试
+ * <功能详细描述>
+ *
+ * @author lvwenbin
+ * @version [版本号, 2025/8/15]
+ * @see [相关类/方法]
+ * @since [产品/模块版本]
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = EmsDevAdpApplication.class)
+public class InDoorEnergyTest {
+    @Resource
+    private InDoorEnergyConfig config;
+
+    @Resource
+    private InDoorEnergyHandler handler;
+
+    /**
+     * 测试-获取权限
+     */
+    @Test
+    public void testGetToken() {
+        InDoorEnergyTemplate template = new InDoorEnergyTemplate(config.getUrl());
+        String token = template.getToken();
+        Assert.assertNotNull(token);
+        log.info("Token: {}", token);
+    }
+
+    @Test
+    public void testRefreshToken() {
+        InDoorEnergyTemplate template = new InDoorEnergyTemplate(config.getUrl());
+        String token = template.refreshToken();
+        Assert.assertNotNull(token);
+        log.info("Token: {}", token);
+    }
+
+    @Test
+    public void testGetCodesVal() {
+        InDoorEnergyTemplate template = new InDoorEnergyTemplate(config.getUrl());
+        List<CodesVal> retList = template.getCodesVal(new CodesValReq("C_2003_AV_0000", "C_2003_AV_0002"));
+        Assert.assertNotNull(retList);
+    }
+
+    @Test
+    public void testMeterReading() {
+        handler.meterReading();
+    }
+}

+ 70 - 0
ems/ems-cloud/ems-server/src/main/java/com/ruoyi/ems/controller/FdEnergyPriceConfigController.java

@@ -0,0 +1,70 @@
+package com.ruoyi.ems.controller;
+
+import com.huashe.common.domain.AjaxResult;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
+import com.ruoyi.ems.service.IFdEnergyPriceConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 非电能源价格配置Controller
+ *
+ * @author ruoyi
+ * @date 2025-08-16
+ */
+@RestController
+@RequestMapping("/basecfg/fdPrice")
+public class FdEnergyPriceConfigController extends BaseController {
+    @Autowired
+    private IFdEnergyPriceConfigService fdEnergyPriceConfigService;
+
+    /**
+     * 查询非电能源价格配置列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(FdEnergyPriceConfig config) {
+        startPage();
+        List<FdEnergyPriceConfig> list = fdEnergyPriceConfigService.selectList(config);
+        return getDataTable(list);
+    }
+
+    /**
+     * 获取非电能源价格配置详细信息
+     */
+    @RequiresPermissions("ems:FdEnergyPriceConfig:query")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(fdEnergyPriceConfigService.selectConfigById(id));
+    }
+
+    /**
+     * 新增非电能源价格配置
+     */
+    @Log(title = "非电能源价格配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FdEnergyPriceConfig config) {
+        return toAjax(fdEnergyPriceConfigService.insertConfig(config));
+    }
+
+    /**
+     * 修改非电能源价格配置
+     */
+    @Log(title = "非电能源价格配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FdEnergyPriceConfig config) {
+        return toAjax(fdEnergyPriceConfigService.updateConfig(config));
+    }
+}

+ 11 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/EmsObjAttrDto.java

@@ -38,6 +38,9 @@ public class EmsObjAttrDto {
     /** 属性值名称 */
     private String attrValueName;
 
+    /** 属性值名称 */
+    private String attrValueType;
+
     /** 属性值单位 */
     private String attrUnit;
 
@@ -99,4 +102,12 @@ public class EmsObjAttrDto {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public String getAttrValueType() {
+        return attrValueType;
+    }
+
+    public void setAttrValueType(String attrValueType) {
+        this.attrValueType = attrValueType;
+    }
 }

+ 115 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/FdEnergyPriceConfig.java

@@ -0,0 +1,115 @@
+package com.ruoyi.ems.domain;
+
+import com.huashe.common.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+
+/**
+ * 非电能源价格配置对象 adm_fd_energyprice_config
+ * 
+ * @author ruoyi
+ * @date 2025-08-16
+ */
+public class FdEnergyPriceConfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 配置代码 */
+    private String cfgCode;
+
+    /** 园区代码 */
+    private String areaCode;
+
+    private String areaName;
+
+    /** 计量介质 */
+    private Integer meterCls;
+
+    private String meterClsName;
+
+    /** 单位价格 */
+    private Double unitPrice;
+
+    /** 计量单位 */
+    private String meterUnit;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCfgCode() {
+        return cfgCode;
+    }
+
+    public void setCfgCode(String cfgCode) {
+        this.cfgCode = cfgCode;
+    }
+
+    public String getAreaCode() {
+        return areaCode;
+    }
+
+    public void setAreaCode(String areaCode) {
+        this.areaCode = areaCode;
+    }
+
+    public String getAreaName() {
+        return areaName;
+    }
+
+    public void setAreaName(String areaName) {
+        this.areaName = areaName;
+    }
+
+    public Integer getMeterCls() {
+        return meterCls;
+    }
+
+    public void setMeterCls(Integer meterCls) {
+        this.meterCls = meterCls;
+    }
+
+    public String getMeterClsName() {
+        return meterClsName;
+    }
+
+    public void setMeterClsName(String meterClsName) {
+        this.meterClsName = meterClsName;
+    }
+
+    public Double getUnitPrice() {
+        return unitPrice;
+    }
+
+    public void setUnitPrice(Double unitPrice) {
+        this.unitPrice = unitPrice;
+    }
+
+    public String getMeterUnit() {
+        return meterUnit;
+    }
+
+    public void setMeterUnit(String meterUnit) {
+        this.meterUnit = meterUnit;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("cfgCode", getCfgCode())
+            .append("areaCode", getAreaCode())
+            .append("meterCls", getMeterCls())
+            .append("unitPrice", getUnitPrice())
+            .append("meterUnit", getMeterUnit())
+            .toString();
+    }
+}

+ 13 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/MeterDevice.java

@@ -22,6 +22,11 @@ public class MeterDevice extends BaseEntity {
     private String areaCode;
 
     /**
+     * 组别
+     */
+    private String deviceModel;
+
+    /**
      * 设备代码
      */
     private String deviceCode;
@@ -87,6 +92,14 @@ public class MeterDevice extends BaseEntity {
         this.areaCode = areaCode;
     }
 
+    public String getDeviceModel() {
+        return deviceModel;
+    }
+
+    public void setDeviceModel(String deviceModel) {
+        this.deviceModel = deviceModel;
+    }
+
     public String getDeviceCode() {
         return deviceCode;
     }

+ 11 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/domain/WaterMeterH.java

@@ -62,6 +62,9 @@ public class WaterMeterH extends BaseEntity
     @Excel(name = "小时水费")
     private Double useWaterCost;
 
+    /** 抄表读数 */
+    private Double meterReading;
+
     public Long getId() {
         return id;
     }
@@ -150,6 +153,14 @@ public class WaterMeterH extends BaseEntity
         this.useWaterCost = useWaterCost;
     }
 
+    public Double getMeterReading() {
+        return meterReading;
+    }
+
+    public void setMeterReading(Double meterReading) {
+        this.meterReading = meterReading;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 5 - 4
ems/ems-core/src/main/java/com/ruoyi/ems/enums/MeterObjTag.java

@@ -20,11 +20,12 @@ package com.ruoyi.ems.enums;
  * @since [产品/模块版本]
  */
 public enum MeterObjTag {
-    // 公摊
-    SHARED(0),
-
+    // 未知
+    NULL(0),
     // 个体
-    INDIVIDUAL(1);
+    INDIVIDUAL(1),
+    // 公摊
+    SHARED(2);
 
     private int tagValue;
 

+ 53 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/FdEnergyPriceConfigMapper.java

@@ -0,0 +1,53 @@
+package com.ruoyi.ems.mapper;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
+
+/**
+ * 非电能源价格配置Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-08-16
+ */
+public interface FdEnergyPriceConfigMapper {
+    /**
+     * 查询非电能源价格配置
+     *
+     * @param id 非电能源价格配置主键
+     * @return 非电能源价格配置
+     */
+    FdEnergyPriceConfig selectConfigById(Long id);
+
+    /**
+     * 查询非电能源价格配置列表
+     *
+     * @param config 非电能源价格配置
+     * @return 非电能源价格配置集合
+     */
+    List<FdEnergyPriceConfig> selectList(FdEnergyPriceConfig config);
+
+    /**
+     * 新增非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    int insertConfig(FdEnergyPriceConfig config);
+
+    /**
+     * 修改非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    int updateConfig(FdEnergyPriceConfig config);
+
+    /**
+     * 删除非电能源价格配置
+     *
+     * @param id 非电能源价格配置主键
+     * @return 结果
+     */
+    int deleteById(Long id);
+}

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

@@ -44,10 +44,10 @@ public interface MeterDeviceMapper {
     /**
      * 查询计量设备列表
      *
-     * @param queryDevice 计量设备
+     * @param deviceModel 设备型号
      * @return 计量设备集合
      */
-    List<MeterDevice> selectByModel(QueryDevice queryDevice);
+    List<MeterDevice> selectByModel(String deviceModel);
 
     /**
      * 新增计量设备

+ 8 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/mapper/WaterMeterHMapper.java

@@ -23,6 +23,13 @@ public interface WaterMeterHMapper {
     List<WaterMeterH> selectWaterMeterHList(QueryMeter queryMeter);
 
     /**
+     * 批量插入用水计量-小时数据
+     * @param list 待插入的用水计量-小时数据列表
+     * @return 插入的记录数
+     */
+    int insertBatch(List<WaterMeterH> list);
+
+    /**
      * 查询用电计量-小时列表
      *
      * @param queryMeter 查询计量条件
@@ -54,6 +61,7 @@ public interface WaterMeterHMapper {
      */
     int deleteWaterMeterHByDate(@Param("date") String date);
 
+    WaterMeterH selectLatelyItem(@Param("deviceCode") String deviceCode);
 
     EnergyMeter qryWaterMeterByDate(WaterMeterH waterMeterH);
 

+ 10 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/model/QueryDevice.java

@@ -28,6 +28,8 @@ public class QueryDevice {
     /** 设备名称 */
     private String deviceName;
 
+    private String group;
+
     /** 设备分类 */
     private String deviceCategory;
 
@@ -87,6 +89,14 @@ public class QueryDevice {
         this.deviceCode = deviceCode;
     }
 
+    public String getGroup() {
+        return group;
+    }
+
+    public void setGroup(String group) {
+        this.group = group;
+    }
+
     public String getDeviceName() {
         return deviceName;
     }

+ 61 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/IFdEnergyPriceConfigService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.ems.service;
+
+import java.util.List;
+
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
+
+/**
+ * 非电能源价格配置Service接口
+ *
+ * @author ruoyi
+ * @date 2025-08-16
+ */
+public interface IFdEnergyPriceConfigService {
+    /**
+     * 查询非电能源价格配置
+     *
+     * @param id 非电能源价格配置主键
+     * @return 非电能源价格配置
+     */
+    FdEnergyPriceConfig selectConfigById(Long id);
+
+    /**
+     * 查询非电能源价格配置列表
+     *
+     * @param config 非电能源价格配置
+     * @return 非电能源价格配置集合
+     */
+    List<FdEnergyPriceConfig> selectList(FdEnergyPriceConfig config);
+
+    /**
+     * 查询价格策略
+     * @param areaCode 区域编码
+     * @param meterCls 计量介质
+     * @return 价格配置
+     */
+    FdEnergyPriceConfig selectByAreaCode(String areaCode, int meterCls);
+
+    /**
+     * 新增非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    int insertConfig(FdEnergyPriceConfig config);
+
+    /**
+     * 修改非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    int updateConfig(FdEnergyPriceConfig config);
+
+    /**
+     * 删除非电能源价格配置信息
+     *
+     * @param id 非电能源价格配置主键
+     * @return 结果
+     */
+    int deleteById(Long id);
+}

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

@@ -41,10 +41,10 @@ public interface IMeterDeviceService {
     /**
      * 查询计量设备列表
      *
-     * @param queryDevice 模型编码
+     * @param deviceModel 模型编码
      * @return 计量设备集合
      */
-    List<MeterDevice> selectByModel(QueryDevice queryDevice);
+    List<MeterDevice> selectByModel(String deviceModel);
 
     /**
      * 查询区域计量表计

+ 16 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/IWaterMeterHService.java

@@ -23,6 +23,14 @@ public interface IWaterMeterHService {
     List<WaterMeterH> selectWaterMeterHList(QueryMeter queryMeter);
 
     /**
+     * 新增用电计量-小时
+     *
+     * @param list 用电计量-小时
+     * @return 结果
+     */
+    int insertBatch(List<WaterMeterH> list);
+
+    /**
      * 新增用水计量-小时
      *
      * @param waterMeterH 用水计量-小时
@@ -46,6 +54,14 @@ public interface IWaterMeterHService {
      */
     int deleteWaterMeterHByDate(String date);
 
+    /**
+     * 查询最近的一条记录
+     *
+     * @param deviceCode 设备编码
+     * @return 用电计量-小时集合
+     */
+    WaterMeterH selectLatelyItem(String deviceCode);
+
     EnergyMeter qryWaterMeterByDate(String dataRange, String areaCode);
 
     List<WaterMeterH> qryTimeIndexWaterMeterByDay(String dataRange,Integer timeIndex);

+ 94 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/FdEnergyPriceConfigServiceImpl.java

@@ -0,0 +1,94 @@
+package com.ruoyi.ems.service.impl;
+
+import com.ruoyi.ems.domain.FdEnergyPriceConfig;
+import com.ruoyi.ems.mapper.FdEnergyPriceConfigMapper;
+import com.ruoyi.ems.service.IFdEnergyPriceConfigService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 非电能源价格配置Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2025-08-16
+ */
+@Service
+public class FdEnergyPriceConfigServiceImpl implements IFdEnergyPriceConfigService {
+    @Autowired
+    private FdEnergyPriceConfigMapper fdEnergyPriceConfigMapper;
+
+    /**
+     * 查询非电能源价格配置
+     *
+     * @param id 非电能源价格配置主键
+     * @return 非电能源价格配置
+     */
+    @Override
+    public FdEnergyPriceConfig selectConfigById(Long id) {
+        return fdEnergyPriceConfigMapper.selectConfigById(id);
+    }
+
+    /**
+     * 查询非电能源价格配置列表
+     *
+     * @param config 非电能源价格配置
+     * @return 非电能源价格配置
+     */
+    @Override
+    public List<FdEnergyPriceConfig> selectList(FdEnergyPriceConfig config) {
+        return fdEnergyPriceConfigMapper.selectList(config);
+    }
+
+    @Override
+    public FdEnergyPriceConfig selectByAreaCode(String areaCode, int meterCls) {
+        FdEnergyPriceConfig param = new FdEnergyPriceConfig();
+        param.setAreaCode(areaCode);
+        param.setMeterCls(meterCls);
+        List<FdEnergyPriceConfig> list = fdEnergyPriceConfigMapper.selectList(param);
+
+        if (CollectionUtils.isEmpty(list)) {
+            FdEnergyPriceConfig param1 = new FdEnergyPriceConfig();
+            param.setAreaCode("-1");
+            param.setMeterCls(meterCls);
+            list = fdEnergyPriceConfigMapper.selectList(param);
+        }
+
+        return list.get(0);
+    }
+
+    /**
+     * 新增非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    @Override
+    public int insertConfig(FdEnergyPriceConfig config) {
+        return fdEnergyPriceConfigMapper.insertConfig(config);
+    }
+
+    /**
+     * 修改非电能源价格配置
+     *
+     * @param config 非电能源价格配置
+     * @return 结果
+     */
+    @Override
+    public int updateConfig(FdEnergyPriceConfig config) {
+        return fdEnergyPriceConfigMapper.updateConfig(config);
+    }
+
+    /**
+     * 删除非电能源价格配置信息
+     *
+     * @param id 非电能源价格配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteById(Long id) {
+        return fdEnergyPriceConfigMapper.deleteById(id);
+    }
+}

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

@@ -57,8 +57,8 @@ public class MeterDeviceServiceImpl implements IMeterDeviceService {
     }
 
     @Override
-    public List<MeterDevice> selectByModel(QueryDevice queryDevice) {
-        return meterDeviceMapper.selectByModel(queryDevice);
+    public List<MeterDevice> selectByModel(String deviceModel) {
+        return meterDeviceMapper.selectByModel(deviceModel);
     }
 
     @Override

+ 9 - 0
ems/ems-core/src/main/java/com/ruoyi/ems/service/impl/WaterMeterHServiceImpl.java

@@ -33,6 +33,11 @@ public class WaterMeterHServiceImpl implements IWaterMeterHService {
         return waterMeterHMapper.selectWaterMeterHList(queryMeter);
     }
 
+    @Override
+    public int insertBatch(List<WaterMeterH> list) {
+        return waterMeterHMapper.insertBatch(list);
+    }
+
     /**
      * 新增用水计量-小时
      *
@@ -67,6 +72,10 @@ public class WaterMeterHServiceImpl implements IWaterMeterHService {
         return waterMeterHMapper.deleteWaterMeterHByDate(date);
     }
 
+    @Override
+    public WaterMeterH selectLatelyItem(String deviceCode) {
+        return waterMeterHMapper.selectLatelyItem(deviceCode);
+    }
 
     @Override
     public EnergyMeter qryWaterMeterByDate(String dataRange, String areaCode) {

+ 2 - 1
ems/ems-core/src/main/resources/mapper/ems/EmsObjAttrMapper.xml

@@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="attrValue"    column="attr_value"    />
         <result property="attrValueName"    column="attr_value_name"    />
         <result property="attrUnit"    column="attr_unit"    />
+        <result property="attrValueType"    column="attr_value_type"    />
         <result property="updateTime"    column="update_time"    />
     </resultMap>
 
@@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectObjAttrDto"  resultMap="ObjAttrDtoResult">
         select
-            a.attr_group, a.attr_key, a.attr_name, v.attr_value, e.attr_value_name, a.attr_unit, v.update_time from  adm_ems_obj_attr a
+            a.attr_group, a.attr_key, a.attr_name, v.attr_value, e.attr_value_name, a.attr_unit, a.attr_value_type, v.update_time from  adm_ems_obj_attr a
         left join
             (
                select

+ 72 - 0
ems/ems-core/src/main/resources/mapper/ems/FdEnergyPriceConfigMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ems.mapper.FdEnergyPriceConfigMapper">
+    
+    <resultMap type="FdEnergyPriceConfig" id="FdEnergyPriceConfigResult">
+        <result property="id"    column="id"    />
+        <result property="cfgCode"    column="cfg_code"    />
+        <result property="areaCode"    column="area_code"    />
+        <result property="areaName"    column="area_name"    />
+        <result property="meterCls"    column="meter_cls"    />
+        <result property="meterClsName"    column="meter_cls_name"    />
+        <result property="unitPrice"    column="unit_price"    />
+        <result property="meterUnit"    column="meter_unit"    />
+    </resultMap>
+
+    <sql id="selectConfigVo">
+        select id, cfg_code, area_code, meter_cls, unit_price, meter_unit from adm_fd_energyprice_config
+    </sql>
+
+    <select id="selectList" parameterType="FdEnergyPriceConfig" resultMap="FdEnergyPriceConfigResult">
+        select
+            c.id, c.cfg_code, c.area_code, a.area_name, c.meter_cls, ec.`name` as meter_cls_name, c.unit_price, c.meter_unit from adm_fd_energyprice_config c
+          left join adm_area a on c.area_code = a.area_code
+          left join dim_gb_ems_cls ec on c.meter_cls = ec.`code`
+        <where>  
+            <if test="cfgCode != null  and cfgCode != ''"> and c.cfg_code = #{cfgCode}</if>
+            <if test="areaCode != null  and areaCode != ''"> and c.area_code = #{areaCode}</if>
+            <if test="meterCls != null "> and c.meter_cls = #{meterCls}</if>
+        </where>
+    </select>
+    
+    <select id="selectConfigById" parameterType="Long" resultMap="FdEnergyPriceConfigResult">
+        <include refid="selectConfigVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertConfig" parameterType="FdEnergyPriceConfig" useGeneratedKeys="true" keyProperty="id">
+        insert into adm_fd_energyprice_config
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="cfgCode != null and cfgCode != ''">cfg_code,</if>
+            <if test="areaCode != null">area_code,</if>
+            <if test="meterCls != null">meter_cls,</if>
+            <if test="unitPrice != null">unit_price,</if>
+            <if test="meterUnit != null">meter_unit,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="cfgCode != null and cfgCode != ''">#{cfgCode},</if>
+            <if test="areaCode != null">#{areaCode},</if>
+            <if test="meterCls != null">#{meterCls},</if>
+            <if test="unitPrice != null">#{unitPrice},</if>
+            <if test="meterUnit != null">#{meterUnit},</if>
+         </trim>
+    </insert>
+
+    <update id="updateConfig" parameterType="FdEnergyPriceConfig">
+        update adm_fd_energyprice_config
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="cfgCode != null and cfgCode != ''">cfg_code = #{cfgCode},</if>
+            <if test="areaCode != null">area_code = #{areaCode},</if>
+            <if test="meterCls != null">meter_cls = #{meterCls},</if>
+            <if test="unitPrice != null">unit_price = #{unitPrice},</if>
+            <if test="meterUnit != null">meter_unit = #{meterUnit},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteById" parameterType="Long">
+        delete from adm_fd_energyprice_config where id = #{id}
+    </delete>
+</mapper>

+ 10 - 10
ems/ems-core/src/main/resources/mapper/ems/MeterDeviceMapper.xml

@@ -7,6 +7,7 @@
     <resultMap type="com.ruoyi.ems.domain.MeterDevice" id="meterDeviceResult">
         <result property="id" column="id"/>
         <result property="areaCode" column="area_code"/>
+        <result property="deviceModel" column="device_model"/>
         <result property="deviceCode" column="device_code"/>
         <result property="deviceName" column="device_name"/>
         <result property="location" column="location"/>
@@ -22,6 +23,7 @@
     <sql id="selectMeterDeviceVo">
         select id,
                area_code,
+               device_model,
                device_code,
                device_name,
                location,
@@ -41,8 +43,9 @@
             <if test="deviceCode != null and deviceCode != ''">and device_code = #{deviceCode}</if>
             <if test="deviceName != null and deviceName != ''">and device_name like concat('%', #{deviceName}, '%')</if>
             <if test="areaCode != null and areaCode != ''">and area_code = #{areaCode}</if>
+            <if test="deviceModel != null and deviceModel != ''">and device_model = #{deviceModel}</if>
             <if test="meterCls != null and meterCls != ''">and meter_cls = #{meterCls}</if>
-            <if test="objTag != null and objTag != ''">and obj_tag = #{objTag}</if>
+            <if test="objTag != null">and obj_tag = #{objTag}</if>
             <if test="colMode != null ">and col_mode = #{colMode}</if>
             <if test="locationRef != null and locationRef != '' and areaCodes != null">
                 and `location_ref` in
@@ -55,17 +58,10 @@
 
     <select id="selectByModel" parameterType="com.ruoyi.ems.model.QueryDevice" resultMap="meterDeviceResult">
         select
-        m.id, m.area_code, m.device_code, m.device_name, m.location, m.location_ref, m.meter_cls, m.obj_tag,
+        m.id, m.area_code, m.device_model, m.device_code, m.device_name, m.location, m.location_ref, m.meter_cls, m.obj_tag,
         m.col_cycle, m.col_mode, m.magnification, m.spec_desc
         from adm_meter_device m
-        left join adm_ems_device d on m.device_code = d.device_code
-        <where>
-            d.device_model = #{deviceModel}
-            <if test="areaCode != null and areaCode != ''">and area_code = #{areaCode}</if>
-            <if test="meterCls != null and meterCls != ''">and meter_cls = #{meterCls}</if>
-            <if test="objTag != null and objTag != ''">and obj_tag = #{objTag}</if>
-            <if test="colMode != null ">and col_mode = #{colMode}</if>
-        </where>
+        where m.device_model = #{deviceModel}
     </select>
 
     <select id="selectMeterDeviceById" parameterType="Long" resultMap="meterDeviceResult">
@@ -81,6 +77,7 @@
     <select id="selectMeterDeviceByObj" resultMap="meterDeviceResult">
         select m.id,
                m.area_code,
+               m.device_model,
                m.device_code,
                m.device_name,
                m.location,
@@ -106,6 +103,7 @@
         insert into adm_meter_device
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">area_code,</if>
+            <if test="deviceModel != null and deviceModel != ''">device_model,</if>
             <if test="deviceCode != null and deviceCode != ''">device_code,</if>
             <if test="deviceName != null and deviceName != ''">device_name,</if>
             <if test="locationRef != null and locationRef != ''">location_ref,</if>
@@ -119,6 +117,7 @@
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
+            <if test="deviceModel != null and deviceModel != ''">#{deviceModel},</if>
             <if test="deviceCode != null and deviceCode != ''">#{deviceCode},</if>
             <if test="deviceName != null and deviceName != ''">#{deviceName},</if>
             <if test="locationRef != null and locationRef != ''">#{locationRef},</if>
@@ -136,6 +135,7 @@
         update adm_meter_device
         <trim prefix="SET" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">area_code = #{areaCode},</if>
+            <if test="deviceModel != null and deviceModel != ''">device_model = #{deviceModel},</if>
             <if test="deviceCode != null and deviceCode != ''">device_code = #{deviceCode},</if>
             <if test="deviceName != null and deviceName != ''">device_name = #{deviceName},</if>
             <if test="locationRef != null and locationRef != ''">location_ref = #{locationRef},</if>

+ 21 - 7
ems/ems-core/src/main/resources/mapper/ems/WaterMeterHMapper.xml

@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="meterUnitPrice"    column="meter_unit_price"    />
         <result property="createTime"    column="create_time"    />
         <result property="useWaterCost"    column="use_water_cost"    />
+        <result property="meterReading" column="meter_reading"/>
     </resultMap>
 
     <resultMap type="com.ruoyi.ems.domain.EnergyMeter" id="WaterMeterResult">
@@ -29,12 +30,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectWaterMeterHVo">
-        select id, area_code, device_code, record_time, `date`, `time`, time_index, water_quantity, meter_unit_price, use_water_cost, create_time from adm_water_meter_h
+        select id, area_code, device_code, record_time, `date`, `time`, time_index, water_quantity, meter_unit_price, use_water_cost, meter_reading, create_time from adm_water_meter_h
     </sql>
 
     <select id="selectWaterMeterHList" parameterType="com.ruoyi.ems.model.QueryMeter" resultMap="WaterMeterHResult">
         select
-            m.id, m.area_code, m.device_code, d.device_name, m.record_time, m.`date`, m.`time`, m.time_index, m.water_quantity, m.meter_unit_price, m.use_water_cost, m.create_time
+            m.id, m.area_code, m.device_code, d.device_name, m.record_time, m.`date`, m.`time`, m.time_index, m.water_quantity, m.meter_unit_price, m.use_water_cost, m.meter_reading, m.create_time
         from adm_water_meter_h m
           left join adm_meter_device d on m.device_code = d.device_code
         <where>  
@@ -50,12 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           m.area_code,
           m.device_code,
           d.device_name,
-          m.record_time,
-          m.`date`,
-          m.`time`,
-          m.time_index,
           sum(m.water_quantity) as water_quantity,
-          m.meter_unit_price,
           sum(m.use_water_cost) as use_elec_cost
         from adm_water_meter_h m
             left join adm_meter_device d on m.device_code = d.device_code
@@ -77,6 +73,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         group by device_code, `date`, time_index
     </select>
 
+    <insert id="insertBatch" parameterType="java.util.List">
+        insert into adm_water_meter_h (area_code, device_code, record_time, `date`, `time`, time_index, water_quantity, meter_unit_price, use_water_cost, meter_reading)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.areaCode}, #{item.deviceCode}, #{item.recordTime}, #{item.date}, #{item.time}, #{item.timeIndex},
+            #{item.waterQuantity}, #{item.meterUnitPrice}, #{item.useWaterCost}, #{item.meterReading})
+        </foreach>
+    </insert>
+
     <insert id="insertWaterMeterH" parameterType="com.ruoyi.ems.domain.WaterMeterH" useGeneratedKeys="true" keyProperty="id">
         insert into adm_water_meter_h
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -89,6 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="waterQuantity != null">water_quantity,</if>
             <if test="meterUnitPrice != null">meter_unit_price,</if>
             <if test="useWaterCost != null">use_water_cost,</if>
+            <if test="meterReading != null">meter_reading,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="areaCode != null and areaCode != ''">#{areaCode},</if>
@@ -100,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="waterQuantity != null">#{waterQuantity},</if>
             <if test="meterUnitPrice != null">#{meterUnitPrice},</if>
             <if test="useWaterCost != null">#{useWaterCost},</if>
+            <if test="meterReading != null">#{meterReading},</if>
          </trim>
     </insert>
 
@@ -115,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="waterQuantity != null">water_quantity = #{waterQuantity},</if>
             <if test="meterUnitPrice != null">meter_unit_price = #{meterUnitPrice},</if>
             <if test="useWaterCost != null">use_water_cost = #{useWaterCost},</if>
+            <if test="meterReading != null">meter_reading = #{meterReading},</if>
         </trim>
         where id = #{id}
     </update>
@@ -123,6 +131,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         delete from adm_water_meter_h where `date` = #{date}
     </delete>
 
+    <select id="selectLatelyItem" parameterType="java.lang.String" resultMap="WaterMeterResult">
+        <include refid="selectWaterMeterHVo"/>
+        where device_code = #{deviceCode}
+        ORDER BY record_time desc limit 1
+    </select>
+
     <select id="qryWaterMeterByDate" parameterType="WaterMeterH" resultMap="WaterMeterResult">
         SELECT sum(water_quantity) water_quantity,
                SUM(use_water_cost) use_water_cost

+ 388 - 635
ems/sql/ems_init_data.sql

@@ -6,216 +6,136 @@ INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `s
 -- 建筑
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300100', '321283124S3001', '0,321283124S3001', '北区本级', '北区', '北区', 0, 0);
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300101', '321283124S3001', '0,321283124S3001', '综合楼', '综合楼', '北区中部', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300102', '321283124S3001', '0,321283124S3001', '配电泵房', '配电泵房', '北区西北角', 2, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300103', '321283124S3001', '0,321283124S3001', '维修间&货车之家', '维修站', '北区东侧', 3, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300104', '321283124S3001', '0,321283124S3001', '加油站', '加油站', '北区西南角', 4, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300105', '321283124S3001', '0,321283124S3001', '警务站', '警务站', '北区东北角', 5, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300106', '321283124S3001', '0,321283124S3001', '停车位', '停车位', '北区广场', 6, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300150', '321283124S3001', '0,321283124S3001', '北区光伏', '光伏', '北区', 7, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300102', '321283124S3001', '0,321283124S3001', '司机之家', '司机之家', '司机之家', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300103', '321283124S3001', '0,321283124S3001', '警务室', '警务室', '北区东北角', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300104', '321283124S3001', '0,321283124S3001', '北区广场', '北区广场', '北区广场', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300150', '321283124S3001', '0,321283124S3001', '北区光伏', '光伏', '北区光伏', 5, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300160', '321283124S3001', '0,321283124S3001', '北区储能', '储能', '北区储能', 6, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300170', '321283124S3001', '0,321283124S3001', '北区充电桩', '充电桩', '北区充电桩', 7, 0);
+
 
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300200', '321283124S3002', '0,321283124S3002', '南区本级', '南区', '南区', 0, 0);
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300201', '321283124S3002', '0,321283124S3002', '综合楼', '综合楼', '南区中部', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300202', '321283124S3002', '0,321283124S3002', '配电泵房', '配电泵房', '南区东南角', 2, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300203', '321283124S3002', '0,321283124S3002', '维修间&货车之家', '维修站', '南区西侧', 3, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300204', '321283124S3002', '0,321283124S3002', '加油站', '加油站', '南区东北角', 4, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300205', '321283124S3002', '0,321283124S3002', '宿舍楼', '警务站', '南区西南角', 5, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300206', '321283124S3002', '0,321283124S3002', '停车位', '停车位', '南区广场', 6, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300250', '321283124S3002', '0,321283124S3002', '南区光伏', '光伏', '南区', 7, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300202', '321283124S3002', '0,321283124S3002', '司机之家', '司机之家', '南区西侧', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300203', '321283124S3002', '0,321283124S3002', '宿舍楼', '宿舍楼', '南区西南角', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300204', '321283124S3002', '0,321283124S3002', '南区广场', '南区广场', '南区广场', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300250', '321283124S3002', '0,321283124S3002', '南区光伏', '光伏', '南区', 5, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300260', '321283124S3002', '0,321283124S3002', '南区储能', '储能', '南区储能', 6, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S300270', '321283124S3002', '0,321283124S3002', '南区充电桩', '充电桩', '南区充电桩', 7, 0);
 
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('S30K140-S30K150', '321283124S3003', '0,321283124S3003', '桩号段S30K140-S30K150', '桩号段S30K140-S30K150', '区段S30K140+300-S30K150+200', 1, 0);
 INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('S30K150-S30K180', '321283124S3003', '0,321283124S3003', '桩号段S30K140-S30K150', '桩号段S30K140-S30K150', '区段S30K150+300-S30K180+300', 2, 0);
 
-
 -- 区块
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-101', '321283124S300101', '0,321283124S3001,321283124S300101', '开水泡面间', '开水泡面间', '开水泡面', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-102', '321283124S300101', '0,321283124S3001,321283124S300101', '超市', '超市', '超市', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-103', '321283124S300101', '0,321283124S3001,321283124S300101', '中式糕点', '中式糕点', '中式糕点', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-104', '321283124S300101', '0,321283124S3001,321283124S300101', '特色产品市集', '特色产品市集', '特色产品市集', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-105', '321283124S300101', '0,321283124S3001,321283124S300101', '奶茶&咖啡', '奶茶&咖啡', '奶茶&咖啡', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-106', '321283124S300101', '0,321283124S3001,321283124S300101', '中式套餐', '中式套餐', '中式套餐', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-107', '321283124S300101', '0,321283124S3001,321283124S300101', '特色小吃', '特色小吃', '特色小吃', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-108', '321283124S300101', '0,321283124S3001,321283124S300101', '串串&卤味', '串串&卤味', '串串&卤味', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-109', '321283124S300101', '0,321283124S3001,321283124S300101', '糖葫芦&水果', '糖葫芦&水果', '糖葫芦&水果', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-110', '321283124S300101', '0,321283124S3001,321283124S300101', '美食广场', '美食广场', '美食广场', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-111', '321283124S300101', '0,321283124S3001,321283124S300101', '男卫', '男卫', '男卫', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-112', '321283124S300101', '0,321283124S3001,321283124S300101', '男盥洗室', '男盥洗室', '男盥洗室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-113', '321283124S300101', '0,321283124S3001,321283124S300101', '女卫', '女卫', '女卫', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-114', '321283124S300101', '0,321283124S3001,321283124S300101', '女盥洗室', '女盥洗室', '女盥洗室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-115', '321283124S300101', '0,321283124S3001,321283124S300101', '工具间1', '工具间1', '工具间1', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-116', '321283124S300101', '0,321283124S3001,321283124S300101', '工具间2', '工具间2', '工具间2', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-117', '321283124S300101', '0,321283124S3001,321283124S300101', '工具间3', '工具间3', '工具间3', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-118', '321283124S300101', '0,321283124S3001,321283124S300101', '工具间4', '工具间4', '工具间4', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-119', '321283124S300101', '0,321283124S3001,321283124S300101', '货车服务空间', '货车服务空间', '货车服务空间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-120', '321283124S300102', '0,321283124S3001,321283124S300102', '配电间', '配电间', '配电间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-121', '321283124S300102', '0,321283124S3001,321283124S300102', '水泵间', '水泵间', '水泵间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-122', '321283124S300102', '0,321283124S3001,321283124S300102', '控制间', '控制间', '控制间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-123', '321283124S300103', '0,321283124S3001,321283124S300103', '维修车间', '维修车间', '维修车间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-124', '321283124S300103', '0,321283124S3001,321283124S300103', '办公室', '办公室', '办公室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-125', '321283124S300104', '0,321283124S3001,321283124S300104', '加油站区', '加油站区', '加油站区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-126', '321283124S300104', '0,321283124S3001,321283124S300104', '油罐区', '油罐区', '油罐区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-127', '321283124S300104', '0,321283124S3001,321283124S300104', '营业区', '营业区', '营业区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-128', '321283124S300104', '0,321283124S3001,321283124S300104', '辅助区', '辅助区', '辅助区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-129', '321283124S300105', '0,321283124S3001,321283124S300105', '接待区', '接待区', '接待区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-130', '321283124S300105', '0,321283124S3001,321283124S300105', '指挥室', '指挥室', '指挥室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-131', '321283124S300105', '0,321283124S3001,321283124S300105', '调解室', '调解室', '调解室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-132', '321283124S300105', '0,321283124S3001,321283124S300105', '便民服务区', '便民服务区', '便民服务区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-XK', '321283124S300106', '0,321283124S3001,321283124S300106', '小客停车位', '小客停车位', '小客停车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-CD', '321283124S300106', '0,321283124S3001,321283124S300106', '充电车位', '充电车位', '充电车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-WZA', '321283124S300106', '0,321283124S3001,321283124S300106', '无障碍车位', '无障碍车位', '无障碍车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-DKC', '321283124S300106', '0,321283124S3001,321283124S300106', '大客车停车位', '大客车停车位', '大客车停车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-HC', '321283124S300106', '0,321283124S3001,321283124S300106', '货车车位', '货车车位', '货车车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_CW-WXP', '321283124S300106', '0,321283124S3001,321283124S300106', '危险品车位', '危险品车位', '危险品车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_99-ZHLD', '321283124S300150', '0,321283124S3001,321283124S300199', '综合楼顶', '综合楼顶', '综合楼顶', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3001_99-CPD', '321283124S300150', '0,321283124S3001,321283124S300199', '车棚顶', '车棚顶', '车棚顶', 1, 0);
-
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-101', '321283124S300201', '0,321283124S3002,321283124S300201', '开水泡面间', '开水泡面间', '开水泡面', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-102', '321283124S300201', '0,321283124S3002,321283124S300201', '超市', '超市', '超市', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-103', '321283124S300201', '0,321283124S3002,321283124S300201', '中式糕点', '中式糕点', '中式糕点', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-104', '321283124S300201', '0,321283124S3002,321283124S300201', '特色产品市集', '特色产品市集', '特色产品市集', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-105', '321283124S300201', '0,321283124S3002,321283124S300201', '奶茶&咖啡', '奶茶&咖啡', '奶茶&咖啡', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-106', '321283124S300201', '0,321283124S3002,321283124S300201', '中式套餐', '中式套餐', '中式套餐', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-107', '321283124S300201', '0,321283124S3002,321283124S300201', '特色小吃', '特色小吃', '特色小吃', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-108', '321283124S300201', '0,321283124S3002,321283124S300201', '串串&卤味', '串串&卤味', '串串&卤味', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-109', '321283124S300201', '0,321283124S3002,321283124S300201', '糖葫芦&水果', '糖葫芦&水果', '糖葫芦&水果', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-110', '321283124S300201', '0,321283124S3002,321283124S300201', '美食广场', '美食广场', '美食广场', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-111', '321283124S300201', '0,321283124S3002,321283124S300201', '男卫', '男卫', '男卫', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-112', '321283124S300201', '0,321283124S3002,321283124S300201', '男盥洗室', '男盥洗室', '男盥洗室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-113', '321283124S300201', '0,321283124S3002,321283124S300201', '女卫', '女卫', '女卫', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-114', '321283124S300201', '0,321283124S3002,321283124S300201', '女盥洗室', '女盥洗室', '女盥洗室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-115', '321283124S300201', '0,321283124S3002,321283124S300201', '工具间1', '工具间1', '工具间1', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-116', '321283124S300201', '0,321283124S3002,321283124S300201', '工具间2', '工具间2', '工具间2', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-117', '321283124S300201', '0,321283124S3002,321283124S300201', '工具间3', '工具间3', '工具间3', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-118', '321283124S300201', '0,321283124S3002,321283124S300201', '工具间4', '工具间4', '工具间4', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-119', '321283124S300201', '0,321283124S3002,321283124S300201', '货车服务空间', '货车服务空间', '货车服务空间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-120', '321283124S300202', '0,321283124S3002,321283124S300202', '配电间', '配电间', '配电间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-121', '321283124S300202', '0,321283124S3002,321283124S300202', '水泵间', '水泵间', '水泵间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-122', '321283124S300202', '0,321283124S3002,321283124S300202', '控制间', '控制间', '控制间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-123', '321283124S300203', '0,321283124S3002,321283124S300203', '维修车间', '维修车间', '维修车间', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-124', '321283124S300203', '0,321283124S3002,321283124S300203', '办公室', '办公室', '办公室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-125', '321283124S300204', '0,321283124S3002,321283124S300204', '加油站区', '加油站区', '加油站区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-126', '321283124S300204', '0,321283124S3002,321283124S300204', '油罐区', '油罐区', '油罐区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-127', '321283124S300204', '0,321283124S3002,321283124S300204', '营业区', '营业区', '营业区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-128', '321283124S300204', '0,321283124S3002,321283124S300204', '辅助区', '辅助区', '辅助区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-129', '321283124S300205', '0,321283124S3002,321283124S300205', '接待区', '接待区', '接待区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-130', '321283124S300205', '0,321283124S3002,321283124S300205', '指挥室', '指挥室', '指挥室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-131', '321283124S300205', '0,321283124S3002,321283124S300205', '调解室', '调解室', '调解室', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-132', '321283124S300205', '0,321283124S3002,321283124S300205', '便民服务区', '便民服务区', '便民服务区', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-XK', '321283124S300206', '0,321283124S3001,321283124S300206', '小客停车位', '小客停车位', '小客停车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-CD', '321283124S300206', '0,321283124S3001,321283124S300206', '充电车位', '充电车位', '充电车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-WZA', '321283124S300206', '0,321283124S3001,321283124S300206', '无障碍车位', '无障碍车位', '无障碍车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-DKC', '321283124S300206', '0,321283124S3001,321283124S300206', '大客车停车位', '大客车停车位', '大客车停车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-HC', '321283124S300206', '0,321283124S3001,321283124S300206', '货车车位', '货车车位', '货车车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_CW-WXP', '321283124S300206', '0,321283124S3001,321283124S300206', '危险品车位', '危险品车位', '危险品车位', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_99-ZHLD', '321283124S300250', '0,321283124S3001,321283124S300299', '综合楼顶', '综合楼顶', '综合楼顶', 1, 0);
-INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('321283124S3002_99-CPD', '321283124S300250', '0,321283124S3001,321283124S300299', '车棚顶', '车棚顶', '车棚顶', 1, 0);
-
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-101', '321283124S300101', '0,321283124S3001,321283124S300101', '一楼', '一楼', '综合楼一楼', 1, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-102', '321283124S300101', '0,321283124S3001,321283124S300101', '商铺', '商铺', '综合楼商铺', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-103', '321283124S300101', '0,321283124S3001,321283124S300101', '厨房', '厨房', '综合楼厨房', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-104', '321283124S300101', '0,321283124S3001,321283124S300101', '二楼', '二楼', '综合楼厨房', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10101', 'B-101', '0,321283124S3001,321283124S300101,B-101', '卫生间', '卫生间', '卫生间', 1, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10102', 'B-101', '0,321283124S3001,321283124S300101,B-101', '开水间', '开水间', '开水间', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10103', 'B-101', '0,321283124S3001,321283124S300101,B-101', '货车服务空间', '货车服务空间', '货车服务空间', 16, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10201', 'B-102', '0,321283124S3001,321283124S300101,B-102', '超市', '超市', '超市', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10202', 'B-102', '0,321283124S3001,321283124S300101,B-102', '特产市集', '特产市集', '特产市集', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10203', 'B-102', '0,321283124S3001,321283124S300101,B-102', '中餐厅', '中餐厅', '中餐厅', 5, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10204', 'B-102', '0,321283124S3001,321283124S300101,B-102', '德克士', '德克士', '德克士', 6, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10205', 'B-102', '0,321283124S3001,321283124S300101,B-102', '共和春面馆', '共和春面馆', '共和春面馆', 7, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10206', 'B-102', '0,321283124S3001,321283124S300101,B-102', '堂食餐饮', '堂食餐饮', '堂食餐饮', 8, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10207', 'B-102', '0,321283124S3001,321283124S300101,B-102', '传统小吃', '传统小吃', '传统小吃', 9, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10208', 'B-102', '0,321283124S3001,321283124S300101,B-102', '沪上阿姨', '沪上阿姨', '沪上阿姨', 10, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10209', 'B-102', '0,321283124S3001,321283124S300101,B-102', '微团生活馆', '微团生活馆', '微团生活馆', 11, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-10210', 'B-102', '0,321283124S3001,321283124S300101,B-102', '服饰鞋帽', '服饰鞋帽', '服饰鞋帽', 12, 0);
+
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-201', '321283124S300102', '0,321283124S3001,321283124S300102', '北区司机之家维修间', '司机之家维修间', '北区司机之家维修间', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('B-202', '321283124S300102', '0,321283124S3001,321283124S300102', '北区司机之家二楼', '司机之家二楼', '北区司机之家二楼', 3, 0);
+
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-101', '321283124S300201', '0,321283124S3002,321283124S300201', '一楼', '一楼', '综合楼一楼', 1, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-102', '321283124S300201', '0,321283124S3002,321283124S300201', '商铺', '商铺', '综合楼商铺', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-103', '321283124S300201', '0,321283124S3002,321283124S300201', '厨房', '厨房', '综合楼厨房', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-104', '321283124S300201', '0,321283124S3002,321283124S300201', '二楼', '二楼', '综合楼厨房', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10101', 'N-101', '0,321283124S3002,321283124S300201,N-101', '卫生间', '卫生间', '卫生间', 1, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10102', 'N-101', '0,321283124S3002,321283124S300201,N-101', '开水间', '开水间', '开水间', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10103', 'N-101', '0,321283124S3002,321283124S300201,N-101', '货车服务空间', '货车服务空间', '货车服务空间', 16, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10201', 'N-102', '0,321283124S3002,321283124S300201,N-102', '超市', '超市', '超市', 3, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10202', 'N-102', '0,321283124S3002,321283124S300201,N-102', '特产市集', '特产市集', '特产市集', 4, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10203', 'N-102', '0,321283124S3002,321283124S300201,N-102', '中餐厅', '中餐厅', '中餐厅', 5, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10204', 'N-102', '0,321283124S3002,321283124S300201,N-102', '德克士', '德克士', '德克士', 6, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10205', 'N-102', '0,321283124S3002,321283124S300201,N-102', '共和春面馆', '共和春面馆', '共和春面馆', 7, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10206', 'N-102', '0,321283124S3002,321283124S300201,N-102', '堂食餐饮', '堂食餐饮', '堂食餐饮', 8, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10207', 'N-102', '0,321283124S3002,321283124S300201,N-102', '传统小吃', '传统小吃', '传统小吃', 9, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10208', 'N-102', '0,321283124S3002,321283124S300201,N-102', '沪上阿姨', '沪上阿姨', '沪上阿姨', 10, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10209', 'N-102', '0,321283124S3002,321283124S300201,N-102', '微团生活馆', '微团生活馆', '微团生活馆', 11, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-10210', 'N-102', '0,321283124S3002,321283124S300201,N-102', '服饰鞋帽', '服饰鞋帽', '服饰鞋帽', 12, 0);
+
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-201', '321283124S300202', '0,321283124S3002,321283124S300202', '南区司机之家维修间', '南区司机之家维修间', '南区司机之家维修间', 2, 0);
+INSERT INTO `adm_area` (`area_code`, `parent_code`, `ancestors`, `area_name`, `short_name`, `desc`, `order_num`, `status`) VALUES ('N-202', '321283124S300202', '0,321283124S3002,321283124S300202', '南区司机之家二楼', '南区司机之家二楼', '南区司机之家二楼', 3, 0);
 
 -- 区域属性属性
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, NULL, 120.050937, 32.071956);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, NULL, 120.052389, 32.070408);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3003', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, 120.051596, 32.071064);
 
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300100', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 7250, NULL, NULL, NULL);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 4100, 4100, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 300, 300, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 300, 300, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 200, 200, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300105', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 70, 70, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300106', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 1000, 1000, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 2000, 2000, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 920, 920, NULL, NULL, NULL);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300150', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300160', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300170', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+
 
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300200', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 7250, NULL, NULL, NULL);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300201', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 4100, 4100, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 300, 300, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300203', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 300, 300, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300204', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 200, 200, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300205', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 920, 920, NULL, NULL, NULL);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300206', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 1000, 1000, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300203', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 2000, 2000, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300204', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 920, 920, NULL, NULL, NULL);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300250', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300260', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S300270', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
 
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('S30K140-S30K150', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
 INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('S30K150-S30K180', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, NULL, NULL, NULL);
 
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-105', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-106', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-107', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-108', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-109', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-110', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-111', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-112', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-113', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-114', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-115', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-116', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-117', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-118', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-119', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-120', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-121', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-122', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-123', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-124', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-125', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-126', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-127', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-128', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-129', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-130', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-131', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-132', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-XK', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-CD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-WZA', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-DKC', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-HC', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_CW-WXP', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_99-ZHLD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3001_99-CPD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-
-
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-105', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-106', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-107', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-108', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-109', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-110', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-111', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-112', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-113', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-114', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-115', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-116', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-117', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-118', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-119', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-120', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-121', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-122', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-123', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-124', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-125', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-126', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-127', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-128', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-129', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-130', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-131', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-132', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-XK', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-CD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-WZA', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-DKC', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-HC', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_CW-WXP', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_99-ZHLD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
-INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('321283124S3002_99-CPD', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', 7250, 6000, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10201', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10203', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10204', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10205', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10206', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10207', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10208', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10209', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-10210', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-201', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('N-202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+
+
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-104', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10101', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10102', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10103', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10201', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10203', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10204', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10205', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10206', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10207', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10208', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10209', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-10210', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-201', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
+INSERT INTO `adm_area_attr` (`area_code`, `attr_org`, `mgr_org`, `leader`, `phone`, `open_date`, `floor_area`, `usable_area`, `floor`, `longitude`, `latitude`) VALUES ('B-202', '常泰大桥服务区', '润扬大桥投资管理有限公司', 'xxx', '13000000000', '2025-01-01', NULL, NULL, 1, 120.050937, 32.071956);
 
 
 -- 能源设施初始数据
@@ -226,47 +146,61 @@ INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_sub
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('E503', '主路-光伏',   'E', 'E5', 1, '321283124S3003');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('C101', '北区-储能',   'C', 'C1', 1, '321283124S3001');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('C102', '南区-储能',   'C', 'C1', 1, '321283124S3002');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z101', '北区-室内照明', 'Z', 'Z010', 1, '321283124S3001');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z102', '北区-室外照明', 'Z', 'Z010', 1, '321283124S3001');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z110', '北区-公共设施', 'Z', 'Z040', 1, '321283124S3001');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z120', '北区-空调设施', 'Z', 'Z020', 1, '321283124S3001');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z130', '北区-充电桩', 'Z', 'Z040', 1, '321283124S3001');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z201', '南区-室内照明', 'Z', 'Z010', 1, '321283124S3002');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z202', '南区-室外照明', 'Z', 'Z010', 1, '321283124S3002');
 INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z210', '南区-公共设施', 'Z', 'Z040', 1, '321283124S3002');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z220', '南区-空调设施', 'Z', 'Z020', 1, '321283124S3002');
-INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Z230', '南区-充电桩', 'Z', 'Z040', 1, '321283124S3002');
-INSERT INTO adm_ems_facs (facs_code, facs_name, facs_category, facs_subcategory, enable, ref_area, create_time,
-                          update_time)
-VALUES ('GCC01', '北区-光储充设备', 'GCC', 'GCC1', 1, '321283124S3001', '2025-06-19 15:22:00', '2025-06-30 09:05:58'),
-       ('GCZR101', '北区-光储充设备', 'GCZR', 'GCZR1', 1, '321283124S3001', '2025-06-19 15:22:00',
-        '2025-06-30 09:14:19'),
-       ('GCZR102', '南区-光储充设备', 'GCZR', 'GCZR1', 1, '321283124S3002', '2025-06-19 15:22:00',
-        '2025-06-30 09:14:19'),
-       ('GCZR103', '主路-光储充设备', 'GCZR', 'GCZR1', 1, '321283124S3003', '2025-06-19 15:22:00',
-        '2025-06-30 09:14:19'),
-       ('Charge101', '北区-充电桩', 'Charge', 'Charge1', 1, '321283124S3001', '2025-06-19 15:22:00',
-        '2025-06-30 09:28:04'),
-       ('Charge102', '南区-充电桩', 'Charge', 'Charge1', 1, '321283124S3002', '2025-06-19 15:22:00',
-        '2025-06-30 09:28:04'),
-       ('Charge103', '主路-充电桩', 'Charge', 'Charge1', 1, '321283124S3003', '2025-06-19 15:22:00',
-        '2025-06-30 09:14:19'),
-       ('ZHZM101', '北区-智慧照明', 'ZHZM', 'ZHZM1', 1, '321283124S3001', '2025-06-19 15:22:00', '2025-06-30 09:47:54'),
-       ('ZHZM102', '南区-智慧照明', 'ZHZM', 'ZHZM1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-06-30 09:47:54'),
-       ('ZHZM103', '主路-智慧照明', 'ZHZM', 'ZHZM1', 1, '321283124S3003', '2025-06-19 15:22:00', '2025-06-30 09:36:02');
-INSERT INTO adm_ems_facs (facs_code, facs_name, facs_category, facs_subcategory, enable, ref_area, create_time,
-                          update_time)
-VALUES ('ZHHM101', '北区-智慧海绵', 'ZHHM', 'ZHHM1', 1, '321283124S3001', '2025-06-19 15:22:00', '2025-06-30 09:47:54'),
-       ('ZHHM102', '南区-智慧海绵', 'ZHHM', 'ZHHM1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-06-30 09:47:54'),
-       ('ZHHM103', '主路-智慧海绵', 'ZHHM', 'ZHHM1', 1, '321283124S3003', '2025-06-19 15:22:00', '2025-06-30 09:36:02'),
-       ('LG101', '北区-垃圾厨余', 'LG', 'LG1', 1, '321283124S3001', '2025-06-19 15:22:00', '2025-06-30 09:51:29'),
-       ('LG102', '南区-垃圾厨余', 'LG', 'LG1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-06-30 09:51:29'),
-       ('NHJC101', '北区-能耗监测', 'NHJC', 'NHJC1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-06-30 09:57:49'),
-       ('NHJC102', '南区-能耗监测', 'NHJC', 'NHJC1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-06-30 09:51:29');
-INSERT INTO adm_ems_facs (facs_code, facs_name, facs_category, facs_subcategory, enable, ref_area, create_time,
-                          update_time)
-VALUES ('DEVC01', '北区-设备管理', 'DEVC', 'DEVC1', 1, '321283124S3001', '2025-06-19 15:22:00', '2025-07-01 18:02:20'),
-       ('DEVC02', '南区-设备管理', 'DEVC', 'DEVC1', 1, '321283124S3002', '2025-06-19 15:22:00', '2025-07-01 18:02:08');
+
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('GCC01', '北区-光储充设施', 'Z', 'Z102', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('GCC02', '南区-光储充设施', 'Z', 'Z102', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Charge01', '北区-充电桩', 'Z', 'Z103', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('Charge02', '南区-充电桩', 'Z', 'Z103', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('ZHZM01', '北区-智慧照明', 'Z', 'Z010', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('ZHZM02', '南区-智慧照明', 'Z', 'Z010', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('ZHHM01', '北区-智慧海绵', 'Z', 'Z105', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('ZHHM02', '南区-智慧海绵', 'Z', 'Z105', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('LG01', '北区-垃圾厨余', 'Z', 'Z106', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('LG02', '南区-垃圾厨余', 'Z', 'Z106', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('NH01', '北区-能耗系统', 'W', 'W4', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('NH02', '南区-能耗系统', 'W', 'W4', 1, '321283124S3002');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('DEV01', '北区-设备子系统', 'Z', 'Z108', 1, '321283124S3001');
+INSERT INTO `adm_ems_facs` (`facs_code`, `facs_name`, `facs_category`, `facs_subcategory`, `enable`, `ref_area`) VALUES ('DEV02', '南区-设备子系统', 'Z', 'Z108', 1, '321283124S3002');
+
+-- 能源设备
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-2003', '北区能耗采集器C', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_W2_SM_INDOOR_ENERGY', 'NH01', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-2004', '北区能耗采集器D', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_W2_SM_INDOOR_ENERGY', 'NH01', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-2005', '北区汽修间能耗采集器', '-', '-', '1', '司机之家', '321283124S300102', '321283124S3001', 'M_W2_SM_INDOOR_ENERGY', 'NH01', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-2006', '北区警务室能耗采集器', '-', '-', '1', '警务室', '321283124S300103', '321283124S3001', 'M_W2_SM_INDOOR_ENERGY', 'NH01', 'SM', 'SYS_NHJC');
+
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-1003', '南区能耗采集器C', '-', '-', '1', '综合楼', '321283124S300201', '321283124S3002', 'M_W2_SM_INDOOR_ENERGY', 'NH02', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-1004', '南区能耗采集器D', '-', '-', '1', '综合楼', '321283124S300201', '321283124S3002', 'M_W2_SM_INDOOR_ENERGY', 'NH02', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-1005', '南区汽修间能耗采集器', '-', '-', '1', '司机之家', '321283124S300202', '321283124S3002', 'M_W2_SM_INDOOR_ENERGY', 'NH02', 'SM', 'SYS_NHJC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'ID-E-C-1007', '南区宿舍能耗采集器', '-', '-', '1', '宿舍', '321283124S300203', '321283124S3002', 'M_W2_SM_INDOOR_ENERGY', 'NH02', 'SM', 'SYS_NHJC');
+
+-- MOCK设备
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('864142073640059', '开水器断路器', 'GEEK-OPEN', '30A-4G', 1, '综合楼茶水间', '321283124S300101', '321283124S3001', 'M_W2_QF_GEEKOPEN', 'W201', 'QF', 'SYS_BA');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-QS-10000001', '大厅照明开关', '德力西', '4P', 1, '综合楼大厅', '321283124S300101', '321283124S3001', 'M_W2_QS_KEKA_86', 'W201', 'QS', 'SYS_BA');
+
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-001', '光储设备1',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'GCC01', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-002', '光储设备2',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'GCC01', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-003', '光储设备3',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'GCC01', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-004', '光储设备4',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'GCC01', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-005', '光储设备5',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'GCC02', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-006', '光储设备6',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'GCC02', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-007', '光储设备7',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'GCC02', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('GCZR-008', '光储设备8',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'GCC02', NULL, 'SYS_GCC');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10001', '1号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'Charge01', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10002', '2号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'Charge01', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10003', '3号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'Charge01', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10004', '4号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'Charge01', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20001', '1号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'Charge02', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20002', '2号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'Charge02', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20003', '3号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'Charge02', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20004', '4号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'Charge02', NULL, 'SYS_CD');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('ZHZM-01', '照明01',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'ZHZM01', NULL, 'SYS_ZHZM');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('ZHZM-02', '照明02',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'ZHZM02', NULL, 'SYS_ZHZM');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('ZHHM-01', '海绵设备1',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'ZHHM01', NULL, 'SYS_ZHHM');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('ZHHM-02', '海绵设备2',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'ZHHM02', NULL, 'SYS_ZHHM');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('LGCY-01', '厨余垃圾设备1',    'xxx', 'xxx', 1, '北区广场', '321283124S300104', '321283124S3001',  NULL, 'LG01', NULL, 'SYS_LG');
+INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('LGCY-02', '厨余垃圾设备2',    'xxx', 'xxx', 1, '南区广场', '321283124S300204', '321283124S3002',  NULL, 'LG02', NULL, 'SYS_LG');
 
 
 -- 策略初始数据
@@ -295,11 +229,19 @@ INSERT INTO `adm_op_energy_strategy_param` (`strategy_code`, `param_group`, `par
 
 
 -- 对象模型表
+INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_W2_SM_INDOOR_ENERGY', '室内能耗计量终端', 2, 'http://192.168.20.210:9203/ems-dev-adapter/sm/inDoorEnergy/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_W2_QF_GEEKOPEN', 'GeekOpen断路器', 2, 'http://192.168.20.210:9203/ems-dev-adapter/circuit-breaker/GeekOpen/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_W2_QS_KEKA_86', 'KEKA开关(86型)', 2, 'http://192.168.20.210:9203/ems-dev-adapter/button-switch/keka/86ButtonSwitchCall', NULL);
-INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z040_DC-EVSE_TLD', '特来电直流桩', 2, NULL, NULL);
 
--- 对象属性DEMO数据
+-- 对象属性数据
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Base', 'ip', '网络地址', NULL, 'String');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Base', 'gateway', '网关地址', NULL, 'String');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Base', 'subnetMask', '子网掩码', NULL, 'String');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Measure', 'interface1', 'D1口通道', NULL, 'Table');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Measure', 'interface2', 'D2口通道', NULL, 'Table');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Measure', 'interface3', 'D3口通道', NULL, 'Table');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_SM_INDOOR_ENERGY', 'Measure', 'interface4', 'D4口通道', NULL, 'Table');
+
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF_GEEKOPEN', 'Base', 'version', '固件版本号', NULL, 'Value');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF_GEEKOPEN', 'Base', 'iccid', '物联网卡ICCID号', NULL, 'Value');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF_GEEKOPEN', 'Base', 'imei', '设备imei', NULL, 'Value');
@@ -322,16 +264,6 @@ INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_na
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF_GEEKOPEN', 'Protocol', 'subcribe', '订阅主题', NULL, 'Value');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QF_GEEKOPEN', 'Protocol', 'publish', '发布主题', NULL, 'Value');
 
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Base', 'model', '产品型号', NULL, 'String');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Base', 'inputVoltage', '输入电压', 'V AC', 'String');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Base', 'ratedPower', '额定功率', 'KW', 'String');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Base', 'outputVoltage', '输出电压', 'V DC', 'String');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Base', 'outputCurrent', '输出电流', 'A DC', 'String');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Measure', 'power', '实时功率', '瓦(W)', 'Value');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Measure', 'voltage', '实时电压', '伏特(V)', 'Value');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'Measure', 'current', '实时电流', '安培(A)', 'Value');
-INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z040_DC-EVSE_TLD', 'State', 'useState', '使用状态', NULL, 'Enum');
-
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QS_KEKA_86', 'Base', 'gatewayId', '网关编号', NULL, 'String');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QS_KEKA_86', 'Protocol', 'protocol', '协议', NULL, 'String');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QS_KEKA_86', 'Protocol', 'server', 'MQTT地址', NULL, 'String');
@@ -339,7 +271,54 @@ INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_na
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QS_KEKA_86', 'Protocol', 'publish', '发布主题', NULL, 'String');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_W2_QS_KEKA_86', 'Protocol', 'subcribe', '订阅主题', NULL, 'String');
 
--- 对象属性DEMO数据
+-- 对象属性
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.175', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(电表)北区综合楼ALZ","key":"C_2003_AV_0000","value":null,"updateTime":null},{"name":"(电表)北区综合楼AKZ","key":"C_2003_AV_0001","value":null,"updateTime":null},{"name":"(电表)北区综合楼APXF2","key":"C_2003_AV_0002","value":null,"updateTime":null},{"name":"(电表)北区综合楼APXF1","key":"C_2003_AV_0003","value":null,"updateTime":null},{"name":"(电表)北区综合楼APJK","key":"C_2003_AV_0005","value":null,"updateTime":null},{"name":"(电表)北区综合楼APsbjf","key":"C_2003_AV_0006","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'interface2', '[{"name":"(电表)德克士","key":"C_2003_AV_0206","value":null,"updateTime":null},{"name":"(电表)微团生活馆","key":"C_2003_AV_0214","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0222","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0230","value":null,"updateTime":null},{"name":"(电表)沪上阿姨(奶茶)","key":"C_2003_AV_0238","value":null,"updateTime":null},{"name":"(电表)服饰鞋帽(服饰)","key":"C_2003_AV_0246","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0254","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0262","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0270","value":null,"updateTime":null},{"name":"(电表)传统小吃(小吃)","key":"C_2003_AV_0278","value":null,"updateTime":null},{"name":"(电表)美广","key":"C_2003_AV_0286","value":null,"updateTime":null},{"name":"(电表)共和春(面馆)","key":"C_2003_AV_0294","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0302","value":null,"updateTime":null},{"name":"(电表)特产市集(特产)","key":"C_2003_AV_0310","value":null,"updateTime":null},{"name":"(电表)超市","key":"C_2003_AV_0318","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0326","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0334","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0342","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_2003_AV_0350","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)厨房配电","key":"C_2003_AV_0406","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2003', 'M_W2_SM_INDOOR_ENERGY', 'interface4', '[{"name":"(电表)北区综合楼APDT","key":"C_2003_AV_0600","value":null,"updateTime":null},{"name":"(电表)北区综合楼2APDP","key":"C_2003_AV_0601","value":null,"updateTime":null},{"name":"(电表)北区综合楼APKT1","key":"C_2003_AV_0603","value":null,"updateTime":null},{"name":"(电表)北区综合楼APKT2","key":"C_2003_AV_0604","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2004', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.176', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2004', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2004', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2004', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(水表)货车服务空间","key":"C_2004_AV_0000","value":null,"updateTime":null},{"name":"(水表)沪上阿姨","key":"C_2004_AV_0001","value":null,"updateTime":null},{"name":"(水表)微团生活馆","key":"C_2004_AV_0002","value":null,"updateTime":null},{"name":"(水表)服饰鞋帽","key":"C_2004_AV_0003","value":null,"updateTime":null},{"name":"(水表)卫生间","key":"C_2004_AV_0004","value":null,"updateTime":null},{"name":"(水表)开水间","key":"C_2004_AV_0005","value":null,"updateTime":null},{"name":"(水表)超市","key":"C_2004_AV_0006","value":null,"updateTime":null},{"name":"(水表)特产市集","key":"C_2004_AV_0007","value":null,"updateTime":null},{"name":"(水表)堂食餐饮","key":"C_2004_AV_0008","value":null,"updateTime":null},{"name":"(水表)传统小吃","key":"C_2004_AV_0009","value":null,"updateTime":null},{"name":"(水表)德克士","key":"C_2004_AV_0010","value":null,"updateTime":null},{"name":"(水表)共和春面馆","key":"C_2004_AV_0011","value":null,"updateTime":null},{"name":"(水表)中餐厅","key":"C_2004_AV_0012","value":null,"updateTime":null},{"name":"(水表)二楼","key":"C_2004_AV_0200","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2004', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)北区综合楼APXK 消控室","key":"C_2004_AV_0400","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.177', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'interface2', '[{"name":"(电表)北区司机之家维修间ALWX","key":"C_2005_AV_0200","value":null,"updateTime":null},{"name":"(电表)北区司机之家维修间ALE","key":"C_2005_AV_0201","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)北区司机之家维修间ALZ","key":"C_2005_AV_0400","value":null,"updateTime":null},{"name":"(电表)北区司机之家维修间ALSS","key":"C_2005_AV_0401","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2005', 'M_W2_SM_INDOOR_ENERGY', 'interface4', '[{"name":"(水表)司机之家","key":"C_2005_AV_0600","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2006', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.178', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2006', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2006', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-2006', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(电表)警务室AL","key":"C_2006_AV_0000","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.162', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(电表)南区综合楼ALZ","key":"C_1003_AV_0000","value":null,"updateTime":null},{"name":"(电表)南区综合楼AKZ","key":"C_1003_AV_0001","value":null,"updateTime":null},{"name":"(电表)南区综合楼APXF2","key":"C_1003_AV_0002","value":null,"updateTime":null},{"name":"(电表)南区综合楼APXF1","key":"C_1003_AV_0003","value":null,"updateTime":null},{"name":"(电表)南区综合楼APJF","key":"C_1003_AV_0004","value":null,"updateTime":null},{"name":"(电表)南区综合楼APJK","key":"C_1003_AV_0005","value":null,"updateTime":null},{"name":"(电表)南区综合楼APsbjf","key":"C_1003_AV_0006","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'interface2', '[{"name":"(电表)德克士","key":"C_1003_AV_0206","value":null,"updateTime":null},{"name":"(电表)微团生活馆","key":"C_1003_AV_0214","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0222","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0230","value":null,"updateTime":null},{"name":"(电表)沪上阿姨(奶茶)","key":"C_1003_AV_0238","value":null,"updateTime":null},{"name":"(电表)服饰鞋帽(服饰)","key":"C_1003_AV_0246","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0254","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0262","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0270","value":null,"updateTime":null},{"name":"(电表)传统小吃(小吃)","key":"C_1003_AV_0278","value":null,"updateTime":null},{"name":"(电表)美广","key":"C_1003_AV_0286","value":null,"updateTime":null},{"name":"(电表)共和春(面馆)","key":"C_1003_AV_0294","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0302","value":null,"updateTime":null},{"name":"(电表)特产市集(特产)","key":"C_1003_AV_0310","value":null,"updateTime":null},{"name":"(电表)超市","key":"C_1003_AV_0318","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0326","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0334","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0342","value":null,"updateTime":null},{"name":"(电表)备用","key":"C_1003_AV_0350","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)厨房配电","key":"C_1003_AV_0406","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1003', 'M_W2_SM_INDOOR_ENERGY', 'interface4', '[{"name":"(电表)南区综合楼APDT","key":"C_1003_AV_0600","value":null,"updateTime":null},{"name":"(电表)南区综合楼2APDP","key":"C_1003_AV_0601","value":null,"updateTime":null},{"name":"(电表)南区综合楼2ALZt","key":"C_1003_AV_0602","value":null,"updateTime":null},{"name":"(电表)南区综合楼APKT1","key":"C_1003_AV_0603","value":null,"updateTime":null},{"name":"(电表)南区综合楼APKT2","key":"C_1003_AV_0604","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1004', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.163', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1004', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1004', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1004', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(水表)货车服务空间","key":"C_1004_AV_0000","value":null,"updateTime":null},{"name":"(水表)沪上阿姨","key":"C_1004_AV_0001","value":null,"updateTime":null},{"name":"(水表)微团生活馆","key":"C_1004_AV_0002","value":null,"updateTime":null},{"name":"(水表)服饰鞋帽","key":"C_1004_AV_0003","value":null,"updateTime":null},{"name":"(水表)卫生间","key":"C_1004_AV_0004","value":null,"updateTime":null},{"name":"(水表)开水间","key":"C_1004_AV_0005","value":null,"updateTime":null},{"name":"(水表)超市","key":"C_1004_AV_0006","value":null,"updateTime":null},{"name":"(水表)特产市集","key":"C_1004_AV_0007","value":null,"updateTime":null},{"name":"(水表)堂食餐饮","key":"C_1004_AV_0008","value":null,"updateTime":null},{"name":"(水表)传统小吃","key":"C_1004_AV_0009","value":null,"updateTime":null},{"name":"(水表)德克士","key":"C_1004_AV_0010","value":null,"updateTime":null},{"name":"(水表)共和春面馆","key":"C_1004_AV_0011","value":null,"updateTime":null},{"name":"(水表)中餐厅","key":"C_1004_AV_0012","value":null,"updateTime":null},{"name":"(水表)二楼","key":"C_1004_AV_0200","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1004', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)南区综合楼APXK 消控室","key":"C_1004_AV_0400","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.164', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(电表)南区司机之家维修间ALZ","key":"C_1005_AV_0000","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'interface2', '[{"name":"(电表)南区司机之家维修间ALWX","key":"C_1005_AV_0200","value":null,"updateTime":null},{"name":"(电表)南区司机之家维修间ALE","key":"C_1005_AV_0201","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'interface3', '[{"name":"(电表)南区司机之家维修间ALSS","key":"C_1005_AV_0400","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1005', 'M_W2_SM_INDOOR_ENERGY', 'interface4', '[{"name":"(水表)司机之家","key":"C_1005_AV_0600","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1007', 'M_W2_SM_INDOOR_ENERGY', 'ip', '172.17.50.166', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1007', 'M_W2_SM_INDOOR_ENERGY', 'gateway', '172.17.50.254', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1007', 'M_W2_SM_INDOOR_ENERGY', 'subnetMask', '255.255.255.0', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1007', 'M_W2_SM_INDOOR_ENERGY', 'interface1', '[{"name":"(电表)南区宿舍ALZ","key":"C_1007_AV_0000","value":null,"updateTime":null}]', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('ID-E-C-1007', 'M_W2_SM_INDOOR_ENERGY', 'interface2', '[{"name":"(电表)南区宿舍ALE","key":"C_1007_AV_0200","value":null,"updateTime":null}]', NULL);
+
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('864142073640059', 'M_W2_QF_GEEKOPEN', 'current', '0.050', '2025-03-05 16:07:36');
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('864142073640059', 'M_W2_QF_GEEKOPEN', 'energy', '421.787', '2025-03-05 16:02:36');
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('864142073640059', 'M_W2_QF_GEEKOPEN', 'iccid', '898604E6192390306801', '2025-03-05 15:51:00');
@@ -360,86 +339,6 @@ INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `att
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('D-B-QS-10000001', 'M_W2_QS_KEKA_86', 'publish', '/sc/dtu/rep/864814074089037', null);
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('D-B-QS-10000001', 'M_W2_QS_KEKA_86', 'subcribe', '/sc/dtu/ctl/864814074089037', null);
 
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'power', '100');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'current', '125');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10001', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'power', '90');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'current', '112.5');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10002', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'power', '80');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'current', '100');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10003', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'power', '110');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'current', '137.5');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-B-EVSE-10004', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'power', '100');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'current', '125');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20001', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'power', '-');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'voltage', '-');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'current', '-');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20002', 'M_Z040_DC-EVSE_TLD', 'useState', '2');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'power', '80');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'current', '100');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20003', 'M_Z040_DC-EVSE_TLD', 'useState', '1');
-
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-N0004', 'M_Z040_DC-EVSE_TLD', 'model', 'TZD-H-G-32');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'inputVoltage', '380 VAC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'ratedPower', '120KW');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'outputVoltage', '200VDC~1000VDC');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'outputCurrent', 'DC 1~400A');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'power', '16');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'voltage', '800');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'current', '0.2');
-INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`) VALUES ('D-N-EVSE-20004', 'M_Z040_DC-EVSE_TLD', 'useState', '0');
-
 -- 对象属性值枚举
 INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_W2_QF_GEEKOPEN', 'onState', '0', '记忆');
 INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_W2_QF_GEEKOPEN', 'onState', '1', '分闸');
@@ -453,9 +352,6 @@ INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `at
 INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_W2_QF_GEEKOPEN', 'resetLock', '0', '关闭');
 INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_W2_QF_GEEKOPEN', 'resetLock', '1', '开启');
 
-INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z040_DC-EVSE_TLD', 'useState', '0', '空闲');
-INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z040_DC-EVSE_TLD', 'useState', '1', '使用中');
-INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z040_DC-EVSE_TLD', 'useState', '2', '不可用');
 
 -- 对象能力DEMO数据
 INSERT INTO `adm_ems_obj_ability` (`model_code`, `ability_key`, `ability_name`, `ability_desc`, `ability_param`, `hidden_flag`) VALUES ('M_W2_QF_GEEKOPEN', 'Circuit-Closing', '分闸', '控制线路断电', '{\"type\":\"event\",\"key\":0}', 1);
@@ -475,10 +371,6 @@ INSERT INTO `adm_ems_obj_ability` (`model_code`, `ability_key`, `ability_name`,
 INSERT INTO `adm_ems_obj_ability` (`model_code`, `ability_key`, `ability_name`, `ability_desc`, `ability_param`, `hidden_flag`) VALUES ('M_W2_QS_KEKA_86', 'light2-on', '灯2-开启', '灯2-开启', '01 06 10 22 00 01 EC C0', 1);
 INSERT INTO `adm_ems_obj_ability` (`model_code`, `ability_key`, `ability_name`, `ability_desc`, `ability_param`, `hidden_flag`) VALUES ('M_W2_QS_KEKA_86', 'light2-off', '灯2-关闭', '灯2-关闭', '01 06 10 22 00 00 2D 00', 1);
 
--- 对象事件DEMO数据
-INSERT INTO `adm_ems_obj_event` (`model_code`, `event_type`, `event_key`, `event_name`, `event_desc`, `event_code`, `ext_event_code`) VALUES ('M_W2', 2, 'overload', '过载', '功率过载', 'e-gy-0001', '0x0001');
-INSERT INTO `adm_ems_obj_event` (`model_code`, `event_type`, `event_key`, `event_name`, `event_desc`, `event_code`, `ext_event_code`) VALUES ('M_W2', 2, 'undervoltage', '欠压', '电压不足', 'e-gy-0002', '0x0002');
-
 
 -- 能源设施能流关系DEMO数据
 INSERT INTO `adm_ems_flow_rel` (`export_obj`, `export_obj_type`, `input_obj`, `input_obj_type`, `ems_cls`, `flow_desc`) VALUES ('W201', 1, 'Z101', 1, '45', '供电');
@@ -492,284 +384,31 @@ INSERT INTO `adm_ems_flow_rel` (`export_obj`, `export_obj_type`, `input_obj`, `i
 INSERT INTO `adm_ems_flow_rel` (`export_obj`, `export_obj_type`, `input_obj`, `input_obj_type`, `ems_cls`, `flow_desc`) VALUES ('D-B-AP-10001', 2, 'D-B-AP-10001-QF_01', 2, '45', '供电');
 INSERT INTO `adm_ems_flow_rel` (`export_obj`, `export_obj_type`, `input_obj`, `input_obj_type`, `ems_cls`, `flow_desc`) VALUES ('D-B-AP-10001', 2, 'D-B-AP-10001-QF_02', 2, '45', '供电');
 
--- 能源设备
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R101-001', '开水炉',              '美的', 'C10', '2', '开水间', 'B-101', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R102-002', '超市照明灯',           '欧普', 'D20-x', '2', '超市', 'B-102', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R102-003', '超市监控和防盗设备',    '萤石', 'Y-20', '2', '超市', 'B-102', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-001', '空调',                '约克', 'Y-111', '1', '超市', 'B-103', '321283124S3001', null, 'Z120', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-002', '烤箱',                '格兰仕', 'G-111', '2', '综合楼', 'B-103', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-003', '搅拌机',              '9阳',    'G-111', '2', '综合楼', 'B-103', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R104-001', 'LED节能灯',           '欧普',    'G-111', '1', '综合楼', 'B-104', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R104-003', '智慧路灯',            '欧普',    'G-111', '1', '广场', 'B-104', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-001', '智慧屏',              '三星', 'A100', '1', null, 'B-105', '321283124S3001', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-002', '充电站',              '绿能', 'D111', '1', null, 'B-105', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-003', '调光系统',            '施耐德', 'TXA1', '1', null, 'B-105', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R106-001', '吊灯',               '欧普', 'XWAS', '1', null, 'B-106', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R107-001', '橱窗照明',            '欧普', 'XWAS', '1', null, 'B-107', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R107-002', 'UPS(不间断电源)系统', '公牛', 'X1', '1', null, 'B-107', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R108-001', '吊灯',                '欧普', 'X1', '1', null, 'B-108', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R109-001', '筒灯',               '欧普', 'X1', '1', null, 'B-109', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R110-001', '应急照明',             '欧普', 'X1', '1', null, 'B-110', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R112-001', '自动感应灯',           '欧普', 'X1', '2', null, 'B-112', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R112-002', '二级配电箱',            '公牛', 'X1', '2', null, 'B-112', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R114-001', '自动感应灯',            '欧普', 'X1', '2', null, 'B-114', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R114-002', '二级配电箱',            '公牛', 'X1', '2', null, 'B-114', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R115-001', '工作灯',               '欧普', 'X1', '2', null, 'B-115', '321283124S3001', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R16-001',  '防水灯具',             '欧普', 'X1', '2', null, 'B-116', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R117-001', '防水灯具',             '欧普', 'X1', '2', null, 'B-117', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R118-001', '灯具',                '欧普', 'X1', '2', null, 'B-118', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R119-001', '防水灯具',             '欧普', 'X1', '2', null, 'B-119', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R120-001', '二级配电箱',            '公牛', 'X1', '1', null, 'B-120', '321283124S3001', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R121-001', '二级配电箱',            '公牛', 'X1', '1', null, 'B-121', '321283124S3001', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R122-001', '二级配电箱',            '公牛', 'X1', '1', null, 'B-122', '321283124S3001', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R123-001', '二级配电箱',            '公牛', 'X1', '1', null, 'B-123', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R124-001', '加热器',               '公牛', 'X1', '1', null, 'B-124', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R125-001', '空调',                 '格力', 'X1', '1', null, 'B-125', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R126-001', '空调',                 '格力', 'X1', '1', null, 'B-126', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R127-001', '空调',                 '格力', 'X1', '1', null, 'B-127', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R128-001', '空调',                 '格力', 'X1', '1', null, 'B-128', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R129-001', '空调',                 '格力', 'X1', '1', null, 'B-129', '321283124S3001', null,'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R130-001', '空调',                 '格力', 'X1', '1', null, 'B-130', '321283124S3001', null,'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R131-001', '空调',                 '格力', 'X1', '1', null, 'B-131', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R132-001', '空调',                 '格力', 'X1', '1', null, 'B-132', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-001', '照明灯',                     '欧普', 'X1', '1', null, '321283124S3001_CW-XK', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-002', '智能监控系统',                '中控', 'X1', '1', null, '321283124S3001_CW-CD', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-003', '照明灯',                     '欧普', 'X1', '1', null, '321283124S3001_CW-WZA', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-004', '照明灯',                     '欧普', 'X1', '1', null, '321283124S3001_CW-DKC', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-005', '照明灯',                     '欧普', 'X1', '1', null, '321283124S3001_CW-HC', '321283124S3001',  null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-006', '停车场照明灯',                '欧普', 'X1', '1', null, '321283124S3001_CW-WXP', '321283124S3001', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-007', '智能监控系统',                '海康', 'z11', '1', null, '321283124S3001_CW-WXP', '321283124S3001', null, 'Z110', null, 'SYS_BA');
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R101-101', '开水炉',               '美的', 'C10', '2', '开水间', 'N-101', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R102-101', '超市区空调',            '大金', 'LDA1', '1', null, 'N-102', '321283124S3002', null, 'Z120', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R102-102', '超市照明灯',            '欧普', 'x1', '2', null, 'N-102', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R102-103', '超市监控和防盗设备',     '海康', 'z10', '2', null, 'N-102', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-101', '空调',                 '美的', 'C10', '1', null, 'N-103', '321283124S3002', null, 'Z120', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-102', '烤箱',                 '格兰仕', 'L11', '1', null, 'N-103', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R103-103', '搅拌机',               '九阳', 's12', '1', null, 'N-103', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R104-101', 'LED节能灯',            '欧普', 'L11', '1', null, 'N-104', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R104-102', '智慧屏',               '三星', 'L11', '1', null, 'N-104', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R104-103', '智慧路灯',             '欧普', 'ss12', '1', null, 'N-104', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-101', '二级配电箱',            '施耐德', 'c01', '1', null, 'N-105', '321283124S3002', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-102', '充电站',               '绿能', 'c01', '1', null, 'N-105', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R105-103', '调光系统',             '欧普', 'c01', '1', null, 'N-105', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R106-101', '吊灯',                '欧普', 'L11', '1', null, 'N-106', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R107-101', '橱窗照明',             '欧普', 'c01', '1', null, 'N-107', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R107-102', 'UPS(不间断电源)系统',  '绿能', 'D10', '1', null, 'N-107', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R108-101', '吊灯',                '欧普', 'c01', '1', null, 'N-108', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R109-101', '筒灯',              '欧普', 'c01', '1', null, 'N-109', '321283124S3002', null,  'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R110-101', '应急照明',            '欧普', 'c01', '1', null, 'N-110', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R112-101', '自动感应灯',          '欧普', 'c01', '1', null, 'N-112', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R112-102', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-112', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R114-101', '自动感应灯',          '欧普', 'c01', '1', null, 'N-114', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R114-102', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-114', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R115-101', '工作灯',             '欧普', 'c01', '1', null, 'N-115', '321283124S3002', null, 'Z101', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R16-101', '防水灯具',            '欧普', 'c01', '1', null, 'N-116', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R117-101', '防水灯具',           '欧普', 'c01', '1', null, 'N-117', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R118-101', '防水灯具',           '欧普', 'c01', '1', null, 'N-118', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R119-101', '防水灯具',           '欧普', 'c01', '1', null, 'N-119', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R120-101', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-120', '321283124S3002', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R121-101', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-121', '321283124S3002', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R122-101', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-122', '321283124S3002', null, 'W201', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R123-101', '二级配电箱',          '施耐德', 'c01', '1', null, 'N-123', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R124-101', '加热器',             '美的', 'X212', '1', null, 'N-124', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R125-101', '空调',               '格力', 'XEWE1', '1', null, 'N-125', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R126-101', '空调',               '格力', 'XEWE1', '1', null, 'N-126', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R127-101', '空调',               '格力', 'XEWE1', '1', null, 'N-127', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R128-101', '空调',               '格力', 'XEWE1', '1', null, 'N-128', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R129-101', '空调',               '格力', 'XEWE1', '1', null, 'N-129', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R130-101', '空调',               '格力', 'XEWE1', '1', null, 'N-130', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R131-101', '空调',               '格力', 'XEWE1', '1', null, 'N-131', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Z010-R132-101', '空调',               '格力', 'XEWE1', '1', null, 'N-132', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-101', '照明灯',                   '欧普', 'c01', '1', null, '321283124S3002_CW-XK', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-102', '智能监控系统',              '欧普', 'c01', '1', null, '321283124S3002_CW-CD', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-103', '照明灯',                   '欧普', 'c01', '1', null, '321283124S3002_CW-WZA', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-104', '照明灯',                   '欧普', 'c01', '1', null, '321283124S3002_CW-DKC', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-105', '照明灯',                   '欧普', 'c01', '1', null, '321283124S3002_CW-HC', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-106', '停车场照明灯',              '欧普', 'c01', '1', null, '321283124S3002_CW-WXP', '321283124S3002', null, 'Z102', null, 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'Car-107', '智能监控系统',              '海康', 'z11', '1', null, '321283124S3002_CW-WXP', '321283124S3002', null, 'Z110', null, 'SYS_BA');
-
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( '321283124S3001_99-ZHLD-001', '光伏板1','Canadian Solar', 'x1', '1', null, '321283124S3001_99-ZHLD', '321283124S3001', null, 'E501', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( '321283124S3001_99-CPD-001', '光伏板2', 'Canadian Solar', 'x1', '1', null, '321283124S3001_99-CPD', '321283124S3001', null, 'E501', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( '321283124S3002_99-ZHLD-001', '光伏板3','Canadian Solar', 'x1', '1', null, '321283124S3002_99-ZHLD', '321283124S3002', null, 'E502', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( '321283124S3002_99-CPD-001', '光伏板4', 'Canadian Solar', 'x1', '1', null, '321283124S3002_99-CPD', '321283124S3002', null, 'E502', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'E503-K140-K150-001', '光伏板5',        'Canadian Solar', 'x1', '1', null, 'S30K140-S30K150', '321283124S3003', null, 'E503', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'E503-K140-K150-002', '光伏板6',        'Canadian Solar', 'x1', '1', null, 'S30K140-S30K150', '321283124S3003', null, 'E503', null, 'SYS_GF');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ( 'E503-K140-K150-003', '光伏板7',        'Canadian Solar', 'x1', '1', null, 'S30K150-S30K180', '321283124S3003', null, 'E503', null, 'SYS_GF');
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-T-1001', '北区总变',      '西门子', 'T221123', 1, '北区', '321283124S3001', '321283124S3001', 'M_W2_T', 'W201', 'T', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-T-1002', '南区总变',      '西门子', 'T221212', 1, '南区',  '321283124S3002', '321283124S3002', 'M_W2_T', 'W201', 'T', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-AP-10001', '北区-综合楼配电',  '安科瑞', 'DX2121021', 1, '综合楼配电间', '321283124S3001', '321283124S3001', null, 'W201', 'AP', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-AP-10002', '北区-广场配电',    '安科瑞', 'DX2121021', 1, '广场配电柜', '321283124S3001', '321283124S3001',  null, 'W201', 'AP', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-AP-10001', '南区-综合楼配电',  '安科瑞', 'DX2121021', 1, '综合楼配电间', '321283124S3002', '321283124S3002', null, 'W202', 'AP', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-AP-10002', '南区-广场配电',    '安科瑞', 'DX2121021', 1, '广场配电柜',  '321283124S3002', '321283124S3002', null, 'W202', 'AP', null);
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-AP-10001-QR_00', '总开',    '施耐德', 'DX2121021', 1, '广场配电柜', '321283124S3001', '321283124S3001',  null, 'W201', 'QR', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-AP-10001-QF_01', '照明',    '施耐德', 'DX2121021', 1, '广场配电柜', '321283124S3001', '321283124S3001',  null, 'W201', 'QR', null);
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-AP-10001-QF_02', '风机',    '施耐德', 'DX2121021', 1, '广场配电柜', '321283124S3001', '321283124S3001',  null, 'W201', 'QR', null);
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10001', '1号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S3001_CW-CD', '321283124S3001',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10002', '2号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S3001_CW-CD', '321283124S3001',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10003', '3号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S3001_CW-CD', '321283124S3001',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-EVSE-10004', '4号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '北区广场', '321283124S3001_CW-CD', '321283124S3001',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20001', '1号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S3002_CW-CD', '321283124S3002',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20002', '2号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S3002_CW-CD', '321283124S3002',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20003', '3号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S3002_CW-CD', '321283124S3002',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-N-EVSE-20004', '4号充电桩',    '特来电', 'TCDZ-DCO.7', 1, '南区广场', '321283124S3002_CW-CD', '321283124S3002',  'M_Z040_DC-EVSE_TLD', 'Z130', 'DC-EVSE', 'SYS_CD');
-
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('864142073640059', '开水器断路器', 'GEEK-OPEN', '30A-4G', 1, '综合楼茶水间', '321283124S300101', '321283124S3001', 'M_W2_QF_GEEKOPEN', 'W201', 'QF', 'SYS_BA');
-INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `device_spec`, `device_status`, `location`, `location_ref`, `area_code`, `device_model`, `ref_facs`, `ps_code`, `subsystem_code`) VALUES ('D-B-QS-10000001', '大厅照明开关', '德力西', '4P', 1, '综合楼大厅', '321283124S300101', '321283124S3001', 'M_W2_QS_KEKA_86', 'W201', 'QS', 'SYS_BA');
-
-
-INSERT INTO adm_ems_device (device_code, device_name, device_brand, device_spec, device_status, location,
-                                   location_ref, area_code, device_model, ref_facs, ps_code, subsystem_code,
-                                   create_time, update_time)
-VALUES ('GCZR-001', '光储设备1', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300101', '321283124S3001',
-        'M_W2_QS_KEKA_86', 'GCZR101', NULL, 'SYS_GCZR', '2025-04-22 16:38:18', '2025-06-30 09:12:39'),
-       ('GCZR-002', '光储设备2', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300201', '321283124S3002',
-        'M_W2_QS_KEKA_86', 'GCZR102', NULL, 'SYS_GCZR', '2025-04-22 16:38:48', '2025-06-30 09:19:02'),
-       ('GCZR-003', '光储设备3', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300301', '321283124S3003',
-        'M_W2_QS_KEKA_86', 'GCZR103', NULL, 'SYS_GCZR', '2025-04-22 16:38:57', '2025-06-30 09:19:27'),
-       ('GCZR-004', '光储设备4', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300102', '321283124S3001',
-        'M_W2_QS_KEKA_86', 'GCZR101', NULL, 'SYS_GCZR', '2025-04-22 16:39:14', '2025-06-30 09:18:17'),
-       ('GCZR-005', '光储设备5', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300102', '321283124S3001',
-        'M_W2_QS_KEKA_86', 'GCZR101', NULL, 'SYS_GCZR', '2025-04-22 16:39:14', '2025-06-30 09:18:17'),
-       ('GCZR-006', '光储设备6', '特来电', 'TCDZ-DCO.7', 1, '综合楼茶水间', '321283124S300102', '321283124S3001',
-        'M_W2_QS_KEKA_86', 'GCZR101', NULL, 'SYS_GCZR', '2025-04-22 16:39:14', '2025-06-30 09:18:17'),
-       ('GCC-001', '光储充设备1', 'CASA', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S300101', NULL, 'GCC01',
-        NULL, 'SYS_GCC', '2025-04-22 16:55:39', '2025-06-28 17:20:39'),
-       ('GCC-002', '光储充设备2', 'CASA', 'Z1', NULL, '广场配电柜', '321283124S300102', '321283124S300102', NULL, 'GCC01',
-        NULL, 'SYS_GCC', '2025-04-22 16:55:39', '2025-06-28 17:20:39'),
-       ('GCC-003', '光储充设备3', 'CASA', 'Z1', NULL, '广场配电柜', '321283124S300103', '321283124S300103', NULL, 'GCC01',
-        '', 'SYS_GCC', '2025-04-22 16:55:39', '2025-06-28 17:20:39'),
-       ('Charge-001', '充电桩设备1', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S300101', NULL,
-        'Charge101', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:28:31');
-INSERT INTO adm_ems_device (device_code, device_name, device_brand, device_spec, device_status, location,
-                                   location_ref, area_code, device_model, ref_facs, ps_code, subsystem_code,
-                                   create_time, update_time)
-VALUES ('Charge-0012', '充电桩设备2', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S300101', NULL,
-        'Charge101', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:28:31'),
-       ('Charge-0013', '充电桩设备3', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S300101', NULL,
-        'Charge101', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:28:31'),
-       ('Charge-0014', '充电桩设备4', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S300101', NULL,
-        'Charge101', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:28:31'),
-       ('Charge-002', '充电桩设备2', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300201', '321283124S300102', NULL,
-        'Charge102', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:29:10'),
-       ('Charge-003', '充电桩设备1', '特来电', 'Z1', NULL, '综合楼大厅', '321283124S300301', '321283124S300103', NULL,
-        'Charge103', NULL, 'SYS_Charge', '2025-04-22 17:06:26', '2025-06-30 09:29:10'),
-       ('ZHZM-001', '照明设备1', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL, 'ZHZM101',
-        NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:36:36'),
-       ('ZHZM-0012', '照明设备12', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHZM101', NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:59:03'),
-       ('ZHZM-0013', '照明设备13', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHZM101', NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:59:03'),
-       ('ZHZM-0014', '照明设备14', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHZM101', NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:59:03'),
-       ('ZHZM-002', '照明设备2', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300201', '321283124S3002', NULL, 'ZHZM102',
-        NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:36:36');
-INSERT INTO adm_ems_device (device_code, device_name, device_brand, device_spec, device_status, location,
-                                   location_ref, area_code, device_model, ref_facs, ps_code, subsystem_code,
-                                   create_time, update_time)
-VALUES ('ZHZM-003', '照明设备3', '欧普', 'Z1', NULL, '广场配电柜', '321283124S300301', '321283124S3003', NULL, 'ZHZM103',
-        NULL, 'SYS_ZHZM', '2025-04-22 17:12:41', '2025-06-30 09:36:54'),
-       ('ZHHM-001', '海绵设备1', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL, 'ZHHM101',
-        NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:41:21'),
-       ('ZHHM-0012', '海绵设备12', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHHM101', NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:58:56'),
-       ('ZHHM-0013', '海绵设备13', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHHM101', NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:58:56'),
-       ('ZHHM-0014', '海绵设备14', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300101', '321283124S3001', NULL,
-        'ZHHM101', NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:58:56'),
-       ('ZHHM-002', '海绵设备2', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300201', '321283124S3002', NULL, 'ZHHM102',
-        NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:41:21'),
-       ('ZHHM-003', '海绵设备3', 'HKLS', 'Z1', NULL, '广场配电柜', '321283124S300301', '321283124S3003', NULL, 'ZHHM103',
-        NULL, 'SYS_ZHHM', '2025-04-22 17:18:36', '2025-06-30 09:41:21'),
-       ('LG-001', '厨余垃圾设备1', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL, 'LG101',
-        NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:51:48'),
-       ('LG-0012', '厨余垃圾设备12', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'LG101', NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:58:47'),
-       ('LG-0013', '厨余垃圾设备13', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'LG101', NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:58:47');
-INSERT INTO adm_ems_device (device_code, device_name, device_brand, device_spec, device_status, location,
-                                   location_ref, area_code, device_model, ref_facs, ps_code, subsystem_code,
-                                   create_time, update_time)
-VALUES ('LG-0014', '厨余垃圾设备14', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'LG101', NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:58:47'),
-       ('LG-002', '厨余垃圾设备2', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300201', '321283124S3002', NULL, 'LG102',
-        NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:51:48'),
-       ('LG-003', '厨余垃圾设备3', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300301', '321283124S3003', NULL, 'LG101',
-        NULL, 'SYS_LG', '2025-04-22 17:23:02', '2025-06-30 09:52:42'),
-       ('NHJC-001', '能耗设备1', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL, 'NHJC101',
-        NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:54:30'),
-       ('NHJC-0012', '能耗设备12', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'NHJC101', NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:54:30'),
-       ('NHJC-0013', '能耗设备13', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'NHJC101', NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:54:30'),
-       ('NHJC-0014', '能耗设备14', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL,
-        'NHJC101', NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:54:30'),
-       ('NHJC-002', '能耗设备2', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300201', '321283124S3002', NULL, 'NHJC102',
-        NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:54:30'),
-       ('NHJC-003', '能耗设备3', 'HKLS', 'Z1', NULL, '综合楼大厅', '321283124S300101', '321283124S3001', NULL, 'NHJC101',
-        NULL, 'SYS_NHJC', '2025-04-22 17:28:21', '2025-06-30 09:56:34');
-
-
-
-
 -- 区域&标签关系表
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-101', 1, 'Area_00');
 insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-102', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-103', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-104', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-105', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-106', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-107', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-108', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-109', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-110', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-111', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-112', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-113', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-114', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-115', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-116', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-117', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-118', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-119', 1, 'Area_00');
-
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-CD', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-DKC', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-HC', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-WXP', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-WZA', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3001_CW-XK', 1, 'Area_00');
-
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-101', 1, 'Area_00');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10201', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10202', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10203', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10204', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10205', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10206', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10207', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10208', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10209', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('B-10210', 1, 'Area_01');
+
 insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-102', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-103', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-104', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-105', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-106', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-107', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-108', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-109', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-110', 1, 'Area_01');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-111', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-112', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-113', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-114', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-115', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-116', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-117', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-118', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-119', 1, 'Area_00');
-
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-CD', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-DKC', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-HC', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-WXP', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-WZA', 1, 'Area_00');
-insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('321283124S3002_CW-XK', 1,  'Area_00');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10201', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10202', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10203', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10204', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10205', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10206', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10207', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10208', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10209', 1, 'Area_01');
+insert into adm_obj_tag_rel (`obj_code`, `obj_type`, `tag_code`) VALUES ('N-10210', 1, 'Area_01');
+
 
 -- 服务区用电属性数据
 INSERT INTO adm_area_elec_attr (`area_code`, `price_code`, `req_capacity_flag`, `trans_capacity`, `req_quantity`) VALUES ('321283124S3001', '4001', 1, 630, NULL);
@@ -782,7 +421,6 @@ INSERT INTO adm_gw_elecprice_config (`cfg_code`, `elec_type`, `voltage_level`, `
 INSERT INTO adm_gw_elecprice_config (`cfg_code`, `elec_type`, `voltage_level`, `degree_price`, `fs_peak_degree_price`, `fs_high_degree_price`, `fs_low_degree_price`, `max_req_price`, `trans_capacity_price`) VALUES ('3003', 3, '35千伏', 0.7114, 1.4273, 1.1894,  0.3214, NULL, NULL);
 
 -- 两部制初始电价数据
--- 两部制初始电价数据
 INSERT INTO adm_gw_elecprice_config (`cfg_code`, `elec_type`, `voltage_level`, `degree_price`, `fs_peak_degree_price`, `fs_high_degree_price`, `fs_low_degree_price`, `max_req_price`, `trans_capacity_price`) VALUES ('4001', 4, '1-10(20)千伏', 0.6587, 1.3592, 1.1327,  0.2757, 51.2, 32);
 INSERT INTO adm_gw_elecprice_config (`cfg_code`, `elec_type`, `voltage_level`, `degree_price`, `fs_peak_degree_price`, `fs_high_degree_price`, `fs_low_degree_price`, `max_req_price`, `trans_capacity_price`) VALUES ('4002', 4, '35千伏', 0.6337, 1.3076, 1.0897,  0.2652, 48, 30);
 INSERT INTO adm_gw_elecprice_config (`cfg_code`, `elec_type`, `voltage_level`, `degree_price`, `fs_peak_degree_price`, `fs_high_degree_price`, `fs_low_degree_price`, `max_req_price`, `trans_capacity_price`) VALUES ('4003', 4, '110千伏', 0.6087, 1.256, 1.0467,  0.2547, 44.8, 28);
@@ -802,6 +440,11 @@ INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_tim
 INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_time`, `type`) VALUES ('1001', '17:00:00', '22:00:00', 1);
 INSERT INTO adm_elecprice_strategy_hour (`strategy_code`, `start_time`, `end_time`, `type`) VALUES ('1001', '22:00:00', '23:59:59', 0);
 
+-- 非电能源价格
+INSERT INTO `adm_fd_energyprice_config` (`cfg_code`, `area_code`, `meter_cls`, `unit_price`, `meter_unit`) VALUES ('0000', '-1', 70, 4.1, '吨');
+INSERT INTO `adm_fd_energyprice_config` (`cfg_code`, `area_code`, `meter_cls`, `unit_price`, `meter_unit`) VALUES ('0001', '321283124S3001', 70, 4.1, '吨');
+INSERT INTO `adm_fd_energyprice_config` (`cfg_code`, `area_code`, `meter_cls`, `unit_price`, `meter_unit`) VALUES ('0002', '321283124S3002', 70, 4.1, '吨');
+
 -- 商户能源计费策略
 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);
@@ -821,39 +464,149 @@ VALUES ('SYS_GCC', '光储充系统', '光储充', '光储充厂商', '张三',
        ('SYS_LG', '垃圾厨余系统', '垃圾厨余', '垃圾厨余厂商', '张三', '1212121121', '刘工', '1212221111', NULL),
        ('SYS_NHJC', '能耗监测系统', '能耗监测', '能耗监测厂商', '张三', '1212121121', '刘工', '1212221111', NULL);
 
--- 能源计量设备DEMO数据
--- 电表
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-101', '北区/综合楼B-101', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-102', '北区/综合楼B-102', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-103', '北区/综合楼B-103', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-104', '北区/综合楼B-104', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-105', '北区/综合楼B-105', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-106', '北区/综合楼B-106', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-107', '北区/综合楼B-107', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-108', '北区/综合楼B-108', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-109', '北区/综合楼B-109', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-110', '北区/综合楼B-110', '321283124S300101', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-Z101', '北区/综合楼内照明(Z101)', '321283124S300101', '一楼设备间', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-Z102', '北区/综合楼室外照明(Z102)', '321283124S300101', '北区综合楼2#箱', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-Z110', '北区/综合楼公共设施(Z110)', '321283124S300101', '北区综合楼1#箱', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-Z120', '北区/综合楼空调(Z120)', '321283124S300101', '北区综合楼1#箱', 45, 0, 3600, 0, 50, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'J-D-B-G001', '北区/广场照明', '321283124S300101', '北区广场1#配电柜', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-101', '南区/综合楼N-101', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-102', '南区/综合楼N-103', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-103', '南区/综合楼N-105', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-104', '南区/综合楼N-107', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-105', '南区/综合楼N-109', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-106', '南区/综合楼N-110', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-107', '南区/综合楼N-112', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-108', '南区/综合楼N-113', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-109', '南区/综合楼N-114', '321283124S300201', '一楼设备间', 45, 1, NULL, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-110', '南区/综合楼N-115', '321283124S300201', '一楼设备间', 45, 0, 3600, 1, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-Z201', '南区/综合楼内照明(Z201)', '321283124S300201', '一楼设备间', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-Z202', '南区/综合楼室外照明(Z202)', '321283124S300201', '综合楼2#箱', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-Z210', '南区/综合楼公共设施(Z210)', '321283124S300201', '综合楼1#箱', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-Z220', '南区/综合楼空调(Z220)', '321283124S300201', '综合楼1#箱', 45, 0, 3600, 0, 50, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'J-D-N-G001', '南区/广场照明', '321283124S300201', '广场1#配电柜', 45, 0, 3600, 0, 1, '智能表');
-INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', '864142073640059', '智能断路器', '321283124S300101', '综合楼C3-茶水间', 45, 0, 3600, 0, 1, '智能表');
+-- 北区电表
+-- 综合楼电表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0000','M_W2_SM_INDOOR_ENERGY', '北区综合楼ALZ',       '321283124S300100', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0001','M_W2_SM_INDOOR_ENERGY', '北区综合楼AKZ',       '321283124S300100', '一楼强电间', 45, 0, 300, 0, 1, '线接上之后北区综合楼APJK不通');
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0002','M_W2_SM_INDOOR_ENERGY', '北区综合楼APXF2',     '321283124S300100', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0003','M_W2_SM_INDOOR_ENERGY', '北区综合楼APXF1',     '321283124S300100', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0005','M_W2_SM_INDOOR_ENERGY', '北区综合楼APJK',      '321283124S300100', '一楼监控室', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0006','M_W2_SM_INDOOR_ENERGY', '北区综合楼APsbjf',    '321283124S300100', '一楼地下室', 45, 0, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0206','M_W2_SM_INDOOR_ENERGY', '德克士',             '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0214','M_W2_SM_INDOOR_ENERGY', '微团生活馆',          '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0222','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0230','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0238','M_W2_SM_INDOOR_ENERGY', '沪上阿姨(奶茶)',     '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0246','M_W2_SM_INDOOR_ENERGY', '服饰鞋帽(服饰)',     '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0254','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0262','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0270','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300100', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0278','M_W2_SM_INDOOR_ENERGY', '传统小吃(小吃)',      '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0286','M_W2_SM_INDOOR_ENERGY', '美广',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0294','M_W2_SM_INDOOR_ENERGY', '共和春(面馆)',        '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0302','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0310','M_W2_SM_INDOOR_ENERGY', '特产市集(特产)',      '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0318','M_W2_SM_INDOOR_ENERGY', '超市',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0326','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0334','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0342','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0350','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300100', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0406','M_W2_SM_INDOOR_ENERGY', '厨房配电',            '321283124S300100', '配电箱-APCF',   45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0600','M_W2_SM_INDOOR_ENERGY', '北区综合楼APDT',      '321283124S300100', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0601','M_W2_SM_INDOOR_ENERGY', '北区综合楼2APDP',     '321283124S300100', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0603','M_W2_SM_INDOOR_ENERGY', '北区综合楼APKT1',     '321283124S300100', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2003_AV_0604','M_W2_SM_INDOOR_ENERGY', '北区综合楼APKT2',     '321283124S300100', '二楼强电间',     45, 0, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0400','M_W2_SM_INDOOR_ENERGY', '北区综合楼APXK',      '321283124S300100', '消控室',   45, 0, 300, 0, 1, null);
+
+-- 北区司机之家电表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2005_AV_0200','M_W2_SM_INDOOR_ENERGY', '北区司机之家维修间ALWX', '321283124S300100', '一楼强电间',   45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2005_AV_0201','M_W2_SM_INDOOR_ENERGY', '北区司机之家维修间ALE',  '321283124S300100', '一楼强电间',   45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2005_AV_0400','M_W2_SM_INDOOR_ENERGY', '北区司机之家维修间ALZ',  '321283124S300100', '一楼强电间',   45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2005_AV_0401','M_W2_SM_INDOOR_ENERGY', '北区司机之家维修间ALSS', '321283124S300100', '二楼强电间',   45, 1, 300, 0, 1, null);
+
+-- 北区警务室
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2006_AV_0000','M_W2_SM_INDOOR_ENERGY', '警务室AL', '321283124S300100', '一楼强电间',   45, 0, 300, 0, 1, null);
+
+-- 北区水表
+-- 北综合楼水表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0000','M_W2_SM_INDOOR_ENERGY', '货车服务空间', '321283124S300100', '货车服务空间',   70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0001','M_W2_SM_INDOOR_ENERGY', '沪上阿姨',    '321283124S300100', '沪上阿姨',      70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0002','M_W2_SM_INDOOR_ENERGY', '微团生活馆',   '321283124S300100', '微团生活馆',    70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0003','M_W2_SM_INDOOR_ENERGY', '服饰鞋帽',     '321283124S300100', '服饰鞋帽',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0004','M_W2_SM_INDOOR_ENERGY', '卫生间',       '321283124S300100', '卫生间',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0005','M_W2_SM_INDOOR_ENERGY', '开水间',       '321283124S300100', '开水间',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0006','M_W2_SM_INDOOR_ENERGY', '超市',         '321283124S300100', '超市',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0007','M_W2_SM_INDOOR_ENERGY', '特产市集',     '321283124S300100', '特产市集',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0008','M_W2_SM_INDOOR_ENERGY', '堂食餐饮',     '321283124S300100', '堂食餐饮',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0009','M_W2_SM_INDOOR_ENERGY', '传统小吃',     '321283124S300100', '传统小吃',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0010','M_W2_SM_INDOOR_ENERGY', '德克士',       '321283124S300100', '德克士',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0011','M_W2_SM_INDOOR_ENERGY', '共和春面馆',    '321283124S300100', '共和春面馆',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0012','M_W2_SM_INDOOR_ENERGY', '中餐厅',       '321283124S300100', '中餐厅',     70, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2004_AV_0200','M_W2_SM_INDOOR_ENERGY', '二楼',       '321283124S300100', '二楼',     70, 0, 300, 0, 1, null);
+
+-- 司机之家水表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', 'C_2005_AV_0600','M_W2_SM_INDOOR_ENERGY', '北区司机之家维修间ALSS', '321283124S300100', '司机之家',   70, 0, 300, 0, 1, null);
+
+-- 南区电表
+-- 综合楼
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0000','M_W2_SM_INDOOR_ENERGY', '南区综合楼ALZ',       '321283124S300200', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0001','M_W2_SM_INDOOR_ENERGY', '南区综合楼AKZ',       '321283124S300200', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0002','M_W2_SM_INDOOR_ENERGY', '南区综合楼APXF2',     '321283124S300200', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0003','M_W2_SM_INDOOR_ENERGY', '南区综合楼APXF1',     '321283124S300200', '一楼强电间', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0004','M_W2_SM_INDOOR_ENERGY', '南区综合楼APJF',      '321283124S300200', '一楼机房',  45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0005','M_W2_SM_INDOOR_ENERGY', '南区综合楼APJK',      '321283124S300200', '一楼监控室', 45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0006','M_W2_SM_INDOOR_ENERGY', '南区综合楼APsbjf',    '321283124S300200', '一楼地下室', 45, 0, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0206','M_W2_SM_INDOOR_ENERGY', '德克士',             '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0214','M_W2_SM_INDOOR_ENERGY', '微团生活馆',          '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0222','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0230','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0238','M_W2_SM_INDOOR_ENERGY', '沪上阿姨(奶茶)',     '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0246','M_W2_SM_INDOOR_ENERGY', '服饰鞋帽(服饰)',     '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0254','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0262','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0270','M_W2_SM_INDOOR_ENERGY', '备用',               '321283124S300200', '配电箱-ALSPZ2', 45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0278','M_W2_SM_INDOOR_ENERGY', '传统小吃(小吃)',      '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0286','M_W2_SM_INDOOR_ENERGY', '美广',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, '没电');
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0294','M_W2_SM_INDOOR_ENERGY', '共和春(面馆)',        '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0302','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0310','M_W2_SM_INDOOR_ENERGY', '特产市集(特产)',      '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0318','M_W2_SM_INDOOR_ENERGY', '超市',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0326','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0334','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0342','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0350','M_W2_SM_INDOOR_ENERGY', '备用',                '321283124S300200', '配电箱-ALSPZ1', 45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0406','M_W2_SM_INDOOR_ENERGY', '厨房配电',             '321283124S300200', '配电箱-APCF',   45, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0600','M_W2_SM_INDOOR_ENERGY', '南区综合楼APDT',      '321283124S300200', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0601','M_W2_SM_INDOOR_ENERGY', '南区综合楼2APDP',     '321283124S300200', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0602','M_W2_SM_INDOOR_ENERGY', '南区综合楼2ALZt',     '321283124S300200', '二楼强电间',     45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0603','M_W2_SM_INDOOR_ENERGY', '南区综合楼APKT1',     '321283124S300200', '二楼强电间',     45, 0, 300, 0, 1, '暂未供电');
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1003_AV_0604','M_W2_SM_INDOOR_ENERGY', '南区综合楼APKT2',     '321283124S300200', '二楼强电间',     45, 0, 300, 0, 1, '暂未供电');
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0400','M_W2_SM_INDOOR_ENERGY', '南区综合楼APXK',      '321283124S300200', '消控室',        45, 0, 300, 0, 1, null);
+
+-- 南区司机之家电表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1005_AV_0000','M_W2_SM_INDOOR_ENERGY', '南区司机之家维修间ALZ',   '321283124S300200', '一楼强电间',   45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1005_AV_0200','M_W2_SM_INDOOR_ENERGY', '南区司机之家维修间ALWX',  '321283124S300200', '一楼强电间',   45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1005_AV_0201','M_W2_SM_INDOOR_ENERGY', '南区司机之家维修间ALE',   '321283124S300200', '一楼强电间',   45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1005_AV_0400','M_W2_SM_INDOOR_ENERGY', '南区司机之家维修间ALSS',  '321283124S300200', '二楼强电间',   45, 0, 300, 0, 1, null);
+
+-- 南区宿舍电表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1007_AV_0000','M_W2_SM_INDOOR_ENERGY', '南区宿舍ALZ',   '321283124S300200', '一楼强电间',   45, 0, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1007_AV_0200','M_W2_SM_INDOOR_ENERGY', '南区宿舍ALE',   '321283124S300200', '一楼强电间',   45, 0, 300, 0, 1, null);
+
+-- 南区水表
+-- 北综合楼水表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0000','M_W2_SM_INDOOR_ENERGY', '货车服务空间', '321283124S300200', '货车服务空间',   70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0001','M_W2_SM_INDOOR_ENERGY', '沪上阿姨',    '321283124S300200', '沪上阿姨',      70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0002','M_W2_SM_INDOOR_ENERGY', '微团生活馆',   '321283124S300200', '微团生活馆',    70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0003','M_W2_SM_INDOOR_ENERGY', '服饰鞋帽',     '321283124S300200', '服饰鞋帽',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0004','M_W2_SM_INDOOR_ENERGY', '卫生间',       '321283124S300200', '卫生间',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0005','M_W2_SM_INDOOR_ENERGY', '开水间',       '321283124S300200', '开水间',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0006','M_W2_SM_INDOOR_ENERGY', '超市',         '321283124S300200', '超市',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0007','M_W2_SM_INDOOR_ENERGY', '特产市集',     '321283124S300200', '特产市集',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0008','M_W2_SM_INDOOR_ENERGY', '堂食餐饮',     '321283124S300200', '堂食餐饮',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0009','M_W2_SM_INDOOR_ENERGY', '传统小吃',     '321283124S300200', '传统小吃',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0010','M_W2_SM_INDOOR_ENERGY', '德克士',       '321283124S300200', '德克士',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0011','M_W2_SM_INDOOR_ENERGY', '共和春面馆',    '321283124S300200', '共和春面馆',     70, 1, 300, 0, 1, null);
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0012','M_W2_SM_INDOOR_ENERGY', '中餐厅',       '321283124S300200', '中餐厅',     70, 1, 300, 0, 1, null);
+
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1004_AV_0200','M_W2_SM_INDOOR_ENERGY', '二楼',       '321283124S300200', '二楼',     70, 0, 300, 0, 1, null);
+
+-- 司机之家水表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3002', 'C_1005_AV_0600','M_W2_SM_INDOOR_ENERGY', '司机之家水表', '321283124S300200', '司机之家',   70, 0, 300, 0, 1, null);
+
+-- 测试表
+INSERT INTO `adm_meter_device` (`area_code`, `device_code`, `device_model`, `device_name`, `location_ref`, `location`, `meter_cls`, `obj_tag`, `col_cycle`, `col_mode`, `magnification`, `spec_desc`) VALUES ('321283124S3001', '864142073640059', 'M_W2_QF_GEEKOPEN', '智能断路器', '321283124S300101', '综合楼C3-茶水间', 45, 0, 3600, 0, 1, '智能表');
 
 
 -- 表计绑定关系

+ 33 - 26
ems/sql/ems_server.sql

@@ -180,7 +180,7 @@ INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `v
 INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('5599',     '其他核能',                     null, 2, '55', 'GB/T 29870-2013');
 INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('60',	     '氢能',                        null, 1, '-1', 'GB/T 29870-2013');
 INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('99',	     '其他',                        null, 1, '-1', 'GB/T 29870-2013');
-
+INSERT INTO `dim_gb_ems_cls` (`code`, `name`, `desc`, `level`, `parent_code`, `version`) VALUES ('70',          '自来水',                  NULL, 1, '-1', NULL);
 
 -- ----------------------------
 -- 能源设施分类
@@ -202,15 +202,7 @@ INSERT INTO `dim_ems_facs_category` (`code`, `name`, `desc`, `version`) VALUES (
 INSERT INTO `dim_ems_facs_category` (`code`, `name`, `desc`, `version`) VALUES ('W', '传输系统', '区位码', 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_category` (`code`, `name`, `desc`, `version`) VALUES ('C', '存储系统', '全站码', 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_category` (`code`, `name`, `desc`, `version`) VALUES ('Z', '用能系统', '区位码', 'GB/T 43033-2013');
-INSERT INTO dim_ems_facs_category (code, name, `desc`, version)
-VALUES ('GCC', '光储充系统', '区位码', 'GB/T 43033-2013'),
-       ('GCZR', '光储直柔系统', '区位码', 'GB/T 43033-2013'),
-       ('Charge', '充电桩系统', '区位码', 'GB/T 43033-2013'),
-       ('ZHZM', '智慧照明系统', '区位码', 'GB/T 43033-2013'),
-       ('ZHHM', '智慧海绵系统', '区位码', 'GB/T 43033-2013'),
-       ('LG', '垃圾厨余系统', '区位码', 'GB/T 43033-2013'),
-       ('NHJC', '能耗监测系统', '区位码', 'GB/T 43033-2013'),
-    ('DEVC','设备管理系统','区位码','GB/T 43033-2013');
+
 
 -- ----------------------------
 -- 能源设施子类
@@ -242,6 +234,7 @@ INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W1', '管网', 'W', null, 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W2', '配电网', 'W', null, 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W3', '中继泵站', 'W', null, 'GB/T 43033-2013');
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('W4', '能耗监测', 'W', null, 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C1', '电化学储能站', 'C', null, 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C2', '飞轮、压缩空气等机械储能站', 'C', null, 'GB/T 43033-2013');
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('C3', '蓄冷/热站', 'C', null, 'GB/T 43033-2013');
@@ -251,17 +244,12 @@ INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z030', '安防设施', 'Z', null, null);
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z040', '服务设施', 'Z', null, null);
 INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z999', '其他设施', 'Z', null, null);
-
-INSERT INTO dim_ems_facs_subcategory (code, name, parent_code, `desc`, version)
-VALUES ('GCZR1', '光储直柔', 'GCZR', NULL, NULL),
-       ('GCC1', '光储充', 'GCC', NULL, NULL),
-       ('Charge1', '充电桩', 'Charge', NULL, NULL),
-       ('ZHZM1', '智慧照明', 'ZHZM', NULL, NULL),
-       ('ZHHM1', '智慧海绵', 'ZHHM', NULL, NULL),
-       ('LG1', '厨余垃圾', 'LG', NULL, NULL),
-       ('NHJC1', '能耗监测', 'NHJC', NULL, NULL),
-    ('DEVC1','对接设备','DEVC',NULL,NULL);
-
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z101', '光储直柔', 'Z', null, null);
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z102', '光储充', 'Z', null, null);
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z103', '充电桩', 'Z', null, null);
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z105', '智慧海绵', 'Z', null, null);
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z106', '厨余垃圾', 'Z', null, null);
+INSERT INTO `dim_ems_facs_subcategory` (`code`, `name`, `parent_code`, `desc`, `version`) VALUES ('Z108', '对接设备', 'Z', null, null);
 
 -- ----------------------------
 -- 能源设备工艺标识维表
@@ -292,6 +280,7 @@ INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`
 INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('AF', '低压负荷开关柜', null, 'W', 'W2', null);
 INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('ACC', '低压电容补偿柜', null, 'W', 'W2', null);
 
+INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('SM', '智能表', '智能表', 'W', 'W2', null);
 INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('QF', '断路器', '空开', 'W', 'W2', null);
 INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('QR', '漏电保护器', null, 'W', 'W2', null);
 INSERT INTO `dim_ems_dev_process` (`ps_code`, `ps_name`, `desc`, `category_code`, `subcategory_code`, `version`) VALUES ('QS', '隔离开关', null, 'W', 'W2', null);
@@ -645,19 +634,20 @@ create table adm_ems_device  (
 drop table if exists adm_meter_device;
 create table adm_meter_device  (
   `id`              bigint(20)      not null auto_increment      comment '序号',
-  `area_code`       varchar(32)     default null                 comment '区域代码',
   `device_code`     varchar(32)     not null                     comment '设备代码',
+  `device_model`    varchar(32)     not null                     comment '设备模型',
+  `area_code`       varchar(32)     default null                 comment '区域代码',
   `device_name`     varchar(64)     default null                 comment '设备别名',
   `location_ref`    varchar(64)     default null                 comment '归属子区',
   `location`        varchar(128)    default null                 comment '安装位置',
   `meter_cls`       int             not null                     comment '计量类别25-天然气 45-电 70-水',
-  `obj_tag`         int             default null                 comment '对象标记',
+  `obj_tag`         int             default null                 comment '表计属性0-无,1-个户表,2-公摊表',
   `col_cycle`       int             default null                 comment '采集周期',
   `col_mode`        int             default null                 comment '采集方式',
   `magnification`   int             default 1                    comment '倍率',
   `spec_desc`       varchar(128)    default null                 comment '规格描述',
   primary key (`id`),
-  unique key ux_meter_device(`device_code`)
+  unique key ux_meter_device(`device_model`,`device_code`)
 ) engine=innodb auto_increment=1 comment = '计量设备表';
 
 
@@ -743,7 +733,7 @@ create table adm_ems_obj_attr_value  (
   `obj_code`        varchar(64)     not null                     comment '对象代码',
   `model_code`      varchar(64)     not null                     comment '模型code',
   `attr_key`        varchar(128)    not null                     comment '属性标识',
-  `attr_value`      varchar(32)     default null                 comment '属性值',
+  `attr_value`      text            default null                 comment '属性值',
   `update_time`     datetime        default CURRENT_TIMESTAMP    ON UPDATE CURRENT_TIMESTAMP comment '更新时间',
   primary key (`id`),
   unique key ux_ems_obj_attr_value(`obj_code`, `model_code`, `attr_key`)
@@ -1065,7 +1055,7 @@ create table adm_ems_device_rbook (
 drop table if exists adm_obj_tag_rel;
 create table adm_obj_tag_rel (
   `tag_code`         varchar(64)     not null                     comment '标签代码',
-  `obj_type`         int             not null                     comment '对象类型 1:园区,2:区块,3:设施',
+  `obj_type`         int             not null                     comment '对象类型 1:区域,2:设施,3:设备',
   `obj_code`         varchar(64)     not null                     comment '对象代码',
   unique key inx_obj_tag_rel(`tag_code`, `obj_type`, `obj_code`)
 ) engine=innodb auto_increment=1 comment = '对象&标签关系表';
@@ -1131,6 +1121,21 @@ create table adm_gw_elecprice_config (
 
 
 -- ----------------------------
+-- 非电能源价格配置表
+-- ----------------------------
+drop table if exists adm_fd_energyprice_config;
+create table adm_fd_energyprice_config (
+  `id`                    bigint(20)      not null auto_increment      comment '序号',
+  `cfg_code`              varchar(4)      not null                     comment '配置代码',
+  `area_code`             varchar(32)     default null                 comment '园区代码',
+  `meter_cls`             int             not null                     comment '计量介质',
+  `unit_price`            double          not null                     comment '单位价格',
+  `meter_unit`            varchar(32)     default null                 comment '计量单位',
+  primary key (`id`),
+  unique key ux_fd_energyprice_config(`cfg_code`)
+) engine=innodb auto_increment=1 comment = '非电能源价格配置表';
+
+-- ----------------------------
 -- 光伏电价配置表
 -- ----------------------------
 drop table if exists adm_pv_elecprice_config;
@@ -1316,6 +1321,7 @@ create table adm_water_meter_h (
   `water_quantity`     double          default null                 comment '用水量 单位:t(吨)',
   `meter_unit_price`   double          default null                 comment '单位水价(1吨水)',
   `use_water_cost`     double          default null                 comment '小时水费',
+  `meter_reading`      double          default null                 comment '抄表示数',
   `create_time`        datetime        default CURRENT_TIMESTAMP    comment '创建时间',
   primary key (`id`),
   unique key ux_water_meter_h(`device_code`, `record_time`)
@@ -1492,6 +1498,7 @@ create table adm_ems_elec_prod_forecast (
   `facs_code`                 varchar(16)     not null                     comment '设施代码',
   `date`                      date            not null                     comment '日期 yyyy-MM-dd',
   `elec_prod_quantity`        double          not null                     comment '发电量 单位:kW-h(千瓦·时)',
+  `up_elec_quantity`          double          default null                 comment 'sw 单位:kW-h(千瓦·时)',
   `avg_power`                 double          default null                 comment '功率 单位:kW(千瓦)',
   primary key (`id`),
   unique key ux_ems_elec_prod_forecast(`facs_code`, `date`)

+ 246 - 246
ems/sql/ems_sys_data.sql

@@ -288,20 +288,20 @@ insert into sys_menu (menu_id,menu_name, parent_id, order_num, path, component,
 values(12905,'节能计量日导出', 129, '5',  '#', '', 1, 0, 'F', '0', '0', 'ems:EmsEcoD:export',       '#', 'admin', sysdate(), '', null, '');
 
 -- 碳排计量
-INSERT INTO `sys_menu` VALUES (1310,'list',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:list', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1311,'export',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:export', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1312,'query',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:query', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1313,'add',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:add', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1314,'edit',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:edit', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1315,'remove',131, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:remove', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12311,'list',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:list', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12312,'export',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:export', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12313,'query',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:query', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12314,'add',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:add', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12315,'edit',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:edit', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12316,'remove',1231, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:emission:remove', '#', 'admin', sysdate(), '', NULL, '');
 
 -- 碳汇计量
-INSERT INTO `sys_menu` VALUES (1320,'list',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:list', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1321,'export',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:export', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1322,'query',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:query', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1323,'add',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:add', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1324,'edit',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:edit', '#', 'admin', sysdate(), '', NULL, '');
-INSERT INTO `sys_menu` VALUES (1325,'remove',132, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:remove', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12321,'list',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:list', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12322,'export',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:export', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12323,'query',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:query', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12324,'add',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:add', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12325,'edit',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:edit', '#', 'admin', sysdate(), '', NULL, '');
+INSERT INTO `sys_menu` VALUES (12326,'remove',1232, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ca-analysis:sink:remove', '#', 'admin', sysdate(), '', NULL, '');
 
 -- 巡检任务
 INSERT INTO sys_menu VALUES (1531, 'list', 153, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'ems:inspection-task:list', '#', 'admin', '2024-08-26 11:08:42', '', NULL, '');
@@ -335,240 +335,240 @@ INSERT INTO sys_menu VALUES (1807, '执行任务', 180, 1, '', NULL, NULL, 1, 0,
 -- ----------------------------
 -- 初始化-角色和菜单关联表数据
 -- ----------------------------
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 2);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 3);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 4);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 5);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 6);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 7);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 99);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 100);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 101);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 111);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 112);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 113);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 114);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 115);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 116);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 117);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 120);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 121);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 123);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 126);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 127);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 128);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 129);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 141);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 142);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 143);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 144);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 151);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 152);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 153);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 154);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 161);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 162);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 163);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 164);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 165);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 170);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 171);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 172);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 173);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 174);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 175);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 176);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 177);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 178);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 179);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 180);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 997);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 998);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 999);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1120);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1121);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1122);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1123);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1124);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1125);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1130);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1131);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1132);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1133);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1134);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1135);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1150);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1151);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1152);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1153);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1154);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1155);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1200);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1201);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1202);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1210);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1211);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1212);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1213);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1231);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1232);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1310);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1311);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1312);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1313);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1314);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1315);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1320);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1321);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1322);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1323);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1324);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1325);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1440);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1441);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1510);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1511);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1512);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1513);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1514);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1515);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1520);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1521);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1522);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1523);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1524);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1525);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1531);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1532);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1534);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1535);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1536);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1537);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1538);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1539);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1541);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1542);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1543);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1544);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1545);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1546);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1620);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1621);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1622);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1623);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1624);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1630);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1631);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1632);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1633);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1634);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1650);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1651);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1652);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1653);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1654);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1655);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1656);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1657);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1658);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1659);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1700);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1701);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1702);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1703);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1704);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1705);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1706);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1710);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1711);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1712);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1713);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1714);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1720);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1721);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1722);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1723);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1730);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1731);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1732);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1733);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1740);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1741);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1742);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1743);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1744);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1750);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1751);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1752);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1753);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1754);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1760);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1761);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1762);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1763);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1764);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1770);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1771);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1772);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1773);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1780);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1781);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1790);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1791);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1792);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1800);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1801);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1802);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1803);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1804);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1805);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1806);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 1807);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12000);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12001);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12002);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12003);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12004);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12005);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12010);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12011);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12012);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12013);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12014);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12015);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12020);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12021);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12022);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12023);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12024);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12025);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12901);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12902);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12903);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12904);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 12905);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16200);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16201);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16202);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16210);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16211);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16212);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16213);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16220);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16221);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16222);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16230);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16231);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16232);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 16233);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17800);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17801);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17802);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17810);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17811);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17812);
-INSERT INTO sys_role_menu (`role_id`, `menu_id`) VALUES (2, 17813);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 3);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 4);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 5);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 6);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 7);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 99);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 100);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 101);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 111);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 112);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 113);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 114);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 115);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 116);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 117);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 120);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 121);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 123);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 126);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 127);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 128);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 129);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 141);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 142);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 143);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 144);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 151);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 152);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 153);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 154);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 161);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 162);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 163);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 164);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 165);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 170);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 171);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 172);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 173);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 174);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 175);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 176);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 177);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 178);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 179);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 180);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 997);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 998);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 999);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1120);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1121);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1122);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1123);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1124);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1125);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1130);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1131);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1132);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1133);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1134);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1135);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1150);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1151);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1152);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1153);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1154);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1155);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1200);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1201);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1202);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1210);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1211);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1212);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1213);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1231);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1232);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1440);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1441);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1510);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1511);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1512);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1513);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1514);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1515);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1520);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1521);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1522);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1523);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1524);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1525);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1531);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1532);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1534);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1535);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1536);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1537);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1538);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1539);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1541);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1542);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1543);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1544);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1545);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1546);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1620);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1621);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1622);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1623);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1624);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1630);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1631);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1632);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1633);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1634);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1650);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1651);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1652);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1653);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1654);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1655);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1656);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1657);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1658);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1659);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1700);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1701);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1702);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1703);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1704);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1705);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1706);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1710);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1711);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1712);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1713);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1714);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1720);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1721);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1722);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1723);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1730);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1731);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1732);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1733);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1740);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1741);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1742);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1743);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1744);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1750);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1751);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1752);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1753);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1754);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1760);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1761);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1762);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1763);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1764);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1770);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1771);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1772);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1773);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1780);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1781);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1790);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1791);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1792);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1800);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1801);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1802);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1803);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1804);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1805);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1806);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1807);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12000);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12001);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12002);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12003);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12004);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12005);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12010);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12011);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12012);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12013);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12014);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12015);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12020);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12021);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12022);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12023);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12024);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12025);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12311);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12312);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12313);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12314);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12315);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12316);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12321);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12322);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12323);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12324);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12325);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12326);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12901);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12902);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12903);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12904);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 12905);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16200);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16201);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16202);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16210);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16211);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16212);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16213);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16220);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16221);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16222);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16230);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16231);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16232);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 16233);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17800);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17801);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17802);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17810);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17811);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17812);
+INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 17813);
 
 
 -- ----------------------------