From e2c9a4bad0935365d5a9a3b92e7469c4f5157d84 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 24 Mar 2025 10:04:02 +0700 Subject: [PATCH 1/3] prescription --- .../Api/Linksehat/PrescriptionController.php | 29 +++++++++++++++++-- .../ReportPrescriptionResource.php | 7 +++-- app/Helpers/Helper.php | 5 ++++ 3 files changed, 36 insertions(+), 5 deletions(-) mode change 100644 => 100755 Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php mode change 100644 => 100755 Modules/Internal/Transformers/ReportPrescriptionResource.php diff --git a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php old mode 100644 new mode 100755 index 9b96b3e7..9af48110 --- a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php +++ b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php @@ -32,8 +32,11 @@ class PrescriptionController extends Controller 'tx_prescriptions.*', 'tx_prescription_orders.sStatus as status_prescription', 'tx_prescription_orders.sAddress as kirim_ke', + 'tx_prescription_orders.sDeliveryPrice as ongkir', 'tx_prescription_orders.sDeliveryMethod as delivery', - ); + 'tx_prescription_orders.nIDApotek', + ) + ->whereNotNull('nIDUser'); if ($request->has('search')) { $search = $request->search; $prescription->where(function ($query) use ($search) { @@ -164,6 +167,8 @@ class PrescriptionController extends Controller 'Patient', 'Doctor', 'Status', + 'Nama Apotek', + 'Harga Ongkir', 'Jenis Obat (Drugs)', 'Jumlah Obat (QTY)', 'Cara Minum Obat', @@ -176,7 +181,17 @@ class PrescriptionController extends Controller // Query prescription data $prescriptionQuery = Prescription::query() - ->with(['livechat', 'user', 'items']); + ->with(['livechat', 'user', 'items']) + ->join('tx_prescription_orders', 'tx_prescriptions.nID', '=', 'tx_prescription_orders.nIDPrescription') + ->select( + 'tx_prescriptions.*', + 'tx_prescription_orders.sStatus as status_prescription', + 'tx_prescription_orders.sAddress as kirim_ke', + 'tx_prescription_orders.sDeliveryPrice as ongkir', + 'tx_prescription_orders.sDeliveryMethod as delivery', + 'tx_prescription_orders.nIDApotek', + ) + ->whereNotNull('nIDUser'); if ($request->has('search')) { $search = $request->search; @@ -196,13 +211,18 @@ class PrescriptionController extends Controller if ($prescriptions->isNotEmpty()) { $no = 1; foreach ($prescriptions as $index => $row) { + $patientName = $row->user ? $row->user->sFirstName .' '. $row->user->sLastName : '-'; if ($row->items->isNotEmpty()) { $rowData = [ $no++, $row->sKodeResep ?? '-', $row->dTanggalResep ? Carbon::parse($row->dTanggalResep)->format('Y-m-d') : '-', - $row->user->name ?? '-', + $row->user->fullName ?? '-', $row->sDokterName ?? '-', + $row->status_prescription ?? '-', + $row->nIDApotek ? Helper::getOrganization($row->nIDApotek) : '-', + $row->ongkir ?? '-', + $row->sDeliveryPrice ?? '-', ]; // Create a row from the array and add it to the writer @@ -215,6 +235,9 @@ class PrescriptionController extends Controller '', '', '', + '', + '', + '', $item->sItemName ?? '-', $item->nQty ?? '-', $item->sSigna ?? '-' diff --git a/Modules/Internal/Transformers/ReportPrescriptionResource.php b/Modules/Internal/Transformers/ReportPrescriptionResource.php old mode 100644 new mode 100755 index e72099ef..e57ef80c --- a/Modules/Internal/Transformers/ReportPrescriptionResource.php +++ b/Modules/Internal/Transformers/ReportPrescriptionResource.php @@ -1,7 +1,8 @@ $this->dTanggalResep ? Carbon::parse($this->dTanggalResep)->format('Y-m-d H:i:s') : null, 'doctor_name' => $this->sDokterName ? $this->sDokterName : '-', 'items' => $this->items ? $this->items : [], - 'status_prescription' => $this->status_prescription + 'status_prescription' => $this->status_prescription, + 'price_delivery' => $this->ongkir, + 'apotek_name' => $this->nIDApotek ? Helper::getOrganization($this->nIDApotek) : '-', ]; return $data; diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 01a10913..8530c8be 100755 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -14,6 +14,7 @@ use App\Models\User; use App\Models\CorporatePolicy; use App\Models\Service; use App\Models\Icd; +use App\Models\Organization; use DateTime; class Helper @@ -669,5 +670,9 @@ class Helper return []; } + public static function getOrganization($organizationId){ + $organization = Organization::where('id', $organizationId)->first(); + return $organization->name; + } } From dc2f40e5ad7a2feb17084b8e6182d8e2472e65c8 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 24 Mar 2025 10:05:33 +0700 Subject: [PATCH 2/3] navigation seeder --- database/seeders/NavigationSeeder.php | 6 +++++- database/seeders/PermissionTableSeeder.php | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/database/seeders/NavigationSeeder.php b/database/seeders/NavigationSeeder.php index 80409594..2b045c0c 100755 --- a/database/seeders/NavigationSeeder.php +++ b/database/seeders/NavigationSeeder.php @@ -185,7 +185,11 @@ class NavigationSeeder extends Seeder 'path' => '/report/linksehat-payments', 'permission' => 'report-livechat-payment' ], - // ['title' => 'Prescription', 'path' => '/report/prescription'], + [ + 'title' => 'Prescription', + 'path' => '/report/prescription', + 'permission' => 'report-prescription' + ], [ 'title' => 'Doctor Rating', 'path' => '/report/doctor-rating', diff --git a/database/seeders/PermissionTableSeeder.php b/database/seeders/PermissionTableSeeder.php index 8c666750..0013f925 100755 --- a/database/seeders/PermissionTableSeeder.php +++ b/database/seeders/PermissionTableSeeder.php @@ -71,6 +71,7 @@ class PermissionTableSeeder extends Seeder 'report-livechat-payment', 'report-doctor-rating', 'report-doctor-online', + 'report-prescription', 'user-role-list', 'user-access-list', 'report-katalog-dokter', From ab3d850bd49af963ad124331c4e6ddc903e1d074 Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 24 Mar 2025 10:06:19 +0700 Subject: [PATCH 3/3] view report prescription --- frontend/dashboard/src/pages/Report/Prescription/List.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/dashboard/src/pages/Report/Prescription/List.tsx b/frontend/dashboard/src/pages/Report/Prescription/List.tsx index 9cfe6b1f..a889e3b5 100755 --- a/frontend/dashboard/src/pages/Report/Prescription/List.tsx +++ b/frontend/dashboard/src/pages/Report/Prescription/List.tsx @@ -337,6 +337,8 @@ export default function List() { {row.date_consultation ? fDateTime(row.date_consultation) : '-'} {row.patient_name ?? '-'} {row.doctor_name ?? '-'} + {row.apotek_name ?? '-'} + {row.price_delivery ?? '-'} {row.status_prescription ?? '-'} {/* @@ -543,6 +545,12 @@ export default function List() { Doctor + + Nama Apotek + + + Harga Ongkos Kirim + Status