<?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.docus.server.archive.mapper.AfCollectTaskMapper">
    <insert id="saveBatch">
        INSERT INTO docus_archivefile.af_collect_task
        (id, patient_id, af_archive_detail_id, sysflag,state, sync_time, create_time, remark, pResult, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, T1, T2)
        VALUES
        <foreach collection="tasks" separator="," item="task">
            (
            #{task.id}, #{task.patientId},0, #{task.sysflag}, '0', #{task.syncTime}, #{task.createTime}, '', '',
            #{task.c1},  #{task.c2},  #{task.c3},  #{task.c4},  #{task.c5},  #{task.c6},  #{task.c7}, #{task.c8},  #{task.c9},  #{task.c10},  #{task.t1},  #{task.t2}
            )
        </foreach>

    </insert>

    <update id="update">
        <foreach collection="tasks"  item="task" separator=";" >
            UPDATE docus_archivefile.af_collect_task
            SET state=#{task.state}, sync_time=#{task.syncTime}, pResult=#{task.presult},
            C1=#{task.c1}, C2=#{task.c2}, C3=#{task.c3}, C4=#{task.c4}, C5=#{task.c5}, C6=#{task.c6}, C7=#{task.c7}, C8=#{task.c8}, C9=#{task.c9}, C10=#{task.c10},
            T1=#{task.t1}, T2=#{task.t2}
            WHERE id=#{task.id}
        </foreach>

    </update>
    <update id="cancelTask">
        UPDATE `docus_archivefile`.`af_collect_task` set state='4'
        WHERE id IN
        <foreach collection="taskIds" item="taskId" open="(" close=")" separator=",">
            #{taskId}
        </foreach>
    </update>
    <update id="cancelFileByTaskId">
        UPDATE   `docus_archivefile`.`t_scan_assort` SET is_del = '1'
        WHERE taskid IN
        <foreach collection="taskIds" item="taskId" open="(" close=")" separator=",">
            #{taskId}
        </foreach>
    </update>

    <update id="cancelFileById">
        UPDATE   `docus_archivefile`.`t_scan_assort` SET is_del = '1'
        WHERE id IN
        <foreach collection="fileIds" item="fileId" open="(" close=")" separator=",">
            #{fileId}
        </foreach>
    </update>

    <select id="findByPatientIds" resultType="com.docus.server.archive.entity.AfCollectTask">
        SELECT *
        FROM
            `docus_archivefile`.`af_collect_task`
        WHERE
            patient_id IN
            <foreach collection="patientIdList" item="patientId" separator="," open="(" close=")">
                #{patientId}
            </foreach>
    </select>
</mapper>
