learshaw 4 місяців тому
батько
коміт
7d31ad12b8

+ 4 - 2
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/TaskExecutor.java

@@ -94,10 +94,12 @@ public class TaskExecutor {
      */
     @Scheduled(cron = "0 0/15 * * * ?")
     public void baMeterCollect() {
-        int cnt = baCtlHandler.meterCollect();
-        log.debug("采集室内能耗设备计量数据: {} 条", cnt);
+        baCtlHandler.meterCollect();
         baCtlHandler.xfCollect();
         baCtlHandler.ahuCollect();
+        baCtlHandler.wtCollect();
+        baCtlHandler.wpCollect();
+        baCtlHandler.lightCollect();
     }
 
     /**

+ 6 - 0
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/config/BaCtlConfig.java

@@ -37,4 +37,10 @@ public class BaCtlConfig {
     private Map<String, String> xfMapper;
 
     private Map<String, String> ahuMapper;
+
+    private Map<String, String> wtMapper;
+
+    private Map<String, String> wpMapper;
+
+    private Map<String, String> lightMapper;
 }

+ 146 - 1
ems/ems-cloud/ems-dev-adapter/src/main/java/com/ruoyi/ems/handle/BaCtlHandler.java

@@ -76,8 +76,14 @@ public class BaCtlHandler extends BaseMeterDevHandler {
     // 空调设备模型代码
     private static final String METER_MODEL_AHU = "M_Z020_DEV_BA_AHU";
 
+    // 水箱设备模型代码
+    private static final String METER_MODEL_WT = "M_Z020_DEV_BA_WT";
+
+    // 水泵设备模型代码
+    private static final String METER_MODEL_WP = "M_Z020_DEV_BA_WP";
+
     // 照明模型代码
-    private static final String LIGHT_MODEL = "M_Z_DEV_BA_LIGHT";
+    private static final String METER_MODEL_LIGHT = "M_Z020_DEV_BA_LIGHT";
 
     // 设备子系统代码
     private static final String SUBSYSTEM_CODE = "SYS_NHJC";
@@ -303,6 +309,51 @@ public class BaCtlHandler extends BaseMeterDevHandler {
         }
     }
 
+    public void wtCollect() {
+        try {
+            List<EmsDevice> deviceList = getDeviceList(METER_MODEL_WT);
+
+            if (CollectionUtils.isNotEmpty(deviceList)) {
+                for (EmsDevice device : deviceList) {
+                    wtDeviceCollect(device);
+                }
+            }
+        }
+        catch (Exception e) {
+            log.error("水箱采集异常", e);
+        }
+    }
+
+    public void wpCollect() {
+        try {
+            List<EmsDevice> deviceList = getDeviceList(METER_MODEL_WP);
+
+            if (CollectionUtils.isNotEmpty(deviceList)) {
+                for (EmsDevice device : deviceList) {
+                    wpDeviceCollect(device);
+                }
+            }
+        }
+        catch (Exception e) {
+            log.error("水泵采集异常", e);
+        }
+    }
+
+    public void lightCollect() {
+        try {
+            List<EmsDevice> deviceList = getDeviceList(METER_MODEL_LIGHT);
+
+            if (CollectionUtils.isNotEmpty(deviceList)) {
+                for (EmsDevice device : deviceList) {
+                    lightDeviceCollect(device);
+                }
+            }
+        }
+        catch (Exception e) {
+            log.error("照明采集异常", e);
+        }
+    }
+
     private int meterDevCollect(BaCtlEnergyTemplate template, EmsObjAttrValue subDevAttr) {
         int cnt = 0;
 
@@ -434,6 +485,100 @@ public class BaCtlHandler extends BaseMeterDevHandler {
         }
     }
 
+    private void wtDeviceCollect(EmsDevice device) {
+        String deviceCode = device.getDeviceCode();
+        Map<String, String> paramKeys = config.getWtMapper();
+
+        Set<String> pointIds = paramKeys.entrySet().stream()
+            .filter(entry -> StringUtils.startsWith(entry.getKey(), deviceCode))
+            .flatMap(entry -> Arrays.stream(StringUtils.split(entry.getValue(), ","))).map(String::trim)
+            .collect(Collectors.toSet());
+
+        if (CollectionUtils.isNotEmpty(pointIds)) {
+            CodesValReq req = new CodesValReq(pointIds);
+
+            // 调用能耗数据接口获取实时数据
+            String callRes = new BaCtlEnergyTemplate(config.getUrl()).getCodesVal(req);
+            JSONObject resJson = JSONObject.parseObject(callRes);
+            Assert.isTrue(StringUtils.equals(resJson.getString("code"), "200"), resJson.getInteger("code"),
+                resJson.getString("error"));
+            String dataStr = resJson.getString("ResultPointObjArr");
+            List<CodesVal> retList = JSON.parseArray(dataStr, CodesVal.class);
+            Map<String, CodesVal> retMap = retList.stream()
+                .collect(Collectors.toMap(CodesVal::getPointId, Function.identity()));
+
+            List<EmsObjAttrValue> dbAttrList = objAttrValueService.selectByObjCode(METER_MODEL_WT, deviceCode);
+            Map<String, EmsObjAttrValue> dbMap = dbAttrList.stream()
+                .collect(Collectors.toMap(EmsObjAttrValue::getAttrKey, Function.identity()));
+
+            baDevAttrCheckAndUpdate(METER_MODEL_WT, deviceCode, "autoState", dbMap, retMap);
+            baDevAttrCheckAndUpdate(METER_MODEL_WT, deviceCode, "runningState", dbMap, retMap);
+            baDevAttrCheckAndUpdate(METER_MODEL_WT, deviceCode, "faultState", dbMap, retMap);
+        }
+    }
+
+    private void wpDeviceCollect(EmsDevice device) {
+        String deviceCode = device.getDeviceCode();
+        Map<String, String> paramKeys = config.getWpMapper();
+
+        Set<String> pointIds = paramKeys.entrySet().stream()
+            .filter(entry -> StringUtils.startsWith(entry.getKey(), deviceCode))
+            .flatMap(entry -> Arrays.stream(StringUtils.split(entry.getValue(), ","))).map(String::trim)
+            .collect(Collectors.toSet());
+
+        if (CollectionUtils.isNotEmpty(pointIds)) {
+            CodesValReq req = new CodesValReq(pointIds);
+
+            // 调用能耗数据接口获取实时数据
+            String callRes = new BaCtlEnergyTemplate(config.getUrl()).getCodesVal(req);
+            JSONObject resJson = JSONObject.parseObject(callRes);
+            Assert.isTrue(StringUtils.equals(resJson.getString("code"), "200"), resJson.getInteger("code"),
+                resJson.getString("error"));
+            String dataStr = resJson.getString("ResultPointObjArr");
+            List<CodesVal> retList = JSON.parseArray(dataStr, CodesVal.class);
+            Map<String, CodesVal> retMap = retList.stream()
+                .collect(Collectors.toMap(CodesVal::getPointId, Function.identity()));
+
+            List<EmsObjAttrValue> dbAttrList = objAttrValueService.selectByObjCode(METER_MODEL_WP, deviceCode);
+            Map<String, EmsObjAttrValue> dbMap = dbAttrList.stream()
+                .collect(Collectors.toMap(EmsObjAttrValue::getAttrKey, Function.identity()));
+
+            baDevAttrCheckAndUpdate(METER_MODEL_WP, deviceCode, "autoState", dbMap, retMap);
+            baDevAttrCheckAndUpdate(METER_MODEL_WP, deviceCode, "runningState", dbMap, retMap);
+            baDevAttrCheckAndUpdate(METER_MODEL_WP, deviceCode, "faultState", dbMap, retMap);
+        }
+    }
+
+    private void lightDeviceCollect(EmsDevice device) {
+        String deviceCode = device.getDeviceCode();
+        Map<String, String> paramKeys = config.getLightMapper();
+
+        Set<String> pointIds = paramKeys.entrySet().stream()
+            .filter(entry -> StringUtils.startsWith(entry.getKey(), deviceCode))
+            .flatMap(entry -> Arrays.stream(StringUtils.split(entry.getValue(), ","))).map(String::trim)
+            .collect(Collectors.toSet());
+
+        if (CollectionUtils.isNotEmpty(pointIds)) {
+            CodesValReq req = new CodesValReq(pointIds);
+
+            // 调用能耗数据接口获取实时数据
+            String callRes = new BaCtlEnergyTemplate(config.getUrl()).getCodesVal(req);
+            JSONObject resJson = JSONObject.parseObject(callRes);
+            Assert.isTrue(StringUtils.equals(resJson.getString("code"), "200"), resJson.getInteger("code"),
+                resJson.getString("error"));
+            String dataStr = resJson.getString("ResultPointObjArr");
+            List<CodesVal> retList = JSON.parseArray(dataStr, CodesVal.class);
+            Map<String, CodesVal> retMap = retList.stream()
+                .collect(Collectors.toMap(CodesVal::getPointId, Function.identity()));
+
+            List<EmsObjAttrValue> dbAttrList = objAttrValueService.selectByObjCode(METER_MODEL_LIGHT, deviceCode);
+            Map<String, EmsObjAttrValue> dbMap = dbAttrList.stream()
+                .collect(Collectors.toMap(EmsObjAttrValue::getAttrKey, Function.identity()));
+
+            baDevAttrCheckAndUpdate(METER_MODEL_LIGHT, deviceCode, "Switch", dbMap, retMap);
+        }
+    }
+
     private void baDevAttrCheckAndUpdate(String devModel, String deviceCode, String attrKey,
         Map<String, EmsObjAttrValue> dbAttrMap, Map<String, CodesVal> retMap) {
         EmsObjAttrValue dbAttr = dbAttrMap.get(attrKey);

+ 84 - 0
ems/ems-cloud/ems-dev-adapter/src/main/resources/application-local.yml

@@ -306,6 +306,90 @@ adapter:
         LnSu: 'C_1012_BV_0019'
         timeSetTag: 'C_1012_BV_0020'
         manualTag: 'C_1012_BV_0021'
+    wtMapper:
+      # 北区水箱
+      'Z020-B-WT-1':
+        tankLevel: 'C_2008_AI_0000'
+        highLevelAlarm: 'C_2008_BI_0001'
+        lowLevelAlarm: 'C_2008_BI_0002'
+      # 南区水箱
+      'Z020-N-WT-1':
+        highLevelAlarm: '1008-BI0'
+        lowLevelAlarm: '1008-BI1'
+    wpMapper:
+      # 北区1号泵
+      'Z020-B-WP-1':
+        autoState: 'C_2008_BI_0006'
+        runningState: 'C_2008_BI_0007'
+        faultState: 'C_2008_BI_0008'
+      # 北区2号泵
+      'Z020-B-WP-2':
+        autoState: 'C_2008_BI_0003'
+        runningState: 'C_2008_BI_0004'
+        faultState: 'C_2008_BI_0005'
+      # 北区1号生活泵
+      'Z020-B-WP-SH-1':
+        runningState: 'C_2008_BI_0009'
+        faultState: 'C_2008_BI_0010'
+      # 北区2号生活泵
+      'Z020-B-WP-SH-2':
+        runningState: 'C_2008_BI_0011'
+        faultState: 'C_2008_BI_0012'
+      # 北区3号生活泵
+      'Z020-B-WP-SH-3':
+        runningState: 'C_2008_BI_0013'
+        faultState: 'C_2008_BI_0014'
+      # 南区1号泵
+      'Z020-N-WP-1':
+        autoState: '1008-BI2'
+        runningState: '1008-BI3'
+        faultState: '1008-BI4'
+      # 南区2号泵
+      'Z020-N-WP-2':
+        autoState: '1008-BI5'
+        runningState: '1008-BI6'
+        faultState: '1008-BI7'
+    lightMapper:
+      'Z020-B-LIGHT-01':
+        Switch: C_8001_BO_0000
+      'Z020-B-LIGHT-02':
+        Switch: C_8002_BO_0001
+      'Z020-B-LIGHT-03':
+        Switch: C_8001_BO_0001
+      'Z020-B-LIGHT-04':
+        Switch: C_8001_BO_0004
+      'Z020-B-LIGHT-05':
+        Switch: C_8001_BO_0001
+      'Z020-B-LIGHT-06':
+        Switch: C_8001_BO_0005
+      'Z020-B-LIGHT-07':
+        Switch: C_8001_BO_0006
+      'Z020-B-LIGHT-08':
+        Switch: C_8001_BO_0007
+      'Z020-B-LIGHT-09':
+        Switch: C_8002_BO_0000
+      'Z020-B-LIGHT-10':
+        Switch: C_8002_BO_0002
+      'Z020-N-LIGHT-01':
+        Switch: C_7001_BO_0000
+      'Z020-N-LIGHT-02':
+        Switch: C_7001_BO_0001
+      'Z020-N-LIGHT-03':
+        Switch: C_7001_BO_0002
+      'Z020-N-LIGHT-04':
+        Switch: C_7001_BO_0004
+      'Z020-N-LIGHT-05':
+        Switch: C_7001_BO_0003
+      'Z020-N-LIGHT-06':
+        Switch: C_7001_BO_0006
+      'Z020-N-LIGHT-07':
+        Switch: C_7001_BO_0007
+      'Z020-N-LIGHT-08':
+        Switch: C_7002_BO_0000
+      'Z020-N-LIGHT-09':
+        Switch: C_7002_BO_0001
+      'Z020-N-LIGHT-10':
+        Switch: C_7002_BO_0004
 # mybatis配置
 mybatis:
   # 搜索指定包别名

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

@@ -306,6 +306,90 @@ adapter:
         LnSu: 'C_1012_BV_0019'
         timeSetTag: 'C_1012_BV_0020'
         manualTag: 'C_1012_BV_0021'
+    wtMapper:
+      # 北区水箱
+      'Z020-B-WT-1':
+        tankLevel: 'C_2011_AI_0016'
+        highLevelAlarm: 'C_2011_AI_0017'
+        lowLevelAlarm: 'C_2011_AI_0018'
+      # 南区水箱
+      'Z020-N-WT-1':
+        highLevelAlarm: '1008-BI0'
+        lowLevelAlarm: '1008-BI1'
+    wpMapper:
+      # 北区1号泵
+      'Z020-B-WP-1':
+        autoState: 'C_2008_BI_0006'
+        runningState: 'C_2008_BI_0007'
+        faultState: 'C_2008_BI_0008'
+      # 北区2号泵
+      'Z020-B-WP-2':
+        autoState: 'C_2008_BI_0003'
+        runningState: 'C_2008_BI_0004'
+        faultState: 'C_2008_BI_0005'
+      # 北区1号生活泵
+      'Z020-B-WP-SH-1':
+        runningState: 'C_2008_BI_0009'
+        faultState: 'C_2008_BI_0010'
+      # 北区2号生活泵
+      'Z020-B-WP-SH-2':
+        runningState: 'C_2008_BI_0011'
+        faultState: 'C_2008_BI_0012'
+      # 北区3号生活泵
+      'Z020-B-WP-SH-3':
+        runningState: 'C_2008_BI_0013'
+        faultState: 'C_2008_BI_0014'
+      # 南区1号泵
+      'Z020-N-WP-1':
+        autoState: '1008-BI2'
+        runningState: '1008-BI3'
+        faultState: '1008-BI4'
+      # 南区2号泵
+      'Z020-N-WP-2':
+        autoState: '1008-BI5'
+        runningState: '1008-BI6'
+        faultState: '1008-BI7'
+    lightMapper:
+      'Z020-B-LIGHT-01':
+        Switch: C_8001_BO_0000
+      'Z020-B-LIGHT-02':
+        Switch: C_8002_BO_0001
+      'Z020-B-LIGHT-03':
+        Switch: C_8001_BO_0001
+      'Z020-B-LIGHT-04':
+        Switch: C_8001_BO_0004
+      'Z020-B-LIGHT-05':
+        Switch: C_8001_BO_0001
+      'Z020-B-LIGHT-06':
+        Switch: C_8001_BO_0005
+      'Z020-B-LIGHT-07':
+        Switch: C_8001_BO_0006
+      'Z020-B-LIGHT-08':
+        Switch: C_8001_BO_0007
+      'Z020-B-LIGHT-09':
+        Switch: C_8002_BO_0000
+      'Z020-B-LIGHT-10':
+        Switch: C_8002_BO_0002
+      'Z020-N-LIGHT-01':
+        Switch: C_7001_BO_0000
+      'Z020-N-LIGHT-02':
+        Switch: C_7001_BO_0001
+      'Z020-N-LIGHT-03':
+        Switch: C_7001_BO_0002
+      'Z020-N-LIGHT-04':
+        Switch: C_7001_BO_0004
+      'Z020-N-LIGHT-05':
+        Switch: C_7001_BO_0003
+      'Z020-N-LIGHT-06':
+        Switch: C_7001_BO_0006
+      'Z020-N-LIGHT-07':
+        Switch: C_7001_BO_0007
+      'Z020-N-LIGHT-08':
+        Switch: C_7002_BO_0000
+      'Z020-N-LIGHT-09':
+        Switch: C_7002_BO_0001
+      'Z020-N-LIGHT-10':
+        Switch: C_7002_BO_0004
 # mybatis配置
 mybatis:
   # 搜索指定包别名

+ 2 - 3
ems/ems-cloud/ems-dev-adapter/src/test/java/com/huashe/test/BaCtlTest.java

@@ -61,10 +61,9 @@ public class BaCtlTest {
     @Test
     public void testGetCodesVal() {
         BaCtlEnergyTemplate template = new BaCtlEnergyTemplate(config.getUrl());
-        String ret = template.getCodesVal(new CodesValReq("C_2009_AI_0000","C_2009_AI_0001","C_2009_AI_0002","C_2009_AI_0003","C_2009_AI_0004","C_2009_AI_0005","C_2009_AI_0006","C_2009_AI_0007"));
-        log.info("ret:{}", ret);
-        ret = template.getCodesVal(new CodesValReq("C_2009_DI_0008","C_2009_DI_0009","C_2009_DI_0010","C_2009_DI_0011","C_2009_DI_0012","C_2009_DI_0013","C_2009_DI_0014","C_2009_DI_0015","C_2009_DI_0016"));
+        String ret = template.getCodesVal(new CodesValReq("C_7001_BO_0000","C_7001_BO_0001","C_7002_BO_0002","C_7001_BO_0002","C_7001_BO_0003","C_7001_BO_0004","C_7002_BO_0003","C_7001_BO_0006","C_7001_BO_0007","C_7002_BO_0000","C_7002_BO_0001","C_7002_BO_0004","C_7001_BO_0005","C_7002_BO_0005","C_7003_BO_0001","C_7003_BO_0002"));
         log.info("ret:{}", ret);
+
         Assert.assertNotNull(ret);
     }
 }

+ 64 - 1
ems/sql/ems_init_data.sql

@@ -195,7 +195,6 @@ INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `dev
 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 ( 'Z020-N-XF-1F-4', '南1F-4新风系统', '-', '-', '1', '综合楼-一楼', '321283124S30020101', '321283124S3002', 'M_Z020_DEV_BA_XF', 'Z-KT-02', 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 ( 'Z020-N-XF-1F-3', '南1F-3新风系统', '-', '-', '1', '综合楼-一楼', '321283124S30020101', '321283124S3002', 'M_Z020_DEV_BA_XF', 'Z-KT-02', 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 ( 'Z020-N-XF-2F-1', '南2F-1新风系统', '-', '-', '1', '综合楼-二楼', '321283124S30020104', '321283124S3002', 'M_Z020_DEV_BA_XF', 'Z-KT-02', 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 ( 'Z020-B-AHU-1F-1', '北1F-1空调系统', '-', '-', '1', '综合楼-一楼', '321283124S30010101', '321283124S3001', 'M_Z020_DEV_BA_AHU', 'Z-KT-01', 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 ( 'Z020-B-AHU-2F-1', '北2F-1空调系统', '-', '-', '1', '综合楼-二楼', '321283124S30010104', '321283124S3001', 'M_Z020_DEV_BA_AHU', 'Z-KT-01', 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 ( 'Z020-N-AHU-1F-1', '南1F-1空调系统', '-', '-', '1', '综合楼-一楼', '321283124S30020101', '321283124S3002', 'M_Z020_DEV_BA_AHU', 'Z-KT-02', NULL, 'SYS_BA');
@@ -230,6 +229,39 @@ INSERT INTO `adm_ems_device` (`device_code`, `device_name`, `device_brand`, `dev
 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', 'test', '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', 'test', '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 ( 'Z020-B-WT-1', '北区水箱', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WT', 'Z-KT-01', 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 ( 'Z020-N-WT-1', '南区水箱', '-', '-', '1', '综合楼', '321283124S300201', '321283124S3002', 'M_Z020_DEV_BA_WT', 'Z-KT-02', 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 ( 'Z020-B-WP-1', '北区1号泵', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WP', 'Z-KT-01', 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 ( 'Z020-B-WP-2', '北区2号泵', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WP', 'Z-KT-01', 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 ( 'Z020-B-WP-SH-1', '北区1号生活泵', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WP', 'Z-KT-01', 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 ( 'Z020-B-WP-SH-2', '北区2号生活泵', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WP', 'Z-KT-01', 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 ( 'Z020-B-WP-SH-3', '北区3号生活泵', '-', '-', '1', '综合楼', '321283124S300101', '321283124S3001', 'M_Z020_DEV_BA_WP', 'Z-KT-01', 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 ( 'Z020-N-WP-1', '南区1号泵', '-', '-', '1', '综合楼', '321283124S300201', '321283124S3002', 'M_Z020_DEV_BA_WP', 'Z-KT-02', 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 ( 'Z020-N-WP-2', '南区2号泵', '-', '-', '1', '综合楼', '321283124S300201', '321283124S3002', 'M_Z020_DEV_BA_WP', 'Z-KT-02', 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 ( 'Z020-B-LIGHT-01', '(照明)工具间+母婴室+第三卫生间+洗手池', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-02', '(照明)洗手池', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-03', '(照明)男卫小便区', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-04', '(照明)男卫左一', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-05', '(照明)男卫左二', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-06', '(照明)女卫左一', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-07', '(照明)女卫左二', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-08', '(照明)女卫左三', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-09', '(照明)女卫北一', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-10', '(照明)女卫灯带', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-B-LIGHT-11', '(照明)转换区', '-', '-', '1', '综合楼', 'B-10101', '321283124S3001', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-01', 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 ( 'Z020-N-LIGHT-01', '(照明)工具间+母婴室+第三卫生间', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-02', '(照明)洗手池', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-03', '(照明)男卫小便区', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-04', '(照明)男卫左一', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-05', '(照明)男卫左二', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-06', '(照明)女卫左一', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-07', '(照明)女卫左二', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-08', '(照明)女卫左三', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-09', '(照明)女卫北一', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-10', '(照明)女卫灯带', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', 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 ( 'Z020-N-LIGHT-11', '(照明)转换区', '-', '-', '1', '综合楼', 'N-10101', '321283124S3002', 'M_Z020_DEV_BA_LIGHT', 'Z-ZM-02', NULL, 'SYS_BA');
+
 
 -- 策略初始数据
 INSERT INTO `adm_op_energy_strategy` (`area_code`, `strategy_code`, `strategy_name`, `strategy_type`, `strategy_state`, `strategy_desc`, `exec_mode`, `exec_rule`) VALUES ('321283124S3001', 'CL_YW_01', '北区-默认策略', 1, 1, '默认执行', 0, NULL);
@@ -267,6 +299,10 @@ INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `abilit
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_W4_DEV_BA_METER_W', 'BA用水采集测点', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z020_DEV_BA_XF', 'BA新风设备', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z020_DEV_BA_AHU', 'BA空调设备', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
+INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z020_DEV_BA_WT', 'BA水箱', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
+INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z020_DEV_BA_WP', 'BA水泵', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
+INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z020_DEV_BA_LIGHT', 'BA室内照明', 2, 'http://172.17.60.27:9203/ems-dev-adapter/ba/ct/abilityCall', NULL);
+
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z010_DEV_SQUARE_LAMP_POST', '智慧灯杆', 2, 'http://172.17.60.27:9203/ems-dev-adapter/square-light-ctl/ct/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z010_DEV_SQUARE_LIGHT', '照明灯组', 2, 'http://172.17.60.27:9203/ems-dev-adapter/square-light-ctl/ct/abilityCall', NULL);
 INSERT INTO `adm_ems_obj_model` (`model_code`, `model_name`, `obj_type`, `ability_handler`, `event_handler`) VALUES ('M_Z010_DEV_SQUARE_CONCENTRATOR', '照明集中器', 2, 'http://172.17.60.27:9203/ems-dev-adapter/square-light-ctl/ct/abilityCall', NULL);
@@ -338,6 +374,15 @@ 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_Z020_DEV_BA_AHU', 'State', 'LnSu', '冬夏季切换', NULL, 'Enum');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_AHU', 'State', 'timeSetTag', '定时状态', NULL, 'Enum');
 INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_AHU', 'State', 'manualTag', '手动模式状态', NULL, 'Enum');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WT', 'Base', 'ddcTag', 'DDC标记', NULL, 'String');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WT', 'State', 'tankLevel', '水箱液位', NULL, 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WT', 'State', 'highLevelAlarm', '高液位报警', NULL, 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WT', 'State', 'lowLevelAlarm', '低液位报警', NULL, 'Value');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WP', 'Base', 'ddcTag', 'DDC标记', NULL, 'String');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WP', 'State', 'autoState', '自动状态', NULL, 'Enum');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WP', 'State', 'runningState', '运行状态', NULL, 'Enum');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_WP', 'State', 'faultState', '故障状态', NULL, 'Enum');
+INSERT INTO `adm_ems_obj_attr` (`model_code`, `attr_group`, `attr_key`, `attr_name`, `attr_unit`, `attr_value_type`) VALUES ('M_Z020_DEV_BA_LIGHT', 'State', 'Switch', '开关', NULL, 'Enum');
 
 
 -- 广场灯控属性
@@ -530,6 +575,14 @@ 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_Z020_DEV_BA_AHU', 'manualTag', '0', '关闭');
 INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_AHU', 'manualTag', '1', '开启');
 
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'autoState', '0', '手动');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'autoState', '1', '自动');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'runningState', '0', '运行');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'runningState', '1', '停止');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'faultState', '0', '正常');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_WP', 'faultState', '1', '故障');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_LIGHT', 'Switch', '0', '关闭');
+INSERT INTO `adm_ems_obj_attr_enum` (`model_code`, `attr_key`, `attr_value`, `attr_value_name`) VALUES ('M_Z020_DEV_BA_LIGHT', 'Switch', '1', '开启');
 
 -- 对象属性
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('SYS_BA', 'M_W4_SYS_BA', 'interfaceType', 'http', NULL);
@@ -1126,6 +1179,16 @@ 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 ('Z020-N-AHU-1F-1', 'M_Z020_DEV_BA_AHU', 'ddcTag', 'DDC5', NULL);
 INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-N-AHU-2F-1', 'M_Z020_DEV_BA_AHU', 'ddcTag', 'DDC7', NULL);
 
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WT-1', 'M_Z020_DEV_BA_WT', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-N-WT-1', 'M_Z020_DEV_BA_WT', 'ddcTag', 'DDC1地下室', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WP-1', 'M_Z020_DEV_BA_WP', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WP-2', 'M_Z020_DEV_BA_WP', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WP-SH-1', 'M_Z020_DEV_BA_WP', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WP-SH-2', 'M_Z020_DEV_BA_WP', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-B-WP-SH-3', 'M_Z020_DEV_BA_WP', 'ddcTag', 'DDC8', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-N-WP-1', 'M_Z020_DEV_BA_WT', 'ddcTag', 'DDC1地下室', NULL);
+INSERT INTO `adm_ems_obj_attr_value` (`obj_code`, `model_code`, `attr_key`, `attr_value`, `update_time`) VALUES ('Z020-N-WP-2', 'M_Z020_DEV_BA_WT', 'ddcTag', 'DDC1地下室', NULL);
+
 
 -- 对象能力数据
 INSERT INTO `adm_ems_obj_ability` (`model_code`, `ability_key`, `ability_name`, `ability_desc`, `param_definition`, `hidden_flag`) VALUES ('M_W4_SYS_BA', 'MeterReadingTotal', '全量抄报-网关', '网关-测点批量抄报', null, 1);