Merge branch 'vapor/production' of gitlab.com:CIEFWorldwideSdnBhd/exchange-2.0 into vapor/development

This commit is contained in:
edmondlang
2025-02-26 12:55:08 +08:00
2 changed files with 44 additions and 3 deletions
@@ -18,6 +18,26 @@
$currency_id = $transaction->owner->fix_currency_id;
@endphp
<?php
use App\Classes\Modules\Bookings\Services\CalculatesBookingRefundAmount;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\TransactionType;
$booking = $po_order_transaction->owner;
$paymentSum = $booking->transactions()
->where('type', TransactionType::PAYMENT)
->where('status', ApprovalStatus::COMPLETED)
->get()
->sum(function ($transaction) {
return round($transaction->amount, 2);
});
$refundedAmount = (App()->make(CalculatesBookingRefundAmount::class))->calculateRefundAmount($booking, $booking->fix_currency_id);
$totalPayment = $paymentSum - $refundedAmount;
?>
@foreach ($po_order_transaction->transactionDetails as $key => $transaction_detail)
@php
$exactUnitPrice = ($currency_id) === 1 ? $transaction_detail->price : bcdiv($transaction_detail->price, $transaction->currency_rate, 7);
@@ -55,9 +75,11 @@
<td class="right">Service Charges</td>
<?php
$serviceCharge = $transaction->service_charge;
if (isset($current_paid_amount)) {
$refundedServiceCharge = $subtotal + $serviceCharge - $current_paid_amount;
$serviceCharge = $serviceCharge - $refundedServiceCharge + $voucherDiscount;
// if has payment, calculate and deduct the refund
if ($totalPayment) {
$refundedServiceCharge = $subtotal + $serviceCharge - $totalPayment;
$serviceCharge = $serviceCharge - $refundedServiceCharge - $voucherDiscount;
}
?>
<td class="right">{{ number_format($serviceCharge, 2) }}</td>
+19
View File
@@ -172,6 +172,25 @@ Route::get('/transfer/{marking}/latest/{document_type}', function ($marking, $do
return view('pages.pdfs.' . $lowercaseDocumentType, ['transaction' => $transaction, 'po_order_transaction' => $purchaseOrder, 'supplier' => $supplier, 'voucher_redemption' => $voucherRedemption]);
})->name('booking.details.latest_invoice');
Route::get('/transfer/{marking}/preview-proforma-invoice', function ($marking) {
$booking= Booking::where('marking', $marking)->first();
$transaction = $booking->transactions()
->where('type', TransactionType::PAYMENT)
->first();
$po_order_transaction = $booking->transactions()
->where('type', TransactionType::PURCHASE_ORDER)
->whereIn('status', [ApprovalStatus::PENDING_VERIFICATION, ApprovalStatus::APPROVED])
->first();
$proforma_transaction = $booking->transactions()->where('type', TransactionType::PROFORMA)->first();
$supplier = Company::find($transaction->receiver);
return view('pages.pdfs.proforma_invoice', ['invoice_transaction' => $proforma_transaction, 'po_order_transaction' => $po_order_transaction, 'supplier' => $supplier]);
});
Route::get('/transfer/merge/{marking}', function ($marking) {
return view('pages.bookings.merge', ['marking' => $marking]);
})->name('booking.merge');