瀏覽代碼

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父節點
當前提交
066a502941
共有 25 個文件被更改,包括 508 次插入345 次删除
  1. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java
  2. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java
  3. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleHistoryDao.java
  4. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java
  5. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultPracticeGroupSalaryDao.java
  6. 0 180
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleHistory.java
  7. 94 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultPracticeGroupSalary.java
  8. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseHomeworkService.java
  9. 0 8
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleHistoryService.java
  10. 25 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultPracticeGroupSalaryService.java
  11. 4 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  12. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java
  13. 0 23
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleHistoryServiceImpl.java
  14. 48 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  16. 84 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java
  17. 3 2
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  18. 5 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  19. 4 0
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  20. 0 112
      mec-biz/src/main/resources/config/mybatis/CourseScheduleHistoryMapper.xml
  21. 4 0
      mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  22. 103 0
      mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml
  23. 3 1
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  24. 1 1
      mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java
  25. 66 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultPracticeGroupSalaryController.java

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -317,4 +317,11 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     int updateVipGroupStudentStatus(@Param("groupId") String groupId,
                                     @Param("groupType") String groupType,
                                     @Param("status") String status);
+    
+    /**
+     * 查询这节课的新学生
+     * @param courseScheduleId
+     * @return
+     */
+    List<ClassGroupStudentMapper> queryNewStudentListByCourseScheduleId(Long courseScheduleId);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseHomeworkDao.java

@@ -46,4 +46,6 @@ public interface CourseHomeworkDao extends BaseDAO<Long, CourseHomework> {
      * @return
      */
     List<Mapper> queryTeacerNoReplyNum();
+    
+    int delByCourseScheduleId(Long courseScheduleId);
 }

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleHistoryDao.java

@@ -1,9 +0,0 @@
-package com.ym.mec.biz.dal.dao;
-
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.common.dal.BaseDAO;
-
-public interface CourseScheduleHistoryDao extends BaseDAO<Long, CourseScheduleHistory> {
-
-	
-}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentCourseHomeworkDao.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.biz.dal.entity.StudentCourseHomework;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -90,4 +91,6 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      * @return
      */
     List<StudentCourseHomework> findStudentCourseHomeworks(Map<String, Object> params);
+    
+    int delByCourseScheduleId(Long courseScheduleId);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultPracticeGroupSalaryDao.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dao;
+
+import java.util.List;
+
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface TeacherDefaultPracticeGroupSalaryDao extends BaseDAO<Long, TeacherDefaultPracticeGroupSalary> {
+
+	/**
+	 * 查询指定老师的默认课酬
+	 * @param userId
+	 * @return
+	 */
+	List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId);
+
+    int deleteByUserId(Integer userId);
+    
+    int batchInsert(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList);
+}

+ 0 - 180
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleHistory.java

