فهرست منبع

[bug]考务数据-课程信息 考务数据-学生信息 查询加上权限控制

caozixuan 4 سال پیش
والد
کامیت
1e2e414740

+ 4 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamDetailMapper.java

@@ -32,7 +32,8 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
                                            @Param("paperNumber") String paperNumber,
                                            @Param("examPlace") String examPlace,
                                            @Param("examRoom") String examRoom,
-                                           @Param("packageCode") String packageCode);
+                                           @Param("packageCode") String packageCode,
+                                           @Param("orgIds") Set<Long> orgIds);
 
     IPage<ExaminationDetailResult> findDetailPage(@Param("page") Page<ExaminationDetailResult> page,
                                                   @Param("schoolId") Long schoolId,
@@ -41,7 +42,8 @@ public interface ExamDetailMapper extends BaseMapper<ExamDetail> {
                                                   @Param("paperNumber") String paperNumber,
                                                   @Param("examPlace") String examPlace,
                                                   @Param("examRoom") String examRoom,
-                                                  @Param("studentParams") String studentParams);
+                                                  @Param("studentParams") String studentParams,
+                                                  @Param("orgIds") Set<Long> orgIds);
 
     IPage<ExaminationDetailResult> findDetailPageById(@Param("page") Page<ExaminationDetailResult> page,
                                                   @Param("examDetailId") Long examDetailId);

+ 4 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailServiceImpl.java

@@ -207,7 +207,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Transactional(rollbackFor = Exception.class)
     @Override
     public IPage<ExaminationResult> findExaminationBriefPage(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String packageCode, int pageNumber, int pageSize) {
-        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode);
+        Set<Long> orgIds = commonService.listSubOrgIds(null);
+        IPage<ExaminationResult> page = examDetailMapper.findBriefPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, packageCode,orgIds);
         List<ExaminationResult> list = page.getRecords();
         for (ExaminationResult examinationResult : list) {
             String examDetailCourseIds = examinationResult.getExamDetailCourseIds();
@@ -265,7 +266,8 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
     @Transactional(rollbackFor = Exception.class)
     @Override
     public IPage<ExaminationDetailResult> findExaminationDetail(Long schoolId, Long printPlanId, String courseCode, String paperNumber, String examPlace, String examRoom, String studentParams, int pageNumber, int pageSize) {
-        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, studentParams);
+        Set<Long> orgIds = commonService.listSubOrgIds(null);
+        return examDetailMapper.findDetailPage(new Page<>(pageNumber, pageSize), schoolId, printPlanId, courseCode, paperNumber, examPlace, examRoom, studentParams,orgIds);
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 16 - 0
distributed-print-business/src/main/resources/mapper/ExamDetailMapper.xml

@@ -117,6 +117,8 @@
         INNER JOIN
         exam_detail_course cou ON det.id = cou.exam_detail_id
         AND det.school_id = cou.school_id
+        LEFT JOIN
+        sys_user b on det.create_id = b.id
         <where>
             <if test="schoolId != null and schoolId > 0">
                 AND det.school_id = #{schoolId}
@@ -133,6 +135,12 @@
             <if test="packageCode != null and packageCode.length > 0">
                 AND det.package_code = #{packageCode}
             </if>
+            <if test="orgIds != null">
+                AND b.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
         GROUP BY det.id
         <trim prefix="having" suffixOverrides="and">
@@ -174,6 +182,8 @@
                 INNER JOIN
             exam_detail det ON cou.exam_detail_id = det.id
                 AND stu.school_id = det.school_id
+                LEFT JOIN
+            sys_user b on det.create_id = b.id
         <where>
             <if test="schoolId != null and schoolId > 0">
                 AND det.school_id = #{schoolId}
@@ -196,6 +206,12 @@
             <if test="studentParams != null and studentParams.length > 0">
                 AND (stu.ticket_number LIKE CONCAT('%',#{studentParams},'%') OR stu.student_code LIKE CONCAT('%',#{studentParams},'%') OR stu.student_name LIKE CONCAT('%',#{studentParams},'%'))
             </if>
+            <if test="orgIds != null">
+                AND b.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>
     <select id="findDetailPageById"