소스 검색

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

zouxuan 5 년 전
부모
커밋
c8d0517647

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

@@ -200,7 +200,7 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupID") String musicGroupID);
+    int deleteCourseSchedulesByMusicGroupID(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
 
     /**
      * 逻辑删除乐团课程

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

@@ -3,7 +3,9 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.StudentAttendanceStatisticsResponse;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -111,4 +113,11 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
                                        @Param("teachMode") String teachMode);
 
     int deleteStudentCourseScheduleByUserId(@Param("courseScheduleId") Long courseScheduleId, @Param("userIdList") List<Integer> userIdList);
+    
+    /**
+     * 根据乐团编号删除记录
+     * @param musicGroupId
+     * @return
+     */
+    int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
 }

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

@@ -214,4 +214,12 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.Integer>>
 	 */
 	List<Map<Long,Integer>> checkCoursesIsSettlement(@Param("courseScheduleIds") List<Long> courseScheduleIds);
+	
+	/**
+	 * 批量删除
+	 * @param musicGroupId
+	 * @param groupType
+	 * @return
+	 */
+	int deleteByMusicGroupId(@Param("musicGroupId")String musicGroupId, @Param("groupType")GroupType groupType);
 }

+ 22 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -302,6 +302,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = new ArrayList<>();
         List<ClassGroupImGroupDto> classGroupImGroupList = new ArrayList<>();
         Integer schoolId = musicGroup.getSchoolId();
+
+
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
             if (highClassGroup.getDayOfWeek() < 1 || highClassGroup.getDayOfWeek() > 7) {
                 throw new BizException("上课星期错误,请核查");
@@ -331,15 +333,31 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
             //3、插入班级排课信息
             int times = 0;
-            //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
             LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 
-
             List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
 
             String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
+
+            Map<String, Integer> holidayDays = new HashMap<>();
+            Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+            if (highClassGroup.getHoliday()) {
+                holiday = jiaRiFeignService.query(now.getYear());
+                holidayDays = holiday.get(now.getYear());
+            }
+
+            WhileNode:
             while (highClassGroup.getCourseTimes() > times) {
+                if(highClassGroup.getHoliday() && !holiday.containsKey(now.getYear())){
+                    holiday = jiaRiFeignService.query(now.getYear());
+                    holidayDays = holiday.get(now.getYear());
+                }
+                if (highClassGroup.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MMdd")))) {
+                    now = now.plusDays(1);
+                    continue;
+                }
+
                 int dayOfWeek = now.getDayOfWeek().getValue();
                 if (highClassGroup.getDayOfWeek() == dayOfWeek) {
                     CourseSchedule courseSchedule = new CourseSchedule();
@@ -377,6 +395,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupImGroupDto.setUserIds(userIdList);
             classGroupImGroupList.add(classGroupImGroupDto);
         }
+
+
         //加入Im群组
         batchAddImGroup(classGroupImGroupList);
         classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList);

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

@@ -21,6 +21,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -201,7 +202,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			throw new BizException("请指定乐团!");
 		}
 		checkNewCourseSchedules(courseSchedules,false);
-        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
+        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID, GroupType.MUSIC);
         courseScheduleDao.batchAddCourseSchedules(courseSchedules);
 	}
 

+ 6 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -882,9 +882,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         
         //删除续费记录
         musicGroupStudentFeeDao.deleteByMusicGroupId(musicGroupId);
+
+		// 删除课表
+		courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupId, GroupType.MUSIC);
+		// 删除每节课的课酬
+		courseScheduleStudentPaymentDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC);
+		courseScheduleTeacherSalaryDao.deleteByMusicGroupId(musicGroupId, GroupType.MUSIC);
         
-        //删除课表
-        //删除每节课的课酬
         //删除考勤
 
         // 查询已缴费信息

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

@@ -190,8 +190,8 @@
         DELETE FROM course_schedule WHERE id_ = #{id}
     </delete>
 
-    <delete id="deleteCourseSchedulesByMusicGroupID">
-        DELETE FROM course_schedule WHERE music_group_id_=#{musicGroupID} AND group_type_='MUSIC' and status_ = 'NOT_START'
+    <delete id="deleteCourseSchedulesByMusicGroupID" parameterType="map">
+        DELETE FROM course_schedule WHERE music_group_id_=#{musicGroupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and status_ = 'NOT_START'
     </delete>
     
     <update id="logicDeleteCourseSchedulesByMusicGroupID">

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

@@ -204,4 +204,8 @@
 			#{userId}
 		</foreach>
 	</delete>
+	
+	<delete id="deleteByMusicGroupId" parameterType="map">
+		DELETE FROM course_schedule_student_payment WHERE music_group_id_=#{musicGroupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+	</delete>
 </mapper>

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

@@ -379,4 +379,8 @@
 			</foreach>
 		GROUP BY course_schedule_id_
 	</select>
+	
+	<delete id="deleteByMusicGroupId" parameterType="map" >
+		DELETE FROM course_schedule_teacher_salary WHERE music_group_id_=#{musicGroupId} AND group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+	</delete>
 </mapper>