WorkflowTaskMapper.xml 2.87 KB
<?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.show.mapper.WorkflowTaskMapper">


    <update id="finishTodoTask" parameterType="long">
        UPDATE workflow_task t
        SET t.STATUS = '已结束'
        WHERE
            t.instance_id = #{instanceId}
            AND t.`status` = '待审核'
    </update>

    <update id="beforeTaskDone">
         UPDATE workflow_task t
        SET t.current_work = 0
        WHERE
            t.instance_id = #{instanceId}
    </update>

    <select id="administerRoleTasks" resultType="com.show.model.WorkflowTask">
        SELECT
            t2.*
        FROM
            academy_role_administer_mapping t
            LEFT JOIN workflow_task t2 ON t.role_id = t2.assignee
        WHERE
            t.delete_date IS NULL
            AND t.administer_id = #{userId}
            AND t2.assignee_type = '角色'
            AND t2.instance_id = #{instanceId}
            AND t2.node_id = #{nodeId}
            and t2.status = '待审核'
            and t2.assignee = #{role}
    </select>
    <select id="administerNotInRoleTask" resultType="com.show.model.WorkflowTask">
        SELECT
            *
        FROM
            workflow_task t
        WHERE
            t.delete_date IS NULL
            AND t.instance_id = #{instanceId}
            AND t.node_id = #{nodeId}
            AND t.assignee_type = '角色'
            and t.check_id is null
            AND t.assignee NOT IN (
            SELECT
                t2.assignee
            FROM
                academy_role_administer_mapping t
                LEFT JOIN workflow_task t2 ON t.role_id = t2.assignee
            WHERE
                t.delete_date IS NULL
                AND t.administer_id =  #{userId}
                AND t2.assignee_type = '角色'
                AND t2.instance_id = #{instanceId}
                AND t2.node_id = #{nodeId}
                and t2.assignee = #{role}
            )
    </select>

    <select id="studentTask" resultType="com.show.model.WorkflowTask">
    SELECT
            *
        FROM
            workflow_task t
        WHERE
            t.delete_date IS NULL
            and t.instance_id  = #{instanceId}
            and t.node_name = '提交'
            order by t.create_date
        limit 1
    </select>

    <select id="updatedWorks"  resultType="com.show.vo.work.GetWorkflowHistoryVO">
        SELECT
            t.id,
            t.node_name,
            t.node_id,
            t.check_id,
            t.`status`,
            t.approve_opinion,
            ifnull(t.update_date,t.create_date) endTime,
            t.assignee,
            t.assignee_type
        FROM
            workflow_task t
        WHERE
            t.delete_date IS NULL
            AND t.instance_id = #{instanceId}
        ORDER BY
            t.id
    </select>

</mapper>