modified: .gitignore

This commit is contained in:
brusnitsyn
2026-04-21 10:08:14 +09:00
parent 0e8b6f61b4
commit 2041ab54ea
74 changed files with 7533 additions and 1544 deletions

View File

@@ -11,6 +11,11 @@ class MisMigrationPatient extends Model
protected $table = 'stt_migrationpatient';
protected $primaryKey = 'MigrationPatientID';
protected $casts = [
'DateIngoing' => 'datetime:Y-m-d H:i:s',
'DateOut' => 'datetime:Y-m-d H:i:s',
];
public function branch()
{
return $this->hasOne(MisStationarBranch::class, 'StationarBranchID', 'rf_StationarBranchID');
@@ -31,18 +36,12 @@ class MisMigrationPatient extends Model
return $this->hasOne(MisMKB::class, 'MKBID', 'rf_MKBID');
}
public function medicalHistory()
{
return $this->belongsTo(MisMedicalHistory::class, 'rf_MedicalHistoryID', 'MedicalHistoryID');
}
/**
* Находятся на лечении
*/
public function scopeCurrentlyInTreatment($query, $branchId = null, DateRange $dateRange = null)
{
$query->where('rf_kl_VisitResultID', 0)
->where('rf_kl_StatCureResultID', 0)
$query->whereNotIn('rf_kl_VisitResultID', [4])
->whereHas('medicalHistory', function ($query) use ($branchId, $dateRange) {
$query->whereDate('DateExtract', '1900-01-01');
})
@@ -77,18 +76,19 @@ class MisMigrationPatient extends Model
*/
public function scopeOutcomePatients($query, $branchId = null, DateRange $dateRange = null)
{
$query->where('rf_kl_VisitResultID', '<>', 0) // не активное лечение
->whereDate('DateOut', '<>', '1900-01-01') // есть дата выбытия
->where('rf_MedicalHistoryID', '<>', 0);
$query->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
$query->where('rf_StationarBranchID', $branchId);
}
if ($dateRange) {
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
// $query->whereBetween('DateOut', [$dateRange->startSql(), $dateRange->endSql()]);
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -99,11 +99,10 @@ class MisMigrationPatient extends Model
*/
public function scopeOutcomeDischarged($query, $branchId = null, DateRange $dateRange = null)
{
// ID выписки
$dischargeCodes = [1, 7, 8, 9, 10, 11, 48, 49, 124];
// По уточненному SQL: Выписано за период
$dischargeCodes = [1, 11, 2, 12, 7, 18, 48];
$query->whereIn('rf_kl_VisitResultID', $dischargeCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -111,8 +110,12 @@ class MisMigrationPatient extends Model
}
if ($dateRange) {
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -123,11 +126,10 @@ class MisMigrationPatient extends Model
*/
public function scopeOutcomeTransferred($query, $branchId = null, DateRange $dateRange = null)
{
// ID перевода
$transferCodes = [2, 3, 4, 12, 13, 14];
// По заданному SQL: только эти коды перевода
$transferCodes = [4, 14];
$query->whereIn('rf_kl_VisitResultID', $transferCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -135,8 +137,12 @@ class MisMigrationPatient extends Model
}
if ($dateRange) {
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -151,7 +157,6 @@ class MisMigrationPatient extends Model
$deceasedCodes = [5, 6, 15, 16];
$query->whereIn('rf_kl_VisitResultID', $deceasedCodes)
->whereDate('DateOut', '<>', '1900-01-01')
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -159,8 +164,12 @@ class MisMigrationPatient extends Model
}
if ($dateRange) {
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -168,11 +177,9 @@ class MisMigrationPatient extends Model
public function scopeOutcomeWithoutTransferred($query, $branchId = null, DateRange $dateRange = null)
{
// ID выписанных, без переводных
$outcomeWithoutTransferredIds = [5, 6, 15, 16, 1, 7, 8, 9, 10, 11, 48, 49, 124];
$query->whereIn('rf_kl_VisitResultID', $outcomeWithoutTransferredIds)
->whereDate('DateOut', '<>', '1900-01-01')
// По заданной логике переводы только 4 и 14, исключаем их
$query->whereNotIn('rf_kl_VisitResultID', [4, 14])
->where('rf_kl_VisitResultID', '<>', 0)
->where('rf_MedicalHistoryID', '<>', 0);
if ($branchId) {
@@ -180,8 +187,12 @@ class MisMigrationPatient extends Model
}
if ($dateRange) {
$query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
$query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
}
return $query;
@@ -195,8 +206,12 @@ class MisMigrationPatient extends Model
$query->where('rf_kl_VisitResultID', '<>', 0)
->where('rf_MedicalHistoryID', '<>', 0)
->when($dateRange, function($query) use ($dateRange) {
return $query->where('DateOut', '>=', $dateRange->startSql())
->where('DateOut', '<=', $dateRange->endSql());
$startDate = Carbon::parse($dateRange->startSql())->toDateString();
$endDate = Carbon::parse($dateRange->endSql())->toDateString();
return $query->whereHas('medicalHistory', function ($mhQuery) use ($startDate, $endDate) {
$mhQuery->whereDate('DateExtract', '>', $startDate)
->whereDate('DateExtract', '<=', $endDate);
});
});
if ($branchId) {
@@ -205,4 +220,9 @@ class MisMigrationPatient extends Model
return $query;
}
public function medicalHistory()
{
return $this->belongsTo(MisMedicalHistory::class, 'rf_MedicalHistoryID', 'MedicalHistoryID');
}
}