Bladeren bron

Merge remote-tracking branch 'origin/master'

周箭河 5 jaren geleden
bovenliggende
commit
e06587f72b

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -377,7 +377,11 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
         List<Integer> allTeacherIds = courseSchedules.stream().map(courseSchedule -> courseSchedule.getActualTeacherId().intValue()).collect(Collectors.toList());
         //助教老师列表
         List<Integer> teachingTeacherIds = new ArrayList<>();
-        courseSchedules.forEach(courseSchedule -> teachingTeacherIds.addAll(courseSchedule.getTeachingTeacherIdList()));
+        courseSchedules.forEach(courseSchedule -> {
+            if(Objects.nonNull(courseSchedule.getTeachingTeacherIdList())){
+                teachingTeacherIds.addAll(courseSchedule.getTeachingTeacherIdList());
+            }
+        });
         allTeacherIds.addAll(teachingTeacherIds);
         //所有老师列表
         allTeacherIds = allTeacherIds.stream().distinct().collect(Collectors.toList());
@@ -443,6 +447,9 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 return;
             }
             for (Integer teacherId : teachingTeacherIdList) {
+                if(Objects.isNull(teacherId)){
+                    return;
+                }
                 Teacher teacher = teacherMap.get(teacherId);
                 if(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime()){
                     settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
@@ -457,7 +464,9 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         teacherDefaultMusicGroupSalaryWithTeacherId));
             }
         });
