Browse Source

课程表修改

chenw 6 years ago
parent
commit
cd99759a7d

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

@@ -50,6 +50,18 @@ public class CurriculumDTO implements Serializable {
      * 班级Id
      */
     private String clazzId;
+    /**
+     * 年级
+     */
+    private String gradeId;
+
+    public String getGradeId() {
+        return gradeId;
+    }
+
+    public void setGradeId(String gradeId) {
+        this.gradeId = gradeId;
+    }
 
     private String status;
 

+ 57 - 0
applications/school/school-dto/src/main/java/com/usoftchina/smartschool/school/dto/CurriculumListDTO.java

@@ -9,6 +9,7 @@ import java.io.Serializable;
  */
 public class CurriculumListDTO implements Serializable {
 
+    private String id;
     /**
      * 学校名称
      */
@@ -37,6 +38,62 @@ public class CurriculumListDTO implements Serializable {
      * 使用状态, 1:使用   2:草稿
      */
     private String status;
+    /**
+     * 学期名称
+     */
+    private String termName;
+    /**
+     * 课表名称
+     */
+    private String name;
+    /**
+     * 学期开始
+     */
+    private String termStart;
+    /**
+     * 学期结束
+     */
+    private String termEnd;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getTermName() {
+        return termName;
+    }
+
+    public void setTermName(String termName) {
+        this.termName = termName;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTermStart() {
+        return termStart;
+    }
+
+    public void setTermStart(String termStart) {
+        this.termStart = termStart;
+    }
+
+    public String getTermEnd() {
+        return termEnd;
+    }
+
+    public void setTermEnd(String termEnd) {
+        this.termEnd = termEnd;
+    }
 
     public String getSchoolName() {
         return schoolName;

+ 6 - 6
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/controller/CurriculumController.java

@@ -29,9 +29,9 @@ public class CurriculumController {
         return Result.success(pageInfo);
     }
 
-    @GetMapping("/read")
-    public Result read(Long school_id, Long clazz_id, Long grade_id){
-        return Result.success(curriculumService.read(school_id, clazz_id, grade_id));
+    @GetMapping("/read/{id}")
+    public Result read(@PathVariable("id") Long id){
+        return Result.success(curriculumService.read(id));
     }
 
     @PostMapping("/save")
@@ -39,9 +39,9 @@ public class CurriculumController {
         return Result.success(curriculumService.save(curriculumFormDTO));
     }
 
-    @PostMapping("/delete")
-    public Result delete(Long school_id, Long clazz_id, Long grade_id){
-        curriculumService.delete(school_id, clazz_id, grade_id);
+    @PostMapping("/delete/{id}")
+    public Result delete(@PathVariable("id") Long id){
+        curriculumService.delete(id);
         return Result.success();
     }
 

+ 4 - 8
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/CurriculumService.java

@@ -22,12 +22,10 @@ public interface CurriculumService {
 
     /**
      * 学校->年级->班 课程表
-     * @param school_id
-     * @param clazz_id
-     * @param grade_id
+     * @param id
      * @return
      */
-    CurriculumFormDTO read(Long school_id, Long clazz_id, Long grade_id);
+    CurriculumFormDTO read(Long id);
 
     /**
      * 新增/更新 课表
@@ -38,11 +36,9 @@ public interface CurriculumService {
 
     /**
      * 删除学校->年级->班 课表
-     * @param school_id
-     * @param clazz_id
-     * @param grade_id
+     * @param id
      */
-    void delete(Long school_id, Long clazz_id, Long grade_id);
+    void delete(Long id);
 
     /**
      * 删除课表明细

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

@@ -6,6 +6,7 @@ import com.usoftchina.smartschool.context.BaseContextHolder;
 import com.usoftchina.smartschool.exception.BizException;
 import com.usoftchina.smartschool.page.PageRequest;
 import com.usoftchina.smartschool.school.basic.service.CurriculumService;
+import com.usoftchina.smartschool.school.common.service.MessageLogService;
 import com.usoftchina.smartschool.school.dto.*;
 import com.usoftchina.smartschool.school.exception.BizExceptionCode;
 import com.usoftchina.smartschool.school.mapper.CurriculumMapper;
@@ -20,6 +21,7 @@ import com.usoftchina.smartschool.utils.CollectionUtils;
 import com.usoftchina.smartschool.utils.JsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.Map.Entry;
@@ -40,6 +42,11 @@ public class CurriculumServiceImpl implements CurriculumService {
     private SysGradeMapper sysGradeMapper;
     @Autowired
     private SysClazzMapper sysClazzMapper;
+    @Autowired
+    private MessageLogService messageLogService;
+
+    private static final String CODE = "Curriculum";
+    private static final String NAME = "课程表";
 
     @Override
     public PageInfo<CurriculumListDTO> selectAll(PageRequest page, ListReqDTO listReqDTO) {
@@ -56,11 +63,11 @@ public class CurriculumServiceImpl implements CurriculumService {
     }
 
     @Override
-    public CurriculumFormDTO read(Long school_id, Long clazz_id, Long grade_id) {
+    public CurriculumFormDTO read(Long id) {
         CurriculumFormDTO curriculumFormDTO = new CurriculumFormDTO();
-        curriculumFormDTO.setMain(curriculumMapper.selectMain(school_id, clazz_id, grade_id));
-        List<CurriculumDetailDTO> curriculumDetailDTOList = curriculumMapper.selectItems(school_id, clazz_id, grade_id);
-        List<SubjectDO> subjectDOList = curriculumMapper.selectSubject(school_id);
+        curriculumFormDTO.setMain(curriculumMapper.selectMain(id));
+        List<CurriculumDetailDTO> curriculumDetailDTOList = curriculumMapper.selectItems(id);
+        List<SubjectDO> subjectDOList = curriculumMapper.selectSubject(BaseContextHolder.getSchoolId());
         for (SubjectDO subjectDO : subjectDOList){
             for (CurriculumDetailDTO curriculumDetailDTO : curriculumDetailDTOList){
                 convertToChinese(curriculumDetailDTO, subjectDO);
@@ -132,7 +139,11 @@ public class CurriculumServiceImpl implements CurriculumService {
         //查询课表科目信息
         List<SubjectDO> subjectDOList = curriculumMapper.selectSubject(BaseContextHolder.getSchoolId());
         if (null != main.getId() && 0 != main.getId()){
+            Long gradeId = sysGradeMapper.selectByName(main.getGradeId(), BaseContextHolder.getSchoolId()).getGrade_id();
+            Long clazzId = sysClazzMapper.selectByName(main.getClazzId(), gradeId).getClazz_id();
             main.setCreateTime(new Date());
+            main.setClazzId(String.valueOf(clazzId));
+            main.setGradeId(String.valueOf(gradeId));
             main.setCreatorName(BaseContextHolder.getUserName());
             //保存主表
             curriculumMapper.insertSelective(main);
@@ -147,6 +158,7 @@ public class CurriculumServiceImpl implements CurriculumService {
                     }
                 }
                 curriculumMapper.insertDetailSelective(items);
+                messageLogService.save(new DocBaseDTO(mId, CODE, NAME));
             }
         }else {
             //更新主表
@@ -171,18 +183,23 @@ public class CurriculumServiceImpl implements CurriculumService {
                     curriculumMapper.updateDetailSelective(updateList);
                 }
             }
+            messageLogService.save(new DocBaseDTO(main.getId(), CODE, NAME));
         }
-        return new DocBaseDTO(main.getId(), null, null);
+        return new DocBaseDTO(main.getId(), CODE, NAME);
     }
 
     @Override
-    public void delete(Long school_id, Long clazz_id, Long grade_id) {
-        curriculumMapper.delete(school_id, clazz_id);
+    @Transactional
+    public void delete(Long id) {
+        curriculumMapper.deleteDetailByMainId(id);
+        curriculumMapper.delete(id);
+        messageLogService.delete(new DocBaseDTO(id, CODE, NAME));
     }
 
     @Override
     public void deleteDetail(Long id) {
         curriculumMapper.deleteDetail(id);
+        messageLogService.deleteDetail(new DocBaseDTO(id, CODE, NAME));
     }
 
     @Override

+ 12 - 11
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/CurriculumMapper.java

@@ -22,21 +22,17 @@ public interface CurriculumMapper {
 
     /**
      * 查询课程表主表数据
-     * @param school_id
-     * @param clazz_id
-     * @param grade_id
+     * @param id
      * @return
      */
-    CurriculumDTO selectMain(@Param("school_id") Long school_id, @Param("clazz_id") Long clazz_id, @Param("grade_id") Long grade_id);
+    CurriculumDTO selectMain(Long id);
 
     /**
      * 查询课程表明细表数据
-     * @param school_id
-     * @param clazz_id
-     * @param grade_id
+     * @param id
      * @return
      */
-    List<CurriculumDetailDTO> selectItems(@Param("school_id") Long school_id, @Param("clazz_id") Long clazz_id, @Param("grade_id") Long grade_id);
+    List<CurriculumDetailDTO> selectItems(Long id);
 
     /**
      * 查询学校科目名称
@@ -47,10 +43,15 @@ public interface CurriculumMapper {
 
     /**
      * 删除班级课程表
-     * @param school_id
-     * @param clazz_id
+     * @param id
+     */
+    void delete(Long id);
+
+    /**
+     * 通过主表ID删除明细
+     * @param id
      */
-    void delete(@Param("school_id") Long school_id, @Param("clazz_id") Long clazz_id);
+    void deleteDetailByMainId(Long id);
 
     /**
      * 删除课程表明细行

+ 16 - 10
applications/school/school-server/src/main/resources/mapper/CurriculumMapper.xml

@@ -30,32 +30,34 @@
     <result column="creatorName" property="creatorName" jdbcType="VARCHAR" />
     <result column="createTime" property="createTime" jdbcType="TIMESTAMP" />
     <result column="mcur_status" property="status" jdbcType="VARCHAR" />
-    <!--<result column="school_id" property="" jdbcType="VARCHAR" />
-    <result column="clazz_id" property="" jdbcType="VARCHAR" />-->
+    <!--<result column="school_id" property="" jdbcType="VARCHAR" />-->
+    <result column="clazz_id" property="clazzId" jdbcType="VARCHAR" />
+    <result column="grade_id" property="gradeId" jdbcType="VARCHAR" />
   </resultMap>
 
   <select id="selectByCondition" resultType="com.usoftchina.smartschool.school.dto.CurriculumListDTO">
-    select school.school_name schoolName, grade.grade_name gradeName, clazz.clazz_name clazzName, cur_status status, cur.school_id schoolId, cur.clazz_id clazzId, clazz.grade_id gradeId
-    from clazz_curriculum cur
-    left join sys_clazz clazz on cur.clazz_id = clazz.clazz_id
+    select mcur.id id, school.school_name schoolName, grade.grade_name gradeName, clazz.clazz_name clazzName, mcur_status status, mcur.school_id schoolId, mcur.clazz_id clazzId, clazz.grade_id gradeId,
+    mcur.mcur_term_name termName, mcur.mcur_name name, mcur.mcur_term_start termStart, mcur.mcur_term_end termEnd
+    from clazz_main_curriculum mcur
+    left join sys_clazz clazz on mcur.clazz_id = clazz.clazz_id
     left join sys_grade grade on clazz.grade_id = grade.grade_id
-    left join sys_school school on school.school_id = cur.school_id
+    left join sys_school school on school.school_id = mcur.school_id
     <where>
       <if test="condition != null">
         ${condition}
       </if>
       <if test="schoolId != null">
-        and cur.school_id = #{schoolId}
+        and mcur.school_id = #{schoolId}
       </if>
     </where>
   </select>
 
   <select id="selectMain" resultMap="CurriculumDTOMap">
-    select * from clazz_main_curriculum where clazz_id = #{clazz_id} and school_id = #{school_id}
+    select * from clazz_main_curriculum where id = #{id}
   </select>
 
   <select id="selectItems" resultMap="CurriculumDetailDTOMap">
-    select * from clazz_curriculum where clazz_id = #{clazz_id} and school_id = #{school_id}
+    select * from clazz_curriculum where cur_mid = #{id}
   </select>
 
   <select id="selectSubject" resultType="com.usoftchina.smartschool.school.po.SubjectDO">
@@ -63,7 +65,11 @@
   </select>
 
   <delete id="delete">
-    delete from clazz_curriculum where class_id = #{clazz_id} and school_id = #{school_id}
+    delete from clazz_main_curriculum where id = #{id}
+  </delete>
+
+  <delete id="deleteDetailByMainId">
+    delete from clazz_curriculum where cur_mid = #{id}
   </delete>
 
   <delete id="deleteDetail">

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

@@ -104,7 +104,7 @@
   </select>
 
   <select id="selectByName" resultMap="BaseResultMap">
-    select * from sys_clazz where grade_id = #{gradeId} and clazz_name = #{name}
+    select * from sys_clazz where grade_id = #{gradeId} and clazz_name = #{name} and s
   </select>
 
   <resultMap id="teacherMap" type="com.usoftchina.smartschool.school.po.TeacherDetail" >

+ 1 - 1
applications/school/school-server/src/test/java/com/usoftchina/smartschool/school/service/CurriculumServiceTest.java

@@ -46,7 +46,7 @@ public class CurriculumServiceTest {
     @Test
     public void testB_read(){
         LOGGER.info("===============test read start==============");
-        CurriculumFormDTO curriculumFormDTO = curriculumService.read(1L,1L,1L);
+        CurriculumFormDTO curriculumFormDTO = curriculumService.read(1L);
         LOGGER.info("curriculumFormDTO={}", JsonUtils.toJsonString(curriculumFormDTO));
         LOGGER.info("===============test read end================");
     }