@@ -1,180 +0,0 @@
-package com.ym.mec.biz.dal.entity;
-
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-/**
- * 对应数据库表(course_schedule_history):
- */
-public class CourseScheduleHistory {
-
-	/**  */
-	private Long id;
-	
-	/** 班级编号 */
-	private Integer classGroupId;
-	
-	/** 课程状态 */
-	private String status;
-	
-	/** 补贴 */
-	private java.math.BigDecimal subsidy;
-	
-	/** 上课日期 */
-	private java.util.Date classDate;
-	
-	/** 上课时间 */
-	private java.util.Date startClassTime;
-	
-	/** 结束时间 */
-	private java.util.Date endClassTime;
-	
-	/** 上课教师 */
-	private Integer teacherId;
-	
-	/** 实际上课教师 */
-	private Integer actualTeacherId;
-	
-	/**  */
-	private java.util.Date createTime;
-	
-	/**  */
-	private java.util.Date updateTime;
-	
-	/** 教学形式(线上、线下) */
-	private String teachMode;
-	
-	/** 投诉状态 */
-	private String complaintStatus;
-	
-	/** 课程类型(单技课、小班课、合奏课、综合课、练习课、启蒙课、集训课、VIP课、试听课) */
-	private String type;
-	
-	/** 课程编号 */
-	private Long courseScheduleId;
-	
-	public void setId(Long id){
-		this.id = id;
-	}
-	
-	public Long getId(){
-		return this.id;
-	}
-			
-	public void setClassGroupId(Integer classGroupId){
-		this.classGroupId = classGroupId;
-	}
-	
-	public Integer getClassGroupId(){
-		return this.classGroupId;
-	}
-			
-	public void setStatus(String status){
-		this.status = status;
-	}
-	
-	public String getStatus(){
-		return this.status;
-	}
-			
-	public void setSubsidy(java.math.BigDecimal subsidy){
-		this.subsidy = subsidy;
-	}
-	
-	public java.math.BigDecimal getSubsidy(){
-		return this.subsidy;
-	}
-			
-	public void setClassDate(java.util.Date classDate){
-		this.classDate = classDate;
-	}
-	
-	public java.util.Date getClassDate(){
-		return this.classDate;
-	}
-			
-	public void setStartClassTime(java.util.Date startClassTime){
-		this.startClassTime = startClassTime;
-	}
-	
-	public java.util.Date getStartClassTime(){
-		return this.startClassTime;
-	}
-			
-	public void setEndClassTime(java.util.Date endClassTime){
-		this.endClassTime = endClassTime;
-	}
-	
-	public java.util.Date getEndClassTime(){
-		return this.endClassTime;
-	}
-			
-	public void setTeacherId(Integer teacherId){
-		this.teacherId = teacherId;
-	}
-	
-	public Integer getTeacherId(){
-		return this.teacherId;
-	}
-			
-	public void setActualTeacherId(Integer actualTeacherId){
-		this.actualTeacherId = actualTeacherId;
-	}
-	
-	public Integer getActualTeacherId(){
-		return this.actualTeacherId;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-			
-	public void setTeachMode(String teachMode){
-		this.teachMode = teachMode;
-	}
-	
-	public String getTeachMode(){
-		return this.teachMode;
-	}
-			
-	public void setComplaintStatus(String complaintStatus){
-		this.complaintStatus = complaintStatus;
-	}
-	
-	public String getComplaintStatus(){
-		return this.complaintStatus;
-	}
-			
-	public void setType(String type){
-		this.type = type;
-	}
-	
-	public String getType(){
-		return this.type;
-	}
-			
-	public void setCourseScheduleId(Long courseScheduleId){
-		this.courseScheduleId = courseScheduleId;
-	}
-	
-	public Long getCourseScheduleId(){
-		return this.courseScheduleId;
-	}
-			
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
-}

+ 94 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultPracticeGroupSalary.java

@@ -0,0 +1,94 @@
+package com.ym.mec.biz.dal.entity;
+
+import java.math.BigDecimal;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(teacher_default_practice_group_salary):
+ */
+public class TeacherDefaultPracticeGroupSalary {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer userId;
+	
+	/**  */
+	private Integer minutes;
+	
+	/**  */
+	private BigDecimal mainTeacherSalary;
+	
+	/**  */
+	private BigDecimal assistantTeacherSalary;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setMinutes(Integer minutes){
+		this.minutes = minutes;
+	}
+	
+	public Integer getMinutes(){
+		return this.minutes;
+	}
+			
+	public BigDecimal getMainTeacherSalary() {
+		return mainTeacherSalary;
+	}
+
+	public void setMainTeacherSalary(BigDecimal mainTeacherSalary) {
+		this.mainTeacherSalary = mainTeacherSalary;
+	}
+
+	public BigDecimal getAssistantTeacherSalary() {
+		return assistantTeacherSalary;
+	}
+
+	public void setAssistantTeacherSalary(BigDecimal assistantTeacherSalary) {
+		this.assistantTeacherSalary = assistantTeacherSalary;
+	}
+
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CourseHomeworkService.java

@@ -22,4 +22,11 @@ public interface CourseHomeworkService extends BaseService<Long, CourseHomework>
 	 * 作业未回复提醒
 	 */
 	void homeworkNoReplyRemind();
+
+	/**
+	 * 删除指定课程的作业
+	 * @param courseScheduleId
+	 * @return
+	 */
+	boolean delHomwworkByCourseScheduleId(Long courseScheduleId);
 }

+ 0 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleHistoryService.java

@@ -1,8 +0,0 @@
-package com.ym.mec.biz.service;
-
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.common.service.BaseService;
-
-public interface CourseScheduleHistoryService extends BaseService<Long, CourseScheduleHistory> {
-
-}

+ 25 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultPracticeGroupSalaryService.java

@@ -0,0 +1,25 @@
+package com.ym.mec.biz.service;
+
+import java.util.Date;
+import java.util.List;
+
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.common.service.BaseService;
+
+public interface TeacherDefaultPracticeGroupSalaryService extends BaseService<Long, TeacherDefaultPracticeGroupSalary> {
+
+	/**
+	 * 查询指定老师的默认课酬
+	 * @param userId
+	 * @return
+	 */
+	List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId);
+
+	/**
+	 * 批量设置课酬
+	 * @param teacherDefaultPracticeGroupSalaryList
+	 * @param startDate
+	 * @return
+	 */
+	boolean update(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList, Date startDate);
+}

