M3 Security Fixes for Pass 34

This commit is contained in:
Mark Gregory
2026-09-17 12:04:08 +01:00
parent 0a05f05843
commit e1824f399e
69 changed files with 1804 additions and 1791 deletions
@@ -22,21 +22,21 @@ class M3ErrorsDispController extends Controller
// Get users from ICM428M
$connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m')
$iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->select('R428US', 'R428FIRST', 'R428FAMILY')->get()
: collect();
$ICM428MCOL = collect($ICM428M);
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL = collect($iCM428M);
$iCM428MCOL->filter(function ($value) {
return $value->R428US = trim($value->R428US);
});
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL->filter(function ($value) {
return $value->R428FIRST = trim($value->R428FIRST);
});
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL->filter(function ($value) {
return $value->R428FAMILY = trim($value->R428FAMILY);
});
return view('m3::liberty-theme.pages.M3ErrorsDisplay', compact('macpkr', 'shsource', 'showerrors', 'skipdates', 'ICM428MCOL'));
return view('m3::liberty-theme.pages.M3ErrorsDisplay', ['macpkr' => $macpkr, 'shsource' => $shsource, 'showerrors' => $showerrors, 'skipdates' => $skipdates, 'ICM428MCOL' => $iCM428MCOL]);
}
public function datatables(Request $request)
@@ -139,45 +139,45 @@ class M3ErrorsDispController extends Controller
public static function update699M(Request $request)
{
$SHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : '';
$SHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : '';
$SHCO = $request->SHCO != null ? trim($request->SHCO) : '';
$SHWHS = $request->SHWHS != null ? trim($request->SHWHS) : '';
$SHDT = $request->SHDT != null ? trim($request->SHDT) : '';
$SHTIME = $request->SHTIME != null ? trim($request->SHTIME) : '';
$SHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : '';
$SHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : '';
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : '';
$CLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N';
$sHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : '';
$sHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : '';
$sHCO = $request->SHCO != null ? trim($request->SHCO) : '';
$sHWHS = $request->SHWHS != null ? trim($request->SHWHS) : '';
$sHDT = $request->SHDT != null ? trim($request->SHDT) : '';
$sHTIME = $request->SHTIME != null ? trim($request->SHTIME) : '';
$sHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : '';
$sHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : '';
$sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : '';
$cLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N';
if ($CLOSESIM == 'N') {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $SHMACPKR)
->where('SHDT', $SHDT)
->where('SHTIME', $SHTIME)
->where('SHCO', $SHCO)
->where('SHWHS', $SHWHS)
->where('SHSOURCE', $SHSOURCE)
if ($cLOSESIM == 'N') {
$iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $sHMACPKR)
->where('SHDT', $sHDT)
->where('SHTIME', $sHTIME)
->where('SHCO', $sHCO)
->where('SHWHS', $sHWHS)
->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]);
->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $sHACKNOTE]);
} else {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHCO', $SHCO)
->where('SHWHS', $SHWHS)
->where('SHSOURCE', $SHSOURCE)
$iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHCO', $sHCO)
->where('SHWHS', $sHWHS)
->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]);
->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $sHACKNOTE]);
}
if ($SHSOURCE == 'CloseShipmentCoChargeAPI') {
if ($sHSOURCE == 'CloseShipmentCoChargeAPI') {
// Update ICM688M1 : Change A4PICKSTS
DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
->where('A4MACPKR', $SHMACPKR)
->where('A4CO', $SHCO)
->where('A4WHS', $SHWHS)
->where('A4MACPKR', $sHMACPKR)
->where('A4CO', $sHCO)
->where('A4WHS', $sHWHS)
->update(['A4PICKSTS' => 'a']);
}
@@ -216,7 +216,7 @@ class M3ErrorsDispController extends Controller
return app(SpreadsheetExport::class)->download(
$rows,
'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx'
'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx',
);
} catch (\Throwable $th) {
Log::error($th);
@@ -281,12 +281,17 @@ class M3ErrorsDispController extends Controller
DB::raw('COALESCE(ICM688M1.A4SHSHNM, ICM666M.A1SHSHNM) AS CUSTOMER '),
DB::raw(" ICM699M.SHDT || ' ' || ICM699M.SHTIME AS SHDATETIME"),
DB::raw("CASE WHEN ICM699M.SHERROR !='Z' THEN TRIM(ICM699M.SHERROR) ELSE 'Closed' END AS ERROR"),
'ICM699M.SHTYPE', 'ICM699M.SHSOURCE',
'ICM699M.SHTYPE',
'ICM699M.SHSOURCE',
DB::raw("CASE WHEN ICM428M.R428FIRST IS NOT NULL THEN TRIM(ICM428M.R428FIRST) ||' '|| TRIM(ICM428M.R428FAMILY) ELSE TRIM(ICM699M.SHUSER) END AS USER"),
'ICM699M.SHCODE', 'ICM699M.SHCO', 'ICM699M.SHWHS',
'ICM699M.SHCODE',
'ICM699M.SHCO',
'ICM699M.SHWHS',
DB::raw(" ICM699M.SHACKDATE ||' '||ICM699M.SHACKTIME AS ACKDATE"),
'ICM699M.SHACKUSER', 'ICM699M.SHINTBOX', 'ICM699M.SHACKNOTE',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)')
'ICM699M.SHACKUSER',
'ICM699M.SHINTBOX',
'ICM699M.SHACKNOTE',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)'),
)
->distinct()
->leftJoin('ICM428M', 'ICM699M.SHUSER', '=', 'ICM428M.R428US')
@@ -306,7 +311,7 @@ class M3ErrorsDispController extends Controller
return redirect()->back()->withInput()->with(
'message',
'Maximum allowed records for Excel Download is: ' . number_format($maxRecords)
. ' current records: ' . number_format($count) . ' , change your search criteria.'
. ' current records: ' . number_format($count) . ' , change your search criteria.',
);
}
@@ -360,5 +365,4 @@ class M3ErrorsDispController extends Controller
$builder->where('SHTYPE', 'like', '%M3%');
}
}
}