Правка логики дат и возврат оригинального плана

This commit is contained in:
Brusnitsyn
2026-07-06 15:19:25 +00:00
parent ce6dace65c
commit c41df06f43
2 changed files with 9 additions and 2 deletions

View File

@@ -120,12 +120,19 @@ class DateRangeService
$startDate = $this->parseDate($startAt); $startDate = $this->parseDate($startAt);
$endDate = $this->parseDate($endAt); $endDate = $this->parseDate($endAt);
// Шорткаты календаря (Сегодня/За 7 дней/За 30 дней/Текущий год) уже присылают
// готовые границы смен ровно на 09:00 — их трогать не нужно. "Сырые" даты из
// календаря (выбор конкретных дней кликом) приходят на 00:00 и требуют нормализации.
$endAlreadyResolved = $endDate->format('H:i:s') === '09:00:00';
if ($startDate->isSameDay($endDate)) { if ($startDate->isSameDay($endDate)) {
$startDate = $startDate->subDay()->setTime(9, 0); $startDate = $startDate->subDay()->setTime(9, 0);
$endDate = $endDate->setTime(9, 0); $endDate = $endDate->setTime(9, 0);
} else { } else {
$startDate = $startDate->setTime(9, 0); $startDate = $startDate->setTime(9, 0);
$endDate = $endDate->setTime(9, 0); // Смена длится сутки и "принадлежит" дню, в который начинается (см. currentShiftBoundaries).
// Поэтому смена последнего выбранного дня захватывает следующие календарные сутки.
$endDate = $endAlreadyResolved ? $endDate : $endDate->addDay()->setTime(9, 0);
} }
return [ return [

View File

@@ -83,7 +83,7 @@ const typePlan = computed(() => {
</template> </template>
<NSpace vertical> <NSpace vertical>
<NFlex align="center" justify="start" :wrap="false" size="small"> <NFlex align="center" justify="start" :wrap="false" size="small">
<NTag type="info">План (с долгом) / Выбывшие: {{ planWithDebt }} / {{ value }}</NTag> <NTag type="info">План / Выбывшие: {{ plan.period_plan }} / {{ value }}</NTag>
</NFlex> </NFlex>
<NTag :type="typePlan">Долг с начала года: {{ plan.debt_from_year }}</NTag> <NTag :type="typePlan">Долг с начала года: {{ plan.debt_from_year }}</NTag>
</NSpace> </NSpace>