fix: 修正空白加班餐扣归属计算

This commit is contained in:
souplearn
2026-07-25 03:18:53 +08:00
parent 63ea6fdcc5
commit 65fd7f85ff
2 changed files with 23 additions and 2 deletions
+6 -2
View File
@@ -11,7 +11,6 @@ from app.services.metrics import (
SHIFT_BUCKETS,
SHIFT_LABELS,
_blank_overtime_intervals,
_covered_meal_overlap_minutes,
_iter_shift_base_dates,
_overlap_minutes,
_schedule_interval,
@@ -101,8 +100,13 @@ def _range_allocation_minutes(
if overlap_end <= overlap_start:
continue
meal_minutes = sum(
_covered_meal_overlap_minutes(start_at, end_at, meal_start, meal_end)
_overlap_minutes(overlap_start, overlap_end, meal_start, meal_end)
for meal_start, meal_end in meal_intervals
if (
start_at <= meal_start
and end_at >= meal_end
and end_at > meal_end + timedelta(minutes=5)
)
)
minutes = max(0.0, minutes_between(overlap_start, overlap_end) - meal_minutes)
_add_minutes(rows, overlap_start.date(), "overtime", minutes)