|
@@ -68,7 +68,7 @@ public class AttendanceRecordTask {
|
|
|
private IHolidayDateService holidayDateService;
|
|
private IHolidayDateService holidayDateService;
|
|
|
|
|
|
|
|
|
|
|
|
|
- @Scheduled(cron = "0 30 * * * ?")
|
|
|
|
|
|
|
+ @Scheduled(cron = "0 */30 * * * ?")
|
|
|
public void execute() {
|
|
public void execute() {
|
|
|
String active = SpringUtil.getActiveProfile();
|
|
String active = SpringUtil.getActiveProfile();
|
|
|
if(!"prod".equals(active)){
|
|
if(!"prod".equals(active)){
|
|
@@ -83,27 +83,27 @@ public class AttendanceRecordTask {
|
|
|
LocalDateTime startDateTime = now.withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
LocalDateTime startDateTime = now.withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
LocalDateTime endDateTime = startDateTime.plusDays(1).plusSeconds(-1);
|
|
LocalDateTime endDateTime = startDateTime.plusDays(1).plusSeconds(-1);
|
|
|
|
|
|
|
|
- if(now.isBefore(noon)){
|
|
|
|
|
- //计算上午考勤
|
|
|
|
|
- teacherAttendanceRecord(startDateTime, endDateTime, 1);
|
|
|
|
|
- }else if(now.isAfter(noon) && now.isBefore(evening)){
|
|
|
|
|
- //计算上午考勤
|
|
|
|
|
- teacherAttendanceRecord(startDateTime, endDateTime, 2);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- LocalDateTime beginTime = now.withHour(0).withMinute(58).withSecond(0);
|
|
|
|
|
- LocalDateTime endTime = now.withHour(1).withMinute(3).withSecond(0);
|
|
|
|
|
-
|
|
|
|
|
- //凌晨1点计算前一天的数据
|
|
|
|
|
- if(now.isAfter(beginTime) && now.isBefore(endTime)){
|
|
|
|
|
- startDateTime = now.plusDays(-1).withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
|
|
- endDateTime = startDateTime.plusDays(1).plusSeconds(-1);
|
|
|
|
|
-
|
|
|
|
|
- //计算上午考勤
|
|
|
|
|
- teacherAttendanceRecord(startDateTime, endDateTime, 1);
|
|
|
|
|
- //计算上午考勤
|
|
|
|
|
- teacherAttendanceRecord(startDateTime, endDateTime, 2);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+// if(now.isBefore(noon)){
|
|
|
|
|
+// //计算上午考勤
|
|
|
|
|
+// teacherAttendanceRecord(startDateTime, endDateTime, 1);
|
|
|
|
|
+// }else if(now.isAfter(noon) && now.isBefore(evening)){
|
|
|
|
|
+// //计算上午考勤
|
|
|
|
|
+// teacherAttendanceRecord(startDateTime, endDateTime, 2);
|
|
|
|
|
+// }
|
|
|
|
|
+//
|
|
|
|
|
+// LocalDateTime beginTime = now.withHour(0).withMinute(58).withSecond(0);
|
|
|
|
|
+// LocalDateTime endTime = now.withHour(1).withMinute(3).withSecond(0);
|
|
|
|
|
+//
|
|
|
|
|
+// //凌晨1点计算前一天的数据
|
|
|
|
|
+// if(now.isAfter(beginTime) && now.isBefore(endTime)){
|
|
|
|
|
+// startDateTime = now.plusDays(-1).withHour(0).withMinute(0).withSecond(0).withNano(0);
|
|
|
|
|
+// endDateTime = startDateTime.plusDays(1).plusSeconds(-1);
|
|
|
|
|
+//
|
|
|
|
|
+// //计算上午考勤
|
|
|
|
|
+// teacherAttendanceRecord(startDateTime, endDateTime, 1);
|
|
|
|
|
+// //计算上午考勤
|
|
|
|
|
+// teacherAttendanceRecord(startDateTime, endDateTime, 2);
|
|
|
|
|
+// }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -199,6 +199,7 @@ public class AttendanceRecordTask {
|
|
|
WfTeacherleave studentLeave = wfTeacherleaveService.getLeaveByUserId(startTime, endTime, user.getId());
|
|
WfTeacherleave studentLeave = wfTeacherleaveService.getLeaveByUserId(startTime, endTime, user.getId());
|
|
|
if(studentLeave != null){
|
|
if(studentLeave != null){
|
|
|
record.setAttendanceStatus(studentLeave.getLeaveType());
|
|
record.setAttendanceStatus(studentLeave.getLeaveType());
|
|
|
|
|
+ insertList.add(record);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -209,6 +210,8 @@ public class AttendanceRecordTask {
|
|
|
outInDto.setStartTime(startTime);
|
|
outInDto.setStartTime(startTime);
|
|
|
outInDto.setStatus(OutInStatusEnum.enter.getCode());
|
|
outInDto.setStatus(OutInStatusEnum.enter.getCode());
|
|
|
outInDto.setUserId(record.getUserId());
|
|
outInDto.setUserId(record.getUserId());
|
|
|
|
|
+ outInDto.setTimePeriod(timePeriod);
|
|
|
|
|
+ outInDto.setAmEndTime(amEndTime);
|
|
|
List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);
|
|
List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);
|
|
|
|
|
|
|
|
//查询该教师是否通过车辆进入
|
|
//查询该教师是否通过车辆进入
|
|
@@ -244,22 +247,26 @@ public class AttendanceRecordTask {
|
|
|
|
|
|
|
|
if(inStatus == 1){
|
|
if(inStatus == 1){
|
|
|
TeacherOutInRecord outInRecord = outInRecords.get(0);
|
|
TeacherOutInRecord outInRecord = outInRecords.get(0);
|
|
|
- if(outInRecord != null){
|
|
|
|
|
|
|
+ if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
- record.setAttendanceStatus(outInRecord.getAttendanceStatus());
|
|
|
|
|
- record.setAttendanceMode(1);
|
|
|
|
|
|
|
+ record.setAttendanceStatus("到校");
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
|
|
+ }else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
|
|
|
+ record.setRecordTime(outInRecord.getRecordTime());
|
|
|
|
|
+ record.setAttendanceStatus("迟到");
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
}
|
|
}
|
|
|
}else if(inStatus == 2){
|
|
}else if(inStatus == 2){
|
|
|
CarOutInRecord outInRecord = list.get(0);
|
|
CarOutInRecord outInRecord = list.get(0);
|
|
|
if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
record.setAttendanceStatus("到校");
|
|
record.setAttendanceStatus("到校");
|
|
|
- record.setAttendanceMode(2);
|
|
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
|
}else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
}else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
record.setAttendanceStatus("迟到");
|
|
record.setAttendanceStatus("迟到");
|
|
|
- record.setAttendanceMode(1);
|
|
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -376,6 +383,7 @@ public class AttendanceRecordTask {
|
|
|
WfTeacherleave studentLeave = wfTeacherleaveService.getLeaveByUserId(startTime, endTime, user.getId());
|
|
WfTeacherleave studentLeave = wfTeacherleaveService.getLeaveByUserId(startTime, endTime, user.getId());
|
|
|
if(studentLeave != null){
|
|
if(studentLeave != null){
|
|
|
record.setAttendanceStatus(studentLeave.getLeaveType());
|
|
record.setAttendanceStatus(studentLeave.getLeaveType());
|
|
|
|
|
+ insertList.add(record);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
TeacherOutInRecordDto outInDto = new TeacherOutInRecordDto();
|
|
TeacherOutInRecordDto outInDto = new TeacherOutInRecordDto();
|
|
@@ -384,6 +392,8 @@ public class AttendanceRecordTask {
|
|
|
outInDto.setStartTime(startTime);
|
|
outInDto.setStartTime(startTime);
|
|
|
outInDto.setStatus(OutInStatusEnum.enter.getCode());
|
|
outInDto.setStatus(OutInStatusEnum.enter.getCode());
|
|
|
outInDto.setUserId(record.getUserId());
|
|
outInDto.setUserId(record.getUserId());
|
|
|
|
|
+ outInDto.setTimePeriod(timePeriod);
|
|
|
|
|
+ outInDto.setAmEndTime(amEndTime);
|
|
|
List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);
|
|
List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);
|
|
|
|
|
|
|
|
//查询该教师是否通过车辆进入
|
|
//查询该教师是否通过车辆进入
|
|
@@ -419,22 +429,26 @@ public class AttendanceRecordTask {
|
|
|
|
|
|
|
|
if(inStatus == 1){
|
|
if(inStatus == 1){
|
|
|
TeacherOutInRecord outInRecord = outInRecords.get(0);
|
|
TeacherOutInRecord outInRecord = outInRecords.get(0);
|
|
|
- if(outInRecord != null){
|
|
|
|
|
|
|
+ if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
- record.setAttendanceStatus(outInRecord.getAttendanceStatus());
|
|
|
|
|
- record.setAttendanceMode(1);
|
|
|
|
|
|
|
+ record.setAttendanceStatus("到校");
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
|
|
+ }else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
|
|
|
+ record.setRecordTime(outInRecord.getRecordTime());
|
|
|
|
|
+ record.setAttendanceStatus("迟到");
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
}
|
|
}
|
|
|
}else if(inStatus == 2){
|
|
}else if(inStatus == 2){
|
|
|
CarOutInRecord outInRecord = list.get(0);
|
|
CarOutInRecord outInRecord = list.get(0);
|
|
|
if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
if(outInRecord != null && outInRecord.getRecordTime().isBefore(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
record.setAttendanceStatus("到校");
|
|
record.setAttendanceStatus("到校");
|
|
|
- record.setAttendanceMode(2);
|
|
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
|
}else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
}else if(outInRecord != null && outInRecord.getRecordTime().isAfter(startTime)){
|
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
record.setRecordTime(outInRecord.getRecordTime());
|
|
|
record.setAttendanceStatus("迟到");
|
|
record.setAttendanceStatus("迟到");
|
|
|
- record.setAttendanceMode(1);
|
|
|
|
|
|
|
+ record.setAttendanceMode(inStatus);
|
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
record.setCarNumber(outInRecord.getPlanNo());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|