<?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.TaskSampleRelationMapper">

    <resultMap id="BaseResultMap" type="com.ruoyi.domain.TaskSampleRelation">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="taskId" column="task_id" jdbcType="BIGINT"/>
        <result property="sampleId" column="sample_id" jdbcType="BIGINT"/>
        <result property="flag" column="flag" jdbcType="VARCHAR"/>
    </resultMap>

    <sql id="Base_Column_List">
        select id,task_id,sample_id,flag from t_task_sample_relation
    </sql>
    <select id="selectByTaskId" resultType="com.ruoyi.domain.TaskSampleRelation">
        select ts.id,ts.task_id,ts.sample_id,ts.flag from t_task_sample_relation ts
        left join t_sample t on t.id = ts.sample_id and t.deleted = 0
        where
        <if test="taskId != null and taskId != ''">
            ts.task_id = #{taskId}
        </if>
        <if test="flag != null and flag != ''">
            and ts.flag = #{flag}
        </if>
    </select>

    <select id="selectTaskBysampleId" resultType="com.ruoyi.domain.vo.SampleTaskVo">
        SELECT
            relation.sample_id,
            relation.task_id,
            task.task_no As taskNo
        FROM
            t_task_sample_relation relation
                LEFT JOIN t_task task ON task.id = relation.task_id
        WHERE relation.sample_id IN
        <foreach item="id" collection="idList" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>

    <select id="selectTaskSumBySampleId">
        select
            count(task_id)
        FROM
            t_task_sample_relation
        where sample_id = #{sampleId}
    </select>
</mapper>