From 6873ddb7cf5f6f7c0940e462de4b153135aaba73 Mon Sep 17 00:00:00 2001 From: ahmedsophyudden Date: Fri, 17 Jun 2022 14:45:34 +0800 Subject: [PATCH] New endpoint to add/edit/delete item in shipping invoiceNew endpoint to add/edit/delete item in shipping invoice --- .../UpdateShippingInvoiceTransactionLogic.php | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php index c456fca2..d5f3368f 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php @@ -105,20 +105,23 @@ class UpdateShippingInvoiceTransactionLogic extends AbstractControllerLogic foreach($new_transaction_details as $transaction_detail){ $transaction_detail = (object) $transaction_detail; - $object_detail = new TransactionDetailObject( - 'CUSTOM_CHARGES', - isset($transaction_detail->name) ? $transaction_detail->name : TransactionDetailType::CUSTOM_CHARGES, - 1, - $transaction_detail->price - ); - if($transaction_detail->id){ - $new_transaction_detail = $this->updatesTransactionDetail->execute($this->fetchesTransactionDetail->execute(['id' => $transaction_detail->id]), $object_detail); - }else{ - $new_transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + if(!in_array($transaction_detail->reference, ['SHIPPING_FEE', 'OVER_WHEIGHT_CHARGES'])){ + $object_detail = new TransactionDetailObject( + 'CUSTOM_CHARGES', + isset($transaction_detail->name) ? $transaction_detail->name : TransactionDetailType::CUSTOM_CHARGES, + 1, + $transaction_detail->price + ); + + if($transaction_detail->id){ + $new_transaction_detail = $this->updatesTransactionDetail->execute($this->fetchesTransactionDetail->execute(['id' => $transaction_detail->id]), $object_detail); + }else{ + $new_transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + } + + $total_cbm += $new_transaction_detail->price; } - - $total_cbm += $new_transaction_detail->price; } $object = new TransactionObject(