[FIX] attendances

This commit is contained in:
Samir Ladoui 2024-12-22 12:03:34 +01:00
parent a4198f8e5d
commit e0c19db88c
1 changed files with 4 additions and 4 deletions

View File

@ -178,14 +178,14 @@ class HrAttendanceTransactions(models.Model):
mission_start = item.official_id.hour_from
mission_end = mission_start + item.total_mission_hours
if mission_start < adjusted_sign_in: # Mission overlaps with lateness
lateness_covered_time += max(0.0, min(mission_end, adjusted_sign_in) - max(mission_start, full_sign_in))
lateness_covered_time += max(0.0, abs(min(mission_end, adjusted_sign_in) - max(mission_start, full_sign_in)))
# Check coverage by personal permission
if item.personal_permission_id:
permission_start = start_permission_time_float
permission_end = permission_start + item.total_permission_hours
if permission_start < adjusted_sign_in: # Permission overlaps with lateness
lateness_covered_time += max(0.0, min(permission_end, adjusted_sign_in) - max(permission_start, full_sign_in))
lateness_covered_time += max(0.0, abs(min(permission_end, adjusted_sign_in) - max(permission_start, full_sign_in)))
# Determine remaining uncovered lateness
uncovered_lateness = lateness_time - lateness_covered_time
@ -205,14 +205,14 @@ class HrAttendanceTransactions(models.Model):
mission_start = item.official_id.hour_from
mission_end = mission_start + item.total_mission_hours
if mission_start < full_sign_out: # Mission overlaps with early exit
early_exit_covered_time += max(0.0, min(mission_end, full_sign_out) - max(mission_start, adjusted_sign_out))
early_exit_covered_time += max(0.0, abs(min(mission_end, full_sign_out) - max(mission_start, adjusted_sign_out)))
# Check coverage by personal permission
if item.personal_permission_id:
permission_start = start_permission_time_float
permission_end = permission_start + item.total_permission_hours
if permission_start < full_sign_out: # Permission overlaps with early exit
early_exit_covered_time += max(0.0, min(permission_end, full_sign_out) - max(permission_start, adjusted_sign_out))
early_exit_covered_time += max(0.0, abs(min(permission_end, full_sign_out) - max(permission_start, adjusted_sign_out)))
# Determine remaining uncovered early exit
uncovered_early_exit = remaining_work_time - early_exit_covered_time