* блокировка изменения отчета для врача

* вывод данных из отчетов для ролей адм и зав
* поправил ширину стобцов ввода
* добавил календарь на страницу статистики
* переделал календарь у заведующего на странице отчета
* добавил и привязал метрики в статистику
This commit is contained in:
brusnitsyn
2026-02-03 17:03:37 +09:00
parent 2805e5e4bc
commit 9ee33bc517
20 changed files with 889 additions and 159 deletions

View File

@@ -15,6 +15,18 @@ class DateRangeService
return $this->getDefaultDateRange($user);
}
public function isRangeOneDay($startAt = null, $endAt = null): bool
{
if (!$startAt || !$endAt) return false;
$startDate = $this->parseDate($startAt);
$endDate = $this->parseDate($endAt);
if ($startDate->diffInDays($endDate) === 1.0) return true;
return false;
}
private function getCustomDateRange($startAt, $endAt, $user): array
{
$startDate = $this->parseDate($startAt);
@@ -36,21 +48,12 @@ class DateRangeService
private function getDefaultDateRange($user): array
{
if ($user->isHeadOfDepartment() || $user->isAdmin()) {
$startDate = Carbon::now('Asia/Yakutsk')
->firstOfMonth()
->setTime(6, 0);
$startDate = Carbon::now('Asia/Yakutsk')
->subDay()
->setTime(6, 0);
$endDate = Carbon::now('Asia/Yakutsk')
->setTime(6, 0);
} else {
$startDate = Carbon::now('Asia/Yakutsk')
->subDay()
->setTime(6, 0);
$endDate = Carbon::now('Asia/Yakutsk')
->setTime(6, 0);
}
$endDate = Carbon::now('Asia/Yakutsk')
->setTime(6, 0);
return [
$startDate->format('Y-m-d H:i:s'),
@@ -58,7 +61,7 @@ class DateRangeService
];
}
private function parseDate($dateInput): Carbon
public function parseDate($dateInput): Carbon
{
if (is_numeric($dateInput)) {
return Carbon::createFromTimestampMs($dateInput)