Browse Source

添加限制逻辑

guq 7 years ago
parent
commit
98f0a3f59b
17 changed files with 98 additions and 9 deletions
  1. 0 1
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/ClassController.java
  2. 14 2
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/ClassServiceImpl.java
  3. 6 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/GradeServiceImpl.java
  4. 11 1
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/SubjectServiceImpl.java
  5. 6 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/TeacherServiceImpl.java
  6. 6 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java
  7. 11 5
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/exception/BizExceptionCode.java
  8. 2 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/ScoreMapper.java
  9. 4 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SubjectMapper.java
  10. 2 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysGradeMapper.java
  11. 4 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysStudentMapper.java
  12. 2 0
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysTeacherMapper.java
  13. 4 0
      applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml
  14. 10 0
      applications/school/school-server/src/main/resources/mapper/SubjectMapper.xml
  15. 4 0
      applications/school/school-server/src/main/resources/mapper/SysGradeMapper.xml
  16. 8 0
      applications/school/school-server/src/main/resources/mapper/SysStudentMapper.xml
  17. 4 0
      applications/school/school-server/src/main/resources/mapper/SysTeacherMapper.xml

+ 0 - 1
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/ClassController.java

@@ -33,7 +33,6 @@ public class ClassController {
     @PostMapping("/delete/{id}")
     public Result delete(@PathVariable("id") Long id) {
         classService.delete(id);
-
         return Result.success();
     }
 

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

@@ -106,10 +106,22 @@ public class ClassServiceImpl implements ClassService{
         if (null == id || "0".equals(id)) {
             return;
         }
-        Integer count = sysStudentMapper.checkStu(id);
-        if (count > 0) {
+        Integer check = 0;
+        //学生检测
+        check = sysStudentMapper.checkStu(id);
+        if (check > 0) {
             throw new BizException(BizExceptionCode.EXISTS_STU);
         }
+        //教师检测
+        check = sysStudentMapper.checkTeacher(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_TEACHER);
+        }
+        //课表检测
+        check = sysStudentMapper.checkCurriculum(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_CURRICULUM);
+        }
         sysClazzMapper.deleteByPrimaryKey(id);
         sysStudentMapper.deleteTeacher(id);
     }

+ 6 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/GradeServiceImpl.java

@@ -180,6 +180,12 @@ public class GradeServiceImpl implements GradeService{
         if (StringUtils.isEmpty(id)) {
             throw new BizException(BizExceptionCode.USELESS_DATA);
         }
+        Integer check = 0;
+        //检测班级
+        check = sysGradeMapper.checkClass(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_CLASS);
+        }
         sysGradeMapper.deleteByPrimaryKey(id);
     }
 

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

@@ -51,7 +51,6 @@ public class SubjectServiceImpl implements SubjectService {
         }
         Long id = formdata.getSubject_id();
         Long school = BaseContextHolder.getSchoolId();
-        school = 1l;
         if (StringUtils.isEmpty(id) || "0".equals(id.toString())) {
             formdata.setSchool_id(school);
             formdata.setSubject_status(1);
@@ -81,6 +80,17 @@ public class SubjectServiceImpl implements SubjectService {
         if (null == id || "0".equals(id)) {
             return;
         }
+        Integer check = 0;
+        //检测班级教师任课信息
+        check = subjectMapper.checkTeacherClass(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_TEACHER_CLASS);
+        }
+        //检测课表
+        check = subjectMapper.checkCurriculum(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_TEACHER_CLASS);
+        }
         subjectMapper.deleteByPrimaryKey(id);
     }
 }

+ 6 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/TeacherServiceImpl.java

@@ -150,6 +150,12 @@ public class TeacherServiceImpl implements TeacherService{
         if (null == id || "0".equals(id)) {
             return;
         }
+        Integer check = 0;
+        //教师检测
+        check = sysTeacherMapper.checkTeacher(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_TEACHER_CLASS);
+        }
         sysTeacherMapper.deleteByPrimaryKey(id);
         sysTeacherMapper.deleteRelation(id);
     }

+ 6 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java

@@ -78,6 +78,12 @@ public class ScoreServiceImpl implements ScoreService{
         if (StringUtils.isEmpty(id) || "0".equals(id)) {
             return;
         }
+        //检测是否发布
+        Integer check = 0;
+        check = scoreMapper.checkPublish(id);
+        if (check > 0) {
+            throw new BizException(BizExceptionCode.EXISTS_TEACHER_CLASS);
+        }
         scoreMapper.deleteByPrimaryKey(id);
     }
 

+ 11 - 5
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/exception/BizExceptionCode.java

