Просмотр исходного кода

流程已审核未审核修改数据权限

wangliang 3 лет назад
Родитель
Сommit
ff83f0bf54

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -34,7 +34,7 @@ public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
     IPage<ExamTaskDto> listTaskReviewUnaudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("createName") String createName, @Param("currentUserId") Long currentUserId);
 
-    IPage<ExamTaskDto> listTaskReviewAudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("reviewStatus") String reviewStatus, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("createName") String createName);
+    IPage<ExamTaskDto> listTaskReviewAudited(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("reviewStatus") String reviewStatus, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("cardRuleId") Long cardRuleId, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("startCreateTime") Long startCreateTime, @Param("endCreateTime") Long endCreateTime, @Param("createName") String createName, @Param("currentUserId") Long currentUserId);
 
     IPage<ExamTaskDetailDto> listTaskPaper(Page<ExamTaskDetailDto> page, @Param("schoolId") Long schoolId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds, @Param("containsQuestionTeacher") boolean containsQuestionTeacher, @Param("userId") Long userId, @Param("makeMethod") MakeMethodEnum makeMethod, @Param("cardRuleId") Long cardRuleId);
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -753,7 +753,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         createName = SystemConstant.translateSpecificSign(createName);
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
-        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskReviewAudited(new Page<>(pageNumber, pageSize), schoolId, reviewStatus, courseCode, paperNumber, userId, cardRuleId, startTime, endTime, orgIds, startCreateTime, endCreateTime, createName);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listTaskReviewAudited(new Page<>(pageNumber, pageSize), schoolId, reviewStatus, courseCode, paperNumber, userId, cardRuleId, startTime, endTime, orgIds, startCreateTime, endCreateTime, createName, sysUser.getId());
         return examTaskDtoIPage;
     }
 

+ 70 - 39
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -318,48 +318,85 @@
     </select>
     <select id="listTaskReviewAudited" resultType="com.qmth.distributed.print.business.bean.dto.ExamTaskDto">
         SELECT
-            distinct a.id,
-            a.school_id schoolId,
-            a.course_code courseCode,
-            a.course_name courseName,
-            a.specialty,
-            a.paper_number paperNumber,
-            a.card_rule_id cardRuleId,
-            case a.card_rule_id when -1 then '全部通卡' else b.name end cardRuleName,
-            a.user_id userId,
-            c.real_name userName,
-            d.real_name createName,
-            a.start_time startTime,
-            a.end_time endTime,
-            f.status auditStatus,
-            a.review_status reviewStatus,
-            a.enable,
-            a.create_id createId,
-            a.create_time createTime,
-            a.status,
-            a.flow_id flowId,
-            f.setup,
-            f.status as flowStatus,
-            a.teacher_name teacherName,
-            a.lecturer_name lecturerName,
-            e.name teachingRoomName
+        distinct a.id,
+        a.school_id schoolId,
+        a.course_code courseCode,
+        a.course_name courseName,
+        a.specialty,
+        a.paper_number paperNumber,
+        a.card_rule_id cardRuleId,
+        case a.card_rule_id when -1 then '全部通卡' else b.name end cardRuleName,
+        a.user_id userId,
+        c.real_name userName,
+        d.real_name createName,
+        a.start_time startTime,
+        a.end_time endTime,
+        f.status auditStatus,
+        a.review_status reviewStatus,
+        a.enable,
+        a.create_id createId,
+        a.create_time createTime,
+        a.status,
+        a.flow_id flowId,
+        f.setup,
+        f.status as flowStatus,
+        a.teacher_name teacherName,
+        a.lecturer_name lecturerName,
+        e.name teachingRoomName
         FROM
-            exam_task a
+        exam_task a
         LEFT JOIN
-            basic_card_rule b ON a.card_rule_id = b.id
+        basic_card_rule b ON a.card_rule_id = b.id
         LEFT JOIN
-            sys_user c ON a.user_id = c.id
+        sys_user c ON a.user_id = c.id
         LEFT JOIN
-            sys_user d ON a.create_id = d.id
+        sys_user d ON a.create_id = d.id
         LEFT JOIN t_f_flow_approve f ON
-            a.flow_id = f.flow_id
+        a.flow_id = f.flow_id
         LEFT JOIN t_f_flow_approve_log tffal ON
-            a.flow_id = tffal.flow_id
+        a.flow_id = tffal.flow_id
         LEFT JOIN
-            sys_org e ON a.teaching_room_id = e.id
+        sys_org e ON a.teaching_room_id = e.id
         <where>
             a.enable = true and a.review = true
-            and EXISTS (select distinct t.PROC_INST_ID_ from ACT_HI_TASKINST t where t.TASK_DEF_KEY_ <![CDATA[ <> ]]> 'usertask1' and t.END_TIME_ is not null and t.PROC_INST_ID_ = a.flow_id)
+            and (f.status = 'AUDITING' or f.status = 'FINISH')
+            and EXISTS (
+            select
+            aht.PROC_INST_ID_
+            from
+            ACT_HI_TASKINST aht
+            where
+            aht.TASK_DEF_KEY_ <![CDATA[ <> ]]> 'usertask1'
+            and aht.ASSIGNEE_ = cast(#{currentUserId} as char)
+            and aht.END_TIME_ is not null
+            union all
+            select
+            t.PROC_INST_ID_
+            from
+            (
+            select
+            ahi.*
+            from
+            ACT_HI_IDENTITYLINK ahi
+            where
+            ahi.TYPE_ = 'candidate'
+            and exists(
+            select
+            distinct aht.id_
+            from
+            ACT_HI_TASKINST aht
+            where
+            aht.TASK_DEF_KEY_ <![CDATA[ <> ]]> 'usertask1'
+            and aht.ASSIGNEE_ is null
+            and aht.END_TIME_ is not null
+            and ahi.TASK_ID_ = aht.id_)
+            and ahi.USER_ID_ = cast(#{currentUserId} as char)) temp
+            join ACT_HI_TASKINST t on
+            t.ID_ = temp.TASK_ID_
+            join t_f_flow_approve_log tffal on
+            tffal.flow_id = t.PROC_INST_ID_
+            where (tffal.primary_approve_id = #{currentUserId} or tffal.second_approve_id = #{currentUserId})
+            and t.PROC_INST_ID_ = a.flow_id)
             <if test="schoolId != null and schoolId != ''">
                 and a.school_id = #{schoolId}
             </if>
@@ -393,12 +430,6 @@
             <if test="createName != null and createName != ''">
                 and d.real_name like concat('%',#{createName},'%')
             </if>
-            <if test="orgIds != null">
-                AND a.org_id IN
-                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
-            </if>
         </where>
         order by a.create_time desc
     </select>