prescription

This commit is contained in:
2025-04-21 15:56:58 +07:00
parent af20355b31
commit e657e3f75a
3 changed files with 51 additions and 5 deletions

View File

@@ -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');

View File

@@ -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) : '-',
];