wuzhen updat

This commit is contained in:
wuzhen committed 2025-07-30 23:24:43 +08:00
1 parent 3e4642c624
commit e4e4679da9
173 files changed
+37924 -325

No files matched your search

@@ -0,0 +1,85 @@
-- 修复项目申报表中申请人ID为空的问题
-- 日期: 2025-08-01
-- 说明: 检查并修复cw_project_application表中applicant_id和department_id为空的记录
-- 1. 查看当前有问题的记录
SELECT
id,
application_no,
project_name,
applicant_id,
applicant_name,
department_id,
department_name,
create_by,
approval_status
FROM cw_project_application
WHERE applicant_id IS NULL
OR applicant_id = 0
OR department_id IS NULL
OR department_id = 0
ORDER BY create_time DESC;
-- 2. 修复applicant_id为空的记录(使用create_by作为申请人ID)
UPDATE cw_project_application
SET applicant_id = create_by
WHERE (applicant_id IS NULL OR applicant_id = 0)
AND create_by IS NOT NULL
AND create_by > 0;
-- 3. 修复applicant_name为空的记录(从sys_user表获取用户名)
UPDATE cw_project_application cpa
INNER JOIN sys_user su ON cpa.applicant_id = su.user_id
SET cpa.applicant_name = su.user_name
WHERE (cpa.applicant_name IS NULL OR cpa.applicant_name = '')
AND cpa.applicant_id IS NOT NULL;
-- 4. 修复department_id为空的记录(从sys_user表获取部门ID)
UPDATE cw_project_application cpa
INNER JOIN sys_user su ON cpa.applicant_id = su.user_id
SET cpa.department_id = su.dept_id
WHERE (cpa.department_id IS NULL OR cpa.department_id = 0)
AND cpa.applicant_id IS NOT NULL
AND su.dept_id IS NOT NULL;
-- 5. 修复department_name为空的记录(从sys_dept表获取部门名称)
UPDATE cw_project_application cpa
INNER JOIN sys_dept sd ON cpa.department_id = sd.dept_id
SET cpa.department_name = sd.dept_name
WHERE (cpa.department_name IS NULL OR cpa.department_name = '')
AND cpa.department_id IS NOT NULL;
-- 6. 对于仍然无法修复的记录,设置为系统管理员(ID=1)
UPDATE cw_project_application
SET applicant_id = 1,
applicant_name = 'admin',
department_id = 103,
department_name = '研发部门'
WHERE applicant_id IS NULL
OR applicant_id = 0
OR department_id IS NULL
OR department_id = 0;
-- 7. 验证修复结果
SELECT
COUNT(*) as total_records,
COUNT(CASE WHEN applicant_id IS NULL OR applicant_id = 0 THEN 1 END) as null_applicant_id,
COUNT(CASE WHEN department_id IS NULL OR department_id = 0 THEN 1 END) as null_department_id,
COUNT(CASE WHEN applicant_name IS NULL OR applicant_name = '' THEN 1 END) as null_applicant_name,
COUNT(CASE WHEN department_name IS NULL OR department_name = '' THEN 1 END) as null_department_name
FROM cw_project_application;
-- 8. 显示修复后的记录
SELECT
id,
application_no,
project_name,
applicant_id,
applicant_name,
department_id,
department_name,
approval_status,
create_time
FROM cw_project_application
ORDER BY create_time DESC
LIMIT 10;