Browse Source

增加获取乐团声部分班情况接口

周箭河 5 years ago
parent
commit
f080ddbf69

+ 40 - 0
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupSubjectPlanController.java

@@ -0,0 +1,40 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.web.dal.dao.MusicGroupDao;
+import com.ym.mec.web.dal.dto.SubFeeSettingDto;
+import com.ym.mec.web.dal.entity.MusicGroup;
+import com.ym.mec.web.dal.entity.MusicGroupSubjectPlan;
+import com.ym.mec.web.dal.page.MusicGroupQueryInfo;
+import com.ym.mec.web.service.MusicGroupService;
+import com.ym.mec.web.service.MusicGroupSubjectPlanService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+
+@RequestMapping("musicGroupSubjectPlan")
+@Api(tags = "乐团声部计划服务")
+@RestController
+public class MusicGroupSubjectPlanController extends BaseController {
+
+    @Autowired
+    private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
+
+    @ApiOperation(value = "根据id查询乐团声部招生情况")
+    @GetMapping("/get/{id}")
+    public Object get(@ApiParam(value = "乐团编号", required = true) @PathVariable("id") int id) {
+        return succeed(musicGroupSubjectPlanService.get(id));
+    }
+
+    @ApiOperation(value = "乐团声部分班情况")
+    @PostMapping("/getMusicSubjectClass")
+    public Object getMusicSubjectClass(@ApiParam(value = "乐团编号", required = true) int musicGroupId) {
+        return succeed(musicGroupSubjectPlanService.getMusicSubjectClassPlan(musicGroupId));
+    }
+
+}

