From 0fbd01c6fe5386e454d4053df161b01e8b42f423 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 23 八月 2024 14:22:13 +0800
Subject: [PATCH] DS

---
 iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql                                                               |  304 +++++++++++++++++++++++++
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java                   |   15 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java                 |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUADeviceDao.java |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpApiDao.java                     |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java                   |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java                      |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioDeviceDao.java     |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet10.java          |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUATagDao.java    |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMeasurePointDao.java             |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDATagDao.java    |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java                    |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleUtils.java                 |    9 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDADeviceDao.java |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobEntity.java            |   13 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMathPointDao.java                |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobDao.java                  |   13 
 iailab-module-data/iailab-module-data-biz/db/mysql/mysql.sql                                                                |    0 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobLogDao.java               |   13 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointValueDao.java               |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTagDao.java                     |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobLogEntity.java         |   13 
 /dev/null                                                                                                                   |    6 
 iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml                                                |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTokenDao.java                   |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java                  |    2 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/dao/ChannelModBusTagDao.java  |    2 
 iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yml                                            |    5 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/common/config/InfluxDBInstance.java |    1 
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaSequenceNumDao.java              |    2 
 iailab-module-data/iailab-module-data-biz/db/mysql/master.sql                                                               |  231 +++++++++++++++++++
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioTagDao.java        |    2 
 33 files changed, 595 insertions(+), 70 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/db/mysql/master.sql b/iailab-module-data/iailab-module-data-biz/db/mysql/master.sql