-        courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaryList)){
+            courseScheduleTeacherSalaryService.batchInsert(courseScheduleTeacherSalaryList);
+        }
     }
 
     /**

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

@@ -358,6 +358,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
+        List<Group> groups = groupDao.searchGroups(params);
+        if(!CollectionUtils.isEmpty(groups)){
+            params.put("groups", groups);
+        }
+
         List<CourseScheduleDto> dataList = null;
         int count = courseScheduleDao.countCourseSchedulesWithDate(params);
         if (count > 0) {
@@ -1299,27 +1304,27 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (Objects.isNull(newCourseSchedule.getSchoolId())) {
                 newCourseSchedule.setSchoolId(oldCourseSchedule.getSchoolId());
             }
+            int settlementNum = courseScheduleTeacherSalaryDao.checkCourseIsSettlement(oldCourseSchedule.getId().intValue());
+            if (settlementNum > 0) {
+                throw new BizException("{}[{}]{}-{}课程已结算的",
+                        oldCourseSchedule.getName(),
+                        oldCourseSchedule.getId(),
+                        DateUtil.dateToString(oldCourseSchedule.getStartClassTime(),
+                                DateUtil.EXPANDED_DATE_TIME_FORMAT),
+                        DateUtil.dateToString(oldCourseSchedule.getEndClassTime(),
+                                DateUtil.EXPANDED_DATE_TIME_FORMAT));
+            }
+            int num = studentAttendanceDao.countStudentAttendenceNum(oldCourseSchedule.getId().intValue());
+            if (num > 0) {
+                throw new BizException("{}[{}]{}-{}课程已点名",
+                        oldCourseSchedule.getName(),
+                        oldCourseSchedule.getId(),
+                        DateUtil.dateToString(oldCourseSchedule.getStartClassTime(),
+                                DateUtil.EXPANDED_DATE_TIME_FORMAT),
+                        DateUtil.dateToString(oldCourseSchedule.getEndClassTime(),
+                                DateUtil.EXPANDED_DATE_TIME_FORMAT));
+            }
             if (oldCourseSchedule.getType().equals(CourseSchedule.CourseScheduleType.VIP)) {
-                int settlementNum = courseScheduleTeacherSalaryDao.checkCourseIsSettlement(oldCourseSchedule.getId().intValue());
-                if (settlementNum > 0) {
-                    throw new BizException("{}[{}]{}-{}课程已结算的",
-                            oldCourseSchedule.getName(),
-                            oldCourseSchedule.getId(),
-                            DateUtil.dateToString(oldCourseSchedule.getStartClassTime(),
-                                    DateUtil.EXPANDED_DATE_TIME_FORMAT),
-                            DateUtil.dateToString(oldCourseSchedule.getEndClassTime(),
-                                    DateUtil.EXPANDED_DATE_TIME_FORMAT));
-                }
-                int num = studentAttendanceDao.countStudentAttendenceNum(oldCourseSchedule.getId().intValue());
-                if (num > 0) {
-                    throw new BizException("{}[{}]{}-{}课程已点名",
-                            oldCourseSchedule.getName(),
-                            oldCourseSchedule.getId(),
-                            DateUtil.dateToString(oldCourseSchedule.getStartClassTime(),
-                                    DateUtil.EXPANDED_DATE_TIME_FORMAT),
-                            DateUtil.dateToString(oldCourseSchedule.getEndClassTime(),
-                                    DateUtil.EXPANDED_DATE_TIME_FORMAT));
-                }
                 VipGroup vipGroup = vipGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
                 if(Objects.isNull(vipGroup)){
                     throw new BizException("课程不存在");

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

@@ -185,7 +185,9 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 				}
 			});
 		});
-		courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+		if(!CollectionUtils.isEmpty(courseScheduleStudentPayments)){
+			courseScheduleStudentPaymentDao.batchInsert(courseScheduleStudentPayments);
+		}
 	}
 
 	@Override

+ 2 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -181,6 +181,8 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(sysUser.getId().longValue(),courseSchedule.getId());
 
+		teacherAttendance.setSignInLongitudeLatitude(studentAttendanceInfos.getSignInLongitudeLatitude());
+
 		if(Objects.isNull(teacherAttendance)){
 			teacherAttendance= new TeacherAttendance();
 			teacherAttendance.setTeacherId(sysUser.getId());
@@ -189,13 +191,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			return;
 		}
 
-		YesOrNoEnum yesOrNoEnum = YesOrNoEnum.NO;
-		if(Objects.nonNull(courseSchedule.getSchoolId())){
-			yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
-					sysUser.getId().longValue(),
-					true,
-					courseSchedule.getSchoolId().intValue());
-		}
 		teacherAttendance.setSignInTime(date);
 		teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
 		teacherAttendance.setSignOutTime(date);

+ 0 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -252,8 +252,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			teacherAttendance.setClassGroupId(courseScheduleId);
 			teacherAttendance.setTeacherId(userId);
 			teacherAttendanceDao.insert(teacherAttendance);
-		}else if(teacherAttendance.getSignInTime() != null && teacherAttendance.getSignOutTime() != null){
-			return;
 		}
 		teacherAttendance.setGroupType(courseSchedule.getGroupType());
 		teacherAttendance.setTeacherId(userId);

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

@@ -450,15 +450,19 @@
             ta.sign_in_status_ attendance_status_,
             s.name_ school_name_
         FROM
-            music_group mg
-            LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
-            LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
+            course_schedule cs
+            LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
             LEFT JOIN sys_user su ON cs.teacher_id_=su.id_
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.class_group_id_ AND ta.teacher_id_=cs.teacher_id_
             LEFT JOIN school s ON mg.school_id_=s.id_
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
-        AND FIND_IN_SET(mg.organ_id_,#{organIdList})
+        <if test="groups != null and organIdList!=null">
+            AND cs.music_group_id_ IN
+            <foreach collection="groups" item="group" open="(" close=")" separator=",">
+                #{group.id}
+            </foreach>
+        </if>
         AND cs.id_ IS NOT NULL
         <if test="type!=null">
             AND cg.group_type_ = #{type}
@@ -469,18 +473,22 @@
 
     <select id="countCourseSchedulesWithDate" resultType="int">
         SELECT
-        count(*)
+          count(*)
         FROM
-        music_group mg
-        LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
-        LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
+        course_schedule cs
+        LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
         WHERE
         (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
-        AND FIND_IN_SET(mg.organ_id_,#{organIdList})
         AND cs.id_ IS NOT NULL
         <if test="type!=null">
             AND cg.group_type_ = #{type}
         </if>
+        <if test="groups != null and organIdList!=null">
+            AND cs.music_group_id_ IN
+            <foreach collection="groups" item="group" open="(" close=")" separator=",">
+                #{group.id}
+            </foreach>
+        </if>
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
     </select>