Ver Fonte

bug - 试卷编号下拉条件数据权限控制

caozixuan há 3 anos atrás
pai
commit
1d5f35d094

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

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -24,7 +25,7 @@ public interface ExamDetailCourseMapper extends BaseMapper<ExamDetailCourse> {
 
     List<BasicCourse> listCoursesByPrintPlanId(@Param("param") String param, @Param("printPlanIdList") List<Long> printPlanIdList);
 
-    List<String> listPaperNumberByPrintPlanId(@Param("param") String param, @Param("printPlanIdList") List<Long> printPlanIdList);
+    List<String> listPaperNumberByPrintPlanId(@Param("param") String param, @Param("printPlanIdList") List<Long> printPlanIdList, @Param("orgIds") Set<Long> orgIds);
 
     List<ExamDetailCourse> listByPrintPlanIdAndCourseCodeAndPaperNumber(@Param("schoolId") Long schoolId, @Param("printPlanId") Long printPlanId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber);
 

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

@@ -6,6 +6,7 @@ import com.qmth.teachcloud.common.entity.BasicCourse;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -32,7 +33,7 @@ public interface ExamDetailCourseService extends IService<ExamDetailCourse> {
 
     List<BasicCourse> listCoursesByPrintPlanId(String param, List<Long> printPlanIdList);
 
-    List<String> listPaperNumberByPrintPlanId(String param, List<Long> printPlanIdList);
+    List<String> listPaperNumberByPrintPlanId(String param, List<Long> printPlanIdList, Set<Long> orgIds);
 
     List<ExamDetailCourse> listByPrintPlanIdAndCourseCodeAndPaperNumber(Long schoolId, Long printPlanId, String courseCode, String paperNumber);
 

+ 3 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamDetailCourseServiceImpl.java

@@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -62,8 +63,8 @@ public class ExamDetailCourseServiceImpl extends ServiceImpl<ExamDetailCourseMap
     }
 
     @Override
-    public List<String> listPaperNumberByPrintPlanId(String param, List<Long> printPlanIdList) {
-        return this.baseMapper.listPaperNumberByPrintPlanId(SystemConstant.translateSpecificSign(param), printPlanIdList);
+    public List<String> listPaperNumberByPrintPlanId(String param, List<Long> printPlanIdList, Set<Long> orgIds) {
+        return this.baseMapper.listPaperNumberByPrintPlanId(SystemConstant.translateSpecificSign(param), printPlanIdList,orgIds);
     }
 
     @Override

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

@@ -164,10 +164,14 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Override
     public List<String> listPaperNumber(String param, List<Long> printPlanIdList) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
         if (printPlanIdList.size() == 0) {
             // 查询命题任务中的试卷编号
             QueryWrapper<ExamTask> queryWrapperExamTask = new QueryWrapper<>();
             queryWrapperExamTask.lambda().eq(ExamTask::getSchoolId, schoolId);
+            if (orgIds.size() > 0){
+                queryWrapperExamTask.lambda().in(ExamTask::getOrgId,orgIds);
+            }
             List<String> list = new ArrayList<>();
             if (StringUtils.isNotBlank(param)) {
                 queryWrapperExamTask.lambda().and(i -> i.like(ExamTask::getCourseCode, SystemConstant.translateSpecificSign(param)).or().like(ExamTask::getCourseName, SystemConstant.translateSpecificSign(param)));
@@ -180,6 +184,9 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             // 查询考务-科目中的试卷编号
             QueryWrapper<ExamDetailCourse> queryWrapperExamDetailCourse = new QueryWrapper<>();
             queryWrapperExamDetailCourse.lambda().eq(ExamDetailCourse::getSchoolId, schoolId);
+            if (orgIds.size() > 0){
+                queryWrapperExamDetailCourse.lambda().in(ExamDetailCourse::getOrgId,orgIds);
+            }
             List<String> list2 = new ArrayList<>();
             if (StringUtils.isNotBlank(param)) {
                 queryWrapperExamDetailCourse.lambda().and(i -> i.like(ExamDetailCourse::getCourseCode, SystemConstant.translateSpecificSign(param))
@@ -192,7 +199,7 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
             list.addAll(list2);
             return list.stream().distinct().collect(Collectors.toList());
         } else {
-            return examDetailCourseService.listPaperNumberByPrintPlanId(param, printPlanIdList);
+            return examDetailCourseService.listPaperNumberByPrintPlanId(param, printPlanIdList,orgIds);
         }
     }
 

+ 1 - 1
distributed-print-business/src/main/resources/mapper/BasicStudentMapper.xml

@@ -46,7 +46,7 @@
             <if test="schoolId != null and schoolId > 0">
                 and stu.school_id = #{schoolId}
             </if>
-            <if test="orgIds != null and orgIds.size > 0">
+            <if test="orgIds != null">
                 AND stu.org_id IN
                 <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
                     #{item}

+ 6 - 0
distributed-print-business/src/main/resources/mapper/ExamDetailCourseMapper.xml

@@ -92,6 +92,12 @@
             <if test="param != null and param != ''">
                 and a.paper_number like concat('%', #{param},'%')
             </if>
+            <if test="orgIds != null">
+                AND a.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>
     <select id="listByPrintPlanIdAndCourseCodeAndPaperNumber" resultMap="BaseResultMap">