new file mode 100644
index 0000000..eb50127
--- /dev/null
+++ b/iailab-module-data/iailab-module-data-biz/db/mysql/master.sql
@@ -0,0 +1,231 @@
+CREATE database if NOT EXISTS `iailab_expert_master` default character set utf8mb4 collate utf8mb4_general_ci;
+USE `iailab_expert_master`;
+
+-- 定时任务
+CREATE TABLE schedule_job
+(
+  id              bigint NOT NULL COMMENT 'id',
+  bean_name       varchar(200)  DEFAULT NULL COMMENT 'spring bean名称',
+  params          varchar(2000) DEFAULT NULL COMMENT '参数',
+  cron_expression varchar(100)  DEFAULT NULL COMMENT 'cron表达式',
+  status          tinyint unsigned COMMENT '任务状态  0:暂停  1:正常',
+  remark          varchar(255)  DEFAULT NULL COMMENT '备注',
+  creator         bigint COMMENT '创建者',
+  create_date     datetime COMMENT '创建时间',
+  updater         bigint COMMENT '更新者',
+  update_date     datetime COMMENT '更新时间',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
+  PRIMARY KEY (id),
+  key idx_create_date (create_date)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='定时任务';
+
+-- 定时任务日志
+CREATE TABLE schedule_job_log
+(
+  id          bigint           NOT NULL COMMENT 'id',
+  job_id      bigint           NOT NULL COMMENT '任务id',
+  bean_name   varchar(200)  DEFAULT NULL COMMENT 'spring bean名称',
+  params      varchar(2000) DEFAULT NULL COMMENT '参数',
+  status      tinyint unsigned NOT NULL COMMENT '任务状态    0:失败    1:成功',
+  error       varchar(2000) DEFAULT NULL COMMENT '失败信息',
+  times       int              NOT NULL COMMENT '耗时(单位:毫秒)',
+  create_date datetime COMMENT '创建时间',
+  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
+  PRIMARY KEY (id),
+  key idx_job_id (job_id),
+  key idx_create_date (create_date)
+) ENGINE = InnoDB
+  DEFAULT CHARSET = utf8mb4 COMMENT ='定时任务日志';
+
+--  quartz自带表结构
+CREATE TABLE QRTZ_JOB_DETAILS
+(
+  SCHED_NAME        VARCHAR(120) NOT NULL,
+  JOB_NAME          VARCHAR(200) NOT NULL,
+  JOB_GROUP         VARCHAR(200) NOT NULL,
+  DESCRIPTION       VARCHAR(250) NULL,
+  JOB_CLASS_NAME    VARCHAR(250) NOT NULL,
+  IS_DURABLE        VARCHAR(1)   NOT NULL,
+  IS_NONCONCURRENT  VARCHAR(1)   NOT NULL,
+  IS_UPDATE_DATA    VARCHAR(1)   NOT NULL,
+  REQUESTS_RECOVERY VARCHAR(1)   NOT NULL,
+  JOB_DATA          BLOB         NULL,
+  PRIMARY KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_TRIGGERS
+(
+  SCHED_NAME     VARCHAR(120) NOT NULL,
+  TRIGGER_NAME   VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP  VARCHAR(200) NOT NULL,
+  JOB_NAME       VARCHAR(200) NOT NULL,
+  JOB_GROUP      VARCHAR(200) NOT NULL,
+  DESCRIPTION    VARCHAR(250) NULL,
+  NEXT_FIRE_TIME BIGINT(13)   NULL,
+  PREV_FIRE_TIME BIGINT(13)   NULL,
+  PRIORITY       INTEGER      NULL,
+  TRIGGER_STATE  VARCHAR(16)  NOT NULL,
+  TRIGGER_TYPE   VARCHAR(8)   NOT NULL,
+  START_TIME     BIGINT(13)   NOT NULL,
+  END_TIME       BIGINT(13)   NULL,
+  CALENDAR_NAME  VARCHAR(200) NULL,
+  MISFIRE_INSTR  SMALLINT(2)  NULL,
+  JOB_DATA       BLOB         NULL,
+  PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
+    REFERENCES QRTZ_JOB_DETAILS (SCHED_NAME, JOB_NAME, JOB_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS
+(
+  SCHED_NAME      VARCHAR(120) NOT NULL,
+  TRIGGER_NAME    VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP   VARCHAR(200) NOT NULL,
+  REPEAT_COUNT    BIGINT(7)    NOT NULL,
+  REPEAT_INTERVAL BIGINT(12)   NOT NULL,
+  TIMES_TRIGGERED BIGINT(10)   NOT NULL,
+  PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_CRON_TRIGGERS
+(
+  SCHED_NAME      VARCHAR(120) NOT NULL,
+  TRIGGER_NAME    VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP   VARCHAR(200) NOT NULL,
+  CRON_EXPRESSION VARCHAR(120) NOT NULL,
+  TIME_ZONE_ID    VARCHAR(80),
+  PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_SIMPROP_TRIGGERS
+(
+  SCHED_NAME    VARCHAR(120)   NOT NULL,
+  TRIGGER_NAME  VARCHAR(200)   NOT NULL,
+  TRIGGER_GROUP VARCHAR(200)   NOT NULL,
+  STR_PROP_1    VARCHAR(512)   NULL,
+  STR_PROP_2    VARCHAR(512)   NULL,
+  STR_PROP_3    VARCHAR(512)   NULL,
+  INT_PROP_1    INT            NULL,
+  INT_PROP_2    INT            NULL,
+  LONG_PROP_1   BIGINT         NULL,
+  LONG_PROP_2   BIGINT         NULL,
+  DEC_PROP_1    NUMERIC(13, 4) NULL,
+  DEC_PROP_2    NUMERIC(13, 4) NULL,
+  BOOL_PROP_1   VARCHAR(1)     NULL,
+  BOOL_PROP_2   VARCHAR(1)     NULL,
+  PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS
+(
+  SCHED_NAME    VARCHAR(120) NOT NULL,
+  TRIGGER_NAME  VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  BLOB_DATA     BLOB         NULL,
+  PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  INDEX (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
+  FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+    REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_CALENDARS
+(
+  SCHED_NAME    VARCHAR(120) NOT NULL,
+  CALENDAR_NAME VARCHAR(200) NOT NULL,
+  CALENDAR      BLOB         NOT NULL,
+  PRIMARY KEY (SCHED_NAME, CALENDAR_NAME)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
+(
+  SCHED_NAME    VARCHAR(120) NOT NULL,
+  TRIGGER_GROUP VARCHAR(200) NOT NULL,
+  PRIMARY KEY (SCHED_NAME, TRIGGER_GROUP)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS
+(
+  SCHED_NAME        VARCHAR(120) NOT NULL,
+  ENTRY_ID          VARCHAR(95)  NOT NULL,
+  TRIGGER_NAME      VARCHAR(200) NOT NULL,
+  TRIGGER_GROUP     VARCHAR(200) NOT NULL,
+  INSTANCE_NAME     VARCHAR(200) NOT NULL,
+  FIRED_TIME        BIGINT(13)   NOT NULL,
+  SCHED_TIME        BIGINT(13)   NOT NULL,
+  PRIORITY          INTEGER      NOT NULL,
+  STATE             VARCHAR(16)  NOT NULL,
+  JOB_NAME          VARCHAR(200) NULL,
+  JOB_GROUP         VARCHAR(200) NULL,
+  IS_NONCONCURRENT  VARCHAR(1)   NULL,
+  REQUESTS_RECOVERY VARCHAR(1)   NULL,
+  PRIMARY KEY (SCHED_NAME, ENTRY_ID)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_SCHEDULER_STATE
+(
+  SCHED_NAME        VARCHAR(120) NOT NULL,
+  INSTANCE_NAME     VARCHAR(200) NOT NULL,
+  LAST_CHECKIN_TIME BIGINT(13)   NOT NULL,
+  CHECKIN_INTERVAL  BIGINT(13)   NOT NULL,
+  PRIMARY KEY (SCHED_NAME, INSTANCE_NAME)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE TABLE QRTZ_LOCKS
+(
+  SCHED_NAME VARCHAR(120) NOT NULL,
+  LOCK_NAME  VARCHAR(40)  NOT NULL,
+  PRIMARY KEY (SCHED_NAME, LOCK_NAME)
+)
+  ENGINE = InnoDB
+  DEFAULT CHARSET = utf8;
+
+CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS (SCHED_NAME, REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS (SCHED_NAME, JOB_GROUP);
+
+CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS (SCHED_NAME, JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS (SCHED_NAME, CALENDAR_NAME);
+CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP, TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS (SCHED_NAME, NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE, NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_GROUP,
+                                                             TRIGGER_STATE);
+
+CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME);
+CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME, REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/db/mysql.sql b/iailab-module-data/iailab-module-data-biz/db/mysql/mysql.sql
similarity index 100%
rename from iailab-module-data/iailab-module-data-biz/db/mysql.sql
rename to iailab-module-data/iailab-module-data-biz/db/mysql/mysql.sql
diff --git a/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql
new file mode 100644
index 0000000..7cce151
--- /dev/null
+++ b/iailab-module-data/iailab-module-data-biz/db/mysql/tenant.sql
@@ -0,0 +1,304 @@
+CREATE database if NOT EXISTS `iailab_expert_tenant_zjgt` default character set utf8mb4 collate utf8mb4_general_ci;
+USE `iailab_expert_tenant_zjgt`;
+
+-- data
+CREATE TABLE `t_channel_opcda_device` (
+                                        `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                        `server_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '服务名',
+                                        `host` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'ip',
+                                        `user` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '用户名',
+                                        `password` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '密码',
+                                        `prog_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备名',
+                                        `cls_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '设备注册表ID',
+                                        `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+                                        `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+                                        PRIMARY KEY (`id`) USING BTREE,
+                                        UNIQUE KEY `uk_server_name` (`server_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OPCDA表';
+
+CREATE TABLE `t_channel_opcda_tag` (
+                                     `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                     `server_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '服务id',
+                                     `tag_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '测点名称',
+                                     `data_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '数据类型',
+                                     `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
+                                     `item_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'itemId',
+                                     `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                     `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                     PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='opcda测点表';
+
+CREATE TABLE `t_channel_opcua_device` (
+                                        `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                                        `server_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                                        `endpoint_url` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `security_policy` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `security_mode` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `connection_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `user_name` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `password` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `certificate_path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                                        `connect_inactivity_timeout` int DEFAULT NULL,
+                                        `reconnect_interval` int DEFAULT NULL,
+                                        `creator` bigint DEFAULT NULL,
+                                        `create_time` datetime DEFAULT NULL,
+                                        `updater` bigint DEFAULT NULL,
+                                        `update_time` datetime DEFAULT NULL,
+                                        PRIMARY KEY (`id`) USING BTREE,
+                                        UNIQUE KEY `uk_server_name` (`server_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='OPCUA表';
+
+CREATE TABLE `t_channel_opcua_tag` (
+                                     `id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+                                     `tag_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测点名称',
+                                     `data_type` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据类型',
+                                     `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
+                                     `device` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关联设备',
+                                     `address` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'opcda地址',
+                                     `sampling_rate` smallint unsigned DEFAULT NULL COMMENT '采集频率',
+                                     `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                     `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                     PRIMARY KEY (`id`) USING BTREE,
+                                     KEY `idx_device` (`device`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='opcda测点表';
+
+CREATE TABLE `t_channel_modbus_device` (
+                                         `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+                                         `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备名称',
+                                         `address` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'IP地址',
+                                         `port` smallint unsigned NOT NULL COMMENT '端口',
+                                         `connect_inactivity_timeout` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '不活动超时(ms)',
+                                         `reconnect_interval` smallint unsigned DEFAULT NULL COMMENT '重连超时(ms)',
+                                         `attempts_before_timeout` smallint unsigned DEFAULT NULL COMMENT '重试次数',
+                                         `wait_to_retry_milliseconds` smallint unsigned DEFAULT NULL COMMENT '重试间隔(ms)',
+                                         `read_timeout` smallint unsigned DEFAULT NULL COMMENT '读超时(ms)',
+                                         `write_timeout` smallint unsigned DEFAULT NULL COMMENT '写超时(ms)',
+                                         `use_optimized_block_read` tinyint(1) DEFAULT NULL COMMENT '是否使用优化',
+                                         `project_reference` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '系统内部用,默认空字符串',
+                                         `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                         `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                         PRIMARY KEY (`id`) USING BTREE,
+                                         UNIQUE KEY `uk_name` (`name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='ModBus表';
+
+CREATE TABLE `t_channel_modbus_tag` (
+                                      `id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+                                      `tag_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测点名称',
+                                      `data_type` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据类型',
+                                      `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
+                                      `format` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '大小端',
+                                      `device` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关联设备',
+                                      `address` varchar(6) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'Modbus地址',
+                                      `sampling_rate` smallint unsigned DEFAULT NULL COMMENT '采集频率',
+                                      `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                      `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                      `tag_desc` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
+                                      PRIMARY KEY (`id`) USING BTREE,
+                                      KEY `idx_device` (`device`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='ModBus测点表';
+
+
+CREATE TABLE `t_channel_kio_device` (
+                                      `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+                                      `instance_name` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '实例名称',
+                                      `address` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'IP地址',
+                                      `port` smallint unsigned NOT NULL COMMENT '端口',
+                                      `username` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
+                                      `password` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
+                                      `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                      `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                      PRIMARY KEY (`id`) USING BTREE,
+                                      UNIQUE KEY `uk_instance_name` (`instance_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='KIO实例表';
+
+
+CREATE TABLE `t_channel_kio_tag` (
+                                   `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+                                   `tag_name` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测点名称',
+                                   `data_type` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据类型',
+                                   `tag_id` int NOT NULL COMMENT '顺序号',
+                                   `tag_desc` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci default NULL COMMENT '测点描述',
+                                   `enabled` tinyint(1) DEFAULT NULL COMMENT '是否启用',
+                                   `device` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关联设备',
+                                   `sampling_rate` smallint unsigned DEFAULT NULL COMMENT '采集频率',
+                                   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                                   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                                   PRIMARY KEY (`id`) USING BTREE,
+                                   KEY `idx_device` (`device`) USING BTREE,
+                                   KEY `idx_tag_name` (`tag_name`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='KIO测点表';
+
+CREATE TABLE t_da_point(
+                         `id` VARCHAR(255) NOT NULL  COMMENT 'ID' ,
+                         `point_no` VARCHAR(36)   COMMENT '测点编码' ,
+                         `point_name` VARCHAR(36)   COMMENT '测点名称' ,
+                         `point_type` VARCHAR(10)   COMMENT '测点类型' ,
+                         `data_type` VARCHAR(10)   COMMENT '数据类型' ,
+                         `value_type` VARCHAR(10)   COMMENT '值类型' ,
+                         `store_type` VARCHAR(10)   COMMENT '存储类型' ,
+                         `unit` VARCHAR(36)   COMMENT '测量单位' ,
+                         `unittransfactor` DECIMAL(24,6)   COMMENT '单位转换' ,
+                         `default_value` DECIMAL(24,6)   COMMENT '默认值' ,
+                         `max_value` DECIMAL(24,6)   COMMENT '最大值' ,
+                         `min_value` DECIMAL(24,6)   COMMENT '最小值' ,
+                         `offset_value` DECIMAL(24,6)   COMMENT '偏移量' ,
+                         `minfreqid` VARCHAR(10)   COMMENT '采集频率' ,
+                         `remark` VARCHAR(255)   COMMENT '备注' ,
+                         `is_enable` tinyint(1)   COMMENT '是否启用' ,
+                         `creator` VARCHAR(255)   COMMENT '创建人' ,
+                         `create_time` DATETIME   COMMENT '创建时间' ,
+                         `updater` VARCHAR(255)   COMMENT '修改人' ,
+                         `update_time` DATETIME   COMMENT '修改时间' ,
+                         PRIMARY KEY (id) USING BTREE,
+                         UNIQUE KEY `uk_point_no` (`point_no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '测点表;';
+
+CREATE TABLE t_da_measure_point(
+                                 `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                                 `point_id` VARCHAR(36)   COMMENT '测点ID' ,
+                                 `source_type` VARCHAR(10)   COMMENT '数据源类型',
+                                 `source_id` VARCHAR(36)   COMMENT '数据源ID',
+                                 `tag_no` VARCHAR(64)   COMMENT '测点Tag',
+                                 `dimension` INT   COMMENT '尺度' ,
+                                 PRIMARY KEY (id) USING BTREE,
+                                 UNIQUE KEY `uk_point_id` (`point_id`) USING BTREE,
+                                 KEY `uk_tag_no` (`tag_no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '测量点表';
+
+CREATE TABLE t_da_math_point(
+                              `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                              `point_id` VARCHAR(36)   COMMENT '测点ID' ,
+                              `expression` VARCHAR(500)   COMMENT '计算公式' ,
+                              PRIMARY KEY (id) USING BTREE,
+                              UNIQUE KEY `uk_point_id` (`point_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '计算点表';
+
+CREATE TABLE `t_da_point_value` (
+                                  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                  `point_no` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '测点编码',
+                                  `data_time` datetime DEFAULT NULL COMMENT '数据时间',
+                                  `data_value` decimal(24,6) DEFAULT NULL COMMENT '数据值',
+                                  PRIMARY KEY (`id`) USING BTREE,
+                                  KEY `idx_point_no` (`point_no`) USING BTREE,
+                                  KEY `idx_data_time` (`data_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='点值表';
+
+CREATE TABLE t_da_sequence_num(
+                                `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                                `code` VARCHAR(36)   COMMENT '编号',
+                                `name` VARCHAR(36)   COMMENT '名称',
+                                `sequence_num` int   COMMENT '序号' ,
+                                `prefix` VARCHAR(10) COMMENT '前缀' ,
+                                PRIMARY KEY (id) USING BTREE,
+                                UNIQUE KEY `uk_code` (`code`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '序号表';
+INSERT INTO `t_da_sequence_num` (`id`, `code`, `name`, `sequence_num`, `prefix`) VALUES ('1', 'POINT_M', '测量点编码', 100000, 'M');
+INSERT INTO `t_da_sequence_num` (`id`, `code`, `name`, `sequence_num`, `prefix`) VALUES ('2', 'POINT_C', '计算点编码', 100000, 'C');
+
+CREATE TABLE `t_http_api`  (
+                             `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID',
+                             `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编码',
+                             `name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
+                             `url` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'URL',
+                             `method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '方法',
+                             `param` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数',
+                             `descp` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
+                             `status` int NULL DEFAULT NULL COMMENT '状态',
+                             `creator` VARCHAR(255)   COMMENT '创建人' ,
+                             `create_time` DATETIME   COMMENT '创建时间' ,
+                             `updater` VARCHAR(255)   COMMENT '修改人' ,
+                             `update_time` DATETIME   COMMENT '修改时间' ,
+                             PRIMARY KEY (`ID`) USING BTREE,
+                             UNIQUE KEY `uk_code` (`code`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'Api接口' ROW_FORMAT = DYNAMIC;
+
+
+CREATE TABLE `t_http_token` (
+                              `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                              `api_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                              `login_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                              `client_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                              `client_secret` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+                              `username` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                              `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                              `token` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'token',
+                              `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+                              `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+                              PRIMARY KEY (`id`) USING BTREE,
+                              UNIQUE KEY `uk_api_id` (`api_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='接口Token';
+
+CREATE TABLE `t_http_tag` (
+                            `id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '查询号',
+                            `http_api_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'HTTP 接口代码',
+                            `tag_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测点编码',
+                            `tag_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '测点名称',
+                            `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+                            `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+                            PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='接口Tag表';
+
+CREATE TABLE t_ind_item_atom(
+                              `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                              `item_id` VARCHAR(36)   COMMENT '指标ID' ,
+                              `data_source` VARCHAR(20)   COMMENT '数据源',
+                              `query_sql` VARCHAR(500)   COMMENT '查询语句',
+                              PRIMARY KEY (id) USING BTREE,
+                              UNIQUE KEY `uk_point_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '原子指标';
+
+CREATE TABLE t_ind_item(
+                         `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                         `item_no` VARCHAR(36)   COMMENT '指标编码' ,
+                         `item_name` VARCHAR(36)   COMMENT '指标名称' ,
+                         `item_type` VARCHAR(10)   COMMENT '指标类型' ,
+                         `coefficient` decimal(10, 4) COMMENT '系数',
+                         `precision` int COMMENT '指标精度',
+                         `business_type` VARCHAR(10)   COMMENT '业务类型',
+                         `time_range` VARCHAR(20)   COMMENT '时间范围' ,
+                         `time_granularity` VARCHAR(10)   COMMENT '时间粒度' ,
+                         `remark` VARCHAR(255)   COMMENT '备注' ,
+                         `is_enable` tinyint(1)   COMMENT '是否启用' ,
+                         `creator` VARCHAR(36)   COMMENT '创建人' ,
+                         `create_time` DATETIME   COMMENT '创建时间' ,
+                         `updater` VARCHAR(36)   COMMENT '修改人' ,
+                         `update_time` DATETIME   COMMENT '修改时间' ,
+                         PRIMARY KEY (id) USING BTREE,
+                         UNIQUE KEY `uk_item_no` (`item_no`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '指标项表';
+
+CREATE TABLE t_ind_item_atom(
+                              `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                              `item_id` VARCHAR(36)   COMMENT '指标ID' ,
+                              `data_source` VARCHAR(20)   COMMENT '数据源',
+                              `query_sql` VARCHAR(500)   COMMENT '查询语句',
+                              PRIMARY KEY (id) USING BTREE,
+                              UNIQUE KEY `uk_point_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '原子指标';
+
+CREATE TABLE t_ind_item_cal(
+                             `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                             `item_id` VARCHAR(36)   COMMENT '指标ID' ,
+                             `expression` varchar(100)  DEFAULT NULL COMMENT '计算表达式',
+                             PRIMARY KEY (id) USING BTREE,
+                             UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '计算指标';
+
+CREATE TABLE t_ind_item_derive(
+                                `id` VARCHAR(36) NOT NULL  COMMENT 'ID' ,
+                                `item_id` VARCHAR(36)   COMMENT '指标ID' ,
+                                `limit_time` varchar(100)  DEFAULT NULL COMMENT '时间限定',
+                                `limit_business` varchar(100)  DEFAULT NULL COMMENT '业务限定',
+                                PRIMARY KEY (id) USING BTREE,
+                                UNIQUE KEY `uk_item_id` (`item_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT = '派生指标';
+
+CREATE TABLE `t_ind_item_value` (
+                                  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                  `item_no` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '指标编码',
+                                  `data_time` varchar(36) DEFAULT NULL COMMENT '数据时间',
+                                  `data_value` decimal(24,6) DEFAULT NULL COMMENT '数据值',
+                                  PRIMARY KEY (`id`) USING BTREE,
+                                  KEY `idx_item_no` (`item_no`) USING BTREE,
+                                  KEY `idx_data_time` (`data_time`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='指标值表';
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioDeviceDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioDeviceDao.java
index b3e00ed..be70fb5 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioDeviceDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioDeviceDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.kio.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.kio.entity.ChannelKioDeviceEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年06月04日
  */
+@TenantDS
 @Mapper
 public interface ChannelKioDeviceDao extends BaseDao<ChannelKioDeviceEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioTagDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioTagDao.java
index d73ee58..27ffab1 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioTagDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/dao/ChannelKioTagDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.kio.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.kio.entity.ChannelKioTagEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年06月05日
  */
+@TenantDS
 @Mapper
 public interface ChannelKioTagDao extends BaseDao<ChannelKioTagEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/dao/ChannelModBusTagDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/dao/ChannelModBusTagDao.java
index 72297e7..21826ea 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/dao/ChannelModBusTagDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/modbus/dao/ChannelModBusTagDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.modbus.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.modbus.entity.ChannelModBusTagEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -12,6 +13,7 @@
  * @Description
  * @createTime 2023年04月25日 15:12:00
  */
+@TenantDS
 @Mapper
 public interface ChannelModBusTagDao extends BaseMapper<ChannelModBusTagEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDADeviceDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDADeviceDao.java
index 0fbe2a5..8d84401 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDADeviceDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDADeviceDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.opcda.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.opcda.entity.ChannelOPCDADeviceEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -10,6 +11,7 @@
  * @Description
  * @createTime 2023年04月26日 11:31:00
  */
+@TenantDS
 @Mapper
 public interface ChannelOPCDADeviceDao extends BaseMapper<ChannelOPCDADeviceEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDATagDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDATagDao.java
index 638d384..217fc56 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDATagDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcda/dao/ChannelOPCDATagDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.opcda.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.opcda.entity.ChannelOPCDATagEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2023年05月8日 15:01:00
  */
+@TenantDS
 @Mapper
 public interface ChannelOPCDATagDao extends BaseMapper<ChannelOPCDATagEntity> {
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUADeviceDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUADeviceDao.java
index 6964cb8..43099f5 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUADeviceDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUADeviceDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.opcua.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUADeviceEntity;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUADeviceEntity;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUADeviceEntity;
@@ -13,6 +14,7 @@
  * @Description
  * @createTime 2023年04月26日 11:31:00
  */
+@TenantDS
 @Mapper
 public interface ChannelOPCUADeviceDao extends BaseMapper<ChannelOPCUADeviceEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUATagDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUATagDao.java
index 52abf4a..00d1ddb 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUATagDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/opcua/dao/ChannelOPCUATagDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.channel.opcua.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUATagEntity;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUATagEntity;
 import com.iailab.module.data.channel.opcua.entity.ChannelOPCUATagEntity;
@@ -12,6 +13,7 @@
  * @Description
  * @createTime 2023年05月8日 15:01:00
  */
+@TenantDS
 @Mapper
 public interface ChannelOPCUATagDao extends BaseMapper<ChannelOPCUATagEntity> {
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/DataFilter.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/DataFilter.java
deleted file mode 100644
index 1dda7d6..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/DataFilter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
-package com.iailab.module.data.common.annotation;
-
-import java.lang.annotation.*;
-
-/**
- * 数据过滤注解
- *
- * @author Mark sunlightcs@gmail.com
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface DataFilter {
-    /**
-     * 表的别名
-     */
-    String tableAlias() default "";
-
-    /**
-     * 用户ID
-     */
-    String userId() default "creator";
-
-    /**
-     * 部门ID
-     */
-    String deptId() default "dept_id";
-
-}
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/LogOperation.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/LogOperation.java
deleted file mode 100644
index 7b7678e..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/LogOperation.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
-package com.iailab.module.data.common.annotation;
-
-import java.lang.annotation.*;
-
-/**
- * 操作日志注解
- *
- * @author Mark sunlightcs@gmail.com
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface LogOperation {
-
-	String value() default "";
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/SysLog.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/SysLog.java
deleted file mode 100644
index 9138499..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/annotation/SysLog.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.iailab.module.data.common.annotation;
-
-import java.lang.annotation.*;
-
-/**
- * 系统日志注解
- *
- * @author Mark sunlightcs@gmail.com
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface SysLog {
-
-	String value() default "";
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/DictAspect.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/DictAspect.java
deleted file mode 100644
index b83f418..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/DictAspect.java
+++ /dev/null
@@ -1,166 +0,0 @@
-//package com.iailab.common.aspect;
-//
-//import com.alibaba.fastjson.JSONObject;
-//import com.alibaba.fastjson.parser.Feature;
-//import com.iailab.common.annotation.Dict;
-//import com.iailab.framework.common.page.PageData;
-//import com.iailab.framework.common.util.object.ConvertUtils;
-//import com.iailab.common.utils.PageUtils;
-//import com.iailab.common.utils.R;
-//import com.iailab.common.utils.CommonResult;
-//import com.iailab.entity.SysDictItem;
-//import com.iailab.feign.IFeignSystemController;
-//import lombok.extern.slf4j.Slf4j;
-//import org.aspectj.lang.ProceedingJoinPoint;
-//import org.aspectj.lang.annotation.Around;
-//import org.aspectj.lang.annotation.Aspect;
-//import org.aspectj.lang.annotation.Pointcut;
-//import javax.annotation.Resource;
-//import org.springframework.stereotype.Component;
-//import org.springframework.util.CollectionUtils;
-//
-//import java.beans.IntrospectionException;
-//import java.beans.PropertyDescriptor;
-//import java.lang.reflect.Field;
-//import java.lang.reflect.InvocationTargetException;
-//import java.lang.reflect.Method;
-//import java.util.HashMap;
-//import java.util.List;
-//import java.util.Map;
-//
-///**
-// * @author PanZhibao
-// * @Description
-// * @createTime 2022年05月21日 09:57:00
-// */
-//@Aspect
-//@Component
-//@Slf4j
-//public class DictAspect {
-//
-//    private final String PAGE_CODE = "page";
-//
-//    private final String DATA_CODE = "data";
-//
-//    @Resource
-//    private IFeignSystemController feignSystemController;
-//
-//    /**
-//     * 定义切点Pointcut
-//     */
-//    @Pointcut("@annotation(com.iailab.common.annotation.AutoDict)")
-//    public void excudeService() {
-//    }
-//
-//    @Around("excudeService()")
-//    public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
-//        Object result = pjp.proceed();
-//        try {
-//            this.parseDictText(result);
-//        } catch (Exception ex) {
-//            log.info(ex.getMessage());
-//        }
-//        return result;
-//    }
-//
-//    /**
-//     * parseDictText
-//     *
-//     * @param result
-//     * @throws IntrospectionException
-//     * @throws InvocationTargetException
-//     * @throws IllegalAccessException
-//     */
-//    private void parseDictText(Object result) throws IntrospectionException, InvocationTargetException, IllegalAccessException {
-//        Map<String, List<SysDictItem>> mapList = feignSystemController.queryAllDictItems();
-//        Map<String,Map<String, String>> map = new HashMap<>();
-//        if (!CollectionUtils.isEmpty(mapList)) {
-//            mapList.forEach((k , v) -> {
-//                Map<String, String> dictItems = new HashMap<>();
-//                if (!CollectionUtils.isEmpty(v)) {
-//                    v.forEach(item -> {
-//                        dictItems.put(item.getItemValue(), item.getItemText());
-//                    });
-//                }
-//                map.put(k, dictItems);
-//            });
-//        }
-//
-//        if (result instanceof R) {
-//            if (((R) result).get(PAGE_CODE) instanceof PageUtils) {
-//                PageUtils page =(PageUtils)((R) result).get(PAGE_CODE);
-//                for (Object record : page.getList()) {
-//                    this.setDictText(record, map);
-//                }
-//            } else if(((R) result).get(DATA_CODE) instanceof PageUtils) {
-//                PageUtils page =(PageUtils)((R) result).get(DATA_CODE);
-//                for (Object record : page.getList()) {
-//                    this.setDictText(record, map);
-//                }
-//            }
-//        } else if(result instanceof CommonResult) {
-//            if(((CommonResult) result).getData() != null) {
-//                Object data = ((CommonResult) result).getData();
-//                if (data instanceof List) {
-//                    for (Object record : (List)data) {
-//                        this.setDictText(record, map);
-//                    }
-//                } else if(data instanceof PageData) {
-//                    Object list = ((PageData)data).getList();
-//                    for (Object record : (List)list) {
-//                        this.setDictText(record, map);
-//                    }
-//                } else {
-//                    this.setDictText(data, map);
-//                }
-//            }
-//        } else if (result instanceof List){
-//            for (Object record : (List)result) {
-//                this.setDictText(record, map);
-//            }
-//        }
-//    }
-//
-//    /**
-//     * setDictText
-//     *
-//     * @param record
-//     * @param map
-//     * @throws IntrospectionException
-//     * @throws InvocationTargetException
-//     * @throws IllegalAccessException
-//     */
-//    private void setDictText(Object record, Map<String,Map<String, String>> map) throws IntrospectionException, InvocationTargetException, IllegalAccessException {
-//        JSONObject item = JSONObject.parseObject(JSONObject.toJSONString(record), Feature.OrderedField);
-//        for (Field field : ConvertUtils.getAllFields(record)) {
-//            if (!field.isAnnotationPresent(Dict.class)) {
-//                continue;
-//            }
-//            String dictCode = field.getAnnotation(Dict.class).dicCode();
-//            String itemValue = field.getAnnotation(Dict.class).itemValue();
-//            String value = item.getString(itemValue);
-//            Method method = new PropertyDescriptor(field.getName(), record.getClass()).getWriteMethod();
-//            method.invoke(record, this.getDictText(dictCode, value, map));
-//        }
-//    }
-//
-//    /**
-//     * getDictText
-//     *
-//     * @param dictCode
-//     * @param itemValue
-//     * @param map
-//     * @return
-//     */
-//    private String getDictText(String dictCode, String itemValue, Map<String,Map<String, String>> map) {
-//        String dictText = "";
-//        try{
-//            if (map != null || map.containsKey(dictCode)) {
-//                dictText = map.get(dictCode).get(itemValue);
-//            }
-//        } catch (Exception ex) {
-//            log.info("字典异常:" + dictCode );
-//        }
-//        return dictText;
-//    }
-//}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/SysLogAspect.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/SysLogAspect.java
deleted file mode 100644
index 6bb932f..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/aspect/SysLogAspect.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.iailab.module.data.common.aspect;
-
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.springframework.stereotype.Component;
-
-
-/**
- * 系统日志,切面处理类
- *
- * @author Mark sunlightcs@gmail.com
- */
-@Aspect
-@Component
-public class SysLogAspect {
-
-	@Pointcut("@annotation(com.iailab.module.data.common.annotation.SysLog)")
-	public void logPointCut() {
-
-	}
-
-	@Around("logPointCut()")
-	public Object around(ProceedingJoinPoint point) throws Throwable {
-		long beginTime = System.currentTimeMillis();
-		//执行方法
-		Object result = point.proceed();
-		//执行时长(毫秒)
-		long time = System.currentTimeMillis() - beginTime;
-
-		//保存日志
-		//saveSysLog(point, time);
-
-		return result;
-	}
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/MybatisPlusConfig.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/MybatisPlusConfig.java
deleted file mode 100644
index 725757d..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/MybatisPlusConfig.java
+++ /dev/null
@@ -1,42 +0,0 @@
-///**
-// * Copyright (c) 2016-2019 人人开源 All rights reserved.
-// *
-// * https://www.renren.io
-// *
-// * 版权所有,侵权必究!
-// */
-//
-//package com.iailab.module.common.config;
-//
-//import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-//import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
-//import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
-//import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-//import com.iailab.module.common.interceptor.DataFilterInterceptor;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//
-///**
-// * mybatis-plus配置
-// *
-// * @author Mark sunlightcs@gmail.com
-// */
-//@Configuration
-//public class MybatisPlusConfig {
-//
-//    @Bean
-//    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-//        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
-//        // 数据权限
-//        mybatisPlusInterceptor.addInnerInterceptor(new DataFilterInterceptor());
-//        // 分页插件
-//        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
-//        // 乐观锁
-//        mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
-//        // 防止全表更新与删除
-//        mybatisPlusInterceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
-//
-//        return mybatisPlusInterceptor;
-//    }
-//
-//}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/SwaggerConfig.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/SwaggerConfig.java
deleted file mode 100644
index 5f69f42..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/config/SwaggerConfig.java
+++ /dev/null
@@ -1,69 +0,0 @@
-///**
-// * Copyright (c) 2018 人人开源 All rights reserved.
-// *
-// * https://www.renren.io
-// *
-// * 版权所有,侵权必究!
-// */
-//
-//package com.iailab.common.config;
-//
-//import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
-//import com.iailab.framework.common.constant.Constant;
-//import io.swagger.annotations.ApiOperation;
-//import lombok.AllArgsConstructor;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import springfox.documentation.builders.ApiInfoBuilder;
-//import springfox.documentation.builders.PathSelectors;
-//import springfox.documentation.builders.RequestHandlerSelectors;
-//import springfox.documentation.service.ApiInfo;
-//import springfox.documentation.service.ApiKey;
-//import springfox.documentation.spi.DocumentationType;
-//import springfox.documentation.spring.web.plugins.Docket;
-//import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
-//
-//import java.util.List;
-//
-///**
-// * Swagger配置
-// *
-// * @author Mark sunlightcs@gmail.com
-// */
-//@Configuration
-//@EnableSwagger2WebMvc
-//@AllArgsConstructor
-//public class SwaggerConfig {
-//    private final OpenApiExtensionResolver openApiExtensionResolver;
-//
-//    @Bean
-//    public Docket createRestApi() {
-//        return new Docket(DocumentationType.SWAGGER_2)
-//            .apiInfo(apiInfo())
-//            .select()
-//            //加了ApiOperation注解的类,生成接口文档
-//            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
-//            //包下的类,生成接口文档
-//            //.apis(RequestHandlerSelectors.basePackage("io.renren.modules.job.controller"))
-//            .paths(PathSelectors.any())
-//            .build()
-//            .extensions(openApiExtensionResolver.buildExtensions("Renren"))
-//            .directModelSubstitute(java.util.Date.class, String.class)
-//            .securitySchemes(security());
-//    }
-//
-//    private ApiInfo apiInfo() {
-//        return new ApiInfoBuilder()
-//            .title("人人开源")
-//            .description("renren-admin文档")
-//            .termsOfServiceUrl("https://www.renren.io")
-//            .version("5.x")
-//            .build();
-//    }
-//
-//    private List<ApiKey> security() {
-//        return newArrayList(
-//            new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header")
-//        );
-//    }
-//}
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexQueryDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexQueryDTO.java
deleted file mode 100644
index ac33c09..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexQueryDTO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.iailab.module.data.common.dto;
-
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-@Data
-public class IndexQueryDTO {
-	 
-    private Date startDate;
-    
-    private Date endDate;
-    
-    private String code;
-
-    private Integer granularity;
-
-    private List<String> codes;
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexStatisticDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexStatisticDTO.java
deleted file mode 100644
index c2a9a6f..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/IndexStatisticDTO.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.iailab.module.data.common.dto;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-
-@Data
-public class IndexStatisticDTO implements Serializable {
-	private static final long serialVersionUID = 1L;
-
-	public Date dateTime;
-	public BigDecimal data;
-
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/BarLineDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/BarLineDTO.java
deleted file mode 100644
index 0055bd8..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/BarLineDTO.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.iailab.module.data.common.dto.echarts;
-
-import io.swagger.v3.oas.annotations.tags.Tag;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * @author lirm
- * @Description
- * @createTime 2023.05.11
- */
-@Data
-@Tag(name = "图表")
-public class BarLineDTO implements Serializable {
-    private static final long serialVersionUID = 1L;
-    
-    private String valueName;//表名称
-
-    private List<String> legend;//线的名称
-
-    private List<String> categories;//X轴数据
-
-    private List<SeriesItem> series;//Y轴数据集合
-
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/SeriesItem.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/SeriesItem.java
deleted file mode 100644
index c4ebee7..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/echarts/SeriesItem.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.iailab.module.data.common.dto.echarts;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author lirm
- * @Description
- * @createTime 2023.05.11
- */
-@Data
-public class SeriesItem {
-	
-	private String name;
-
-    private List<Object[]> data;
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/vue/CascaderOptionDTO.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/vue/CascaderOptionDTO.java
deleted file mode 100644
index cebe3d5..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/dto/vue/CascaderOptionDTO.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.iailab.module.data.common.dto.vue;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * @author PanZhibao
- * @Description
- * @createTime 2023年05月15日 13:46:00
- */
-@Data
-public class CascaderOptionDTO implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private String value;
-
-    private String label;
-
-    private List<CascaderOptionDTO> children;
-}
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/framework/package-info.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/framework/package-info.java
deleted file mode 100644
index 9df4f3e..0000000
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/framework/package-info.java
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * 属于 data 模块的 framework 封装
- *
- * @author iailab
- */
-package com.iailab.module.data.framework;
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpApiDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpApiDao.java
index 80a5bec..a308bc3 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpApiDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpApiDao.java
@@ -1,9 +1,11 @@
 package com.iailab.module.data.http.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.http.entity.HttpApiEntity;
 import org.apache.ibatis.annotations.Mapper;
 
+@TenantDS
 @Mapper
 public interface HttpApiDao extends BaseDao<HttpApiEntity> {
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTagDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTagDao.java
index 83a6674..2c9934f 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTagDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTagDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.http.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.http.dto.HttpTagDTO;
 import com.iailab.module.data.http.entity.HttpTagEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -13,6 +14,7 @@
  * @Description
  * @createTime 2024年04月10日 17:35:00
  */
+@TenantDS
 @Mapper
 public interface HttpTagDao extends BaseDao<HttpTagEntity> {
     List<HttpTagDTO> getList(Map<String, Object> params);
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTokenDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTokenDao.java
index 1741907..a6015f7 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTokenDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/http/dao/HttpTokenDao.java
@@ -1,9 +1,11 @@
 package com.iailab.module.data.http.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.http.entity.HttpTokenEntity;
 import org.apache.ibatis.annotations.Mapper;
 
+@TenantDS
 @Mapper
 public interface HttpTokenDao extends BaseDao<HttpTokenEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java
index 5106626..3661577 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemAtomDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.ind.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.ind.entity.IndItemAtomEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月25日
  */
+@TenantDS
 @Mapper
 public interface IndItemAtomDao extends BaseDao<IndItemAtomEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java
index 844827e..962b37d 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemCalDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.ind.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.ind.entity.IndItemCalEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月25日
  */
+@TenantDS
 @Mapper
 public interface IndItemCalDao extends BaseDao<IndItemCalEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java
index 6ea4c17..7476a5b 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.ind.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.ind.entity.IndItemEntity;
 import com.iailab.module.data.ind.entity.IndItemEntity;
 import com.iailab.module.data.ind.dto.IndItemDTO;
@@ -16,6 +17,7 @@
  * @Description
  * @createTime 2024年05月25日
  */
+@TenantDS
 @Mapper
 public interface IndItemDao extends BaseDao<IndItemEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java
index 70de9bf..1d109a6 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/ind/dao/IndItemValueDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.ind.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.ind.entity.IndItemValueEntity;
 import com.iailab.module.data.ind.entity.IndItemValueEntity;
 import com.iailab.module.data.ind.dto.IndItemDTO;
@@ -16,6 +17,7 @@
  * @Description
  * @createTime 2024年05月25日
  */
+@TenantDS
 @Mapper
 public interface IndItemValueDao extends BaseDao<IndItemValueEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/common/config/InfluxDBInstance.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/common/config/InfluxDBInstance.java
index 7803bec..fa23641 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/common/config/InfluxDBInstance.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/common/config/InfluxDBInstance.java
@@ -43,4 +43,5 @@
         return client;
     }
 
+
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobDao.java
index d472df5..fd4d2ca 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobDao.java
@@ -1,17 +1,7 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.dao;
 
+import com.baomidou.dynamic.datasource.annotation.Master;
 import com.iailab.framework.common.dao.BaseDao;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -22,6 +12,7 @@
  *
  * @author Mark sunlightcs@gmail.com
  */
+@Master
 @Mapper
 public interface ScheduleJobDao extends BaseDao<ScheduleJobEntity> {
 	
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobLogDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobLogDao.java
index 67615bb..a31507b 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobLogDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/dao/ScheduleJobLogDao.java
@@ -1,17 +1,7 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.dao;
 
+import com.baomidou.dynamic.datasource.annotation.Master;
 import com.iailab.framework.common.dao.BaseDao;
-import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
-import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
-import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
 import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -20,6 +10,7 @@
  *
  * @author Mark sunlightcs@gmail.com
  */
+@Master
 @Mapper
 public interface ScheduleJobLogDao extends BaseDao<ScheduleJobLogEntity> {
 	
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobEntity.java
index 190efa1..ff9268c 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobEntity.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobEntity.java
@@ -1,11 +1,3 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
@@ -58,4 +50,9 @@
 	 */
 	@TableField(fill = FieldFill.INSERT_UPDATE)
 	private Date updateDate;
+
+	/**
+	 * 多租户编号
+	 */
+	private Long tenantId;
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobLogEntity.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobLogEntity.java
index 837f714..fed2303 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobLogEntity.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/entity/ScheduleJobLogEntity.java
@@ -1,11 +1,3 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.entity;
 
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -59,4 +51,9 @@
 	 */
 	private Date createDate;
 
+	/**
+	 * 多租户编号
+	 */
+	private Long tenantId;
+
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet10.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet10.java
index b3a52e6..ca876dd 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet10.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/task/PointCollectTaskNet10.java
@@ -27,9 +27,7 @@
     private PointCollector pointCollector;
 
     @Override
-//    @XxlJob("pointCollectTaskNet10")
     public void run(String params){
-        // 0/10 * * * * ?
         logger.debug("PointCollectTaskNet10定时任务正在执行,参数为:{}", params);
         try {
             Calendar calendar = Calendar.getInstance();
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
index 489738f..acdbd82 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleJob.java
@@ -1,19 +1,12 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.utils;
 
 import com.iailab.framework.common.constant.Constant;
 import com.iailab.framework.common.exception.ExceptionUtils;
 import com.iailab.framework.common.util.spring.SpringContextUtils;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
+import com.iailab.framework.tenant.core.context.TenantContextHolder;
 import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import com.iailab.module.data.job.entity.ScheduleJobLogEntity;
+import org.quartz.DisallowConcurrentExecution;
 import org.quartz.JobExecutionContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,6 +21,7 @@
  *
  * @author Mark sunlightcs@gmail.com
  */
+@DisallowConcurrentExecution
 public class ScheduleJob extends QuartzJobBean {
 	private Logger logger = LoggerFactory.getLogger(getClass());
 
@@ -36,6 +30,9 @@
         ScheduleJobEntity scheduleJob = (ScheduleJobEntity) context.getMergedJobDataMap().
 				get(ScheduleUtils.JOB_PARAM_KEY);
 
+        //设置当前租户
+		TenantContextHolder.setTenantId(scheduleJob.getTenantId());
+
         //数据库保存执行记录
         ScheduleJobLogEntity log = new ScheduleJobLogEntity();
         log.setJobId(scheduleJob.getId());
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleUtils.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleUtils.java
index e1f59a2..3e4ac11 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleUtils.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/job/utils/ScheduleUtils.java
@@ -1,17 +1,8 @@
-/**
- * Copyright (c) 2018 人人开源 All rights reserved.
- *
- * https://www.renren.io
- *
- * 版权所有,侵权必究!
- */
-
 package com.iailab.module.data.job.utils;
 
 import com.iailab.framework.common.constant.Constant;
 import com.iailab.framework.common.enums.ErrorCode;
 import com.iailab.framework.common.exception.ServerException;
-import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import com.iailab.module.data.job.entity.ScheduleJobEntity;
 import org.quartz.*;
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMathPointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMathPointDao.java
index 166cca8..0a4f5c5 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMathPointDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMathPointDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.point.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.point.entity.DaMathPointEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月12日
  */
+@TenantDS
 @Mapper
 public interface DaMathPointDao extends BaseDao<DaMathPointEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMeasurePointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMeasurePointDao.java
index 8cb1001..be6cf6a 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMeasurePointDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaMeasurePointDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.point.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.point.entity.DaMeasurePointEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月12日
  */
+@TenantDS
 @Mapper
 public interface DaMeasurePointDao extends BaseDao<DaMeasurePointEntity> {
 }
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
index c0678b2..6aa212b 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointDao.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.point.dto.DaPointDTO;
 import com.iailab.module.data.point.entity.DaPointEntity;
 import org.apache.ibatis.annotations.Mapper;
@@ -15,6 +16,7 @@
  * @Description
  * @createTime 2022年07月12日 13:47:00
  */
+@TenantDS
 @Mapper
 public interface DaPointDao extends BaseDao<DaPointEntity> {
 
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointValueDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointValueDao.java
index ea9fba4..372f6b0 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointValueDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaPointValueDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.point.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.point.entity.DaPointValueEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月12日
  */
+@TenantDS
 @Mapper
 public interface DaPointValueDao extends BaseDao<DaPointValueEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaSequenceNumDao.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaSequenceNumDao.java
index fc7fb56..cc35a9e 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaSequenceNumDao.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/dao/DaSequenceNumDao.java
@@ -1,6 +1,7 @@
 package com.iailab.module.data.point.dao;
 
 import com.iailab.framework.common.dao.BaseDao;
+import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
 import com.iailab.module.data.point.entity.DaSequenceNumEntity;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -9,6 +10,7 @@
  * @Description
  * @createTime 2024年05月12日
  */
+@TenantDS
 @Mapper
 public interface DaSequenceNumDao extends BaseDao<DaSequenceNumEntity> {
 }
\ No newline at end of file
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yml b/iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yml
index 41bbdf9..f2fa1c5 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yml
+++ b/iailab-module-data/iailab-module-data-biz/src/main/resources/application-dev.yml
@@ -38,7 +38,7 @@
       primary: master
       datasource:
         master:
-          url: jdbc:mysql://127.0.0.1:3306/iailab_test_data?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+          url: jdbc:mysql://127.0.0.1:3306/iailab_data_master?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
           username: root
           password: 123456
 
@@ -48,9 +48,6 @@
     port: 6379 # 端口
     database: 0 # 数据库索引
     # password: 123456 # 密码,建议生产环境开启
-
-oadp:
-  domain: http://172.16.1.148:6010
 
 influx-db:
   org: IAILab
diff --git a/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml b/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml
index b0e8d5e..2e2cfb4 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml
+++ b/iailab-module-data/iailab-module-data-biz/src/main/resources/application.yml
@@ -175,8 +175,6 @@
       - qrtz_simple_triggers
       - qrtz_simprop_triggers
       - qrtz_triggers
-      - schedule_job
-      - schedule_job_log
       - t_channel_kio_device
       - t_channel_kio_tag
       - t_channel_modbus_device

--
Gitblit v1.9.3