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 ced1bee4..b3392e86 --- 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) { @@ -163,6 +166,8 @@ class PrescriptionController extends Controller 'Patient', 'Doctor', 'Status', + 'Nama Apotek', + 'Harga Ongkir', 'Jenis Obat (Drugs)', 'Jumlah Obat (QTY)', 'Cara Minum Obat', @@ -175,7 +180,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; @@ -195,13 +210,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 @@ -214,6 +234,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 89db32c9..9a338e32 --- 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 db64b947..87c5e6ca 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; + } } diff --git a/database/seeders/NavigationSeeder.php b/database/seeders/NavigationSeeder.php index dfdfedcf..5a208800 100755 --- a/database/seeders/NavigationSeeder.php +++ b/database/seeders/NavigationSeeder.php @@ -199,7 +199,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', diff --git a/frontend/dashboard/src/pages/Report/Prescription/List.tsx b/frontend/dashboard/src/pages/Report/Prescription/List.tsx index d15009e1..15c5b2df 100755 --- a/frontend/dashboard/src/pages/Report/Prescription/List.tsx +++ b/frontend/dashboard/src/pages/Report/Prescription/List.tsx @@ -336,6 +336,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 ?? '-'} {/* @@ -542,6 +544,12 @@ export default function List() { Doctor + + Nama Apotek + + + Harga Ongkos Kirim + Status