Browse Source

新增合奏班查询接口

周箭河 5 năm trước cách đây
mục cha
commit
79b5afae6e

+ 16 - 4
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -28,6 +28,13 @@ public class ClassGroupController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "新增合奏班")
+    @PostMapping("/addMixClass")
+    public Object addMixClass(@RequestBody ClassGroup classGroup) throws Exception {
+        classGroupService.addClassGroup(classGroup);
+        return succeed();
+    }
+
     @ApiOperation(value = "删除班级")
     @DeleteMapping("/del/{id}")
     public Object del(@ApiParam(value = "班级编号", required = true) @PathVariable("id") Integer id) {
@@ -56,11 +63,16 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.findClassGroup(musicGroupId, mixClassGroupId));
     }
 
-    @ApiOperation(value = "乐团班列表")
+    @ApiOperation(value = "乐团单技班列表")
     @GetMapping("findMusicGroupClass")
-    public Object findMusicGroupClass(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId,
-                                      @ApiParam(value = "班级类型", required = true) ClassGroupTypeEnum type) {
-        return succeed(classGroupService.findAllClassGroupByMusicGroupIdAndType(musicGroupId, type));
+    public Object findMusicGroupClass(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId) {
+        return succeed(classGroupService.findAllNormalClassGroupByMusicGroupId(musicGroupId));
+    }
+
+    @ApiOperation(value = "乐团合奏班列表")
+    @GetMapping("findMixMusicGroupClass")
+    public Object findMixMusicGroupClass(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId) {
+        return succeed(classGroupService.findAllMixClassGroupByMusicGroupId(musicGroupId));
     }
 
 

+ 9 - 4
mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupDao.java

@@ -2,7 +2,6 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.ClassGroup;
-import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -34,11 +33,17 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<ClassGroup> findMixClassChildClassGroup(@Param("mixClassGroupId") Integer mixClassGroupId);
 
     /**
-     * 根据乐团编号跟班级类型查询班级信息
+     * 根据乐团编号查询单技班级信息
      *
      * @param musicGroupId
-     * @param type
      * @return
      */
-    List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(@Param("musicGroupId") int musicGroupId, @Param("type") ClassGroupTypeEnum type);
+    List<ClassGroup> findAllNormalClassGroupByMusicGroupId(@Param("musicGroupId") int musicGroupId);
+
+    /**
+     * 查询合奏班包含子班的名字信息
+     * @param classGroupId
+     * @return
+     */
+    ClassGroup findMixClassChildClassGroupNames(@Param("classGroupId") int classGroupId);
 }

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java

@@ -33,6 +33,10 @@ public class ClassGroup {
 	/** 班级名称 */
 	@ApiModelProperty(value = "班级名称",required = true)
 	private String name;
+
+	/** 子班级名称列表 */
+	@ApiModelProperty(value = "子班班级名称")
+	private String classNames;
 	
 	/** 学生数 */
 	@ApiModelProperty(value = "学生数量",required = false)
@@ -140,9 +144,18 @@ public class ClassGroup {
 		this.userIds = userIds;
 	}
 
+	public String getClassNames() {
+		return classNames;
+	}
+
+	public void setClassNames(String classNames) {
+		this.classNames = classNames;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+
 }

+ 10 - 4
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java

@@ -2,7 +2,6 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.ClassGroup;
-import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 
 import java.util.List;
 
@@ -23,12 +22,19 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
     List<ClassGroup> findClassGroup(Integer musicGroupId,Integer mixClassGroupId);
 
     /**
-     * 根据乐团编号跟班级类型查询班级信息
+     * 根据乐团编号查询单技班列表
      * @param musicGroupId
-     * @param type
      * @return
      */
-    List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(int musicGroupId, ClassGroupTypeEnum type);
+    List<ClassGroup> findAllNormalClassGroupByMusicGroupId(int musicGroupId);
+
+
+    /**
+     * 根据乐团编号查询合奏班列表
+     * @param musicGroupId
+     * @return
+     */
+    List<ClassGroup> findAllMixClassGroupByMusicGroupId(int musicGroupId);
 
     /**
      * 添加单技班

+ 11 - 4
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -2,7 +2,6 @@ package com.ym.mec.web.service.impl;
 
 import com.ym.mec.web.dal.entity.ClassGroupStudentMapper;
 import com.ym.mec.web.dal.enums.ClassGroupStudentStatusEnum;
-import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.web.service.ClassGroupStudentMapperService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -14,7 +13,6 @@ import com.ym.mec.web.dal.entity.ClassGroup;
 import com.ym.mec.web.service.ClassGroupService;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.lang.reflect.Array;
 import java.util.*;
 
 @Service
@@ -46,11 +44,20 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 	}
 
     @Override
-    public List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(int musicGroupId, ClassGroupTypeEnum type) {
-		return classGroupDao.findAllClassGroupByMusicGroupIdAndType(musicGroupId,type);
+    public List<ClassGroup> findAllNormalClassGroupByMusicGroupId(int musicGroupId) {
+		return classGroupDao.findAllNormalClassGroupByMusicGroupId(musicGroupId);
     }
 
 	@Override
+	public List<ClassGroup> findAllMixClassGroupByMusicGroupId(int musicGroupId) {
+		List<ClassGroup> allMixClassGroup = classGroupDao.findAllMixClassGroup(musicGroupId);
+		for (ClassGroup mixClassGroup:allMixClassGroup){
+			mixClassGroup.setClassNames(classGroupDao.findMixClassChildClassGroupNames(mixClassGroup.getId()).getName());
+		}
+		return allMixClassGroup;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public ClassGroup addClassGroup(ClassGroup classGroup) throws Exception {
 		Date date;

+ 13 - 3
mec-web/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -145,13 +145,23 @@
         WHERE cgr.sub_class_group_id_=#{mixClassGroupId} AND del_flag_='0'
     </select>
 
-    <!-- 根据乐团id跟班类型获取班信息 -->
-    <select id="findAllClassGroupByMusicGroupIdAndType" resultMap="ClassGroup">
+    <!-- 根据乐团id获取单技班信息 -->
+    <select id="findAllNormalClassGroupByMusicGroupId" resultMap="ClassGroup">
         SELECT
         cg.*,
         (SELECT group_concat(sb.name_) FROM subject sb WHERE FIND_IN_SET(sb.id_,cg.subject_id_list_)) AS subject_name
         FROM
         class_group cg
-        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_=#{type} AND cg.del_flag_='0'
+        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_='NORMAL' AND cg.del_flag_='0'
+    </select>
+
+    <!-- 查询合奏班包含子班名字信息 -->
+    <select id="findMixClassChildClassGroupNames" resultMap="ClassGroup">
+        SELECT
+        group_concat(cg.name_) as name_
+        FROM
+        class_group_relation cgr
+        LEFT JOIN class_group cg ON cgr.sub_class_group_id_=cg.id_
+        WHERE cgr.class_group_id_=#{classGroupId} AND del_flag_='0'
     </select>
 </mapper>