|
@@ -228,8 +228,19 @@ public class OutInRecordUtil {
|
|
|
teacherInsertRecord(personId, recordTimeStr, ApiUtil.GetRedirectURL(uri), status, eventId, attendanceStatus);
|
|
teacherInsertRecord(personId, recordTimeStr, ApiUtil.GetRedirectURL(uri), status, eventId, attendanceStatus);
|
|
|
} else {
|
|
} else {
|
|
|
// 学生记录
|
|
// 学生记录
|
|
|
|
|
+
|
|
|
|
|
+ String _sourceId = faceImportMapper.GetHikvisonSourceId(personId);
|
|
|
LocalDateTime recordTimeDate = LocalDateTime.parse(recordTimeStr, formatter);
|
|
LocalDateTime recordTimeDate = LocalDateTime.parse(recordTimeStr, formatter);
|
|
|
- String attendanceStatus = discernStudentStatus(recordTimeDate, status, sourceIdMap.get(personId));
|
|
|
|
|
|
|
+ String attendanceStatus = "";
|
|
|
|
|
+// if(Objects.equals(_sourceId, "1919957901258592258")){
|
|
|
|
|
+// String a="a";
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+ if (_sourceId == null) {
|
|
|
|
|
+ attendanceStatus = "无数据";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ attendanceStatus = discernStudentStatus(recordTimeDate, status, Long.parseLong(_sourceId));
|
|
|
|
|
+ }
|
|
|
studentInsertRecord(personId, faceImportMapper.GetTeacherIdByPersonId(personId),
|
|
studentInsertRecord(personId, faceImportMapper.GetTeacherIdByPersonId(personId),
|
|
|
faceImportMapper.GetClassIdByPersonId(personId), ApiUtil.GetRedirectURL(uri), recordTimeStr, status, eventId, attendanceStatus);
|
|
faceImportMapper.GetClassIdByPersonId(personId), ApiUtil.GetRedirectURL(uri), recordTimeStr, status, eventId, attendanceStatus);
|
|
|
}
|
|
}
|
|
@@ -242,7 +253,7 @@ public class OutInRecordUtil {
|
|
|
String sql = "SELECT t2.* FROM attendance_rule_category t1" +
|
|
String sql = "SELECT t2.* FROM attendance_rule_category t1" +
|
|
|
" INNER JOIN attendance_rule_details t2 ON t1.id = t2.attendance_rule_category_id" +
|
|
" INNER JOIN attendance_rule_details t2 ON t1.id = t2.attendance_rule_category_id" +
|
|
|
" INNER JOIN attendance_user_relation t3 ON t1.id = t3.attendance_rule_category_id" +
|
|
" INNER JOIN attendance_user_relation t3 ON t1.id = t3.attendance_rule_category_id" +
|
|
|
- " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND NOW() BETWEEN start_date AND end_date" +
|
|
|
|
|
|
|
+ " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND t3.delete_mark=0 AND NOW() BETWEEN start_date AND end_date" +
|
|
|
" AND t2.date_type = '" + dayOfWeek + "' and t3.user_id = " + userId +
|
|
" AND t2.date_type = '" + dayOfWeek + "' and t3.user_id = " + userId +
|
|
|
" ORDER BY t1.end_date DESC";
|
|
" ORDER BY t1.end_date DESC";
|
|
|
List<Map<String, Object>> ruleDetailsList = SqlRunnerAdapter.db().selectList(sql, AttendanceRuleDetails.class);
|
|
List<Map<String, Object>> ruleDetailsList = SqlRunnerAdapter.db().selectList(sql, AttendanceRuleDetails.class);
|
|
@@ -294,7 +305,7 @@ public class OutInRecordUtil {
|
|
|
return attendanceStatus;
|
|
return attendanceStatus;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- String discernStudentStatus(LocalDateTime recordTime, int status, Long studentUserId) {
|
|
|
|
|
|
|
+ public String discernStudentStatus(LocalDateTime recordTime, int status, Long studentUserId) {
|
|
|
String attendanceStatus = "";
|
|
String attendanceStatus = "";
|
|
|
String dayOfWeek = recordTime.getDayOfWeek().name();
|
|
String dayOfWeek = recordTime.getDayOfWeek().name();
|
|
|
String sql = "SELECT t2.* FROM attendance_rule_category t1" +
|
|
String sql = "SELECT t2.* FROM attendance_rule_category t1" +
|
|
@@ -302,7 +313,7 @@ public class OutInRecordUtil {
|
|
|
" INNER JOIN attendance_user_relation t3 ON t1.id = t3.attendance_rule_category_id" +
|
|
" INNER JOIN attendance_user_relation t3 ON t1.id = t3.attendance_rule_category_id" +
|
|
|
" INNER JOIN base_student_school_roll t4 ON t3.class_id = t4.class_id AND t1.stduy_status=t4.stduy_status" +
|
|
" INNER JOIN base_student_school_roll t4 ON t3.class_id = t4.class_id AND t1.stduy_status=t4.stduy_status" +
|
|
|
" WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND NOW() BETWEEN start_date AND end_date" +
|
|
" WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND NOW() BETWEEN start_date AND end_date" +
|
|
|
- " AND t4.delete_mark = 0 " +
|
|
|
|
|
|
|
+ " AND t4.delete_mark = 0 AND t3.delete_mark=0 " +
|
|
|
" AND t2.date_type = '" + dayOfWeek + "' and t4.user_id = " + studentUserId +
|
|
" AND t2.date_type = '" + dayOfWeek + "' and t4.user_id = " + studentUserId +
|
|
|
" ORDER BY t1.end_date DESC";
|
|
" ORDER BY t1.end_date DESC";
|
|
|
List<Map<String, Object>> ruleDetailsList = SqlRunnerAdapter.db().selectList(sql, AttendanceRuleDetails.class);
|
|
List<Map<String, Object>> ruleDetailsList = SqlRunnerAdapter.db().selectList(sql, AttendanceRuleDetails.class);
|