mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
rename qr warehouse prefix
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Orders\Services;
|
||||
|
||||
use App\Classes\ValueObjects\Constants\WarehouseReferences;
|
||||
use App\Models\Address;
|
||||
use App\Models\CompanyModule;
|
||||
|
||||
class ResolveIzyimQrWarehousePrefix
|
||||
{
|
||||
public const NEW_LOCATION_PREFIX_MAP = [
|
||||
'kuching' => 'KCH-',
|
||||
'bintulu' => 'BNT-',
|
||||
'miri' => 'MIRI-',
|
||||
];
|
||||
|
||||
public function execute(CompanyModule $originWarehouse, Address $deliveryAddress): string
|
||||
{
|
||||
$warehousePrefix = '';
|
||||
|
||||
if ($originWarehouse->reference === WarehouseReferences::YD_YIWU) {
|
||||
$warehousePrefix = 'YW/';
|
||||
}
|
||||
|
||||
$stateName = strtolower((string) optional($deliveryAddress->state)->name);
|
||||
$districtName = strtolower((string) optional($deliveryAddress->district)->name);
|
||||
|
||||
if (in_array($originWarehouse->reference, [WarehouseReferences::YD_GUANG_ZHOU, WarehouseReferences::YD_GUANG_ZHOU_2, WarehouseReferences::YD_FS_EAST_MALAYSIA, WarehouseReferences::YD_FS_WEST_MALAYSIA])) {
|
||||
$warehousePrefix = 'YD/';
|
||||
|
||||
if (strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KK/';
|
||||
}
|
||||
|
||||
if (strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KU/';
|
||||
}
|
||||
|
||||
if (strtolower($deliveryAddress->state->name) === 'johor') {
|
||||
$warehousePrefix = 'NX/';
|
||||
}
|
||||
}
|
||||
|
||||
if (isset(self::NEW_LOCATION_PREFIX_MAP[$districtName])) {
|
||||
$warehousePrefix = self::NEW_LOCATION_PREFIX_MAP[$districtName];
|
||||
}
|
||||
|
||||
return $warehousePrefix;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Orders;
|
||||
|
||||
|
||||
use App\Classes\Modules\Orders\Services\ResolveIzyimQrWarehousePrefix;
|
||||
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderRoleTypes;
|
||||
use App\Classes\ValueObjects\Constants\WarehouseReferences;
|
||||
@@ -15,7 +16,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
class DownloadOrderQrPdfController
|
||||
{
|
||||
|
||||
public function download(Request $request){
|
||||
public function download(Request $request, ResolveIzyimQrWarehousePrefix $resolveIzyimQrWarehousePrefix){
|
||||
$order = Order::find($request->route('id'));
|
||||
$deliveryAddress = $order->addresses()->where('status', ApprovalStatus::APPROVED)->first();
|
||||
$warehouse= $order->orderRoles()->where('role_id', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee;
|
||||
@@ -39,25 +40,7 @@ class DownloadOrderQrPdfController
|
||||
}
|
||||
}
|
||||
|
||||
if($warehouse->reference === WarehouseReferences::YD_YIWU){
|
||||
$warehousePrefix = 'YW/';
|
||||
}
|
||||
|
||||
if(in_array($warehouse->reference,[WarehouseReferences::YD_GUANG_ZHOU, WarehouseReferences::YD_GUANG_ZHOU_2, WarehouseReferences::YD_FS_EAST_MALAYSIA, WarehouseReferences::YD_FS_WEST_MALAYSIA])){
|
||||
$warehousePrefix = 'YD/';
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KK/';
|
||||
}
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KU/';
|
||||
}
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'johor') {
|
||||
$warehousePrefix = 'NX/';
|
||||
}
|
||||
}
|
||||
$warehousePrefix = $resolveIzyimQrWarehousePrefix->execute($warehouse, $deliveryAddress);
|
||||
|
||||
$data = [
|
||||
'order' => $order,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Orders;
|
||||
|
||||
|
||||
use App\Classes\Modules\Orders\Services\ResolveIzyimQrWarehousePrefix;
|
||||
use App\Classes\ValueObjects\Constants\ApprovalStatus;
|
||||
use App\Classes\ValueObjects\Constants\OrderRoleTypes;
|
||||
use App\Classes\ValueObjects\Constants\WarehouseReferences;
|
||||
@@ -16,7 +17,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
class DownloadTaxRebateQrPdfController
|
||||
{
|
||||
|
||||
public function download(Request $request){
|
||||
public function download(Request $request, ResolveIzyimQrWarehousePrefix $resolveIzyimQrWarehousePrefix){
|
||||
$order = Order::find($request->route('id'));
|
||||
$deliveryAddress = $order->addresses()->where('status', ApprovalStatus::APPROVED)->first();
|
||||
$warehouse= $order->orderRoles()->where('role_id', OrderRoleTypes::ORIGIN_WAREHOUSE)->first()->appointee;
|
||||
@@ -40,25 +41,7 @@ class DownloadTaxRebateQrPdfController
|
||||
}
|
||||
}
|
||||
|
||||
if($warehouse->reference === WarehouseReferences::YD_YIWU){
|
||||
$warehousePrefix = 'YW/';
|
||||
}
|
||||
|
||||
if(in_array($warehouse->reference,[WarehouseReferences::YD_GUANG_ZHOU, WarehouseReferences::YD_GUANG_ZHOU_2, WarehouseReferences::YD_FS_EAST_MALAYSIA, WarehouseReferences::YD_FS_WEST_MALAYSIA])){
|
||||
$warehousePrefix = 'YD/';
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'sabah' || strtolower($deliveryAddress->state->name) === 'labuan' || in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KK/';
|
||||
}
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'sarawak' && !in_array(strtolower($deliveryAddress->district->name), ['limbang', 'lawas'])) {
|
||||
$warehousePrefix = 'KU/';
|
||||
}
|
||||
|
||||
if(strtolower($deliveryAddress->state->name) === 'johor') {
|
||||
$warehousePrefix = 'NX/';
|
||||
}
|
||||
}
|
||||
$warehousePrefix = $resolveIzyimQrWarehousePrefix->execute($warehouse, $deliveryAddress);
|
||||
|
||||
// tax rebate data
|
||||
$tax_rebate_refeerence = $request->query('tax_rebate_refeerence');
|
||||
|
||||
Reference in New Issue
Block a user