m3 Security Fixes

This commit is contained in:
Mark Gregory
2026-09-16 17:14:26 +01:00
parent 1602bdd72e
commit d68687f062
78 changed files with 1297 additions and 1228 deletions
@@ -8,7 +8,7 @@ use Config;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
// use Modules\M3\Models\ICM709M;
//
//
class GetContentsController extends Controller
{
@@ -17,8 +17,8 @@ class GetContentsController extends Controller
{
# Get Mackpkr from Request
$macpacPicker = isset($request->MACPKR) ? trim($request->MACPKR) : '';
# ESN1
# ESN1
# $macpacPicker='888568'; // LTL example
# $macpacPicker='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
# $macpacPicker='1225311'; // parcel example
@@ -27,7 +27,7 @@ class GetContentsController extends Controller
try {
$icm704mArray = $this->buildNMFCCodesArray();
$shipmentData = $this->getShipmentData($macpacPicker);
if (empty($shipmentData['orderNumber'])) {
return response()->json(['error' => "Picker {$macpacPicker} was not found in ICM688M1"]);
@@ -80,19 +80,19 @@ class GetContentsController extends Controller
protected function getShipmentData($macpacPicker)
{
$result = DB::select("
SELECT
SELECT
SUM(A4TPCKWGHT) as total_weight,
A4MACPKR, A4SHSHA1, A4SHSHA2, A4SHSHCI, A4SHSHNM,
A4SHSHCT, A4SHSHZP, A4SHSHST, A4ONO, A4STCN, A4CO,
A4MACPKR, A4SHSHA1, A4SHSHA2, A4SHSHCI, A4SHSHNM,
A4SHSHCT, A4SHSHZP, A4SHSHST, A4ONO, A4STCN, A4CO,
A4WHS, A4SHIPVIA, A4SLCO, A4SLWHS, A4CATPID, A42SSVCCOD,
A4CARRIER, A4SHPAGGCD, A4SALESLOC, A4SHCSPO, A4OFSTRM,
A4CARRIER, A4SHPAGGCD, A4SALESLOC, A4SHCSPO, A4OFSTRM,
A4SCAC, A4PLANT
FROM ICM688M1
FROM ICM688M1
WHERE A4MACPKR = ?
GROUP BY A4MACPKR, A4SHSHA1, A4SHSHA2, A4SHSHCI, A4SHSHNM,
A4SHSHCT, A4SHSHZP, A4SHSHST, A4ONO, A4RLNO, A4SHNO,
A4STCN, A4CO, A4WHS, A4SHIPVIA, A4SLCO, A4SLWHS,
A4CATPID, A42SSVCCOD, A4CARRIER, A4SHPAGGCD,
GROUP BY A4MACPKR, A4SHSHA1, A4SHSHA2, A4SHSHCI, A4SHSHNM,
A4SHSHCT, A4SHSHZP, A4SHSHST, A4ONO, A4RLNO, A4SHNO,
A4STCN, A4CO, A4WHS, A4SHIPVIA, A4SLCO, A4SLWHS,
A4CATPID, A42SSVCCOD, A4CARRIER, A4SHPAGGCD,
A4SALESLOC, A4SHCSPO, A4OFSTRM, A4SCAC, A4PLANT",
[$macpacPicker]
);
@@ -128,13 +128,13 @@ class GetContentsController extends Controller
protected function getPackagesData($macpkrList)
{
$results = DB::select("
SELECT
AYINTBOX,
MAX(AYHEIGHT) as height,
MAX(AYWIDTH) as width,
MAX(AYDEPTH) as depth,
SELECT
AYINTBOX,
MAX(AYHEIGHT) as height,
MAX(AYWIDTH) as width,
MAX(AYDEPTH) as depth,
SUM(AYLNWGHT) as weight
FROM ICM695M1
FROM ICM695M1
WHERE AYMACPKR IN (?)
GROUP BY AYINTBOX
ORDER BY AYINTBOX",
@@ -183,16 +183,16 @@ class GetContentsController extends Controller
$nmfcResults = DB::select("
WITH tempfile AS (
SELECT
(SELECT A5WBFRCT FROM ICM688M2
WHERE A5MACPKR IN (?) AND A5PART=AZPART
(SELECT A5WBFRCT FROM ICM688M2
WHERE A5MACPKR IN (?) AND A5PART=AZPART
FETCH FIRST 1 ROWS ONLY) as WBFRCT,
az.*
FROM ICM695M2 az
az.*
FROM ICM695M2 az
WHERE AZMACPKR IN (?)
)
SELECT azintbox, MIN(WBFRCT) as MIN_WBFRCT
FROM tempfile
GROUP BY azintbox
SELECT azintbox, MIN(WBFRCT) as MIN_WBFRCT
FROM tempfile
GROUP BY azintbox
ORDER BY 1",
[$macpkrList, $macpkrList]
);
@@ -210,34 +210,34 @@ class GetContentsController extends Controller
{
$results = DB::select("
WITH tempfile1 AS (
SELECT
A5PART,
MAX(A5CMDESC) as A5CMDESC,
MAX(A5MUTMS) as A5MUTMS,
SELECT
A5PART,
MAX(A5CMDESC) as A5CMDESC,
MAX(A5MUTMS) as A5MUTMS,
MAX(A5PMPWHT) as A5PMPWHT,
MAX(A5SLUNPR) as A5SLUNPR,
MAX(A5SLUNPR) as A5SLUNPR,
TRIM(MIN(A5WBFRCT)) as A5WBFRCT
FROM ICM688M2
WHERE A5CO = ? AND A5WHS = ? AND A5MACPKR IN (?) AND A5PACKED > 0
GROUP BY A5PART
),
tempfile2 AS (
SELECT
AZINTBOX,
AZPART,
SELECT
AZINTBOX,
AZPART,
SUM(AZPACKED) as AZPACKED,
MAX(SUBSTR(AZSPR15A01,1,4)) as HAZARDOUS
FROM ICM695M2
WHERE AZCO = ? AND AZWHS = ? AND AZMACPKR IN (?) AND AZPACKED <> 0
FROM ICM695M2
WHERE AZCO = ? AND AZWHS = ? AND AZMACPKR IN (?) AND AZPACKED <> 0
GROUP BY AZINTBOX, AZPART
)
SELECT
A5PART, A5CMDESC, A5MUTMS,
A5PMPWHT * AZPACKED as WEIGHt,
SELECT
A5PART, A5CMDESC, A5MUTMS,
A5PMPWHT * AZPACKED as WEIGHt,
AZPACKED, AZINTBOX,
A5WBFRCT, HAZARDOUS, A5SLUNPR
FROM tempfile1
LEFT JOIN tempfile2 ON AZPART = A5PART
FROM tempfile1
LEFT JOIN tempfile2 ON AZPART = A5PART
ORDER BY A5PART",
[$company, $warehouse, $macpkrList, $company, $warehouse, $macpkrList]
);