diff --git a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php index 9af48110..095eb79d 100755 --- a/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php +++ b/Modules/Internal/Http/Controllers/Api/Linksehat/PrescriptionController.php @@ -34,6 +34,7 @@ class PrescriptionController extends Controller 'tx_prescription_orders.sAddress as kirim_ke', 'tx_prescription_orders.sDeliveryPrice as ongkir', 'tx_prescription_orders.sDeliveryMethod as delivery', + 'tx_prescription_orders.sPaymentStatus', 'tx_prescription_orders.nIDApotek', ) ->whereNotNull('nIDUser'); diff --git a/Modules/Internal/Transformers/ReportPrescriptionResource.php b/Modules/Internal/Transformers/ReportPrescriptionResource.php index e57ef80c..fe624e96 100755 --- a/Modules/Internal/Transformers/ReportPrescriptionResource.php +++ b/Modules/Internal/Transformers/ReportPrescriptionResource.php @@ -5,6 +5,7 @@ namespace Modules\Internal\Transformers; use App\Helpers\Helper; use Illuminate\Http\Resources\Json\JsonResource; use Carbon\Carbon; +use GuzzleHttp\Client; class ReportPrescriptionResource extends JsonResource { @@ -17,7 +18,34 @@ class ReportPrescriptionResource extends JsonResource public function toArray($request) { $patientName = $this->user ? $this->user->sFirstName .' '. $this->user->sLastName : '-'; + $client = new Client(); + $statusUrl = env('K24_URL') . "/partners/lms/v1/order/trackingOrder?order_id=" . $this->sKodeResep; + try { + $response = $client->request('GET', $statusUrl, [ + 'headers' => [ + 'Accept' => 'application/json', + // Tambahkan token kalau perlu: + // 'Authorization' => 'Bearer your_token_here', + ], + 'timeout' => 30, + ]); + + $body = $response->getBody(); + $data = json_decode($body, true); + + $statusString = ''; + if (isset($data['data']) && is_array($data['data'])) { + $statusString = collect($data['data'])->map(function ($item) { + return "{$item['updated_time']} - {$item['status']}"; + }); + } else { + $statusString = []; + } + + } catch (\Exception $e) { + $statusString = '-'; + } $data = [ 'id' => $this->nID, 'patient_name' => $patientName, @@ -28,6 +56,8 @@ class ReportPrescriptionResource extends JsonResource 'items' => $this->items ? $this->items : [], 'status_prescription' => $this->status_prescription, 'price_delivery' => $this->ongkir, + 'payment_status' => $this->sPaymentStatus, + 'status_resep' => $statusString, 'apotek_name' => $this->nIDApotek ? Helper::getOrganization($this->nIDApotek) : '-', ]; diff --git a/frontend/dashboard/src/pages/Report/Prescription/List.tsx b/frontend/dashboard/src/pages/Report/Prescription/List.tsx index a889e3b5..e0a644c8 100755 --- a/frontend/dashboard/src/pages/Report/Prescription/List.tsx +++ b/frontend/dashboard/src/pages/Report/Prescription/List.tsx @@ -339,6 +339,18 @@ export default function List() { {row.doctor_name ?? '-'} {row.apotek_name ?? '-'} {row.price_delivery ?? '-'} + {row.payment_status ?? '-'} + + {Array.isArray(row.status_resep) && row.status_resep.length > 0 ? ( + + ) : ( + '-' + )} + {row.status_prescription ?? '-'} {/* @@ -551,12 +563,15 @@ export default function List() { Harga Ongkos Kirim - - Status + + Status Pembayaran + + + Status Resep + + + Status Pengiriman - {/* - Aksi - */} {dataTableIsLoading ? (