Переглянути джерело

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

yonge 4 роки тому
батько
коміт
c585c0c0ee

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -736,6 +736,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取班级列表
+     *
      * @param practiceGroupId
      * @param groupType
      * @return
@@ -744,10 +745,19 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 根据班级编号冻结所选班级
-     * @author zouxuan
+     *
      * @param classGroupIds
      * @param lockFlag
      * @return
+     * @author zouxuan
      */
     int batchUpdateLockByClassGroupIds(@Param("classGroupIds") List<Integer> classGroupIds, @Param("lockFlag") int lockFlag);
+
+
+    /**
+     * 获取乐团某声部基础技能班或基础技能提高班数量
+     *
+     * @return
+     */
+    int getMusicGroupHighClassNumBySubject(@Param("musicGroupId") String musicGroupId, @Param("subjectIds") String subjectIds);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -380,8 +380,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
 
     /**
      * 获取乐团未交费的学生
+     *
      * @param musicGroupId
      * @return
      */
     List<StudentRegistration> getNoPaymentStudent(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 获取乐团声部学生数量
+     *
+     * @return
+     */
+    int getMusicGroupSubjectNum(@Param("musicGroupId") String musicGroupId, @Param("subjectIds") String subjectIds);
 }

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

@@ -216,6 +216,13 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if (classGroup.getGroupType() == null) {
             throw new BizException("课程组类型不能为空");
         }
+
+        //基础技能班和线上基础技能班,可分班原则为声部人数/6向上取整
+//        if(classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)||classGroup.getType().equals(ClassGroupTypeEnum.HIGH)){
+//            int classGroupNum = classGroupDao.getMusicGroupHighClassNumBySubject(classGroup.getMusicGroupId(), classGroup.getSubjectIdList());
+//            int musicGroupSubjectNum = studentRegistrationDao.getMusicGroupSubjectNum(classGroup.getMusicGroupId(), classGroup.getSubjectIdList());
+//        }
+
         String userIds = classGroup.getUserIds();
 
         Set<String> userIdStrSet = new HashSet<String>();

+ 9 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -393,16 +393,15 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
 
         List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findAllByClassGroup(classGroupId);
 
-        if (classGroupStudents.size() <= 0 && (classGroup.getType().equals(ClassGroupTypeEnum.HIGH) ||
-                classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE))) {
-            String errTips = classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE) ? "线上基础技能班" : "基础技能班";
-            if (studentIds.size() < 3) {
-                throw new BizException(errTips + "人数不能小于3人");
-            }
-            if (studentIds.size() > 6) {
-                throw new BizException(errTips + "人数不能大于6人");
-            }
-        }
+        //线上基础技能班,原始分班人数不能小于3人大于6人
+//        if (classGroupStudents.size() <= 0 && classGroup.getType().equals(ClassGroupTypeEnum.HIGH_ONLINE)) {
+//            if (studentIds.size() < 3) {
+//                throw new BizException("线上基础技能班人数不能小于3人");
+//            }
+//            if (studentIds.size() > 6) {
+//                throw new BizException("线上基础技能班人数不能大于6人");
+//            }
+//        }
 
         Set<Integer> allStudentIds = new HashSet<>();
         Set<Integer> oldStudentIds = new HashSet<>();

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

@@ -382,7 +382,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
 			teacherAttendance.setCurrentClassTimes(classGroup.getCurrentClassTimes() + 1);
 			Date add1Minutes = DateUtil.addMinutes(classStartDateTime, -1);
-			if(yesOrNoEnum != YesOrNoEnum.YES && DateUtil.minutesBetween(date,add1Minutes) <= 0){
+			int secondsBetween = DateUtil.secondsBetween(date, add1Minutes);
+
+			if(yesOrNoEnum != YesOrNoEnum.YES && secondsBetween <= 60){
 				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
 			}
 			teacherAttendanceDao.update(teacherAttendance);

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -1325,4 +1325,11 @@
             AND cg.group_type_ = #{groupType}
         </if>
     </select>
+
+    <!-- 获取乐团某声部基础技能班或基础技能提高班数量 -->
+    <select id="getMusicGroupHighClassNumBySubject" resultType="int">
+        SELECT COUNT(*) FROM class_group WHERE music_group_id_=#{musicGroupId}
+        AND type_ IN ('HIGH','HIGH_ONLINE') AND del_flag_ = '0'
+        AND INTE_ARRAY(subject_id_list_,#{subjectIds})
+    </select>
 </mapper>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -702,4 +702,10 @@
     <select id="getNoPaymentStudent" resultMap="StudentRegistration">
         SELECT * FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ IN (0,1)
     </select>
+
+    <!-- 获取乐团声部学生数量 -->
+    <select id="getMusicGroupSubjectNum" resultType="int">
+        SELECT COUNT(*) FROM student_registration WHERE music_group_id_=#{musicGroupId}
+        AND INTE_ARRAY(subject_id_,#{subjectIds}) AND music_group_status_ = 'NORMAL'
+    </select>
 </mapper>