diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260615__bug613_add_return_fields_to_device_request.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260615__bug613_add_return_fields_to_device_request.sql deleted file mode 100644 index 60b2beb4a..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V20260615__bug613_add_return_fields_to_device_request.sql +++ /dev/null @@ -1,11 +0,0 @@ --- Bug #613: 医嘱退回流程 - 耗材请求表增加退回相关字段 --- 与 med_medication_request 和 wor_service_request 保持一致 - -ALTER TABLE wor_device_request - ADD COLUMN IF NOT EXISTS back_reason VARCHAR(500), - ADD COLUMN IF NOT EXISTS performer_check_id BIGINT, - ADD COLUMN IF NOT EXISTS check_time TIMESTAMP; - -COMMENT ON COLUMN wor_device_request.back_reason IS '退回原因'; -COMMENT ON COLUMN wor_device_request.performer_check_id IS '校对人/退回护士'; -COMMENT ON COLUMN wor_device_request.check_time IS '校对时间/退回时间'; diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_1__patient_missing_fields.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_1__patient_missing_fields.sql deleted file mode 100644 index 285f163e4..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_1__patient_missing_fields.sql +++ /dev/null @@ -1,25 +0,0 @@ --- Bug #705: 患者管理修改后字段回显丢失修复 --- 添加邮政编码、户籍地址、监护人信息、患者来源等缺失字段到adm_patient表 - --- 邮政编码 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS postal_code VARCHAR(10); - --- 户籍地址 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS hukou_address VARCHAR(500); - --- 监护人信息 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_name VARCHAR(50); -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_relation INTEGER; -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_phone VARCHAR(20); -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_id_type VARCHAR(10); -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_id_no VARCHAR(30); -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS guardian_address VARCHAR(500); - --- 患者来源 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS patient_derived VARCHAR(50); - --- 文化程度 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS education_level VARCHAR(20); - --- 单位地址 -ALTER TABLE adm_patient ADD COLUMN IF NOT EXISTS company_address VARCHAR(500); diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_2__bug704_education_level_dict.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_2__bug704_education_level_dict.sql deleted file mode 100644 index a34cab267..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608_2__bug704_education_level_dict.sql +++ /dev/null @@ -1,48 +0,0 @@ --- Bug #704: 添加文化程度字典类型和字典数据 --- 问题:修改患者弹窗"文化程度"下拉无数据,因为 sys_dict_type 中缺少 education_level 字典类型 - --- 1. 添加字典类型 -INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) -SELECT '文化程度', 'education_level', '0', 'admin', CURRENT_TIMESTAMP, '患者文化程度字典' -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'education_level'); - --- 2. 添加字典数据(按编码排序) -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 1, '小学毕业', '3919', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3919'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 2, '初中毕业', '3915', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3915'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 3, '普通高中毕业', '3920', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3920'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 4, '职业高中毕业', '3918', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3918'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 5, '技工学校毕业', '3917', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3917'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 6, '中等专科毕业', '3921', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3921'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 7, '大学专科毕业', '3911', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3911'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 8, '大学本科', '3912', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3912'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 9, '硕士研究生', '3913', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3913'); - -INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, status, create_by, create_time) -SELECT 10, '博士研究生', '3914', 'education_level', '0', 'admin', CURRENT_TIMESTAMP -WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'education_level' AND dict_value = '3914'); diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608__fix_hisbaseentity_columns.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608__fix_hisbaseentity_columns.sql deleted file mode 100644 index 1f82fc228..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0608__fix_hisbaseentity_columns.sql +++ /dev/null @@ -1,88 +0,0 @@ --- 修复HisBaseEntity列缺失问题 (2026-06-08) --- 全链路测试发现的DB字段缺失修复 - --- 1. 创建adm_instrument表(完全缺失) -CREATE TABLE IF NOT EXISTS adm_instrument ( - id BIGINT PRIMARY KEY, - instrument_code VARCHAR(64), - instrument_name VARCHAR(128), - instrument_main_code VARCHAR(64), - instrument_type_enum INTEGER, - instrument_model VARCHAR(128), - manufacturer VARCHAR(256), - serial_number VARCHAR(128), - purchasing_company VARCHAR(256), - contact_person VARCHAR(64), - purchase_date TIMESTAMP, - original_price NUMERIC(12,2), - transaction_price NUMERIC(12,2), - installation_date TIMESTAMP, - installation_person VARCHAR(64), - maintenance_person VARCHAR(64), - org_id BIGINT, - identification_person VARCHAR(64), - recorded_temperature VARCHAR(32), - accessories TEXT, - instrument_status_enum INTEGER DEFAULT 0, - damage_report_date TIMESTAMP, - recheckable_instrument_enum INTEGER DEFAULT 0, - usage_status_enum INTEGER DEFAULT 1, - decommission_reason TEXT, - remarks TEXT, - create_by VARCHAR(64), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_by VARCHAR(64), - update_time TIMESTAMP, - tenant_id INTEGER DEFAULT 1, - delete_flag VARCHAR(1) DEFAULT '0' -); - --- 2. 修复radiology_statistics列缺失 -ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; -ALTER TABLE radiology_statistics ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0'; - --- 3. 修复mr_drg_grouping列缺失 -ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE mr_drg_grouping ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; - --- 4. 修复icd10_code列缺失 -ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; -ALTER TABLE icd10_code ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0'; - --- 5. 修复lab_result_comparison列缺失 -ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE lab_result_comparison ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; - --- 6. 修复radiology_image_comparison列缺失 -ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE radiology_image_comparison ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; - --- 7. 修复adm_observation_definition列缺失 -ALTER TABLE adm_observation_definition ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1; - --- 8. 修复adm_specimen_definition列缺失 -ALTER TABLE adm_specimen_definition ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1; - --- 9. 修复reconstruction_task列缺失 -ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE reconstruction_task ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; - --- 10. 修复reconstruction_result列缺失 -ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; -ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS tenant_id INTEGER DEFAULT 1; -ALTER TABLE reconstruction_result ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0'; - --- 11. 修复reconstruction_report列缺失 -ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS create_by VARCHAR(64); -ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS update_by VARCHAR(64); -ALTER TABLE reconstruction_report ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0611__fix_prescription_intercept_log.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0611__fix_prescription_intercept_log.sql deleted file mode 100644 index 09d408400..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0611__fix_prescription_intercept_log.sql +++ /dev/null @@ -1,7 +0,0 @@ --- Fix: prescription_intercept_log missing HisBaseEntity columns -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS delete_flag VARCHAR(1) DEFAULT '0'; -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS create_by VARCHAR(64) DEFAULT ''; -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP; -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS update_by VARCHAR(64) DEFAULT ''; -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; -ALTER TABLE prescription_intercept_log ADD COLUMN IF NOT EXISTS tenant_id BIGINT DEFAULT 1; \ No newline at end of file diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0612__fix_clinical_pathway_execution_hisbase_columns.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0612__fix_clinical_pathway_execution_hisbase_columns.sql deleted file mode 100644 index 9db177117..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0612__fix_clinical_pathway_execution_hisbase_columns.sql +++ /dev/null @@ -1,5 +0,0 @@ --- Fix Bug #748: clinical_pathway_execution 缺少 HisBaseEntity 列 --- V43 迁移因版本号低于已执行的 V2026_0608 而被 Flyway 跳过,此处重新添加缺失列 -ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS create_by VARCHAR(64) DEFAULT ''; -ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS update_by VARCHAR(64) DEFAULT ''; -ALTER TABLE clinical_pathway_execution ADD COLUMN IF NOT EXISTS update_time TIMESTAMP; diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_1__empi_core_tables.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_1__empi_core_tables.sql deleted file mode 100644 index 4ae48bae9..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_1__empi_core_tables.sql +++ /dev/null @@ -1,53 +0,0 @@ --- V2026_0616_1: EMPI核心表 — empi_person + empi_person_id_mapping --- 补充 V20 中遗漏的两张EMPI核心表 - --- 1. EMPI主索引表(全局患者主记录) -CREATE TABLE IF NOT EXISTS empi_person ( - id BIGSERIAL PRIMARY KEY, - global_id VARCHAR(32) NOT NULL, - id_card_no VARCHAR(20), - patient_name VARCHAR(50), - gender VARCHAR(10), - birth_date DATE, - phone VARCHAR(20), - address TEXT, - merge_status VARCHAR(20) NOT NULL DEFAULT 'ACTIVE', - source_system VARCHAR(50), - create_by VARCHAR(64), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_by VARCHAR(64), - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - tenant_id INT DEFAULT 0, - delete_flag VARCHAR(1) NOT NULL DEFAULT '0' -); -COMMENT ON TABLE empi_person IS 'EMPI患者主索引'; -COMMENT ON COLUMN empi_person.global_id IS '全局唯一患者ID'; -COMMENT ON COLUMN empi_person.merge_status IS '合并状态(ACTIVE/MERGED)'; -CREATE UNIQUE INDEX IF NOT EXISTS idx_ep_global ON empi_person(global_id); -CREATE INDEX IF NOT EXISTS idx_ep_idcard ON empi_person(id_card_no); -CREATE INDEX IF NOT EXISTS idx_ep_name ON empi_person(patient_name); - --- 2. EMPI ID映射表(全局ID与院内系统患者ID的映射关系) -CREATE TABLE IF NOT EXISTS empi_person_id_mapping ( - id BIGSERIAL PRIMARY KEY, - global_id VARCHAR(32) NOT NULL, - local_patient_id BIGINT NOT NULL, - source_system VARCHAR(50) NOT NULL, - id_type VARCHAR(20) NOT NULL, - id_value VARCHAR(100) NOT NULL, - create_by VARCHAR(64), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_by VARCHAR(64), - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - tenant_id INT DEFAULT 0, - delete_flag VARCHAR(1) NOT NULL DEFAULT '0' -); -COMMENT ON TABLE empi_person_id_mapping IS 'EMPI患者ID映射表'; -COMMENT ON COLUMN empi_person_id_mapping.global_id IS 'EMPI全局患者ID'; -COMMENT ON COLUMN empi_person_id_mapping.local_patient_id IS '院内患者ID'; -COMMENT ON COLUMN empi_person_id_mapping.source_system IS '来源系统编码'; -COMMENT ON COLUMN empi_person_id_mapping.id_type IS '标识类型(MRN/INSURANCE/CARD等)'; -COMMENT ON COLUMN empi_person_id_mapping.id_value IS '标识值'; -CREATE INDEX IF NOT EXISTS idx_epim_global ON empi_person_id_mapping(global_id); -CREATE INDEX IF NOT EXISTS idx_epim_local ON empi_person_id_mapping(local_patient_id); -CREATE INDEX IF NOT EXISTS idx_epim_source ON empi_person_id_mapping(source_system); \ No newline at end of file diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql deleted file mode 100644 index 5ad7c86b1..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0616_2__fix_empi_merge_log_create_time.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE empi_merge_log ADD COLUMN IF NOT EXISTS create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP; \ No newline at end of file diff --git a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0617__bug684_fix_surgery_status_dict_duplicates.sql b/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0617__bug684_fix_surgery_status_dict_duplicates.sql deleted file mode 100644 index b8c0cff64..000000000 --- a/healthlink-his-server/healthlink-his-application/src/main/resources/db/migration/V2026_0617__bug684_fix_surgery_status_dict_duplicates.sql +++ /dev/null @@ -1,15 +0,0 @@ --- Bug #684: 手术状态下拉框有重复 --- 原因:sys_dict_data 中 surgery_status 类型存在重复记录(每个 dict_value 有3条) --- 修复:删除重复记录,每个 dict_value 只保留 dict_code 最小的一条 - -DELETE FROM sys_dict_data -WHERE dict_code IN ( - SELECT dict_code - FROM ( - SELECT dict_code, - ROW_NUMBER() OVER (PARTITION BY dict_type, dict_value ORDER BY dict_code ASC) as rn - FROM sys_dict_data - WHERE dict_type = 'surgery_status' - ) t - WHERE rn > 1 -);