+ 4 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -674,17 +674,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     public List<ImGroupModel> queryUserGroups(Integer userId, String search) {
-        //获取乐团群,vip群(进行中)
-        //获取学员乐团群
         List<ImGroupModel> imGroupModels = classGroupDao.queryUserMusicGroups(userId, search);
         imGroupModels.addAll(classGroupDao.queryUserVipGroups(userId, search));
         if (imGroupModels != null && imGroupModels.size() > 0) {
-            Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
+//            Set<String> classGroupIds = imGroupModels.stream().map(e -> e.getId()).collect(Collectors.toSet());
             //获取班级老师总数map
-            Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))), HashMap.class);
+//            Map<Integer, Integer> numsMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherNums(StringUtils.join(classGroupIds, ",")))), HashMap.class);
             imGroupModels.forEach(e -> {
-                Integer num = numsMap.get(Integer.parseInt(e.getId()));
-                e.setCount((num == null ? 0 : num) + e.getCount());
+//                Integer num = numsMap.get(Integer.parseInt(e.getId()));
+                e.setCount(classGroupService.findGroupUsers(Integer.parseInt(e.getId())).size());
             });
         }
         return imGroupModels;

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.CourseHomeworkDao;
+import com.ym.mec.biz.dal.dao.StudentCourseHomeworkDao;
 import com.ym.mec.biz.dal.dto.Mapper;
 import com.ym.mec.biz.dal.dto.TeacherHomeworkListDto;
 import com.ym.mec.biz.dal.entity.CourseHomework;
@@ -12,8 +13,11 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -26,6 +30,10 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 
 	@Autowired
 	private CourseHomeworkDao courseHomeworkDao;
+	
+	@Autowired
+	private StudentCourseHomeworkDao studentCourseHomeworkDao;
+	
 	@Autowired
 	private SysMessageService sysMessageService;
 
@@ -84,4 +92,16 @@ public class CourseHomeworkServiceImpl extends BaseServiceImpl<Long, CourseHomew
 			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_JOB_WAIT_REPLY, receivers, null, 0, "6?", "TEACHER", mapper.getValue());
 		}
 	}
+
+	@Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean delHomwworkByCourseScheduleId(Long courseScheduleId) {
+		//删除作业
+		courseHomeworkDao.delByCourseScheduleId(courseScheduleId);
+		//删除学生作业
+		studentCourseHomeworkDao.delByCourseScheduleId(courseScheduleId);
+		//删除学生回复的作业
+		
+		return true;
+	}
 }

+ 0 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleHistoryServiceImpl.java

@@ -1,23 +0,0 @@
-package com.ym.mec.biz.service.impl;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.ym.mec.biz.dal.dao.CourseScheduleHistoryDao;
-import com.ym.mec.biz.dal.entity.CourseScheduleHistory;
-import com.ym.mec.biz.service.CourseScheduleHistoryService;
-import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.service.impl.BaseServiceImpl;
-
-@Service
-public class CourseScheduleHistoryServiceImpl extends BaseServiceImpl<Long, CourseScheduleHistory>  implements CourseScheduleHistoryService {
-	
-	@Autowired
-	private CourseScheduleHistoryDao courseScheduleHistoryDao;
-
-	@Override
-	public BaseDAO<Long, CourseScheduleHistory> getDAO() {
-		return courseScheduleHistoryDao;
-	}
-	
-}

+ 48 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -52,6 +52,7 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao;
 import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
@@ -90,6 +91,7 @@ import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
@@ -112,6 +114,7 @@ import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.CourseHomeworkService;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
 import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
