From 6f7beddec6a6d7a7d61d58b7a94624eefe569262 Mon Sep 17 00:00:00 2001 From: Duidev Software House Date: Sat, 1 Feb 2025 10:59:55 +0700 Subject: [PATCH] Update 01-02-2025 --- app/Http/Controllers/DokterController.php | 7 +- app/Http/Controllers/ReportController.php | 135 +++++++++++++++++- ...05_140423_create_rekapantibiotik_table.php | 1 + resources/views/admin/glassreport.blade.php | 70 +++++++++ .../views/admin/rekapantibiotik.blade.php | 68 +++++++++ resources/views/admin/report.blade.php | 21 ++- routes/web.php | 4 +- 7 files changed, 292 insertions(+), 14 deletions(-) create mode 100644 resources/views/admin/glassreport.blade.php create mode 100644 resources/views/admin/rekapantibiotik.blade.php diff --git a/app/Http/Controllers/DokterController.php b/app/Http/Controllers/DokterController.php index 743b5878..f921b9f0 100644 --- a/app/Http/Controllers/DokterController.php +++ b/app/Http/Controllers/DokterController.php @@ -6,7 +6,6 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; use App\Http\Controllers\SendMail; use App\Services\AstmMessageService; - use App\Poli; use App\Periksa; use App\DataListiner; @@ -952,6 +951,8 @@ class DokterController extends Controller 'resistance' => $item['resistance'], 'value' => $item['value'], 'interpretation' => $item['interpretation'], + 'created_at' => $getdataawal->daftar ?? date('Y-m-d H:i:s'), + 'updated_at' => $getdataawal->akhir ?? date('Y-m-d H:i:s'), ] ); } @@ -1075,6 +1076,8 @@ class DokterController extends Controller 'resistance' => $getdata->diskcontent, 'value' => $setval, 'interpretation' => $setnilai, + 'created_at' => $getdataawal->daftar ?? date('Y-m-d H:i:s'), + 'updated_at' => $getdataawal->akhir ?? date('Y-m-d H:i:s'), ] ); } @@ -1136,6 +1139,8 @@ class DokterController extends Controller 'resistance' => $getdata->diskcontent, 'value' => $setval, 'interpretation' => $setnilai, + 'created_at' => $getdataawal->daftar ?? date('Y-m-d H:i:s'), + 'updated_at' => $getdataawal->akhir ?? date('Y-m-d H:i:s'), ] ); } diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index 67f12fd5..ec7c01bd 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -12,6 +12,7 @@ use App\Dokter; use App\Pasien; use App\Jadwalperiksa; use App\Riwayat; +use App\RekapAntibiotik; use DateTime; use Carbon\Carbon; use Session; @@ -29,7 +30,7 @@ class ReportController extends Controller set_time_limit(0); $bulan = $request->input('bulan'); $tahun = $request->input('tahun'); - if ($bulan == 'ALL' || $bulan == 'Pick Month') { + if ($bulan == 'ALL' OR $bulan == 'Pick Month') { $orderbydate = Periksa::selectRaw('SUM(id) as jumlah, DATE(daftar) as day')->whereYear('daftar', $tahun)->groupBy(DB::raw('daftar'))->orderBy('daftar', 'ASC')->get(); $bulan = ''; } else { @@ -306,4 +307,136 @@ class ReportController extends Controller echo json_encode($arraylist); } } + public function genRekapAntibiotik(Request $request) { + $data = []; + $bulan = $request->input('bulan'); + $tahun = $request->input('tahun'); + if ($tahun == '' OR is_null($tahun)){ + $getarray = explode('?', $bulan); + $bulan = $getarray[0] ?? date('m'); + $tahun = $getarray[1] ?? date('Y'); + } + if ($bulan == '' OR $bulan == 'ALL' OR $bulan == 'Pick Month') { + $orderbydate = Periksa::whereYear('daftar', $tahun)->get(); + $jsonantibiotik = RekapAntibiotik::whereIn('orderid', $orderbydate->pluck('id'))->get()->groupBy('orderid'); + } else { + $orderbydate = Periksa::whereMonth('daftar', $bulan)->whereYear('daftar', $tahun)->get(); + $jsonantibiotik = RekapAntibiotik::whereIn('orderid', $orderbydate->pluck('id'))->get()->groupBy('orderid'); + } + return view('admin.rekapantibiotik', compact('orderbydate', 'jsonantibiotik', 'bulan', 'tahun')); + } + public function genGlassReport(Request $request) { + $data = []; + $bulan = $request->input('bulan'); + $tahun = $request->input('tahun'); + if ($tahun == '' OR is_null($tahun)){ + $getarray = explode('?', $bulan); + $bulan = $getarray[0] ?? date('m'); + $tahun = $getarray[1] ?? date('Y'); + } + if ($bulan == '' OR $bulan == 'ALL' OR $bulan == 'Pick Month') { + $orderbydate = Periksa::whereYear('daftar', $tahun)->get(); + $jsonantibiotik = array( + 'Oxacillin-OX', + 'Cefoxitin-FOX', + 'Benzylpenicillin-P', + 'Ampicillin-AM', + 'Azithromycin-AZM', + 'Erythromycin-ERY', + 'Cefazolin-CZO', + 'Cefepime-FEP', + 'Cefixime-CFM', + 'Cefotaxime-CTX', + 'Cefuroxime-CXM', + 'Ceftazidime-CAZ', + 'Ceftriaxone-CRO', + 'Ceftazidime/Avibactam-CZA', + 'Piperacilin/Tazobactam-TZP', + 'Ampicillin/Sulbactam-SAM', + 'Amoxicillin/Clavulanate-AMC', + 'Cefoperazon/Sulbactam-SCF', + 'Aztreonam-ATM', + 'Ceftaroline-CPT', + 'Ciprofloxacin-CIP', + 'Levofloxacin-LEV', + 'Moxifloxacin-MFX', + 'Clindamycin-CLI', + 'Colistin-CS', //tidak ada + 'Tetracyclin-TCY', + 'Tigecycline-TGC', //double + 'Gentamicin-GM', + 'Amikacin-AN', + 'Meropenem-MEM', + 'Imipenem-IPM', + 'Doripenem-DOR', + 'Ertapenem-ETP', + 'Minocycline-MNO', + 'Doxycycline-DOX', + 'Spectinomycin-SPT', + 'Tigecycline-TGC', //sama-ini + 'Trimethoprim/Sulfamethoxazole-SXT', + 'Fosfomycin-FOS', + 'Vancomycin-VAN', + 'Linezolid-LNZ', + 'Fluconazole', //tidak ada + 'Voriconazole', //tidak ada + 'Caspofungin', //tidak ada + 'Micafungin', //tidak ada + 'Amphotericin B', //tidak ada + 'Flucytosine' //tidak ada + ); + } else { + $orderbydate = Periksa::whereMonth('daftar', $bulan)->whereYear('daftar', $tahun)->get(); + $jsonantibiotik = array( + 'Oxacillin-OX', + 'Cefoxitin-FOX', + 'Benzylpenicillin-P', + 'Ampicillin-AM', + 'Azithromycin-AZM', + 'Erythromycin-ERY', + 'Cefazolin-CZO', + 'Cefepime-FEP', + 'Cefixime-CFM', + 'Cefotaxime-CTX', + 'Cefuroxime-CXM', + 'Ceftazidime-CAZ', + 'Ceftriaxone-CRO', + 'Ceftazidime/Avibactam-CZA', + 'Piperacilin/Tazobactam-TZP', + 'Ampicillin/Sulbactam-SAM', + 'Amoxicillin/Clavulanate-AMC', + 'Cefoperazon/Sulbactam-SCF', + 'Aztreonam-ATM', + 'Ceftaroline-CPT', + 'Ciprofloxacin-CIP', + 'Levofloxacin-LEV', + 'Moxifloxacin-MFX', + 'Clindamycin-CLI', + 'Colistin-CS', + 'Tetracyclin-TCY', + 'Tigecycline-TGC', + 'Gentamicin-GM', + 'Amikacin-AN', + 'Meropenem-MEM', + 'Imipenem-IPM', + 'Doripenem-DOR', + 'Ertapenem-ETP', + 'Minocycline-MNO', + 'Doxycycline-DOX', + 'Spectinomycin-SPT', + 'Tigecycline-TGC', + 'Trimethoprim/Sulfamethoxazole-SXT', + 'Fosfomycin-FOS', + 'Vancomycin-VAN', + 'Linezolid-LNZ', + 'Fluconazole', + 'Voriconazole', + 'Caspofungin', + 'Micafungin', + 'Amphotericin B', + 'Flucytosine' + ); + } + return view('admin.glassreport', compact('orderbydate', 'jsonantibiotik', 'bulan', 'tahun')); + } } diff --git a/database/migrations/2025_01_05_140423_create_rekapantibiotik_table.php b/database/migrations/2025_01_05_140423_create_rekapantibiotik_table.php index b3179e47..10bb3cde 100644 --- a/database/migrations/2025_01_05_140423_create_rekapantibiotik_table.php +++ b/database/migrations/2025_01_05_140423_create_rekapantibiotik_table.php @@ -17,6 +17,7 @@ return new class extends Migration $table->string('resistance', 150)->nullable(); $table->string('value', 150)->nullable(); $table->string('interpretation', 150)->nullable(); + $table->string('glassreportname', 150)->nullable(); $table->integer('orderid')->nullable(); $table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent(); diff --git a/resources/views/admin/glassreport.blade.php b/resources/views/admin/glassreport.blade.php new file mode 100644 index 00000000..6b256fff --- /dev/null +++ b/resources/views/admin/glassreport.blade.php @@ -0,0 +1,70 @@ +@extends('base.layout') +@section('content') +
+
+
+
+
+
Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}
+

+
+ + + + + + + + + + + + + + + + + + @if(isset($jsonantibiotik) && !empty($jsonantibiotik)) + @foreach($jsonantibiotik as $antibiotic) + + @endforeach + @endif + + + + @if(isset($orderbydate) && !empty($orderbydate)) + @foreach($orderbydate as $data) + + + + + + + + + + + + + + @if(isset($jsonantibiotik[$data->id]) && !empty($jsonantibiotik[$data->id])) + @foreach($jsonantibiotik[$data->id] as $antibiotic) + + @endforeach + @endif + + @endforeach + @endif + +
ID Rumah SakitNama PasienNo Rekam MedisJenis KelaminTanggal LahirUsiaRuang RawatTanggal Pasien MasukTanggal Pengambilan SampleSpecimen Origin (Comunity Origin / Hospital Origin)Jenis SpesimenNama Spesies BakteriESBLMRSA{{ $antibiotic }}
{{ $data->nmpasien }}{{ $data->noregister }}{{ $data->jkpasien }}{{ $data->tgllahirpasien }}{{ $data->usia }}{{ $data->asalpasien }}{{ $data->mulai }}{{ $data->daftar }}{{ $data->nm_spesimen }}{{ $data->nm_spesimen }}{{ $data->updated_at }}{{ $antibiotic->interpretation }}
+
+ +
+
+
+
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/admin/rekapantibiotik.blade.php b/resources/views/admin/rekapantibiotik.blade.php new file mode 100644 index 00000000..75d1dd43 --- /dev/null +++ b/resources/views/admin/rekapantibiotik.blade.php @@ -0,0 +1,68 @@ +@extends('base.layout') +@section('content') +
+
+
+
+
+
Rekapitulasi Data Bulan {{$bulan}} Tahun {{$tahun}}
+

+
+ + + + + + + + + + + + + + + + @if(isset($jsonantibiotik) && !empty($jsonantibiotik)) + @foreach($jsonantibiotik->first() as $antibiotic) + + @endforeach + @endif + + + + @if(isset($orderbydate) && !empty($orderbydate)) + @foreach($orderbydate as $data) + + + + + + + + + + + + + + @if(isset($jsonantibiotik[$data->id]) && !empty($jsonantibiotik[$data->id])) + @foreach($jsonantibiotik[$data->id] as $antibiotic) + + @endforeach + @endif + + @endforeach + @endif + +
NoStatusNo.RMNameOrderGenderDateUrgensiComming FromCodeSpesimenFinish{{ $antibiotic->antibiotic }}
{{ $data->noloket }}{{ $data->status }}{{ $data->noregister }}{{ $data->nmpasien }}{{ $data->reques }}{{ $data->jkpasien }}{{ $data->daftar }}{{ $data->urgensi }}{{ $data->asalpasien }}{{ $data->kd_spesimen }}{{ $data->nm_spesimen }}{{ $data->updated_at }}{{ $antibiotic->interpretation }}
+
+ +
+
+
+
+
+ +@endsection \ No newline at end of file diff --git a/resources/views/admin/report.blade.php b/resources/views/admin/report.blade.php index 33b0fb0b..e6ed8127 100644 --- a/resources/views/admin/report.blade.php +++ b/resources/views/admin/report.blade.php @@ -34,7 +34,8 @@
- + +
@@ -220,16 +221,14 @@ $(document).ready(function () { $('#btnrekap').click(function () { var bulan = document.getElementById('bulan').value; var tahun = document.getElementById('tahun').value; - var token = document.getElementById('token').value; - $.post('{{ route("rekapPeriksa") }}', { bulan: bulan, tahun: tahun, _token: token }, - function(data){ - $('#tabel_cetak').html(data); - $("#tabel_cetak").btechco_excelexport({ - containerid: "tabel_cetak" - , datatype: $datatype.Table - }); - return false; - }); + var url = '{{url('/')}}/rekapantibiotik?bulan='+bulan+'?tahun='+tahun; + window.location.href = url; + }); + $('#btnrekapglassreport').click(function () { + var bulan = document.getElementById('bulan').value; + var tahun = document.getElementById('tahun').value; + var url = '{{url('/')}}/glassreport?bulan='+bulan+'?tahun='+tahun; + window.location.href = url; }); $('#btndatereport').click(function () { var bulan = 'pertanggal'; diff --git a/routes/web.php b/routes/web.php index cf021998..3e4155a7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -121,7 +121,9 @@ Route::group(['middleware' => 'project.ipg'], function() { Route::get('report', [ReportController::class, 'index']); Route::post('report', [ReportController::class, 'report'])->name('reportPeriksa'); Route::post('rekapperiksa', [ReportController::class, 'rekapPeriksa'])->name('rekapPeriksa'); - + Route::get('rekapantibiotik', [ReportController::class, 'genRekapAntibiotik']); + Route::get('glassreport', [ReportController::class, 'genGlassReport']); + Route::get('list', [ListController::class, 'index']); Route::get('list/getlist', [ListController::class, 'getList'])->name('getList'); Route::get('list/getlistterjadwal', [ListController::class, 'getListterjadwal'])->name('getListterjadwal');