123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?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.dayou.dao.QuestionAnalysisMapper">
- <select id="getAnalysisList" resultType="com.dayou.vo.AnalysisResultVO">
- SELECT
- t.id AS cycle_id,
- qa.question_id,
- t.cycle_num,
- q.label AS questionName,
- d.item_name,
- qa.avg_score,
- qa.variance,
- qa.validate,
- t.document_id,
- t.type_id,
- q.parent_id,
- q.id,
- q.scope,
- qq.label as typeName,
- t.professor_num,
- t.probability,
- t.standard_value
- FROM
- question_analysis qa
- RIGHT JOIN (
- SELECT c.id, c.document_id, c.cycle_num,d.type_id,c.professor_num,c.standard_value,c.probability FROM cycle c left join document d on d.id = c.document_id
- <if test="cycle!=null and cycle.documentId!=null and cycle.cycleNum!=null">
- where c.document_id = #{cycle.documentId} and c.cycle_num = #{cycle.cycleNum}
- </if>
- <if test="cycle!=null and cycle.documentId==null or cycle.cycleNum==null">
- ORDER BY c.created DESC LIMIT 1
- </if>
- ) t ON t.id = qa.cycle_id
- LEFT JOIN question q ON q.id = qa.question_id
- LEFT JOIN document d ON d.id = t.document_id
- left join question qq on qq.id = d.type_id
- ORDER BY
- q.created
- </select>
- <select id="getAnalysisListByCycleId" parameterType="java.lang.Long" resultType="com.dayou.vo.AnalysisResultVO">
- SELECT
- t.id AS cycle_id,
- qa.question_id,
- t.cycle_num,
- q.label AS questionName,
- d.item_name,
- qa.avg_score,
- t.document_id
- FROM
- question_analysis qa
- RIGHT JOIN ( SELECT id, document_id, cycle_num FROM cycle where id = #{id} ) t ON t.id = qa.cycle_id
- LEFT JOIN question q ON q.id = qa.question_id
- LEFT JOIN document d ON d.id = t.document_id
- ORDER BY
- q.created
- </select>
- <select id="getParentLabel" resultType="com.dayou.vo.ChildrenParentName">
- SELECT
- DISTINCT
- q.label AS label,
- qq.label AS parentLabel
- FROM
- question_analysis qa
- RIGHT JOIN (
- SELECT
- c.id,
- c.document_id,
- c.cycle_num,
- d.type_id
- FROM
- cycle c
- LEFT JOIN document d ON d.id = c.document_id
- <if test="cycle!=null and cycle.documentId!=null and cycle.cycleNum!=null">
- where c.document_id = #{cycle.documentId} and c.cycle_num = #{cycle.cycleNum}
- </if>
- <if test="cycle!=null and cycle.documentId==null or cycle.cycleNum==null">
- ORDER BY c.created DESC LIMIT 1
- </if>
- ) t ON t.id = qa.cycle_id
- LEFT JOIN question q ON q.id = qa.question_id
- LEFT JOIN question qq ON q.parent_id = qq.id
- WHERE
- q.deleted = 0
- AND qq.deleted = 0
- </select>
- <select id="getPreviousCycleAnalysisData" resultType="com.dayou.entity.QuestionAnalysis">
- SELECT
- *
- FROM
- question_analysis
- WHERE
- cycle_id = (
- SELECT
- c.id
- FROM
- cycle c
- LEFT JOIN document d ON d.id = c.document_id
- WHERE
- d.id = #{documentId}
- AND cycle_num = 1)
- </select>
- </mapper>
|