Update Services
This commit is contained in:
@@ -5,6 +5,8 @@ namespace App\Services;
|
||||
use Carbon\Carbon;
|
||||
use App\ResultSample;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
use Exception;
|
||||
use App\DataListiner;
|
||||
|
||||
@@ -552,4 +554,49 @@ class AstmMessageService
|
||||
}
|
||||
}
|
||||
}
|
||||
public function processAstmMessagesLokal($dataListener) {
|
||||
foreach ($dataListener as $data) {
|
||||
try {
|
||||
// Ambil pesan ASTM dari kolom 'message' atau yang relevan
|
||||
$response = $data->rawdt;
|
||||
if ($data->alat == 'COM1' OR $data->alat == 'COM3'){
|
||||
if (isset($data->no_id) AND $data->no_id != ''){
|
||||
$rnmpas = $data->rnmpas;
|
||||
$getnama = explode('|', $rnmpas);
|
||||
$resultSample = new ResultSample();
|
||||
$resultSample->sender_name = $data->alat;
|
||||
$resultSample->message_datetime = $data->tgl_data;
|
||||
$resultSample->version_number = 'V1.0';
|
||||
$resultSample->patient_id = $data->seq_no;
|
||||
$resultSample->patient_name_last= $getnama[0];
|
||||
$resultSample->accession_number = $data->no_id;
|
||||
$resultSample->test_status = $data->organisme;
|
||||
$resultSample->save();
|
||||
DB::table('lis_phoenix')->where('id', $data->id)->update([
|
||||
'processed' => 1
|
||||
]);
|
||||
Log::info("Data ASTM BD ", $resultSample->toArray());
|
||||
|
||||
} else {
|
||||
DB::table('lis_phoenix')->where('id', $data->id)->update([
|
||||
'processed' => 9
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
// Lakukan parsing menggunakan method/fungsi yang sudah dibuat
|
||||
$result = $this->processAstmResponse($response, $data->alat);
|
||||
// Jika berhasil, tandai data sudah diproses
|
||||
if ($result) {
|
||||
DB::table('lis_phoenix')->where('id', $data->id)->update([
|
||||
'processed' => 1
|
||||
]);
|
||||
} else {
|
||||
Log::debug($result);
|
||||
}
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
Log::critical($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user