* добавил исход спец контингенту
* оптимизация обновления при редактировании спец контингента * добавил поддержку заключительных диагнозов * изменил определение законченной операции * добавил поддержку исхода операции * добавил определение отмены для операции через назначение * работа над диапазонами календарей, подсчет статистики * добавил статусы отчетов и подкорректировал привязку спец контингента к отчету * добавил новые сервисы для будущего кеширования * частичное разделение логики подсчета пациентов
This commit is contained in:
@@ -3,10 +3,12 @@
|
||||
namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use LaravelIdea\Helper\App\Models\_IH_MisSurgicalOperation_QB;
|
||||
|
||||
class MisSurgicalOperation extends Model
|
||||
{
|
||||
private const COMPLETED_OPERATION_STATUS_ID = 3;
|
||||
private const CANCELLED_OPERATION_STATUS_ID = 4;
|
||||
|
||||
protected $table = 'stt_surgicaloperation';
|
||||
protected $primaryKey = 'SurgicalOperationID';
|
||||
@@ -26,10 +28,47 @@ class MisSurgicalOperation extends Model
|
||||
return $this->hasOne(MisOperationPurpose::class, 'rf_SurgicalOperationID', 'SurgicalOperationID');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Получить операции у которых исход <> 0
|
||||
* @param $query
|
||||
* @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB
|
||||
*/
|
||||
public function scopeCompleted($query)
|
||||
{
|
||||
return $query->whereNot('rf_OperationResultID', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить операции с благоприятным исходом
|
||||
* @param $query
|
||||
* @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB
|
||||
*/
|
||||
public function scopePositiveResult($query)
|
||||
{
|
||||
return $query->where('rf_OperationResultID', 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить операции с неблагоприятным исходом
|
||||
* @param $query
|
||||
* @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB
|
||||
*/
|
||||
public function scopeNotPositiveResult($query)
|
||||
{
|
||||
return $query->where('rf_OperationResultID', 2);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Получить отмененные операции через назначение
|
||||
* @param $query
|
||||
* @return _IH_MisSurgicalOperation_QB
|
||||
*/
|
||||
public function scopeCanceled($query)
|
||||
{
|
||||
return $query->whereHas('operationPurpose', function ($purposeQuery) {
|
||||
$purposeQuery->where('rf_OperationStatusID', self::COMPLETED_OPERATION_STATUS_ID);
|
||||
$purposeQuery->where('rf_OperationStatusID', self::CANCELLED_OPERATION_STATUS_ID);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user