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