Explorar o código

bugfix:考勤统计

yonge %!s(int64=5) %!d(string=hai) anos
pai
achega
bf76636013

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

@@ -126,9 +126,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 			String organCode = organ.getKey();
 			String orgName = organ.getValue();
 
-//			SysUserTsign sysUserTsign = sysUserTsignService.queryByCardNo(organCode);
+			SysUserTsign sysUserTsign = sysUserTsignService.queryByCardNo(organCode);
 
-			/*if (sysUserTsign == null) {
+			if (sysUserTsign == null) {
 
 				String accountId = eSealPlugin.createOrganAccount(orgName, organCode);
 
@@ -146,7 +146,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 
 				sysUserTsignService.insert(sysUserTsign);
 
-			}*/
+			}
 		}
 	}
 

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

@@ -336,12 +336,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			dataList = courseScheduleStudentPaymentDao.findStudentByClassGroup(params);
 			//学生编号列表
 			List<Integer> userIds = dataList.stream().map(StudentAttendanceStatisticsResponse::getUserId).collect(Collectors.toList());
-			//学生-科目名称关联集合
-			List<Map<Integer, String>> byMusicGroupAndUsers = subjectDao.findByMusicGroupAndUsers(classGroup.getMusicGroupId(), userIds);
-			Map<Integer, String> userSubjectNameMap = MapUtil.convertMybatisMap(byMusicGroupAndUsers);
-			//学生-旷课次数关联集合
-			List<Map<Integer, Integer>> continuousAbsenteeismTimesByUsersAndMusicGroup = musicGroupStudentFeeDao.findContinuousAbsenteeismTimesByUsersAndMusicGroup(classGroup.getMusicGroupId(), userIds);
-			Map<Integer,Integer> continuousAbsenteeismTimesWithUser=MapUtil.convertIntegerMap(continuousAbsenteeismTimesByUsersAndMusicGroup);
 			//学生签到记录列表
 			List<StudentAttendanceResponse> studentAttendances = studentAttendanceDao.findByClassGroupAndUsers(queryInfo.getClassGroupId(), userIds);
 			//学生签到状态统计列表
@@ -353,25 +347,13 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 				Map<Integer, List<StudentAttendanceResponse>> studentAttendanceByUser = studentAttendances.stream().collect(Collectors.groupingBy(StudentAttendanceResponse::getUserId));
 
 				dataList.forEach(student->{
-					//判断是否是连续签到
-					Integer continuousAbsenteeismTimes = continuousAbsenteeismTimesWithUser.get(student.getUserId());
-					if(Objects.nonNull(continuousAbsenteeismTimes)){
-						if(continuousAbsenteeismTimes>=3){
-							student.setTruant(true);
-						}
-					}
-					//获取科目名
-					String userSubjectName = userSubjectNameMap.get(student.getSubjectName());
-					if(Objects.nonNull(userSubjectName)){
-						student.setSubjectName(userSubjectName);
-					}
 					//当前学生的签到状态统计
 					List<StudentAttendanceStatusCountDto> currentStudentAttendanceStatusCountDtos = studentAttendanceStatusCountDtosByUser.get(student.getUserId());
 					if(!CollectionUtils.isEmpty(currentStudentAttendanceStatusCountDtos)){
 						Map<StudentAttendanceStatusEnum, Integer> statusAndNumMap = currentStudentAttendanceStatusCountDtos.stream().collect(Collectors.toMap(StudentAttendanceStatusCountDto::getStatus, StudentAttendanceStatusCountDto::getNum));
 						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.NORMAL));
-						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.TRUANT));
-						student.setNormalDay(statusAndNumMap.get(StudentAttendanceStatusEnum.LEAVE));
+						student.setTruantDay(statusAndNumMap.get(StudentAttendanceStatusEnum.TRUANT));
+						student.setLeaveDay(statusAndNumMap.get(StudentAttendanceStatusEnum.LEAVE));
 					}
 
 					//当前学生签到记录

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

@@ -156,10 +156,9 @@
 			su.real_name_
 		FROM
 			course_schedule_student_payment cssp
-			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
 			LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
 		WHERE
-			cs.class_group_id_ = #{classGroupId}
+			cssp.class_group_id_ = #{classGroupId}
 		GROUP BY
 			cssp.user_id_
 		ORDER BY cssp.user_id_
@@ -171,10 +170,8 @@
 			COUNT(DISTINCT cssp.user_id_)
 		FROM
 			course_schedule_student_payment cssp
-			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
-			LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
 		WHERE
-			cs.class_group_id_ = #{classGroupId}
+			cssp.class_group_id_ = #{classGroupId}
 	</select>
     <select id="countSurplusCourseFee" resultType="java.math.BigDecimal">
 		SELECT