Feb26 2026: updated export to Excel weekly boundaries, based on selected time frame

This commit is contained in:
2026-02-26 16:38:40 -05:00
parent dc0537023a
commit b643feb304
+6 -4
View File
@@ -9717,8 +9717,9 @@ def export_time_attendance_excel(records, project_name_for_filename, date_range_
date_obj = datetime.strptime(date_str, '%Y-%m-%d') date_obj = datetime.strptime(date_str, '%Y-%m-%d')
day_data = emp_data['daily_hours'][date_str] day_data = emp_data['daily_hours'][date_str]
# Check for week boundary (week starts on Monday) # Check for week boundary anchored to start_date_filter (not calendar Monday)
week_start = date_obj - timedelta(days=date_obj.weekday()) _report_start = start_date if start_date_filter else date_obj.date()
week_start = (_report_start + timedelta(days=((date_obj.date() - _report_start).days // 7) * 7))
if current_week_start is not None and week_start != current_week_start: if current_week_start is not None and week_start != current_week_start:
# Write weekly total row # Write weekly total row
week_regular = min(weekly_total_hours, 40.0) week_regular = min(weekly_total_hours, 40.0)
@@ -10574,8 +10575,9 @@ def export_time_attendance_by_building_excel(records, project_name_for_filename,
date_obj = datetime.strptime(date_str, '%Y-%m-%d') date_obj = datetime.strptime(date_str, '%Y-%m-%d')
day_records = sorted(daily_records[date_str], key=lambda x: x.check_in_time) day_records = sorted(daily_records[date_str], key=lambda x: x.check_in_time)
# Check for week boundary # Check for week boundary anchored to start_date_filter (not calendar Monday)
week_start = date_obj - timedelta(days=date_obj.weekday()) _report_start = start_date if start_date_filter else date_obj.date()
week_start = (_report_start + timedelta(days=((date_obj.date() - _report_start).days // 7) * 7))
if current_week_start is not None and week_start != current_week_start: if current_week_start is not None and week_start != current_week_start:
# Write weekly total row # Write weekly total row
week_regular = min(weekly_total_hours, 40.0) week_regular = min(weekly_total_hours, 40.0)