Профиль хирургии
This commit is contained in:
@@ -10,7 +10,10 @@ class DepartmentController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$departments = Department::all();
|
||||
$user = $request->user();
|
||||
|
||||
$departmentIds = $user->departments()->pluck('rf_department_id');
|
||||
$departments = Department::whereIn('department_id', $departmentIds)->orderBy('name_short')->get();
|
||||
|
||||
return response()->json($departments);
|
||||
}
|
||||
|
||||
@@ -260,7 +260,9 @@ class MetrikaFormController extends Controller
|
||||
->join('metrika_result_values as mv', 'mr.metrika_result_id', '=', 'mv.rf_metrika_result_id')
|
||||
->join('reports as r', 'mr.rf_report_id', '=', 'r.report_id')
|
||||
->where('mr.rf_metrika_group_id', $groupId)
|
||||
->whereBetween('r.sent_at', [$dateStart, $dateEnd])
|
||||
// ->whereBetween('r.sent_at', [$dateStart, $dateEnd])
|
||||
->where('r.sent_at', '>', $dateStart)
|
||||
->where('r.sent_at', '<=', $dateEnd)
|
||||
->when(!$user->isAdmin() && !$user->isHeadOfDepartment(), function ($query) use ($user) {
|
||||
return $query->where('r.rf_user_id', $user->id);
|
||||
})
|
||||
@@ -353,7 +355,9 @@ class MetrikaFormController extends Controller
|
||||
$endDate = date("{$year}-{$month}-t", strtotime($startDate));
|
||||
|
||||
$reports = Report::where('rf_user_id', $user->id)
|
||||
->whereBetween('sent_at', [$startDate, $endDate])
|
||||
// ->whereBetween('sent_at', [$startDate, $endDate])
|
||||
->where('sent_at', '>', $startDate)
|
||||
->where('sent_at', '<=', $endDate)
|
||||
->get();
|
||||
|
||||
// Создаем календарь
|
||||
|
||||
24
app/Http/Controllers/Api/OperationController.php
Normal file
24
app/Http/Controllers/Api/OperationController.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\Api\OperationsResource;
|
||||
use App\Models\MisSurgicalOperation;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OperationController extends Controller
|
||||
{
|
||||
public function operations(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'historyId' => 'required|integer'
|
||||
]);
|
||||
|
||||
$operations = MisSurgicalOperation::where('rf_MedicalHistoryID', $request->historyId)->get();
|
||||
|
||||
return response()->json(
|
||||
OperationsResource::collection($operations)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,7 @@ class ReportController extends Controller
|
||||
$endDateCarbon = Carbon::now();
|
||||
|
||||
// Определяем даты в зависимости от роли
|
||||
[$startDate, $endDate] = $this->dateService->getDateRangeForUser($user, $request->query('startAt'), $request->query('endAt'));
|
||||
[$startDate, $endDate] = $this->dateRangeService->getDateRangeForUser($user, $request->query('startAt'), $request->query('endAt'));
|
||||
if (Carbon::parse($startDate)->isValid()) {
|
||||
$startDateCarbon = Carbon::parse($startDate)->setTimeZone('Asia/Yakutsk');
|
||||
}
|
||||
@@ -737,12 +737,16 @@ class ReportController extends Controller
|
||||
if ($isHeadOrAdmin) {
|
||||
// Заведующий: используем whereInDepartment
|
||||
$query = MisMigrationPatient::whereInDepartment($branchId)
|
||||
->whereBetween('DateIngoing', [$startDate, $endDate]);
|
||||
// ->whereBetween('DateIngoing', [$startDate, $endDate]);
|
||||
->where('DateIngoing', '>=', $startDate)
|
||||
->where('DateIngoing', '<=', $endDate);
|
||||
} else {
|
||||
// Врач: используем currentlyInTreatment + фильтр по дате
|
||||
$query = MisMigrationPatient::currentlyInTreatment($branchId)
|
||||
->when($today, function ($query) use ($startDate, $endDate) {
|
||||
return $query->whereBetween('DateIngoing', [$startDate, $endDate]);
|
||||
// return $query->whereBetween('DateIngoing', [$startDate, $endDate]);
|
||||
return $query->where('DateIngoing', '>=', $startDate)
|
||||
->where('DateIngoing', '<=', $endDate);
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -757,7 +761,9 @@ class ReportController extends Controller
|
||||
// Получаем истории
|
||||
$query = MisMedicalHistory::whereIn('MedicalHistoryID', $medicalHistoryIds)
|
||||
->with(['surgicalOperations' => function ($query) use ($startDate, $endDate) {
|
||||
$query->whereBetween('Date', [$startDate, $endDate]);
|
||||
// $query->whereBetween('Date', [$startDate, $endDate]);
|
||||
$query->where('Date', '>=', $startDate)
|
||||
->where('Date', '<=', $endDate);
|
||||
}])
|
||||
->orderBy('DateRecipient', 'DESC');
|
||||
|
||||
@@ -874,7 +880,9 @@ class ReportController extends Controller
|
||||
private function getSurgicalPatients(string $status, bool $isHeadOrAdmin, $branchId, $startDate, $endDate, bool $returnedCount = false)
|
||||
{
|
||||
$query = MisSurgicalOperation::where('rf_StationarBranchID', $branchId)
|
||||
->whereBetween('Date', [$startDate, $endDate])
|
||||
// ->whereBetween('Date', [$startDate, $endDate])
|
||||
->where('Date', '>=', $startDate)
|
||||
->where('Date', '<=', $endDate)
|
||||
->orderBy('Date', 'DESC');
|
||||
|
||||
if ($status === 'plan') {
|
||||
@@ -953,6 +961,7 @@ class ReportController extends Controller
|
||||
})
|
||||
->active()
|
||||
->whereNotIn('LPUDoctorID', [0, 1])
|
||||
->orderBy('FAM_V')
|
||||
->get();
|
||||
|
||||
return response()->json([
|
||||
@@ -967,8 +976,10 @@ class ReportController extends Controller
|
||||
{
|
||||
if (Carbon::parse($startDate)->diffInDays(Carbon::parse($endDate)) > 1.0)
|
||||
return Report::where('rf_department_id', $departmentId)
|
||||
->whereBetween('created_at', [$startDate, $endDate])
|
||||
->orderBy('created_at', 'ASC')
|
||||
// ->whereBetween('created_at', [$startDate, $endDate])
|
||||
->where('sent_at', '>=', $startDate)
|
||||
->where('sent_at', '<=', $endDate)
|
||||
->orderBy('sent_at', 'ASC')
|
||||
->get();
|
||||
else
|
||||
return Report::where('rf_department_id', $departmentId)
|
||||
|
||||
Reference in New Issue
Block a user