modified: .gitignore

This commit is contained in:
brusnitsyn
2026-04-21 10:08:14 +09:00
parent 0e8b6f61b4
commit 2041ab54ea
74 changed files with 7533 additions and 1544 deletions

View File

@@ -56,10 +56,10 @@ class DateRangeService
// По умолчанию: с начала года до сегодня
$startDate = Carbon::now('Asia/Yakutsk')
->startOfYear() // 1 января текущего года
->setTime(6, 0);
->setTime(7, 0);
$endDate = Carbon::now('Asia/Yakutsk')
->setTime(6, 0);
->setTime(7, 0);
return [
$startDate->format('Y-m-d H:i:s'),
@@ -83,7 +83,7 @@ class DateRangeService
$startDate = $this->parseDate($startAt);
$endDate = $this->parseDate($endAt);
return $startDate->diffInDays($endDate) === 1.0;
return $startDate->isSameDay($endDate) || $startDate->diffInDays($endDate) === 1.0;
}
private function getCustomDateRange($startAt, $endAt, $user): array
@@ -92,11 +92,11 @@ class DateRangeService
$endDate = $this->parseDate($endAt);
if ($startDate->isSameDay($endDate)) {
$startDate = $startDate->subDay()->setTime(6, 0);
$endDate = $endDate->setTime(6, 0);
$startDate = $startDate->subDay()->setTime(7, 0);
$endDate = $endDate->setTime(7, 0);
} else {
$startDate = $startDate->setTime(6, 0);
$endDate = $endDate->setTime(6, 0);
$startDate = $startDate->setTime(7, 0);
$endDate = $endDate->setTime(7, 0);
}
return [
@@ -109,10 +109,10 @@ class DateRangeService
{
$startDate = Carbon::now('Asia/Yakutsk')
->subDay()
->setTime(6, 0);
->setTime(7, 0);
$endDate = Carbon::now('Asia/Yakutsk')
->setTime(6, 0);
->setTime(7, 0);
return [
$startDate->format('Y-m-d H:i:s'),
@@ -123,8 +123,12 @@ class DateRangeService
public function parseDate($dateInput): Carbon
{
if (is_numeric($dateInput)) {
return Carbon::createFromTimestampMs($dateInput)
->setTimezone('Asia/Yakutsk');
$timestamp = (string) $dateInput;
$isMilliseconds = strlen(ltrim($timestamp, '-')) > 10;
return $isMilliseconds
? Carbon::createFromTimestampMs((int) $dateInput)->setTimezone('Asia/Yakutsk')
: Carbon::createFromTimestamp((int) $dateInput)->setTimezone('Asia/Yakutsk');
}
return Carbon::parse($dateInput, 'Asia/Yakutsk');
@@ -139,6 +143,10 @@ class DateRangeService
return $date;
}
if (is_numeric($date)) {
return $this->parseDate($date);
}
if (is_string($date)) {
return Carbon::parse($date, 'Asia/Yakutsk');
}
@@ -157,9 +165,9 @@ class DateRangeService
public function createDateRangeForDate(Carbon $date, User $user): DateRange
{
// Для автоматического заполнения используем логику как для врача
// (вчера 06:00 - сегодня 06:00)
$startDate = $date->copy()->subDay()->setTime(6, 0);
$endDate = $date->copy()->setTime(6, 0);
// (вчера 07:00 - сегодня 07:00)
$startDate = $date->copy()->subDay()->setTime(7, 0);
$endDate = $date->copy()->setTime(7, 0);
return new DateRange(
startDate: $startDate,