verify_qc_standard.sql 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. -- 验证质控标准和因子数据
  2. USE `pacsonline_new`;
  3. -- 1. 查看质控标准列表
  4. SELECT '===== 质控标准列表 =====' as '';
  5. SELECT
  6. id,
  7. standard_code,
  8. standard_name,
  9. standard_category,
  10. description,
  11. status
  12. FROM `qc_standard`
  13. WHERE id = 'STD_IMAGE_001';
  14. -- 2. 查看5个质控因子
  15. SELECT '===== 质控因子列表(影像质控5个维度)=====' as '';
  16. SELECT
  17. id,
  18. factor_code,
  19. factor_name,
  20. factor_category,
  21. factor_type,
  22. description
  23. FROM `qc_factor`
  24. WHERE id IN ('FACTOR_001', 'FACTOR_002', 'FACTOR_003', 'FACTOR_004', 'FACTOR_005')
  25. ORDER BY id;
  26. -- 3. 查看标准与因子的关联关系
  27. SELECT '===== 质控标准因子关联(每个因子20分,共100分)=====' as '';
  28. SELECT
  29. sf.id,
  30. s.standard_name,
  31. f.factor_name,
  32. f.factor_code,
  33. sf.check_rule,
  34. sf.pass_value,
  35. sf.weight
  36. FROM `qc_standard_factor` sf
  37. JOIN `qc_standard` s ON sf.standard_id = s.id
  38. JOIN `qc_factor` f ON sf.factor_id = f.id
  39. WHERE sf.standard_id = 'STD_IMAGE_001'
  40. ORDER BY sf.id;
  41. -- 4. 统计信息
  42. SELECT '===== 统计信息 =====' as '';
  43. SELECT
  44. '质控标准数量' as item,
  45. COUNT(*) as count
  46. FROM `qc_standard`
  47. WHERE id = 'STD_IMAGE_001'
  48. UNION ALL
  49. SELECT
  50. '质控因子数量' as item,
  51. COUNT(*) as count
  52. FROM `qc_factor`
  53. WHERE id IN ('FACTOR_001', 'FACTOR_002', 'FACTOR_003', 'FACTOR_004', 'FACTOR_005')
  54. UNION ALL
  55. SELECT
  56. '标准因子关联数量' as item,
  57. COUNT(*) as count
  58. FROM `qc_standard_factor`
  59. WHERE standard_id = 'STD_IMAGE_001';
  60. -- 5. 检查是否有缺失
  61. SELECT '===== 检查数据完整性 =====' as '';
  62. SELECT
  63. CASE
  64. WHEN (SELECT COUNT(*) FROM qc_standard WHERE id = 'STD_IMAGE_001') = 0
  65. THEN '❌ 质控标准 STD_IMAGE_001 不存在'
  66. ELSE '✅ 质控标准 STD_IMAGE_001 已存在'
  67. END as check_result
  68. UNION ALL
  69. SELECT
  70. CASE
  71. WHEN (SELECT COUNT(*) FROM qc_factor WHERE id IN ('FACTOR_001', 'FACTOR_002', 'FACTOR_003', 'FACTOR_004', 'FACTOR_005')) = 5
  72. THEN '✅ 5个质控因子全部存在'
  73. ELSE CONCAT('❌ 质控因子不完整,只有 ', (SELECT COUNT(*) FROM qc_factor WHERE id IN ('FACTOR_001', 'FACTOR_002', 'FACTOR_003', 'FACTOR_004', 'FACTOR_005')), ' 个')
  74. END as check_result
  75. UNION ALL
  76. SELECT
  77. CASE
  78. WHEN (SELECT COUNT(*) FROM qc_standard_factor WHERE standard_id = 'STD_IMAGE_001') = 5
  79. THEN '✅ 标准因子关联完整(5个)'
  80. ELSE CONCAT('❌ 标准因子关联不完整,只有 ', (SELECT COUNT(*) FROM qc_standard_factor WHERE standard_id = 'STD_IMAGE_001'), ' 个')
  81. END as check_result;