diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseService.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseService.java
index dd053fa6..68149034 100644
--- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseService.java
+++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreBaseService.java
@@ -167,6 +167,30 @@ public class CoreBaseService<T> extends CoreBaseAnnotationParser {
         }
     }
 
+    /**
+     * 批量新增更新数据
+     *
+     * @param list 实体集合
+     * @return
+     */
+    public boolean upsertBatchByTemplate(List<T> list) {
+        if (list.size() > 0) {
+            return list.stream().map(this::upsertByTemplate).anyMatch(o -> o);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 批量新增更新数据
+     *
+     * @param t 实体
+     * @return
+     */
+    public boolean upsertByTemplate(T t) {
+        return sqlManager.upsertByTemplate(t);
+    }
+
     /**
      * 批量新增数据后将ID存入实体
      *
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
index b5018711..8fafaaff 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeSchoolClassService.java
@@ -22,6 +22,7 @@ import javax.validation.constraints.NotNull;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 开课关联班级 Service
@@ -77,6 +78,10 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService<Te
             } catch (Exception e1) {}
         }
         ToolUtils.deleteNullList(teacherOpenCourseMergeSchoolClassList);
+
+        // 过滤掉已经添加的数据
+        teacherOpenCourseMergeSchoolClassList = teacherOpenCourseMergeSchoolClassList.stream().filter(item -> checkCount(item) == 0).collect(Collectors.toList());
+
         if(null != teacherOpenCourseMergeSchoolClassList && teacherOpenCourseMergeSchoolClassList.size()>0){
             for(int i=0;i<teacherOpenCourseMergeSchoolClassList.size();i++){
                 TeacherOpenCourseMergeSchoolClass teacherOpenCourseMergeSchoolClass = teacherOpenCourseMergeSchoolClassList.get(i);
@@ -90,6 +95,20 @@ public class TeacherOpenCourseMergeSchoolClassService extends CoreBaseService<Te
         return msg;
     }
 
+    /**
+     * 根据题目配置查询数量
+     * @param item
+     * @return
+     */
+    private long checkCount(TeacherOpenCourseMergeSchoolClass item) {
+        Long schoolClassId = item.getSchoolClassId();
+        Long openCourseId = item.getTeacherOpenCourseId();
+        return sqlManager.lambdaQuery(TeacherOpenCourseMergeSchoolClass.class).andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseId, openCourseId)
+                .andEq(TeacherOpenCourseMergeSchoolClass::getSchoolClassId, schoolClassId)
+                .andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseMergeSchoolClassStatus, 1)
+                .count();
+    }
+
     /**
      * 支持导入一个班的学生数据
      * @param schoolClassQuery
diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeStudentService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeStudentService.java
index 8a2eb71d..4ceeb0af 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeStudentService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeStudentService.java
@@ -204,6 +204,7 @@ public class TeacherOpenCourseMergeStudentService extends CoreBaseService<Teache
         List<TeacherOpenCourseMergeSchoolClass> mergeSchoolClassList = teacherOpenCourseMergeSchoolClassDao.createLambdaQuery()
                 .andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseId, teacherOpenCourseMergeTeacher.getTeacherOpenCourseId())
                 .andEq(TeacherOpenCourseMergeSchoolClass::getSchoolClassId, student.getClassId())
+                .andEq(TeacherOpenCourseMergeSchoolClass::getTeacherOpenCourseMergeSchoolClassStatus, 1)
                 .select();
 
         Assert.notEmpty(mergeSchoolClassList, "未分配课程!");
diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md
index 7eb6b5ab..b0181283 100644
--- a/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md
+++ b/web/src/main/resources/sql/jlw/teacherOpenCourseQuestionSetting.md
@@ -88,7 +88,8 @@ queryByCondition
   @if(!isEmpty(userIdPlural)){
   and find_in_set(t.user_id,#userIdPlural#)
   @}
-
+  ORDER BY
+  CONVERT(regexp_replace ( t.teacher_open_course_question_setting_name, '[^0-9]+', '' ),unsigned) asc
 
 queryByConditionQuery
 ===
@@ -178,8 +179,8 @@ queryByConditionQuery
   @if(!isEmpty(userIdPlural)){
   and find_in_set(t.user_id,#userIdPlural#)
   @}
-
-
+  ORDER BY
+  CONVERT(regexp_replace ( t.teacher_open_course_question_setting_name, '[^0-9]+', '' ),unsigned) asc
 
 
 logicDeleteBySettingIds