| <?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.zt.modules.workflow.dao.WfRunTaskDao"> | 
|     <select id="getTaskUser" resultType="com.zt.core.sys.model.SysUser"> | 
|         SELECT | 
|         b.user_id as id | 
|         ,b.dept_id | 
|         ,b.user_name as username | 
|         ,b.nick_name as real_name | 
|         ,b.phonenumber as MOBILE | 
|         FROM | 
|         SYS_USER b | 
|         WHERE | 
|         del_flag = 0 | 
|         <if test="roleId!=null and roleId!=''"> | 
|             AND USER_ID IN( | 
|             SELECT | 
|             USER_ID | 
|             FROM | 
|             SYS_ROLE_USER | 
|             WHERE IS_DELETE = 0 and | 
|             ROLE_ID IN( | 
|             SELECT | 
|             ID | 
|             FROM | 
|             SYS_ROLE | 
|             WHERE | 
|             CONCAT( ',', #{roleId}, ',' ) LIKE CONCAT( '%,', id, ',%' ) | 
|             ) | 
|             ) | 
|         </if> | 
|   | 
|         <if test="deptIds!=null and deptIds!=''"> | 
|             AND dept_ID IN( | 
|             SELECT | 
|             dept_id | 
|             FROM | 
|             SYS_DEPT | 
|             WHERE | 
|             CONCAT( ',', #{deptIds}, ',' ) LIKE CONCAT( '%,', dept_id, ',%' ) | 
|             ) | 
|         </if> | 
|   | 
|         <if test="zyIds!=null and zyIds!=''"> | 
|             AND CONCAT( ',', #{zyIds}, ',' ) LIKE CONCAT( '%,', teamgroup, ',%' ) | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="getAssignUser" resultType="com.zt.core.sys.model.SysUser"> | 
|         SELECT b.user_id     as id | 
|              , b.dept_id | 
|              , b.user_name   as username | 
|              , b.nick_name   as real_name | 
|              , b.phonenumber as MOBILE | 
|         FROM SYS_USER b | 
|         WHERE del_flag = 0 | 
|           and user_id in ( | 
|             SELECT USER_ID | 
|             FROM SY_PROJECT_EXPERT | 
|             WHERE biz_ID = #{bizId} | 
|               and flow_Code = #{code} | 
|               and step_Marker = #{stepMarker} | 
|               and is_delete = 0 | 
|         ) | 
|     </select> | 
|   | 
|     <select id="getUserById" resultType="com.zt.core.sys.model.SysUser"> | 
|         SELECT b.user_id     as id | 
|              , b.dept_id | 
|              , b.user_name   as username | 
|              , b.nick_name   as real_name | 
|              , b.phonenumber as MOBILE | 
|         FROM SYS_USER b | 
|         WHERE del_flag = 0 | 
|           and user_id = #{userId} | 
|         limit 1 | 
|     </select> | 
|   | 
|     <select id="getSqlResult" parameterType="java.lang.String" resultType="com.zt.modules.workflow.dto.BizInfoDto"> | 
|         ${script} | 
|     </select> | 
|     <update id="exeSql" parameterType="java.lang.String"> | 
|         ${script} | 
|     </update> | 
|   | 
|     <select id="getFlowFinish" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT id | 
|         FROM WF_RUN_TASK | 
|         WHERE IS_DELETE = 0 | 
|           AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where code = #{wfDefIdCode})) | 
|           and biz_id = #{bizId} | 
|           AND status IN (100) | 
|     </select> | 
|   | 
|     <select id="queryCurrentTaskStep" resultType="com.zt.modules.workflowconfig.model.WfDefStep"> | 
|         SELECT * | 
|         FROM WF_DEF_STEP wds | 
|         WHERE IS_DELETE = 0 | 
|           and STEP_TYPE = 0 | 
|           AND id IN ( | 
|             SELECT step_id | 
|             FROM WF_RUN_TASK | 
|             WHERE IS_DELETE = 0 | 
|               AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where IS_DELETE = 0 AND code = #{wfDefIdCode})) | 
|               and biz_id = #{bizId} | 
|               AND status IN (0, 1) | 
|         ) | 
|     </select> | 
|   | 
|     <select id="queryCurrentTaskStep100" resultType="com.zt.modules.workflowconfig.model.WfDefStep"> | 
|         SELECT * | 
|         FROM WF_DEF_STEP wds | 
|         WHERE IS_DELETE = 0 | 
|           and STEP_TYPE = 0 | 
|           AND id IN ( | 
|             SELECT step_id | 
|             FROM WF_RUN_TASK | 
|             WHERE IS_DELETE = 0 | 
|               AND (CONCAT('', flow_id) = #{wfDefIdCode} or flow_id in (select id from WF_DEF where IS_DELETE = 0 AND code = #{wfDefIdCode})) | 
|               and biz_id = #{bizId} | 
|               AND status IN (0, 1,100) | 
|         ) | 
|     </select> | 
|   | 
|     <update id="deleteFlowTask"> | 
|         update WF_RUN_TASK | 
|         set is_delete = 1 | 
|         ,UPDATE_DATE = CURRENT_TIMESTAMP | 
|         where IS_DELETE = 0 | 
|         <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|             and FLOW_CODE = #{wfIdCodes} | 
|         </if> | 
|         <if test="bizId!=null and bizId!=''"> | 
|             and biz_Id = #{bizId} | 
|         </if>; | 
|         update WF_RUN_INSTANCE | 
|         set is_delete = 1 | 
|         ,UPDATE_DATE = CURRENT_TIMESTAMP | 
|         where IS_DELETE = 0 | 
|         <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|             and FLOW_CODE = #{wfIdCodes} | 
|         </if> | 
|         <if test="bizId!=null and bizId!=''"> | 
|             and biz_Id = #{bizId} | 
|         </if> | 
|     </update> | 
|   | 
|     <update id="setTaskStatus"> | 
|         update WF_RUN_TASK | 
|         set status=CASE WHEN receive_id = #{userId} THEN #{status} | 
|             ELSE #{status}+1 end | 
|         ,status2 = 0 | 
|         ,finish_time = NOW() | 
|         ,finish_time2 = NOW() | 
|         ,finish_id = #{userId} | 
|         ,finish_name = #{realName} | 
|         ,OPINION = #{option} | 
|         ,UPDATE_DATE = CURRENT_TIMESTAMP | 
|         where IS_DELETE = 0 | 
|         AND biz_id=#{bizId} | 
|         and step_id=#{stepId} | 
|         and status in (0,1) | 
|         <if test="taskGroup=='cj'"> | 
|             and RECEIVE_ID in (select user_id from SYS_USER where dept_ID in (select dept_ID from SYS_USER where user_id=#{userId})) | 
|         </if> | 
|         <if test="taskGroup=='zy'"> | 
|         and RECEIVE_ID in (select teamgroup from SYS_user where user_id =#{userId}) | 
|         </if> | 
|         <if test="taskGroup=='br'"> | 
|             and RECEIVE_ID = #{userId} | 
|         </if> | 
|         <if test="taskGroup=='js'"> | 
|             and Group_id2 in (select ROLE_ID from sys_role_user where user_id =#{userId} and is_delete=0) | 
|         </if> | 
|     </update> | 
|   | 
|     <update id="setTaskPartFinish"> | 
|         UPDATE | 
|             WF_RUN_TASK | 
|         SET STATUS2     = ${status} | 
|           , UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE IS_DELETE = 0 | 
|           AND biz_id = #{bizId} | 
|           AND STEP_ID = #{currentStepId} | 
|           AND status in (0,1) | 
|           AND status2 not in (1) | 
|     </update> | 
|   | 
|     <update id="setTaskPartFinish2"> | 
|         UPDATE | 
|                 WF_RUN_TASK | 
|         SET STATUS     = ${status} | 
|           , UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE IS_DELETE = 0 | 
|           AND biz_id = #{bizId} | 
|           AND receive_id = #{receiveId} | 
|           AND status in (0,1) | 
|     </update> | 
|   | 
|     <update id="setTaskPartFinish3"> | 
|         UPDATE | 
|             WF_RUN_TASK a, | 
|             sys_user b | 
|         SET a.STATUS = ${status} | 
|           , a.UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE a.IS_DELETE = 0 | 
|           AND a.biz_id = #{bizId} | 
|           AND a.receive_id = b.user_id and b.dept_id = #{receiveDeptId} | 
|           AND a.status in (0,1) | 
|     </update> | 
|   | 
|     <update id="setTaskRefuse"> | 
|         UPDATE | 
|             WF_RUN_TASK | 
|         SET STATUS2     = ${status} | 
|           , UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE IS_DELETE = 0 | 
|           AND biz_id = #{bizId} | 
|           AND STEP_ID IN ( | 
|             SELECT id | 
|             FROM ( | 
|                      SELECT id | 
|                      FROM WF_DEF_STEP | 
|                      WHERE IS_DELETE = 0 | 
|                        AND WF_DEF_ID IN ( | 
|                          SELECT WF_DEF_ID | 
|                          FROM WF_DEF_STEP | 
|                          WHERE id = #{currentStepId} | 
|                      ) | 
|                        AND step_no > ( | 
|                          SELECT step_no | 
|                          FROM WF_DEF_STEP | 
|                          WHERE id = #{currentStepId} | 
|                      ) | 
|                  ) cc | 
|         ) | 
|     </update> | 
|   | 
|     <select id="getSingleFlowStatus" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|   | 
|         SELECT s.STEP_NO,b.*, | 
|         (select group_concat(RECEIVE_NAME) from WF_RUN_TASK c WHERE c.group_id=b.group_id AND (b.status=1 OR c.status in(20)) limit 0,3) AS RECEIVE_NAME | 
|         FROM ( | 
|         SELECT id,biz_id,biz_group_id,flow_code,step_id,step_marker,group_id, | 
|         CASE WHEN status IN (20,21,100) THEN 20 | 
|         WHEN status IN (10,11) THEN 10 | 
|         WHEN status IN (0,1) THEN 1 | 
|         ELSE 0 end AS status | 
|         FROM (SELECT | 
|         * | 
|         FROM WF_RUN_TASK | 
|         WHERE IS_delete =0 | 
|         <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|             and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%') | 
|             or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') ) | 
|         </if> | 
|         and biz_id = #{bizId} | 
|         AND status IN (0,1,20,21,100) /* 不显示状态10,11 */ | 
|         AND (status2 IS NULL OR status2 != 1) | 
|         ORDER BY receive_time desc | 
|         ) cc | 
|         group BY biz_id, | 
|         flow_code, | 
|         step_marker | 
|         ) b ,WF_DEF_STEP s where b.step_id = s.id | 
|         order by STEP_NO | 
|     </select> | 
|   | 
|     <select id="getFlowStatus" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT s.STEP_NO,b.*, | 
|         (select group_concat(RECEIVE_NAME) from WF_RUN_TASK c WHERE c.group_id=b.group_id AND (b.status=1 OR c.status in(20)) limit 0,3) AS RECEIVE_NAME | 
|         FROM ( | 
|         SELECT id,biz_id,biz_group_id,flow_code,step_id,step_marker,group_id, | 
|         CASE WHEN status IN (20,21,100) THEN 20 | 
|         WHEN status IN (10,11) THEN 10 | 
|         WHEN status IN (0,1) THEN 1 | 
|         ELSE 0 end AS status | 
|         FROM (SELECT | 
|         a.* | 
|         FROM | 
|         WF_RUN_TASK a | 
|         WHERE IS_delete =0 | 
|         and flow_code in (select code from WF_DEF where type = '1') | 
|         <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|             and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%') | 
|             or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') ) | 
|         </if> | 
|         and biz_id = #{bizId} | 
|         AND status IN (0,1,20,21,100) /* 不显示状态10,11 */ | 
|         ORDER BY receive_time desc | 
|         ) cc | 
|         group BY biz_id, | 
|         flow_code, | 
|         step_marker | 
|         )b ,WF_DEF_STEP s where b.step_id = s.id | 
|         order by flow_code,STEP_NO | 
|     </select> | 
|   | 
|     <select id="getFlowStatus2" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT s.STEP_NO, | 
|                b.*, | 
|                (select group_concat(distinct RECEIVE_NAME) | 
|                 from WF_RUN_TASK c | 
|                 WHERE (b.status = 1 OR c.status in (20)) | 
|                   and group_id in (select group_id | 
|                                    from ( | 
|                                             select group_id, biz_id, flow_code, step_marker | 
|                                             from ( | 
|                                                      SELECT group_id, biz_id, flow_code, step_marker | 
|                                                      FROM WF_RUN_TASK | 
|                                                      WHERE biz_group_id = #{bizGroupId} | 
|                                                      ORDER BY receive_time desc | 
|                                                  ) cc | 
|                                             group BY biz_id, | 
|                                                      flow_code, | 
|                                                      step_marker | 
|                                         ) dd) | 
|                   and b.biz_group_id = c.biz_group_id | 
|                   and b.flow_code = c.flow_code | 
|                   and b.step_marker = c.step_marker | 
|                 limit 0,1) AS RECEIVE_NAME | 
|         FROM ( | 
|                  SELECT a.*, | 
|                         b.totalNum, | 
|                         CASE | 
|                             WHEN totalNum = 0 THEN 0 | 
|                             WHEN totalNum = finishNum THEN 20 | 
|                             ELSE 1 END status | 
|                  FROM ( | 
|                           SELECT biz_group_id, | 
|                                  flow_code, | 
|                                  step_marker, | 
|                                  sum(CASE WHEN status IN (20, 21, 100) THEN 1 ELSE 0 end) AS finishNum | 
|                           FROM (select * | 
|                                 from (SELECT * | 
|                                       FROM WF_RUN_TASK | 
|                                       WHERE IS_delete = 0 | 
|                                         and flow_code in (select code from WF_DEF where type = '2') | 
|                                         and status IN (0, 1, 20, 21, 100) | 
|                                         and biz_group_id = #{bizGroupId} | 
|                                       ORDER BY receive_time desc | 
|                                      ) cc | 
|                                 group BY biz_group_id, | 
|                                          flow_code, | 
|                                          step_marker, | 
|                                          biz_id | 
|                                ) dd | 
|                           GROUP BY biz_group_id, flow_code, step_marker | 
|                       ) a, | 
|                       ( | 
|                           SELECT biz_group_id, | 
|                                  flow_code, | 
|                                  count(DISTINCT biz_group_id, flow_code, biz_id) AS totalNum | 
|                           FROM WF_RUN_TASK a | 
|                           WHERE IS_delete = 0 | 
|                             and flow_code in (select code from WF_DEF where type = '2') | 
|                             and biz_group_id = #{bizGroupId} | 
|                           GROUP BY biz_group_id, flow_code | 
|                       ) b | 
|                  WHERE a.biz_group_id = b.biz_group_id | 
|                    AND a.flow_code = b.flow_code | 
|              ) b, | 
|              WF_DEF_STEP s | 
|         where b.step_marker = s.step_marker | 
|         order by flow_code, STEP_NO | 
|     </select> | 
|   | 
|     <select id="getFlowStatus3" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT c.flow_code, | 
|         CASE WHEN totalNum = 0 THEN 0 | 
|         WHEN totalNum=finishNum THEN 2 | 
|         ELSE 1 END status | 
|         FROM ( | 
|         SELECT | 
|         biz_group_id,flow_code,count(DISTINCT biz_id) AS totalNum, | 
|         (SELECT count(1) FROM WF_RUN_TASK b WHERE b.biz_group_id=a.biz_group_id AND b.status=100) AS finishNum | 
|         FROM WF_RUN_TASK a | 
|         WHERE IS_delete =0 | 
|         and flow_code in (select code from WF_DEF where type = '2') | 
|         <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|             and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%') | 
|             or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') ) | 
|         </if> | 
|         and biz_group_id = #{biz_group_id} | 
|         GROUP BY biz_group_id,flow_code | 
|         ) c | 
|     </select> | 
|   | 
|     <select id="getPhaseFlowStatus" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         select CODE    as FLOW_CODE, | 
|                case | 
|                    when exists(select 1 | 
|                                from wf_run_instance b | 
|                                where b.FLOW_ID = a.id | 
|                                  and b.BIZ_GROUP_ID = #{bizId} | 
|                                  and b.status in (0, 1)) then 1 | 
|                    when exists(select 1 | 
|                                from wf_run_instance b | 
|                                where b.FLOW_ID = a.id | 
|                                  and b.BIZ_GROUP_ID = #{bizId} | 
|                                  and b.status in (20, 100)) then 20 | 
|                    else 0 | 
|                    end as status | 
|         from wf_def a | 
|         where a.phase_node = #{flowCode} | 
|     </select> | 
|   | 
|     <select id="getFlowStepStatus" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT a.* FROM WF_RUN_TASK a, | 
|         ( | 
|             SELECT a.id, | 
|                 CASE WHEN finish_TIME IS NULL THEN cast('2500-1-1' AS DATE) | 
|                     ELSE finish_TIME end finish_TIME | 
|             FROM WF_RUN_TASK a | 
|             WHERE IS_delete =0 | 
|             AND status IN (0,1,20,100) | 
|             <if test="wfIdCodes!=null and wfIdCodes!=''"> | 
|                 and ( CONCAT(',',#{wfIdCodes},',') like Concat('%,',CONCAT('',flow_id ),',%') | 
|                 or CONCAT(',',#{wfIdCodes},',') like Concat('%,',flow_code,',%') ) | 
|             </if> | 
|             and biz_id = #{bizId} | 
|             order by finish_TIME DESC | 
|             LIMIT 0,1 | 
|         ) b | 
|         WHERE a.id =b.id | 
|     </select> | 
|   | 
|     <select id="isMyStep" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM WF_RUN_TASK | 
|         WHERE is_delete = 0 | 
|           and biz_id = #{bizId} | 
|           and step_Marker = #{stepMarker} | 
|           and receive_Id = #{userId} | 
|           AND status IN (0, 1) | 
|     </select> | 
|   | 
|     <select id="isMyStepFinish" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM WF_RUN_TASK | 
|         WHERE is_delete = 0 | 
|           and biz_id = #{bizId} | 
|           and step_Marker = #{stepMarker} | 
|           and receive_Id = #{userId} | 
|           AND status in (20, 21) | 
|     </select> | 
|   | 
|     <select id="getFlowStepFinish" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM WF_RUN_TASK | 
|         WHERE is_delete = 0 | 
|           and biz_id = #{bizId} | 
|           and step_Marker = #{stepIdMark} | 
|           and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode}) | 
|           AND status IN (0, 1) | 
|     </select> | 
|   | 
|     <select id="getFlowStepFinish2" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM WF_RUN_TASK | 
|         WHERE is_delete = 0 | 
|           and biz_id = #{bizId} | 
|           and step_Marker = #{stepIdMark} | 
|           and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode}) | 
|           AND status IN (20, 21, 100) | 
|     </select> | 
|   | 
|     <select id="getStepCount" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT * | 
|         FROM ( | 
|                  SELECT a.step_marker, (CASE WHEN b.num IS NULL THEN 0 ELSE b.num end) status, a.STEP_NO | 
|                  FROM WF_DEF_STEP a /*liquan*/ | 
|                           LEFT JOIN ( | 
|                      SELECT step_marker, count(1) AS Num | 
|                      FROM (select * | 
|                            from (SELECT * | 
|                                  FROM WF_RUN_TASK | 
|                                  WHERE IS_delete = 0 | 
|                                    and status IN (0, 1, 100) | 
|                                    and biz_Group_id = #{bizId} | 
|                                    and flow_code = #{wfIdCode} | 
|                                  ORDER BY receive_time desc | 
|                                 ) d /*liquan*/ | 
|                            group BY biz_group_id, | 
|                                     flow_id, | 
|                                     flow_code, | 
|                                     step_marker, | 
|                                     biz_id | 
|                           ) cc | 
|                      GROUP BY biz_group_id, flow_id, flow_code, step_marker | 
|                  ) b ON a.step_marker = b.step_marker | 
|                  WHERE a.WF_DEF_ID IN (SELECT id FROM WF_DEF WHERE CODE = #{wfIdCode}) | 
|                  UNION | 
|                  SELECT 'total', | 
|                         count(DISTINCT biz_group_id, flow_code, biz_id) AS status, | 
|                         900 | 
|                  FROM WF_RUN_TASK a | 
|                  WHERE IS_delete = 0 | 
|                    and biz_Group_id = #{bizId} | 
|                    and flow_code = #{wfIdCode} | 
|                  GROUP BY biz_group_id, flow_code | 
|              ) c | 
|         ORDER BY STEP_NO | 
|     </select> | 
|   | 
|     <select id="getBizTaskCount" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM WF_RUN_TASK | 
|         WHERE is_delete = 0 | 
|           and biz_id = #{bizId} | 
|           and flow_code = #{wfIdCode} | 
|     </select> | 
|   | 
|     <update id="setTaskRecall"> | 
|         UPDATE WF_RUN_TASK | 
|         SET STATUS      = 0 | 
|           , UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE IS_DELETE = 0 | 
|           AND id = #{taskId} | 
|           and (CONCAT('', flow_id) = #{wfIdCode} or flow_code = #{wfIdCode}); | 
|   | 
|         UPDATE WF_RUN_TASK | 
|         SET IS_DELETE   = 1 | 
|           , UPDATE_DATE = CURRENT_TIMESTAMP | 
|         WHERE IS_DELETE = 0 | 
|           AND PREV_ID = #{taskId} | 
|     </update> | 
|   | 
|   | 
|     <select id="getRoleCount" resultType="java.lang.Integer"> | 
|         SELECT count(1) | 
|         FROM sys_role_user a, | 
|              sys_role b | 
|         WHERE a.is_delete = 0 | 
|           and b.is_delete = 1 | 
|           and b.code = #{code} | 
|           and a.user_id = #{userId} | 
|     </select> | 
|   | 
|     <select id="getPlanStatus" resultType="java.lang.Integer"> | 
|         SELECT CURRENT_STATE | 
|         FROM zhgl_annual_plan a | 
|         WHERE a.is_delete = 0 | 
|           and a.id = #{bizId} | 
|     </select> | 
|     <select id="getConnectInformation" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         SELECT * | 
|         FROM `wf_run_task` | 
|         where STEP_MARKER in ('yxsc_bb', 'sgqd_bb', 'plan_tybx') | 
|           and status in (0, 1) | 
|           and RECEIVE_ID in | 
|               (select user_id from sys_user where DEPT_ID = #{oldShipTeam}) | 
|           and is_delete = 0 | 
|         group by FLOW_CODE, STEP_MARKER, BIZ_ID | 
|     </select> | 
|   | 
|     <select id="getFlowTrack" resultType="com.zt.modules.workflow.model.WfRunTask"> | 
|         select * from ( | 
|                           select step_name,RECEIVE_NAME,RECEIVE_TIME,FINISH_TIME | 
|                           from wf_run_task | 
|                           where FLOW_CODE=#{flowCode} and BIZ_ID=#{bizId} and is_delete = 0 and status='20' | 
|                           union | 
|                           select step_name,GROUP_CONCAT(RECEIVE_NAME) as RECEIVE_NAME,RECEIVE_TIME,FINISH_TIME | 
|                           from wf_run_task | 
|                           where FLOW_CODE=#{flowCode} and BIZ_ID=#{bizId} and is_delete = 0 | 
|                             and status in (0,1) | 
|                           group by step_name,RECEIVE_TIME,FINISH_TIME | 
|                       ) b order by RECEIVE_TIME | 
|     </select> | 
|   | 
|     <select id="isExistsStep" resultType="java.lang.Integer"> | 
|         select count(1) from wf_run_task a, | 
|         wf_def_step b | 
|         where | 
|         a.biz_id = #{bizId} and a.status in (0,20) | 
|         and a.step_id = b.id and b.EXEC_ONE = 1 | 
|         <if test="currentStepId != 0"> | 
|             and a.STEP_ID = #{currentStepId} | 
|         </if> | 
|         <if test="stepMarker != null"> | 
|             and a.STEP_MARKER = #{stepMarker} | 
|         </if> | 
|   | 
|     </select> | 
|   | 
|     <select id="isExistsRunningStep" resultType="java.lang.Integer"> | 
|         select count(1) from wf_run_task a, | 
|         wf_def_step b | 
|         where | 
|         a.biz_id = #{bizId} and a.status in (0,1) | 
|         and a.step_id = b.id and a.is_delete = 0 and b.is_delete = 0 | 
|         <if test="currentStepId != 0"> | 
|             and a.STEP_ID = #{currentStepId} | 
|         </if> | 
|         <if test="stepMarker != null"> | 
|             and a.STEP_MARKER = #{stepMarker} | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="getFlowStepName" resultType="java.lang.String"> | 
|         SELECT | 
|             STEP_NAME | 
|         FROM | 
|             wf_run_task | 
|         WHERE | 
|             FLOW_CODE = #{wfIdCodes} | 
|             AND BIZ_ID = #{bizId} | 
|             AND `STATUS` = 0 | 
|             LIMIT 0,1 | 
|     </select> | 
|   | 
|     <update id="updateConnect"> | 
|         update `wf_run_task` | 
|         set is_delete =1,UPDATE_DATE = CURRENT_TIMESTAMP | 
|         where STEP_MARKER in ('yxsc_bb', 'sgqd_bb', 'plan_tybx') | 
|           and status in (0, 1) | 
|           and RECEIVE_ID in | 
|               (select user_id from sys_user where DEPT_ID = #{oldShipTeam}) | 
|           and is_delete = 0 | 
|     </update> | 
|   | 
|     <update id="setReStartStatus"> | 
|         update `wf_run_task` | 
|         set status = 150,UPDATE_DATE = CURRENT_TIMESTAMP | 
|         where flow_code = #{wfIdCode} | 
|           and biz_id = #{bizId} | 
|           and is_delete = 0 | 
|     </update> | 
|   | 
|     <update id="deleteFlowStep"> | 
|         delete from wf_run_task | 
|         where FLOW_CODE = #{wfIdCode} | 
|           and STEP_MARKER = #{stepIdMark} | 
|           and BIZ_ID = #{bizId} | 
|     </update> | 
| </mapper> |