Explorar el Código

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan hace 5 años
padre
commit
41f34a8b7f

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

@@ -1,12 +1,5 @@
 package com.ym.mec.biz.dal.dao;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import org.apache.ibatis.annotations.Param;
-
 import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
 import com.ym.mec.biz.dal.dto.TeacherClassStudentDto;
 import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
@@ -15,6 +8,11 @@ import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStudentMapper> {
     /**
@@ -69,6 +67,15 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
     String[] findStudentNumByClassGroupId(@Param("classGroupId") Long classGroupId);
 
     /**
+     * @describe 获取课程上的学员名称集合
+     * @author Joburgess
+     * @date 2019/12/4
+     * @param courseScheduleId:
+     * @return java.lang.String[]
+     */
+    String[] findCourseStudentName(@Param("courseScheduleId") Integer courseScheduleId);
+
+    /**
      * @param params:
      * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassStudentDto>
      * @describe 获取班级学生

+ 20 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -49,7 +49,7 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
     @Override
     public ClassGroupStudentMapper findClassStudentMapperByUserIdAndClassGroupId(Integer userId, Integer classGroupId) {
-        return classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId,"NORMAL");
+        return classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId, "NORMAL");
     }
 
     @Override
@@ -153,26 +153,22 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         Iterator<String> iterator = userIdStrSet.iterator();
         while (iterator.hasNext()) {
-        	Integer userId = Integer.parseInt(iterator.next());
+            Integer userId = Integer.parseInt(iterator.next());
             List<ClassGroupStudentMapper> highClassGroupHasUser = classGroupStudentMapperDao.findHighClassGroupHasUser(classGroup.getMusicGroupId(), userId, classGroup.getType());
             if (!classGroup.getType().equals(ClassGroupTypeEnum.SNAP) && highClassGroupHasUser != null && highClassGroupHasUser.size() > 0) {
-            	iterator.remove();
+                iterator.remove();
                 continue;
             }
-            //校验是否存在历史记录
-            ClassGroupStudentMapper classGroupStudentMapper = classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(userId, classGroupId, null);
-            if(classGroupStudentMapper != null){
-                classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
-            }else {
-                classGroupStudentMapper = new ClassGroupStudentMapper();
-                classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
-                classGroupStudentMapper.setClassGroupId(classGroupId);
-                classGroupStudentMapper.setUserId(userId);
-                classGroupStudentMapper.setCreateTime(nowDate);
-                classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
-                classGroupStudentMapper.setGroupType(GroupType.MUSIC);
-                classGroupStudentMappers.add(classGroupStudentMapper);
-            }
+            
+            ClassGroupStudentMapper classGroupStudentMapper = new ClassGroupStudentMapper();
+            classGroupStudentMapper.setMusicGroupId(classGroup.getMusicGroupId());
+            classGroupStudentMapper.setClassGroupId(classGroupId);
+            classGroupStudentMapper.setUserId(userId);
+            classGroupStudentMapper.setCreateTime(nowDate);
+            classGroupStudentMapper.setStatus(ClassGroupStudentStatusEnum.NORMAL);
+            classGroupStudentMapper.setGroupType(GroupType.MUSIC);
+            classGroupStudentMappers.add(classGroupStudentMapper);
+
             if (classGroup.getType().equals(ClassGroupTypeEnum.NORMAL)) {
                 StudentRegistration studentRegistration = studentRegistrationService.queryByUserIdAndMusicGroupId(userId, classGroup.getMusicGroupId());
                 studentRegistration.setClassGroupId(classGroupId);
@@ -180,9 +176,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             }
             imGroupMemberList.add(new ImGroupMember(userId.toString()));
         }
-		if (classGroupStudentMappers.size() > 0) {
-			classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMappers);
-		}
+        if (classGroupStudentMappers.size() > 0) {
+            classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentMappers);
+        }
 
         //添加进IM群组
         ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
@@ -214,8 +210,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
             courseScheduleStudentPaymentService.batchInsert(courseScheduleStudentPayments);
         }
         //乐团在合奏班
-        if(classGroupRelation != null){
-            addStudents(classGroupRelation.getClassGroupId(),userIdsStr,GroupType.MUSIC);
+        if (classGroupRelation != null) {
+            addStudents(classGroupRelation.getClassGroupId(), userIdsStr, GroupType.MUSIC);
         }
 
         return true;
@@ -223,12 +219,12 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
     @Override
     public Object queryHoliday(String year) throws IOException {
-        return HttpUtil.get(holidayUrl + year,null);
+        return HttpUtil.get(holidayUrl + year, null);
     }
 
     @Override
     public List<ClassGroupStudentMapper> findMusicGroupClassGroupByType(String musicGroupId, ClassGroupTypeEnum type) {
-        return classGroupStudentMapperDao.findMusicGroupClassGroupByType(musicGroupId,type);
+        return classGroupStudentMapperDao.findMusicGroupClassGroupByType(musicGroupId, type);
     }
 
     @Override

+ 9 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -64,7 +64,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         List<ClassGroup> classGroups = classGroupService.findClassGroupByIds(classGroupIds);
 
-        List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList,GroupType.MUSIC);
+        List<ClassGroupTeacherMapper> oldClassGroupTeacherMapper = classGroupTeacherMapperDao.getClassGroupTeacherMapper(classGroupTeacherMapperList, GroupType.MUSIC);
 
         for (ClassGroup classGroup : classGroups) {
             imGroupMemberList.clear();
@@ -172,7 +172,10 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 if (classGroupNoStartCourseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH)) {
                     //课程时长与结算单位时长占比
                     classTimeDuty = new BigDecimal(duration).divide(new BigDecimal(45), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
-                    baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
+                    baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
+                    if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
+                        baseSalary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
+                    }
                 }
 
                 salary = baseSalary.multiply(classTimeDuty).setScale(CommonConstants.DECIMAL_FINAL_PLACE, BigDecimal.ROUND_HALF_UP);
@@ -197,13 +200,13 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
     @Override
     public void createMusicGroupTeacherMapper(List<CourseSchedule> courseSchedules, String musicGroupId) {
-        Date date=new Date();
+        Date date = new Date();
         MusicGroup musicGroup = musicGroupService.get(musicGroupId);
         //老师默认的课酬
 //        Map<String, TeacherDefaultMusicGroupSalary> teacherDefaultSalary = new HashMap<>();
         for (CourseSchedule classGroupNoStartCourseSchedule : courseSchedules) {
             List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
-            List<TeacherAttendance> teacherAttendances=new ArrayList<>();
+            List<TeacherAttendance> teacherAttendances = new ArrayList<>();
             //课时长度
             int duration = DateUtil.minutesBetween(classGroupNoStartCourseSchedule.getStartClassTime(), classGroupNoStartCourseSchedule.getEndClassTime());
             List<ClassGroupTeacherMapper> byClassGroup = classGroupTeacherMapperDao.findByClassGroup(classGroupNoStartCourseSchedule.getClassGroupId());
@@ -213,7 +216,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 }
                 BigDecimal salary;
 
-                TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary=teacherDefaultMusicGroupSalaryDao.findByTeacherAndCourseType(classGroupTeacherMapper.getUserId(),
+                TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = teacherDefaultMusicGroupSalaryDao.findByTeacherAndCourseType(classGroupTeacherMapper.getUserId(),
                         classGroupNoStartCourseSchedule.getType().getCode());
 
                 if (teacherDefaultMusicGroupSalary == null) {
@@ -264,7 +267,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 courseScheduleTeacherSalary.setClassGroupId(classGroupTeacherMapper.getClassGroupId());
                 courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
 
-                TeacherAttendance teacherAttendance=new TeacherAttendance();
+                TeacherAttendance teacherAttendance = new TeacherAttendance();
                 teacherAttendance.setMusicGroupId(courseScheduleTeacherSalary.getMusicGroupId());
                 teacherAttendance.setTeacherId(classGroupTeacherMapper.getUserId());
                 teacherAttendance.setClassGroupId(classGroupTeacherMapper.getClassGroupId());

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

@@ -342,7 +342,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
 			}
 			if(Objects.nonNull(courseScheduleDto.getClassGroupId())){
-				String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(courseScheduleDto.getClassGroupId().longValue());
+				String[] studentNums = classGroupStudentMapperDao.findCourseStudentName(courseScheduleDto.getId().intValue());
 				courseScheduleDto.setStudentNames(org.apache.commons.lang3.StringUtils.join(studentNums, ","));
 			}
 			courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));

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

@@ -94,6 +94,16 @@
             WHERE cgsm.class_group_id_=#{classGroupId} AND cgsm.status_!='QUIT'
     </select>
 
+    <select id="findCourseStudentName" resultType="string">
+        SELECT
+            su.username_
+        FROM
+            course_schedule_student_payment cssp
+            LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
+        WHERE
+            cssp.course_schedule_id_ = #{courseScheduleId}
+    </select>
+
     <resultMap id="teacherClassStudentDto" type="com.ym.mec.biz.dal.dto.TeacherClassStudentDto">
         <result property="userId" column="user_id_"/>
         <result property="userName" column="username_"/>

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

@@ -1226,7 +1226,7 @@
         FROM
             course_schedule cs left join class_group cg on cs.class_group_id_ = cg.id_
         WHERE (cs.class_date_ BETWEEN DATE_FORMAT(#{startTime},'%Y%m%d') AND DATE_FORMAT(#{endTime},'%Y%m%d'))
-            AND cs.del_flag_!=1 AND cg.del_flag_!=1
+            AND (cs.del_flag_ IS NULL OR cs.del_flag_=0) AND (cg.del_flag_ IS NULL OR cg.del_flag_=0)
     </select>
     
     <select id="queryStudentCoursesTimesOfTomorrow" resultMap="Mapper">