From 027f7845b34d71f85d3360bb2e4df08e5cc3fca0 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 17 Jul 2026 10:25:33 +0000 Subject: [PATCH] feat: fix start date and end date timezone issue --- app/Services/ClientInvoicePaymentSyncService.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/Services/ClientInvoicePaymentSyncService.php b/app/Services/ClientInvoicePaymentSyncService.php index 2208f64..5ce59d7 100644 --- a/app/Services/ClientInvoicePaymentSyncService.php +++ b/app/Services/ClientInvoicePaymentSyncService.php @@ -6,6 +6,7 @@ use App\Models\ClientInvoice; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; +use Carbon\Carbon; class ClientInvoicePaymentSyncService { @@ -50,6 +51,7 @@ public function sync(ClientInvoice $invoice, array $payments): ClientInvoice $totals['payment_no'] ??= $payment->payment_no; foreach ($paymentPayload['items'] ?? [] as $itemPayload) { + // dd($itemPayload); $billingItemType = $billingItemTypes->get((int) ($itemPayload['billing_item_types_id'] ?? 0)); $grossAmount = $this->amount($itemPayload['payment_item_amount'] ?? 0); $netAmount = $this->amount($itemPayload['net_amount'] ?? 0); @@ -59,8 +61,8 @@ public function sync(ClientInvoice $invoice, array $payments): ClientInvoice $payment->items()->create([ 'billing_item_types_id' => $billingItemType?->id ?? $itemPayload['billing_item_types_id'], - 'start_date' => $itemPayload['start_date'] ?? null, - 'end_date' => $itemPayload['end_date'] ?? null, + 'start_date' => !empty($itemPayload['start_date'])?Carbon::parse($itemPayload['start_date'])->timezone('Asia/Kuala_Lumpur')->format('Y-m-d'):null, + 'end_date' => !empty($itemPayload['end_date'])?Carbon::parse($itemPayload['end_date'])->timezone('Asia/Kuala_Lumpur')->format('Y-m-d'):null, 'payment_item_amount' => $grossAmount, 'tax_percentage' => $this->amount($itemPayload['tax_percentage'] ?? 0), 'net_amount' => $netAmount, @@ -76,8 +78,8 @@ public function sync(ClientInvoice $invoice, array $payments): ClientInvoice 'final_net_amount' => $finalNetAmount, 'spending' => $spending, 'is_creditcard' => $isCreditCard, - 'start_date' => $itemPayload['start_date'] ?? null, - 'end_date' => $itemPayload['end_date'] ?? null, + 'start_date' => !empty($itemPayload['start_date'])?Carbon::parse($itemPayload['start_date'])->timezone('Asia/Kuala_Lumpur')->format('Y-m-d'):null, + 'end_date' => !empty($itemPayload['end_date'])?Carbon::parse($itemPayload['end_date'])->timezone('Asia/Kuala_Lumpur')->format('Y-m-d') :null, ]); } }