M3 Security Fixes for Pass 40

This commit is contained in:
Mark Gregory
2026-09-17 13:22:35 +01:00
parent 34c3460760
commit a9b63e43b3
28 changed files with 80 additions and 116 deletions
@@ -105,9 +105,9 @@
<input
name="name"
type="text"
value="{{ old('name', $setting- id="sonar-input-30f47d1294">name) }}"
value="{{ old('name', $setting->name) }}"
class="w-full rounded-lg border-slate-300 text-sm shadow-sm focus:border-blue-500 focus:ring-blue-500"
>
id="name">
<label for="sonar-input-707eb8d2ba" class="visually-hidden">Leave blank to keep existing key</label>
<input
@@ -125,7 +125,7 @@
type="checkbox"
name="is_active"
value="1"
@checked($setting- id="sonar-input-da782f0360">is_active)
@checked($setting->is_active)
class="rounded border-slate-300 text-blue-600 focus:ring-blue-500"
>
Active
@@ -254,12 +254,12 @@
<div class="grid gap-4 md:grid-cols-4 md:items-end">
<div>
<label for="sonar-input-47ea6fa2d4" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Division name</label>
<input name="name" value="{{ $division- id="sonar-input-47ea6fa2d4">name }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" required>
<input name="name" value="{{ $division->name }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" required id="division_name">
</div>
<div>
<label for="sonar-input-5c50085e3c" class="block text-xs font-bold uppercase tracking-wide text-zinc-500 dark:text-zinc-400">Code</label>
<input name="code" value="{{ $division- id="sonar-input-5c50085e3c">code }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white">
<input name="code" value="{{ $division->code }}" class="mt-2 h-12 w-full rounded-xl border-zinc-300 bg-white px-4 text-sm font-medium text-zinc-900 shadow-sm outline-none transition focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 dark:border-zinc-700 dark:bg-zinc-950 dark:text-white" id="sonar-input-5c50085e3c">
</div>
<div class="wms-select2-field">
@@ -379,7 +379,7 @@
class="flex items-center gap-2 rounded-xl border border-zinc-200 bg-white px-3 py-2 text-sm text-zinc-700 dark:border-zinc-700 dark:bg-zinc-950 dark:text-zinc-200">
<label for="sonar-input-d3efdc11be" class="visually-hidden">sonar input d3efdc11be</label>
<input type="checkbox" wire:model="boardForm.status_ids"
value="{{ $status- id="sonar-input-d3efdc11be">id }}" class="rounded border-zinc-300">
value="{{ $status->id }}" class="rounded border-zinc-300">
<span class="inline-flex h-3 w-3 rounded-full"
style="background-color: {{ \Modules\Helpdesk\Support\Color::css($status->color) }}"></span>
<span>{{ $status->name }}</span>
@@ -1333,7 +1333,7 @@
<label
class="flex items-start gap-2 rounded-lg border border-zinc-200 p-2 text-xs dark:border-zinc-700">
<label for="sonar-input-a729c04093" class="visually-hidden">sonar input a729c04093</label>
<input type="checkbox" wire:click="toggleChecklistItem({{ $item- id="sonar-input-a729c04093">id }})"
<input type="checkbox" wire:click="toggleChecklistItem({{ $item->id }})"
@checked($item->is_completed) class="mt-1 rounded border-zinc-300">
<span
class="{{ $item->is_completed ? 'text-zinc-500 line-through' : 'text-zinc-800 dark:text-zinc-100' }}">{{ $item->title }}</span>
+1 -2
View File
@@ -2,7 +2,6 @@
namespace Modules\M3\Console;
use App;
use Ayeo\Barcode;
use Cache;
use Config;
@@ -36,7 +35,7 @@ class GenerateGS1Cmd extends Command
*
* @return void
*/
/**
/**
* Execute the console command.
*
* @return int
-18
View File
@@ -251,24 +251,6 @@ class Helper
public static function checkLength($jsonFields, $dbFields, $type)
{
// Check type
$jSONType = gettype($jsonFields);
switch ($jSONType) {
case 'string':
$jSONTypeConv = 'string';
break;
case 'double':
$jSONTypeConv = 'number';
break;
case 'integer':
$jSONTypeConv = 'number';
break;
default:
$jSONTypeConv = 'null';
break;
}
$type = $type == 'integer' || $type == 'DEC' ? 'number' : $type;
// Check Json Field should be < DB Field
@@ -17,7 +17,9 @@ use Str;
class CloseShipment extends Controller
{
private const ZERO_PAD = '000000';
private const JSON_CONTENT_TYPE = 'application/json';
private const NULL_M3_RESPONSE = 'M3 API responded with null value';
// CloseShipmentCoChargeAPI : with URL PARAMS COCharge
@@ -54,7 +56,6 @@ class CloseShipment extends Controller
$pdfFilePath = Config::get('arrays.PdfPath');
$dELIVERYNO = $mANIFEST != '' ? $mANIFEST : self::ZERO_PAD;
if ($urlParams != '') {
// Write to Logs : JSON
$jSONIN = json_encode([
@@ -216,7 +217,6 @@ class CloseShipment extends Controller
}
$iCM695M1TMP = $iCM695M1TMPF;
$freightTermsTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm321m')
->selectRaw('TRIM(ARCODE) as FREIGHTTERMS,ARCHARGE as BILLABLE')
->get();
@@ -605,10 +605,10 @@ class CloseShipment extends Controller
Helper::logToICM699M($data);
$response = Http::withHeaders([
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
'Connection' => 'close',
])
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
'Connection' => 'close',
])
->withToken($token)
->withBody($jSONCS, self::JSON_CONTENT_TYPE)
->timeout(Config::get('arrays.curlTimeOut'))
@@ -826,10 +826,10 @@ class CloseShipment extends Controller
Helper::logToICM699M($data);
$response = Http::withHeaders([
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
'Connection' => 'close',
])
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
'Connection' => 'close',
])
->withToken($token)
->withBody($jSONCS, self::JSON_CONTENT_TYPE)
->timeout(Config::get('arrays.curlTimeOut'))
@@ -5,7 +5,6 @@ namespace Modules\M3\Http\Controllers\API;
use Config;
use DB;
use Illuminate\Http\Request;
use Log;
use Modules\M3\Helpers\Helper;
use Modules\M3\Http\Controllers\Controller;
use Modules\M3\Services\PostgresProgramBridge;
@@ -14,6 +13,7 @@ use Str;
class M3Controller extends Controller
{
private const FIELD_PREFIX = 'Field: ';
private const M3_LIST_SUFFIX = ' M3-Lis-JSN';
// Split Data and Write to ICM666M2
@@ -15,6 +15,7 @@ use Str;
class ReplenAPI extends Controller
{
private const ZERO_PAD = '000000';
private const JSON_CONTENT_TYPE = 'application/json';
// M3Replenishement with URL Params
@@ -53,7 +54,7 @@ class ReplenAPI extends Controller
Helper::logToICM699M($data);
$pART = explode(',', $pARTNO);
foreach ($pART as $key => $value) {
foreach ($pART as $value) {
$pARTS[] = ['PART' => $value, 'LOT' => ''];
}
@@ -84,9 +85,9 @@ class ReplenAPI extends Controller
$token = $ionToken;
$response = Http::withHeaders([
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
])
'accept' => self::JSON_CONTENT_TYPE,
'Content-Type' => self::JSON_CONTENT_TYPE,
])
->withToken($token)
->withBody($jSON, self::JSON_CONTENT_TYPE)
->timeout(Config::get('arrays.curlTimeOut'))
@@ -130,7 +131,7 @@ class ReplenAPI extends Controller
}
$dataToWrite2 = [];
foreach ($responseTMP as $key => $value) {
foreach ($responseTMP as $value) {
$dataToWrite = [];
foreach ($value as $key2 => $content) {
@@ -145,15 +146,15 @@ class ReplenAPI extends Controller
}
// Delete Old Records from IC630M
foreach ($dataToWrite2 as $key => $value) {
$iCM630MDeleteSQL = DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')
foreach ($dataToWrite2 as $value) {
DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')
->where('LLCO', $cO)
->where('LLWHNO', $wHS)
->where('LLPPN', trim($value['PartNumber']))
->delete();
}
foreach ($dataToWrite2 as $key => $value) {
foreach ($dataToWrite2 as $value) {
// Check if Location exist in DE640M $value['Location']
$dE640MSQLSEL = DB::connection(config('m3.connection', 'pgsql'))->table('de640m')
->where('LVCO', $cO)
@@ -16,8 +16,11 @@ use Str;
class TransferAPI extends Controller
{
private const ZERO_PAD = '000000';
private const JSON_CONTENT_TYPE = 'application/json';
private const ORDER_CATEGORY_LABEL = ' Order Category: ';
private const NO_URL_PARAMETERS = 'No URL Parameters Sent';
// TransferAPIURL : with URL PARAMS
@@ -6,7 +6,6 @@ use Config;
use DB;
use File;
use Illuminate\Http\Request;
use Smalot\PdfParser\Parser;
use Str;
class M3GetPDFFromCacheController extends Controller
@@ -96,7 +95,6 @@ class M3GetPDFFromCacheController extends Controller
->get();
}
if (count($iCM695M1) > 0) {
$tmpCacheArr = $carrier = $trackingno = [];
// Loop the Results from $ICM595M1TMP
@@ -242,8 +242,6 @@ class OrderLinesOfClosedOrder extends Controller
// MAK Store the File to Storage
app(SpreadsheetExport::class)->store($iCM688M2Col, $prevMonthFile, 'publicCL');
return back();
} catch (\Throwable $th) {
Log::error($th);
@@ -176,7 +176,6 @@ class ReplenishSettingsController extends Controller
// $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($rEFCAT658);
return Datatables::of($rEFCAT658)->addIndexColumn()->make(true);
}
}
@@ -10,6 +10,7 @@ use Str;
class execSummaryController extends Controller
{
private const WAREHOUSE_IN_CLAUSE = "' and a5whs in (";
public static function index(Request $request)
{
$iC670M = collect();
@@ -10,8 +10,11 @@ use Str;
class execSummaryLineController extends Controller
{
private const WAREHOUSE_IN_CLAUSE = "' and a5whs in (";
private const FIRST_DAY_THIS_MONTH = 'first day of this month';
private const LAST_DAY_THIS_MONTH = 'last day of this month';
private const ONE_YEAR_AGO = '-1 year';
public static function index(Request $request)
@@ -6,7 +6,6 @@ use Illuminate\Http\Request;
use mikehaertl\pdftk\Pdf;
use Storage;
class fillBOLController extends Controller
{
public static function index(Request $request)
@@ -32,7 +31,6 @@ class fillBOLController extends Controller
dd($error);
}
$newfile = "BOL-{$bOL['BOL_number']}.pdf";
var_dump($newfile);
@@ -43,7 +41,6 @@ class fillBOLController extends Controller
dd($error);
}
$result = $pdf->fillForm([
'DTESHIPED.1' => date('d/m/Y'),
'invoice_number' => $bOL['BOL_number'],
@@ -12,9 +12,13 @@ use Modules\M3\Services\PostgresProgramBridge;
class userControlController extends Controller
{
private const AUTH_FAILURE_MESSAGE = 'Could not connect due to wrong user or password.';
private const DATABASE_NOT_FOUND_MESSAGE = 'Database not found. Try WRKRDBDIRE to check.';
private const CONNECTION_ERROR_PREFIX = 'Could not connect. Error: ';
private const PROGRAM_ERROR_PREFIX = 'Error calling program. Code: ';
private const MESSAGE_SEPARATOR = ' Msg: ';
public static function index(Request $request)
@@ -193,7 +197,6 @@ class userControlController extends Controller
}
}
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
@@ -209,11 +212,9 @@ class userControlController extends Controller
// Add Delivery Note Param
// $params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn','','00000087125');
// Start Time Tracking
// $start = microtime(true);
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->PgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
@@ -254,12 +255,10 @@ class userControlController extends Controller
$pGMERRORS = '';
// echo "B3<br>";
// connect to toolkit using DB2 credentials (can also leave blank for default authority)
try {
$conn = app(PostgresProgramBridge::class);
// echo "B4<br>";
} catch (\Throwable $e) {
$code = $e->getCode();
$msg = $e->getMessage();
@@ -279,12 +278,10 @@ class userControlController extends Controller
}
}
// $params[] = $conn->AddParameterChar('in', 10, 'userid','USRPRF',$request->USERID);
// $params[] = $conn->AddParameterChar('in', 9, 'sts','STATUS','*ENABLED');
// $params[] = $conn->AddParameterChar('in', 4, 'pwdexp','PWDEXP','*NO');
$result = $conn->CLCommand('QSYS/CHGUSRPRF USRPRF(' . $request->R428US_PWD . ') PASSWORD(' . $request->NEW_PASSWORD . ') STATUS(*ENABLED) PWDEXP(*NO)');
// echo "<script>alert('After CHGUSRPRF');</script>";
if (! $result) {
$pGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
@@ -299,6 +296,7 @@ class userControlController extends Controller
}
}
private static function programBridgeConnectionError(\Throwable $exception): string
{
$code = (int) $exception->getCode();
@@ -309,5 +307,4 @@ class userControlController extends Controller
default => 'error profile5',
};
}
}
@@ -23,7 +23,6 @@ class userPickingStats4 extends Controller
}
// #$min_work_hours_for_break = 4;
$min_work_hours_for_break = implode(',', Config::get('arrays.min_work_hours_for_break'));
// #$ignore_picks_that_last_longer_than_this_many_hours = 8;
$ignore_picks_that_last_longer_than_this_many_hours = implode(',', Config::get('arrays.ignore_picks_that_last_longer_than_this_many_hours'));
@@ -13,7 +13,7 @@ class userPickingStats5 extends Controller
{
public static function index(Request $request)
{
[$userArray, $co, $whs] = self::loadUsers();
[$userArray] = self::loadUsers();
[$starting, $ending, $days] = self::dateRange($request);
$user = $request->user;
$statistics = [];
@@ -9,7 +9,6 @@ use DB;
use Dompdf\Dompdf;
use File;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Log;
use Modules\M3\Services\PostgresProgramBridge;
use PDF;
@@ -65,7 +64,6 @@ class utilitiesContoller extends Controller
// Add Delivery Note Param
$params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
// Start Time Tracking
$start = microtime(true);
@@ -100,7 +98,6 @@ class utilitiesContoller extends Controller
// Parse PDF file and build necessary objects.
$parser = new Parser;
$pdfFile = File::get('/www/sentm3test/htdocs/labels/' . $pdfFileName . '.pdf');
// Transform content to base64
@@ -246,7 +243,7 @@ class utilitiesContoller extends Controller
$gS1SEQUENCE = isset($gS1SEQUENCESel) ? $gS1SEQUENCESel : 0;
// Loop PackagesArray : Build Table for PDF and Insert to ICM695m3
foreach ($gSArray['PackagesArray'] as $key => $value) {
foreach ($gSArray['PackagesArray'] as $value) {
$table_style = $packageNum < $packageCount ? ' style="page-break-after: always;" ' : '';
$a2INTBOX = trim($value);
@@ -394,7 +391,6 @@ class utilitiesContoller extends Controller
// DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
// ->insert(['A2CO'=> $cOMPANY,'A2WHS'=> $wHS,'A2MACPKR'=> $macpkr,'A2GS1LABEL'=> $gs1_128_bc]);
return json_encode(['result' => 'success', 'GS1File' => $gS1FileNameNoRoot]);
} catch (\Throwable $th) {
@@ -409,8 +405,6 @@ class utilitiesContoller extends Controller
{
print_r('>>> Generate PDF');
$data = [
'from' => 'Any Vendor<br>123 Any Street<br>SomeTown, ST 01234',
'ship_to' => 'True Value Hardware<br>123 Any Street<br>SomeTown, ST 01234',
@@ -499,7 +493,6 @@ class utilitiesContoller extends Controller
</body>
</html>';
// Initialize Dompdf
$dompdf = new Dompdf;
$dompdf->loadHtml($html);
@@ -577,7 +570,6 @@ class utilitiesContoller extends Controller
$response = $controller->processShipment($myRequest);
$responseData = $response->getData();
// dump($responseJSON);
$error = isset($responseData->error) ? $responseData->error : '';
@@ -4,7 +4,6 @@ namespace Modules\M3\Http\Controllers;
use DB;
use Illuminate\Http\Request;
use Str;
class whsePerfDetailsController extends Controller
{
@@ -14,14 +13,6 @@ class whsePerfDetailsController extends Controller
$date_in = isset($request->date) ? date('Y-m-d', strtotime($request->date)) : date('Y-m-d');
$for = isset($request->for) ? $request->for : 'a';
$username = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// Get Logged User CO & WH & PL
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $username)
->first();
$all = "tempfile4 as (
select a5macpkr, a4shshnm, a4shipvia1, interco, a4shiptype, sum(dollarvalue) as dollarvalue, sum(weight) as weight, max(source) as source
from tempfile3
@@ -38,7 +38,8 @@ Solon Sentinel Portal - Orders On Hold Summary
<label for="inputWhs" class="col-sm-2 col-form-label">Please choose Selling warehouse subset</label>
@foreach($whs_list as $key => $val)
<label for="sonar-input-5fd2d62166" class="visually-hidden">sonar input 5fd2d62166</label>
<input value="{{ $val- id="sonar-input-5fd2d62166">SLSRWH }}" id="whs" name="whs[]" type="checkbox" aria-describedby="textHelpBlock"
<label for="whs" class="visually-hidden">whs</label>
<input value="{{ $val->SLSRWH }}" id="whs" name="whs[]" type="checkbox" aria-describedby="textHelpBlock"
@if(array_key_exists($val->SLSRWH, $checked_whs)) checked @endif
> {{ $val->SLSRWH }} &nbsp; &nbsp; &nbsp;
@endforeach
@@ -29,37 +29,37 @@
<div class="form-group">
<label for="sonar-input-9efe270e0a">Customer Number</label>
<input type="text" class="form-control" name="AUSTCN"
value="{{ trim($shipTo- id="sonar-input-9efe270e0a">AUSTCN) }}">
value="{{ trim($shipTo->AUSTCN) }}" id="sonar-input-9efe270e0a">
</div>
<div class="form-group">
<label for="sonar-input-7c20b39e9b">Company Name &bull;</label>
<input type="text" class="form-control" name="AUSHSHNM"
value="{{ old('AUSHSHNM', trim($shipTo- id="sonar-input-7c20b39e9b">AUSHSHNM)) }}" required maxlength="36">
value="{{ old('AUSHSHNM', trim($shipTo->AUSHSHNM)) }}" required maxlength="36" id="sonar-input-7c20b39e9b">
</div>
<div class="form-group">
<label for="sonar-input-2f1f7536fe">Address 1 &bull;</label>
<input type="text" class="form-control" name="AUSHSHA1"
value="{{ old('AUSHSHA1', trim($shipTo- id="sonar-input-2f1f7536fe">AUSHSHA1)) }}" required maxlength="36">
value="{{ old('AUSHSHA1', trim($shipTo->AUSHSHA1)) }}" required maxlength="36" id="sonar-input-2f1f7536fe">
</div>
<div class="form-group">
<label for="sonar-input-1709fb5d67">Address 2 &bull;</label>
<input type="text" class="form-control" name="AUSHSHA2"
value="{{ old('AUSHSHA2', trim($shipTo- id="sonar-input-1709fb5d67">AUSHSHA2)) }}" required maxlength="36">
value="{{ old('AUSHSHA2', trim($shipTo->AUSHSHA2)) }}" required maxlength="36" id="sonar-input-1709fb5d67">
</div>
<div class="form-group">
<label for="sonar-input-fb35089be3">Address 3</label>
<input type="text" class="form-control" name="AUSHSHA3"
value="{{ old('AUSHSHA3', trim($shipTo- id="sonar-input-fb35089be3">AUSHSHA3)) }}" maxlength="36">
value="{{ old('AUSHSHA3', trim($shipTo->AUSHSHA3)) }}" maxlength="36" id="sonar-input-fb35089be3">
</div>
<div class="form-group">
<label for="sonar-input-5452b56d11">Address 4</label>
<input type="text" class="form-control" name="AUSHSHA4"
value="{{ old('AUSHSHA4', trim($shipTo- id="sonar-input-5452b56d11">AUSHSHA4)) }}" maxlength="36">
value="{{ old('AUSHSHA4', trim($shipTo->AUSHSHA4)) }}" maxlength="36" id="sonar-input-5452b56d11">
</div>
<div class="form-group">
<label for="sonar-input-a1059c7901">City &bull;</label>
<input type="text" class="form-control" name="AUSHSHCI"
value="{{ old('AUSHSHCI', trim($shipTo- id="sonar-input-a1059c7901">AUSHSHCI)) }}" required maxlength="20">
value="{{ old('AUSHSHCI', trim($shipTo->AUSHSHCI)) }}" required maxlength="20" id="sonar-input-a1059c7901">
</div>
<div class="form-group">
<label for="sonar-select-9efe270e0a">State &bull;</label>
@@ -75,16 +75,16 @@
</div>
<div class="form-group">
<label for="sonar-input-07cebce94f">Zip Code</label>
<input type="text" class="form-control" value="{{ trim($shipTo- id="sonar-input-07cebce94f">AUSHSHZP) }}" readonly>
<input type="text" class="form-control" value="{{ trim($shipTo->AUSHSHZP) }}" readonly id="sonar-select-9efe270e0a">
</div>
<div class="form-group">
<label for="sonar-input-8b496b4c51">Country Code &bull;</label>
<input type="text" class="form-control" name="AUSHSHCT"
value="{{ old('AUSHSHCT', trim($shipTo- id="sonar-input-8b496b4c51">AUSHSHCT)) }}" required maxlength="3">
value="{{ old('AUSHSHCT', trim($shipTo->AUSHSHCT)) }}" required maxlength="3" id="sonar-input-8b496b4c51">
</div>
<div class="form-group">
<label for="sonar-input-2b51446d4a">Warehouse</label>
<input type="text" class="form-control" value="{{ $shipTo- id="sonar-input-2b51446d4a">AUSHWHS }}" readonly>
<input type="text" class="form-control" value="{{ $shipTo->AUSHWHS }}" readonly id="sonar-input-2b51446d4a">
</div>
<div class="form-group mt-3 mb-2">
@@ -118,11 +118,11 @@
<td> {{ $val->R428PWRUSR }} </td>
<td> {{ $val->R42811A }} </td>
<td> {{ $val->R42821A }} </td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU2OPT) }} </font></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU3OPT) }} </font></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU4OPT) }} </font></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU5OPT) }} </font></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU6OPT) }} </font></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU2OPT) }} </span></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU3OPT) }} </span></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU4OPT) }} </span></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU5OPT) }} </span></pre></td>
<td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU6OPT) }} </span></pre></td>
</tr>
@endforeach
<!-- endif-->
@@ -26,15 +26,15 @@ Change Warehouse
@csrf
<div class="form-group">
<label for="sonar-input-06ac09682b">User profile</label>
<input type="text" class="form-control" name="R428US" value="{{ trim($ICM428M- id="sonar-input-06ac09682b">R428US) }}" readonly>
<input type="text" class="form-control" name="R428US" value="{{ trim($ICM428M->R428US) }}" readonly id="sonar-input-06ac09682b">
</div>
<div class="form-group">
<label for="sonar-input-95fa12106e">First Name</label>
<input type="text" class="form-control" value="{{ trim($ICM428M- id="sonar-input-95fa12106e">R428FIRST) }}" readonly>
<input type="text" class="form-control" value="{{ trim($ICM428M->R428FIRST) }}" readonly id="sonar-input-95fa12106e">
</div>
<div class="form-group">
<label for="sonar-input-a6f8891ebe">Family Name</label>
<input type="text" class="form-control" value="{{ trim($ICM428M- id="sonar-input-a6f8891ebe">R428FAMILY) }}" readonly>
<input type="text" class="form-control" value="{{ trim($ICM428M->R428FAMILY) }}" readonly id="sonar-input-a6f8891ebe">
</div>
<div class="form-group">
<label for="sonar-select-06ac09682b">Div-Plt-Whs</label>
@@ -162,7 +162,7 @@
<font style="color:green">
@endif
{{ (($val->AVANOTESCL+$val->AVANOTESCH+$val->AVANOTESOP)!='0'?number_format(($val->AVANOTESCL+$val->AVANOTESCH)/($val->AVANOTESCL+$val->AVANOTESCH+$val->AVANOTESOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{$val->AVLNOTESCL}}</td>
@@ -176,7 +176,7 @@
<font style="color:green">
@endif
{{ (($val->AVLNOTESCL+$val->AVLNOTESCH+$val->AVLNOTESOP)!='0'?number_format(($val->AVLNOTESCL+$val->AVLNOTESCH)/($val->AVLNOTESCL+$val->AVLNOTESCH+$val->AVLNOTESOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{$val->AVPNOTESCL}}</td>
@@ -190,7 +190,7 @@
<font style="color:green">
@endif
{{ (($val->AVPNOTESCL+$val->AVPNOTESCH+$val->AVPNOTESOP)!='0'?number_format(($val->AVPNOTESCL+$val->AVPNOTESCH)/($val->AVPNOTESCL+$val->AVPNOTESCH+$val->AVPNOTESOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{$val->AVINOTESCL}}</td>
@@ -210,7 +210,7 @@
<font style="color:green">
@endif
{{ (($val->AVADLRCL+$val->AVADLRCH+$val->AVADLROP)!='0'?number_format(($val->AVADLRCL+$val->AVADLRCH)/($val->AVADLRCL+$val->AVADLRCH+$val->AVADLROP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">${{number_format($val->AVLDLRCL,0)}}</td>
@@ -224,7 +224,7 @@
<font style="color:green">
@endif
{{ (($val->AVLDLRCL+$val->AVLDLRCH+$val->AVLDLROP)!='0'?number_format(($val->AVLDLRCL+$val->AVLDLRCH)/($val->AVLDLRCL+$val->AVLDLRCH+$val->AVLDLROP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">${{number_format($val->AVPDLRCL,0)}}</td>
@@ -238,7 +238,7 @@
<font style="color:green">
@endif
{{ (($val->AVPDLRCL+$val->AVPDLRCH+$val->AVPDLROP)!='0'?number_format(($val->AVPDLRCL+$val->AVPDLRCH)/($val->AVPDLRCL+$val->AVPDLRCH+$val->AVPDLROP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">${{number_format($val->AVIDLRCL,0)}}</td>
@@ -258,7 +258,7 @@
<font style="color:green">
@endif
{{ (($val->AVAWGTCL+$val->AVAWGTCH+$val->AVAWGTOP)!='0'?number_format(($val->AVAWGTCL+$val->AVAWGTCH)/($val->AVAWGTCL+$val->AVAWGTCH+$val->AVAWGTOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{number_format($val->AVLWGTCL,0)}}</td>
@@ -272,7 +272,7 @@
<font style="color:green">
@endif
{{ (($val->AVLWGTCL+$val->AVLWGTCH+$val->AVLWGTOP)!='0'?number_format(($val->AVLWGTCL+$val->AVLWGTCH)/($val->AVLWGTCL+$val->AVLWGTCH+$val->AVLWGTOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{number_format($val->AVPWGTCL,0)}}</td>
@@ -286,7 +286,7 @@
<font style="color:green">
@endif
{{ (($val->AVPWGTCL+$val->AVPWGTCH+$val->AVPWGTOP)!='0'?number_format(($val->AVPWGTCL+$val->AVPWGTCH)/($val->AVPWGTCL+$val->AVPWGTCH+$val->AVPWGTOP)*100,0):'0') }}%
</font>
</span>
</td>
<td></td>
<td class="text-right">{{number_format($val->AVIWGTCL,0)}}</td>
@@ -24,7 +24,8 @@
<tr>
<td><b>Ship Via</b></td> <!-- ALPHA -->
<td class="text-right">
<input type="hidden" name="OLD_AVSHPVIA" id="OLD_AVSHPVIA">
<label for="OLD_AVSHPVIA" class="visually-hidden">OLD AVSHPVIA</label>
<input type="hidden" name="OLD_AVSHPVIA" id="OLD_AVSHPVIA">
<select id="AVSHPVIA" name="AVSHPVIA">
<option value="">Select Ship Via</option>
@foreach($shipvia as $key=>$val)
@@ -36,7 +37,8 @@
<tr>
<td><b>Sentinel Route</b></td> <!-- ALPHA -->
<td class="text-right">
<input type="hidden" name="OLD_AVSHSRT" id="OLD_AVSHSRT">
<label for="OLD_AVSHSRT" class="visually-hidden">OLD AVSHSRT</label>
<input type="hidden" name="OLD_AVSHSRT" id="OLD_AVSHSRT">
<select id="AVSHSRT" name="AVSHSRT">
<option value=" "></option>
<option value="GR">GR</option>
@@ -47,7 +49,8 @@
<tr>
<td><b>International Code</b></td> <!-- ALPHA -->
<td class="text-right">
<input type="hidden" name="OLD_AVSHORCL" id="OLD_AVSHORCL">
<label for="OLD_AVSHORCL" class="visually-hidden">OLD AVSHORCL</label>
<input type="hidden" name="OLD_AVSHORCL" id="OLD_AVSHORCL">
<select id="AVSHORCL" name="AVSHORCL">
<option value=" " selected></option>
<option value="Y">002 - International</option>
@@ -28,14 +28,14 @@
<td class="text-left smalltxt" id="ORIG_PSHA1">{!! (isset($original->PSHA1)&&trim($original->PSHA1)!=''?trim($original->PSHA1):'') !!}</td>
<td class="text-left smalltxt" id="OLD_SHSHA1">{!! (isset($order->SHSHA1)&&trim($order->SHSHA1)!=''?trim($order->SHSHA1):'') !!}</td>
<td class="text-right"><label for="sonar-input-deb2f9aedc" class="visually-hidden">SHSHA1</label>
<input maxlength="30" class="myinput toUpper" type="text" name="SHSHA1" value="{!! (isset($order- id="sonar-input-deb2f9aedc">SHSHA1)&&trim($order->SHSHA1)!=''?trim($order->SHSHA1):' ') !!}"></td>
<input maxlength="30" class="myinput toUpper" type="text" name="SHSHA1" value="{!! (isset($order->SHSHA1)&&trim($order->SHSHA1)!=''?trim($order->SHSHA1):' ') !!}" id="sonar-input-deb2f9aedc"></td>
</tr>
<tr>
<td><b>Address line 2</b></td> <!-- MAX -->
<td class="text-left smalltxt" id="ORIG_PSHA2">{!! (isset($original->PSHA2)&&trim($original->PSHA2)!=''?trim($original->PSHA2):'') !!}</td>
<td class="text-left smalltxt" id="OLD_SHSHA2">{!! (isset($order->SHSHA2)&&trim($order->SHSHA2)!=''?trim($order->SHSHA2):'') !!}</td>
<td class="text-right"><label for="sonar-input-bf4a0acc70" class="visually-hidden">SHSHA2</label>
<input maxlength="30" class="myinput toUpper" type="text" name="SHSHA2" value="{!! (isset($order- id="sonar-input-bf4a0acc70">SHSHA2)&&trim($order->SHSHA2)!=''?trim($order->SHSHA2):' ') !!}"></td>
<input maxlength="30" class="myinput toUpper" type="text" name="SHSHA2" value="{!! (isset($order->SHSHA2)&&trim($order->SHSHA2)!=''?trim($order->SHSHA2):' ') !!}" id="sonar-input-bf4a0acc70"></td>
</tr>
<tr>
<td><b>City</b></td> <!-- ALPHA MAX -->
@@ -55,7 +55,7 @@
<td class="text-left smalltxt" id="ORIG_PSHZP">{!! (isset($original->PSHZP)&&trim($original->PSHZP)!=''?trim($original->PSHZP):'') !!}</td>
<td class="text-left smalltxt" id="OLD_SHSHZP">{!! (isset($order->SHSHZP)&&trim($order->SHSHZP)!=''?trim($order->SHSHZP):'') !!}</td>
<td class="text-right"><label for="sonar-input-d755055c65" class="visually-hidden">SHSHZP</label>
<input maxlength="9" class="myinput toUpper" type="text" name="SHSHZP" value="{!! (isset($order- id="sonar-input-d755055c65">SHSHZP)&&trim($order->SHSHZP)!=''?trim($order->SHSHZP):' ') !!}"></td>
<input maxlength="9" class="myinput toUpper" type="text" name="SHSHZP" value="{!! (isset($order->SHSHZP)&&trim($order->SHSHZP)!=''?trim($order->SHSHZP):' ') !!}" id="sonar-input-e043dfd88b"></td>
</tr>
<tr>
<td><b>Country</b></td> <!-- ALPHA MAX -->