@@ -10,11 +10,17 @@ public enum BizExceptionCode implements BaseExceptionCode {
 
     BIZ_IMPORT_ERROREXCEL(500002, "请选用正确的导入模板"),
     EMPTY_DATA(76100,"数据为空,请填写后再保存"),
-    EXISTS_STU(500003,"该班级存在学生,无法删除"),
-    USELESS_DATA(50001, "无效数据"),
-    NONGRADE(500004, "年纪名称不存在"),
-    NONCLAZZ(500005, "班级名称不存在"),
-    NONSTU(500006, "学生不存在");
+    EXISTS_STU(500003,"存在学生,无法删除"),
+    EXISTS_TEACHER(500004,"存在教师,无法删除"),
+    EXISTS_CURRICULUM(500005,"存在课表,无法删除"),
+    EXISTS_TEACHER_CLASS(500006,"存在任课班级,无法删除"),
+    USELESS_DATA(50007, "无效数据"),
+    NONGRADE(500008, "年纪名称不存在"),
+    NONCLAZZ(500009, "班级名称不存在"),
+    NONSTU(5000010, "学生不存在"),
+    EXISTS_SUBJECT_TEACHER(5000012, "该课程存在班级与任课教师,禁止删除"),
+    EXISTS_SCORE_PUBLISH(5000013, "存在已发布成绩,禁止删除"),
+    EXISTS_CLASS(500011, "存在班级,无法删除");
 
     private int code;
     private String message;

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/ScoreMapper.java

@@ -37,4 +37,6 @@ public interface ScoreMapper {
     List<ScoreImportList> selectMainByConditon(@Param("con") String con, @Param("school_id") Long schoolId);
 
     List<ScoreImportList> selectDetailByCondition(@Param("con") String con, @Param("school_id") Long schoolId);
+
+    Integer checkPublish(Long id);
 }

+ 4 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SubjectMapper.java

@@ -22,4 +22,8 @@ public interface SubjectMapper {
     List<Subject> selectByConditon(@Param("con") String con, @Param("school_id") Long school_id);
 
     List<Subject> selectBySubject(@Param("condition") String condition, @Param("school_id") Long schoolId);
+
+    Integer checkTeacherClass(Long id);
+
+    Integer checkCurriculum(Long id);
 }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysGradeMapper.java

@@ -27,4 +27,6 @@ public interface SysGradeMapper {
     int insertGrade(SysGrade grade);
 
     List<SysGrade> selectByGrade(@Param("condition") String condition, @Param("school_id") Long schoolId);
+
+    Integer checkClass(Long id);
 }

+ 4 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysStudentMapper.java

@@ -52,4 +52,8 @@ public interface SysStudentMapper {
      * @return
      */
     Long selectRoleId();
+
+    Integer checkTeacher(Long id);
+
+    Integer checkCurriculum(Long id);
 }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/SysTeacherMapper.java

@@ -38,4 +38,6 @@ public interface SysTeacherMapper {
      * @return
      */
     Long selectRoleId();
+
+    Integer checkTeacher(Long id);
 }

+ 4 - 0
applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml

@@ -409,4 +409,8 @@
     order by si_id DESC
   </select>
 
+  <select id="checkPublish" parameterType="long" resultType="integer">
+    select count(1) from score_import where si_publish=1 and si_id=#{id}
+  </select>
+
 </mapper>

+ 10 - 0
applications/school/school-server/src/main/resources/mapper/SubjectMapper.xml

@@ -100,4 +100,14 @@
       </if>
     </where>
   </select>
+
+  <select id="checkTeacherClass" parameterType="long" resultType="integer">
+    select count(1) from sys_teacher_clazz where  subject_id= #{id}
+  </select>
+
+  <select id="checkCurriculum" parameterType="long" resultType="integer">
+    select count(1) from clazz_curriculum where cur_mon=#{id} or
+    cur_tues=#{id} or cur_wed=#{id} or cur_thur=#{id} or cur_fir=#{id}
+    or cur_sat=#{id}
+  </select>
 </mapper>

+ 4 - 0
applications/school/school-server/src/main/resources/mapper/SysGradeMapper.xml

@@ -125,4 +125,8 @@
     </where>
   </select>
 
+  <select id="checkClass" parameterType="long" resultType="integer">
+    select count(1) from sys_clazz where grade_id=#{id}
+  </select>
+
 </mapper>

+ 8 - 0
applications/school/school-server/src/main/resources/mapper/SysStudentMapper.xml

@@ -440,4 +440,12 @@
   <select id="selectRoleId" resultType="long">
     SELECT ROLE_ID FROM SYS_ROLE WHERE ROLE_NAME = '家长'
   </select>
+
+  <select id="checkTeacher" parameterType="long" resultType="integer">
+    select count(1) from sys_teacher_clazz where clazz_id = #{id}
+  </select>
+
+  <select id="checkCurriculum" parameterType="long" resultType="integer">
+    select count(1) from clazz_curriculum where clazz_id = #{id}
+  </select>
 </mapper>

+ 4 - 0
applications/school/school-server/src/main/resources/mapper/SysTeacherMapper.xml

@@ -375,4 +375,8 @@ where sys_teacher_clazz.teacher_id=#{id}
   <select id="selectRoleId" resultType="long">
     SELECT ROLE_ID FROM SYS_ROLE WHERE ROLE_NAME = '教师'
   </select>
+
+  <select id="checkTeacher" parameterType="long" resultType="integer">
+    select count(1) from sys_teacher_clazz where  teacher_id= #{id}
+  </select>
 </mapper>