Новые таблицы миса

This commit is contained in:
brusnitsyn
2026-01-16 17:30:41 +09:00
parent a649eaf7c5
commit 62d7e9efd4
11 changed files with 217 additions and 39 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class MisMedicalHistory extends Model
{
@@ -18,4 +19,60 @@ class MisMedicalHistory extends Model
'BD',
'Address'
];
protected $casts = [
'DateRecipient' => 'datetime'
];
/*
* Истории со срочностью - Плановая
*/
public function scopePlan()
{
return $this->where('rf_EmerSignID', 1);
}
/*
* Истории со срочностью - Экстренная
*/
public function scopeEmergency()
{
return $this->where('rf_EmerSignID', 2);
}
/*
* Движения истории
*/
public function migrations()
{
return $this->hasMany(MisMigrationPatient::class, 'rf_MedicalHistoryID', 'MedicalHistoryID');
}
/*
* Движение по StationarBranch
*/
public function scopeInStationarBranch($query, $stationarBranchID)
{
return $this->whereHas('migrations', function ($query) use ($stationarBranchID) {
$query->where('rf_StationarBranchID', $stationarBranchID);
});
}
/*
* Истории в отделении ($departmentId)
*/
public function scopeInDepartment($query, $departmentId, $startDate, $endDate)
{
return $query->whereExists(function ($q) use ($departmentId, $startDate, $endDate) {
$q->select(DB::raw(1))
->from('stt_migrationpatient as mp')
->join('stt_stationarbranch as sb', 'sb.StationarBranchID', '=', 'mp.rf_StationarBranchID')
->whereColumn('mp.rf_MedicalHistoryID', 'stt_medicalhistory.MedicalHistoryID')
->where('sb.rf_DepartmentID', $departmentId);
if ($startDate && $endDate) {
$q->whereBetween('mp.DateIngoing', [$startDate, $endDate]);
}
});
}
}