CREATE TABLE IF NOT EXISTS `adm_cad`  (
  `id` varchar(100) NOT NULL COMMENT '主键',
  `file_key` varchar(255) NOT NULL COMMENT '存储系统的key',
  `file_name` varchar(255) NOT NULL COMMENT '文件名称',
  `major_code` varchar(255) NOT NULL COMMENT '所属专业编码 土建精装-CF|空调-AC|给排水-WS|消防-FF',
  `major_name` varchar(255) NOT NULL COMMENT '所属专业名称',
  `check_status` tinyint(1) NOT NULL COMMENT '核查状态 0-未完成 1-已完成',
  `floor_id` varchar(255) NOT NULL COMMENT '楼层ID',
  `building_id` varchar(255) NOT NULL COMMENT '建筑ID',
  `project_id` varchar(255) NOT NULL COMMENT '项目ID',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_combination`(`floor_id`, `building_id`, `project_id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = 'CAD图纸信息表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_client_flag`  (
  `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `user_id` varchar(40) NOT NULL COMMENT '用户id',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 181 DEFAULT CHARSET=utf8mb4 COMMENT = 'app客户端标记' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_component`  (
  `id` varchar(40) NOT NULL,
  `comp_code` varchar(100) NOT NULL COMMENT '构件编码',
  `comp_name` varchar(100) NULL DEFAULT NULL COMMENT '构件名称',
  `system_code` varchar(40) NOT NULL,
  `class_code` varchar(40) NOT NULL,
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '构件库' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_config`  (
  `id` varchar(40) NOT NULL,
  `name` varchar(50) NOT NULL COMMENT '配置项名称',
  `code` varchar(20) NOT NULL COMMENT '配置项代码',
  `data` json NOT NULL COMMENT '配置项的具体内容',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '配置信息(空间任务状态(建筑结构,设备),问题状态,文件业务类型...)' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_container_config`  (
  `id` varchar(40) NOT NULL,
  `container_code` varchar(100) NOT NULL COMMENT '容器设备类型代码',
  `widget_code` varchar(100) NOT NULL COMMENT '容器设备内部支持的无模型设备类型代码',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '容器设备-无模型设备配置' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_define_problem_info`  (
  `id` varchar(40) NOT NULL,
  `code` varchar(100) NOT NULL COMMENT '信息点编码,同类型下唯一,标准驼峰格式',
  `name` varchar(200) NULL DEFAULT NULL COMMENT '信息点名称',
  `problem_type_code` varchar(40) NULL DEFAULT NULL COMMENT '问题类型编码',
  `unit` varchar(40) NULL DEFAULT NULL COMMENT '单位',
  `data_type` varchar(40) NULL DEFAULT NULL COMMENT '数据类型',
  `is_multiple` int(0) NULL DEFAULT NULL COMMENT '是否复数',
  `data_source` json NULL COMMENT '数据源取值范围/枚举值清单等,根据dataType有不同的内容',
  `remark` text NULL COMMENT '备注',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NOT NULL DEFAULT 1 COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '核查问题信息点定义表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_define_problem_type`  (
  `id` varchar(64) NOT NULL COMMENT '主键',
  `obj_type_code` varchar(64) NOT NULL COMMENT '对象类型编码',
  `obj_type_name` varchar(64) NOT NULL COMMENT '对象类型名称',
  `problem_type_code` varchar(64) NOT NULL COMMENT '问题类型编码',
  `problem_type_name` varchar(64) NOT NULL COMMENT '问题类型名称',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(1) NULL DEFAULT 1 COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '对象类型与问题类型定义表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_file`  (
  `id` varchar(40) NOT NULL,
  `file_type` varchar(20) NULL DEFAULT NULL COMMENT '文件类型(photo|video|file|...)',
  `biz_type` varchar(20) NOT NULL COMMENT '业务类型(object:对象附件|problem_arch:空间问题附件|problem_equip:设备问题附件)',
  `file_path` varchar(100) NOT NULL COMMENT '文件存储路径(id)',
  `client_path` varchar(100) NULL DEFAULT NULL COMMENT 'app端文件存储路径',
  `ref_obj_id` varchar(100) NOT NULL COMMENT '关联的对象id',
  `ref_info_code` varchar(40) NULL DEFAULT NULL COMMENT '关联的对象信息点code',
  `remark` varchar(200) NULL DEFAULT NULL COMMENT '描述',
  `order_num` tinyint(0) NULL DEFAULT NULL COMMENT '文件附件(照片)的排序序号',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `floor_id` varchar(60) NULL DEFAULT NULL COMMENT '楼层id',
  `building_id` varchar(60) NULL DEFAULT NULL COMMENT '建筑id',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `file_id` varchar(40) NULL DEFAULT NULL COMMENT '文件服务中的存储id',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '文件附件' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_infos_config`  (
  `id` varchar(40) NOT NULL,
  `obj_type` varchar(40) NOT NULL COMMENT '对象类型(space|equipment)',
  `name` varchar(50) NULL DEFAULT NULL COMMENT '对象类型名称',
  `class_code` varchar(40) NOT NULL COMMENT '对象class_code',
  `major_code` varchar(40) NULL DEFAULT NULL COMMENT '专业代码(类型为设备时)',
  `system_code` varchar(40) NULL DEFAULT NULL COMMENT '系统代码(类型为设备时)',
  `infos` json NOT NULL COMMENT '对象类型的信息详情点配置',
  `flag` varchar(20) NULL DEFAULT NULL COMMENT '批量导入标记',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '对象详情点配置' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_job_space`  (
  `id` varchar(40) NOT NULL,
  `work_id` varchar(40) NULL DEFAULT NULL COMMENT '交付工作流程id',
  `space_id` varchar(100) NOT NULL COMMENT '空间id',
  `bim_id` varchar(100) NULL DEFAULT NULL COMMENT 'revit模型id',
  `outline` json NULL COMMENT '空间边界，模型更新空间变化时，用来做匹配计算',
  `space_type` varchar(20) NULL DEFAULT NULL COMMENT '任务空间类型(base|sub)',
  `parent_space_id` varchar(100) NULL DEFAULT NULL COMMENT '父级空间id(空间类型为sub时)',
  `arch_state` tinyint(0) NULL DEFAULT 0 COMMENT '建筑结构核查任务状态(0:待核查;1:核查中;2:核查完毕)',
  `equip_state` tinyint(0) NULL DEFAULT 0 COMMENT '设备勘测任务状态(0:待勘测;1:勘测中;2:勘测完毕)',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NULL DEFAULT NULL COMMENT '建筑id',
  `floor_id` varchar(60) NOT NULL COMMENT '楼层id',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '任务空间表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_m2d_equip`  (
  `id` varchar(40) NOT NULL,
  `name` varchar(50) NULL DEFAULT NULL COMMENT '范围定义名称',
  `major_code` varchar(40) NULL DEFAULT NULL COMMENT '专业代码',
  `system_code` varchar(40) NULL DEFAULT NULL COMMENT '系统代码',
  `class_code` varchar(40) NULL DEFAULT NULL COMMENT '设备类代码',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '正向建模的设备类型范围' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_message_p`  (
  `id` varchar(40) NOT NULL COMMENT '消息id',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `trigger_type` varchar(20) NOT NULL COMMENT '触发类型',
  `sender` varchar(40) NOT NULL COMMENT '发送者',
  `content` json NOT NULL COMMENT '消息内容',
  `status` varchar(10) NOT NULL COMMENT '消息状态(processing|finished|error)',
  `send_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '消息发送时间',
  `return_content` json NULL COMMENT '消息响应的返回内容',
  `return_time` timestamp(0) NULL DEFAULT NULL COMMENT '接收到消息响应的时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '消息表（生产者）' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_pipe`  (
  `id` varchar(100) NOT NULL,
  `floor_id` varchar(60) NULL DEFAULT NULL COMMENT '楼层id',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `obj_from` varchar(100) NULL DEFAULT NULL COMMENT '管道的from端对象',
  `type_from` varchar(20) NULL DEFAULT NULL COMMENT 'from端对象类型(equipment:设备;pipe:管道)',
  `obj_to` varchar(100) NULL DEFAULT NULL COMMENT '管道的to端对象',
  `type_to` varchar(20) NULL DEFAULT NULL COMMENT 'to端对象类型(equipment:设备;pipe:管道)',
  `direction` int(0) NULL DEFAULT NULL COMMENT '管道方向(1:正向from->to;-1:反向to->from;0:无方向)',
  `pipe_type` varchar(40) NOT NULL COMMENT '管道的数据字典类型(OTLAPL: 液体管道|OTAAPL: 气体管道)',
  `pipe_sub_type` varchar(100) NULL DEFAULT NULL COMMENT '管道用途',
  `route` json NULL COMMENT '管道路由(坐标列表格式:[{x:1,y:1,z:1}])',
  `infos` json NULL COMMENT '管道的信息点',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '管道数据-交付阶段' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_pipe_config`  (
  `id` varchar(40) NOT NULL,
  `class_code_from` varchar(40) NOT NULL COMMENT 'from端设备对象class_code',
  `pipe_type` varchar(40) NOT NULL COMMENT '管道类型(数据字典定义的设备类型)',
  `pipe_sub_type` varchar(40) NULL DEFAULT NULL COMMENT '管道用途(业务定义补充描述类型) 数据字典4.0后取消',
  `pipe_direction` tinyint(0) NOT NULL COMMENT '管道方向(1:正向from->to;-1:反向to->from;0:无方向)',
  `pipe_description` varchar(200) NULL DEFAULT NULL COMMENT '文字描述信息',
  `class_code_to` varchar(40) NOT NULL COMMENT 'to端设备对象class_code',
  `flag` varchar(20) NULL DEFAULT NULL COMMENT '批量导入标记',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '对象类型-管道配置' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_problem`  (
  `id` varchar(100) NOT NULL,
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `floor_id` varchar(60) NOT NULL COMMENT '问题所在楼层id',
  `file_id` varchar(100) NULL DEFAULT NULL COMMENT '核查对应的文件ID',
  `check_type` varchar(10) NOT NULL COMMENT '1 空间 2对象',
  `obj_type_code` varchar(40) NOT NULL COMMENT '问题对象类型',
  `obj_type_name` varchar(40) NOT NULL COMMENT '问题对象类型名称',
  `obj_id` varchar(100) NULL DEFAULT NULL COMMENT '问题对象id',
  `obj_name` varchar(40) NULL DEFAULT NULL COMMENT '问题对象名称',
  `type_code` varchar(20) NOT NULL COMMENT '问题类型编码',
  `type_name` varchar(40) NOT NULL COMMENT '问题类型名称',
  `info` json NULL COMMENT '问题描述',
  `state` tinyint(0) NOT NULL COMMENT '建筑结构核查任务状态(1:有效;2:已解决)',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(1) NULL DEFAULT 1 COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_pbf`(`project_id`, `building_id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '核查问题表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_problem_arch`  (
  `id` varchar(100) NOT NULL,
  `work_id` varchar(40) NULL DEFAULT NULL COMMENT '交付工作流程id',
  `floor_id` varchar(60) NOT NULL COMMENT '问题所在楼层id',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `geom_type` varchar(20) NULL DEFAULT NULL COMMENT '问题记录的几何类型(point|line|polygon)',
  `geom` json NULL COMMENT '问题记录的几何数据(统一为列表格式:[{x:1,y:1}])',
  `problem_type` varchar(20) NULL DEFAULT NULL COMMENT '问题类型',
  `message` varchar(1000) NULL DEFAULT NULL COMMENT '问题描述',
  `problem_state` tinyint(0) NOT NULL COMMENT '建筑结构核查任务状态(1:有效;2:已解决)',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '建筑结构问题' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_problem_equip`  (
  `id` varchar(40) NOT NULL,
  `work_id` varchar(40) NULL DEFAULT NULL COMMENT '交付工作流程id',
  `floor_id` varchar(60) NOT NULL COMMENT '问题所在楼层id',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `equip_id` varchar(100) NOT NULL COMMENT '设备id',
  `problem_type` varchar(20) NULL DEFAULT NULL COMMENT '问题类型',
  `message` varchar(1000) NULL DEFAULT NULL COMMENT '问题描述',
  `problem_state` tinyint(0) NOT NULL COMMENT '设备核查任务状态(1:有效;2:已解决)',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '设备问题' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_qr_code`  (
  `id` varchar(40) NOT NULL,
  `qr_code` varchar(100) NOT NULL COMMENT '二维码数据值',
  `obj_id` varchar(100) NOT NULL COMMENT '二维码对应的对象id',
  `floor_id` varchar(60) NOT NULL COMMENT '楼层id',
  `location` json NOT NULL COMMENT '位置坐标({x:1,y:1,z:1})',
  `remark` varchar(200) NULL DEFAULT NULL COMMENT '描述信息（临时记录二维码粘贴位置）',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '二维码' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_rels_config`  (
  `id` varchar(40) NOT NULL,
  `obj_type_from` varchar(40) NOT NULL COMMENT 'from端对象类型(space|equipment)',
  `class_code_from` varchar(40) NOT NULL COMMENT 'from端对象class_code',
  `graph_code` varchar(40) NOT NULL COMMENT '关系的图类型代码',
  `graph_name` varchar(100) NULL DEFAULT NULL COMMENT '关系的图类型名称',
  `rel_code` varchar(40) NOT NULL COMMENT '关系的边类型代码',
  `rel_name` varchar(100) NULL DEFAULT NULL COMMENT '关系的边类型名称',
  `obj_type_to` varchar(40) NOT NULL COMMENT 'to端对象类型(space|equipment)',
  `class_code_to` varchar(40) NOT NULL COMMENT 'to端对象class_code',
  `direction` varchar(20) NULL DEFAULT NULL COMMENT '关系方向(fixed|optional|none)',
  `flag` varchar(20) NULL DEFAULT NULL COMMENT '批量导入标记',
  `project_id` varchar(40) NULL DEFAULT NULL COMMENT '项目id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '对象类型-关系配置' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_serve_area`  (
  `id` varchar(40) NOT NULL,
  `obj_id` varchar(100) NOT NULL COMMENT '为该区域提供服务的设备id',
  `floor_id` varchar(60) NULL DEFAULT NULL COMMENT '楼层id',
  `geom_type` varchar(20) NOT NULL COMMENT '服务区域的几何类型(polygon:多边形|circle:圆形|ellipse:椭圆)',
  `geom` json NOT NULL COMMENT '服务区域的轮廓几何信息(polygon对应xy坐标数组, circle和ellipse对应对象(圆心半径))',
  `serve_type` varchar(40) NULL DEFAULT NULL COMMENT '服务的类型，照明回路等，暂时为空',
  `remark` varchar(200) NULL DEFAULT NULL COMMENT '描述信息',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `building_id` varchar(60) NOT NULL COMMENT '建筑id',
  `creator` varchar(32) NULL DEFAULT NULL COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT NULL COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT NULL COMMENT '合法标识',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '服务区域' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_upload_job`  (
  `id` varchar(40) NOT NULL COMMENT '上传任务id',
  `project_id` varchar(40) NOT NULL COMMENT '项目id',
  `operator` varchar(40) NOT NULL COMMENT '操作人员id(user_id+client_flag_id)',
  `status` varchar(10) NOT NULL COMMENT '任务状态(processing|finished|error)',
  `start_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '开始时间',
  `finish_time` timestamp(0) NULL DEFAULT NULL COMMENT '结束时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '上传任务表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_upload_log`  (
  `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `job_id` varchar(40) NULL DEFAULT NULL COMMENT '上传任务id',
  `operator` varchar(40) NULL DEFAULT NULL COMMENT '上传操作人',
  `entity_type` varchar(30) NOT NULL COMMENT '实体类型',
  `operation` varchar(10) NULL DEFAULT NULL,
  `data` json NOT NULL COMMENT '上传的数据条目',
  `ts` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '时间戳',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 24145 DEFAULT CHARSET=utf8mb4 COMMENT = '客户端上传日志' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `project`  (
  `id` varchar(80) NOT NULL COMMENT '项目id',
  `name` varchar(50) NULL DEFAULT NULL COMMENT '项目名称',
  `config_json` json NOT NULL COMMENT '模型解析的配置',
  `type` varchar(50) NULL DEFAULT NULL COMMENT '空间类型',
  `room_space` varchar(50) NULL DEFAULT NULL COMMENT '空间code',
  `group_code` varchar(40) NOT NULL DEFAULT '0' COMMENT '集团编码',
  `group_name` varchar(200) NULL DEFAULT NULL COMMENT '集团名称',
  `creator` varchar(32) NULL DEFAULT '0' COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT '0' COMMENT '最后修改人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后修改时间',
  `valid` tinyint(0) NULL DEFAULT 1 COMMENT '合法标识',
  `ts` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `project_user`  (
  `id` varchar(36) NOT NULL COMMENT '表主键',
  `project_id` varchar(36) NOT NULL COMMENT '项目id',
  `user_id` varchar(36) NOT NULL COMMENT '用户id',
  `creator` varchar(32) NULL DEFAULT '0' COMMENT '创建人',
  `creation_time` char(14) NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) NULL DEFAULT '0' COMMENT '最后更新人',
  `modified_time` char(14) NULL DEFAULT NULL COMMENT '最后更新时间',
  `valid` tinyint(0) NULL DEFAULT 1 COMMENT '合法标识',
  `ts` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `project_user_pk_2`(`project_id`, `user_id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COMMENT = '项目用户关系表' ROW_FORMAT = Dynamic;

CREATE TABLE IF NOT EXISTS `adm_model_file` (
    `id` varchar(50) NOT NULL COMMENT '主键',
    `original_name` varchar(255) DEFAULT NULL COMMENT '模型文件的上传原始名',
    `version` int NOT NULL AUTO_INCREMENT COMMENT '楼层模型的版本号',
    `user_id` varchar(80) DEFAULT NULL COMMENT '上传模型文件的用户id',
    `user_name` varchar(80) DEFAULT NULL COMMENT '上传模型文件的用户名',
    `status` smallint DEFAULT NULL COMMENT '模型文件的当前处理状态:1=上传完毕, 2=模型初步检查完成, 3=同步数据完成, 4=模型正常结束',
    `note` json DEFAULT NULL COMMENT '备注',
    `revit_file_id` varchar(50) DEFAULT NULL COMMENT '模型文件id',
    `data_file_id` varchar(50) NOT NULL COMMENT '模型解析后生成的数据文件id',
    `min_data_file_id` varchar(50) DEFAULT NULL COMMENT '模型解析后生成的小数据文件id,对应楼层的floorMap',
    `floor_id` varchar(50) NOT NULL COMMENT '模型文件所属楼层(model_floor表id)',
    `building_id` varchar(50) NOT NULL COMMENT '建筑id',
    `project_id` varchar(50) DEFAULT '0' COMMENT '项目id',
    `group_code` varchar(50) DEFAULT '0' COMMENT '集团编码',
    `removed` tinyint(1) DEFAULT 0 COMMENT '模型文件是否已被删除',
    `sync_retry_times` int DEFAULT NULL COMMENT '跟数据中心同步数据失败时的重试次数',
    `sync_retry_date` timestamp NULL DEFAULT NULL COMMENT '上次重试日期',
    `sync_error_msg` text DEFAULT NULL COMMENT '上次同步到数据中心时的错误消息',
    `level` double(53,0) DEFAULT NULL COMMENT '模型的标高',
    `status_info` json DEFAULT NULL COMMENT '存储模型状态信息',
    `revit_version` varchar(50) DEFAULT NULL COMMENT '模型文件版本',
    `creator` varchar(32) DEFAULT '0' COMMENT '创建人',
    `creation_time` char(14) DEFAULT NULL COMMENT '创建时间',
    `modifier` varchar(32) DEFAULT '0' COMMENT '最后更新人',
    `modified_time` char(14) DEFAULT NULL COMMENT '最后更新时间',
    `valid` tinyint DEFAULT '1' COMMENT '合法标识',
    `ts` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '乐观锁',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE INDEX `idx_1`(`version`, `floor_id`, `building_id`, `project_id`, `group_code`,`valid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='模型文件表';
