Merge develop into test - sync latest code
This commit is contained in:
105
analyze_empty_data.js
Normal file
105
analyze_empty_data.js
Normal file
@@ -0,0 +1,105 @@
|
||||
const { Pool } = require('pg');
|
||||
const pool = new Pool({
|
||||
host: '47.116.196.11',
|
||||
port: 15432,
|
||||
database: 'postgresql',
|
||||
user: 'postgresql',
|
||||
password: 'Jchl1528'
|
||||
});
|
||||
|
||||
async function analyze() {
|
||||
try {
|
||||
// 1. 检查申请科室ID在adm_organization中是否存在
|
||||
console.log('=== 分析申请科室ID是否有效 ===');
|
||||
const deptResult = await pool.query(`
|
||||
SELECT DISTINCT s.apply_dept_id
|
||||
FROM hisdev.cli_surgery s
|
||||
WHERE s.delete_flag = '0'
|
||||
AND (s.apply_dept_name IS NULL OR s.apply_dept_name = '')
|
||||
AND s.apply_dept_id IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM hisdev.adm_organization o WHERE o.id = s.apply_dept_id
|
||||
)
|
||||
`);
|
||||
console.log(`申请科室ID无效的记录数: ${deptResult.rows.length}`);
|
||||
if (deptResult.rows.length > 0) {
|
||||
console.log('无效的apply_dept_id:', deptResult.rows.map(r => r.apply_dept_id));
|
||||
}
|
||||
|
||||
// 2. 检查主刀医生ID在sys_user中是否存在
|
||||
console.log('\n=== 分析主刀医生ID是否有效 ===');
|
||||
const surgeonResult = await pool.query(`
|
||||
SELECT DISTINCT s.main_surgeon_id
|
||||
FROM hisdev.cli_surgery s
|
||||
WHERE s.delete_flag = '0'
|
||||
AND (s.main_surgeon_name IS NULL OR s.main_surgeon_name = '')
|
||||
AND s.main_surgeon_id IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM hisdev.sys_user u WHERE u.user_id = s.main_surgeon_id
|
||||
)
|
||||
`);
|
||||
console.log(`主刀医生ID无效的记录数: ${surgeonResult.rows.length}`);
|
||||
if (surgeonResult.rows.length > 0) {
|
||||
console.log('无效的main_surgeon_id:', surgeonResult.rows.map(r => r.main_surgeon_id));
|
||||
}
|
||||
|
||||
// 3. 查看有ID但没有name的记录详情
|
||||
console.log('\n=== 有ID但Name为空的记录详情 ===');
|
||||
const detailResult = await pool.query(`
|
||||
SELECT
|
||||
s.id,
|
||||
s.surgery_no,
|
||||
s.apply_dept_id,
|
||||
s.main_surgeon_id,
|
||||
s.create_time,
|
||||
EXISTS (SELECT 1 FROM hisdev.adm_organization o WHERE o.id = s.apply_dept_id) as dept_exists,
|
||||
EXISTS (SELECT 1 FROM hisdev.sys_user u WHERE u.user_id = s.main_surgeon_id) as surgeon_exists
|
||||
FROM hisdev.cli_surgery s
|
||||
WHERE s.delete_flag = '0'
|
||||
AND (
|
||||
((s.apply_dept_name IS NULL OR s.apply_dept_name = '') AND s.apply_dept_id IS NOT NULL)
|
||||
OR
|
||||
((s.main_surgeon_name IS NULL OR s.main_surgeon_name = '') AND s.main_surgeon_id IS NOT NULL)
|
||||
)
|
||||
ORDER BY s.create_time DESC
|
||||
LIMIT 10
|
||||
`);
|
||||
console.log(JSON.stringify(detailResult.rows, null, 2));
|
||||
|
||||
// 4. 检查最近创建的记录为什么name为空
|
||||
console.log('\n=== 最近10条记录的创建情况 ===');
|
||||
const recentResult = await pool.query(`
|
||||
SELECT
|
||||
s.id,
|
||||
s.surgery_no,
|
||||
s.apply_dept_id,
|
||||
s.apply_dept_name,
|
||||
s.main_surgeon_id,
|
||||
s.main_surgeon_name,
|
||||
s.create_time,
|
||||
s.create_by,
|
||||
CASE
|
||||
WHEN s.apply_dept_id IS NULL THEN 'apply_dept_id为空'
|
||||
WHEN NOT EXISTS (SELECT 1 FROM hisdev.adm_organization o WHERE o.id = s.apply_dept_id) THEN 'apply_dept_id无效'
|
||||
ELSE 'apply_dept_id有效'
|
||||
END as dept_status,
|
||||
CASE
|
||||
WHEN s.main_surgeon_id IS NULL THEN 'main_surgeon_id为空'
|
||||
WHEN NOT EXISTS (SELECT 1 FROM hisdev.sys_user u WHERE u.user_id = s.main_surgeon_id) THEN 'main_surgeon_id无效'
|
||||
ELSE 'main_surgeon_id有效'
|
||||
END as surgeon_status
|
||||
FROM hisdev.cli_surgery s
|
||||
WHERE s.delete_flag = '0'
|
||||
ORDER BY s.create_time DESC
|
||||
LIMIT 10
|
||||
`);
|
||||
console.log(JSON.stringify(recentResult.rows, null, 2));
|
||||
|
||||
} catch (err) {
|
||||
console.error('分析失败:', err.message);
|
||||
} finally {
|
||||
pool.end();
|
||||
}
|
||||
}
|
||||
|
||||
analyze();
|
||||
Reference in New Issue
Block a user