Browse Source

课表导入修改

chenw 6 years ago
parent
commit
ac5525793c

+ 24 - 0
applications/school/school-dto/src/main/java/com/usoftchina/smartschool/school/dto/CurriculumDTO.java

@@ -58,6 +58,30 @@ public class CurriculumDTO implements Serializable {
      * 学校
      */
     private Long schoolId;
+    /**
+     * 年级(中文)
+     */
+    private String gradeName;
+    /**
+     * 班级(中文)
+     */
+    private String clazzName;
+
+    public String getGradeName() {
+        return gradeName;
+    }
+
+    public void setGradeName(String gradeName) {
+        this.gradeName = gradeName;
+    }
+
+    public String getClazzName() {
+        return clazzName;
+    }
+
+    public void setClazzName(String clazzName) {
+        this.clazzName = clazzName;
+    }
 
     public Long getSchoolId() {
         return schoolId;

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

@@ -53,7 +53,6 @@ public class ClassServiceImpl implements ClassService{
         List<SysStudent> students = formdata.getItems1();
         Long id = clazz.getClazz_id();
         Long school_id = BaseContextHolder.getSchoolId();
-        school_id = 1l;
 
         //插入从表数据
         List<SysStudent> insertDetails = new ArrayList<>();
@@ -62,6 +61,7 @@ public class ClassServiceImpl implements ClassService{
         //新增
         if (StringUtils.isEmpty(id) || "0".equals(id.toString())) {
             clazz.setClazz_status(1);
+            clazz.setSchool_id(school_id);
             sysClazzMapper.insertSelective(clazz);
             for (SysStudent student : students) {
                 student.setClazz_id(clazz.getClazz_id());

+ 22 - 18
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/CurriculumServiceImpl.java

@@ -1,5 +1,6 @@
 package com.usoftchina.smartschool.school.basic.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.smartschool.context.BaseContextHolder;
@@ -221,31 +222,34 @@ public class CurriculumServiceImpl implements CurriculumService {
                 String[] keys = key.split("#");
                 String grade = keys[0], clazz = keys[1];
                 Long gradeId = sysGradeMapper.selectByName(grade, schoolId).getGrade_id();
-                Long clazzId = sysClazzMapper.selectByName(clazz, gradeId).getClazz_id();
+                Long clazzId = sysClazzMapper.selectByName(clazz, gradeId, schoolId).getClazz_id();
                 List<DataImportDetail> dataImportDetailList = entry.getValue();
                 if (dataImportDetailList.size() > 0) {
+                    DataImportDetail singleDataImportDetail = dataImportMapper.selectMainBycode(key, id, schoolId);
+                    CurriculumDTO curriculumDTO = JSON.parseObject(singleDataImportDetail.getDd_maindata(), CurriculumDTO.class);
+                    //更新数据,将中文转换成ID
+                    curriculumDTO.setStatus("1");
+                    curriculumDTO.setCreateTime(new Date());
+                    curriculumDTO.setClazzId(String.valueOf(clazzId));
+                    curriculumDTO.setSchoolId(schoolId);
+                    curriculumDTO.setGradeId(String.valueOf(gradeId));
+                    curriculumDTO.setCreatorName(BaseContextHolder.getUserName());
+                    //插入主表数据
+                    curriculumMapper.insertSelective(curriculumDTO);
+                    Long mainId = curriculumDTO.getId();
                     for (DataImportDetail dataImportDetail : dataImportDetailList) {
-                        DataImportDetail singleDataImportDetail = dataImportMapper.selectMainBycode(key, id, schoolId);
-                        CurriculumDTO curriculumDTO = JsonUtils.fromJsonString(singleDataImportDetail.getDd_maindata(), CurriculumDTO.class);
                         List<CurriculumDetailDTO> curriculumDetailDTOList = JsonUtils.fromJsonArray(dataImportDetail.getDd_detaildata(), CurriculumDetailDTO.class);
-                        //更新数据,将中文转换成ID
-                        curriculumDTO.setStatus("1");
-                        curriculumDTO.setCreateTime(new Date());
-                        curriculumDTO.setClazzId(String.valueOf(clazzId));
-                        //插入主表数据
-                        curriculumMapper.insertSelective(curriculumDTO);
-                        Long mainId = curriculumDTO.getId();
                         //插入明细表数据
                         //1. 替换课程名称为ID
                         List<SubjectDO> subjectDOList = curriculumMapper.selectSubject(schoolId);
-                        for (SubjectDO subjectDO : subjectDOList){
-                            curriculumDetailDTOList.forEach(curriculumDetailDTO -> {
-                                curriculumDetailDTO.setmId(mainId);
-                                curriculumDetailDTO.setStatus(1);
-                                curriculumDetailDTO.setSchoolId(schoolId);
-                                curriculumDetailDTO.setClazzId(clazzId);
-                                convertToId(curriculumDetailDTO, subjectDO);
-                            });
+                        Iterator<CurriculumDetailDTO> detailIterator = curriculumDetailDTOList.iterator();
+                        while (detailIterator.hasNext()){
+                            CurriculumDetailDTO curriculumDetailDTO = detailIterator.next();
+                            curriculumDetailDTO.setmId(mainId);
+                            curriculumDetailDTO.setStatus(1);
+                            curriculumDetailDTO.setSchoolId(schoolId);
+                            curriculumDetailDTO.setClazzId(clazzId);
+                            subjectDOList.forEach(subjectDO -> { convertToId(curriculumDetailDTO, subjectDO); });
                         }
                         //2. 插入
                         curriculumMapper.insertDetailSelective(curriculumDetailDTOList);

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

@@ -25,5 +25,5 @@ public interface SysClazzMapper {
 
     List<TeacherDetail> selectTeacher(Long id);
 
-    SysClazz selectByName(@Param("name") String name, @Param("gradeId") Long gradeId);
+    SysClazz selectByName(@Param("name") String name, @Param("gradeId") Long gradeId, @Param("schoolId") Long schoolId);
 }

+ 10 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/SysClazz.java

@@ -20,10 +20,20 @@ public class SysClazz implements Serializable{
 
     private Long grade_id;
 
+    private Long school_id;
+
     private Integer clazz_no;
 
     private Boolean leaf = true;
 
+    public Long getSchool_id() {
+        return school_id;
+    }
+
+    public void setSchool_id(Long school_id) {
+        this.school_id = school_id;
+    }
+
     public Boolean getLeaf() {
         return leaf;
     }

+ 12 - 1
applications/school/school-server/src/main/resources/mapper/CurriculumMapper.xml

@@ -33,6 +33,8 @@
     <!--<result column="school_id" property="" jdbcType="VARCHAR" />-->
     <result column="clazz_id" property="clazzId" jdbcType="VARCHAR" />
     <result column="grade_id" property="gradeId" jdbcType="VARCHAR" />
+    <result column="clazz_name" property="clazzName" jdbcType="VARCHAR" />
+    <result column="grade_name" property="gradeName" jdbcType="VARCHAR" />
   </resultMap>
 
   <select id="selectByCondition" resultType="com.usoftchina.smartschool.school.dto.CurriculumListDTO">
@@ -53,7 +55,10 @@
   </select>
 
   <select id="selectMain" resultMap="CurriculumDTOMap">
-    select * from clazz_main_curriculum where id = #{id}
+    select mcur.*,cla.clazz_name,gra.grade_name from clazz_main_curriculum mcur
+    left join sys_clazz cla on  mcur.clazz_id = cla.clazz_id
+    left join sys_grade gra on mcur.grade_id = gra.grade_id
+    where mcur.id = #{id}
   </select>
 
   <select id="selectItems" resultMap="CurriculumDetailDTOMap">
@@ -115,6 +120,9 @@
       <if test="schoolId != null">
         school_id,
       </if>
+      <if test="status != null">
+        mcur_status,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="code != null">
@@ -150,6 +158,9 @@
       <if test="schoolId != null">
         #{schoolId, jdbcType=INTEGER},
       </if>
+      <if test="status != null">
+        #{status, jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
 

+ 10 - 3
applications/school/school-server/src/main/resources/mapper/SysClazzMapper.xml

@@ -8,6 +8,7 @@
     <result column="clazz_status" property="clazz_status" jdbcType="INTEGER" />
     <result column="clazz_remarks" property="clazz_remarks" jdbcType="VARCHAR" />
     <result column="grade_id" property="grade_id" jdbcType="BIGINT" />
+    <result column="school_id" property="school_id" jdbcType="BIGINT" />
   </resultMap>
   <sql id="Base_Column_List" >
     clazz_id, clazz_name, clazz_adress, clazz_status, clazz_remarks, grade_id
@@ -25,10 +26,10 @@
   <insert id="insert" parameterType="com.usoftchina.smartschool.school.po.SysClazz" >
 
     insert into sys_clazz (clazz_id, clazz_name, clazz_adress, 
-      clazz_status, clazz_remarks, grade_id
+      clazz_status, clazz_remarks, grade_id, school_id
       )
     values (#{clazz_id,jdbcType=BIGINT}, #{clazz_name,jdbcType=VARCHAR}, #{clazz_adress,jdbcType=VARCHAR}, 
-      #{clazz_status,jdbcType=INTEGER}, #{clazz_remarks,jdbcType=VARCHAR}, #{grade_id,jdbcType=BIGINT}
+      #{clazz_status,jdbcType=INTEGER}, #{clazz_remarks,jdbcType=VARCHAR}, #{grade_id,jdbcType=BIGINT},#{school_id,jdbcType=BIGINT}
       )
   </insert>
   <insert id="insertSelective" parameterType="com.usoftchina.smartschool.school.po.SysClazz" >
@@ -52,6 +53,9 @@
       <if test="grade_id != null" >
         grade_id,
       </if>
+      <if test="school_id != null" >
+        school_id,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="clazz_name != null" >
@@ -69,6 +73,9 @@
       <if test="grade_id != null" >
         #{grade_id,jdbcType=BIGINT},
       </if>
+      <if test="school_id != null" >
+        #{school_id,jdbcType=BIGINT}
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.smartschool.school.po.SysClazz" >
@@ -107,7 +114,7 @@
   </select>
 
   <select id="selectByName" resultMap="BaseResultMap">
-    select * from sys_clazz where grade_id = #{gradeId} and clazz_name = #{name} and s
+    select * from sys_clazz where grade_id = #{gradeId} and clazz_name = #{name} and school_id = #{schoolId}
   </select>
 
   <resultMap id="teacherMap" type="com.usoftchina.smartschool.school.po.TeacherDetail" >