-- CreateTable CREATE TABLE `sys_agency` ( `code` VARCHAR(64) NOT NULL, `org_name` VARCHAR(100) NOT NULL, `org_type` VARCHAR(20) NOT NULL, `credit_code` VARCHAR(18) NOT NULL, `loc_code` VARCHAR(12) NOT NULL, `loc_name` VARCHAR(50) NOT NULL, `svc_source` VARCHAR(10) NOT NULL, `license_no` VARCHAR(50) NULL, `address` VARCHAR(200) NOT NULL, `contact_name` VARCHAR(30) NOT NULL, `contact_phone` VARCHAR(15) NOT NULL, `bed_count` INTEGER NULL, `sign_date` DATE NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `created_by` VARCHAR(36) NULL, `updated_at` DATETIME(3) NOT NULL, `deleted_at` DATETIME(3) NULL, PRIMARY KEY (`code`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_staff` ( `id` VARCHAR(36) NOT NULL, `tenant_code` VARCHAR(64) NOT NULL, `user_id` VARCHAR(36) NULL, `name` VARCHAR(30) NOT NULL, `id_card_no` VARCHAR(255) NOT NULL, `person_code` VARCHAR(20) NULL, `phone` VARCHAR(15) NOT NULL, `job_type` VARCHAR(20) NOT NULL, `work_type` VARCHAR(10) NOT NULL, `entry_date` DATE NULL, `leave_date` DATE NULL, `employ_status` VARCHAR(10) NOT NULL, `cert_type` VARCHAR(20) NULL, `cert_no` VARCHAR(50) NULL, `cert_level` VARCHAR(20) NULL, `cert_expire` DATE NULL, `cert_status` VARCHAR(20) NULL, `cert_verify_url` VARCHAR(200) NULL, `group_leader_id` VARCHAR(36) NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `created_by` VARCHAR(36) NULL, `updated_at` DATETIME(3) NOT NULL, `deleted_at` DATETIME(3) NULL, UNIQUE INDEX `sys_staff_user_id_key`(`user_id`), INDEX `sys_staff_tenant_code_name_idx`(`tenant_code`, `name`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_svc_national` ( `id` VARCHAR(36) NOT NULL, `nat_code` VARCHAR(20) NOT NULL, `nat_name` VARCHAR(100) NOT NULL, `nat_category` VARCHAR(20) NOT NULL, `nat_sub_category` VARCHAR(50) NULL, `recommend_staff` VARCHAR(50) NULL, `recommend_duration` VARCHAR(50) NULL, `is_medical` BOOLEAN NOT NULL DEFAULT false, `version` INTEGER NOT NULL DEFAULT 1, UNIQUE INDEX `sys_svc_national_nat_code_key`(`nat_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_svc_local` ( `id` VARCHAR(36) NOT NULL, `loc_code` VARCHAR(12) NOT NULL, `local_item_name` VARCHAR(100) NOT NULL, `local_category` VARCHAR(20) NULL, `svc_time` VARCHAR(50) NULL, `min_freq` VARCHAR(50) NULL, `staff_qual` VARCHAR(50) NULL, `is_medical` BOOLEAN NOT NULL DEFAULT false, `source_doc` VARCHAR(200) NULL, `map_status` VARCHAR(20) NOT NULL DEFAULT 'mapped', INDEX `sys_svc_local_loc_code_idx`(`loc_code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_svc_mapping` ( `id` VARCHAR(36) NOT NULL, `loc_id` VARCHAR(36) NOT NULL, `nat_id` VARCHAR(36) NULL, `map_type` VARCHAR(20) NOT NULL, `map_note` VARCHAR(200) NULL, `status` VARCHAR(20) NOT NULL DEFAULT 'confirmed', INDEX `sys_svc_mapping_loc_id_idx`(`loc_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_svc_org` ( `id` VARCHAR(36) NOT NULL, `tenant_code` VARCHAR(64) NOT NULL, `src_type` VARCHAR(10) NOT NULL, `src_id` VARCHAR(36) NOT NULL, `is_enabled` BOOLEAN NOT NULL DEFAULT true, `price` VARCHAR(50) NULL, `price_effective` DATETIME(3) NULL, `is_new_national` BOOLEAN NOT NULL DEFAULT false, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `created_by` VARCHAR(36) NULL, `updated_at` DATETIME(3) NOT NULL, `deleted_at` DATETIME(3) NULL, INDEX `sys_svc_org_tenant_code_src_type_idx`(`tenant_code`, `src_type`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_dict_abnormal_type` ( `id` VARCHAR(36) NOT NULL, `code` VARCHAR(50) NOT NULL, `name` VARCHAR(50) NOT NULL, `sort` INTEGER NOT NULL DEFAULT 0, UNIQUE INDEX `sys_dict_abnormal_type_code_key`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_dict_photo_tier` ( `id` VARCHAR(36) NOT NULL, `code` VARCHAR(20) NOT NULL, `name` VARCHAR(50) NOT NULL, `tier` VARCHAR(10) NOT NULL, UNIQUE INDEX `sys_dict_photo_tier_code_key`(`code`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- CreateTable CREATE TABLE `sys_loc_config` ( `loc_code` VARCHAR(12) NOT NULL, `loc_name` VARCHAR(50) NOT NULL, `svc_source` VARCHAR(10) NOT NULL, `item_count_rule` VARCHAR(100) NULL, PRIMARY KEY (`loc_code`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;