Просмотр исходного кода

考勤,修复打卡记录接入关于四次打卡的计算

luojing 5 лет назад
Родитель
Сommit
a65c0da7fe

+ 29 - 0
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/jaxrs/attendancedetail/ActionReciveAttendance.java

@@ -82,6 +82,7 @@ public class ActionReciveAttendance extends BaseAction {
 				logger.error(e, effectivePerson, request, null);
 			}
 		}
+		
 		if (check) {
 			if (wrapIn.getOnDutyTime() != null && wrapIn.getOnDutyTime().trim().length() > 0) {
 				try {
@@ -95,6 +96,34 @@ public class ActionReciveAttendance extends BaseAction {
 				}
 			}
 		}
+		
+		if (check) {
+			if (wrapIn.getMorningOffdutyTime() != null && wrapIn.getMorningOffdutyTime().trim().length() > 0) {
+				try {
+					datetime = dateOperation.getDateFromString(wrapIn.getMorningOffdutyTime());
+					attendanceDetail.setMorningOffDutyTime(dateOperation.getDateStringFromDate(datetime, "HH:mm:ss")); // 上午下班打卡时间
+				} catch (Exception e) {
+					check = false;
+					Exception exception = new ExceptionAttendanceDetailProcess(e, "员工上午下班打卡时间格式异常,格式: HH:mm:ss. 日期:" + wrapIn.getMorningOffdutyTime());
+					result.error(exception);
+					logger.error(e, effectivePerson, request, null);
+				}
+			}
+		}
+		
+		if (check) {
+			if (wrapIn.getAfternoonOnDutyTime() != null && wrapIn.getAfternoonOnDutyTime().trim().length() > 0) {
+				try {
+					datetime = dateOperation.getDateFromString(wrapIn.getAfternoonOnDutyTime());
+					attendanceDetail.setAfternoonOnDutyTime(dateOperation.getDateStringFromDate(datetime, "HH:mm:ss")); // 下午上班打卡时间
+				} catch (Exception e) {
+					check = false;
+					Exception exception = new ExceptionAttendanceDetailProcess(e, "员工下午上班打卡时间格式异常,格式: HH:mm:ss. 日期:" + wrapIn.getAfternoonOnDutyTime());
+					result.error(exception);
+					logger.error(e, effectivePerson, request, null);
+				}
+			}
+		}
 
 		if (check) {
 			if (wrapIn.getOffDutyTime() != null && wrapIn.getOffDutyTime().trim().length() > 0) {

+ 12 - 2
o2server/x_attendance_assemble_control/src/main/java/com/x/attendance/assemble/control/service/AttendanceDetailService.java

@@ -211,8 +211,18 @@ public class AttendanceDetailService {
 			attendanceDetail_old.setRecordDate( attendanceDetail.getRecordDate() );
 			attendanceDetail_old.setRecordDateString( attendanceDetail.getRecordDateString() );
 			attendanceDetail_old.setRecordStatus( 0 );
-			attendanceDetail_old.setOnDutyTime( attendanceDetail.getOnDutyTime() );
-			attendanceDetail_old.setOffDutyTime( attendanceDetail.getOffDutyTime() );
+			if(attendanceDetail.getOnDutyTime()!= null && attendanceDetail.getOffDutyTime().trim().length() > 0){
+				attendanceDetail_old.setOnDutyTime( attendanceDetail.getOnDutyTime() );
+			}
+			if(attendanceDetail.getMorningOffDutyTime()!= null && attendanceDetail.getMorningOffDutyTime().trim().length() > 0){
+				attendanceDetail_old.setMorningOffDutyTime( attendanceDetail.getMorningOffDutyTime() );
+			}
+			if(attendanceDetail.getAfternoonOnDutyTime()!= null && attendanceDetail.getAfternoonOnDutyTime().trim().length() > 0){
+				attendanceDetail_old.setAfternoonOnDutyTime( attendanceDetail.getAfternoonOnDutyTime() );
+			}
+			if(attendanceDetail.getOffDutyTime()!= null && attendanceDetail.getOffDutyTime().trim().length() > 0){
+				attendanceDetail_old.setOffDutyTime( attendanceDetail.getOffDutyTime() );
+			}
 			
 			//emc.beginTransaction( AttendanceSetting.class );
 			emc.beginTransaction( AttendanceDetail.class );