diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierBillGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierBillGroupLogic.php index d1c94713..db433e0a 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierBillGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateSupplierBillGroupLogic.php @@ -34,7 +34,8 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic /** * @return array */ - protected function notification():array { + protected function notification(): array + { return [ 'title' => 'Create Supplier White Form Order', 'message' => 'You have successfully created currency supplier white form order' @@ -84,7 +85,7 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic $this->updatesTransactionStatus = $updatesTransactionStatus; } - public function logic(Request $request) : JsonResponse + public function logic(Request $request): JsonResponse { $supplier = $this->fetchesCompany->execute(['id' => $request->route('id')]); @@ -118,23 +119,23 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic $service_charges = 0; - if ($supplier->id === 4548 || $supplier->id === 2729) { - $amount = round(floatval(str_replace(',', '', $request->input('payment_total'))), 2); - } else { - $service_charges = round(floatval(str_replace(',', '', $request->input('service_charges'))), 2); - } - + // if ($supplier->id === 4548 || $supplier->id === 2729) { + // $amount = round(floatval(str_replace(',', '', $request->input('payment_total'))), 2); + // } else { + $service_charges = round(floatval(str_replace(',', '', $request->input('service_charges'))), 2); + // } + $rate = $original_amount / $amount; - if ($supplier->id === 4548 || $supplier->id === 2729) { - $request['rate'] = $rate; - $request['supplier_id'] = $supplier->id; - foreach ($payments as $payment) { - $request->route()->setParameter('id', $payment['id']); - $this->updateGroupLogic->execute($request); - } - } - + // if ($supplier->id === 4548 || $supplier->id === 2729) { + // $request['rate'] = $rate; + // $request['supplier_id'] = $supplier->id; + // foreach ($payments as $payment) { + // $request->route()->setParameter('id', $payment['id']); + // $this->updateGroupLogic->execute($request); + // } + // } + $billGroup = new BillGroup(); $billGroup->issuer = $supplier->id; $billGroup->receiver = 1; @@ -153,7 +154,7 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic $billGroup->groups()->sync($payment['id'], false); } - //create bill refund + //create bill refund $amount += $service_charges; foreach ($supplierRefunds as $supplierRefund) { @@ -179,17 +180,33 @@ class CreateSupplierBillGroupLogic extends AbstractControllerLogic $billNumber = $this->generatesTransactionBillNumber->execute('BRFD-'); - $object = new TransactionObject($billNumber, TransactionType::BILL_REFUND, $supplier->id, 1, - 1, PaymentMethodType::CASH, - $deductedRefundAmount, $deductedRefundOriginalAmount, $refund->currency_id, - $refund->original_currency_id, $deductedRefundOriginalAmount / $deductedRefundAmount, - 0, 0, null, ApprovalStatus::APPROVED, []); + $object = new TransactionObject( + $billNumber, + TransactionType::BILL_REFUND, + $supplier->id, + 1, + 1, + PaymentMethodType::CASH, + $deductedRefundAmount, + $deductedRefundOriginalAmount, + $refund->currency_id, + $refund->original_currency_id, + $deductedRefundOriginalAmount / $deductedRefundAmount, + 0, + 0, + null, + ApprovalStatus::APPROVED, + [] + ); $transaction = $this->createsTransaction->execute($refund, $object); $billGroup->billRefunds()->sync($transaction->id, false); } + $billGroup->amount = $amount; + $billGroup->save(); + return $this->response([]); } } diff --git a/app/Classes/Modules/Transactions/Services/CalculatesBillGroupPaymentAmount.php b/app/Classes/Modules/Transactions/Services/CalculatesBillGroupPaymentAmount.php index 7f2530c0..d0e7dfcf 100644 --- a/app/Classes/Modules/Transactions/Services/CalculatesBillGroupPaymentAmount.php +++ b/app/Classes/Modules/Transactions/Services/CalculatesBillGroupPaymentAmount.php @@ -12,7 +12,7 @@ class CalculatesBillGroupPaymentAmount $bill_refund_amount = round(floatval($billGroup->billRefunds->sum('amount')), 7); $floating_amount = round(floatval($billGroup->transactions()->whereIn('status', [ApprovalStatus::PENDING_SUBMISSION, ApprovalStatus::PENDING_VERIFICATION])->sum('amount')), 7); $paid_amount = round(floatval($billGroup->transactions()->where('status', ApprovalStatus::APPROVED)->sum('amount')), 7); - $outstanding_amount = $billGroup->amount - $bill_refund_amount - $paid_amount - $floating_amount; + $outstanding_amount = $billGroup->amount - $paid_amount - $floating_amount; $outstanding_amount = round($outstanding_amount, 7); return [ diff --git a/app/Http/Resources/BillGroupResource.php b/app/Http/Resources/BillGroupResource.php index 23c8050e..748dc392 100644 --- a/app/Http/Resources/BillGroupResource.php +++ b/app/Http/Resources/BillGroupResource.php @@ -30,6 +30,7 @@ class BillGroupResource extends JsonResource 'original_currency' => new CurrencyResource($this->original_currency), 'issuer_name' => $this->issuerCompany->name, 'issuer_id' => $this->issuerCompany->id, + 'invoice_amount' => (float) $this->amount + $bill_refund_amount - $this->service_charge, 'amount' => (float) $this->amount, 'service_charge' => (float) $this->service_charge, 'currency' => new CurrencyResource($this->currency), @@ -48,12 +49,12 @@ class BillGroupResource extends JsonResource 'type' => (int) $transaction->type, 'bill_no' => $transaction->bill_no, 'payment_method' => (float) $transaction->payment_method, - 'amount' => (double) $transaction->amount, - 'original_amount' => (double) $transaction->original_amount, + 'amount' => (float) $transaction->amount, + 'original_amount' => (float) $transaction->original_amount, 'currency' => new CurrencyResource($transaction->currency), 'original_currency' => new CurrencyResource($transaction->original_currency), - 'service_charge' => (double) $transaction->service_charge, - 'tax' => (double) $transaction->tax, + 'service_charge' => (float) $transaction->service_charge, + 'tax' => (float) $transaction->tax, 'status' => (int) $transaction->status, 'statusText' => ApprovalStatus::APPROVAL_STATUS_ID[(int) $transaction->status], 'documents' => $transaction->documents()->first() ? new DocumentResource($transaction->documents()->first()) : null, @@ -66,12 +67,12 @@ class BillGroupResource extends JsonResource 'type' => (int) $transaction->type, 'bill_no' => $transaction->bill_no, 'payment_method' => (float) $transaction->payment_method, - 'amount' => (double) $transaction->amount, - 'original_amount' => (double) $transaction->original_amount, + 'amount' => (float) $transaction->amount, + 'original_amount' => (float) $transaction->original_amount, 'currency' => new CurrencyResource($transaction->currency), 'original_currency' => new CurrencyResource($transaction->original_currency), - 'service_charge' => (double) $transaction->service_charge, - 'tax' => (double) $transaction->tax, + 'service_charge' => (float) $transaction->service_charge, + 'tax' => (float) $transaction->tax, 'status' => (int) $transaction->status, 'statusText' => ApprovalStatus::APPROVAL_STATUS_ID[(int) $transaction->status], 'updated_at' => Carbon::parse($transaction->updated_at)->format('d-m-Y h:i:s A'), diff --git a/resources/assets/vue/components/bookings/elements/BillGroupPaymentSummaryComponent.vue b/resources/assets/vue/components/bookings/elements/BillGroupPaymentSummaryComponent.vue index 9801d037..1c677c15 100644 --- a/resources/assets/vue/components/bookings/elements/BillGroupPaymentSummaryComponent.vue +++ b/resources/assets/vue/components/bookings/elements/BillGroupPaymentSummaryComponent.vue @@ -19,7 +19,7 @@
-
{{selectedBillGroup.currency.short_code}} {{formatAmount(selectedBillGroup.amount - selectedBillGroup.service_charge)}}
+
{{selectedBillGroup.currency.short_code}} {{formatAmount((selectedBillGroup.invoice_amount))}}
MYR 0.00
diff --git a/resources/assets/vue/components/bookings/forms/SupplierWhiteFormPlaceOrderFormComponent.vue b/resources/assets/vue/components/bookings/forms/SupplierWhiteFormPlaceOrderFormComponent.vue index 01c099ed..bd01832f 100644 --- a/resources/assets/vue/components/bookings/forms/SupplierWhiteFormPlaceOrderFormComponent.vue +++ b/resources/assets/vue/components/bookings/forms/SupplierWhiteFormPlaceOrderFormComponent.vue @@ -108,7 +108,7 @@
Supplier Refund
- + @@ -207,7 +207,8 @@ return this.originalTotal && paymentTotal > 0 ? (this.originalTotal / paymentTotal).toFixed(5) : 1; }, is1688Supplier(){ - return (this.supplier.id === 4548 || this.supplier.id === 2729) + // return (this.supplier.id === 4548 || this.supplier.id === 2729) + return false; } }, methods: { diff --git a/resources/assets/vue/components/bookings/sections/SupplierPendingOrderPaymentSectionComponent.vue b/resources/assets/vue/components/bookings/sections/SupplierPendingOrderPaymentSectionComponent.vue index 0849bd31..de4ae3a0 100644 --- a/resources/assets/vue/components/bookings/sections/SupplierPendingOrderPaymentSectionComponent.vue +++ b/resources/assets/vue/components/bookings/sections/SupplierPendingOrderPaymentSectionComponent.vue @@ -46,7 +46,7 @@
- +