From 9ee81d9385b9924e9ac3ce5f52bbeb62fd4e6421 Mon Sep 17 00:00:00 2001 From: omair saleh Date: Fri, 18 Mar 2022 16:18:12 +0800 Subject: [PATCH] update rfm to table --- .../CreateShippingInvoiceTransactionLogic.php | 29 ++++++++++++++----- routes/web.php | 8 ++--- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php index f988d73c..b15d2208 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreateShippingInvoiceTransactionLogic.php @@ -16,6 +16,7 @@ use App\Classes\Modules\Transactions\DataTransferObjects\TransactionDetailObject use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; use App\Classes\ValueObjects\Constants\OrderRoleTypes; +use App\Classes\ValueObjects\Constants\PackageType; use App\Classes\ValueObjects\Constants\TransactionType; use App\Classes\ValueObjects\Constants\PaymentMethodType; use App\Classes\ValueObjects\Constants\ApprovalStatus; @@ -86,7 +87,11 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic { $packing_list = $this->fetchesPackingList->execute(['id' => $request->input('packing_list_id')]); - $cbm = $packing_list->packages->sum(function($package) { + $cbm = $packing_list->packages->packages()->where('type', '!=', PackageType::OVER_WEIGHT)->sum(function($package) { + return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); + }); + + $overWieghtCbm = $packing_list->packages()->where('type', PackageType::OVER_WEIGHT)->sum(function($package) { return ($package->width / 100) * ($package->height / 100) *($package->length / 100) * ($package->quantity); }); @@ -143,7 +148,7 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic } $price_cbm = $base_price + $warehouse_rate + $state_rate; - $total_cbm = $price_cbm * $cbm; + $total_cbm = $price_cbm * ($cbm + $overWieghtCbm); $billNumber = $this->generatesTransactionBillNumber->execute('SHIP-'); @@ -168,14 +173,24 @@ class CreateShippingInvoiceTransactionLogic extends AbstractControllerLogic $invoice_transaction = $this->createsTransaction->execute($packing_list, $object); $object_detail = new TransactionDetailObject( - $invoice_transaction->bill_no, - $invoice_transaction->bill_no, - 1, - $invoice_transaction->amount, - $invoice_transaction->amount + 'SHIPPING_FEE', + 'Shipping Fee', + $cbm, + $price_cbm ); $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + if($overWieghtCbm) { + $object_detail = new TransactionDetailObject( + 'OVERWIEGHT_CHARGES', + 'Over weight charges', + $overWieghtCbm, + $price_cbm + ); + + $transaction_detail = $this->createsTransactionDetail->execute($invoice_transaction, $object_detail); + } + $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]); $document_object = new DocumentObject( diff --git a/routes/web.php b/routes/web.php index fd633b01..1ecd214e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -304,11 +304,11 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina Number of Orders CBM '; - foreach ($companies as $key => $company){ $connection = $company->inviters()->withPivot('invitee_reference')->first(); $marking = $connection ? $connection->pivot->invitee_reference:''; - + $packingList = collect(); + $totalCbm = 0; if($with_cbm){ $packingList = $company->orderPackingLists()->where('packing_lists.type', \App\Classes\ValueObjects\Constants\PackingListType::SHIPPING_PACKING_LIST)->get(); $totalCbm = $packingList->flatMap(function ($packingList) { @@ -321,8 +321,8 @@ Route::get('/customers/active/{active_start}/{active_end}/{inactive_start?}/{ina echo ' '.$key.' '.$marking.' - '.$with_cbm ? $packingList->count() : 0 .' - '.$with_cbm ? $totalCbm : 0 .' + '. $packingList->count() .' + '. $totalCbm .' '; } echo '';