Browse Source

班级组织、教师信息完善

guq 7 years ago
parent
commit
08ca5d40ba

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

@@ -37,7 +37,7 @@ public class ClassServiceImpl implements ClassService{
         ClassForm cf = new ClassForm();
         SysClazz clazz = sysClazzMapper.selectByPrimaryKey(id);
         List<SysStudent> students = sysStudentMapper.selectByConditon("clazz_id=" + id, school_id);
-        List<TeacherDetail> teacherDetails = sysClazzMapper.selectTeacher(id);
+        List<SysTeacherClazz> teacherDetails = sysClazzMapper.selectTeacher(id);
         cf.setMain(clazz);
         cf.setItems1(students);
         cf.setItems2(teacherDetails);
@@ -51,32 +51,31 @@ public class ClassServiceImpl implements ClassService{
         }
         SysClazz clazz = formdata.getMain();
         List<SysStudent> students = formdata.getItems1();
+        List<SysTeacherClazz> teachers = formdata.getItems2();
         Long id = clazz.getClazz_id();
         Long school_id = BaseContextHolder.getSchoolId();
         school_id = 1l;
 
         //插入从表数据
-        List<SysStudent> insertDetails = new ArrayList<>();
+        List<SysTeacherClazz> insertDetails = new ArrayList<>();
         //更新从表数据
-        List<SysStudent> updateDetails = new ArrayList<>();
+        List<SysTeacherClazz> updateDetails = new ArrayList<>();
         //新增
         if (StringUtils.isEmpty(id) || "0".equals(id.toString())) {
             clazz.setClazz_status(1);
             sysClazzMapper.insertSelective(clazz);
-            for (SysStudent student : students) {
-                student.setClazz_id(clazz.getClazz_id());
-                student.setStu_status(1);
-                student.setSchool_id(school_id);
-                sysStudentMapper.insertSelective(student);
+            for (SysTeacherClazz teacher : teachers) {
+                teacher.setClazz_id(clazz.getClazz_id());
+                sysClazzMapper.insertTeacher(teacher);
             }
             return new DocBaseDTO(clazz.getClazz_id());
         }
         //更新
         sysClazzMapper.updateByPrimaryKeySelective(clazz);
         //更新明细
-        for (SysStudent detail : students) {
+        for (SysTeacherClazz detail : teachers) {
             detail.setClazz_id(clazz.getClazz_id());
-            if (StringUtils.isEmpty(detail.getStu_id()) || "0".equals(detail.getStu_id().toString())) {
+            if (StringUtils.isEmpty(detail.getTeacher_clazz_id()) || "0".equals(detail.getTeacher_clazz_id().toString())) {
                 insertDetails.add(detail);
             } else {
                 updateDetails.add(detail);
@@ -85,15 +84,14 @@ public class ClassServiceImpl implements ClassService{
         //插入从表
         if (insertDetails.size() > 0) {
             Long pr_id = null;
-            for (SysStudent item : insertDetails) {
-                item.setSchool_id(school_id);
-                sysStudentMapper.insertSelective(item);
+            for (SysTeacherClazz item : insertDetails) {
+                sysClazzMapper.insertTeacher(item);
             }
         }
         //更新从表
         if (updateDetails.size() > 0) {
-            for (SysStudent item : updateDetails) {
-                sysStudentMapper.updateByPrimaryKeySelective(item);
+            for (SysTeacherClazz item : updateDetails) {
+                sysClazzMapper.updateTeacher(item);
             }
         }
         return new DocBaseDTO(clazz.getClazz_id());
@@ -109,5 +107,6 @@ public class ClassServiceImpl implements ClassService{
             throw new BizException(BizExceptionCode.EXISTS_STU);
         }
         sysClazzMapper.deleteByPrimaryKey(id);
+        sysStudentMapper.deleteTeacher(id);
     }
 }

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

@@ -1,6 +1,7 @@
 package com.usoftchina.smartschool.school.mapper;
 
 import com.usoftchina.smartschool.school.po.SysClazz;
+import com.usoftchina.smartschool.school.po.SysTeacherClazz;
 import com.usoftchina.smartschool.school.po.TeacherDetail;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -23,7 +24,11 @@ public interface SysClazzMapper {
 
     List<SysClazz> selectBygrade(Long id);
 
-    List<TeacherDetail> selectTeacher(Long id);
+    List<SysTeacherClazz> selectTeacher(Long id);
 
     SysClazz selectByName(@Param("name") String name, @Param("gradeId") Long gradeId);
+
+    void insertTeacher(SysTeacherClazz teacher);
+
+    void updateTeacher(SysTeacherClazz item);
 }

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

@@ -44,4 +44,6 @@ public interface SysStudentMapper {
     Integer checkStu(Long id);
 
     void deleteRelationById(Long id);
+
+    void deleteTeacher(Long id);
 }

+ 3 - 3
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/ClassForm.java

@@ -10,7 +10,7 @@ import java.util.List;
 public class ClassForm implements Serializable{
     private SysClazz main;
     private List<SysStudent> items1;
-    private List<TeacherDetail> items2;
+    private List<SysTeacherClazz> items2;
 
 
     public SysClazz getMain() {
@@ -29,11 +29,11 @@ public class ClassForm implements Serializable{
         this.items1 = items1;
     }
 
-    public List<TeacherDetail> getItems2() {
+    public List<SysTeacherClazz> getItems2() {
         return items2;
     }
 
-    public void setItems2(List<TeacherDetail> items2) {
+    public void setItems2(List<SysTeacherClazz> items2) {
         this.items2 = items2;
     }
 }

+ 41 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SysTeacher.java

@@ -50,6 +50,47 @@ public class SysTeacher {
 
     private String teacher_education;
 
+    private String teacher_native;
+
+    private Integer teacher_marriage;
+
+    private String teacher_major;
+
+    private String teacher_political;
+
+
+    public String getTeacher_political() {
+        return teacher_political;
+    }
+
+    public void setTeacher_political(String teacher_political) {
+        this.teacher_political = teacher_political;
+    }
+
+    public String getTeacher_native() {
+        return teacher_native;
+    }
+
+    public void setTeacher_native(String teacher_native) {
+        this.teacher_native = teacher_native;
+    }
+
+    public Integer getTeacher_marriage() {
+        return teacher_marriage;
+    }
+
+    public void setTeacher_marriage(Integer teacher_marriage) {
+        this.teacher_marriage = teacher_marriage;
+    }
+
+    public String getTeacher_major() {
+        return teacher_major;
+    }
+
+    public void setTeacher_major(String teacher_major) {
+        this.teacher_major = teacher_major;
+    }
+
     public String getTeacher_phone() {
         return teacher_phone;
     }

+ 73 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SysTeacherClazz.java

@@ -0,0 +1,73 @@
+package com.usoftchina.smartschool.school.po;
+
+public class SysTeacherClazz {
+    private Long teacher_clazz_id;
+
+    private Long clazz_id;
+
+    private Long teacher_id;
+
+    private Long subject_id;
+
+    private String clazz_name;
+
+    private String teacher_name;
+
+    private String subject_name;
+
+    public Long getTeacher_clazz_id() {
+        return teacher_clazz_id;
+    }
+
+    public void setTeacher_clazz_id(Long teacher_clazz_id) {
+        this.teacher_clazz_id = teacher_clazz_id;
+    }
+
+    public Long getClazz_id() {
+        return clazz_id;
+    }
+
+    public void setClazz_id(Long clazz_id) {
+        this.clazz_id = clazz_id;
+    }
+
+    public Long getTeacher_id() {
+        return teacher_id;
+    }
+
+    public void setTeacher_id(Long teacher_id) {
+        this.teacher_id = teacher_id;
+    }
+
+    public Long getSubject_id() {
+        return subject_id;
+    }
+
+    public void setSubject_id(Long subject_id) {
+        this.subject_id = subject_id;
+    }
+
+    public String getClazz_name() {
+        return clazz_name;
+    }
+
+    public void setClazz_name(String clazz_name) {
+        this.clazz_name = clazz_name == null ? null : clazz_name.trim();
+    }
+
+    public String getTeacher_name() {
+        return teacher_name;
+    }
+
+    public void setTeacher_name(String teacher_name) {
+        this.teacher_name = teacher_name == null ? null : teacher_name.trim();
+    }
+
+    public String getSubject_name() {
+        return subject_name;
+    }
+
+    public void setSubject_name(String subject_name) {
+        this.subject_name = subject_name == null ? null : subject_name.trim();
+    }
+}

+ 72 - 7
applications/school/school-server/src/main/resources/mapper/SysClazzMapper.xml

@@ -117,12 +117,77 @@
     <result column="classes" property="classes" jdbcType="VARCHAR" />
   </resultMap>
 
-  <select id="selectTeacher" parameterType="long" resultMap="teacherMap">
-    select  sys_teacher.teacher_name teacher,sys_grade.grade_name grade,sys_clazz.clazz_name classes,subject.subject_name subject
-from sys_teacher_clazz left join subject on sys_teacher_clazz.subject_id = subject.subject_id
-left join sys_clazz on sys_teacher_clazz.clazz_id = sys_clazz.clazz_id
-left join sys_grade on sys_grade.grade_id=sys_clazz.grade_id
-left join sys_teacher on sys_teacher.teacher_id = sys_teacher_clazz.teacher_id
-where sys_teacher_clazz.clazz_id=#{id};
+  <select id="selectTeacher" parameterType="long" resultType="com.usoftchina.smartschool.school.po.SysTeacherClazz">
+    select * from sys_teacher_clazz where teacher_clazz_id = #{id}
   </select>
+
+
+  <insert id="insertTeacher" parameterType="com.usoftchina.smartschool.school.po.SysTeacherClazz" >
+    insert into sys_teacher_clazz
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="clazz_id != null" >
+        clazz_id,
+      </if>
+      <if test="teacher_id != null" >
+        teacher_id,
+      </if>
+      <if test="subject_id != null" >
+        subject_id,
+      </if>
+      <if test="clazz_name != null" >
+        clazz_name,
+      </if>
+      <if test="teacher_name != null" >
+        teacher_name,
+      </if>
+      <if test="subject_name != null" >
+        subject_name,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="clazz_id != null" >
+        #{clazz_id,jdbcType=BIGINT},
+      </if>
+      <if test="teacher_id != null" >
+        #{teacher_id,jdbcType=BIGINT},
+      </if>
+      <if test="subject_id != null" >
+        #{subject_id,jdbcType=BIGINT},
+      </if>
+      <if test="clazz_name != null" >
+        #{clazz_name,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_name != null" >
+        #{teacher_name,jdbcType=VARCHAR},
+      </if>
+      <if test="subject_name != null" >
+        #{subject_name,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+
+  <update id="updateTeacher" parameterType="com.usoftchina.smartschool.school.po.SysTeacherClazz" >
+    update sys_teacher_clazz
+    <set >
+      <if test="clazz_id != null" >
+        clazz_id = #{clazz_id,jdbcType=BIGINT},
+      </if>
+      <if test="teacher_id != null" >
+        teacher_id = #{teacher_id,jdbcType=BIGINT},
+      </if>
+      <if test="subject_id != null" >
+        subject_id = #{subject_id,jdbcType=BIGINT},
+      </if>
+      <if test="clazz_name != null" >
+        clazz_name = #{clazz_name,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_name != null" >
+        teacher_name = #{teacher_name,jdbcType=VARCHAR},
+      </if>
+      <if test="subject_name != null" >
+        subject_name = #{subject_name,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where teacher_clazz_id = #{teacher_clazz_id,jdbcType=BIGINT}
+  </update>
 </mapper>

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

@@ -363,4 +363,9 @@
   <select id="checkStu" parameterType="long" resultType="integer">
     select count(1) from sys_student where clazz_id=#{id}
   </select>
+
+  <delete id="deleteTeacher" parameterType="java.lang.Long" >
+    delete from sys_teacher_clazz
+    where teacher_clazz_id = #{teacher_clazz_id,jdbcType=BIGINT}
+  </delete>
 </mapper>

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

@@ -21,6 +21,10 @@
     <result column="teacher_nation" property="teacher_nation" jdbcType="VARCHAR" />
     <result column="teacher_school" property="teacher_school" jdbcType="VARCHAR" />
     <result column="teacher_education" property="teacher_education" jdbcType="VARCHAR" />
+    <result column="teacher_native" property="teacher_native" jdbcType="VARCHAR" />
+    <result column="teacher_major" property="teacher_major" jdbcType="VARCHAR" />
+    <result column="teacher_marriage" property="teacher_marriage" jdbcType="INTEGER" />
+    <result column="teacher_political" property="teacher_political" jdbcType="VARCHAR" />
   </resultMap>
   <sql id="Base_Column_List" >
     teacher_id, user_id, openid, school_id, teacher_number, teacher_name, teacher_sex, 
@@ -119,6 +123,18 @@
       <if test="teacher_education != null" >
         teacher_education,
       </if>
+      <if test="teacher_major != null" >
+        teacher_major,
+      </if>
+      <if test="teacher_native != null" >
+        teacher_native,
+      </if>
+      <if test="teacher_marriage != null" >
+        teacher_marriage,
+      </if>
+      <if test="teacher_political != null" >
+        teacher_political,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="user_id != null" >
@@ -181,6 +197,18 @@
       <if test="teacher_education != null" >
         #{teacher_education,jdbcType=VARCHAR},
       </if>
+      <if test="teacher_major != null" >
+        #{teacher_major,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_native != null" >
+        #{teacher_native,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_marriage != null" >
+        #{teacher_marriage,jdbcType=INTEGER},
+      </if>
+      <if test="teacher_political != null" >
+        #{teacher_political,jdbcType=INTEGER},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.smartschool.school.po.SysTeacher" >
@@ -246,6 +274,18 @@
       <if test="teacher_education != null" >
         teacher_education = #{teacher_education,jdbcType=VARCHAR},
       </if>
+      <if test="teacher_native != null" >
+        teacher_native = #{teacher_native,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_marriage != null" >
+        teacher_marriage = #{teacher_marriage,jdbcType=INTEGER},
+      </if>
+      <if test="teacher_major != null" >
+        teacher_major = #{teacher_major,jdbcType=VARCHAR},
+      </if>
+      <if test="teacher_political != null" >
+        teacher_political = #{teacher_political,jdbcType=VARCHAR},
+      </if>
     </set>
     where teacher_id = #{teacher_id,jdbcType=BIGINT}
   </update>