Добавил приоритет ввода метрик врача дежурного
This commit is contained in:
@@ -329,6 +329,12 @@ class DutyReportController extends Controller
|
||||
$unwantedEvents = $request->get('unwanted_events', []);
|
||||
$selectedUserId = $request->get('userId') ? (int) $request->get('userId') : null;
|
||||
$selectedDepartmentId = $request->get('departmentId') ? (int) $request->get('departmentId') : null;
|
||||
|
||||
// Приоритет над метриками (поступило, выбыло, состоит и мед. персонал)
|
||||
$statRecipient = $request->get('recipient') ? (int) $request->get('recipient') : null;
|
||||
$statDischarged = $request->get('discharged') ? (int) $request->get('discharged') : null;
|
||||
$statCurrent = $request->get('current') ? (int) $request->get('current') : null;
|
||||
|
||||
$staff = (int) $request->get('staff', 0);
|
||||
|
||||
$dateRange = $this->dateRangeService->getDateRangeFromRequest($request, $user, extendRangeEnd: false);
|
||||
@@ -337,7 +343,13 @@ class DutyReportController extends Controller
|
||||
$this->dutyReportService->saveObservables($observables, $report);
|
||||
$this->dutyReportService->saveUnwantedEvents($unwantedEvents, $report);
|
||||
|
||||
$this->dutyReportService->saveMetrics($stats, $report, $staff);
|
||||
$statsOverride = [
|
||||
'recipient' => $statRecipient,
|
||||
'outcome' => $statDischarged,
|
||||
'in_department' => $statCurrent
|
||||
];
|
||||
|
||||
$this->dutyReportService->saveMetrics($stats, $report, $staff, $statsOverride);
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
@@ -921,16 +921,19 @@ class DutyReportService
|
||||
];
|
||||
}
|
||||
|
||||
public function saveMetrics(array $stats, ReportDuty $reportDuty, int $staff = 0)
|
||||
public function saveMetrics(array $stats, ReportDuty $reportDuty, int $staff = 0, array $statsOverride = [])
|
||||
{
|
||||
$byStatus = $stats['by_status'] ?? [];
|
||||
$byUrgency = $stats['by_urgency'] ?? [];
|
||||
$admitted = $stats['admitted'] ?? [];
|
||||
|
||||
// === Базовые счётчики ===
|
||||
$patientsIsRecipient = $byStatus['recipient'] ?? 0;
|
||||
$patientsInDepartment = $byStatus['in_department'] ?? 0;
|
||||
$patientsIsDischarged = $stats['outcome'] ?? 0;
|
||||
$patientsIsRecipient = array_key_exists('recipient', $statsOverride)
|
||||
? $statsOverride['recipient'] : $byStatus['recipient'] ?? 0;
|
||||
$patientsInDepartment = array_key_exists('in_department', $statsOverride)
|
||||
? $statsOverride['in_department'] : $byStatus['in_department'] ?? 0;
|
||||
$patientsIsDischarged = array_key_exists('outcome', $statsOverride)
|
||||
? $statsOverride['outcome'] : $byStatus['outcome'] ?? 0;
|
||||
$patientsIsTransferred = $stats['transferred'] ?? 0;
|
||||
$patientsIsDeceased = $byStatus['deceased'] ?? 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user