@@ -151,6 +154,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private StudentAttendanceDao studentAttendanceDao;
     @Autowired
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+    
+    @Autowired
+    private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
+    
     @Autowired
     private SysMessageService sysMessageService;
     @Autowired
@@ -189,6 +196,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private MusicGroupService musicGroupService;
     @Autowired
     private SysConfigService sysConfigService;
+    
+    @Autowired
+    private CourseHomeworkService courseHomeworkService;
+    
     @Autowired
     private GroupDao groupDao;
     @Autowired
@@ -1786,6 +1797,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Date entryDate = DateUtil.stringToDate(sysConfigDao.findByParamName(SysConfigService.TEACHER_ENTRY_DATE).getParanValue(), "yyyy-MM-dd");
 
 		List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<CourseScheduleModifyLog>();
+		
+		List<CourseScheduleStudentPayment> insertCourseScheduleStudentPaymentList = new ArrayList<CourseScheduleStudentPayment>();
 
 		for (CourseSchedule newCourseSchedule : newCourseSchedules) {
 			courseScheduleId = newCourseSchedule.getId();
@@ -1817,9 +1830,33 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				}
 			}
 			
-			//如果已结束修改成了未开始,需要更新学生考勤记录
 			if ((newCourseSchedule.getStatus() != oldCourseSchedule.getStatus() && newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START)) {
+				//如果已结束修改成了未开始,需要更新学生考勤记录
 				studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
+				
+				if(newCourseSchedule.getGroupType() == GroupType.MUSIC){
+					//查询新生(之前排课没有这个人,后来新进来的学生)
+					List<ClassGroupStudentMapper> newStudentList = classGroupStudentMapperDao.queryNewStudentListByCourseScheduleId(courseScheduleId);
+					if(newStudentList.size() > 0){
+						//生成courseScheduleStudentPayment记录
+						for(ClassGroupStudentMapper cgsm : newStudentList){
+							CourseScheduleStudentPayment sp = new CourseScheduleStudentPayment();
+							sp.setClassGroupId(newCourseSchedule.getClassGroupId());
+							sp.setCourseScheduleId(courseScheduleId);
+							sp.setCreateTime(date);
+							sp.setExpectPrice(new BigDecimal(0));
+							sp.setGroupType(GroupType.MUSIC);
+							sp.setMusicGroupId(newCourseSchedule.getMusicGroupId());
+							sp.setUpdateTime(date);
+							sp.setUserId(cgsm.getUserId());
+							
+							insertCourseScheduleStudentPaymentList.add(sp);
+						}
+					}
+					
+					//清理课程作业
+					courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleId);
+				}
 			}
 
 			// 计算课程时长
@@ -1928,7 +1965,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							}
 						}
 					} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
-						ts.setExpectSalary(new BigDecimal(30));
+						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+						if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
+							ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
+						} else {
+							ts.setExpectSalary(new BigDecimal(30));
+						}
 					}
 					insertCourseScheduleTeacherSalaryList.add(ts);
 				}
@@ -1966,6 +2008,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(newCourseSchedules.size() > 0){
 			courseScheduleDao.batchUpdate(newCourseSchedules);
 		}
+		
+		if(insertCourseScheduleStudentPaymentList.size() > 0){
+			courseScheduleStudentPaymentDao.batchInsert(insertCourseScheduleStudentPaymentList);
+		}
 
 		// 推送
 		try {

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -24,6 +24,7 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -1099,7 +1100,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         teacherIds.addAll(teacherDao.findVipTeacherIds(studentId));
         //获取陪练课老师列表
         teacherIds.addAll(teacherDao.findPracticeTeacherIds(studentId));
-        return teacherDao.queryTeacherBaseInfo(teacherIds);
+        if(teacherIds.size() > 0){
+        	return teacherDao.queryTeacherBaseInfo(teacherIds);
+        }
+        return new ArrayList<BasicUserDto>();
     }
 
     @Override

+ 84 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java