+ 20 - 11
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -23,21 +23,21 @@ public class StudentRegistrationController extends BaseController {
 
     @ApiOperation(value = "新增学生报名信息")
     @PostMapping("/add")
-    public Object add(@RequestBody StudentRegistration studentRegistration){
+    public Object add(@RequestBody StudentRegistration studentRegistration) {
         studentRegistrationService.insert(studentRegistration);
         return succeed();
     }
 
     @ApiOperation(value = "删除学生报名信息")
     @DeleteMapping("/del/{id}")
-    public Object del(@ApiParam(value = "学生报名信息编号", required = true) @PathVariable("id") Long id){
+    public Object del(@ApiParam(value = "学生报名信息编号", required = true) @PathVariable("id") Long id) {
         studentRegistrationService.delete(id);
         return succeed();
     }
 
     @ApiOperation(value = "修改学生报名信息")
     @PutMapping("/update")
-    public Object update(@RequestBody StudentRegistration studentRegistration){
+    public Object update(@RequestBody StudentRegistration studentRegistration) {
         studentRegistration.setUpdateTime(new Date());
         studentRegistrationService.update(studentRegistration);
         return succeed();
@@ -45,31 +45,40 @@ public class StudentRegistrationController extends BaseController {
 
     @ApiOperation(value = "批量调剂学生报名专业")
     @PutMapping("/batchUpdateSubject")
-    public Object batchUpdateSubject(@RequestBody HashMap<String,String> param){
+    public Object batchUpdateSubject(@RequestBody HashMap<String, String> param) {
         String userId = param.get("userId");
         String subId = param.get("subId");
-        if(StringUtils.isEmpty(userId) || StringUtils.isEmpty(subId)){
+        if (StringUtils.isEmpty(userId) || StringUtils.isEmpty(subId)) {
             return failed();
         }
-        return succeed(studentRegistrationService.batchUpdateSubject(userId,Integer.parseInt(subId)));
+        return succeed(studentRegistrationService.batchUpdateSubject(userId, Integer.parseInt(subId)));
     }
 
     @ApiOperation(value = "乐团【报名中、缴费中】 学生详情列表分页查询")
     @PostMapping("/queryStudentApplyDetail")
-    public Object queryStudentApplyDetail(@RequestBody StudentRegistrationQueryInfo queryInfo){
+    public Object queryStudentApplyDetail(@RequestBody StudentRegistrationQueryInfo queryInfo) {
         return succeed(studentRegistrationService.queryStudentDetailPage(queryInfo));
     }
 
     @ApiOperation(value = "学生报名缴费金额详情")
     @GetMapping("/queryFeeDetail")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "studentId", value = "学生编号", required = true, dataType = "Integer"),
+    @ApiImplicitParams({@ApiImplicitParam(name = "studentId", value = "学生编号", required = true, dataType = "Integer"),
             @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
-    public Object queryFeeDetail(@RequestBody HashMap<String,String> param){
+    public Object queryFeeDetail(@RequestBody HashMap<String, String> param) {
         String studentId = param.get("studentId");
         String musicGroupId = param.get("musicGroupId");
-        if(StringUtils.isEmpty(studentId) || StringUtils.isEmpty(musicGroupId)){
-            return succeed(studentRegistrationService.queryFeeDetail(Integer.parseInt(studentId),musicGroupId));
+        if (StringUtils.isEmpty(studentId) || StringUtils.isEmpty(musicGroupId)) {
+            return succeed(studentRegistrationService.queryFeeDetail(Integer.parseInt(studentId), musicGroupId));
         }
         return failed();
     }
+
+    @ApiOperation(value = "获取未分班的学生")
+    @GetMapping("/getNoClassStu")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "actualSubjectId", value = "科目(声部)id", required = true, dataType = "int")})
+    public Object getNoClassStuBySubjectId(Integer musicGroupId, Integer actualSubjectId) {
+        return succeed(studentRegistrationService.getNoClassStuBySubjectId(musicGroupId, actualSubjectId));
+    }
+
 }

+ 10 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/MusicGroupSubjectPlanDao.java

@@ -2,6 +2,16 @@ package com.ym.mec.web.dal.dao;
 
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.MusicGroupSubjectPlan;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface MusicGroupSubjectPlanDao extends BaseDAO<Integer, MusicGroupSubjectPlan> {
+    /**
+     * 获取乐团声部招生计划
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<MusicGroupSubjectPlan> getMusicSubjectClassPlan(@Param("musicGroupId") int musicGroupId);
 }

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentRegistrationDao.java

@@ -13,6 +13,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 获取乐团学员报名详情
+     *
      * @param params
      * @return
      */
@@ -20,6 +21,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 获取乐团学员报名详情条数
+     *
      * @param params
      * @return
      */
@@ -27,6 +29,7 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 根据乐团编号和声部获取缴费学员人数
+     *
      * @param musicGroupId
      * @param subjectId
      * @return
@@ -35,9 +38,28 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 学生报名缴费金额详情
+     *
      * @param studentId
      * @param musicGroupId
      * @return
      */
     StudentFeeDto queryFeeDetail(Integer studentId, String musicGroupId);
+
+
+    /**
+     * 获取乐团声部未分配的班级的学生
+     *
+     * @param musicGroupId    乐团id
+     * @param actualSubjectId 科目id
+     * @return
+     */
+    List<StudentRegistration> getNoClassStuBySubjectId(@Param("musicGroupId") Integer musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
+
+    /**
+     * 获取乐团声部未分配学生数
+     * @param musicGroupId
+     * @param actualSubjectId
+     * @return
+     */
+    Integer getNoClassStuCountBySubjectId(@Param("musicGroupId") Integer musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
 }

+ 13 - 2
mec-web/src/main/java/com/ym/mec/web/dal/entity/MusicGroupSubjectPlan.java

@@ -33,7 +33,11 @@ public class MusicGroupSubjectPlan {
 	/** 报名学生数 */
 	@ApiModelProperty(value = "报名学生数",required = false)
 	private Integer applyStudentNum;
-	
+
+	/** 报名学生数 */
+	@ApiModelProperty(value = "未分班学生数",hidden = true)
+	private Integer noClassStudentNum;
+
 	/** 费用 */
 	@ApiModelProperty(value = "费用",required = false)
 	private BigDecimal fee;
@@ -139,10 +143,17 @@ public class MusicGroupSubjectPlan {
 	public java.util.Date getUpdateTime(){
 		return this.updateTime;
 	}
+
+	public Integer getNoClassStudentNum() {
+		return noClassStudentNum;
+	}
+
+	public void setNoClassStudentNum(Integer noClassStudentNum) {
+		this.noClassStudentNum = noClassStudentNum;
+	}
 			
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
 }

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentRegistration.java

@@ -16,6 +16,9 @@ public class StudentRegistration {
 	/**  */
 	@ApiModelProperty(value = "学生编号",required = false)
 	private Integer userId;
+
+	@ApiModelProperty(value = "学生姓名",required = true)
+	private String name;
 	
 	/** 所属乐团(对应 music_group 表id) */
 	@ApiModelProperty(value = "所属乐团(对应 music_group 表id)",required = false)
@@ -70,6 +73,9 @@ public class StudentRegistration {
 	/** 缴费状态(1-已缴费 0-未交费) */
 	@ApiModelProperty(value = "缴费状态(1-已缴费 0-未交费)",required = false)
 	private YesOrNoEnum paymentStatus;
+
+	@ApiModelProperty(value = "班级id",hidden = true)
+	private Integer ClassGroupId;
 	
 	/** 最后缴费日期 */
 	@ApiModelProperty(value = "最后缴费日期",required = false)
@@ -222,6 +228,22 @@ public class StudentRegistration {
 	public java.util.Date getNextPaymentDate(){
 		return this.nextPaymentDate;
 	}
+
+	public Integer getClassGroupId() {
+		return ClassGroupId;
+	}
+
+	public void setClassGroupId(Integer classGroupId) {
+		ClassGroupId = classGroupId;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
 			
 	@Override
 	public String toString() {

+ 10 - 0
mec-web/src/main/java/com/ym/mec/web/service/MusicGroupSubjectPlanService.java

@@ -2,7 +2,17 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.MusicGroupSubjectPlan;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface MusicGroupSubjectPlanService extends BaseService<Integer, MusicGroupSubjectPlan> {
 
+    /**
+     * 获取乐团声部招生计划
+     * @param musicGroupId
+     * @return
+     */
+    List<MusicGroupSubjectPlan> getMusicSubjectClassPlan(@Param("musicGroupId") int musicGroupId);
+
 }

+ 19 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentRegistrationService.java

@@ -7,6 +7,7 @@ import com.ym.mec.web.dal.entity.StudentRegistration;
 import com.ym.mec.web.dal.page.StudentApplyDetailQueryInfo;
 import com.ym.mec.web.dal.page.StudentRegistrationQueryInfo;
 import com.ym.mec.web.dal.dto.StudentApplyDetailDto;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.HashMap;
 import java.util.List;
@@ -35,4 +36,22 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
      * @return
      */
     StudentFeeDto queryFeeDetail(Integer studentId,String musicGroupId);
+
+    /**
+     * 获取未分配的班级的学生
+     * @param musicGroupId 乐团id
+     * @param actualSubjectId 科目id
+     * @return
+     */
+    List<StudentRegistration> getNoClassStuBySubjectId(Integer musicGroupId, Integer actualSubjectId);
+
+    /**
+     * 获取乐团声部未分配学生统计
+     * @param musicGroupId
+     * @param actualSubjectId
+     * @return
+     */
+    Integer getNoClassStuCountBySubjectId(@Param("musicGroupId") Integer musicGroupId, @Param("actualSubjectId") Integer actualSubjectId);
+
+
 }

+ 26 - 10
mec-web/src/main/java/com/ym/mec/web/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -1,5 +1,7 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.web.dal.entity.StudentRegistration;
+import com.ym.mec.web.service.StudentRegistrationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -9,15 +11,29 @@ import com.ym.mec.web.dal.dao.MusicGroupSubjectPlanDao;
 import com.ym.mec.web.dal.entity.MusicGroupSubjectPlan;
 import com.ym.mec.web.service.MusicGroupSubjectPlanService;
 
+import java.util.List;
+
 @Service
-public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, MusicGroupSubjectPlan>  implements MusicGroupSubjectPlanService {
-	
-	@Autowired
-	private MusicGroupSubjectPlanDao musicGroupSubjectPlanDao;
-
-	@Override
-	public BaseDAO<Integer, MusicGroupSubjectPlan> getDAO() {
-		return musicGroupSubjectPlanDao;
-	}
-	
+public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, MusicGroupSubjectPlan> implements MusicGroupSubjectPlanService {
+
+    @Autowired
+    private MusicGroupSubjectPlanDao musicGroupSubjectPlanDao;
+
+    @Autowired
+	private StudentRegistrationService studentRegistrationService;
+
+    @Override
+    public BaseDAO<Integer, MusicGroupSubjectPlan> getDAO() {
+        return musicGroupSubjectPlanDao;
+    }
+
+    @Override
+    public List<MusicGroupSubjectPlan> getMusicSubjectClassPlan(int musicGroupId) {
+        List<MusicGroupSubjectPlan> musicSubjectClassPlans = musicGroupSubjectPlanDao.getMusicSubjectClassPlan(musicGroupId);
+        for (MusicGroupSubjectPlan musicSubjectClassPlan : musicSubjectClassPlans) {
+			Integer noClassStuCount = studentRegistrationService.getNoClassStuCountBySubjectId(musicGroupId, musicSubjectClassPlan.getSubjectId());
+			musicSubjectClassPlan.setNoClassStudentNum(noClassStuCount);
+		}
+        return musicSubjectClassPlans;
+    }
 }

+ 55 - 45
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentRegistrationServiceImpl.java

@@ -17,55 +17,65 @@ import org.springframework.stereotype.Service;
 import java.util.*;
 
 @Service
-public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, StudentRegistration>  implements StudentRegistrationService {
-	
-	@Autowired
-	private StudentRegistrationDao studentRegistrationDao;
+public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, StudentRegistration> implements StudentRegistrationService {
 
-	@Override
-	public BaseDAO<Long, StudentRegistration> getDAO() {
-		return studentRegistrationDao;
-	}
+    @Autowired
+    private StudentRegistrationDao studentRegistrationDao;
 
-	@Override
-	public PageInfo<StudentApplyDetailDto> queryStudentDetailPage(StudentRegistrationQueryInfo queryInfo) {
-		PageInfo<StudentApplyDetailDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
-		Map<String, Object> params = new HashMap<>();
-		MapUtil.populateMap(params, queryInfo);
+    @Override
+    public BaseDAO<Long, StudentRegistration> getDAO() {
+        return studentRegistrationDao;
+    }
 
-		List<StudentApplyDetailDto> dataList = null;
-		int count = studentRegistrationDao.queryStudentDetailCount(params);
-		if (count > 0) {
-			pageInfo.setTotal(count);
-			params.put("offset", pageInfo.getOffset());
-			dataList = studentRegistrationDao.queryStudentDetailPage(params);
-		}
-		if (count == 0) {
-			dataList = new ArrayList<>();
-		}
-		pageInfo.setRows(dataList);
-		return pageInfo;
-	}
+    @Override
+    public PageInfo<StudentApplyDetailDto> queryStudentDetailPage(StudentRegistrationQueryInfo queryInfo) {
+        PageInfo<StudentApplyDetailDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
 
-	@Override
-	public boolean batchUpdateSubject(String userIds, Integer subId) {
-		String[] userId = userIds.split(",");
-		StudentRegistration studentRegistration;
-		Date date = new Date();
-		for (String str:userId) {
-			studentRegistration = studentRegistrationDao.get(Long.parseLong(str));
-			if(studentRegistration.getPaymentStatus()== YesOrNoEnum.NO){
-				studentRegistration.setUpdateTime(date);
-				studentRegistration.setSubjectId(subId);
-				studentRegistrationDao.update(studentRegistration);
-			}
-		}
-		return true;
-	}
+        List<StudentApplyDetailDto> dataList = null;
+        int count = studentRegistrationDao.queryStudentDetailCount(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = studentRegistrationDao.queryStudentDetailPage(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 
-	@Override
-	public StudentFeeDto queryFeeDetail(Integer studentId,String musicGroupId) {
+    @Override
+    public boolean batchUpdateSubject(String userIds, Integer subId) {
+        String[] userId = userIds.split(",");
+        StudentRegistration studentRegistration;
+        Date date = new Date();
+        for (String str : userId) {
+            studentRegistration = studentRegistrationDao.get(Long.parseLong(str));
+            if (studentRegistration.getPaymentStatus() == YesOrNoEnum.NO) {
+                studentRegistration.setUpdateTime(date);
+                studentRegistration.setSubjectId(subId);
+                studentRegistrationDao.update(studentRegistration);
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public StudentFeeDto queryFeeDetail(Integer studentId, String musicGroupId) {
 //		return studentRegistrationDao.queryFeeDetail(studentId,musicGroupId);
-		return null;
-	}
+        return null;
+    }
+
+    @Override
+    public List<StudentRegistration> getNoClassStuBySubjectId(Integer musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.getNoClassStuBySubjectId(musicGroupId, actualSubjectId);
+    }
+
+    @Override
+    public Integer getNoClassStuCountBySubjectId(Integer musicGroupId, Integer actualSubjectId) {
+        return studentRegistrationDao.getNoClassStuCountBySubjectId(musicGroupId,actualSubjectId);
+    }
 }

+ 23 - 10
mec-web/src/main/resources/config/mybatis/MusicGroupSubjectPlanMapper.xml

@@ -13,7 +13,8 @@
         <result column="expected_student_num_" property="expectedStudentNum"/>
         <result column="apply_student_num_" property="applyStudentNum"/>
         <result column="fee_" property="fee"/>
-        <result column="kit_group_purchase_type_" property="kitGroupPurchaseType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="kit_group_purchase_type_" property="kitGroupPurchaseType"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="deposit_fee_" property="depositFee"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
@@ -21,13 +22,15 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="MusicGroupSubjectPlan">
-		SELECT * FROM music_group_subject_plan WHERE id_ = #{id} 
-	</select>
+        SELECT * FROM music_group_subject_plan WHERE id_ = #{id}
+    </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="MusicGroupSubjectPlan">
-		SELECT * FROM music_group_subject_plan ORDER BY id_
-	</select>
+        SELECT *
+        FROM music_group_subject_plan
+        ORDER BY id_
+    </select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.web.dal.entity.MusicGroupSubjectPlan" useGeneratedKeys="true"
@@ -51,7 +54,8 @@
                 fee_ = #{fee},
             </if>
             <if test="kitGroupPurchaseType != null">
-                kit_group_purchase_type_ = #{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                kit_group_purchase_type_ =
+                #{kitGroupPurchaseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
             <if test="updateTime != null">
                 update_time_ = #{updateTime},
@@ -71,8 +75,8 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM music_group_subject_plan WHERE id_ = #{id} 
-	</delete>
+        DELETE FROM music_group_subject_plan WHERE id_ = #{id}
+    </delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupSubjectPlan" parameterType="map">
@@ -82,6 +86,15 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM music_group_subject_plan
-	</select>
+        SELECT COUNT(*)
+        FROM music_group_subject_plan
+    </select>
+
+    <!-- 查询乐团科目计划表 -->
+    <select id="getMusicSubjectClassPlan" resultMap="MusicGroupSubjectPlan">
+        SELECT sp.*, sb.name_
+        FROM music_group_subject_plan sp
+        LEFT JOIN subject sb ON sb.id_ = sp.subject_id_
+        WHERE sp.music_group_id_=#{musicGroupId}
+    </select>
 </mapper>

+ 39 - 14
mec-web/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -9,40 +9,48 @@
     <resultMap type="com.ym.mec.web.dal.entity.StudentRegistration" id="StudentRegistration">
         <result column="id_" property="id"/>
         <result column="user_id_" property="userId"/>
+        <result column="name_" property="name"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="current_grade_" property="currentGrade"/>
         <result column="current_class_" property="currentClass"/>
         <result column="subject_id_" property="subjectId"/>
         <result column="actual_subject_id_" property="actualSubjectId"/>
-        <result column="is_allow_adjust_" property="isAllowAdjust" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="kit_purchase_method_" property="kitPurchaseMethod" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="is_allow_adjust_" property="isAllowAdjust"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="kit_purchase_method_" property="kitPurchaseMethod"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="remark_" property="remark"/>
+        <result column="class_group_id_" property="classGroupId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="parents_name_" property="parentsName"/>
         <result column="parents_phone_" property="parentsPhone"/>
         <result column="parents_company_" property="parentsCompany"/>
-        <result column="payment_status_" property="paymentStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="payment_status_" property="paymentStatus"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="last_payment_date_" property="lastPaymentDate"/>
         <result column="next_payment_date_" property="nextPaymentDate"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="StudentRegistration">
-		SELECT * FROM student_registration WHERE id_ = #{id} 
-	</select>
+        SELECT * FROM student_registration WHERE id_ = #{id}
+    </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="StudentRegistration">
-		SELECT * FROM student_registration ORDER BY id_
-	</select>
+        SELECT *
+        FROM student_registration
+        ORDER BY id_
+    </select>
+
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.web.dal.entity.StudentRegistration" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
         INSERT INTO student_registration
-        (parents_phone_,id_,user_id_,music_group_id_,current_grade_,current_class_,subject_id_,is_allow_adjust_,kit_purchase_method_,remark_,create_time_,update_time_,parents_name_,parents_company_,payment_status_,last_payment_date_,next_payment_date_,actual_subject_id_)
-        VALUES(#{parentsPhone},#{id},#{userId},#{musicGroupId},#{currentGrade},#{currentClass},#{subjectId},#{isAllowAdjust,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{kitPurchaseMethod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        (parents_phone_,id_,user_id_,name_,music_group_id_,current_grade_,current_class_,subject_id_,is_allow_adjust_,kit_purchase_method_,remark_,create_time_,update_time_,parents_name_,parents_company_,payment_status_,last_payment_date_,next_payment_date_,actual_subject_id_)
+        VALUES(#{parentsPhone},#{id},#{userId},#{name},#{musicGroupId},#{currentGrade},#{currentClass},#{subjectId},#{isAllowAdjust,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{kitPurchaseMethod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{remark},now(),now(),#{parentsName},#{parentsCompany},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{lastPaymentDate},#{nextPaymentDate},#{subjectId})
     </insert>
 
@@ -77,6 +85,9 @@
             <if test="userId != null">
                 user_id_ = #{userId},
             </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
             <if test="remark != null">
                 remark_ = #{remark},
             </if>
@@ -104,8 +115,8 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM student_registration WHERE id_ = #{id} 
-	</delete>
+        DELETE FROM student_registration WHERE id_ = #{id}
+    </delete>
 
     <sql id="queryPageSql">
         <where>
@@ -126,8 +137,9 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM student_registration
-	</select>
+        SELECT COUNT(*)
+        FROM student_registration
+    </select>
 
 
     <sql id="queryStudentDetailPageSql">
@@ -150,7 +162,8 @@
     <resultMap type="com.ym.mec.web.dal.dto.StudentApplyDetailDto" id="studentApplyDetail">
         <result column="current_grade_" property="currentGrade"/>
         <result column="current_class_" property="currentClass"/>
-        <result column="is_allow_adjust_" property="isAllowAdjust" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="is_allow_adjust_" property="isAllowAdjust"
+                typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="parents_name_" property="parentsName"/>
         <result column="parents_phone_" property="parentsPhone"/>
         <result column="subject_name_" property="subjectName"/>
@@ -187,4 +200,16 @@
     <select id="queryFeeDetail" resultMap="queryFeeDetailMap">
 
     </select>
+
+    <!-- 根据乐团和声部获取未分班的学生 -->
+    <select id="getNoClassStuBySubjectId" resultMap="StudentRegistration">
+        SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND actual_subject_id_ =
+        #{actualSubjectId} AND class_group_id_ >=1
+    </select>
+
+    <!-- 根据乐团和声部获取未分班人数 -->
+    <select id="getNoClassStuCountBySubjectId" resultType="java.lang.Integer">
+        SELECT count(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND actual_subject_id_ =
+        #{actualSubjectId} AND class_group_id_ >=1
+    </select>
 </mapper>