[Добавлено]: Вывод всех врачей при создании отчета #2
This commit is contained in:
@@ -26,19 +26,24 @@ class DepartmentController extends Controller
|
|||||||
$type = $request->query('type', 'duty');
|
$type = $request->query('type', 'duty');
|
||||||
|
|
||||||
if ($onlyUserDepartment) {
|
if ($onlyUserDepartment) {
|
||||||
$departmentId = $department->rf_mis_department_id;
|
$departmentIds = [$department->rf_mis_department_id];
|
||||||
} else {
|
} else {
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
$departmentId = $user->department->rf_mis_department_id;
|
// TODO: Доработать сопоставление с должностями
|
||||||
|
$userDepartmentProfile = $user->department->departmentType;
|
||||||
|
$departmentProfileToDoctorProfiles = [
|
||||||
|
1 => [1336, 1351, 1379, 1393, 1402, 1423, 1424, 1505]
|
||||||
|
];
|
||||||
|
$departmentIds = $user->misDepartments->pluck('rf_mis_department_id')->toArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$users = MisLpuDoctor::select(['LPUDoctorID', 'FAM_V', 'IM_V', 'OT_V'])
|
$users = MisLpuDoctor::select(['LPUDoctorID', 'FAM_V', 'IM_V', 'OT_V'])
|
||||||
->whereHas('prvds', function ($query) use ($departmentId, $type) {
|
->whereHas('prvds', function ($query) use ($departmentIds, $type) {
|
||||||
$query->when($type === 'nurse', function ($query) {
|
$query->when($type === 'nurse', function ($query) {
|
||||||
$query->whereIn('rf_PRVDID', [1567, 1629]);
|
$query->whereIn('rf_PRVDID', [1567, 1629]);
|
||||||
})
|
})
|
||||||
->where('rf_DepartmentID', $departmentId)
|
->whereIn('rf_DepartmentID', $departmentIds)
|
||||||
->whereDate('D_END', '2222-01-01 00:00:00.000000');
|
->whereDate('D_END', '2222-01-01 00:00:00.000000');
|
||||||
})
|
})
|
||||||
->active()
|
->active()
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class Department extends Model
|
|||||||
|
|
||||||
public function userDepartment()
|
public function userDepartment()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(UserDepartment::class, 'rf_department_id', 'department_id');
|
return $this->belongsTo(UserDepartment::class, 'department_id', 'rf_department_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function recipientPlanOfYear()
|
public function recipientPlanOfYear()
|
||||||
|
|||||||
@@ -68,6 +68,19 @@ class User extends Authenticatable
|
|||||||
return $this->hasMany(UserDepartment::class, 'rf_user_id', 'id')->orderBy('order');
|
return $this->hasMany(UserDepartment::class, 'rf_user_id', 'id')->orderBy('order');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function misDepartments()
|
||||||
|
{
|
||||||
|
return $this->belongsToMany(
|
||||||
|
Department::class, // конечная модель
|
||||||
|
'user_departments', // промежуточная таблица
|
||||||
|
'rf_user_id', // внешний ключ в промежуточной таблице на User
|
||||||
|
'rf_department_id', // внешний ключ в промежуточной таблице на Department
|
||||||
|
'id', // локальный ключ в User
|
||||||
|
'department_id' // локальный ключ в Department (уточните имя!)
|
||||||
|
)->withPivot('order') // если нужен order
|
||||||
|
->orderBy('user_departments.order');
|
||||||
|
}
|
||||||
|
|
||||||
public function favoriteDepartment()
|
public function favoriteDepartment()
|
||||||
{
|
{
|
||||||
return $this->department()->where('is_favorited', true);
|
return $this->department()->where('is_favorited', true);
|
||||||
|
|||||||
Reference in New Issue
Block a user