<?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.ruoyi.mapper.ReviewDetailsMapper">


    <select id="findByKeyPointList" resultType="com.ruoyi.domain.ReviewDetails">

        SELECT id, text, review_keypoint_id FROM t_review_details WHERE review_keypoint_id IN
        <foreach collection="reviewKeyPointList" item="keyPoint" open="(" separator="," close=")">
            #{keyPoint.id}
        </foreach>

    </select>

    <select id="findNoResult" resultType="com.ruoyi.domain.ReviewDetails">
        SELECT * FROM t_review_details trd
                          LEFT JOIN t_review_keypoint trk ON trd.review_keypoint_id = trk.id
                          LEFT JOIN t_review_standard trs ON trk.review_standard_id = trs.id
        WHERE trd.id NOT IN (SELECT review_details_id FROM t_review_details_result WHERE task_id = #{taskId})
        AND trs.type = #{type}
    </select>

    <select id="count" resultType="long">
        SELECT
        IFNULL((SELECT COUNT(*) FROM t_review_details_result WHERE task_id = #{taskId}), 0) /
        IFNULL((SELECT COUNT(*) FROM t_review_details trd
        INNER JOIN t_review_keypoint trk ON trk.id = trd.review_keypoint_id
        INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
        WHERE trs.type = #{type}), 1) AS resultOverSum
    </select>
    <select id="findByKeyPointId" resultType="com.ruoyi.domain.ReviewDetails">
        SELECT id, text, review_keypoint_id FROM t_review_details
        WHERE review_keypoint_id = #{keyPointId}
    </select>
    <select id="findDetailsList" resultType="com.ruoyi.domain.ReviewDetails">
        SELECT id, text, review_keypoint_id
        FROM t_review_details
        <where>
            <if test="text != null and text != ''">
                text like concat('%',#{text},'%')
            </if>
        </where>
    </select>
</mapper>