diff --git a/ruoyi-ui/src/api/system/class.js b/ruoyi-ui/src/api/system/class.js
index 2825599c4..a401cd3f4 100644
--- a/ruoyi-ui/src/api/system/class.js
+++ b/ruoyi-ui/src/api/system/class.js
@@ -9,6 +9,15 @@ export function listClass(query) {
     })
 }
 
+// 查询班级信息列表
+export function listClassAll(query) {
+    return request({
+        url: '/system/class/listall',
+        method: 'get',
+        params: query
+    })
+}
+
 // 查询班级信息详细
 export function getClass(bjbh) {
     return request({
diff --git a/ruoyi-ui/src/views/benyi/mathtermplanapproval/index.vue b/ruoyi-ui/src/views/benyi/mathtermplanapproval/index.vue
index 7bc29da08..cd3e877a1 100644
--- a/ruoyi-ui/src/views/benyi/mathtermplanapproval/index.vue
+++ b/ruoyi-ui/src/views/benyi/mathtermplanapproval/index.vue
@@ -107,8 +107,7 @@
       <el-table-column
         label="班级名称"
         align="center"
-        prop="classid"
-        :formatter="classFormat"
+        prop="byClass.bjmc"
       />
       <el-table-column label="开始月份" align="center" prop="startmonth">
         <template slot-scope="scope">
@@ -329,18 +328,6 @@ export default {
         this.loading = false;
       });
     },
-    // 字典翻译
-    classFormat(row, column) {
-      var actions = [];
-      var datas = this.classOptions;
-      Object.keys(datas).map((key) => {
-        if (datas[key].bjbh == "" + row.classid) {
-          actions.push(datas[key].bjmc);
-          return false;
-        }
-      });
-      return actions.join("");
-    },
     // 学年学期字典翻译
     xnxqFormat(row, column) {
       return this.selectDictLabel(this.xnxqOptions, row.xnxq);
diff --git a/ruoyi-ui/src/views/benyi/teacherassessment/index.vue b/ruoyi-ui/src/views/benyi/teacherassessment/index.vue
index 422f79b63..05bfea41b 100644
--- a/ruoyi-ui/src/views/benyi/teacherassessment/index.vue
+++ b/ruoyi-ui/src/views/benyi/teacherassessment/index.vue
@@ -22,7 +22,6 @@
         <el-col :xs="24" :ms="12" :md="5">
           <el-form-item label="选择教师" prop="jsid">
             <el-select
-              ref="fieldSelect"
               v-model="queryParams.jsid"
               clearable
               size="small"
@@ -383,13 +382,6 @@ export default {
       });
     },
   },
