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

    <resultMap id="BaseResultMap" type="com.ruoyi.domain.TestRecords">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="projectId" column="project_id" jdbcType="VARCHAR"/>
            <result property="taskId" column="task_id" jdbcType="BIGINT"/>
            <result property="usecase" column="usecase" jdbcType="VARCHAR"/>
            <result property="usecaseNo" column="usecase_no" jdbcType="VARCHAR"/>
            <result property="usecaseId" column="usecase_id" jdbcType="VARCHAR"/>
            <result property="testTime" column="test_time" jdbcType="VARCHAR"/>
            <result property="description" column="description" jdbcType="LONGNVARCHAR"/>
            <result property="riskLevel" column="risk_level" jdbcType="VARCHAR"/>
            <result property="testMethod" column="test_method" jdbcType="LONGNVARCHAR"/>
            <result property="testResult" column="test_result" jdbcType="VARCHAR"/>
            <result property="remediation" column="remediation" jdbcType="LONGNVARCHAR"/>
            <result property="testDetails" column="test_details" jdbcType="LONGNVARCHAR"/>
            <result property="attachmentId" column="attachment_id" jdbcType="LONGNVARCHAR"/>
            <result property="attachmentName" column="attachment_name" jdbcType="LONGNVARCHAR"/>
    </resultMap>
    <select id="findByTaskId" resultType="com.ruoyi.domain.TestRecords">
        SELECT id, project_id, task_id, usecase, usecase_no, usecase_id, test_time, description, risk_level, test_method, test_result, remediation, test_details, attachment_id, attachment_name
        FROM t_test_records
        WHERE project_id = #{id}
    </select>
    <select id="countResult" resultType="java.lang.Long">
        SELECT COUNT(*) FROM t_test_records
        WHERE project_id = #{projectId} and test_result != 'IGNORED' and test_result != 'UNPROCESSED'
        GROUP BY project_id
    </select>

    <select id="selectListByGeneralTaskId" parameterType="java.lang.Long" resultType="com.ruoyi.domain.TestRecords">
        select
            tr.usecase,
            tr.usecase_id,
            tr.test_time,
            tr.description,
            tr.risk_level,
            tr.test_method,
            tr.test_result,
            tr.remediation,
            tr.test_details,
            tr.usecase_no,
            tr.attachment_name,
            tr.attachment_id
        from
            t_test_records tr
        left join t_task t on tr.task_id = t.model_test_task_id
        where
            t.id = #{id}
    </select>
    <select id="selectListByTaskId" resultType="com.ruoyi.domain.TestRecords">
        SELECT id, project_id, task_id, usecase, usecase_no, usecase_id, test_time, description, risk_level, test_method, test_result, remediation, test_details, attachment_id, attachment_name
        FROM t_test_records
        WHERE task_id = #{taskId}
    </select>


</mapper>