Профиль хирургии

This commit is contained in:
brusnitsyn
2026-03-25 17:37:32 +09:00
parent 52a80ccd3b
commit f566ab96df
75 changed files with 3841 additions and 1009 deletions

View File

@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Resources\Mis\FormattedPatientResource;
use App\Models\Department;
use App\Models\MetrikaGroup;
use App\Models\MetrikaItem;
use App\Models\MisLpuDoctor;
use App\Models\Report;
use App\Models\UnwantedEvent;
@@ -35,8 +36,9 @@ class ReportController extends Controller
$statistics = $this->reportService->getReportStatistics($department, $user, $dateRange);
// Получаем метрики
$metrikaGroup = MetrikaGroup::whereMetrikaGroupId(2)->first();
$metrikaItems = $metrikaGroup->metrikaItems;
// $metrikaGroup = MetrikaGroup::whereMetrikaGroupId(2)->first();
// $metrikaItems = $metrikaGroup->metrikaItems;
$metrikaItems = MetrikaItem::whereIn('metrika_item_id', [3, 7, 8, 17])->get();
// Получаем информацию о текущем отчете
$reportInfo = $this->reportService->getCurrentReportInfo($department, $user, $dateRange);
@@ -47,6 +49,8 @@ class ReportController extends Controller
'department_id' => $department->department_id,
'beds' => $department->beds,
'percentLoadedBeds' => $this->calculateBedOccupancy($department, $user),
'recipientPlanOfYear' => $this->reportService->getRecipientPlanOfYear($department, $dateRange)['plan'],
'progressPlanOfYear' => $this->reportService->getRecipientPlanOfYear($department, $dateRange)['progress'],
...$statistics,
],
'dates' => [

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers\Web;
use App\Exports\StatisticsExport;
use App\Http\Controllers\Controller;
use App\Models\Department;
use App\Models\MetrikaForm;
@@ -18,6 +19,7 @@ use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
use Inertia\Inertia;
use Maatwebsite\Excel\Facades\Excel;
class StatisticController extends Controller
{
@@ -54,6 +56,21 @@ class StatisticController extends Controller
'isHeadOrAdmin' => $isHeadOrAdmin,
'date' => $date,
'isOneDay' => $isRangeOneDay,
'recipientPlanOfYear' => $finalData['recipientPlanOfYear']
]);
}
public function report(Request $request)
{
$user = $request->user();
$queryStartDate = $request->query('startAt');
$queryEndDate = $request->query('endAt');
[$startDate, $endDate] = $this->dateService->getStatisticsDateRange($user, $queryStartDate, $queryEndDate);
$isRangeOneDay = $this->dateService->isRangeOneDay($startDate, $endDate);
$finalData = $this->statisticsService->getStatisticsData($user, $startDate, $endDate, $isRangeOneDay);
return Excel::download(new StatisticsExport($finalData['data'], [$startDate, $endDate]), 'statistics.xlsx');
}
}