Merge develop into test - sync latest code
This commit is contained in:
45
sql/fix_apply_dept_name_null.sql
Normal file
45
sql/fix_apply_dept_name_null.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
-- 修复手术安排中申请科室名称为空的数据
|
||||
-- 执行时间:2026-03-31
|
||||
-- 说明:填充 cli_surgery 表中 apply_dept_name 为空的记录
|
||||
|
||||
-- 1. 查看当前申请科室名称的填充情况
|
||||
SELECT
|
||||
COUNT(*) as total_count,
|
||||
COUNT(apply_dept_id) as has_apply_dept_id_count,
|
||||
COUNT(apply_dept_name) as has_apply_dept_name_count,
|
||||
COUNT(*) - COUNT(apply_dept_name) as null_count
|
||||
FROM public.cli_surgery
|
||||
WHERE delete_flag = '0';
|
||||
|
||||
-- 2. 修复申请科室名称(关联 adm_organization 表)
|
||||
UPDATE public.cli_surgery s
|
||||
SET apply_dept_name = o.name
|
||||
FROM public.adm_organization o
|
||||
WHERE s.apply_dept_id = o.id
|
||||
AND s.apply_dept_name IS NULL
|
||||
AND s.delete_flag = '0';
|
||||
|
||||
-- 3. 对于 apply_dept_id 为空的记录,尝试从其他来源获取
|
||||
-- 例如从就诊记录中查找科室信息
|
||||
UPDATE public.cli_surgery s
|
||||
SET apply_dept_name = d.dept_name
|
||||
FROM public.adm_encounter e
|
||||
JOIN public.adm_department d ON e.dept_id = d.id
|
||||
WHERE s.encounter_id = e.id
|
||||
AND s.apply_dept_name IS NULL
|
||||
AND s.apply_dept_id IS NULL
|
||||
AND s.delete_flag = '0';
|
||||
|
||||
-- 4. 再次查询,验证修复结果
|
||||
SELECT
|
||||
id,
|
||||
surgery_no,
|
||||
patient_name,
|
||||
apply_dept_id,
|
||||
apply_dept_name,
|
||||
create_time
|
||||
FROM public.cli_surgery
|
||||
WHERE delete_flag = '0'
|
||||
AND (apply_dept_name IS NULL OR apply_dept_name = '')
|
||||
ORDER BY create_time DESC
|
||||
LIMIT 20;
|
||||
Reference in New Issue
Block a user