Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
1c40e2a926

+ 11 - 0
cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java

@@ -17,6 +17,9 @@ public class NewsInformationQueryInfo extends QueryInfo {
 
 	@ApiModelProperty(value = "标题", required = false)
 	private String title;
+
+	@ApiModelProperty(value = "备注", required = false)
+	private String memo;
 	
 	private Date date;
 
@@ -51,4 +54,12 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	public void setDate(Date date) {
 		this.date = date;
 	}
+
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
 }

+ 11 - 0
cms/src/main/java/com/ym/mec/cms/dal/entity/SysNewsInformation.java

@@ -45,6 +45,9 @@ public class SysNewsInformation {
 
 	/**  */
 	private java.util.Date updateTime;
+
+	@ApiModelProperty(value = "备注", required = false)
+	private String memo;
 	
 	private Boolean delFlag;
 
@@ -136,6 +139,14 @@ public class SysNewsInformation {
 		return this.updateTime;
 	}
 
+	public String getMemo() {
+		return memo;
+	}
+
+	public void setMemo(String memo) {
+		this.memo = memo;
+	}
+
 	public Boolean getDelFlag() {
 		return delFlag;
 	}

+ 15 - 3
cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -19,11 +19,12 @@
 		<result column="del_flag_" property="delFlag" />
 		<result column="href_target_" property="hrefTarget" />
 		<result column="order_" property="order" />
+		<result column="memo_" property="memo" />
 	</resultMap>
 	
 	<sql id="queryCondition">
 		<where>
-			del_flag_=0
+			del_flag_=0 
 			<if test="type != null">
 				and type_ = #{type}
 			</if>
@@ -36,6 +37,14 @@
 			<if test="search != null">
 				and title_ like '%' #{search} '%'
 			</if>
+			<choose>
+		        <when test="memo != null and memo != ''">
+		            and memo_ = #{memo}
+		        </when>
+		        <otherwise>
+		            and memo_ is null
+		        </otherwise>
+	        </choose>
 		</where>
 	</sql>
 	
@@ -51,8 +60,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.cms.dal.entity.SysNewsInformation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_,link_url_,href_target_,order_,del_flag_)
-		VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now(),#{linkUrl},#{hrefTarget},#{order},0)
+		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,type_,status_,create_time_,update_time_,link_url_,href_target_,order_,del_flag_,memo_)
+		VALUES(#{id},#{title},#{content},#{coverImage},#{type},#{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now(),#{linkUrl},#{hrefTarget},#{order},0,#{memo})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -86,6 +95,9 @@
 			<if test="order != null">
 				order_ = #{order},
 			</if>
+			<if test="memo != null">
+				memo_ = #{memo},
+			</if>
 			<if test="delFlag != null">
 				del_flag_ = #{delFlag},
 			</if>

+ 80 - 42
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -252,10 +252,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     	if(classGroup == null){
     		throw new BizException("排课失败,班级信息不存在");
     	}
-    	List<CourseTimeDto> teachingArrangementList = JsonUtil.parseArray(teachingArrangement, CourseTimeDto.class);
-    	if(teachingArrangementList == null || teachingArrangementList.size() == 0){
-    		throw new BizException("请设置课时安排");
-    	}
     	
     	if(teachMode == TeachModeEnum.OFFLINE && schoolId == null){
     		throw new BizException("线下课请指定教学点");
@@ -265,25 +261,58 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     		throw new BizException("请指定课程类型");
     	}
     	
-    	//查询班级学生信息
-    	List<ClassGroupStudentMapper> classGroupStudentMapperList = classGroupStudentMapperDao.findByClassGroup(classGroupId);
+    	if (type == CourseScheduleType.VIP){
+    		throw new BizException("暂不支持vip课加课");
+    	}
+    	
+    	List<CourseTimeDto> teachingArrangementList = JsonUtil.parseArray(teachingArrangement, CourseTimeDto.class);
+    	if(teachingArrangementList == null || teachingArrangementList.size() == 0){
+    		throw new BizException("请设置课时安排");
+    	}
     	
     	//查询班级老师信息
     	List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupTeacherMapperService.getClassGroupTeachers(classGroupId);
     	
+    	//查询主教老师
+    	Integer teacherId = null;
+    	for(ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList){
+    		if(cgtm.getTeacherRole() == TeachTypeEnum.BISHOP){
+    			teacherId = cgtm.getUserId();
+    			break;
+    		}
+    	}
+    	
+    	if(teacherId == null){
+    		throw new BizException("班级缺少主教老师");
+    	}
+    	
     	//查询老师默认课酬
 		if (type == CourseScheduleType.PRACTICE) {
-			
-		} else if (type == CourseScheduleType.VIP) {
+
+			List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
+					.queryByUserId(teacherId);
 			
 		} else {
-			
+			// 所有老师默认乐团课酬
+			/*List<TeacherDefaultMusicGroupSalary> teacherDefaultMusicGroupSalaries = teacherDefaultMusicGroupSalaryDao.findByTeacher(newTeacherIdList);
+			for (TeacherDefaultMusicGroupSalary tdms : teacherDefaultMusicGroupSalaries) {
+				Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(tdms.getUserId());
+				if (map == null) {
+					map = new HashMap<CourseSchedule.CourseScheduleType, TeacherDefaultMusicGroupSalary>();
+				}
+				map.put(tdms.getCourseScheduleType(), tdms);
+				musicGroupSalaryMap.put(tdms.getUserId(), map);
+			}*/
 		}
     	
+    	//查询班级学生信息
+    	List<ClassGroupStudentMapper> classGroupStudentMapperList = classGroupStudentMapperDao.findByClassGroup(classGroupId);
+    	
+    	//查询教学点补贴
+    	
     	Map<Integer,CourseTimeDto> dayOfWeekMap = teachingArrangementList.stream().collect(Collectors.toMap(CourseTimeDto :: getDayOfWeek, ct -> ct));
     	
     	Calendar calendar = Calendar.getInstance();
-    	Date date = null;
     	Date now = new Date();
     	CourseTimeDto courseTimeDto = null;
     	List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
@@ -319,9 +348,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					dateYmdStr = dateYmdStr + " " + courseTimeDto.getEndClassTime();
 					Date courseEndTime = DateUtil.stringToDate(dateYmdStr, "yyyy-MM-dd HH:mm");
 					courseSchedule.setEndClassTime(courseEndTime);
+					
+					if(courseEndTime.before(courseStartTime)){
+						throw new BizException("课时上课时间安排错误");
+					}
 
-					courseSchedule.setTeacherId(-1);
-					courseSchedule.setActualTeacherId(-1);
+					courseSchedule.setTeacherId(teacherId);
+					courseSchedule.setActualTeacherId(teacherId);
 					courseSchedule.setCreateTime(now);
 					courseSchedule.setUpdateTime(now);
 					courseSchedule.setTeachMode(teachMode);
@@ -332,40 +365,45 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					courseScheduleList.add(courseSchedule);
 
 					// 课程与老师薪水表
-					CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
-					courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
-					courseScheduleTeacherSalary.setGroupType(classGroup.getGroupType());
-					courseScheduleTeacherSalary.setMusicGroupId(classGroup.getMusicGroupId());
-					//courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
-					//courseScheduleTeacherSalary.setUserId(practiceGroup.getUserId());
-					//courseScheduleTeacherSalary.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
-					courseScheduleTeacherSalary.setCreateTime(now);
-					courseScheduleTeacherSalary.setUpdateTime(now);
-					courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
-					courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+					for (ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList) {
+						CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();
+						courseScheduleTeacherSalary.setCourseScheduleId(courseSchedule.getId());
+						courseScheduleTeacherSalary.setGroupType(classGroup.getGroupType());
+						courseScheduleTeacherSalary.setMusicGroupId(classGroup.getMusicGroupId());
+						courseScheduleTeacherSalary.setTeacherRole(cgtm.getTeacherRole());
+						courseScheduleTeacherSalary.setUserId(cgtm.getUserId());
+						//courseScheduleTeacherSalary.setExpectSalary(new BigDecimal(practiceCourseSalaryConfig.getParanValue()));
+						courseScheduleTeacherSalary.setCreateTime(now);
+						courseScheduleTeacherSalary.setUpdateTime(now);
+						courseScheduleTeacherSalary.setClassGroupId(classGroup.getId());
+						courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
+					}
 
 					// 学生缴费记录
-					CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
-					courseScheduleStudentPayment.setGroupType(classGroup.getGroupType());
-					courseScheduleStudentPayment.setMusicGroupId(classGroup.getMusicGroupId());
-					courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
-					//courseScheduleStudentPayment.setUserId(practiceGroup.getStudentId());
-					courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
-					courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
-					courseScheduleStudentPayment.setCreateTime(now);
-					courseScheduleStudentPayment.setUpdateTime(now);
-					courseScheduleStudentPayments.add(courseScheduleStudentPayment);
+					for (ClassGroupStudentMapper cgsm : classGroupStudentMapperList) {
+						CourseScheduleStudentPayment courseScheduleStudentPayment = new CourseScheduleStudentPayment();
+						courseScheduleStudentPayment.setGroupType(classGroup.getGroupType());
+						courseScheduleStudentPayment.setMusicGroupId(classGroup.getMusicGroupId());
+						courseScheduleStudentPayment.setCourseScheduleId(courseSchedule.getId());
+						courseScheduleStudentPayment.setUserId(cgsm.getUserId());
+						courseScheduleStudentPayment.setExpectPrice(BigDecimal.ZERO);
+						courseScheduleStudentPayment.setClassGroupId(classGroup.getId());
+						courseScheduleStudentPayment.setCreateTime(now);
+						courseScheduleStudentPayment.setUpdateTime(now);
+						courseScheduleStudentPayments.add(courseScheduleStudentPayment);
+					}
 
 					// 教师签到记录
-					TeacherAttendance teacherAttendance = new TeacherAttendance();
-					teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
-					//teacherAttendance.setTeacherId(practiceGroup.getUserId());
-					teacherAttendance.setClassGroupId(classGroup.getId());
-					teacherAttendance.setGroupType(classGroup.getGroupType());
-					teacherAttendance.setCourseScheduleId(courseSchedule.getId());
-					teacherAttendance.setCreateTime(now);
-					teacherAttendances.add(teacherAttendance);
-					
+					for (ClassGroupTeacherMapper cgtm : classGroupTeacherMapperList) {
+						TeacherAttendance teacherAttendance = new TeacherAttendance();
+						teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
+						teacherAttendance.setTeacherId(cgtm.getUserId());
+						teacherAttendance.setClassGroupId(classGroup.getId());
+						teacherAttendance.setGroupType(classGroup.getGroupType());
+						teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+						teacherAttendance.setCreateTime(now);
+						teacherAttendances.add(teacherAttendance);
+					}
 					break;
 				}
 			}