diff --git a/app/Models/MedInterview.php b/app/Models/MedInterview.php index 2f0d691a..e1f446fc 100644 --- a/app/Models/MedInterview.php +++ b/app/Models/MedInterview.php @@ -2,8 +2,10 @@ namespace App\Models; +use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Timegridio\Concierge\Models\Contact; class MedInterview extends Model { @@ -12,10 +14,26 @@ class MedInterview extends Model protected $softDelete = true; protected $dates = ['deleted_at']; protected $table = 'medical_interview'; - protected $fillable = ['json_data','contact_id']; - public $contact_id = null; - public $json_data = null; + const TABLE = 'medical_interview'; + const ID = 'id'; + const JSON_DATA = 'json_data'; + const CONTACT_ID = 'contact_id'; + + const DEFAULT_FORMAT_DATE = 'Y-m-d H:i:s'; + + protected $fillable = [ + self::JSON_DATA, + self::CONTACT_ID, + ]; + + const RELATION_CONTACT = 'contact'; + + public function contact() { + return $this->belongsTo(Contact::class, self::CONTACT_ID); + } + // public $contact_id = null; + // public $json_data = null; private $json_data_model = null; @@ -41,13 +59,18 @@ private function getMedicines(){ } private function defaultDataModel(){ - $desc = ''; + $desc = [ + 'value'=> '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), + 'updateAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE) + ]; $aid = [ [ 'id' => 1, 'name' => 'Lek na wszystko', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], ]; $diseases = [ @@ -56,86 +79,104 @@ private function defaultDataModel(){ 'name' => trans('medical.interview.diseases.1'), 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.2'), 'id' => '2', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.3'), 'id' => '3', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.4'), 'id' => '4', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.5'), 'id' => '5', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.6'), 'id' => '6', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.7'), 'id' => '7', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.8'), 'id' => '8', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.9'), 'id' => '9', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.10'), 'id' => '10', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.11'), 'id' => '11', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ],/* [ 'name' => trans('medical.interview.diseases.12'), 'id' => '12', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ], [ 'name' => trans('medical.interview.diseases.13'), 'id' => '13', 'value' => false, 'desc' => '', + 'createAt' => Carbon::now()->format(self::DEFAULT_FORMAT_DATE), ],*/ ]; return ['aid' => $aid, 'diseases' => $diseases,'desc' => $desc]; } - public function getJsonData($contactId) { - $back = $this->query()->select('json_data')->where('contact_id','=',$contactId)->first(); + public function getJsonData($contactId) : array + { + $back = $this->query() + ->select('json_data') + ->where('contact_id','=',$contactId) + ->get() + ; if($back != null){ $back = $back->toArray(); $back = json_decode($back['json_data']); @@ -146,7 +187,7 @@ public function getJsonData($contactId) { $this->json_data_model['diseases'][$indx]['value']=$back->diseases[$indx]->value; } - $this->json_data_model['desc'] = $back->desc; + $this->json_data_model['desc']['value'] = $back->desc->value; foreach($this->json_data_model['aid'] as $indx=>$model){ if(count($back->aid) <= $indx) break; @@ -175,7 +216,8 @@ public function updateJsonModel($options){ } break; case 'desc' : - $this->json_data_model['desc'] = $options['pair']['value']; + $this->json_data_model['desc']['value'] = $options['pair']['value']; + $this->json_data_model['desc']['updateAt'] = Carbon::now()->format(self::DEFAULT_FORMAT_DATE); break; case 'aid' : foreach($this->json_data_model['aid'] as $indx=>$model){ @@ -184,7 +226,12 @@ public function updateJsonModel($options){ } break; } - $result = $this->updateOrCreate(['contact_id'=>$options['contact_id']],['contact_id'=>$options['contact_id'],'json_data' => json_encode($this->json_data_model, JSON_HEX_QUOT) ]); + $result = $this->updateOrCreate( + ['contact_id'=>$options['contact_id'], self::CREATED_AT => Carbon::now()->format(self::DEFAULT_FORMAT_DATE)], + [ + 'contact_id'=>$options['contact_id'], + 'json_data' => json_encode($this->json_data_model, JSON_HEX_QUOT) + ]); return $result; } } diff --git a/resources/views/medical/_interview.blade.php b/resources/views/medical/_interview.blade.php index 89b2eac3..849b2a2c 100644 --- a/resources/views/medical/_interview.blade.php +++ b/resources/views/medical/_interview.blade.php @@ -185,7 +185,7 @@ $('#medicine').val(tab); $('#medicine').trigger('change'); - $('[name=desc]').val('{{str_replace(["\r","\n"]," ",$interviewData['model']['desc'])}}'); + $('[name=desc]').val('{{str_replace(["\r","\n"]," ",$interviewData['model']['desc']['value'])}}'); }); @endpush \ No newline at end of file