Browse Source

班级组织

zhaoy 7 years ago
parent
commit
07bc1dba7a

+ 14 - 1
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/ClassServiceImpl.java

@@ -95,13 +95,26 @@ public class ClassServiceImpl implements ClassService{
         for (SysTeacherClazz detail : teachers) {
             detail.setClazz_id(clazz.getClazz_id());
             Integer count = 0;
-            count = sysClazzMapper.teacherClazz(detail.getSubject_name(),clazz.getClazz_id());
+            count = sysClazzMapper.teacherClazz(detail.getSubject_name(),detail.getTeacher_name(), clazz.getClazz_id());
+            if(count > 0){
+                throw new BizException(BizExceptionCode.REPEAT_SUBJECTS);
+            }
             if (StringUtils.isEmpty(detail.getTeacher_clazz_id()) || "0".equals(detail.getTeacher_clazz_id().toString())) {
+                count = sysClazzMapper.teacherSubject(detail.getSubject_name(), clazz.getClazz_id());
                 if(count > 0){
                     throw new BizException(BizExceptionCode.REPEAT_SUBJECTS);
                 }
                 insertDetails.add(detail);
             } else {
+                count = sysClazzMapper.teacherSubject(detail.getSubject_name(), clazz.getClazz_id());
+                List<SysTeacherClazz> teacherName = sysClazzMapper.selectTeacherSubject(detail.getTeacher_clazz_id());
+                for(SysTeacherClazz teacherNames:teacherName){
+                    if(count > 0 && teacherNames.getTeacher_name() == detail.getTeacher_name()){
+                        if(teacherNames.getTeacher_name() == detail.getTeacher_name()){
+                            throw new BizException(BizExceptionCode.REPEAT_SUBJECTS);
+                        }
+                    }
+                }
                 updateDetails.add(detail);
             }
         }

+ 5 - 1
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysClazzMapper.java

@@ -35,7 +35,11 @@ public interface SysClazzMapper {
 
     int countClazz(@Param("clazz_name") String clazz_name, @Param("clazz_grade") String clazz_grade, @Param("school_id") Long school_id);
 
-    Integer teacherClazz(@Param("subject_name") String subject_name, @Param("clazz_id") Long clazz_id);
+    Integer teacherClazz(@Param("subject_name") String subject_name, @Param("teacher_name") String teacher_name, @Param("clazz_id") Long clazz_id);
+
+    Integer teacherSubject(@Param("subject_name") String subject_name, @Param("clazz_id") Long clazz_id);
+
+    List<SysTeacherClazz> selectTeacherSubject(@Param("clazz_id") Long clazz_id);
 
     SysClazz selectByClazzName(@Param("clazz_grade") String clazz_grade, @Param("clazz_name") String clazz_name, @Param("school_id") Long school_id);
 }

+ 19 - 0
applications/school/school-server/src/main/resources/mapper/SysClazzMapper.xml

@@ -249,6 +249,21 @@
   </select>
 
   <select id="teacherClazz" resultType="int">
+    select count(*) from sys_teacher_clazz
+    <where>
+      <if test="subject_name != null">
+        subject_name=#{subject_name}
+      </if>
+      <if test="teacher_name != null">
+        and teacher_name=#{teacher_name}
+      </if>
+      <if test="clazz_id != null">
+        and clazz_id=#{clazz_id}
+      </if>
+    </where>
+  </select>
+
+  <select id="teacherSubject" resultType="int">
     select count(*) from sys_teacher_clazz
     <where>
       <if test="subject_name != null">
@@ -260,6 +275,10 @@
     </where>
   </select>
 
+  <select id="selectTeacherSubject" parameterType="long" resultMap="teacherMap">
+    select * from sys_teacher_clazz where clazz_id = #{clazz_id}
+  </select>
+
   <select id="selectByClazzName" resultMap="BaseResultMap">
     select * from sys_clazz where clazz_grade=#{clazz_grade} and clazz_name=#{clazz_name} and school_id=#{school_id}
   </select>