m3 Security Fixes
This commit is contained in:
@@ -2,28 +2,25 @@
|
||||
|
||||
namespace Modules\M3\Http\Controllers;
|
||||
|
||||
use Modules\M3\Http\Controllers\Controller;
|
||||
use DB;
|
||||
use Config;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
// use Modules\M3\Models\ICM709M;
|
||||
//
|
||||
|
||||
class GetContentsController extends Controller
|
||||
{
|
||||
|
||||
public function processShipment(Request $request)
|
||||
{
|
||||
# Get Mackpkr from Request
|
||||
// Get Mackpkr from Request
|
||||
$macpacPicker = isset($request->MACPKR) ? trim($request->MACPKR) : '';
|
||||
|
||||
# ESN1
|
||||
# $macpacPicker='888568'; // LTL example
|
||||
# $macpacPicker='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
|
||||
# $macpacPicker='1225311'; // parcel example
|
||||
# ESN2
|
||||
# $macpacPicker='748101'; // LTL example
|
||||
// ESN1
|
||||
// $macpacPicker='888568'; // LTL example
|
||||
// $macpacPicker='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
|
||||
// $macpacPicker='1225311'; // parcel example
|
||||
// ESN2
|
||||
// $macpacPicker='748101'; // LTL example
|
||||
|
||||
try {
|
||||
$icm704mArray = $this->buildNMFCCodesArray();
|
||||
@@ -33,25 +30,25 @@ class GetContentsController extends Controller
|
||||
return response()->json(['error' => "Picker {$macpacPicker} was not found in ICM688M1"]);
|
||||
}
|
||||
|
||||
# Get Packages
|
||||
// Get Packages
|
||||
$packages = $this->getPackagesData($shipmentData['macpkr_list']);
|
||||
# Add NMFC to Packages
|
||||
// Add NMFC to Packages
|
||||
$packagesWithNMFC = $this->addNMFCDataToPackages($packages, $macpacPicker, $icm704mArray);
|
||||
|
||||
# Get Commodities
|
||||
// Get Commodities
|
||||
$commodities = $this->getCommoditiesData(
|
||||
$shipmentData['company'],
|
||||
$shipmentData['warehouse'],
|
||||
$macpacPicker,
|
||||
$packages['package_595m1'],
|
||||
$icm704mArray
|
||||
$icm704mArray,
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'error' => '',
|
||||
'shipmentData' => $shipmentData,
|
||||
'packages' => $packagesWithNMFC,
|
||||
'commodities' => $commodities
|
||||
'commodities' => $commodities,
|
||||
]);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
@@ -70,8 +67,8 @@ class GetContentsController extends Controller
|
||||
'LTLClassId' => number_format(trim($row->AOFCID), 1),
|
||||
'NMFCItem' => trim($row->AONMIT),
|
||||
'NMFCSub' => trim($row->AONMSB),
|
||||
'SkidDescription' => trim($row->AOSKDE)
|
||||
]
|
||||
'SkidDescription' => trim($row->AOSKDE),
|
||||
],
|
||||
];
|
||||
})->all();
|
||||
|
||||
@@ -79,7 +76,8 @@ class GetContentsController extends Controller
|
||||
|
||||
protected function getShipmentData($macpacPicker)
|
||||
{
|
||||
$result = DB::select("
|
||||
$result = DB::select(
|
||||
'
|
||||
SELECT
|
||||
SUM(A4TPCKWGHT) as total_weight,
|
||||
A4MACPKR, A4SHSHA1, A4SHSHA2, A4SHSHCI, A4SHSHNM,
|
||||
@@ -93,8 +91,8 @@ class GetContentsController extends Controller
|
||||
A4SHSHCT, A4SHSHZP, A4SHSHST, A4ONO, A4RLNO, A4SHNO,
|
||||
A4STCN, A4CO, A4WHS, A4SHIPVIA, A4SLCO, A4SLWHS,
|
||||
A4CATPID, A42SSVCCOD, A4CARRIER, A4SHPAGGCD,
|
||||
A4SALESLOC, A4SHCSPO, A4OFSTRM, A4SCAC, A4PLANT",
|
||||
[$macpacPicker]
|
||||
A4SALESLOC, A4SHCSPO, A4OFSTRM, A4SCAC, A4PLANT',
|
||||
[$macpacPicker],
|
||||
);
|
||||
|
||||
if (empty($result)) {
|
||||
@@ -121,13 +119,14 @@ class GetContentsController extends Controller
|
||||
'macpkr_list' => $macpacPicker,
|
||||
'shipment_list' => "'" . trim($row->A4ONO) . "'",
|
||||
'po_list' => "'" . trim($row->A4SHCSPO) . "'",
|
||||
'order_list' => "'" . trim($row->A4ONO) . "'"
|
||||
'order_list' => "'" . trim($row->A4ONO) . "'",
|
||||
];
|
||||
}
|
||||
|
||||
protected function getPackagesData($macpkrList)
|
||||
{
|
||||
$results = DB::select("
|
||||
$results = DB::select(
|
||||
'
|
||||
SELECT
|
||||
AYINTBOX,
|
||||
MAX(AYHEIGHT) as height,
|
||||
@@ -137,8 +136,8 @@ class GetContentsController extends Controller
|
||||
FROM ICM695M1
|
||||
WHERE AYMACPKR IN (?)
|
||||
GROUP BY AYINTBOX
|
||||
ORDER BY AYINTBOX",
|
||||
[$macpkrList]
|
||||
ORDER BY AYINTBOX',
|
||||
[$macpkrList],
|
||||
);
|
||||
|
||||
$packages = [];
|
||||
@@ -154,7 +153,7 @@ class GetContentsController extends Controller
|
||||
'HEIGHT' => $row->HEIGHT,
|
||||
'WIDTH' => $row->WIDTH,
|
||||
'DEPTH' => $row->DEPTH,
|
||||
'WEIGHT' => $row->WEIGHT
|
||||
'WEIGHT' => $row->WEIGHT,
|
||||
];
|
||||
|
||||
$packages[] = [
|
||||
@@ -165,7 +164,7 @@ class GetContentsController extends Controller
|
||||
'LicencePlate' => $internalBox,
|
||||
'Reference1' => $internalBox,
|
||||
'WeightType' => 0,
|
||||
'DimensionType' => 0
|
||||
'DimensionType' => 0,
|
||||
];
|
||||
|
||||
$packagesGS1Array[] = $internalBox;
|
||||
@@ -174,13 +173,14 @@ class GetContentsController extends Controller
|
||||
return [
|
||||
'packages' => $packages,
|
||||
'package_595m1' => $package595m1,
|
||||
'packagesGS1Array' => $packagesGS1Array
|
||||
'packagesGS1Array' => $packagesGS1Array,
|
||||
];
|
||||
}
|
||||
|
||||
protected function addNMFCDataToPackages($packages, $macpkrList, $icm704mArray)
|
||||
{
|
||||
$nmfcResults = DB::select("
|
||||
$nmfcResults = DB::select(
|
||||
'
|
||||
WITH tempfile AS (
|
||||
SELECT
|
||||
(SELECT A5WBFRCT FROM ICM688M2
|
||||
@@ -193,8 +193,8 @@ class GetContentsController extends Controller
|
||||
SELECT azintbox, MIN(WBFRCT) as MIN_WBFRCT
|
||||
FROM tempfile
|
||||
GROUP BY azintbox
|
||||
ORDER BY 1",
|
||||
[$macpkrList, $macpkrList]
|
||||
ORDER BY 1',
|
||||
[$macpkrList, $macpkrList],
|
||||
);
|
||||
|
||||
foreach ($nmfcResults as $index => $row) {
|
||||
@@ -208,7 +208,8 @@ class GetContentsController extends Controller
|
||||
|
||||
protected function getCommoditiesData($company, $warehouse, $macpkrList, $package595m1, $icm704mArray)
|
||||
{
|
||||
$results = DB::select("
|
||||
$results = DB::select(
|
||||
'
|
||||
WITH tempfile1 AS (
|
||||
SELECT
|
||||
A5PART,
|
||||
@@ -238,8 +239,8 @@ class GetContentsController extends Controller
|
||||
A5WBFRCT, HAZARDOUS, A5SLUNPR
|
||||
FROM tempfile1
|
||||
LEFT JOIN tempfile2 ON AZPART = A5PART
|
||||
ORDER BY A5PART",
|
||||
[$company, $warehouse, $macpkrList, $company, $warehouse, $macpkrList]
|
||||
ORDER BY A5PART',
|
||||
[$company, $warehouse, $macpkrList, $company, $warehouse, $macpkrList],
|
||||
);
|
||||
|
||||
$commodities = [];
|
||||
@@ -257,7 +258,7 @@ class GetContentsController extends Controller
|
||||
$nmfcData = $icm704mArray[$wbfrct] ?? [
|
||||
'LTLClassId' => '50',
|
||||
'NMFCItem' => '93490',
|
||||
'NMFCSub' => ''
|
||||
'NMFCSub' => '',
|
||||
];
|
||||
|
||||
$commodities[] = [
|
||||
@@ -273,14 +274,14 @@ class GetContentsController extends Controller
|
||||
'NMFCItem' => $nmfcData['NMFCItem'],
|
||||
'NMFCSub' => $nmfcData['NMFCSub'],
|
||||
'DangerousGoodsInfo' => [
|
||||
'ContainsDangerousGoods' => trim($row->HAZARDOUS) === 'H4.1'
|
||||
'ContainsDangerousGoods' => trim($row->HAZARDOUS) === 'H4.1',
|
||||
],
|
||||
'QuantityAssignment' => [
|
||||
[
|
||||
'PackageIndex' => $package595m1[trim($row->AZINTBOX)]['INDEX'],
|
||||
'Quantity' => (float) $row->AZPACKED
|
||||
]
|
||||
]
|
||||
'Quantity' => (float) $row->AZPACKED,
|
||||
],
|
||||
],
|
||||
];
|
||||
} else {
|
||||
$quantityIndex++;
|
||||
@@ -288,7 +289,7 @@ class GetContentsController extends Controller
|
||||
$commodities[$index]['Quantity'] += (float) $row->AZPACKED;
|
||||
$commodities[$index]['QuantityAssignment'][] = [
|
||||
'PackageIndex' => $package595m1[trim($row->AZINTBOX)]['INDEX'],
|
||||
'Quantity' => (float) $row->AZPACKED
|
||||
'Quantity' => (float) $row->AZPACKED,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -297,6 +298,4 @@ class GetContentsController extends Controller
|
||||
|
||||
return $commodities;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user