@@ -0,0 +1,84 @@
+package com.ym.mec.biz.service.impl;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultPracticeGroupSalary>  implements TeacherDefaultPracticeGroupSalaryService {
+	
+	@Autowired
+	private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
+
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+
+	@Override
+	public BaseDAO<Long, TeacherDefaultPracticeGroupSalary> getDAO() {
+		return teacherDefaultPracticeGroupSalaryDao;
+	}
+
+	@Override
+	public List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId) {
+		return teacherDefaultPracticeGroupSalaryDao.queryByUserId(userId);
+	}
+
+	@Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean update(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList, Date startDate) {
+		
+		if(teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0){
+			Integer userId = teacherDefaultPracticeGroupSalaryList.get(0).getUserId();
+			BigDecimal salary = teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary();
+			
+			//先清空
+			teacherDefaultPracticeGroupSalaryDao.deleteByUserId(userId);
+			//再批量新增
+			teacherDefaultPracticeGroupSalaryDao.batchInsert(teacherDefaultPracticeGroupSalaryList);
+			
+			if(startDate != null){
+				//更新课酬
+
+				String typeList = CourseScheduleType.PRACTICE.getCode();
+				// 查询所有需要修改的课酬
+				List<CourseScheduleTeacherSalary> updateTeacherSalaryList = courseScheduleTeacherSalaryDao.queryUserNoSettlementListByTypeAndStartClassDate(
+						userId, typeList, startDate);
+				
+				if (updateTeacherSalaryList != null && updateTeacherSalaryList.size() > 0) {
+					
+					Date date = new Date();
+
+					List<CourseScheduleTeacherSalary> list = new ArrayList<CourseScheduleTeacherSalary>();
+
+					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
+						ts.setExpectSalary(salary);
+						ts.setUpdateTime(date);
+					}
+					if (list.size() > 0) {
+						courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(list);
+					}
+				}
+			}
+			
+			return true;
+		}
+		
+		return false;
+	}
+	
+}

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -267,9 +267,10 @@
         SELECT cg.id_,cg.name_,cg.student_num_,cg.img_,mg.name_ group_name_
         FROM class_group_student_mapper cgsm
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
-        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_
+        LEFT JOIN music_group mg ON mg.id_ = cg.music_group_id_ AND cg.group_type_ = 'MUSIC'
+        LEFT JOIN vip_group vg ON vg.id_ = cg.music_group_id_ AND cg.group_type_ = 'VIP'
         <where>
-            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND mg.status_ = 'PROGRESS'
+            cg.del_flag_ = 0 AND cgsm.status_ != 'QUIT' AND (mg.status_ = 'PROGRESS' OR vg.group_status_ = 2)
             <if test="userId != null">
                 AND cgsm.user_id_ = #{userId}
             </if>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -384,4 +384,9 @@
             </foreach>
         ORDER BY create_time_ DESC
     </select>
+    
+    <select id="queryNewStudentListByCourseScheduleId" resultMap="ClassGroupStudentMapper">
+       SELECT cgsm.* FROM class_group_student_mapper cgsm LEFT JOIN course_schedule_student_payment cssp on cssp.class_group_id_ = cgsm.class_group_id_ and cssp.user_id_ = cgsm.user_id_ 
+		WHERE cssp.id_ IS NULL AND cgsm.status_ != 'QUIT' and cssp.course_schedule_id_ = #{courseScheduleId}
+    </select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -237,4 +237,8 @@
 		where cs.del_flag_ = 0 AND cs.actual_teacher_id_ IS NOT NULL
 		AND sch.is_replied_ = 0 group by cs.actual_teacher_id_
 	</select>
+	
+	<delete id="delByCourseScheduleId" >
+		DELETE FROM course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
+	</delete>
 </mapper>

+ 0 - 112
mec-biz/src/main/resources/config/mybatis/CourseScheduleHistoryMapper.xml

