* добавлена выборка и подсчет по датам для роли зав. * переключатель ролей * выбор отделений для роли зав.
69 lines
1.9 KiB
PHP
69 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Support\Carbon;
|
|
|
|
class MisMigrationPatient extends Model
|
|
{
|
|
protected $table = 'stt_migrationpatient';
|
|
protected $primaryKey = 'MigrationPatientID';
|
|
|
|
public function branch()
|
|
{
|
|
return $this->hasOne(MisStationarBranch::class, 'StationarBranchID', 'rf_StationarBranchID');
|
|
}
|
|
|
|
public function diagnosis()
|
|
{
|
|
return $this->hasMany(MisDiagnos::class, 'rf_MigrationPatientID', 'MigrationPatientID');
|
|
}
|
|
|
|
public function mkb()
|
|
{
|
|
return $this->hasOne(MisMKB::class, 'MKBID', 'rf_MKBID');
|
|
}
|
|
|
|
public function scopeCurrentlyInTreatment($query, $branchId = null)
|
|
{
|
|
$query->where('rf_kl_VisitResultID', 0)
|
|
->where('rf_MedicalHistoryID', '<>', 0);
|
|
|
|
if ($branchId) {
|
|
$query->where('rf_StationarBranchID', $branchId);
|
|
}
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function scopeWhereInDepartment($query, $branchId = null)
|
|
{
|
|
$query->where('rf_MedicalHistoryID', '<>', 0);
|
|
|
|
if ($branchId) {
|
|
$query->where('rf_StationarBranchID', $branchId);
|
|
}
|
|
|
|
return $query;
|
|
}
|
|
|
|
public function scopeExtractedToday($query, $branchId = null, $startDate = null, $endDate = null)
|
|
{
|
|
if (is_null($startDate)) $startDate = Carbon::now()->addDays(-1)->format('Y-m-d');
|
|
if (is_null($endDate)) $endDate = Carbon::now()->format('Y-m-d');
|
|
|
|
$query->where('rf_kl_VisitResultID', '<>', 0)
|
|
->where('rf_MedicalHistoryID', '<>', 0)
|
|
->when($startDate && $endDate, function($query) use ($startDate, $endDate) {
|
|
return $query->whereBetween('DateOut', [$startDate, $endDate]);
|
|
});
|
|
|
|
if ($branchId) {
|
|
$query->where('rf_StationarBranchID', $branchId);
|
|
}
|
|
|
|
return $query;
|
|
}
|
|
}
|