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

    <resultMap id="BaseResultMap" type="com.ruoyi.domain.SystemReviewTask">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="taskNo" column="task_no" jdbcType="VARCHAR"/>
            <result property="taskStatus" column="task_status" jdbcType="VARCHAR"/>
            <result property="taskInitiator" column="task_initiator" jdbcType="VARCHAR"/>
            <result property="taskInitiatorDept" column="task_initiator_dept" jdbcType="VARCHAR"/>
            <result property="taskResult" column="task_result" jdbcType="VARCHAR"/>
            <result property="taskBeginTime" column="task_begin_time" jdbcType="TIMESTAMP"/>
            <result property="taskEndTime" column="task_end_time" jdbcType="TIMESTAMP"/>
            <result property="standard" column="standard" typeHandler="com.ruoyi.common.StandardJsonTypeHandler"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="leaderId" column="leader_id" jdbcType="BIGINT"/>
            <result property="leader" column="leader" jdbcType="VARCHAR"/>
            <result property="standardId" column="standard_id" jdbcType="BIGINT"/>
            <result property="name" column="name" jdbcType="VARCHAR"/>
            <result property="standardNo" column="standard_no" jdbcType="VARCHAR"/>
            <result property="file" column="file" jdbcType="VARCHAR"/>
            <result property="submitById" column="submit_by_id" jdbcType="BIGINT"/>
            <result property="submitByName" column="submit_by_name" jdbcType="VARCHAR"/>
            <result property="imagesUrl" column="images_url" jdbcType="VARCHAR"/>
            <result property="details" column="details" jdbcType="INTEGER"/>
            <result property="standards" column="standards" jdbcType="INTEGER"/>
    </resultMap>

    <select id="findListByStatus" resultMap="BaseResultMap">
        SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name,images_url,details,standards
        FROM t_system_review_task WHERE task_status = #{status}
        ORDER BY create_time DESC
    </select>

    <select id="findListInProcess" resultMap="BaseResultMap">
        SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name,images_url,details,standards
        FROM t_system_review_task WHERE task_status IN ('NEW','PENDING')
        ORDER BY create_time DESC
    </select>
    <select id="findByDetailsResult" resultType="com.ruoyi.domain.SystemReviewTask">
        SELECT ts.id, ts.task_no, ts.task_status, ts.task_initiator, ts.task_initiator_dept,
               ts.task_result, ts.task_begin_time, ts.task_end_time, ts.standard, ts.create_time,
               ts.leader,ts.leader_id, ts.standard_id, ts.name, ts.standard_no, ts.file, ts.submit_by_id,
               ts.submit_by_name,ts.images_url,ts.details,ts.standards
        FROM t_system_review_task ts
        LEFT JOIN t_review_details_result trdr  ON ts.id = trdr.task_id
        WHERE trdr.review_details_id = #{detailId} and ts.task_status = 'PENDING'
    </select>
    <select id="findByTaskList" resultType="com.ruoyi.domain.SystemReviewTask">
        SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name,images_url,details,standards
        FROM t_system_review_task
        WHERE id IN
        <foreach collection="responses" item="task" open="(" separator="," close=")">
            #{task.systemReviewTaskId}
        </foreach>
    </select>

</mapper>