QcFactorMapper.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.zskk.qcns.modules.qc.mapper.QcFactorMapper">
  4. <!-- 结果映射 -->
  5. <resultMap id="FactorVOMap" type="com.zskk.qcns.modules.qc.response.QcFactorVO">
  6. <id column="id" property="id"/>
  7. <result column="factor_code" property="factorCode"/>
  8. <result column="factor_name" property="factorName"/>
  9. <result column="factor_category" property="factorCategory"/>
  10. <result column="factor_category_name" property="factorCategoryName"/>
  11. <result column="factor_type" property="factorType"/>
  12. <result column="description" property="description"/>
  13. <result column="check_rule" property="checkRule"/>
  14. <result column="data_source" property="dataSource"/>
  15. <result column="modality" property="modality"/>
  16. <result column="body_part" property="bodyPart"/>
  17. <result column="scan_type" property="scanType"/>
  18. <result column="weight" property="weight"/>
  19. <result column="enabled" property="enabled"/>
  20. <result column="status" property="status"/>
  21. <result column="standard_id" property="standardId"/>
  22. <result column="standard_name" property="standardName"/>
  23. <result column="sort_order" property="sortOrder"/>
  24. <result column="create_time" property="createTime"/>
  25. <result column="update_time" property="updateTime"/>
  26. </resultMap>
  27. <!-- 分页查询质控因子列表(包含标准名称和排序) -->
  28. <select id="selectFactorPageWithStandard" resultMap="FactorVOMap">
  29. SELECT
  30. f.id,
  31. f.factor_code,
  32. f.factor_name,
  33. f.factor_category,
  34. CASE f.factor_category
  35. WHEN 1 THEN '数据质控'
  36. WHEN 2 THEN '影像质控'
  37. WHEN 3 THEN '报告质控'
  38. ELSE '未知'
  39. END as factor_category_name,
  40. f.factor_type,
  41. f.description,
  42. f.check_rule,
  43. f.data_source,
  44. COALESCE(sf.modality, f.modality) as modality,
  45. COALESCE(sf.body_part, f.body_part) as body_part,
  46. COALESCE(sf.scan_type, f.scan_type) as scan_type,
  47. COALESCE(sf.weight, f.weight) as weight,
  48. f.enabled,
  49. f.status,
  50. sf.standard_id,
  51. s.standard_name,
  52. COALESCE(sf.sort_order, 0) as sort_order,
  53. f.create_time,
  54. f.update_time
  55. FROM qc_factor f
  56. LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
  57. LEFT JOIN qc_standard s ON sf.standard_id = s.id
  58. <where>
  59. f.status = 1
  60. <if test="factorName != null and factorName != ''">
  61. AND f.factor_name LIKE CONCAT('%', #{factorName}, '%')
  62. </if>
  63. <if test="factorCategory != null">
  64. AND f.factor_category = #{factorCategory}
  65. </if>
  66. <if test="enabled != null">
  67. AND f.enabled = #{enabled}
  68. </if>
  69. <if test="standardId != null and standardId != ''">
  70. AND sf.standard_id = #{standardId}
  71. </if>
  72. </where>
  73. ORDER BY sf.sort_order, f.create_time DESC
  74. </select>
  75. <!-- 根据ID查询质控因子详情(包含标准名称和排序) -->
  76. <select id="selectFactorByIdWithStandard" resultMap="FactorVOMap">
  77. SELECT
  78. f.id,
  79. f.factor_code,
  80. f.factor_name,
  81. f.factor_category,
  82. CASE f.factor_category
  83. WHEN 1 THEN '数据质控'
  84. WHEN 2 THEN '影像质控'
  85. WHEN 3 THEN '报告质控'
  86. ELSE '未知'
  87. END as factor_category_name,
  88. f.factor_type,
  89. f.description,
  90. f.check_rule,
  91. f.data_source,
  92. COALESCE(sf.modality, f.modality) as modality,
  93. COALESCE(sf.body_part, f.body_part) as body_part,
  94. COALESCE(sf.scan_type, f.scan_type) as scan_type,
  95. COALESCE(sf.weight, f.weight) as weight,
  96. f.enabled,
  97. f.status,
  98. sf.standard_id,
  99. s.standard_name,
  100. COALESCE(sf.sort_order, 0) as sort_order,
  101. f.create_time,
  102. f.update_time
  103. FROM qc_factor f
  104. LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
  105. LEFT JOIN qc_standard s ON sf.standard_id = s.id
  106. WHERE f.id = #{id}
  107. AND f.status = 1
  108. LIMIT 1
  109. </select>
  110. <!-- 测试查询:查询前10条质控因子(包含标准名称和排序) -->
  111. <select id="selectFactorListWithStandard" resultMap="FactorVOMap">
  112. SELECT
  113. f.id,
  114. f.factor_code,
  115. f.factor_name,
  116. f.factor_category,
  117. CASE f.factor_category
  118. WHEN 1 THEN '数据质控'
  119. WHEN 2 THEN '影像质控'
  120. WHEN 3 THEN '报告质控'
  121. ELSE '未知'
  122. END as factor_category_name,
  123. f.factor_type,
  124. f.description,
  125. f.check_rule,
  126. f.data_source,
  127. COALESCE(sf.modality, f.modality) as modality,
  128. COALESCE(sf.body_part, f.body_part) as body_part,
  129. COALESCE(sf.scan_type, f.scan_type) as scan_type,
  130. COALESCE(sf.weight, f.weight) as weight,
  131. f.enabled,
  132. f.status,
  133. sf.standard_id,
  134. s.standard_name,
  135. COALESCE(sf.sort_order, 0) as sort_order,
  136. f.create_time,
  137. f.update_time
  138. FROM qc_factor f
  139. LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
  140. LEFT JOIN qc_standard s ON sf.standard_id = s.id
  141. WHERE f.status = 1
  142. LIMIT 10
  143. </select>
  144. </mapper>