wangliang преди 3 години
родител
ревизия
e39d8ee353
променени са 1 файла, в които са добавени 109 реда и са изтрити 146 реда
  1. 109 146
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

+ 109 - 146
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -732,154 +732,117 @@
 
     <select id="getFlowTaskReadyList" resultType="com.qmth.distributed.print.business.bean.result.WorkResult">
         select
-        et.id,
-        et.school_id schoolId,
-        et.org_id as orgId,
-        et.course_code courseCode,
-        et.course_name courseName,
-        et.specialty,
-        et.paper_number paperNumber,
-        et.card_rule_id cardRuleId,
-        case
-        et.card_rule_id when -1 then '全部通卡'
-        else b.name
-        end cardRuleName,
-        art.ASSIGNEE_ as userId,
-        c.real_name userName,
-        et.start_time startTime,
-        et.end_time endTime,
-        tffa.status,
-        et.enable,
-        et.create_time createTime,
-        art.EXECUTION_ID_ as executionId,
-        et.flow_id as flowId,
-        art.NAME_ as taskName,
-        art.TASK_DEF_KEY_ as taskDefKey,
-        art.ID_ as taskId,
-        tffa.setup
-        from
-        (
-        select
-        et.id,
-        et.school_id ,
-        et.org_id,
-        et.course_code,
-        et.course_name,
-        et.specialty,
-        et.paper_number,
-        et.card_rule_id,
-        case
-        et.card_rule_id when -1 then '全部通卡'
-        else b.name
-        end,
-        et.user_id,
-        c.real_name,
-        et.start_time,
-        et.end_time,
-        et.enable,
-        et.create_time,
-        et.flow_id
-        from
-        exam_task et
-        left join basic_card_rule b ON
-        et.card_rule_id = b.id
-        left join sys_user c ON
-        et.user_id = c.id
-        WHERE
-        et.user_id = #{userId}
-        and et.school_id = #{schoolId}
-        and et.flow_id is null
-        union all
-        select
-        et.id,
-        et.school_id,
-        et.org_id,
-        et.course_code,
-        et.course_name,
-        et.specialty,
-        et.paper_number,
-        et.card_rule_id,
-        case
-        et.card_rule_id when -1 then '全部通卡'
-        else b.name
-        end,
-        et.user_id,
-        c.real_name,
-        et.start_time,
-        et.end_time,
-        et.enable,
-        et.create_time,
-        et.flow_id
+            temp.*,
+            c.real_name as userName
         from
-        exam_task et
-        left join basic_card_rule b ON
-        et.card_rule_id = b.id
-        left join sys_user c ON
-        et.user_id = c.id
-        WHERE
-        et.user_id = #{userId}
-        and et.school_id = #{schoolId}
-        and et.flow_id is not null) et
-        left join ACT_RU_TASK art on
-        et.flow_id = art.PROC_INST_ID_
-        left join t_f_flow_approve tffa on
-        tffa.flow_id = et.flow_id
-        left join sys_user c ON
-        art.ASSIGNEE_ = c.id
-        left join basic_card_rule b ON
-        et.card_rule_id = b.id
-        UNION all
-        select
-        et.id,
-        et.school_id schoolId,
-        et.org_id as orgId,
-        et.course_code courseCode,
-        et.course_name courseName,
-        et.specialty,
-        et.paper_number paperNumber,
-        et.card_rule_id cardRuleId,
-        case
-        et.card_rule_id when -1 then '全部通卡'
-        else b.name
-        end cardRuleName,
-        ari.USER_ID_ as userId,
-        c.real_name userName,
-        et.start_time startTime,
-        et.end_time endTime,
-        tffa.status,
-        et.enable,
-        et.create_time createTime,
-        art.EXECUTION_ID_ as executionId,
-        et.flow_id as flowId,
-        art.NAME_ as taskName,
-        art.TASK_DEF_KEY_ as taskDefKey,
-        art.ID_ as taskId,
-        tffa.setup
-        from
-        ACT_RU_TASK art
-        left join exam_task et on
-        et.flow_id = art.PROC_INST_ID_
-        left join act_ru_identitylink ari on
-        ari.TASK_ID_ = art.ID_
-        left join basic_card_rule b ON
-        et.card_rule_id = b.id
-        left join t_f_flow_approve tffa on
-        tffa.flow_id = et.flow_id
+            (
+            select
+                et.id,
+                et.school_id schoolId,
+                et.org_id as orgId,
+                et.course_code courseCode,
+                et.course_name courseName,
+                et.specialty,
+                et.paper_number paperNumber,
+                et.card_rule_id cardRuleId,
+                case
+                    et.card_rule_id when -1 then '全部通卡'
+                    else b.name
+                end cardRuleName,
+                case
+                    when art.ASSIGNEE_ is null then
+                 (
+                    select
+                        ari.USER_ID_
+                    from
+                        act_ru_identitylink ari
+                    where
+                        ari.TASK_ID_ = art.ID_
+                        and art.ASSIGNEE_ is null
+                        and ari.TYPE_ = 'candidate'
+                        and ari.USER_ID_ = #{userId})
+                    else art.ASSIGNEE_
+                end as userId,
+                et.start_time startTime,
+                et.end_time endTime,
+                tffa.status,
+                et.enable,
+                et.create_time createTime,
+                art.EXECUTION_ID_ as executionId,
+                et.flow_id as flowId,
+                art.NAME_ as taskName,
+                art.TASK_DEF_KEY_ as taskDefKey,
+                art.ID_ as taskId,
+                tffa.setup
+            from
+                (
+                select
+                    et.id,
+                    et.school_id ,
+                    et.org_id,
+                    et.course_code,
+                    et.course_name,
+                    et.specialty,
+                    et.paper_number,
+                    et.card_rule_id,
+                    case
+                        et.card_rule_id when -1 then '全部通卡'
+                        else b.name
+                    end,
+                    et.user_id,
+                    et.start_time,
+                    et.end_time,
+                    et.enable,
+                    et.create_time,
+                    et.flow_id
+                from
+                    exam_task et
+                left join basic_card_rule b ON
+                    et.card_rule_id = b.id
+                left join sys_user c ON
+                    et.user_id = c.id
+                WHERE
+                    et.user_id = #{userId}
+                    and et.school_id = #{schoolId}
+                    and et.flow_id is null
+            union all
+                select
+                    et.id,
+                    et.school_id,
+                    et.org_id,
+                    et.course_code,
+                    et.course_name,
+                    et.specialty,
+                    et.paper_number,
+                    et.card_rule_id,
+                    case
+                        et.card_rule_id when -1 then '全部通卡'
+                        else b.name
+                    end,
+                    et.user_id,
+                    et.start_time,
+                    et.end_time,
+                    et.enable,
+                    et.create_time,
+                    et.flow_id
+                from
+                    exam_task et
+                left join basic_card_rule b ON
+                    et.card_rule_id = b.id
+                left join sys_user c ON
+                    et.user_id = c.id
+                WHERE
+                    et.user_id = #{userId}
+                    and et.school_id = #{schoolId}
+                    and et.flow_id is not null) et
+            left join ACT_RU_TASK art on
+                et.flow_id = art.PROC_INST_ID_
+            left join t_f_flow_approve tffa on
+                tffa.flow_id = et.flow_id
+            left join basic_card_rule b ON
+                et.card_rule_id = b.id ) temp
         left join sys_user c ON
-        ari.USER_ID_ = c.id
-        <where>
-            and art.ASSIGNEE_ is null
-            and ari.TYPE_ = 'candidate'
-            <if test="userId != null and userId != ''">
-                and ari.USER_ID_ = #{userId}
-            </if>
-            <if test="schoolId != null and schoolId != ''">
-                and et.school_id = #{schoolId}
-            </if>
-<!--            <if test="orgId != null and orgId != ''">-->
-<!--                and et.org_id = #{orgId}-->
-<!--            </if>-->
-        </where>
+            temp.userId = c.id
     </select>
 
     <select id="findByFlowStatus" resultType="com.qmth.distributed.print.business.entity.ExamTask">