@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<!--
-这个文件是自动生成的。
-不要修改此文件。所有改动将在下次重新自动生成时丢失。
--->
-<mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleHistoryDao">
-	
-	<resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleHistory" id="CourseScheduleHistory">
-		<result column="id_" property="id" />
-		<result column="class_group_id_" property="classGroupId" />
-		<result column="status_" property="status" />
-		<result column="subsidy_" property="subsidy" />
-		<result column="class_date_" property="classDate" />
-		<result column="start_class_time_" property="startClassTime" />
-		<result column="end_class_time_" property="endClassTime" />
-		<result column="teacher_id_" property="teacherId" />
-		<result column="actual_teacher_id_" property="actualTeacherId" />
-		<result column="create_time_" property="createTime" />
-		<result column="update_time_" property="updateTime" />
-		<result column="teach_mode_" property="teachMode" />
-		<result column="complaint_status_" property="complaintStatus" />
-		<result column="type_" property="type" />
-		<result column="course_schedule_id_" property="courseScheduleId" />
-	</resultMap>
-	
-	<!-- 根据主键查询一条记录 -->
-	<select id="get" resultMap="CourseScheduleHistory" >
-		SELECT * FROM course_schedule_history WHERE id_ = #{id} 
-	</select>
-	
-	<!-- 全查询 -->
-	<select id="findAll" resultMap="CourseScheduleHistory">
-		SELECT * FROM course_schedule_history ORDER BY id_
-	</select>
-	
-	<!-- 向数据库增加一条记录 -->
-	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleHistory" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		<!--
-		<selectKey resultClass="int" keyProperty="id" > 
-		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
-		</selectKey>
-		-->
-		INSERT INTO course_schedule_history (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,teach_mode_,complaint_status_,type_,course_schedule_id_) VALUES(#{id},#{classGroupId},#{status},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{actualTeacherId},#{createTime},NOW(),#{teachMode},#{complaintStatus},#{type},#{courseScheduleId})
-	</insert>
-	
-	<!-- 根据主键查询一条记录 -->
-	<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleHistory">
-		UPDATE course_schedule_history <set>
-<if test="status != null">
-status_ = #{status},
-</if>
-<if test="id != null">
-id_ = #{id},
-</if>
-<if test="classGroupId != null">
-class_group_id_ = #{classGroupId},
-</if>
-<if test="teachMode != null">
-teach_mode_ = #{teachMode},
-</if>
-<if test="complaintStatus != null">
-complaint_status_ = #{complaintStatus},
-</if>
-<if test="createTime != null">
-create_time_ = #{createTime},
-</if>
-<if test="classDate != null">
-class_date_ = #{classDate},
-</if>
-<if test="endClassTime != null">
-end_class_time_ = #{endClassTime},
-</if>
-<if test="actualTeacherId != null">
-actual_teacher_id_ = #{actualTeacherId},
-</if>
-<if test="subsidy != null">
-subsidy_ = #{subsidy},
-</if>
-<if test="startClassTime != null">
-start_class_time_ = #{startClassTime},
-</if>
-<if test="teacherId != null">
-teacher_id_ = #{teacherId},
-</if>
-<if test="updateTime != null">
-update_time_ = NOW(),
-</if>
-<if test="courseScheduleId != null">
-course_schedule_id_ = #{courseScheduleId},
-</if>
-<if test="type != null">
-type_ = #{type},
-</if>
-</set> WHERE id_ = #{id} 
-	</update>
-	
-	<!-- 根据主键删除一条记录 -->
-	<delete id="delete" >
-		DELETE FROM course_schedule_history WHERE id_ = #{id} 
-	</delete>
-	
-	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="CourseScheduleHistory" parameterType="map">
-		SELECT * FROM course_schedule_history ORDER BY id_ <include refid="global.limit"/>
-	</select>
-	
-	<!-- 查询当前表的总记录数 -->
-	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM course_schedule_history
-	</select>
-</mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -286,4 +286,8 @@
         ORDER BY sch.id_ DESC
         <include refid="global.limit"/>
     </select>
+    
+    <delete id="delByCourseScheduleId">
+		DELETE FROM student_course_homework WHERE course_schedule_id_ = #{courseScheduleId} 
+	</delete>
 </mapper>

+ 103 - 0
mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml

@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao">
+
+	<resultMap
+		type="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary" id="TeacherDefaultPracticeGroupSalary">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="minutes_" property="minutes" />
+		<result column="main_teacher_salary_" property="mainTeacherSalary" />
+		<result column="assistant_teacher_salary_" property="assistantTeacherSalary" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM teacher_default_practice_group_salary WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM
+		teacher_default_practice_group_salary ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert"
+		parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO teacher_default_practice_group_salary
+		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
+		VALUES(#{id},#{userId},#{minutes},#{mainTeacherSalary},#{assistantTeacherSalary},#{createTime},#{updateTime})
+	</insert>
+	
+    <insert id="batchInsert">
+    	INSERT INTO teacher_default_practice_group_salary
+		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
+		<foreach collection="list" item="item" separator=",">
+			VALUES(#{item.id},#{item.userId},#{item.minutes},#{item.mainTeacherSalary},#{item.assistantTeacherSalary},now(),now())
+		</foreach>
+    </insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update"
+		parameterType="com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary">
+		UPDATE teacher_default_practice_group_salary
+		<set>
+			<if test="userId != null">
+				user_id_ = #{userId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="updateTime != null">
+				update_time_ = #{updateTime},
+			</if>
+			<if test="minutes != null">
+				minutes_ = #{minutes},
+			</if>
+			<if test="mainTeacherSalary != null">
+				main_teacher_salary_ = #{mainTeacherSalary},
+			</if>
+			<if test="assistantTeacherSalary != null">
+				assistant_teacher_salary_ = #{assistantTeacherSalary},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM
+		teacher_default_practice_group_salary WHERE user_id_ = #{userId}
+	</delete>
+
+	<delete id="deleteByUserId">
+		DELETE FROM teacher_default_practice_group_salary WHERE id_ = #{id}
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="TeacherDefaultPracticeGroupSalary"
+		parameterType="map">
+		SELECT * FROM teacher_default_practice_group_salary ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM
+		teacher_default_practice_group_salary
+	</select>
+
+	<select id="queryByTeacherId" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM teacher_default_practice_group_salary where user_id_ = #{userId} ORDER BY id_
+	</select>
+</mapper>

+ 3 - 1
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -798,7 +798,9 @@
         GROUP BY su.id_
     </select>
     <select id="queryTeacherImModel" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.ImUserModel">
-        SELECT su.id_,su.avatar_,su.username_ FROM sys_user su
+        SELECT su.id_,su.avatar_,
+        CASE WHEN su.username_ IS NULL THEN su.real_name_ ELSE su.username_ END username_
+        FROM sys_user su
         WHERE su.id_ IN
         <foreach collection="teacherIds" item="userId" open="(" close=")" separator=",">
             #{userId}

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -146,7 +146,7 @@ public class PracticeGroupController extends BaseController {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
         practiceGroupBuyParams.setStudentId(sysUser.getId());
-        return succeed(practiceGroupService.buyPracticeGroup(practiceGroupBuyParams));
+        return practiceGroupService.buyPracticeGroup(practiceGroupBuyParams);
     }
 
     @ApiOperation("获取用户历史购买的陪练课")

+ 66 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultPracticeGroupSalaryController.java

@@ -0,0 +1,66 @@
+package com.ym.mec.web.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
+import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
+import com.ym.mec.common.controller.BaseController;
+
+@Api(tags = "老师默认陪练课薪酬")
+@RequestMapping("teacherDefaultPracticeGroupSalary")
+@RestController
+public class TeacherDefaultPracticeGroupSalaryController extends BaseController {
+
+	@Autowired
+	private TeacherDefaultPracticeGroupSalaryService teacherDefaultPracticeGroupSalaryService;
+
+	@ApiOperation(value = "获取教师的陪练课课酬列表")
+	@GetMapping("/queryPageByTeacherId")
+	@PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/queryByTeacherId')")
+	public Object queryByTeacherId(Integer teacherId) {
+		return succeed(teacherDefaultPracticeGroupSalaryService.queryByUserId(teacherId));
+	}
+
+	@ApiOperation(value = "批量新增、修改教师陪练课课酬")
+	@PostMapping("/update")
+	@PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/update')")
+	public Object update(@RequestBody TeacherDefaultPracticeGroupSalaryTemp teacherDefaultPracticeGroupSalaryTemp) {
+		return teacherDefaultPracticeGroupSalaryService.update(teacherDefaultPracticeGroupSalaryTemp.getTeacherDefaultPracticeGroupSalaries(),
+				teacherDefaultPracticeGroupSalaryTemp.getStartDate()) ? succeed() : failed();
+	}
+
+	class TeacherDefaultPracticeGroupSalaryTemp {
+
+		private List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries;
+
+		private Date startDate;
+
+		public List<TeacherDefaultPracticeGroupSalary> getTeacherDefaultPracticeGroupSalaries() {
+			return teacherDefaultPracticeGroupSalaries;
+		}
+
+		public void setTeacherDefaultPracticeGroupSalaries(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries) {
+			this.teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaries;
+		}
+
+		public Date getStartDate() {
+			return startDate;
+		}
+
+		public void setStartDate(Date startDate) {
+			this.startDate = startDate;
+		}
+	}
+}