diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..3a84187 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,21 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## 项目概述 + +`rkutil` 是一个 Python 工具库项目,使用 Python 3.13,通过 PyCharm 管理,虚拟环境位于 `.venv/`。 + +## 环境配置 + +激活虚拟环境: +```bash +.venv/Scripts/activate +``` + +安装依赖(待 `pyproject.toml` 或 `requirements.txt` 创建后): +```bash +pip install -e . +# 或 +pip install -r requirements.txt +``` diff --git a/export_qh_dat_watch.xlsx b/export_qh_dat_watch.xlsx new file mode 100644 index 0000000..d16ed38 Binary files /dev/null and b/export_qh_dat_watch.xlsx differ diff --git a/mysql表名.txt b/mysql表名.txt new file mode 100644 index 0000000..001c3cf --- /dev/null +++ b/mysql表名.txt @@ -0,0 +1,80 @@ +medical_announcement_info +medical_banner +medical_check_package +medical_check_package_item +medical_conclusion +medical_defend_cancer_code +medical_depart_hospital +medical_diseases_dic +medical_diseases_dic_rel +medical_doctor_check_item +medical_doctor_sign +medical_emp_defend_cancer +medical_emp_occup_import +medical_emp_occupational +medical_health_check_statistics +medical_health_check_statistics_info +medical_hospital +medical_hospital_area +medical_hospital_doctor_check +medical_hospital_emp +medical_hospital_except_count +medical_hospital_except_date +medical_hospital_item +medical_hospital_item_rel +medical_hospital_user +medical_hospital_virtual +medical_info +medical_item +medical_item_cost +medical_item_mutex +medical_item_package +medical_item_package_model +medical_item_package_model_append +medical_item_package_model_append_sub +medical_item_package_model_sub +medical_item_package_sub +medical_item_syn +medical_limit_float +medical_limit_model +medical_model_float +medical_order_info +medical_order_queue +medical_package_check +medical_paper_question +medical_paper_question_item +medical_plan +medical_plan_user +medical_precheck_paper +medical_precheck_paper_questions +medical_record_model +medical_record_model_base +medical_record_model_config +medical_serious_result_item +medical_stat_year +medical_uni_item_class +medical_uni_item_class_office +medical_uni_item_class_sicks +medical_uni_item_hospital +medical_uni_item_info +medical_uni_item_risk_rel +medical_uni_item_unusual_rel +medical_user_defend_cancer_result +medical_user_diseases +medical_user_diseases_item +medical_user_exception +medical_user_exception_item +medical_user_form +medical_user_form_sub +medical_user_ill +medical_user_ill_sub +medical_user_image +medical_user_image_item +medical_user_limit +medical_user_paper +medical_user_paper_answer +medical_user_result +medical_user_result_ext +medical_user_result_item +medical_user_result_item_tmp_unmatch +medical_user_sign \ No newline at end of file diff --git a/rkutil.iml b/rkutil.iml new file mode 100644 index 0000000..9ba6978 --- /dev/null +++ b/rkutil.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/xc_boot.sql b/xc_boot.sql new file mode 100644 index 0000000..6188466 --- /dev/null +++ b/xc_boot.sql @@ -0,0 +1,507 @@ +-- 数据中心sql + +DROP TABLE "DC_WATCH_DATA_ECG_20251231"; +DROP TABLE "DC_WATCH_DATA_ECG_ITEM_20251231"; +DROP TABLE "ONL_AUTH_DATA"; +DROP TABLE "ONL_AUTH_PAGE"; +DROP TABLE "ONL_AUTH_RELATION"; +DROP TABLE "ONL_CGFORM_BUTTON"; +DROP TABLE "ONL_CGFORM_ENHANCE_JAVA"; +DROP TABLE "ONL_CGFORM_ENHANCE_JS"; +DROP TABLE "ONL_CGFORM_ENHANCE_SQL"; +DROP TABLE "ONL_CGFORM_FIELD"; +DROP TABLE "ONL_CGFORM_HEAD"; +DROP TABLE "ONL_CGFORM_INDEX"; +DROP TABLE "ONL_CGREPORT_HEAD"; +DROP TABLE "ONL_CGREPORT_ITEM"; +DROP TABLE "ONL_CGREPORT_PARAM"; +DROP TABLE "OSS_FILE"; +DROP TABLE "SYS_CHECK_RULE"; +DROP TABLE "SYS_COMMENT"; +DROP TABLE "SYS_DATA_SOURCE"; +DROP TABLE "SYS_FILES"; +DROP TABLE "SYS_FORM_FILE"; +DROP TABLE "SYS_PERMISSION_COPY1"; +DROP TABLE "SYS_QUARTZ_JOB"; +DROP TABLE "SYS_TABLE_WHITE_LIST"; +DROP TABLE "SYS_TENANT"; +DROP TABLE "SYS_TENANT_PACK"; +DROP TABLE "SYS_TENANT_PACK_PERMS"; +DROP TABLE "SYS_TENANT_PACK_USER"; +DROP TABLE "SYS_THIRD_ACCOUNT"; +DROP TABLE "SYS_THIRD_APP_CONFIG"; +DROP TABLE "SYS_USER_AGENT"; +DROP TABLE "SYS_USER_TENANT"; +DROP TABLE "QRTZ_BLOB_TRIGGERS"; +DROP TABLE "QRTZ_CALENDARS"; +DROP TABLE "QRTZ_CRON_TRIGGERS"; +DROP TABLE "QRTZ_FIRED_TRIGGERS"; +DROP TABLE "QRTZ_JOB_DETAILS"; +DROP TABLE "QRTZ_LOCKS"; +DROP TABLE "QRTZ_PAUSED_TRIGGER_GRPS"; +DROP TABLE "QRTZ_SCHEDULER_STATE"; +DROP TABLE "QRTZ_SIMPLE_TRIGGERS"; +DROP TABLE "QRTZ_SIMPROP_TRIGGERS"; +DROP TABLE "QRTZ_TRIGGERS"; +ALTER TABLE "DC_WATCH_DATA_COMMON" RENAME TO "QH_DAT_WATCH_SPO2"; +ALTER TABLE "DC_WATCH_DATA_ECG" RENAME TO "QH_DAT_WATCH_ECG"; +ALTER TABLE "DC_WATCH_DATA_ECG_ITEM" RENAME TO "QH_DAT_WATCH_ECG_ITEM"; +ALTER TABLE "DC_WATCH_DATA_EXERCISE" RENAME TO "QH_DAT_WATCH_EXERCISE"; +ALTER TABLE "DC_WATCH_DATA_GPS" RENAME TO "QH_DAT_WATCH_GPS"; +ALTER TABLE "DC_WATCH_DATA_HEART_RATE" RENAME TO "QH_DAT_WATCH_HEART_RATE"; +ALTER TABLE "DC_WATCH_DATA_LOG" RENAME TO "QH_DAT_WATCH_LOG"; +ALTER TABLE "DC_WATCH_DATA_MONITOR" RENAME TO "QH_DAT_WATCH_MONITOR"; +ALTER TABLE "DC_WATCH_DATA_MONITOR_HEART_RATE" RENAME TO "QH_DAT_WATCH_MONITOR_HR"; +ALTER TABLE "DC_WATCH_DATA_MONITOR_SPO2" RENAME TO "QH_DAT_WATCH_MONITOR_SPO2"; +ALTER TABLE "DC_WATCH_DATA_MONITOR_STRESS" RENAME TO "QH_DAT_WATCH_MONITOR_STRE"; +ALTER TABLE "DC_WATCH_DATA_MONITOR_TEMPERATURE" RENAME TO "QH_DAT_WATCH_MONITOR_TEMP"; +ALTER TABLE "DC_WATCH_DATA_SDC" RENAME TO "QH_DAT_WATCH_SDC"; +ALTER TABLE "DC_WATCH_DATA_SDC_ITEM" RENAME TO "QH_DAT_WATCH_SDC_ITEM"; +ALTER TABLE "DC_WATCH_DATA_SDC_JSON" RENAME TO "QH_DAT_WATCH_SDC_JSON"; +ALTER TABLE "DC_WATCH_DATA_SLEEP" RENAME TO "QH_DAT_WATCH_SLEEP"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_NEW" RENAME TO "QH_DAT_WATCH_SLEEP_NEW"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_NEW_DAY" RENAME TO "QH_DAT_WATCH_SLEEP_NEWDAY"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_NEW_ERR" RENAME TO "QH_DAT_WATCH_SLEEP_NEWERR"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_NEW_MINUTE" RENAME TO "QH_DAT_WATCH_SLEEP_NEWMIN"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_WATCH5" RENAME TO "QH_DAT_WATCH5_SLEEP"; +ALTER TABLE "DC_WATCH_DATA_SLEEP_WATCH5_DETAIL" RENAME TO "QH_DAT_WATCH5_SLEEP_DETA"; +ALTER TABLE "DC_WATCH_DATA_STEP" RENAME TO "QH_DAT_WATCH_STEP"; +ALTER TABLE "DC_WATCH_DATA_STEP_NEW" RENAME TO "QH_DAT_WATCH_STEP_NEW"; +ALTER TABLE "DC_WATCH_DATA_STRESS" RENAME TO "QH_DAT_WATCH_STRESS"; +ALTER TABLE "DC_WATCH_DATA_TASK" RENAME TO "QH_DAT_WATCH_TASK"; +ALTER TABLE "DC_WATCH_DATA_TEMPERATURE" RENAME TO "QH_DAT_WATCH_TEMPERATURE"; +ALTER TABLE "DC_WATCH_DATA_WORKOUT" RENAME TO "QH_DAT_WATCH_WORKOUT"; +ALTER TABLE "DC_WATCH_DATA_WORKOUT_TRACE" RENAME TO "QH_DAT_WATCH_WORKOUT_TRAC"; +ALTER TABLE "DC_WATCH_DEVICE" RENAME TO "QH_DAT_WATCH_DEVICE"; +ALTER TABLE "DC_WATCH_DEVICE_SWITCH" RENAME TO "QH_DAT_WATCH_DEVICE_SWIT"; +ALTER TABLE "DC_WATCH_DEVICE_VERSION_HIS" RENAME TO "QH_DAT_WATCH_VERSION_HIS"; +ALTER TABLE "DC_WATCH_EME_MOBILE" RENAME TO "QH_DAT_WATCH_EME_MOBILE"; +ALTER TABLE "DC_WATCH_ERROR_LOG" RENAME TO "QH_DAT_WATCH_ERROR_LOG"; +ALTER TABLE "DC_WATCH_MQTT_LOG" RENAME TO "QH_DAT_WATCH_MQTT_LOG"; +ALTER TABLE "DC_WATCH_NET_TYPE_LOG" RENAME TO "QH_DAT_WATCH_NET_TYPE_LOG"; +ALTER TABLE "DC_WATCH_NOTIFY" RENAME TO "QH_DAT_WATCH_NOTIFY"; +ALTER TABLE "DC_WATCH_NOTIFY_LOG" RENAME TO "QH_DAT_WATCH_NOTIFY_LOG"; +ALTER TABLE "DC_WATCH_PERIOD" RENAME TO "QH_DAT_WATCH_PERIOD"; +ALTER TABLE "DC_WATCH_PERIOD_PERSONAL" RENAME TO "QH_DAT_WATCH_PERIOD_PRI"; +ALTER TABLE "DC_WATCH_SET_INFO" RENAME TO "QH_DAT_WATCH_SET_INFO"; +ALTER TABLE "DC_WATCH_STAT_ALL" RENAME TO "QH_DAT_WATCH_STAT_ALL"; +ALTER TABLE "DC_WATCH_STAT_MAX_ID" RENAME TO "QH_DAT_WATCH_STAT_MAX_ID"; +ALTER TABLE "DC_WATCH_STAT_TODAY" RENAME TO "QH_DAT_WATCH_STAT_TODAY"; +ALTER TABLE "DC_WATCH_TASK" RENAME TO "QH_DAT_WATCH_TASKS"; +ALTER TABLE "DC_WATCH_TASK_CYCLE" RENAME TO "QH_DAT_WATCH_TASKS_CYCLE"; +ALTER TABLE "DC_WATCH_TASK_PERSONAL" RENAME TO "QH_DAT_WATCH_TASKS_PRI"; +ALTER TABLE "DC_WATCH_WARN_FLAG" RENAME TO "QH_DAT_WATCH_WARN_FLAG"; +ALTER TABLE "DC_WATCH_WARN_PERSONAL" RENAME TO "QH_DAT_WATCH_WARN_PRI"; +ALTER TABLE "SYS_ANNOUNCEMENT" RENAME TO "QH_SYW_ANNOUNCEMENT"; +ALTER TABLE "SYS_ANNOUNCEMENT_SEND" RENAME TO "QH_SYW_ANNOUNCEMENT_SEND"; +ALTER TABLE "SYS_CATEGORY" RENAME TO "QH_SYW_CATEGORY"; +ALTER TABLE "SYS_DATA_LOG" RENAME TO "QH_SYW_DATA_LOG"; +ALTER TABLE "SYS_DEPART" RENAME TO "QH_SYW_DEPART"; +ALTER TABLE "SYS_DEPART_PERMISSION" RENAME TO "QH_SYW_DEPART_PERMISSION"; +ALTER TABLE "SYS_DEPART_ROLE" RENAME TO "QH_SYW_DEPART_ROLE"; +ALTER TABLE "SYS_DEPART_ROLE_PERMISSION" RENAME TO "QH_SYW_DEPART_ROLE_PERM"; +ALTER TABLE "SYS_DEPART_ROLE_USER" RENAME TO "QH_SYW_DEPART_ROLE_USER"; +ALTER TABLE "SYS_DICT" RENAME TO "QH_SYW_DICT"; +ALTER TABLE "SYS_DICT_ITEM" RENAME TO "QH_SYW_DICT_ITEM"; +ALTER TABLE "SYS_FILL_RULE" RENAME TO "QH_SYW_FILL_RULE"; +ALTER TABLE "SYS_GATEWAY_ROUTE" RENAME TO "QH_SYW_GATEWAY_ROUTE"; +ALTER TABLE "SYS_LOG" RENAME TO "QH_SYW_LOG"; +ALTER TABLE "SYS_PERMISSION" RENAME TO "QH_SYW_PERMISSION"; +ALTER TABLE "SYS_PERMISSION_DATA_RULE" RENAME TO "QH_SYW_PERMISSION_DRULE"; +ALTER TABLE "SYS_POSITION" RENAME TO "QH_SYW_POSITION"; +ALTER TABLE "SYS_ROLE" RENAME TO "QH_SYW_ROLE"; +ALTER TABLE "SYS_ROLE_INDEX" RENAME TO "QH_SYW_ROLE_INDEX"; +ALTER TABLE "SYS_ROLE_PERMISSION" RENAME TO "QH_SYW_ROLE_PERMISSION"; +ALTER TABLE "SYS_SMS" RENAME TO "QH_SYW_SMS"; +ALTER TABLE "SYS_SMS_TEMPLATE" RENAME TO "QH_SYW_SMS_TEMPLATE"; +ALTER TABLE "SYS_USER" RENAME TO "QH_SYW_USER"; +ALTER TABLE "SYS_USER_DEPART" RENAME TO "QH_SYW_USER_DEPART"; +ALTER TABLE "SYS_USER_POSITION" RENAME TO "QH_SYW_USER_POSITION"; +ALTER TABLE "SYS_USER_ROLE" RENAME TO "QH_SYW_USER_ROLE"; + +-- 处理索引信息 +DROP INDEX "SYS_CATEGORY_IDX_SC_CODE"; +CREATE INDEX "IDX_SYW_CATEGORY_CODE" ON "QH_SYW_CATEGORY"("CODE"); +-- 删除并重建索引:SYS_ → SYW_ + +-- SYS_DATA_LOG_IDX_SDL_DATA_TABLE_ID (2列) +DROP INDEX "SYS_DATA_LOG_IDX_SDL_DATA_TABLE_ID"; +CREATE INDEX "SYW_DATA_LOG_IDX_SDL_DATA_TABLE_ID" + ON "QH_SYW_DATA_LOG"("DATA_TABLE", "DATA_ID"); + +-- SYS_DEPART_IDX_SD_DEPART_ORDER +DROP INDEX "SYS_DEPART_IDX_SD_DEPART_ORDER"; +CREATE INDEX "SYW_DEPART_IDX_SD_DEPART_ORDER" + ON "QH_SYW_DEPART"("DEPART_ORDER"); + +-- SYS_DEPART_IDX_SD_ORG_CODE +DROP INDEX "SYS_DEPART_IDX_SD_ORG_CODE"; +CREATE INDEX "SYW_DEPART_IDX_SD_ORG_CODE" + ON "QH_SYW_DEPART"("ORG_CODE"); + +-- SYS_DEPART_IDX_SD_PARENT_ID +DROP INDEX "SYS_DEPART_IDX_SD_PARENT_ID"; +CREATE INDEX "SYW_DEPART_IDX_SD_PARENT_ID" + ON "QH_SYW_DEPART"("PARENT_ID"); + +-- SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_PER_ID +DROP INDEX "SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_PER_ID"; +CREATE INDEX "SYW_DEPART_ROLE_PERMISSION_IDX_SDRP_PER_ID" + ON "QH_SYW_DEPART_ROLE_PERM"("PERMISSION_ID"); + +-- SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_ID +DROP INDEX "SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_ID"; +CREATE INDEX "SYW_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_ID" + ON "QH_SYW_DEPART_ROLE_PERM"("ROLE_ID"); + +-- SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_PER_ID (2列) +DROP INDEX "SYS_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_PER_ID"; +CREATE INDEX "SYW_DEPART_ROLE_PERMISSION_IDX_SDRP_ROLE_PER_ID" + ON "QH_SYW_DEPART_ROLE_PERM"("ROLE_ID", "PERMISSION_ID"); + +-- SYS_DICT_ITEM_IDX_SDI_DICT_VAL (2列) +DROP INDEX "SYS_DICT_ITEM_IDX_SDI_DICT_VAL"; +CREATE INDEX "SYW_DICT_ITEM_IDX_SDI_DICT_VAL" + ON "QH_SYW_DICT_ITEM"("DICT_ID", "ITEM_VALUE"); + +-- SYS_DICT_ITEM_IDX_SDI_ROLE_DICT_ID +DROP INDEX "SYS_DICT_ITEM_IDX_SDI_ROLE_DICT_ID"; +CREATE INDEX "SYW_DICT_ITEM_IDX_SDI_ROLE_DICT_ID" + ON "QH_SYW_DICT_ITEM"("DICT_ID"); + +-- SYS_DICT_ITEM_IDX_SDI_ROLE_SORT_ORDER +DROP INDEX "SYS_DICT_ITEM_IDX_SDI_ROLE_SORT_ORDER"; +CREATE INDEX "SYW_DICT_ITEM_IDX_SDI_ROLE_SORT_ORDER" + ON "QH_SYW_DICT_ITEM"("SORT_ORDER"); + +-- SYS_DICT_ITEM_IDX_SDI_STATUS +DROP INDEX "SYS_DICT_ITEM_IDX_SDI_STATUS"; +CREATE INDEX "SYW_DICT_ITEM_IDX_SDI_STATUS" + ON "QH_SYW_DICT_ITEM"("STATUS"); + +-- SYS_LOG_IDX_SL_CREATE_TIME +DROP INDEX "SYS_LOG_IDX_SL_CREATE_TIME"; +CREATE INDEX "SYW_LOG_IDX_SL_CREATE_TIME" + ON "QH_SYW_LOG"("CREATE_TIME"); + +-- SYS_LOG_IDX_SL_LOG_TYPE +DROP INDEX "SYS_LOG_IDX_SL_LOG_TYPE"; +CREATE INDEX "SYW_LOG_IDX_SL_LOG_TYPE" + ON "QH_SYW_LOG"("LOG_TYPE"); + +-- SYS_LOG_IDX_SL_OPERATE_TYPE +DROP INDEX "SYS_LOG_IDX_SL_OPERATE_TYPE"; +CREATE INDEX "SYW_LOG_IDX_SL_OPERATE_TYPE" + ON "QH_SYW_LOG"("OPERATE_TYPE"); + +-- SYS_LOG_IDX_SL_USERID +DROP INDEX "SYS_LOG_IDX_SL_USERID"; +CREATE INDEX "SYW_LOG_IDX_SL_USERID" + ON "QH_SYW_LOG"("USERID"); + +-- SYS_PERMISSION_DATA_RULE_IDX_SPDR_PERMISSION_ID +DROP INDEX "SYS_PERMISSION_DATA_RULE_IDX_SPDR_PERMISSION_ID"; +CREATE INDEX "SYW_PERMISSION_DATA_RULE_IDX_SPDR_PERMISSION_ID" + ON "QH_SYW_PERMISSION_DRULE"("PERMISSION_ID"); + +-- SYS_PERMISSION_INDEX_MENU_HIDDEN +DROP INDEX "SYS_PERMISSION_INDEX_MENU_HIDDEN"; +CREATE INDEX "SYW_PERMISSION_INDEX_MENU_HIDDEN" + ON "QH_SYW_PERMISSION"("HIDDEN"); + +-- SYS_PERMISSION_INDEX_MENU_STATUS +DROP INDEX "SYS_PERMISSION_INDEX_MENU_STATUS"; +CREATE INDEX "SYW_PERMISSION_INDEX_MENU_STATUS" + ON "QH_SYW_PERMISSION"("STATUS"); + +-- SYS_PERMISSION_INDEX_MENU_TYPE +DROP INDEX "SYS_PERMISSION_INDEX_MENU_TYPE"; +CREATE INDEX "SYW_PERMISSION_INDEX_MENU_TYPE" + ON "QH_SYW_PERMISSION"("MENU_TYPE"); + +-- SYS_ROLE_IDX_SR_ROLE_CODE +DROP INDEX "SYS_ROLE_IDX_SR_ROLE_CODE"; +CREATE INDEX "SYW_ROLE_IDX_SR_ROLE_CODE" + ON "QH_SYW_ROLE"("ROLE_CODE"); + +-- SYS_ROLE_PERMISSION_IDX_SRP_PERMISSION_ID +DROP INDEX "SYS_ROLE_PERMISSION_IDX_SRP_PERMISSION_ID"; +CREATE INDEX "SYW_ROLE_PERMISSION_IDX_SRP_PERMISSION_ID" + ON "QH_SYW_ROLE_PERMISSION"("PERMISSION_ID"); + +-- SYS_ROLE_PERMISSION_IDX_SRP_ROLE_ID +DROP INDEX "SYS_ROLE_PERMISSION_IDX_SRP_ROLE_ID"; +CREATE INDEX "SYW_ROLE_PERMISSION_IDX_SRP_ROLE_ID" + ON "QH_SYW_ROLE_PERMISSION"("ROLE_ID"); + +-- SYS_ROLE_PERMISSION_IDX_SRP_ROLE_PER_ID (2列) +DROP INDEX "SYS_ROLE_PERMISSION_IDX_SRP_ROLE_PER_ID"; +CREATE INDEX "SYW_ROLE_PERMISSION_IDX_SRP_ROLE_PER_ID" + ON "QH_SYW_ROLE_PERMISSION"("ROLE_ID", "PERMISSION_ID"); + +-- SYS_SMS_IDX_SS_ES_RECEIVER +DROP INDEX "SYS_SMS_IDX_SS_ES_RECEIVER"; +CREATE INDEX "SYW_SMS_IDX_SS_ES_RECEIVER" + ON "QH_SYW_SMS"("ES_RECEIVER"); + +-- SYS_SMS_IDX_SS_ES_SEND_STATUS +DROP INDEX "SYS_SMS_IDX_SS_ES_SEND_STATUS"; +CREATE INDEX "SYW_SMS_IDX_SS_ES_SEND_STATUS" + ON "QH_SYW_SMS"("ES_SEND_STATUS"); + +-- SYS_SMS_IDX_SS_ES_SEND_TIME +DROP INDEX "SYS_SMS_IDX_SS_ES_SEND_TIME"; +CREATE INDEX "SYW_SMS_IDX_SS_ES_SEND_TIME" + ON "QH_SYW_SMS"("ES_SEND_TIME"); + +-- SYS_SMS_IDX_SS_ES_TYPE +DROP INDEX "SYS_SMS_IDX_SS_ES_TYPE"; +CREATE INDEX "SYW_SMS_IDX_SS_ES_TYPE" + ON "QH_SYW_SMS"("ES_TYPE"); + +-- SYS_USER_DEPART_IDX_SUD_DEP_ID +DROP INDEX "SYS_USER_DEPART_IDX_SUD_DEP_ID"; +CREATE INDEX "SYW_USER_DEPART_IDX_SUD_DEP_ID" + ON "QH_SYW_USER_DEPART"("DEP_ID"); + +-- SYS_USER_DEPART_IDX_SUD_USER_DEP_ID (2列) +DROP INDEX "SYS_USER_DEPART_IDX_SUD_USER_DEP_ID"; +CREATE INDEX "SYW_USER_DEPART_IDX_SUD_USER_DEP_ID" + ON "QH_SYW_USER_DEPART"("USER_ID", "DEP_ID"); + +-- SYS_USER_DEPART_IDX_SUD_USER_ID +DROP INDEX "SYS_USER_DEPART_IDX_SUD_USER_ID"; +CREATE INDEX "SYW_USER_DEPART_IDX_SUD_USER_ID" + ON "QH_SYW_USER_DEPART"("USER_ID"); + +-- SYS_USER_IDX_SU_DEL_FLAG +DROP INDEX "SYS_USER_IDX_SU_DEL_FLAG"; +CREATE INDEX "SYW_USER_IDX_SU_DEL_FLAG" + ON "QH_SYW_USER"("DEL_FLAG"); + +-- SYS_USER_IDX_SU_STATUS +DROP INDEX "SYS_USER_IDX_SU_STATUS"; +CREATE INDEX "SYW_USER_IDX_SU_STATUS" + ON "QH_SYW_USER"("STATUS"); + +-- SYS_USER_IDX_SU_USERNAME +DROP INDEX "SYS_USER_IDX_SU_USERNAME"; +CREATE INDEX "SYW_USER_IDX_SU_USERNAME" + ON "QH_SYW_USER"("USERNAME"); + +-- SYS_USER_POSITION_IDX_SUP_POSITION_ID +DROP INDEX "SYS_USER_POSITION_IDX_SUP_POSITION_ID"; +CREATE INDEX "SYW_USER_POSITION_IDX_SUP_POSITION_ID" + ON "QH_SYW_USER_POSITION"("POSITION_ID"); + +-- SYS_USER_POSITION_IDX_SUP_USER_ID +DROP INDEX "SYS_USER_POSITION_IDX_SUP_USER_ID"; +CREATE INDEX "SYW_USER_POSITION_IDX_SUP_USER_ID" + ON "QH_SYW_USER_POSITION"("USER_ID"); + +-- SYS_USER_POSITION_IDX_SUP_USER_POSITION_ID (2列) +DROP INDEX "SYS_USER_POSITION_IDX_SUP_USER_POSITION_ID"; +CREATE INDEX "SYW_USER_POSITION_IDX_SUP_USER_POSITION_ID" + ON "QH_SYW_USER_POSITION"("USER_ID", "POSITION_ID"); + +-- SYS_USER_ROLE_IDX_SUR_ROLE_ID +DROP INDEX "SYS_USER_ROLE_IDX_SUR_ROLE_ID"; +CREATE INDEX "SYW_USER_ROLE_IDX_SUR_ROLE_ID" + ON "QH_SYW_USER_ROLE"("ROLE_ID"); + +-- SYS_USER_ROLE_IDX_SUR_USER_ID +DROP INDEX "SYS_USER_ROLE_IDX_SUR_USER_ID"; +CREATE INDEX "SYW_USER_ROLE_IDX_SUR_USER_ID" + ON "QH_SYW_USER_ROLE"("USER_ID"); + +-- SYS_USER_ROLE_IDX_SUR_USER_ROLE_ID (2列) +DROP INDEX "SYS_USER_ROLE_IDX_SUR_USER_ROLE_ID"; +CREATE INDEX "SYW_USER_ROLE_IDX_SUR_USER_ROLE_ID" + ON "QH_SYW_USER_ROLE"("USER_ID", "ROLE_ID"); + + +-- 其他约束 +-- ========== 主键约束 (PRIMARY KEY) ========== + +-- QH_SYW_ANNOUNCEMENT +ALTER TABLE "QH_SYW_ANNOUNCEMENT" DROP CONSTRAINT "SYS_ANNOUNCEMENT_PRIMARY"; +ALTER TABLE "QH_SYW_ANNOUNCEMENT" ADD CONSTRAINT "SYW_ANNOUNCEMENT_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_CATEGORY +ALTER TABLE "QH_SYW_CATEGORY" DROP CONSTRAINT "SYS_CATEGORY_PRIMARY"; +ALTER TABLE "QH_SYW_CATEGORY" ADD CONSTRAINT "SYW_CATEGORY_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DATA_LOG +ALTER TABLE "QH_SYW_DATA_LOG" DROP CONSTRAINT "SYS_DATA_LOG_PRIMARY"; +ALTER TABLE "QH_SYW_DATA_LOG" ADD CONSTRAINT "SYW_DATA_LOG_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DEPART +ALTER TABLE "QH_SYW_DEPART" DROP CONSTRAINT "SYS_DEPART_PRIMARY"; +ALTER TABLE "QH_SYW_DEPART" ADD CONSTRAINT "SYW_DEPART_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DEPART_PERMISSION +ALTER TABLE "QH_SYW_DEPART_PERMISSION" DROP CONSTRAINT "SYS_DEPART_PERMISSION_PRIMARY"; +ALTER TABLE "QH_SYW_DEPART_PERMISSION" ADD CONSTRAINT "SYW_DEPART_PERMISSION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DEPART_ROLE +ALTER TABLE "QH_SYW_DEPART_ROLE" DROP CONSTRAINT "SYS_DEPART_ROLE_PRIMARY"; +ALTER TABLE "QH_SYW_DEPART_ROLE" ADD CONSTRAINT "SYW_DEPART_ROLE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DEPART_ROLE_PERM +ALTER TABLE "QH_SYW_DEPART_ROLE_PERM" DROP CONSTRAINT "SYS_DEPART_ROLE_PERMISSION_PRIMARY"; +ALTER TABLE "QH_SYW_DEPART_ROLE_PERM" ADD CONSTRAINT "SYW_DEPART_ROLE_PERMISSION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DEPART_ROLE_USER +ALTER TABLE "QH_SYW_DEPART_ROLE_USER" DROP CONSTRAINT "SYS_DEPART_ROLE_USER_PRIMARY"; +ALTER TABLE "QH_SYW_DEPART_ROLE_USER" ADD CONSTRAINT "SYW_DEPART_ROLE_USER_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DICT +ALTER TABLE "QH_SYW_DICT" DROP CONSTRAINT "SYS_DICT_PRIMARY"; +ALTER TABLE "QH_SYW_DICT" ADD CONSTRAINT "SYW_DICT_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_DICT_ITEM +ALTER TABLE "QH_SYW_DICT_ITEM" DROP CONSTRAINT "SYS_DICT_ITEM_PRIMARY"; +ALTER TABLE "QH_SYW_DICT_ITEM" ADD CONSTRAINT "SYW_DICT_ITEM_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_FILL_RULE +ALTER TABLE "QH_SYW_FILL_RULE" DROP CONSTRAINT "SYS_FILL_RULE_PRIMARY"; +ALTER TABLE "QH_SYW_FILL_RULE" ADD CONSTRAINT "SYW_FILL_RULE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_GATEWAY_ROUTE +ALTER TABLE "QH_SYW_GATEWAY_ROUTE" DROP CONSTRAINT "SYS_GATEWAY_ROUTE_PRIMARY"; +ALTER TABLE "QH_SYW_GATEWAY_ROUTE" ADD CONSTRAINT "SYW_GATEWAY_ROUTE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_LOG +ALTER TABLE "QH_SYW_LOG" DROP CONSTRAINT "SYS_LOG_PRIMARY"; +ALTER TABLE "QH_SYW_LOG" ADD CONSTRAINT "SYW_LOG_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_PERMISSION +ALTER TABLE "QH_SYW_PERMISSION" DROP CONSTRAINT "SYS_PERMISSION_PRIMARY"; +ALTER TABLE "QH_SYW_PERMISSION" ADD CONSTRAINT "SYW_PERMISSION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_PERMISSION_DRULE +ALTER TABLE "QH_SYW_PERMISSION_DRULE" DROP CONSTRAINT "SYS_PERMISSION_DATA_RULE_PRIMARY"; +ALTER TABLE "QH_SYW_PERMISSION_DRULE" ADD CONSTRAINT "SYW_PERMISSION_DATA_RULE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_POSITION +ALTER TABLE "QH_SYW_POSITION" DROP CONSTRAINT "SYS_POSITION_PRIMARY"; +ALTER TABLE "QH_SYW_POSITION" ADD CONSTRAINT "SYW_POSITION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_ROLE +ALTER TABLE "QH_SYW_ROLE" DROP CONSTRAINT "SYS_ROLE_PRIMARY"; +ALTER TABLE "QH_SYW_ROLE" ADD CONSTRAINT "SYW_ROLE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_ROLE_INDEX +ALTER TABLE "QH_SYW_ROLE_INDEX" DROP CONSTRAINT "SYS_ROLE_INDEX_PRIMARY"; +ALTER TABLE "QH_SYW_ROLE_INDEX" ADD CONSTRAINT "SYW_ROLE_INDEX_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_ROLE_PERMISSION +ALTER TABLE "QH_SYW_ROLE_PERMISSION" DROP CONSTRAINT "SYS_ROLE_PERMISSION_PRIMARY"; +ALTER TABLE "QH_SYW_ROLE_PERMISSION" ADD CONSTRAINT "SYW_ROLE_PERMISSION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_SMS +ALTER TABLE "QH_SYW_SMS" DROP CONSTRAINT "SYS_SMS_PRIMARY"; +ALTER TABLE "QH_SYW_SMS" ADD CONSTRAINT "SYW_SMS_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_SMS_TEMPLATE +ALTER TABLE "QH_SYW_SMS_TEMPLATE" DROP CONSTRAINT "SYS_SMS_TEMPLATE_PRIMARY"; +ALTER TABLE "QH_SYW_SMS_TEMPLATE" ADD CONSTRAINT "SYW_SMS_TEMPLATE_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_USER +ALTER TABLE "QH_SYW_USER" DROP CONSTRAINT "SYS_USER_PRIMARY"; +ALTER TABLE "QH_SYW_USER" ADD CONSTRAINT "SYW_USER_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_USER_DEPART +ALTER TABLE "QH_SYW_USER_DEPART" DROP CONSTRAINT "SYS_USER_DEPART_PRIMARY"; +ALTER TABLE "QH_SYW_USER_DEPART" ADD CONSTRAINT "SYW_USER_DEPART_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_USER_POSITION +ALTER TABLE "QH_SYW_USER_POSITION" DROP CONSTRAINT "SYS_USER_POSITION_PRIMARY"; +ALTER TABLE "QH_SYW_USER_POSITION" ADD CONSTRAINT "SYW_USER_POSITION_PRIMARY" PRIMARY KEY ("ID"); + +-- QH_SYW_USER_ROLE +ALTER TABLE "QH_SYW_USER_ROLE" DROP CONSTRAINT "SYS_USER_ROLE_PRIMARY"; +ALTER TABLE "QH_SYW_USER_ROLE" ADD CONSTRAINT "SYW_USER_ROLE_PRIMARY" PRIMARY KEY ("ID"); + + +-- ========== 唯一约束 (UNIQUE) ========== + +-- QH_SYW_CATEGORY (CODE) +ALTER TABLE "QH_SYW_CATEGORY" DROP CONSTRAINT "SYS_CATEGORY_INDEX_CODE"; +ALTER TABLE "QH_SYW_CATEGORY" ADD CONSTRAINT "SYW_CATEGORY_INDEX_CODE" UNIQUE ("CODE"); + +-- QH_SYW_DEPART (ORG_CODE) +ALTER TABLE "QH_SYW_DEPART" DROP CONSTRAINT "SYS_DEPART_UNIQ_DEPART_ORG_CODE"; +ALTER TABLE "QH_SYW_DEPART" ADD CONSTRAINT "SYW_DEPART_UNIQ_DEPART_ORG_CODE" UNIQUE ("ORG_CODE"); + +-- QH_SYW_DICT (DICT_CODE) +ALTER TABLE "QH_SYW_DICT" DROP CONSTRAINT "SYS_DICT_UK_SD_DICT_CODE"; +ALTER TABLE "QH_SYW_DICT" ADD CONSTRAINT "SYW_DICT_UK_SD_DICT_CODE" UNIQUE ("DICT_CODE"); + +-- QH_SYW_FILL_RULE (RULE_CODE) +ALTER TABLE "QH_SYW_FILL_RULE" DROP CONSTRAINT "SYS_FILL_RULE_UK_SFR_RULE_CODE"; +ALTER TABLE "QH_SYW_FILL_RULE" ADD CONSTRAINT "SYW_FILL_RULE_UK_SFR_RULE_CODE" UNIQUE ("RULE_CODE"); + +-- QH_SYW_POSITION (CODE) +ALTER TABLE "QH_SYW_POSITION" DROP CONSTRAINT "SYS_POSITION_UNIQ_CODE"; +ALTER TABLE "QH_SYW_POSITION" ADD CONSTRAINT "SYW_POSITION_UNIQ_CODE" UNIQUE ("CODE"); + +-- QH_SYW_ROLE (ROLE_CODE) +ALTER TABLE "QH_SYW_ROLE" DROP CONSTRAINT "SYS_ROLE_UNIQ_SYS_ROLE_ROLE_CODE"; +ALTER TABLE "QH_SYW_ROLE" ADD CONSTRAINT "SYW_ROLE_UNIQ_SYS_ROLE_ROLE_CODE" UNIQUE ("ROLE_CODE"); + +-- QH_SYW_SMS_TEMPLATE (TEMPLATE_CODE) +ALTER TABLE "QH_SYW_SMS_TEMPLATE" DROP CONSTRAINT "SYS_SMS_TEMPLATE_UK_SST_TEMPLATE_CODE"; +ALTER TABLE "QH_SYW_SMS_TEMPLATE" ADD CONSTRAINT "SYW_SMS_TEMPLATE_UK_SST_TEMPLATE_CODE" UNIQUE ("TEMPLATE_CODE"); + +-- QH_SYW_USER (EMAIL) +ALTER TABLE "QH_SYW_USER" DROP CONSTRAINT "SYS_USER_UNIQ_SYS_USER_EMAIL"; +ALTER TABLE "QH_SYW_USER" ADD CONSTRAINT "SYW_USER_UNIQ_SYS_USER_EMAIL" UNIQUE ("EMAIL"); + +-- QH_SYW_USER (PHONE) +ALTER TABLE "QH_SYW_USER" DROP CONSTRAINT "SYS_USER_UNIQ_SYS_USER_PHONE"; +ALTER TABLE "QH_SYW_USER" ADD CONSTRAINT "SYW_USER_UNIQ_SYS_USER_PHONE" UNIQUE ("PHONE"); + +-- QH_SYW_USER (USERNAME) +ALTER TABLE "QH_SYW_USER" DROP CONSTRAINT "SYS_USER_UNIQ_SYS_USER_USERNAME"; +ALTER TABLE "QH_SYW_USER" ADD CONSTRAINT "SYW_USER_UNIQ_SYS_USER_USERNAME" UNIQUE ("USERNAME"); + +-- QH_SYW_USER (WORK_NO) +ALTER TABLE "QH_SYW_USER" DROP CONSTRAINT "SYS_USER_UNIQ_SYS_USER_WORK_NO"; +ALTER TABLE "QH_SYW_USER" ADD CONSTRAINT "SYW_USER_UNIQ_SYS_USER_WORK_NO" UNIQUE ("WORK_NO"); + + +update QH_SYW_PERMISSION set IS_LEAF = '0' where id = '1783054127343742978'; + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2030887284245504002', '190c2b43bec6a5f7a4194a85db67d96a', '查询角色用户', NULL, NULL, 0, NULL, NULL, 2, 'system:user:queryUserRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-09 14:03:55', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033422388611641346', '3f915b2769fc80648e92d04e84ca059d', '冻结', NULL, NULL, 0, NULL, NULL, 2, 'system:user:frozenBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-16 13:57:31', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033751527180857345', '45c966826eeff4c99b8f8ebfe74511fc', '添加部门', NULL, NULL, 0, NULL, NULL, 2, 'system:depart:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-17 11:45:24', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033785577039851521', '190c2b43bec6a5f7a4194a85db67d96a', '删除用户角色', NULL, NULL, 0, NULL, NULL, 2, 'system:user:deleteRole', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-17 14:00:42', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033793328256249857', '45c966826eeff4c99b8f8ebfe74511fc', '删除部门', NULL, NULL, 0, NULL, NULL, 2, 'system:depart:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-17 14:31:30', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033793432971243521', '45c966826eeff4c99b8f8ebfe74511fc', '修改部门', NULL, NULL, 0, NULL, NULL, 2, 'system:depart:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-17 14:31:55', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2033835702474895361', NULL, '测试', 'https://www.xjrmyy.com/#/index', 'https://www.xjrmyy.com/#/index', 1, '', NULL, 0, NULL, '0', 1, 0, 'ant-design:aim-outlined', 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-17 17:19:53', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, NULL, 0); + +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879007507951617', '1783054127343742978', '新增', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:25:36', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879630936715265', '1783054127343742978', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:28:05', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879686771290114', '1783054127343742978', '删除', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:28:18', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879767675219970', '1783054127343742978', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:28:38', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879833274134529', '1783054127343742978', '导出', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:28:53', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); +INSERT INTO "QH_SYW_PERMISSION" ("ID", "PARENT_ID", "NAME", "URL", "COMPONENT", "IS_ROUTE", "COMPONENT_NAME", "REDIRECT", "MENU_TYPE", "PERMS", "PERMS_TYPE", "SORT_NO", "ALWAYS_SHOW", "ICON", "IS_LEAF", "KEEP_ALIVE", "HIDDEN", "HIDE_TAB", "DESCRIPTION", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME", "DEL_FLAG", "RULE_FLAG", "STATUS", "INTERNAL_OR_EXTERNAL") VALUES ('2034879903734247425', '1783054127343742978', '导入', NULL, NULL, 0, NULL, NULL, 2, 'watch:dc_watch_device_version_his:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', TO_TIMESTAMP('2026-03-20 14:29:10', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL, 0, 0, '1', 0); + + + +CREATE TABLE `QH_WAT_VALID` ( + `id` varchar(36) COLLATE utf8mb4_general_ci NOT NULL, + `watch_no` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '工具编码', + `valid_flag` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否有效', + `create_time` datetime DEFAULT NULL COMMENT '创建日期', + PRIMARY KEY (`id`), + KEY `qwv_valid_flag` (`valid_flag`), + KEY `qwv_watch_no` (`watch_no`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; \ No newline at end of file diff --git a/体检相关表说明20260520.xlsx b/体检相关表说明20260520.xlsx new file mode 100644 index 0000000..0ecee19 Binary files /dev/null and b/体检相关表说明20260520.xlsx differ