-  mounted() {
-    this.$nextTick(function () {
-      this.$refs.fieldSelect.$refs.scrollbar.$el.classList.add(
-        "scroll-opacity"
-      );
-    });
-  },
   methods: {
     /** 查询教师月绩效考核列表 */
     getList() {
@@ -572,9 +564,4 @@ export default {
 .no-margin ::v-deep.el-form-item__content {
   margin: 0 !important;
 }
-.el-select-dropdown
-  .scroll-opacity.el-scrollbar
-  .el-scrollbar__bar.is-vertical {
-  opacity: 1; //改为0不显示滚动条
-}
 </style>
\ No newline at end of file
diff --git a/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue b/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue
index a018eb0ad..5e8ba2374 100644
--- a/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue
+++ b/ruoyi-ui/src/views/benyi/thememonthplanapproval/index.vue
@@ -131,8 +131,7 @@
       <el-table-column
         label="班级名称"
         align="center"
-        prop="classid"
-        :formatter="classFormat"
+        prop="byClass.bjmc"
       />
       <el-table-column
         label="学年学期"
@@ -390,19 +389,6 @@ export default {
         this.themeOptions = response.rows;
       });
     },
-    // 字典翻译
-    classFormat(row, column) {
-      // return this.selectDictLabel(this.classOptions, row.classid);
-      var actions = [];
-      var datas = this.classOptions;
-      Object.keys(datas).map((key) => {
-        if (datas[key].bjbh == "" + row.classid) {
-          actions.push(datas[key].bjmc);
-          return false;
-        }
-      });
-      return actions.join("");
-    },
     // 学年学期类型--字典状态字典翻译
     xnxqFormat(row, column) {
       return this.selectDictLabel(this.xnxqOptions, row.xnxq);
diff --git a/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue b/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue
index d0583afcc..57c31ee89 100644
--- a/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue
+++ b/ruoyi-ui/src/views/benyi/themetermplanapproval/index.vue
@@ -107,8 +107,7 @@
       <el-table-column
         label="班级名称"
         align="center"
-        prop="classid"
-        :formatter="classFormat"
+        prop="byClass.bjmc"
       />
       <el-table-column label="开始月份" align="center" prop="startmonth">
         <template slot-scope="scope">
@@ -312,19 +311,6 @@ export default {
         return true;
       }
     },
-    // 字典翻译
-    classFormat(row, column) {
-      // return this.selectDictLabel(this.classOptions, row.classid);
-      var actions = [];
-      var datas = this.classOptions;
-      Object.keys(datas).map((key) => {
-        if (datas[key].bjbh == "" + row.classid) {
-          actions.push(datas[key].bjmc);
-          return false;
-        }
-      });
-      return actions.join("");
-    },
     // 学年学期类型--字典状态字典翻译
     xnxqFormat(row, column) {
       return this.selectDictLabel(this.xnxqOptions, row.xnxq);
diff --git a/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue b/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue
index afdf65821..a6973a0c9 100644
--- a/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue
+++ b/ruoyi-ui/src/views/benyi/themeweekplanapproval/index.vue
@@ -132,8 +132,7 @@
       <el-table-column
         label="班级名称"
         align="center"
-        prop="classid"
-        :formatter="classFormat"
+        prop="byClass.bjmc"
       />
       <el-table-column label="所属月份" align="center" prop="month">
         <template slot-scope="scope">
@@ -357,19 +356,6 @@ export default {
     xnxqFormat(row, column) {
       return this.selectDictLabel(this.xnxqOptions, row.xnxq);
     },
-    // 字典翻译
-    classFormat(row, column) {
-      // return this.selectDictLabel(this.classOptions, row.classid);
-      var actions = [];
-      var datas = this.classOptions;
-      Object.keys(datas).map((key) => {
-        if (datas[key].bjbh == "" + row.classid) {
-          actions.push(datas[key].bjmc);
-          return false;
-        }
-      });
-      return actions.join("");
-    },
     /** 查询主题整合周计划(根据月计划明细)列表 */
     getList() {
       this.loading = true;
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMathTermplan.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMathTermplan.java
index cbc208a69..835b60386 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMathTermplan.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByMathTermplan.java
@@ -3,6 +3,7 @@ package com.ruoyi.project.benyi.domain;
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.project.system.domain.ByClass;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -91,6 +92,16 @@ public class ByMathTermplan extends BaseEntity {
     @Excel(name = "创建人")
     private Long createuserid;
 
+    public ByClass getByClass() {
+        return byClass;
+    }
+
+    public void setByClass(ByClass byClass) {
+        this.byClass = byClass;
+    }
+
+    private ByClass byClass;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -204,6 +215,7 @@ public class ByMathTermplan extends BaseEntity {
                 .append("remark", getRemark())
                 .append("createuserid", getCreateuserid())
                 .append("createTime", getCreateTime())
+                .append("byClass", getByClass())
                 .toString();
     }
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeMonthplan.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeMonthplan.java
index cb5fcf18c..227e142ff 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeMonthplan.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeMonthplan.java
@@ -3,6 +3,7 @@ package com.ruoyi.project.benyi.domain;
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.project.system.domain.ByClass;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -114,6 +115,16 @@ public class ByThemeMonthplan extends BaseEntity {
     @Excel(name = "当前状态")
     private String status;
 
+    public ByClass getByClass() {
+        return byClass;
+    }
+
+    public void setByClass(ByClass byClass) {
+        this.byClass = byClass;
+    }
+
+    private ByClass byClass;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -262,6 +273,7 @@ public class ByThemeMonthplan extends BaseEntity {
                 .append("sptime", getSptime())
                 .append("spyj", getSpyj())
                 .append("status", getStatus())
+                .append("byClass", getByClass())
                 .toString();
     }
 }
\ No newline at end of file
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeTermplan.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeTermplan.java
index 24dc2ce55..cc9dfb19f 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeTermplan.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeTermplan.java
@@ -3,6 +3,7 @@ package com.ruoyi.project.benyi.domain;
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.project.system.domain.ByClass;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -91,6 +92,16 @@ public class ByThemeTermplan extends BaseEntity {
     @Excel(name = "审核意见")
     private String shyj;
 
+    public ByClass getByClass() {
+        return byClass;
+    }
+
+    public void setByClass(ByClass byClass) {
+        this.byClass = byClass;
+    }
+
+    private ByClass byClass;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -204,6 +215,7 @@ public class ByThemeTermplan extends BaseEntity {
                 .append("spr", getSpr())
                 .append("sptime", getSptime())
                 .append("shyj", getShyj())
+                .append("byClass", getByClass())
                 .toString();
     }
 }
\ No newline at end of file
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java
index 145a3f4d3..f71de63f2 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByThemeWeekplan.java
@@ -3,6 +3,7 @@ package com.ruoyi.project.benyi.domain;
 import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.project.system.domain.ByClass;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -90,6 +91,16 @@ public class ByThemeWeekplan extends BaseEntity {
     @Excel(name = "学年学期")
     private String xnxq;
 
+    public ByClass getByClass() {
+        return byClass;
+    }
+
+    public void setByClass(ByClass byClass) {
+        this.byClass = byClass;
+    }
+
+    private ByClass byClass;
+
     public void setId(String id) {
         this.id = id;
     }
@@ -203,6 +214,7 @@ public class ByThemeWeekplan extends BaseEntity {
                 .append("createuserid", getCreateuserid())
                 .append("createTime", getCreateTime())
                 .append("xnxq", getXnxq())
+                .append("byClass", getByClass())
                 .toString();
     }
 }
\ No newline at end of file
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByChildMapper.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByChildMapper.java
index 9d1201561..abfa13bce 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByChildMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByChildMapper.java
@@ -51,6 +51,14 @@ public interface ByChildMapper {
      */
     public int updateByChild(ByChild byChild);
 
+    /**
+     * 修改幼儿信息
+     *
+     * @param byChild 幼儿信息
+     * @return 结果
+     */
+    public int updateByChildClassId(ByChild byChild);
+
     /**
      * 删除幼儿信息
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByChildService.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByChildService.java
index 83d4866d2..c7e82bf78 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByChildService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByChildService.java
@@ -51,6 +51,14 @@ public interface IByChildService {
      */
     public int updateByChild(ByChild byChild);
 
+    /**
+     * 修改幼儿信息
+     *
+     * @param byChild 幼儿信息
+     * @return 结果
+     */
+    public int updateByChildClassId(ByChild byChild);
+
     /**
      * 批量删除幼儿信息
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByChildServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByChildServiceImpl.java
index 7f6b88945..bdf7c4d7b 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByChildServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByChildServiceImpl.java
@@ -85,6 +85,17 @@ public class ByChildServiceImpl implements IByChildService {
         return byChildMapper.updateByChild(byChild);
     }
 
+    /**
+     * 修改幼儿信息
+     *
+     * @param byChild 幼儿信息
+     * @return 结果
+     */
+    @Override
+    public int updateByChildClassId(ByChild byChild){
+        return byChildMapper.updateByChildClassId(byChild);
+    }
+
     /**
      * 批量删除幼儿信息
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/controller/ByClassController.java b/ruoyi/src/main/java/com/ruoyi/project/system/controller/ByClassController.java
index 1e02af11a..5c9e74ec3 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/controller/ByClassController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/controller/ByClassController.java
@@ -50,12 +50,12 @@ public class ByClassController extends BaseController {
     public TableDataInfo list(ByClass byClass) {
         List<ByClass> list = null;
         String classId = schoolCommon.getClassId();
-        String classIdAndschoolAdmin=schoolCommon.getClassIdOrSchoolAdmin();
+        String classIdAndschoolAdmin = schoolCommon.getClassIdOrSchoolAdmin();
         //如果是幼儿园教师 只显示当前班级
         if (schoolCommon.isSchool() && !schoolCommon.isStringEmpty(classId)) {
             byClass.setBjbh(classId);
             //如果包含~ 说明是班级教师和管理员角色
-            if(classIdAndschoolAdmin.contains("~")){
+            if (classIdAndschoolAdmin.contains("~")) {
                 System.out.println("多角色");
                 byClass.setBjbh("");
             }
@@ -66,6 +66,29 @@ public class ByClassController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 所有班级信息 包括已删除
+     */
+    @GetMapping("/listall")
+    public TableDataInfo listall(ByClass byClass) {
+        List<ByClass> list = null;
+        String classId = schoolCommon.getClassId();
+        String classIdAndschoolAdmin = schoolCommon.getClassIdOrSchoolAdmin();
+        //如果是幼儿园教师 只显示当前班级
+        if (schoolCommon.isSchool() && !schoolCommon.isStringEmpty(classId)) {
+            byClass.setBjbh(classId);
+            //如果包含~ 说明是班级教师和管理员角色
+            if (classIdAndschoolAdmin.contains("~")) {
+                System.out.println("多角色");
+                byClass.setBjbh("");
+            }
+        } else {
+        }
+        startPage();
+        list = byClassService.selectByClassListAll(byClass);
+        return getDataTable(list);
+    }
+
     /**
      * 导出班级信息列表
      */
@@ -135,6 +158,7 @@ public class ByClassController extends BaseController {
             byClass.setBjbh(strBjbh);
             byClass.setDeptId(SecurityUtils.getLoginUser().getUser().getDept().getDeptId());
             byClass.setXn(schoolCommon.getCurrentXn());
+            byClass.setJbny(new Date());
             byClass.setCreatetime(new Date());
             return toAjax(byClassService.insertByClass(byClass));
         } else {
@@ -149,11 +173,14 @@ public class ByClassController extends BaseController {
     @Log(title = "班级信息", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ByClass byClass) {
+        int iRows = 0;
         //首先判断 当前用户是否为学校
         if (schoolCommon.isSchool()) {
 
             //判断主班教师、配班教师、助理教师的值是否有变化
+            String newClassName = byClass.getBjmc();
             ByClass byClassNew = byClassService.selectByClassById(byClass.getBjbh());
+            byClass.setBjmc(byClassNew.getBjmc());//暂时班级名称不变
             if (byClass.getZbjs() != null) {
                 if (byClassNew.getZbjs() == null || !byClassNew.getZbjs().equals(byClass.getZbjs())) {
                     ByClass byClassInfoNew = new ByClass();
@@ -190,9 +217,41 @@ public class ByClassController extends BaseController {
                     }
                 }
             }
+            iRows = iRows + byClassService.updateByClass(byClass);
+
+            //如果班级类型或班级名称发生变化认为是升班级 小班->中班
+            String strClassId = byClass.getBjbh();
+            String oldClassName = byClassNew.getBjmc();
+            String oldClassType = byClassNew.getBjtype();
+            if (!oldClassName.equals(newClassName) || !oldClassType.equals(byClass.getBjtype())) {
+                System.out.println("班级名称或类型发生改变");
+                //新建班级,删除旧班级
+                ByClass byClassCreate = byClassService.selectByClassById(strClassId);
+                String strClassNewBjbh = schoolCommon.getUuid();
+                byClassCreate.setBjbh(strClassNewBjbh);
+                byClassCreate.setBjmc(newClassName);
+                byClassCreate.setXn(schoolCommon.getCurrentXn());
+                byClassCreate.setJbny(new Date());
+                byClassCreate.setCreatetime(new Date());
+
+                iRows = iRows + byClassService.insertByClass(byClassCreate);
+                //此时应该降该班级下的幼儿转到新班级
+                ByChild byChild = new ByChild();
+                byChild.setClassid(strClassId);
+                List<ByChild> list = byChildService.selectByChildList(byChild);
+                if (list != null && list.size() > 0) {
+                    ByChild byChildNew = new ByChild();
+                    byChildNew.setPhone(strClassId);//暂用phone传值,旧班级id
+                    byChildNew.setClassid(strClassNewBjbh);
+                    //更新到新班级
+                    byChildService.updateByChildClassId(byChildNew);
+                }
+
+                iRows = iRows + byClassService.deleteByClassById(strClassId);
+            }
 
 
-            return toAjax(byClassService.updateByClass(byClass));
+            return toAjax(iRows);
         }
         return AjaxResult.error("当前用户非幼儿园,无法编辑班级");
     }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/ByClassMapper.java b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/ByClassMapper.java
index cd143bf84..6d41bbf38 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/mapper/ByClassMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/mapper/ByClassMapper.java
@@ -27,6 +27,14 @@ public interface ByClassMapper
      */
     public List<ByClass> selectByClassList(ByClass byClass);
 
+    /**
+     * 查询班级信息列表
+     *
+     * @param byClass 班级信息
+     * @return 班级信息集合
+     */
+    public List<ByClass> selectByClassListAll(ByClass byClass);
+
     //通过userID查询class
     public ByClass selectByClassByUserId(ByClass byClass);
 
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/IByClassService.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/IByClassService.java
index fa6a23c02..83b93b3e5 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/IByClassService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/IByClassService.java
@@ -30,6 +30,14 @@ public interface IByClassService
      */
     public List<ByClass> selectByClassList(ByClass byClass);
 
+    /**
+     * 查询班级信息列表
+     *
+     * @param byClass 班级信息
+     * @return 班级信息集合
+     */
+    public List<ByClass> selectByClassListAll(ByClass byClass);
+
     /**
      * 新增班级信息
      *
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/ByClassServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/ByClassServiceImpl.java
index 4216b5823..0021ff1da 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/ByClassServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/ByClassServiceImpl.java
@@ -48,6 +48,18 @@ public class ByClassServiceImpl implements IByClassService {
         return byClassMapper.selectByClassList(byClass);
     }
 
+    /**
+     * 查询班级信息列表
+     *
+     * @param byClass 班级信息
+     * @return 班级信息集合
+     */
+    @Override
+    @DataScope(deptAlias = "d")
+    public List<ByClass> selectByClassListAll(ByClass byClass) {
+        return byClassMapper.selectByClassListAll(byClass);
+    }
+
     /**
      * 新增班级信息
      *
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByChildMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByChildMapper.xml
index 8aaabe49f..b32ed01cd 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByChildMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByChildMapper.xml
@@ -403,6 +403,14 @@
         where id = #{id}
     </update>
 
+    <update id="updateByChildClassId" parameterType="ByChild">
+        update by_child
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="classid != null  and classid != ''">classid = #{classid},</if>
+        </trim>
+        where classid = #{phone}
+    </update>
+
     <delete id="deleteByChildById" parameterType="Long">
         delete from by_child where id = #{id}
     </delete>
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByMathTermplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByMathTermplanMapper.xml
index 5db7eb880..6e1ef024d 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByMathTermplanMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByMathTermplanMapper.xml
@@ -19,33 +19,51 @@
         <result property="remark" column="remark"/>
         <result property="createuserid" column="createuserid"/>
         <result property="createTime" column="create_time"/>
+        <association property="byClass" column="classid" javaType="ByClass" resultMap="ByClassResult"/>
+    </resultMap>
+
+    <resultMap type="ByClass" id="ByClassResult">
+        <result property="bjbh" column="bjbh"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="bjtype" column="bjtype"/>
+        <result property="bhxh" column="bhxh"/>
+        <result property="xn" column="xn"/>
+        <result property="bjmc" column="bjmc"/>
+        <result property="bjrych" column="bjrych"/>
+        <result property="jbny" column="jbny"/>
+        <result property="zbjs" column="zbjs"/>
+        <result property="pbjs" column="pbjs"/>
+        <result property="zljs" column="zljs"/>
+        <result property="isdel" column="isdel"/>
+        <result property="createtime" column="createtime"/>
     </resultMap>
 
     <sql id="selectByMathTermplanVo">
-        select id, schoolid, classid, name, startmonth, endmonth, xnxq, status, spr, sptime, spyj, remark, createuserid, create_time from by_math_termplan
+        select a.id, a.schoolid, a.classid, b.bjmc,a.name, a.startmonth, a.endmonth, a.xnxq, a.status, a.spr, a.sptime, a.spyj, a.remark, a.createuserid, a.create_time from by_math_termplan a
+        left join by_class b on a.classid=b.bjbh
     </sql>
 
     <select id="selectByMathTermplanList" parameterType="ByMathTermplan" resultMap="ByMathTermplanResult">
         <include refid="selectByMathTermplanVo"/>
         <where>
-            <if test="schoolid != null ">and schoolid = #{schoolid}</if>
-            <if test="classid != null  and classid != ''">and classid = #{classid}</if>
-            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
-            <if test="startmonth != null ">and startmonth = #{startmonth}</if>
-            <if test="endmonth != null ">and endmonth = #{endmonth}</if>
-            <if test="xnxq != null  and xnxq != ''">and xnxq = #{xnxq}</if>
-            <if test="status != null  and status != ''">and status = #{status}</if>
-            <if test="spr != null ">and spr = #{spr}</if>
-            <if test="sptime != null ">and sptime = #{sptime}</if>
-            <if test="spyj != null  and spyj != ''">and spyj = #{spyj}</if>
-            <if test="createuserid != null ">and createuserid = #{createuserid}</if>
+            <if test="schoolid != null ">and a.schoolid = #{schoolid}</if>
+            <if test="classid != null  and classid != ''">and a.classid = #{classid}</if>
+            <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
+            <if test="startmonth != null ">and a.startmonth = #{startmonth}</if>
+            <if test="endmonth != null ">and a.endmonth = #{endmonth}</if>
+            <if test="xnxq != null  and xnxq != ''">and a.xnxq = #{xnxq}</if>
+            <if test="status != null  and status != ''">and a.status = #{status}</if>
+            <if test="spr != null ">and a.spr = #{spr}</if>
+            <if test="sptime != null ">and a.sptime = #{sptime}</if>
+            <if test="spyj != null  and spyj != ''">and a.spyj = #{spyj}</if>
+            <if test="createuserid != null ">and a.createuserid = #{createuserid}</if>
         </where>
-        order by create_time desc
+        order by a.create_time desc
     </select>
 
     <select id="selectByMathTermplanById" parameterType="String" resultMap="ByMathTermplanResult">
         <include refid="selectByMathTermplanVo"/>
-        where id = #{id}
+        where a.id = #{id}
     </select>
 
     <insert id="insertByMathTermplan" parameterType="ByMathTermplan">
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml
index b7c7f7a82..bb5c5d6cc 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeMonthplanMapper.xml
@@ -5,54 +5,72 @@
 <mapper namespace="com.ruoyi.project.benyi.mapper.ByThemeMonthplanMapper">
 
     <resultMap type="ByThemeMonthplan" id="ByThemeMonthplanResult">
-        <result property="id"    column="id"    />
-        <result property="name"    column="name"    />
-        <result property="schoolid"    column="schoolid"    />
-        <result property="classid"    column="classid"    />
-        <result property="xnxq"    column="xnxq"    />
-        <result property="month"    column="month"    />
-        <result property="themes"    column="themes"    />
-        <result property="selfthemes"    column="selfthemes"    />
-        <result property="wxkc"    column="wxkc"    />
-        <result property="support"    column="support"    />
-        <result property="remarks"    column="remarks"    />
-        <result property="createuserid"    column="createuserid"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="spr"    column="spr"    />
-        <result property="sptime"    column="sptime"    />
-        <result property="spyj"    column="spyj"    />
-        <result property="status"    column="status"    />
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="schoolid" column="schoolid"/>
+        <result property="classid" column="classid"/>
+        <result property="xnxq" column="xnxq"/>
+        <result property="month" column="month"/>
+        <result property="themes" column="themes"/>
+        <result property="selfthemes" column="selfthemes"/>
+        <result property="wxkc" column="wxkc"/>
+        <result property="support" column="support"/>
+        <result property="remarks" column="remarks"/>
+        <result property="createuserid" column="createuserid"/>
+        <result property="createTime" column="create_time"/>
+        <result property="spr" column="spr"/>
+        <result property="sptime" column="sptime"/>
+        <result property="spyj" column="spyj"/>
+        <result property="status" column="status"/>
+        <association property="byClass" column="classid" javaType="ByClass" resultMap="ByClassResult"/>
+    </resultMap>
+
+    <resultMap type="ByClass" id="ByClassResult">
+        <result property="bjbh" column="bjbh"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="bjtype" column="bjtype"/>
+        <result property="bhxh" column="bhxh"/>
+        <result property="xn" column="xn"/>
+        <result property="bjmc" column="bjmc"/>
+        <result property="bjrych" column="bjrych"/>
+        <result property="jbny" column="jbny"/>
+        <result property="zbjs" column="zbjs"/>
+        <result property="pbjs" column="pbjs"/>
+        <result property="zljs" column="zljs"/>
+        <result property="isdel" column="isdel"/>
+        <result property="createtime" column="createtime"/>
     </resultMap>
 
     <sql id="selectByThemeMonthplanVo">
-        select id, name, schoolid, classid, xnxq, month, themes, selfthemes, wxkc, support, remarks, createuserid, create_time, spr, sptime, spyj, status from by_theme_monthplan
+        select a.id, a.name, a.schoolid, a.classid, b.bjmc,a.xnxq, a.month, a.themes, a.selfthemes, a.wxkc, a.support, a.remarks, a.createuserid, a.create_time, a.spr, a.sptime, a.spyj, a.status from by_theme_monthplan a
+        left join by_class b on a.classid=b.bjbh
     </sql>
 
     <select id="selectByThemeMonthplanList" parameterType="ByThemeMonthplan" resultMap="ByThemeMonthplanResult">
         <include refid="selectByThemeMonthplanVo"/>
         <where>
-            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
-            <if test="schoolid != null "> and schoolid = #{schoolid}</if>
-            <if test="classid != null  and classid != ''"> and classid = #{classid}</if>
-            <if test="xnxq != null  and xnxq != ''"> and xnxq = #{xnxq}</if>
-            <if test="month != null "> and month = #{month}</if>
-            <if test="themes != null  and themes != ''"> and themes = #{themes}</if>
-            <if test="selfthemes != null  and selfthemes != ''"> and selfthemes = #{selfthemes}</if>
-            <if test="wxkc != null  and wxkc != ''"> and wxkc = #{wxkc}</if>
-            <if test="support != null  and support != ''"> and support = #{support}</if>
-            <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
-            <if test="createuserid != null "> and createuserid = #{createuserid}</if>
-            <if test="spr != null "> and spr = #{spr}</if>
-            <if test="sptime != null "> and sptime = #{sptime}</if>
-            <if test="spyj != null  and spyj != ''"> and spyj = #{spyj}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
+            <if test="schoolid != null ">and a.schoolid = #{schoolid}</if>
+            <if test="classid != null  and classid != ''">and a.classid = #{classid}</if>
+            <if test="xnxq != null  and xnxq != ''">and a.xnxq = #{xnxq}</if>
+            <if test="month != null ">and a.month = #{month}</if>
+            <if test="themes != null  and themes != ''">and a.themes = #{themes}</if>
+            <if test="selfthemes != null  and selfthemes != ''">and a.selfthemes = #{selfthemes}</if>
+            <if test="wxkc != null  and wxkc != ''">and a.wxkc = #{wxkc}</if>
+            <if test="support != null  and support != ''">and a.support = #{support}</if>
+            <if test="remarks != null  and remarks != ''">and a.remarks = #{remarks}</if>
+            <if test="createuserid != null ">and a.createuserid = #{createuserid}</if>
+            <if test="spr != null ">and a.spr = #{spr}</if>
+            <if test="sptime != null ">and a.sptime = #{sptime}</if>
+            <if test="spyj != null  and spyj != ''">and a.spyj = #{spyj}</if>
+            <if test="status != null  and status != ''">and a.status = #{status}</if>
         </where>
-        order by month desc
+        order by a.month desc
     </select>
 
     <select id="selectByThemeMonthplanById" parameterType="String" resultMap="ByThemeMonthplanResult">
         <include refid="selectByThemeMonthplanVo"/>
-        where id = #{id}
+        where a.id = #{id}
     </select>
 
     <insert id="insertByThemeMonthplan" parameterType="ByThemeMonthplan">
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeTermplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeTermplanMapper.xml
index b1efe7e65..63ee1b715 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByThemeTermplanMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeTermplanMapper.xml
@@ -19,33 +19,51 @@
         <result property="spr" column="spr"/>
         <result property="sptime" column="sptime"/>
         <result property="shyj" column="shyj"/>
+        <association property="byClass" column="classid" javaType="ByClass" resultMap="ByClassResult"/>
+    </resultMap>
+
+    <resultMap type="ByClass" id="ByClassResult">
+        <result property="bjbh" column="bjbh"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="bjtype" column="bjtype"/>
+        <result property="bhxh" column="bhxh"/>
+        <result property="xn" column="xn"/>
+        <result property="bjmc" column="bjmc"/>
+        <result property="bjrych" column="bjrych"/>
+        <result property="jbny" column="jbny"/>
+        <result property="zbjs" column="zbjs"/>
+        <result property="pbjs" column="pbjs"/>
+        <result property="zljs" column="zljs"/>
+        <result property="isdel" column="isdel"/>
+        <result property="createtime" column="createtime"/>
     </resultMap>
 
     <sql id="selectByThemeTermplanVo">
-        select id, schoolid, classid, name, startmonth, endmonth, xnxq, remark, createuserid, create_time, status, spr, sptime, shyj from by_theme_termplan
+        select a.id, a.schoolid, a.classid, b.bjmc ,a.name, a.startmonth, a.endmonth, a.xnxq, a.remark, a.createuserid, a.create_time, a.status, a.spr, a.sptime, a.shyj from by_theme_termplan a
+        left join by_class b on a.classid=b.bjbh
     </sql>
 
     <select id="selectByThemeTermplanList" parameterType="ByThemeTermplan" resultMap="ByThemeTermplanResult">
         <include refid="selectByThemeTermplanVo"/>
         <where>
-            <if test="schoolid != null ">and schoolid = #{schoolid}</if>
-            <if test="classid != null  and classid != ''">and classid = #{classid}</if>
-            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
-            <if test="startmonth != null ">and startmonth = #{startmonth}</if>
-            <if test="endmonth != null ">and endmonth = #{endmonth}</if>
-            <if test="xnxq != null  and xnxq != ''">and xnxq = #{xnxq}</if>
-            <if test="createuserid != null ">and createuserid = #{createuserid}</if>
-            <if test="status != null  and status != ''">and status = #{status}</if>
-            <if test="spr != null ">and spr = #{spr}</if>
-            <if test="sptime != null ">and sptime = #{sptime}</if>
-            <if test="shyj != null  and shyj != ''">and shyj = #{shyj}</if>
+            <if test="schoolid != null ">and a.schoolid = #{schoolid}</if>
+            <if test="classid != null  and classid != ''">and a.classid = #{classid}</if>
+            <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
+            <if test="startmonth != null ">and a.startmonth = #{startmonth}</if>
+            <if test="endmonth != null ">and a.endmonth = #{endmonth}</if>
+            <if test="xnxq != null  and xnxq != ''">and a.xnxq = #{xnxq}</if>
+            <if test="createuserid != null ">and a.createuserid = #{createuserid}</if>
+            <if test="status != null  and status != ''">and a.status = #{status}</if>
+            <if test="spr != null ">and a.spr = #{spr}</if>
+            <if test="sptime != null ">and a.sptime = #{sptime}</if>
+            <if test="shyj != null  and shyj != ''">and a.shyj = #{shyj}</if>
         </where>
-        order by create_time desc
+        order by a.create_time desc
     </select>
 
     <select id="selectByThemeTermplanById" parameterType="String" resultMap="ByThemeTermplanResult">
         <include refid="selectByThemeTermplanVo"/>
-        where id = #{id}
+        where a.id = #{id}
     </select>
 
     <insert id="insertByThemeTermplan" parameterType="ByThemeTermplan">
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml
index 31b70c58d..184cd9f1a 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByThemeWeekplanMapper.xml
@@ -19,33 +19,51 @@
         <result property="createuserid" column="createuserid"/>
         <result property="createTime" column="create_time"/>
         <result property="xnxq" column="xnxq"/>
+        <association property="byClass" column="classid" javaType="ByClass" resultMap="ByClassResult"/>
+    </resultMap>
+
+    <resultMap type="ByClass" id="ByClassResult">
+        <result property="bjbh" column="bjbh"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="bjtype" column="bjtype"/>
+        <result property="bhxh" column="bhxh"/>
+        <result property="xn" column="xn"/>
+        <result property="bjmc" column="bjmc"/>
+        <result property="bjrych" column="bjrych"/>
+        <result property="jbny" column="jbny"/>
+        <result property="zbjs" column="zbjs"/>
+        <result property="pbjs" column="pbjs"/>
+        <result property="zljs" column="zljs"/>
+        <result property="isdel" column="isdel"/>
+        <result property="createtime" column="createtime"/>
     </resultMap>
 
     <sql id="selectByThemeWeekplanVo">
-        select id, name, schoolid, classid, month, zc, remark, status, spr, sptime, shyj, createuserid, create_time, xnxq from by_theme_weekplan
+        select a.id, a.name, a.schoolid, a.classid, b.bjmc, a.month, a.zc, a.remark, a.status, a.spr, a.sptime, a.shyj, a.createuserid, a.create_time, a.xnxq from by_theme_weekplan a
+        left join by_class b on a.classid=b.bjbh
     </sql>
 
     <select id="selectByThemeWeekplanList" parameterType="ByThemeWeekplan" resultMap="ByThemeWeekplanResult">
         <include refid="selectByThemeWeekplanVo"/>
         <where>
-            <if test="name != null  and name != ''">and name like concat('%', #{name}, '%')</if>
-            <if test="schoolid != null ">and schoolid = #{schoolid}</if>
-            <if test="classid != null  and classid != ''">and classid = #{classid}</if>
-            <if test="month != null ">and month = #{month}</if>
-            <if test="zc != null ">and zc = #{zc}</if>
-            <if test="status != null  and status != ''">and status = #{status}</if>
-            <if test="spr != null ">and spr = #{spr}</if>
-            <if test="sptime != null ">and sptime = #{sptime}</if>
-            <if test="shyj != null  and shyj != ''">and shyj = #{shyj}</if>
-            <if test="createuserid != null ">and createuserid = #{createuserid}</if>
-            <if test="xnxq != null  and xnxq != ''">and xnxq = #{xnxq}</if>
+            <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
+            <if test="schoolid != null ">and a.schoolid = #{schoolid}</if>
+            <if test="classid != null  and classid != ''">and a.classid = #{classid}</if>
+            <if test="month != null ">and a.month = #{month}</if>
+            <if test="zc != null ">and a.zc = #{zc}</if>
+            <if test="status != null  and status != ''">and a.status = #{status}</if>
+            <if test="spr != null ">and a.spr = #{spr}</if>
+            <if test="sptime != null ">and a.sptime = #{sptime}</if>
+            <if test="shyj != null  and shyj != ''">and a.shyj = #{shyj}</if>
+            <if test="createuserid != null ">and a.createuserid = #{createuserid}</if>
+            <if test="xnxq != null  and xnxq != ''">and a.xnxq = #{xnxq}</if>
         </where>
-        order by create_time desc
+        order by a.create_time desc
     </select>
 
     <select id="selectByThemeWeekplanById" parameterType="String" resultMap="ByThemeWeekplanResult">
         <include refid="selectByThemeWeekplanVo"/>
-        where id = #{id}
+        where a.id = #{id}
     </select>
 
     <insert id="insertByThemeWeekplan" parameterType="ByThemeWeekplan">
diff --git a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml
index d05ef97e0..7f3304862 100644
--- a/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/system/ByClassMapper.xml
@@ -93,6 +93,30 @@
         order by createtime desc
     </select>
 
+    <select id="selectByClassListAll" parameterType="ByClass" resultMap="ByClassResult">
+        <include refid="selectByClassVo"/>
+        <if test="bjbh != null  and bjbh != ''">and bjbh = #{bjbh}</if>
+        <if test="deptId != null  and deptId != ''">and dept_id = #{deptId}</if>
+        <if test="bjtype != null  and bjtype != ''">and bjtype = #{bjtype}</if>
+        <if test="bhxh != null ">and bhxh = #{bhxh}</if>
+        <if test="xn != null  and xn != ''">and xn = #{xn}</if>
+        <if test="bjmc != null  and bjmc != ''">and bjmc like concat('%', #{bjmc}, '%')</if>
+        <if test="bjrych != null  and bjrych != ''">and bjrych = #{bjrych}</if>
+        <if test="jbny != null ">and jbny = #{jbny}</if>
+        <if test="zbjs != null ">and zbjs = #{zbjs}</if>
+        <if test="pbjs != null ">and pbjs = #{pbjs}</if>
+        <if test="zljs != null ">and zljs = #{zljs}</if>
+        <if test="zbjsxm != null and zbjsxm != ''">and zbjsxm like concat('%', #{zbjsxm}, '%')</if>
+        <if test="pbjsxm != null and pbjsxm != ''">and pbjsxm like concat('%', #{pbjsxm}, '%')</if>
+        <if test="zljsxm != null and zljsxm != ''">and zljsxm like concat('%', #{zljsxm}, '%')</if>
+        <if test="isdel != null  and isdel != ''">and isdel = #{isdel}</if>
+        <if test="createtime != null ">and createtime = #{createtime}</if>
+        <!-- 数据范围过滤 -->
+        ${dataScope}
+
+        order by createtime desc
+    </select>
+
     <select id="selectByClassById" parameterType="String" resultMap="ByClassResult">
         <include refid="selectByClassVo"/>
         where bjbh = #{bjbh}