diff --git a/.env.example b/.env.example
index 245cbd56..8f2f87a1 100644
--- a/.env.example
+++ b/.env.example
@@ -59,7 +59,3 @@ YD_API_CODE=''
PERFEXCRM_BASE_URL=""
PERFEXCRM_API_KEY=""
PERFEXCRM_IS_ENABLED="false"
-
-
-STORAGE_FEE_LAUNCH_DATE="2023-12-11 00:00:00"
-SST_START_DATE="2024-04-01 00:00:00"
diff --git a/app/Classes/Modules/Transactions/ControllersLogic/RegenerateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/RegenerateShippingInvoiceTransactionLogic.php
index 352b3373..8922e651 100644
--- a/app/Classes/Modules/Transactions/ControllersLogic/RegenerateShippingInvoiceTransactionLogic.php
+++ b/app/Classes/Modules/Transactions/ControllersLogic/RegenerateShippingInvoiceTransactionLogic.php
@@ -15,7 +15,6 @@ use Mccarlosen\LaravelMpdf\Facades\LaravelMpdf;
use App\Classes\Modules\Documents\Services\CreatesDocument;
use App\Classes\Modules\Documents\Services\CreatesFiles;
use App\Models\Document;
-use Carbon\Carbon;
class RegenerateShippingInvoiceTransactionLogic extends AbstractControllerLogic
{
@@ -52,18 +51,11 @@ class RegenerateShippingInvoiceTransactionLogic extends AbstractControllerLogic
foreach ($orders as $order){
$invoices = $order->transactions()->where('transactions.type', TransactionType::SHIPPING_INVOICE)->get();
foreach ($invoices as $invoice){
-
+
$invoice->documents()->delete();
-
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::parse($invoice->created_at);
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
-
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice]);
-
+
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice]);
+
$document_object = new DocumentObject(
DocumentType::SHIPPING_INVOICE,
[chunk_split('data:application/pdf;base64,'.base64_encode($transaction_invoice_pdf->output()))],
@@ -71,11 +63,11 @@ class RegenerateShippingInvoiceTransactionLogic extends AbstractControllerLogic
ApprovalStatus::COMPLETED,
'shipping_invoice'
);
-
+
$document =$this->createsDocument->execute($invoice, $document_object);
-
+
$this->createsFiles->execute($document, $document_object);
-
+
// dump($document);
}
}
diff --git a/app/Classes/Modules/Transactions/ControllersLogic/RegenerateSingleShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/RegenerateSingleShippingInvoiceTransactionLogic.php
index 272a2a54..20dba2a0 100644
--- a/app/Classes/Modules/Transactions/ControllersLogic/RegenerateSingleShippingInvoiceTransactionLogic.php
+++ b/app/Classes/Modules/Transactions/ControllersLogic/RegenerateSingleShippingInvoiceTransactionLogic.php
@@ -16,7 +16,6 @@ use App\Classes\Modules\Documents\Services\CreatesDocument;
use App\Classes\Modules\Documents\Services\CreatesFiles;
use App\Classes\Modules\Transactions\Services\FetchesTransaction;
use App\Models\Document;
-use Carbon\Carbon;
class RegenerateSingleShippingInvoiceTransactionLogic extends AbstractControllerLogic
{
@@ -55,14 +54,7 @@ class RegenerateSingleShippingInvoiceTransactionLogic extends AbstractController
$invoice->documents()->delete();
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::parse($invoice->created_at);
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
-
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice]);
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice]);
$document_object = new DocumentObject(
DocumentType::SHIPPING_INVOICE,
diff --git a/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php
index 86db0e3f..278d6959 100644
--- a/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php
+++ b/app/Classes/Modules/Transactions/ControllersLogic/UpdateShippingInvoiceTransactionLogic.php
@@ -25,8 +25,6 @@ use App\Classes\Modules\Transactions\Services\DeletesTransactionDetails;
use App\Classes\Modules\Transactions\DataTransferObjects\TransactionObject;
use App\Classes\Modules\Transactions\DataTransferObjects\TransactionDetailObject;
use App\Classes\Modules\Transactions\Services\FetchesTransaction;
-use App\Classes\ValueObjects\Constants\TaxPercentage;
-use Carbon\Carbon;
class UpdateShippingInvoiceTransactionLogic extends AbstractControllerLogic
{
@@ -62,9 +60,9 @@ class UpdateShippingInvoiceTransactionLogic extends AbstractControllerLogic
/** @var DeletesTransactionDetails */
private $deletesTransactionDetails;
-
+
public function __construct(
- FetchesPackingList $fetchesPackingList,
+ FetchesPackingList $fetchesPackingList,
FetchesTransaction $fetchesTransaction,
UpdatesTransaction $updatesTransaction,
FetchesTransactionDetail $fetchesTransactionDetail,
@@ -107,25 +105,11 @@ class UpdateShippingInvoiceTransactionLogic extends AbstractControllerLogic
$transaction_detail = (object) $transaction_detail;
if(!in_array($transaction_detail->reference, ['SHIPPING_FEE', 'OVER_WEIGHT_CHARGES', 'MIN_CBM_CHARGES'])){
- $reference = 'CUSTOM_CHARGES';
- $taxPercentage = TaxPercentage::DEFAULT;
-
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::parse($invoice_transaction->created_at);
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare)) {
- $taxPercentage = TaxPercentage::SIX_PERCENT;
- }
-
- if($transaction_detail->reference === "PAY_ON_BEHALF"){
- $reference = "PAY_ON_BEHALF";
- $taxPercentage = TaxPercentage::NO_TAX;
- }
$object_detail = new TransactionDetailObject(
- $reference,
+ 'CUSTOM_CHARGES',
isset($transaction_detail->name) ? $transaction_detail->name : TransactionDetailType::CUSTOM_CHARGES,
$transaction_detail->quantity,
- $transaction_detail->price,
- $taxPercentage
+ $transaction_detail->price
);
if(isset($transaction_detail->id)){
@@ -137,20 +121,20 @@ class UpdateShippingInvoiceTransactionLogic extends AbstractControllerLogic
}
$object = new TransactionObject(
- $invoice_transaction->bill_no,
- TransactionType::SHIPPING_INVOICE,
- 1,
+ $invoice_transaction->bill_no,
+ TransactionType::SHIPPING_INVOICE,
+ 1,
$invoice_transaction->issuer,
- 1,
+ 1,
PaymentMethodType::CASH,
$invoice_transaction->transactionDetails()->sum('amount'),
$invoice_transaction->transactionDetails()->sum('amount'),
1,
- 1,
+ 1,
+ 0,
+ 0,
0,
- $invoice_transaction->transactionDetails()->sum('tax_amount'),
- 0,
- null,
+ null,
ApprovalStatus::PENDING_VERIFICATION
);
diff --git a/app/Classes/Modules/Transactions/DataTransferObjects/TransactionDetailObject.php b/app/Classes/Modules/Transactions/DataTransferObjects/TransactionDetailObject.php
index 3e015947..beb4b4dc 100644
--- a/app/Classes/Modules/Transactions/DataTransferObjects/TransactionDetailObject.php
+++ b/app/Classes/Modules/Transactions/DataTransferObjects/TransactionDetailObject.php
@@ -18,25 +18,19 @@ class TransactionDetailObject implements DataTransferObject
/** @var float|null */
private $price;
- /** @var float|null */
- private $taxPercentage;
-
-
/**
* TransactionDetailObject constructor.
* @param string $reference
* @param string $name
* @param float $quantity
* @param float $price
- * @param float $taxPercentage
*/
- public function __construct(?string $reference, ?string $name , ?float $quantity, ?float $price, ?float $taxPercentage)
+ public function __construct(?string $reference, ?string $name , ?float $quantity, ?float $price)
{
$this->reference = $reference;
$this->name = $name;
$this->quantity = $quantity;
$this->price = $price;
- $this->taxPercentage = $taxPercentage;
}
/**
@@ -71,28 +65,9 @@ class TransactionDetailObject implements DataTransferObject
return $this->price;
}
- /**
- * @return float
- */
public function getAmount(): float
{
- return ($this->getQuantity() * $this->getPrice()) + $this->getTaxAmount();
- }
-
- /**
- * @return float
- */
- public function getTaxPercentage(): ?float
- {
- return $this->taxPercentage;
- }
-
- /**
- * @return float
- */
- public function getTaxAmount(): float
- {
- return ($this->getQuantity() * $this->getPrice()) * $this->getTaxPercentage() / 100;
+ return $this->getQuantity() * $this->getPrice();
}
}
diff --git a/app/Classes/Modules/Transactions/DataTransferObjects/TransactionObject.php b/app/Classes/Modules/Transactions/DataTransferObjects/TransactionObject.php
index 36488488..5e943e29 100644
--- a/app/Classes/Modules/Transactions/DataTransferObjects/TransactionObject.php
+++ b/app/Classes/Modules/Transactions/DataTransferObjects/TransactionObject.php
@@ -80,21 +80,21 @@ class TransactionObject implements DataTransferObject
* @param array|null $details
*/
public function __construct(
- string $billNo,
- string $transactionType,
- int $issuer,
- int $receiver,
- int $recipientBankAccountId,
- int $paymentMethod,
- float $amount,
- float $originalAmount,
+ string $billNo,
+ string $transactionType,
+ int $issuer,
+ int $receiver,
+ int $recipientBankAccountId,
+ int $paymentMethod,
+ float $amount,
+ float $originalAmount,
int $currencyId,
- int $originalCurrencyId,
+ int $originalCurrencyId,
float $currencyRate,
- float $tax,
- float $serviceCharge,
- ?Carbon $expiresOn,
- ?int $status = ApprovalStatus::PENDING_SUBMISSION,
+ float $tax,
+ float $serviceCharge,
+ ?Carbon $expiresOn,
+ ?int $status = ApprovalStatus::PENDING_SUBMISSION,
?array $details = [],
?string $paymentReference = null
)
@@ -241,10 +241,10 @@ class TransactionObject implements DataTransferObject
/**
* @return array
*/
- public function getDetails(): array //cief todo: not in used as of 20240407
+ public function getDetails(): array
{
return array_map(function($product){
- return new TransactionDetailObject($product['stockCode'] ?? '', $product['description'] ?? '', $product['quantity'] ?? '', floatval(str_replace(',', '', $product['unit_price'])), 0.0 );
+ return new TransactionDetailObject($product['stockCode'] ?? '', $product['description'] ?? '', $product['quantity'] ?? '', floatval(str_replace(',', '', $product['unit_price'])));
}, $this->details);
}
@@ -255,4 +255,4 @@ class TransactionObject implements DataTransferObject
{
return $this->paymentReference;
}
-}
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Transactions/Processors/ApproveShippingInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/ApproveShippingInvoiceTransactionProcessor.php
index 6b2cae0e..05abbc8d 100644
--- a/app/Classes/Modules/Transactions/Processors/ApproveShippingInvoiceTransactionProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/ApproveShippingInvoiceTransactionProcessor.php
@@ -19,7 +19,6 @@ use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus;
use App\Classes\Jobs\CreatePerfexCRMInvoice;
use App\Classes\Modules\Transactions\Processors\CheckStorageInvoiceTransactionProcessor;
use App\Models\Order;
-use Carbon\Carbon;
class ApproveShippingInvoiceTransactionProcessor
{
@@ -60,16 +59,9 @@ class ApproveShippingInvoiceTransactionProcessor
/** @var Transaction $invoice_transaction */
$invoice_transaction = $packingList->transactions()->where('transactions.type', TransactionType::SHIPPING_INVOICE)->whereIn('status', [ApprovalStatus::PENDING_VERIFICATION, ApprovalStatus::PENDING_SUBMISSION])->first();
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::parse($invoice_transaction->created_at);
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice_transaction->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
-
$this->updatesTransactionStatus->execute($invoice_transaction, ApprovalStatus::APPROVED);
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice_transaction]);
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]);
$document_object = new DocumentObject(
DocumentType::SHIPPING_INVOICE,
diff --git a/app/Classes/Modules/Transactions/Processors/CheckStorageInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CheckStorageInvoiceTransactionProcessor.php
index dfe76267..0faca0d2 100644
--- a/app/Classes/Modules/Transactions/Processors/CheckStorageInvoiceTransactionProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/CheckStorageInvoiceTransactionProcessor.php
@@ -23,7 +23,6 @@ use App\Classes\ValueObjects\Constants\PaymentMethodType;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\PackageType;
use App\Classes\ValueObjects\Constants\PackingListType;
-use App\Classes\ValueObjects\Constants\TaxPercentage;
use App\Classes\ValueObjects\Constants\TransactionDetailType;
use App\Http\Resources\TransactionWithStorageResource;
use App\Models\Order;
@@ -196,26 +195,14 @@ class CheckStorageInvoiceTransactionProcessor
$cbm = $cbm + $quantity;
}
- $total_tax = 0;
- $taxPercentage = TaxPercentage::DEFAULT;
$price_cbm = $pricePerCBM * $cbm * $resultNumberOfDaysExceeded;
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::now();
-
Log::channel('storage_invoices')->info('storageInvoice: '.json_encode($storageInvoice).', $transaction->status: '.$transaction->status);
if(!$storageInvoice && $resultNumberOfDaysExceeded > 0 && $transaction->status != ApprovalStatus::COMPLETED){
Log::channel('storage_invoices')->info('Created $transaction->id: '.$transaction->id);
$billNumber = $this->generatesTransactionBillNumber->execute('STOR-');
-
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare)) {
- $taxPercentage = TaxPercentage::SIX_PERCENT;
- $total_tax = $price_cbm * $taxPercentage / 100;
- $price_cbm = $price_cbm + $total_tax;
- }
-
- $storageInvoice = $this->createStorageInvoiceTransaction($destinationWarehousePackage, $billNumber, $company_module_id, $price_cbm, $total_tax);
+ $storageInvoice = $this->createStorageInvoiceTransaction($destinationWarehousePackage, $billNumber, $company_module_id, $price_cbm);
$storageInvoiceId = $storageInvoice->id;
- $this->createStorageInvoiceTransactionDetails($storageInvoice, $destinationWarehousePackage, $cbm, $pricePerCBM, $resultNumberOfDaysExceeded, $taxPercentage);
+ $this->createStorageInvoiceTransactionDetails($storageInvoice, $destinationWarehousePackage, $cbm, $pricePerCBM, $resultNumberOfDaysExceeded);
}
else if($storageInvoice){
//Additional handling for giving selected storage invoice a waiver
@@ -234,12 +221,6 @@ class CheckStorageInvoiceTransactionProcessor
$price_cbm = $pricePerCBM * $cbm * $resultNumberOfDaysExceeded;
}
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare)) {
- $taxPercentage = TaxPercentage::SIX_PERCENT;
- $total_tax = $price_cbm * $taxPercentage / 100;
- $price_cbm = $price_cbm + $total_tax;
- }
-
$amount = $storageInvoice->amount;
$epsilon = 0.0001; // Tolerance for the comparison
Log::channel('storage_invoices')->info('Update $transaction->id: '.$transaction->id);
@@ -265,10 +246,9 @@ class CheckStorageInvoiceTransactionProcessor
if($proceedToUpdate || ($pricePerCBM == 0 && $amount != 0)){
Log::channel('storage_invoices')->info('proceedToUpdate');
-
- $storageInvoice = $this->updateStorageInvoiceTransaction($storageInvoice, $price_cbm, $total_tax);
+ $storageInvoice = $this->updateStorageInvoiceTransaction($storageInvoice, $price_cbm);
$invoiceTransactionDetails = $storageInvoice->transactionDetails()->first();
- $this->updateStorageInvoiceTransactionDetails($invoiceTransactionDetails, $destinationWarehousePackage, $cbm, $pricePerCBM, $resultNumberOfDaysExceeded, $taxPercentage);
+ $this->updateStorageInvoiceTransactionDetails($invoiceTransactionDetails, $destinationWarehousePackage, $cbm, $pricePerCBM, $resultNumberOfDaysExceeded);
}
$storageInvoiceId = $storageInvoice->id;
@@ -376,7 +356,7 @@ class CheckStorageInvoiceTransactionProcessor
}
}
- private function updateStorageInvoiceTransaction(Transaction $transaction, float $totalAmount, float $totalTax){
+ private function updateStorageInvoiceTransaction(Transaction $transaction, float $totalAmount){
$object = new TransactionObject(
$transaction->bill_no,
@@ -390,7 +370,7 @@ class CheckStorageInvoiceTransactionProcessor
1,
1,
0,
- $totalTax,
+ 0,
0,
null,
ApprovalStatus::APPROVED
@@ -402,19 +382,18 @@ class CheckStorageInvoiceTransactionProcessor
return $invoice_transaction;
}
- private function updateStorageInvoiceTransactionDetails($invoice_transaction_details, PackingList $packing_list, $cbm, $pricePerCBM, $numberOfDays, $taxPercentage){
+ private function updateStorageInvoiceTransactionDetails($invoice_transaction_details, PackingList $packing_list, $cbm, $pricePerCBM, $numberOfDays){
$object_detail = new TransactionDetailObject(
'STORAGE_FEE',
TransactionDetailType::STORAGE_FEE.' for '.$numberOfDays. ' days * RM'.$pricePerCBM.' Marking Container Invoice Date Address Status Amount Container Reference Due Date Total CBM Subtotal Service Charges Tax Total
'.round($packing_list->packages->where('type', '!=', PackageType::OVER_WEIGHT)->sum('quantity'), 3).' CTNS - '.round($cbm, 3).' CBM',
$cbm,
- $pricePerCBM * $numberOfDays,
- $taxPercentage
+ $pricePerCBM * $numberOfDays
);
$this->updatesTransactionDetail->execute($invoice_transaction_details, $object_detail);
}
- private function createStorageInvoiceTransaction(PackingList $packing_list, string $billNumber, int $companyModuleId, float $totalAmount, float $totalTax){
+ private function createStorageInvoiceTransaction(PackingList $packing_list, string $billNumber, int $companyModuleId, float $totalAmount){
$object = new TransactionObject(
$billNumber,
@@ -428,7 +407,7 @@ class CheckStorageInvoiceTransactionProcessor
1,
1,
0,
- $totalTax,
+ 0,
0,
null,
ApprovalStatus::APPROVED
@@ -440,13 +419,12 @@ class CheckStorageInvoiceTransactionProcessor
return $invoice_transaction;
}
- private function createStorageInvoiceTransactionDetails($invoice_transaction, PackingList $packing_list, $cbm, $pricePerCBM, $numberOfDays, $taxPercentage){
+ private function createStorageInvoiceTransactionDetails($invoice_transaction, PackingList $packing_list, $cbm, $pricePerCBM, $numberOfDays){
$object_detail = new TransactionDetailObject(
'STORAGE_FEE',
TransactionDetailType::STORAGE_FEE.' for '.$numberOfDays. ' days * RM'.$pricePerCBM.'
'.round($packing_list->packages->where('type', '!=', PackageType::OVER_WEIGHT)->sum('quantity'), 3).' CTNS - '.round($cbm, 3).' CBM',
$cbm,
- $pricePerCBM * $numberOfDays,
- $taxPercentage
+ $pricePerCBM * $numberOfDays
);
$this->createsTransactionDetail->execute($invoice_transaction, $object_detail);
diff --git a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php
index dec6dd2f..c3d20062 100644
--- a/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/CreateInvoiceTransactionProcessor.php
@@ -22,17 +22,14 @@ use App\Classes\ValueObjects\Constants\PaymentMethodType;
use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\PackageType;
use App\Classes\ValueObjects\Constants\SegmentConstants;
-use App\Classes\ValueObjects\Constants\TaxPercentage;
use App\Classes\ValueObjects\Constants\TransactionDetailType;
use App\Models\CompanyModule;
use App\Models\Document;
use App\Models\PackingList;
use App\Models\Transaction;
-use Carbon\Carbon;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Log;
use Mccarlosen\LaravelMpdf\Facades\LaravelMpdf;
class CreateInvoiceTransactionProcessor
@@ -174,16 +171,6 @@ class CreateInvoiceTransactionProcessor
$billNumber = $this->generatesTransactionBillNumber->execute('SHIP-');
- $total_tax = 0;
- $taxPercentage = TaxPercentage::DEFAULT;
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::now();
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare)) {
- $taxPercentage = TaxPercentage::SIX_PERCENT;
- $total_tax = $total_cbm * $taxPercentage / 100;
- $total_cbm = $total_cbm + $total_tax;
- }
-
$object = new TransactionObject(
$billNumber,
TransactionType::SHIPPING_INVOICE,
@@ -196,7 +183,7 @@ class CreateInvoiceTransactionProcessor
1,
1,
0,
- $total_tax,
+ 0,
0,
null,
ApprovalStatus::PENDING_SUBMISSION
@@ -209,8 +196,7 @@ class CreateInvoiceTransactionProcessor
'SHIPPING_FEE',
TransactionDetailType::SHIPPING_FEE.'
'.round($packing_list->packages->where('type', '!=', PackageType::OVER_WEIGHT)->sum('quantity'), 3).' CTNS - '.round($cbm, 3).' CBM',
$cbm,
- $price_cbm,
- $taxPercentage
+ $price_cbm
);
$this->createsTransactionDetail->execute($invoice_transaction, $object_detail);
@@ -220,8 +206,7 @@ class CreateInvoiceTransactionProcessor
'OVER_WEIGHT_CHARGES',
TransactionDetailType::OVER_WEIGHT_CHARGES,
$over_weight_cbm,
- $price_cbm,
- $taxPercentage
+ $price_cbm
);
$this->createsTransactionDetail->execute($invoice_transaction, $object_detail);
@@ -232,8 +217,7 @@ class CreateInvoiceTransactionProcessor
'MIN_CBM_CHARGES',
TransactionDetailType::MIN_CBM_CHARGES,
$minimum_charge,
- $price_cbm,
- $taxPercentage
+ $price_cbm
);
$this->createsTransactionDetail->execute($invoice_transaction, $object_detail);
diff --git a/app/Classes/Modules/Transactions/Processors/CreateShippingCostTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateShippingCostTransactionProcessor.php
index d93702b9..5591731c 100644
--- a/app/Classes/Modules/Transactions/Processors/CreateShippingCostTransactionProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/CreateShippingCostTransactionProcessor.php
@@ -9,7 +9,6 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus;
use App\Classes\ValueObjects\Constants\SegmentConstants;
use App\Classes\ValueObjects\Constants\TransactionType;
use App\Classes\ValueObjects\Constants\PaymentMethodType;
-use App\Classes\ValueObjects\Constants\TaxPercentage;
use App\Models\Order;
class CreateShippingCostTransactionProcessor
@@ -58,8 +57,7 @@ class CreateShippingCostTransactionProcessor
TransactionType::SHIPPING_COST,
'Shipping Cost',
$quantity,
- $totalShippingCost/$totalCBM,
- TaxPercentage::SIX_PERCENT
+ $totalShippingCost/$totalCBM
);
$shippingCostTransaction = $this->createsShippingCostTransaction->execute($order, $transactionObject, $transactionDetailObject);
diff --git a/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionFixProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionFixProcessor.php
index 940935fa..f019209e 100644
--- a/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionFixProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionFixProcessor.php
@@ -16,8 +16,6 @@ use App\Classes\Modules\Documents\Services\CreatesFiles;
use App\Classes\Modules\Documents\Services\CreatesDocument;
use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus;
-use Carbon\Carbon;
-use Illuminate\Support\Facades\Log;
class CreateStorageInvoiceDocTransactionFixProcessor
{
@@ -53,17 +51,9 @@ class CreateStorageInvoiceDocTransactionFixProcessor
/** @var Transaction $invoice_transaction */
$invoice_transaction = $packingList->transactions()->where('transactions.type', TransactionType::STORAGE_INVOICE)->whereIn('status', [ApprovalStatus::COMPLETED])->first();
- // $this->updatesTransactionStatus->execute($invoice_transaction, ApprovalStatus::APPROVED);
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- Log::info('$dateToCompare 2: '.$dateToCompare);
- $storageInvoiceTransactionCreatedDate = Carbon::parse($invoice_transaction->created_at);
- Log::info('$storageInvoiceTransactionCreatedDate 2: '.$storageInvoiceTransactionCreatedDate);
- if ($storageInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice_transaction->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
+ // $this->updatesTransactionStatus->execute($invoice_transaction, ApprovalStatus::APPROVED);
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice_transaction]);
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]);
$document_object = new DocumentObject(
DocumentType::STORAGE_INVOICE,
diff --git a/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionProcessor.php b/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionProcessor.php
index d5277409..d46f5661 100644
--- a/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionProcessor.php
+++ b/app/Classes/Modules/Transactions/Processors/CreateStorageInvoiceDocTransactionProcessor.php
@@ -16,8 +16,6 @@ use App\Classes\Modules\Documents\Services\CreatesFiles;
use App\Classes\Modules\Documents\Services\CreatesDocument;
use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject;
use App\Classes\Modules\Transactions\Services\UpdatesTransactionStatus;
-use Carbon\Carbon;
-use Illuminate\Support\Facades\Log;
class CreateStorageInvoiceDocTransactionProcessor
{
@@ -55,16 +53,7 @@ class CreateStorageInvoiceDocTransactionProcessor
// $this->updatesTransactionStatus->execute($invoice_transaction, ApprovalStatus::APPROVED);
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- Log::info('$dateToCompare: '.$dateToCompare);
- $storageInvoiceTransactionCreatedDate = Carbon::parse($invoice_transaction->created_at);
- Log::info('$storageInvoiceTransactionCreatedDate: '.$storageInvoiceTransactionCreatedDate);
- if ($storageInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice_transaction->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
-
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice_transaction]);
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice_transaction]);
$document_object = new DocumentObject(
DocumentType::STORAGE_INVOICE,
diff --git a/app/Classes/Modules/Transactions/Services/CreatesShippingCostTransaction.php b/app/Classes/Modules/Transactions/Services/CreatesShippingCostTransaction.php
index 55c6ac99..e071d174 100644
--- a/app/Classes/Modules/Transactions/Services/CreatesShippingCostTransaction.php
+++ b/app/Classes/Modules/Transactions/Services/CreatesShippingCostTransaction.php
@@ -44,8 +44,6 @@ class CreatesShippingCostTransaction extends AbstractUpdateRelationshipRecord
$model->quantity = $transactionDetailObject->getQuantity();
$model->price = $transactionDetailObject->getPrice();
$model->amount = $transactionDetailObject->getAmount();
- $model->tax_amount = $transactionDetailObject->getTaxAmount();
- $model->tax_percentage = $transactionDetailObject->getTaxPercentage();
return $this->handler($transaction->transactionDetails(), $model);
diff --git a/app/Classes/Modules/Transactions/Services/CreatesTransactionDetail.php b/app/Classes/Modules/Transactions/Services/CreatesTransactionDetail.php
index 76ad6850..bdb0f387 100644
--- a/app/Classes/Modules/Transactions/Services/CreatesTransactionDetail.php
+++ b/app/Classes/Modules/Transactions/Services/CreatesTransactionDetail.php
@@ -23,10 +23,8 @@ class CreatesTransactionDetail extends AbstractUpdateRelationshipRecord
$model->quantity = $object->getQuantity();
$model->price = $object->getPrice();
$model->amount = $object->getAmount();
- $model->tax_amount = $object->getTaxAmount();
- $model->tax_percentage = $object->getTaxPercentage();
return $this->handler($transaction->transactionDetails(), $model);
}
-}
+}
\ No newline at end of file
diff --git a/app/Classes/Modules/Transactions/Services/UpdatesTransactionDetail.php b/app/Classes/Modules/Transactions/Services/UpdatesTransactionDetail.php
index 457379bd..128214d4 100644
--- a/app/Classes/Modules/Transactions/Services/UpdatesTransactionDetail.php
+++ b/app/Classes/Modules/Transactions/Services/UpdatesTransactionDetail.php
@@ -20,10 +20,8 @@ class UpdatesTransactionDetail extends AbstractUpdateRecord
$transactionDetail->quantity = $object->getQuantity();
$transactionDetail->price = $object->getPrice();
$transactionDetail->amount = $object->getAmount();
- $transactionDetail->tax_amount = $object->getTaxAmount();
- $transactionDetail->tax_percentage = $object->getTaxPercentage();
return $this->handler($transactionDetail);
}
-}
+}
\ No newline at end of file
diff --git a/app/Classes/ValueObjects/Constants/TaxPercentage.php b/app/Classes/ValueObjects/Constants/TaxPercentage.php
deleted file mode 100644
index a47336c9..00000000
--- a/app/Classes/ValueObjects/Constants/TaxPercentage.php
+++ /dev/null
@@ -1,12 +0,0 @@
-transactions()->where('transactions.type', TransactionType::SHIPPING_INVOICE)->get();
foreach ($invoices as $invoice){
-
+
dump($invoice->id);
-
+
$invoice->documents()->delete();
-
- $view = 'pages.pdfs.shipping_invoice';
- $dateToCompare = Carbon::parse(env('SST_START_DATE', '2024-04-01 00:00:00'));
- $shippingInvoiceTransactionCreatedDate = Carbon::parse($invoice->created_at);
- if ($shippingInvoiceTransactionCreatedDate->isAfter($dateToCompare) && $invoice->tax > 0) {
- $view = 'pages.pdfs.shipping_invoice_sst';
- }
-
- $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice]);
-
+
+ $transaction_invoice_pdf = LaravelMpdf::loadView('pages.pdfs.shipping_invoice', ['invoice_transaction' => $invoice]);
+
$document_object = new DocumentObject(
DocumentType::SHIPPING_INVOICE,
[chunk_split('data:application/pdf;base64,'.base64_encode($transaction_invoice_pdf->output()))],
@@ -79,10 +72,10 @@ class FixInvoice extends Command
ApprovalStatus::COMPLETED,
'shipping_invoice'
);
-
+
/** @var Document $document */
$document = (App()->make(CreatesDocument::class))->execute($invoice, $document_object);
-
+
(App()->make(CreatesFiles::class))->execute($document, $document_object);
}
}
diff --git a/app/Http/Resources/GroupForOrderV2Resource.php b/app/Http/Resources/GroupForOrderV2Resource.php
index cfd2f121..69cce0ed 100644
--- a/app/Http/Resources/GroupForOrderV2Resource.php
+++ b/app/Http/Resources/GroupForOrderV2Resource.php
@@ -26,7 +26,7 @@ class GroupForOrderV2Resource extends JsonResource
'original_currency' => new CurrencyResource($this->original_currency),
'issuer_name' => $this->issuerCompany->name,
'issuer_id' => $this->issuerCompany->id,
- 'amount' => (float) $this->amount, //cief todo: 58
+ 'amount' => (float) $this->amount,
'service_charge' => (float) $this->amount,
'currency' => new CurrencyResource($this->currency),
'created_at' => Carbon::parse($this->created_at)->format('d-m-Y h:i:s A'),
diff --git a/app/Http/Resources/TransactionResource.php b/app/Http/Resources/TransactionResource.php
index 6a21f1d2..d8697f8a 100644
--- a/app/Http/Resources/TransactionResource.php
+++ b/app/Http/Resources/TransactionResource.php
@@ -52,7 +52,7 @@ class TransactionResource extends JsonResource
'documents' => $groupTransactions ? DocumentResource::collection($this->documents->where('status', ApprovalStatus::PENDING_VERIFICATION)) : DocumentResource::collection($this->documents),
'type' => (int) $this->type,
'bill_no' => $this->bill_no,
- 'amount' => (double) $this->amount, //cief todo: 58
+ 'amount' => (double) $this->amount,
'payment_method' => (int) $this->payment_method,
'payment_reference' => $this->payment_reference,
'outstanding' => (double) $this->amount - ($this->transactions()->where('type', TransactionType::PAYMENT)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])->sum('amount')),
diff --git a/app/Http/Resources/TransactionWithStorageResource.php b/app/Http/Resources/TransactionWithStorageResource.php
index fe71d674..dd307ad8 100644
--- a/app/Http/Resources/TransactionWithStorageResource.php
+++ b/app/Http/Resources/TransactionWithStorageResource.php
@@ -59,7 +59,7 @@ class TransactionWithStorageResource extends JsonResource
if ($ts) {
$paymentTransaction = Transaction::where('payment_reference', $ts->reference)->whereIn('status', [ApprovalStatus::PENDING_SUBMISSION])->first();
if($paymentTransaction){
- $groupTotalAmount = (double) $this->amount; //cief todo: 58
+ $groupTotalAmount = (double) $this->amount;
foreach ($group_payment_history as $key => $value) {
if ($value->id === $ts->id && $value->reference === $ts->reference) {
@@ -88,10 +88,10 @@ class TransactionWithStorageResource extends JsonResource
'documents' => $groupTransactions ? DocumentResource::collection($this->documents->where('status', ApprovalStatus::PENDING_VERIFICATION)) : DocumentResource::collection($this->documents),
'type' => (int) $this->type,
'bill_no' => $this->bill_no,
- 'amount' => (double) $this->amount, //cief todo: 58
+ 'amount' => (double) $this->amount,
'payment_method' => (int) $this->payment_method,
'payment_reference' => $this->payment_reference,
- 'outstanding' => (double) $this->amount - ($this->transactions()->where('type', TransactionType::PAYMENT)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])->sum('amount')), //cief todo: 58
+ 'outstanding' => (double) $this->amount - ($this->transactions()->where('type', TransactionType::PAYMENT)->whereIn('status', [ApprovalStatus::APPROVED, ApprovalStatus::COMPLETED])->sum('amount')),
'floating' => $group_payment_attempts ? $groupTotalAmount : (double) $this->transactions()->where('type', TransactionType::PAYMENT)->whereIn('status', [ApprovalStatus::PENDING_SUBMISSION, ApprovalStatus::PENDING_VERIFICATION])->sum('amount'),
'service_charge' => (double) $this->service_charge,
'tax' => (double) $this->tax,
diff --git a/database/migrations/2024_04_06_004026_add_columns_to_transaction_details_table.php b/database/migrations/2024_04_06_004026_add_columns_to_transaction_details_table.php
deleted file mode 100644
index 7d179b3e..00000000
--- a/database/migrations/2024_04_06_004026_add_columns_to_transaction_details_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-decimal('tax_amount', 14, 5)->after('amount')->default(0.00);
- $table->decimal('tax_percentage', 6, 2)->after('tax_amount')->default(0.00);
- $table->decimal('discount', 14, 5)->after('tax_percentage')->default(0.00);
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('transaction_details', function (Blueprint $table) {
- $table->dropColumn('tax_amount');
- $table->dropColumn('tax_percentage');
- $table->dropColumn('discount');
- });
- }
-}
diff --git a/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue
new file mode 100644
index 00000000..13a4981b
--- /dev/null
+++ b/resources/assets/vue/components/paymentsBilling/elements/AdminPaymentsBillingComponent.vue
@@ -0,0 +1,322 @@
+
+ Invoice Details
+
Name
-{{product.name}}
-| SST This is generated by computer. No signature required. | -Page {PAGENO} of {nbpg} | -
-
- |
-
-
-
- CIEF WORLDWIDE SDN BHD
-
-
- (1134596-M) - No. 72-3, Jalan Jalil 1, - The Earth Bukit Jalil, - 57000 Kuala Lumpur - Tel: 03-8082 1252 - SST No: W10-2403-32000643 - |
-
-
-
- Invoice
-
-
-
- Invoice No: {{ $invoice_transaction->bill_no }}
-
- @php
- $companyModule = $invoice_transaction->owner->owner->companyModule;
- @endphp
-
- Date: {{ $invoice_transaction->created_at }}
- Order No: {{ $invoice_transaction->owner->owner->reference }}
- Container Ref: {{ $invoice_transaction->owner->containers()->first()->reference }}
- {{--{{ $companyModule->inviters()->withPivot('invitee_reference')->first()->pivot->invitee_reference }} --}}
- |
-
| - - Bill To - - | -||
|
-
- {{ $companyModule->name }}
-
-
- @php
- $addresses = $companyModule->addresses()->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->where('type', '=', \App\Classes\ValueObjects\Constants\AddressType::BILLING)->first();
- @endphp
- @if($addresses)
- {{ $addresses->street_one }}
- {{ $addresses->street_two }} ,
- {{ $addresses->district()->first()->name }},
- {{ $addresses->postcode }}
- {{ $addresses->state()->first()->name }},
- {{ $addresses->country()->first()->name }}
- @endif
-
-
- @php
- $contact = $companyModule->contacts()->first();
- @endphp
- Phone: {{ $contact ? $contact->phone : '' }}
-
- |
- ||
| No | -Description | -Qty | -Unit Price (RM) |
- Tax (%) | -Tax Amount (RM) |
- Sub Total (RM) |
-
|---|---|---|---|---|---|---|
| {{ $key + 1 }} | -{!! $transaction_detail->name !!} | -{{ round($transaction_detail->quantity, 3) }} | -- {{ round($transaction_detail->price, 2) }} - | -- {{ round($transaction_detail->tax_percentage, 2) }} - | -- {{ number_format(round($transaction_detail->tax_amount, 2), 2) }} - | -- {{ number_format(round($transaction_detail->amount, 2), 2) }} - | -
| - | Subtotal | -- {{ number_format(round($invoice_transaction->amount - $invoice_transaction->tax, 2), 2) }} - | -||||
| - | Service Charges | -- {{ number_format(round($invoice_transaction->service_charge, 2), 2) }} - | -||||
| - | Total SST (6%) RM | -{{ number_format($invoice_transaction->tax, 2) }} | -||||
| - | Total Amount RM | -- {{ number_format(round($invoice_transaction->amount, 2), 2) }} - | -||||
-
- |
-
-
-
- CIEF WORLDWIDE SDN BHD
-
-
- (1134596-M) - No. 72-3, Jalan Jalil 1, - The Earth Bukit Jalil, - 57000 Kuala Lumpur - Tel: 03-8082 1252 - SST No: W10-2403-32000643 - |
-
-
-
- Summary
-
-
-
- @php
- $companyModule = $invoice_transactions[0]->owner->owner->companyModule;
- @endphp
-
- {{-- Date: {{ $invoice_transactions[0]->created_at }} --}}
- Date: {{ \Carbon\Carbon::now() }}
- |
-
| - - Bill To - - | -||
|
-
- {{ $companyModule->name }}
-
-
- @php
- $addresses = $companyModule->addresses()->where('status', '=', \App\Classes\ValueObjects\Constants\ApprovalStatus::APPROVED)->where('type', '=', \App\Classes\ValueObjects\Constants\AddressType::BILLING)->first();
- @endphp
- {{ $addresses->street_one }}
- {{ $addresses->street_two }} ,
- {{ $addresses->district()->first()->name }},
- {{ $addresses->postcode }}
- {{ $addresses->state()->first()->name }},
- {{ $addresses->country()->first()->name }}
-
-
- @php
- $contact = $companyModule->contacts()->first();
- @endphp
- Phone: {{ $contact ? $contact->phone : '' }}
-
- |
- ||
| No | -Invoice No | -Description | -Qty | -Unit Price (RM) |
- Tax (%) | -Tax Amount (RM) |
- Sub Total (RM) |
-
|---|---|---|---|---|---|---|---|
| {{ $key + 1 }} | -{{ $invoice_transaction->bill_no }} | -{!! $transaction_detail->name !!} | -{{ round($transaction_detail->quantity, 3) }} | -- {{ round($transaction_detail->price, 2) }} - | -- {{ round($transaction_detail->tax_percentage, 2) }} - | -- {{ number_format(round($transaction_detail->tax_amount, 2), 2) }} - | -- {{ round($transaction_detail->amount, 2) }} - | -
| - | Total Taxable Amount | -- {{ round($grandSubTotal, 2) }} - | -|||||
| - | Total SST (6%) RM | -- {{ round($grandTotalTax, 2) }} - | -|||||
| - | Total Amount RM | -- {{ round($grandTotal, 2) }} - - | -|||||
| This is generated by computer. No signature required. | -Page {PAGENO} of {nbpg} | -