| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.zskk.qcns.modules.qc.mapper.QcFactorMapper">
- <!-- 结果映射 -->
- <resultMap id="FactorVOMap" type="com.zskk.qcns.modules.qc.response.QcFactorVO">
- <id column="id" property="id"/>
- <result column="factor_code" property="factorCode"/>
- <result column="factor_name" property="factorName"/>
- <result column="factor_category" property="factorCategory"/>
- <result column="factor_category_name" property="factorCategoryName"/>
- <result column="factor_type" property="factorType"/>
- <result column="description" property="description"/>
- <result column="check_rule" property="checkRule"/>
- <result column="data_source" property="dataSource"/>
- <result column="modality" property="modality"/>
- <result column="body_part" property="bodyPart"/>
- <result column="scan_type" property="scanType"/>
- <result column="weight" property="weight"/>
- <result column="enabled" property="enabled"/>
- <result column="status" property="status"/>
- <result column="standard_id" property="standardId"/>
- <result column="standard_name" property="standardName"/>
- <result column="sort_order" property="sortOrder"/>
- <result column="create_time" property="createTime"/>
- <result column="update_time" property="updateTime"/>
- </resultMap>
- <!-- 分页查询质控因子列表(包含标准名称和排序) -->
- <select id="selectFactorPageWithStandard" resultMap="FactorVOMap">
- SELECT
- f.id,
- f.factor_code,
- f.factor_name,
- f.factor_category,
- CASE f.factor_category
- WHEN 1 THEN '数据质控'
- WHEN 2 THEN '影像质控'
- WHEN 3 THEN '报告质控'
- ELSE '未知'
- END as factor_category_name,
- f.factor_type,
- f.description,
- f.check_rule,
- f.data_source,
- COALESCE(sf.modality, f.modality) as modality,
- COALESCE(sf.body_part, f.body_part) as body_part,
- COALESCE(sf.scan_type, f.scan_type) as scan_type,
- COALESCE(sf.weight, f.weight) as weight,
- f.enabled,
- f.status,
- sf.standard_id,
- s.standard_name,
- COALESCE(sf.sort_order, 0) as sort_order,
- f.create_time,
- f.update_time
- FROM qc_factor f
- LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
- LEFT JOIN qc_standard s ON sf.standard_id = s.id
- <where>
- f.status = 1
- <if test="factorName != null and factorName != ''">
- AND f.factor_name LIKE CONCAT('%', #{factorName}, '%')
- </if>
- <if test="factorCategory != null">
- AND f.factor_category = #{factorCategory}
- </if>
- <if test="enabled != null">
- AND f.enabled = #{enabled}
- </if>
- <if test="standardId != null and standardId != ''">
- AND sf.standard_id = #{standardId}
- </if>
- </where>
- ORDER BY sf.sort_order, f.create_time DESC
- </select>
- <!-- 根据ID查询质控因子详情(包含标准名称和排序) -->
- <select id="selectFactorByIdWithStandard" resultMap="FactorVOMap">
- SELECT
- f.id,
- f.factor_code,
- f.factor_name,
- f.factor_category,
- CASE f.factor_category
- WHEN 1 THEN '数据质控'
- WHEN 2 THEN '影像质控'
- WHEN 3 THEN '报告质控'
- ELSE '未知'
- END as factor_category_name,
- f.factor_type,
- f.description,
- f.check_rule,
- f.data_source,
- COALESCE(sf.modality, f.modality) as modality,
- COALESCE(sf.body_part, f.body_part) as body_part,
- COALESCE(sf.scan_type, f.scan_type) as scan_type,
- COALESCE(sf.weight, f.weight) as weight,
- f.enabled,
- f.status,
- sf.standard_id,
- s.standard_name,
- COALESCE(sf.sort_order, 0) as sort_order,
- f.create_time,
- f.update_time
- FROM qc_factor f
- LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
- LEFT JOIN qc_standard s ON sf.standard_id = s.id
- WHERE f.id = #{id}
- AND f.status = 1
- LIMIT 1
- </select>
- <!-- 测试查询:查询前10条质控因子(包含标准名称和排序) -->
- <select id="selectFactorListWithStandard" resultMap="FactorVOMap">
- SELECT
- f.id,
- f.factor_code,
- f.factor_name,
- f.factor_category,
- CASE f.factor_category
- WHEN 1 THEN '数据质控'
- WHEN 2 THEN '影像质控'
- WHEN 3 THEN '报告质控'
- ELSE '未知'
- END as factor_category_name,
- f.factor_type,
- f.description,
- f.check_rule,
- f.data_source,
- COALESCE(sf.modality, f.modality) as modality,
- COALESCE(sf.body_part, f.body_part) as body_part,
- COALESCE(sf.scan_type, f.scan_type) as scan_type,
- COALESCE(sf.weight, f.weight) as weight,
- f.enabled,
- f.status,
- sf.standard_id,
- s.standard_name,
- COALESCE(sf.sort_order, 0) as sort_order,
- f.create_time,
- f.update_time
- FROM qc_factor f
- LEFT JOIN qc_standard_factor sf ON f.id = sf.factor_id
- LEFT JOIN qc_standard s ON sf.standard_id = s.id
- WHERE f.status = 1
- LIMIT 10
- </select>
- </mapper>
|