M3 Security Fixes for scan command pass 33 major code smell fixes and style fixes

This commit is contained in:
Mark Gregory
2026-09-17 11:34:41 +01:00
parent 0a05f05843
commit 0c445f89af
69 changed files with 1786 additions and 1752 deletions
+5 -1
View File
@@ -8,11 +8,11 @@ use Illuminate\Console\Command;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Log; use Log;
use Modules\M3\Http\Controllers\API\CloseShipment; use Modules\M3\Http\Controllers\API\CloseShipment;
use Str;
class CallCloseAPI extends Command class CallCloseAPI extends Command
{ {
protected $signature = 'command:CallCloseAPI {user?} {manifest?} {co?} {whs?} '; protected $signature = 'command:CallCloseAPI {user?} {manifest?} {co?} {whs?} ';
protected $description = 'Call Close API'; protected $description = 'Call Close API';
public function handle() public function handle()
@@ -24,9 +24,11 @@ class CallCloseAPI extends Command
return $this->closeSpecificManifest($manifest, (string) ($this->argument('co') ?? ''), (string) ($this->argument('whs') ?? '')); return $this->closeSpecificManifest($manifest, (string) ($this->argument('co') ?? ''), (string) ($this->argument('whs') ?? ''));
} }
$this->closePendingManifests(); $this->closePendingManifests();
return self::SUCCESS; return self::SUCCESS;
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::channel('dailyCron')->error($th); Log::channel('dailyCron')->error($th);
return self::FAILURE; return self::FAILURE;
} }
} }
@@ -55,9 +57,11 @@ class CallCloseAPI extends Command
->where('APSPARE2', '')->where('APCO', $co)->where('APWHS', $whs)->where('APMANIFEST', $manifest)->exists(); ->where('APSPARE2', '')->where('APCO', $co)->where('APWHS', $whs)->where('APMANIFEST', $manifest)->exists();
if (! $exists) { if (! $exists) {
Log::channel('dailyCron')->warning('Manifest not available for close', compact('manifest', 'co', 'whs')); Log::channel('dailyCron')->warning('Manifest not available for close', compact('manifest', 'co', 'whs'));
return self::FAILURE; return self::FAILURE;
} }
$this->closeManifest($manifest, $co, $whs); $this->closeManifest($manifest, $co, $whs);
return self::SUCCESS; return self::SUCCESS;
} }
+4 -5
View File
@@ -100,7 +100,7 @@ class ClosedOrderSaveXls extends Command
str_replace('-', '', $to), str_replace('-', '', $to),
$file, $file,
! Storage::disk('publicCL')->exists($file), ! Storage::disk('publicCL')->exists($file),
'Last Month' 'Last Month',
); );
} }
@@ -122,7 +122,7 @@ class ClosedOrderSaveXls extends Command
str_replace('-', '', $to), str_replace('-', '', $to),
$file, $file,
true, true,
'Current Month' 'Current Month',
); );
} }
@@ -134,7 +134,7 @@ class ClosedOrderSaveXls extends Command
string $to, string $to,
string $file, string $file,
bool $shouldGenerate, bool $shouldGenerate,
string $label string $label,
): void { ): void {
$this->info('From Date: ' . $from); $this->info('From Date: ' . $from);
$this->info('To Date: ' . $to); $this->info('To Date: ' . $to);
@@ -222,8 +222,7 @@ SQL;
Log::channel('dailyCron')->info( Log::channel('dailyCron')->info(
'Maximum allowed records for Excel export is: ' . number_format($maxRecords) 'Maximum allowed records for Excel export is: ' . number_format($maxRecords)
. ' current records: ' . number_format($count) . ' current records: ' . number_format($count),
); );
} }
} }
+39 -39
View File
@@ -59,15 +59,15 @@ class GenerateGS1Cmd extends Command
// Get the Calling User // Get the Calling User
$userId = $this->argument('user'); $userId = $this->argument('user');
$SHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : 'TWOSHIP'); $sHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : 'TWOSHIP');
$this->info('User: ' . $SHUSER); $this->info('User: ' . $sHUSER);
// Get Manifest Array // Get Manifest Array
$GSArray1 = $this->option('gsarray'); $gSArray1 = $this->option('gsarray');
$GSArray = json_decode($GSArray1, true); $gSArray = json_decode($gSArray1, true);
// MAK : Used for debug only // MAK : Used for debug only
$GSArray = ['Macpkr' => '55555', 'Recipient_Address1' => '9571 Pan American DR', 'Recipient_Address2' => 'C/O AEE Solar', 'Recipient_City' => 'El Paso', $gSArray = ['Macpkr' => '55555', 'Recipient_Address1' => '9571 Pan American DR', 'Recipient_Address2' => 'C/O AEE Solar', 'Recipient_City' => 'El Paso',
'Recipient_CompanyName' => 'SNAPRACK EL PASO PRODUCTION', 'Recipient_CountryCode' => 'US', 'Recipient_PostalCode' => '79927', 'Recipient_State' => 'TX', 'Recipient_CompanyName' => 'SNAPRACK EL PASO PRODUCTION', 'Recipient_CountryCode' => 'US', 'Recipient_PostalCode' => '79927', 'Recipient_State' => 'TX',
'Sender_Address1' => '6800 Arnold Miller Pkwy', 'Sender_Address2' => '', 'Sender_City' => 'Solon', 'Sender_Address1' => '6800 Arnold Miller Pkwy', 'Sender_Address2' => '', 'Sender_City' => 'Solon',
'Sender_CompanyName' => 'Erico International', 'Sender_Country' => 'US', 'Sender_PostalCode' => '44139', 'Sender_State' => 'OH', 'Sender_CompanyName' => 'Erico International', 'Sender_Country' => 'US', 'Sender_PostalCode' => '44139', 'Sender_State' => 'OH',
@@ -75,19 +75,19 @@ class GenerateGS1Cmd extends Command
'PackagesArray' => ['package 1', 'package 2'], 'PackagesArray' => ['package 1', 'package 2'],
]; ];
if ($SHUSER != '') { if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M // Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; // Company $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : ''; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; // Plant $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : ''; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; // WareHouse $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : ''; // WareHouse
$Macpkr = $GSArray['Macpkr']; $macpkr = $gSArray['Macpkr'];
$packageType = '0'; $packageType = '0';
$manufactID = '0826528'; // MAK : get ID from Nvent and save to Config File $manufactID = '0826528'; // MAK : get ID from Nvent and save to Config File
$total_length = 9; $total_length = 9;
@@ -121,25 +121,25 @@ class GenerateGS1Cmd extends Command
<body style="font-family: Arial, sans-serif;">'; <body style="font-family: Arial, sans-serif;">';
// Get number of Pallets // Get number of Pallets
$packageCount = count($GSArray['PackagesArray']); $packageCount = count($gSArray['PackagesArray']);
$packageNum = 1; $packageNum = 1;
foreach ($GSArray['PackagesArray'] as $key => $value) { foreach ($gSArray['PackagesArray'] as $key => $value) {
$table_style = $packageNum < $packageCount ? ' style="page-break-after: always;" ' : ''; $table_style = $packageNum < $packageCount ? ' style="page-break-after: always;" ' : '';
if (Cache::has('GS1SEQUENCE')) { if (Cache::has('GS1SEQUENCE')) {
$GS1SEQUENCE = Cache::get('GS1SEQUENCE'); $gS1SEQUENCE = Cache::get('GS1SEQUENCE');
$GS1SEQUENCE++; $gS1SEQUENCE++;
$GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, '0', STR_PAD_LEFT); $gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, '0', STR_PAD_LEFT);
} }
// Box Number Not Found Get it from DB // Box Number Not Found Get it from DB
else { else {
$GS1SEQUENCE = 1; $gS1SEQUENCE = 1;
$GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, '0', STR_PAD_LEFT); $gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, '0', STR_PAD_LEFT);
} }
Cache::forever('GS1SEQUENCE', $GS1SEQUENCEID); Cache::forever('GS1SEQUENCE', $gS1SEQUENCEID);
$this->info('>>> GS1 sequence Id: ' . $GS1SEQUENCEID); $this->info('>>> GS1 sequence Id: ' . $gS1SEQUENCEID);
$gs1_128_bc_1 = '00' . $packageType . $manufactID . $GS1SEQUENCEID; $gs1_128_bc_1 = '00' . $packageType . $manufactID . $gS1SEQUENCEID;
// Calculate Check Digit // Calculate Check Digit
$digits = str_split($gs1_128_bc_1); $digits = str_split($gs1_128_bc_1);
@@ -160,17 +160,17 @@ class GenerateGS1Cmd extends Command
$checkDigit = ($remainder == 0) ? 0 : 10 - $remainder; $checkDigit = ($remainder == 0) ? 0 : 10 - $remainder;
$gs1_128_bc = $gs1_128_bc_1 . $checkDigit; $gs1_128_bc = $gs1_128_bc_1 . $checkDigit;
$gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $GS1SEQUENCEID . $checkDigit; $gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $gS1SEQUENCEID . $checkDigit;
$data = [ $data = [
'ship_to' => $GSArray['Recipient_CompanyName'] . '<br>' . $GSArray['Recipient_Address1'] . '<br>' . 'ship_to' => $gSArray['Recipient_CompanyName'] . '<br>' . $gSArray['Recipient_Address1'] . '<br>' .
$GSArray['Recipient_City'] . ',' . $GSArray['Recipient_State'] $gSArray['Recipient_City'] . ',' . $gSArray['Recipient_State']
. '<br>' . $GSArray['Recipient_PostalCode'], . '<br>' . $gSArray['Recipient_PostalCode'],
'from' => $GSArray['Sender_CompanyName'] . '<br>' . $GSArray['Sender_Address1'] . '<br>' . 'from' => $gSArray['Sender_CompanyName'] . '<br>' . $gSArray['Sender_Address1'] . '<br>' .
$GSArray['Sender_City'] . ',' . $GSArray['Sender_State'] $gSArray['Sender_City'] . ',' . $gSArray['Sender_State']
. '<br>' . $GSArray['Sender_PostalCode'], . '<br>' . $gSArray['Sender_PostalCode'],
'ship_to_lbl' => '420' . $GSArray['Recipient_PostalCode'], 'ship_to_lbl' => '420' . $gSArray['Recipient_PostalCode'],
'ship_to_desc' => '(420)' . $GSArray['Recipient_PostalCode'], 'ship_to_desc' => '(420)' . $gSArray['Recipient_PostalCode'],
'pro' => '190071217845706', 'pro' => '190071217845706',
'item_number' => '10000B', 'item_number' => '10000B',
'upc' => '098506095310', 'upc' => '098506095310',
@@ -202,14 +202,14 @@ class GenerateGS1Cmd extends Command
' . $data['ship_to_desc'] . ' ' . $data['ship_to_desc'] . '
</td> </td>
<td class="border_btm margin_t align_lft"> <td class="border_btm margin_t align_lft">
Carrier: ' . $GSArray['CarrierName'] . ' <br> Carrier: ' . $gSArray['CarrierName'] . ' <br>
PRO #: ' . $GSArray['ShipmentPONumber'] . ' <br> PRO #: ' . $gSArray['ShipmentPONumber'] . ' <br>
B/L #: ' . $GSArray['BOLnumber'] . ' B/L #: ' . $gSArray['BOLnumber'] . '
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="border_btm margin_t align_lft border_rght"> <td colspan="2" class="border_btm margin_t align_lft border_rght">
PURCHASE ORDER: ' . $GSArray['Macpkr'] . ' <br> PURCHASE ORDER: ' . $gSArray['Macpkr'] . ' <br>
Vendor: ' . $manufactID . ' Vendor: ' . $manufactID . '
</td> </td>
<td colspan="2" class="border_btm margin_t align_center"> <td colspan="2" class="border_btm margin_t align_center">
@@ -246,9 +246,9 @@ class GenerateGS1Cmd extends Command
$labelsPath = Config::get('arrays.PdfPath'); $labelsPath = Config::get('arrays.PdfPath');
// Put the PDF in labels/CarrierLabel // Put the PDF in labels/CarrierLabel
$GSFolder = 'GSLabel'; $gSFolder = 'GSLabel';
$carrierFileName = $GSFolder . '_' . $Macpkr . '_' . $COMPANY . '_' . $WHS; $carrierFileName = $gSFolder . '_' . $macpkr . '_' . $cOMPANY . '_' . $wHS;
file_put_contents($labelsPath . $GSFolder . '/' . $carrierFileName . '.pdf', $pdfContent); file_put_contents($labelsPath . $gSFolder . '/' . $carrierFileName . '.pdf', $pdfContent);
// Check if the PDF was generated correctly // Check if the PDF was generated correctly
// if (!file_exists($tempPdfPath) || filesize($tempPdfPath) === 0) { // if (!file_exists($tempPdfPath) || filesize($tempPdfPath) === 0) {
+20 -20
View File
@@ -21,7 +21,7 @@ class Helper
$token = Cache::get('token'); $token = Cache::get('token');
if (isset($token)) { if (isset($token)) {
$IonToken = $token; $ionToken = $token;
} else { } else {
// ## CURL // ## CURL
// ## Generate Token // ## Generate Token
@@ -55,9 +55,9 @@ class Helper
'message' => 'Token Verification Error...' . curl_error($curl), 'message' => 'Token Verification Error...' . curl_error($curl),
]); ]);
} elseif (isset($responseJ->access_token)) { } elseif (isset($responseJ->access_token)) {
$IonToken = $responseJ->access_token; $ionToken = $responseJ->access_token;
Cache::put('token', $IonToken, now()->addMinutes(59)); Cache::put('token', $ionToken, now()->addMinutes(59));
} else { } else {
return response()->json([ return response()->json([
'code' => '400', 'code' => '400',
@@ -69,9 +69,9 @@ class Helper
curl_close($curl); curl_close($curl);
} }
return $IonToken; return $ionToken;
// 'code' => '200', // 'code' => '200',
// 'token' => $IonToken // 'token' => $ionToken
// ]); // ]);
} }
@@ -88,7 +88,7 @@ class Helper
$token = Cache::get('token'); $token = Cache::get('token');
if (isset($token)) { if (isset($token)) {
$IonToken = $token; $ionToken = $token;
} else { } else {
// ## CURL // ## CURL
// ## Generate Token // ## Generate Token
@@ -127,8 +127,8 @@ class Helper
'message' => 'Token Verification Error...' . curl_error($curl), 'message' => 'Token Verification Error...' . curl_error($curl),
]); ]);
} elseif (isset($responseJ->access_token)) { } elseif (isset($responseJ->access_token)) {
$IonToken = $responseJ->access_token; $ionToken = $responseJ->access_token;
Cache::put('token', $IonToken, now()->addMinutes(59)); Cache::put('token', $ionToken, now()->addMinutes(59));
} else { } else {
// Clear Cache // Clear Cache
Cache::forget('token'); Cache::forget('token');
@@ -143,7 +143,7 @@ class Helper
return response()->json([ return response()->json([
'code' => '200', 'code' => '200',
'token' => $IonToken, 'token' => $ionToken,
]); ]);
} }
@@ -254,34 +254,34 @@ class Helper
public static function checkLength($JSONL, $DBL, $TYPE) public static function checkLength($JSONL, $DBL, $TYPE)
{ {
// Check type // Check type
$JSONType = gettype($JSONL); $jSONType = gettype($JSONL);
switch ($JSONType) { switch ($jSONType) {
case 'string': case 'string':
$JSONTypeConv = 'string'; $jSONTypeConv = 'string';
break; break;
case 'double': case 'double':
$JSONTypeConv = 'number'; $jSONTypeConv = 'number';
break; break;
case 'integer': case 'integer':
$JSONTypeConv = 'number'; $jSONTypeConv = 'number';
break; break;
default: default:
$JSONTypeConv = 'null'; $jSONTypeConv = 'null';
break; 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
$LengthOK[413] = (strlen($JSONL) <= $DBL) ? true : false; $lengthOK[413] = (strlen($JSONL) <= $DBL) ? true : false;
// Empty Fields // Empty Fields
$LengthOK[411] = true; // !empty($JSONL) ? true : false ; $lengthOK[411] = true; // !empty($JSONL) ? true : false ;
// Wrong Types // Wrong Types
$LengthOK[417] = true; // $JSONTypeConv == $TYPE ? true : false ; $lengthOK[417] = true; // $jSONTypeConv == $TYPE ? true : false ;
// Log::info($LengthOK); // Log::info($lengthOK);
return $LengthOK; return $lengthOK;
} }
public static function sanityzeString($StrTosanityze) public static function sanityzeString($StrTosanityze)
File diff suppressed because it is too large Load Diff
+210 -210
View File
@@ -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
@@ -22,15 +22,15 @@ class M3Controller extends Controller
// dump($dataSplit); // dump($dataSplit);
$commentDataSS = explode("\n", $dataSplit); $commentDataSS = explode("\n", $dataSplit);
$AXLINENO = 1; $aXLINENO = 1;
foreach ($commentDataSS as $substring) { foreach ($commentDataSS as $substring) {
// Process each substring // Process each substring
$fullData = $commentData; $fullData = $commentData;
$fullData['AXCOMMENT'] = $substring; $fullData['AXCOMMENT'] = $substring;
$fullData['AXLINENO'] = $AXLINENO; $fullData['AXLINENO'] = $aXLINENO;
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm666m2')->insert($fullData); $insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm666m2')->insert($fullData);
$AXLINENO++; $aXLINENO++;
// AXCO ICM666M2 CHARACTER 3 // AXCO ICM666M2 CHARACTER 3
// AXWHS ICM666M2 CHARACTER 3 // AXWHS ICM666M2 CHARACTER 3
@@ -57,10 +57,10 @@ class M3Controller extends Controller
ini_set('max_input_time', Config::get('arrays.PHPTimeOut')); ini_set('max_input_time', Config::get('arrays.PHPTimeOut'));
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut')); ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
$REQKPKUS = m3_user() !== '' ? Str::upper(m3_user()) : 'WEBUSER'; $rEQKPKUS = m3_user() !== '' ? Str::upper(m3_user()) : 'WEBUSER';
$SHSOURCE = 'M3ReceiverAPI'; $sHSOURCE = 'M3ReceiverAPI';
$ICM666MFields = [ $iCM666MFields = [
'Company' => ['A1CO', 3, 'string'], 'Company' => ['A1CO', 3, 'string'],
'Warehouse' => ['A1WHS', 3, 'string'], 'Warehouse' => ['A1WHS', 3, 'string'],
'Plant' => ['A1PLANT', 3, 'string'], 'Plant' => ['A1PLANT', 3, 'string'],
@@ -137,30 +137,30 @@ class M3Controller extends Controller
$jsonFile = count($request->json()->all()) > 0 ? $request->json()->all() : ''; $jsonFile = count($request->json()->all()) > 0 ? $request->json()->all() : '';
// Root // Root
$Company = isset($jsonFile['Company']) ? $jsonFile['Company'] : ''; $company = isset($jsonFile['Company']) ? $jsonFile['Company'] : '';
$Plant = isset($jsonFile['Plant']) ? $jsonFile['Plant'] : ''; $plant = isset($jsonFile['Plant']) ? $jsonFile['Plant'] : '';
$Warehouse = isset($jsonFile['Warehouse']) ? $jsonFile['Warehouse'] : ''; $warehouse = isset($jsonFile['Warehouse']) ? $jsonFile['Warehouse'] : '';
$OrderNumber = isset($jsonFile['OrderNumber']) ? $jsonFile['OrderNumber'] : ''; $orderNumber = isset($jsonFile['OrderNumber']) ? $jsonFile['OrderNumber'] : '';
$PickerNumber = isset($jsonFile['PickerNumber']) ? $jsonFile['PickerNumber'] : ''; $pickerNumber = isset($jsonFile['PickerNumber']) ? $jsonFile['PickerNumber'] : '';
$PromDate = isset($jsonFile['PromDate']) ? $jsonFile['PromDate'] : ''; $promDate = isset($jsonFile['PromDate']) ? $jsonFile['PromDate'] : '';
$RouteCode = isset($jsonFile['RouteCode']) ? $jsonFile['RouteCode'] : ''; $routeCode = isset($jsonFile['RouteCode']) ? $jsonFile['RouteCode'] : '';
$OrderCategory = isset($jsonFile['OrderCategory']) ? $jsonFile['OrderCategory'] : ''; $orderCategory = isset($jsonFile['OrderCategory']) ? $jsonFile['OrderCategory'] : '';
$ReleaseNumber = isset($jsonFile['ReleaseNumber']) ? $jsonFile['ReleaseNumber'] : ''; $releaseNumber = isset($jsonFile['ReleaseNumber']) ? $jsonFile['ReleaseNumber'] : '';
$ShipmentNumber = isset($jsonFile['ShipmentNumber']) ? $jsonFile['ShipmentNumber'] : ''; $shipmentNumber = isset($jsonFile['ShipmentNumber']) ? $jsonFile['ShipmentNumber'] : '';
$Currency = isset($jsonFile['Currency']) ? $jsonFile['Currency'] : ''; $currency = isset($jsonFile['Currency']) ? $jsonFile['Currency'] : '';
$CarrierCode = isset($jsonFile['CarrierCode']) ? $jsonFile['CarrierCode'] : ''; $carrierCode = isset($jsonFile['CarrierCode']) ? $jsonFile['CarrierCode'] : '';
$ShipmentPONumber = isset($jsonFile['ShipmentPONumber']) ? $jsonFile['ShipmentPONumber'] : ''; // CustPo $shipmentPONumber = isset($jsonFile['ShipmentPONumber']) ? $jsonFile['ShipmentPONumber'] : ''; // CustPo
$ShipTerms = isset($jsonFile['ShipTerms']) ? $jsonFile['ShipTerms'] : ''; $shipTerms = isset($jsonFile['ShipTerms']) ? $jsonFile['ShipTerms'] : '';
$OrderClass = isset($jsonFile['OrderClass']) ? $jsonFile['OrderClass'] : ''; $orderClass = isset($jsonFile['OrderClass']) ? $jsonFile['OrderClass'] : '';
$GS1Label = isset($jsonFile['GS1-128Label']) ? $jsonFile['GS1-128Label'] : '0'; $gS1Label = isset($jsonFile['GS1-128Label']) ? $jsonFile['GS1-128Label'] : '0';
$CurrencyExchangeRate = isset($jsonFile['CurrencyExchangeRate']) ? $jsonFile['CurrencyExchangeRate'] : ''; $currencyExchangeRate = isset($jsonFile['CurrencyExchangeRate']) ? $jsonFile['CurrencyExchangeRate'] : '';
// Set Carrier BWAY if it's empty for Tilburg only // Set Carrier BWAY if it's empty for Tilburg only
if (($CarrierCode == '' || $CarrierCode == null) && $Warehouse == '111' && $Company == '410' && $Plant == '410') { if (($carrierCode == '' || $carrierCode == null) && $warehouse == '111' && $company == '410' && $plant == '410') {
$CarrierCode = 'BWAY'; $carrierCode = 'BWAY';
} }
$SHMACPKR = $PickerNumber != '' ? $PickerNumber : '000000'; $sHMACPKR = $pickerNumber != '' ? $pickerNumber : '000000';
if ($jsonFile != '') { if ($jsonFile != '') {
// Order Category // Order Category
@@ -174,74 +174,74 @@ class M3Controller extends Controller
// Recipient // Recipient
$recipient = $jsonFile['Recipient']; $recipient = $jsonFile['Recipient'];
$CompanyName = isset($recipient['CompanyName']) ? $recipient['CompanyName'] : ''; $companyName = isset($recipient['CompanyName']) ? $recipient['CompanyName'] : '';
$Address1 = isset($recipient['Address1']) ? $recipient['Address1'] : ''; $address1 = isset($recipient['Address1']) ? $recipient['Address1'] : '';
$Address2 = isset($recipient['Address2']) ? $recipient['Address2'] : ''; $address2 = isset($recipient['Address2']) ? $recipient['Address2'] : '';
$City = isset($recipient['City']) ? $recipient['City'] : ''; $city = isset($recipient['City']) ? $recipient['City'] : '';
$State = isset($recipient['State']) ? $recipient['State'] : ''; $state = isset($recipient['State']) ? $recipient['State'] : '';
$PostalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : ''; $postalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
$Country = isset($recipient['Country']) ? $recipient['Country'] : ''; $country = isset($recipient['Country']) ? $recipient['Country'] : '';
$PostalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : ''; $postalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
$BillToId = isset($recipient['BillToId']) ? $recipient['BillToId'] : ''; $billToId = isset($recipient['BillToId']) ? $recipient['BillToId'] : '';
$ShipToId = isset($recipient['ShipToId']) ? $recipient['ShipToId'] : ''; $shipToId = isset($recipient['ShipToId']) ? $recipient['ShipToId'] : '';
$Address3 = isset($recipient['Address3']) ? $recipient['Address3'] : ''; $address3 = isset($recipient['Address3']) ? $recipient['Address3'] : '';
$Address4 = isset($recipient['Address4']) ? $recipient['Address4'] : ''; $address4 = isset($recipient['Address4']) ? $recipient['Address4'] : '';
$CountryName = isset($recipient['CountryName']) ? $recipient['CountryName'] : ''; $countryName = isset($recipient['CountryName']) ? $recipient['CountryName'] : '';
$PersonName = isset($recipient['PersonName']) ? $recipient['PersonName'] : ''; $personName = isset($recipient['PersonName']) ? $recipient['PersonName'] : '';
$AccountNo = isset($recipient['AccountNo']) ? $recipient['AccountNo'] : ''; $accountNo = isset($recipient['AccountNo']) ? $recipient['AccountNo'] : '';
$Email = isset($recipient['Email']) ? $recipient['Email'] : ''; $email = isset($recipient['Email']) ? $recipient['Email'] : '';
$A1DATEADD = date('Ymd'); $a1DATEADD = date('Ymd');
$A1TIMEADD = date('His'); $a1TIMEADD = date('His');
// MycarrierDetails // MycarrierDetails
$ShipVia = isset($jsonFile['ShipVia']) ? $jsonFile['ShipVia'] : ''; $shipVia = isset($jsonFile['ShipVia']) ? $jsonFile['ShipVia'] : '';
// Comments // Comments
$Picker = $Packer = $Carrier = $Other = ''; $picker = $packer = $carrier = $other = '';
$AXCO = $Company; $aXCO = $company;
$AXPLANT = $Plant; $aXPLANT = $plant;
$AXWHS = $Warehouse; $aXWHS = $warehouse;
$AXDELNO = $PickerNumber; $aXDELNO = $pickerNumber;
$AXONO = $OrderNumber; $aXONO = $orderNumber;
$AXRLNO = $ReleaseNumber; $aXRLNO = $releaseNumber;
$AXSHNO = $ShipmentNumber; $aXSHNO = $shipmentNumber;
$comments = isset($jsonFile['Comments']) ? $jsonFile['Comments'] : ''; $comments = isset($jsonFile['Comments']) ? $jsonFile['Comments'] : '';
if ($comments != '') { if ($comments != '') {
foreach ($comments as $key => $comment) { foreach ($comments as $key => $comment) {
$commentData = []; $commentData = [];
$AXDOCUMENT = Helper::sanityzeString($key); $aXDOCUMENT = Helper::sanityzeString($key);
$commentData = ['AXCO' => $AXCO, 'AXPLANT' => $AXPLANT, 'AXWHS' => $AXWHS, 'AXDELNO' => $AXDELNO, 'AXONO' => $AXONO, $commentData = ['AXCO' => $aXCO, 'AXPLANT' => $aXPLANT, 'AXWHS' => $aXWHS, 'AXDELNO' => $aXDELNO, 'AXONO' => $aXONO,
'AXRLNO' => $AXRLNO, 'AXSHNO' => $AXSHNO, 'AXDOCUMENT' => $AXDOCUMENT]; 'AXRLNO' => $aXRLNO, 'AXSHNO' => $aXSHNO, 'AXDOCUMENT' => $aXDOCUMENT];
switch ($AXDOCUMENT) { switch ($aXDOCUMENT) {
case 'Picker': case 'Picker':
$Picker = isset($comment) ? Helper::sanityzeString($comment) : 'null'; $picker = isset($comment) ? Helper::sanityzeString($comment) : 'null';
if ($Picker != 'null') { if ($picker != 'null') {
$this->insertToICM666M2($Picker, $commentData); $this->insertToICM666M2($picker, $commentData);
} }
break; break;
case 'Packer': case 'Packer':
$Packer = isset($comment) ? Helper::sanityzeString($comment) : 'null'; $packer = isset($comment) ? Helper::sanityzeString($comment) : 'null';
if ($Packer != 'null') { if ($packer != 'null') {
$this->insertToICM666M2($Packer, $commentData); $this->insertToICM666M2($packer, $commentData);
} }
break; break;
case 'Carrier': case 'Carrier':
$Carrier = isset($comment) ? Helper::sanityzeString($comment) : 'null'; $carrier = isset($comment) ? Helper::sanityzeString($comment) : 'null';
if ($Carrier != 'null') { if ($carrier != 'null') {
$this->insertToICM666M2($Carrier, $commentData); $this->insertToICM666M2($carrier, $commentData);
} }
break; break;
case 'Other': case 'Other':
$Other = isset($comment) ? Helper::sanityzeString($comment) : 'null'; $other = isset($comment) ? Helper::sanityzeString($comment) : 'null';
if ($Other != 'null') { if ($other != 'null') {
$this->insertToICM666M2($Other, $commentData); $this->insertToICM666M2($other, $commentData);
} }
break; break;
@@ -255,117 +255,117 @@ class M3Controller extends Controller
$tmpProd = ''; $tmpProd = '';
$products = $jsonFile['Contents']['Commodities']; $products = $jsonFile['Contents']['Commodities'];
foreach ($products as $key => $product) { foreach ($products as $key => $product) {
$Quantity = isset($product['Quantity']) ? $product['Quantity'] : ''; $quantity = isset($product['Quantity']) ? $product['Quantity'] : '';
$Description = isset($product['Description']) ? Str::limit($product['Description'], 25, '') : ''; $description = isset($product['Description']) ? Str::limit($product['Description'], 25, '') : '';
$PartNumber = isset($product['PartNumber']) ? $product['PartNumber'] : ''; $partNumber = isset($product['PartNumber']) ? $product['PartNumber'] : '';
$OrderLine = isset($product['OrderLine']) ? $product['OrderLine'] : ''; $orderLine = isset($product['OrderLine']) ? $product['OrderLine'] : '';
$PartWeight = isset($product['PartWeight']) ? $product['PartWeight'] : ''; $partWeight = isset($product['PartWeight']) ? $product['PartWeight'] : '';
$PickerLine = isset($product['PickerLine']) ? $product['PickerLine'] : ''; $pickerLine = isset($product['PickerLine']) ? $product['PickerLine'] : '';
$PrimaryLocation = isset($product['PrimaryLocation']) ? $product['PrimaryLocation'] : ''; $primaryLocation = isset($product['PrimaryLocation']) ? $product['PrimaryLocation'] : '';
$Allocation = isset($product['Allocation']) ? $product['Allocation'] : ''; $allocation = isset($product['Allocation']) ? $product['Allocation'] : '';
$AllocatedTo = isset($product['AllocatedTo']) ? $product['AllocatedTo'] : ''; $allocatedTo = isset($product['AllocatedTo']) ? $product['AllocatedTo'] : '';
$LocationSeq = isset($product['LocationSeq']) ? $product['LocationSeq'] : ''; $locationSeq = isset($product['LocationSeq']) ? $product['LocationSeq'] : '';
$Zone = isset($product['Zone']) ? $product['Zone'] : ''; $zone = isset($product['Zone']) ? $product['Zone'] : '';
$BaseUnitPrice = isset($product['BaseUnitPrice']) ? $product['BaseUnitPrice'] : ''; $baseUnitPrice = isset($product['BaseUnitPrice']) ? $product['BaseUnitPrice'] : '';
$FrgnUnitPrice = isset($product['FrgnUnitPrice']) ? $product['FrgnUnitPrice'] : ''; $frgnUnitPrice = isset($product['FrgnUnitPrice']) ? $product['FrgnUnitPrice'] : '';
$SellUOM = isset($product['SellUOM']) ? $product['SellUOM'] : ''; $sellUOM = isset($product['SellUOM']) ? $product['SellUOM'] : '';
$PartConv = isset($product['PartConv']) ? $product['PartConv'] : ''; $partConv = isset($product['PartConv']) ? $product['PartConv'] : '';
$UOM = isset($product['UOM']) ? $product['UOM'] : ''; $uOM = isset($product['UOM']) ? $product['UOM'] : '';
$HazMat = isset($product['HazMat']) ? $product['HazMat'] : ''; $hazMat = isset($product['HazMat']) ? $product['HazMat'] : '';
$PartUPC = isset($product['PartUPC']) ? $product['PartUPC'] : ''; $partUPC = isset($product['PartUPC']) ? $product['PartUPC'] : '';
$PartEAN = isset($product['PartEAN']) ? $product['PartEAN'] : ''; $partEAN = isset($product['PartEAN']) ? $product['PartEAN'] : '';
$LotFlag = isset($product['LotFlag']) ? $product['LotFlag'] : ''; $lotFlag = isset($product['LotFlag']) ? $product['LotFlag'] : '';
$ManOrd = isset($product['ManOrd']) ? $product['ManOrd'] : ''; $manOrd = isset($product['ManOrd']) ? $product['ManOrd'] : '';
$LotNumber = isset($product['LotNumber']) ? $product['LotNumber'] : ''; $lotNumber = isset($product['LotNumber']) ? $product['LotNumber'] : '';
$ProductArea = isset($product['ProductArea']) ? $product['ProductArea'] : ''; $productArea = isset($product['ProductArea']) ? $product['ProductArea'] : '';
$FreightClass = isset($product['FreightClass']) ? $product['FreightClass'] : ''; $freightClass = isset($product['FreightClass']) ? $product['FreightClass'] : '';
$ShipmentPOLine = isset($product['ShipmentPOLine']) ? $product['ShipmentPOLine'] : ''; $shipmentPOLine = isset($product['ShipmentPOLine']) ? $product['ShipmentPOLine'] : '';
$LocationType = isset($product['LocationType']) ? $product['LocationType'] : ''; $locationType = isset($product['LocationType']) ? $product['LocationType'] : '';
$PallSize = isset($product['PallSize']) ? $product['PallSize'] : ''; $pallSize = isset($product['PallSize']) ? $product['PallSize'] : '';
$MasterCarton = isset($product['MasterCarton']) ? $product['MasterCarton'] : ''; $masterCarton = isset($product['MasterCarton']) ? $product['MasterCarton'] : '';
$MasterQty = isset($product['MasterQty']) ? $product['MasterQty'] : ''; $masterQty = isset($product['MasterQty']) ? $product['MasterQty'] : '';
$InnerQty = isset($product['InnerQty']) ? $product['InnerQty'] : ''; $innerQty = isset($product['InnerQty']) ? $product['InnerQty'] : '';
$PalletQty = isset($product['PalletQty']) ? $product['PalletQty'] : ''; $sonar_pallet_qty = isset($product['PalletQty']) ? $product['PalletQty'] : '';
$CartonQty = isset($product['CartonQty']) ? $product['CartonQty'] : ''; $cartonQty = isset($product['CartonQty']) ? $product['CartonQty'] : '';
$KitPartNumber = isset($product['KitPartNumber']) ? $product['KitPartNumber'] : ''; $kitPartNumber = isset($product['KitPartNumber']) ? $product['KitPartNumber'] : '';
$OrderLineSuffix = isset($product['OrderLineSuffix']) ? $product['OrderLineSuffix'] : ''; $orderLineSuffix = isset($product['OrderLineSuffix']) ? $product['OrderLineSuffix'] : '';
$CustomerPartNumber = isset($product['CustomerPartNumber']) ? substr($product['CustomerPartNumber'], 0, 20) : ''; // Limit to 20 Chars $customerPartNumber = isset($product['CustomerPartNumber']) ? substr($product['CustomerPartNumber'], 0, 20) : ''; // Limit to 20 Chars
// Initialise Table Fields to be filled // Initialise Table Fields to be filled
$InsertArray = []; $insertArray = [];
$fieldValues = [ $fieldValues = [
'Company' => $Company, 'Company' => $company,
'Warehouse' => $Warehouse, 'Warehouse' => $warehouse,
'Plant' => $Plant, 'Plant' => $plant,
'PickerNumber' => $PickerNumber, 'PickerNumber' => $pickerNumber,
'OrderNumber' => $OrderNumber, 'OrderNumber' => $orderNumber,
'ReleaseNumber' => $ReleaseNumber, 'ReleaseNumber' => $releaseNumber,
'ShipmentNumber' => $ShipmentNumber, 'ShipmentNumber' => $shipmentNumber,
'OrderLine' => $OrderLine, 'OrderLine' => $orderLine,
'PartNumber' => $PartNumber, 'PartNumber' => $partNumber,
'Description' => $Description, 'Description' => $description,
'Quantity' => $Quantity, 'Quantity' => $quantity,
'BaseUnitPrice' => $BaseUnitPrice, 'BaseUnitPrice' => $baseUnitPrice,
'Currency' => $Currency, 'Currency' => $currency,
'Zone' => $Zone, 'Zone' => $zone,
'PromDate' => $PromDate, 'PromDate' => $promDate,
'RouteCode' => $RouteCode, 'RouteCode' => $routeCode,
'BillToId' => $BillToId, 'BillToId' => $billToId,
'ShipToId' => $ShipToId, 'ShipToId' => $shipToId,
'CompanyName' => $CompanyName, 'CompanyName' => $companyName,
'Address1' => $Address1, 'Address1' => $address1,
'Address2' => $Address2, 'Address2' => $address2,
'Address3' => $Address3, 'Address3' => $address3,
'Address4' => $Address4, 'Address4' => $address4,
'City' => $City, 'City' => $city,
'State' => $State, 'State' => $state,
'PostalCode' => $PostalCode, 'PostalCode' => $postalCode,
'Country' => $Country, 'Country' => $country,
'CountryName' => $CountryName, 'CountryName' => $countryName,
'PartWeight' => $PartWeight, 'PartWeight' => $partWeight,
'SellUOM' => $SellUOM, 'SellUOM' => $sellUOM,
'PartConv' => $PartConv, 'PartConv' => $partConv,
'CarrierCode' => $CarrierCode, 'CarrierCode' => $carrierCode,
'ShipVia' => $ShipVia, 'ShipVia' => $shipVia,
'PrimaryLocation' => $PrimaryLocation, 'PrimaryLocation' => $primaryLocation,
'Allocation' => $Allocation, 'Allocation' => $allocation,
'AllocatedTo' => $AllocatedTo, 'AllocatedTo' => $allocatedTo,
'LocationSeq' => $LocationSeq, 'LocationSeq' => $locationSeq,
'UOM' => $UOM, 'UOM' => $uOM,
'HazMat' => $HazMat, 'HazMat' => $hazMat,
'PartUPC' => $PartUPC, 'PartUPC' => $partUPC,
'PartEAN' => $PartEAN, 'PartEAN' => $partEAN,
'LotFlag' => $LotFlag, 'LotFlag' => $lotFlag,
'ManOrd' => $ManOrd, 'ManOrd' => $manOrd,
'LotNumber' => $LotNumber, 'LotNumber' => $lotNumber,
'ProductArea' => $ProductArea, 'ProductArea' => $productArea,
'FreightClass' => $FreightClass, 'FreightClass' => $freightClass,
'ShipmentPONumber' => $ShipmentPONumber, 'ShipmentPONumber' => $shipmentPONumber,
'ShipmentPOLine' => $ShipmentPOLine, 'ShipmentPOLine' => $shipmentPOLine,
'ShipTerms' => $ShipTerms, 'ShipTerms' => $shipTerms,
'OrderClass' => $OrderClass, 'OrderClass' => $orderClass,
'LocationType' => $LocationType, 'LocationType' => $locationType,
'PallSize' => $PallSize, 'PallSize' => $pallSize,
'MasterCarton' => $MasterCarton, 'MasterCarton' => $masterCarton,
'MasterQty' => $MasterQty, 'MasterQty' => $masterQty,
'InnerQty' => $InnerQty, 'InnerQty' => $innerQty,
'PalletQty' => $PalletQty, 'PalletQty' => $sonar_pallet_qty,
'CartonQty' => $CartonQty, 'CartonQty' => $cartonQty,
'PersonName' => $PersonName, 'PersonName' => $personName,
'AccountNo' => $AccountNo, 'AccountNo' => $accountNo,
'Email' => $Email, 'Email' => $email,
'OrderCategory' => $OrderCategory, 'OrderCategory' => $orderCategory,
'A1DATEADD' => $A1DATEADD, 'A1DATEADD' => $a1DATEADD,
'A1TIMEADD' => $A1TIMEADD, 'A1TIMEADD' => $a1TIMEADD,
'KitPartNumber' => $KitPartNumber, 'KitPartNumber' => $kitPartNumber,
'OrderLineSuffix' => $OrderLineSuffix, 'OrderLineSuffix' => $orderLineSuffix,
'CustomerPartNumber' => $CustomerPartNumber, 'CustomerPartNumber' => $customerPartNumber,
'GS1Label' => $GS1Label, 'GS1Label' => $gS1Label,
'CurrencyExchangeRate' => $CurrencyExchangeRate, 'CurrencyExchangeRate' => $currencyExchangeRate,
]; ];
// Check JSON fields if empty or > DB Fields // Check JSON fields if empty or > DB Fields
foreach ($ICM666MFields as $key => $value) { foreach ($iCM666MFields as $key => $value) {
// Sanitize String // Sanitize String
$fieldValue = Helper::sanityzeString($fieldValues[$key] ?? ''); $fieldValue = Helper::sanityzeString($fieldValues[$key] ?? '');
// Check Var Types & Length // Check Var Types & Length
@@ -383,44 +383,44 @@ class M3Controller extends Controller
} }
// Write to Logs Out : Error & JSON // Write to Logs Out : Error & JSON
$data = ['SHMACPKR' => $SHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-spl', $data = ['SHMACPKR' => $sHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-spl',
'SHDATA' => json_encode($message) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse]; 'SHDATA' => json_encode($message) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $rEQKPKUS, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $company, 'SHWHS' => $warehouse];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json($message); return response()->json($message);
} elseif ($fieldValue != '') { } elseif ($fieldValue != '') {
$InsertArray[$value[0]] = $fieldValue; $insertArray[$value[0]] = $fieldValue;
} }
} }
// Check ICM709M // Check ICM709M
$ICM709MSEL = DB::connection(config('m3.connection', 'pgsql'))->table('icm709m') $iCM709MSEL = DB::connection(config('m3.connection', 'pgsql'))->table('icm709m')
->select() ->select()
->where('AT9CO', $AXCO) ->where('AT9CO', $aXCO)
->where('AT9PLT', $AXPLANT) ->where('AT9PLT', $aXPLANT)
->where('AT9WHS', $AXWHS) ->where('AT9WHS', $aXWHS)
->where('AT9PART', $PartNumber) ->where('AT9PART', $partNumber)
->first(); ->first();
$palletQty = isset($ICM709MSEL->AT9QTY) ? $ICM709MSEL->AT9QTY : 0; $palletQty = isset($iCM709MSEL->AT9QTY) ? $iCM709MSEL->AT9QTY : 0;
// dd($palletQty); // dd($palletQty);
// Get Pallet Qty // Get Pallet Qty
$InsertArray['A1USRN01'] = $palletQty; $insertArray['A1USRN01'] = $palletQty;
// Hazard Material // Hazard Material
$HazMat = isset($ICM709MSEL->AT9WRN) ? $ICM709MSEL->AT9WRN : ''; $hazMat = isset($iCM709MSEL->AT9WRN) ? $iCM709MSEL->AT9WRN : '';
$InsertArray['A1MATWRN'] = $HazMat; $insertArray['A1MATWRN'] = $hazMat;
// $InsertArray['A1USRN01']=$palletQty; // $insertArray['A1USRN01']=$palletQty;
// } // }
// SQL Insert to ICM666M // SQL Insert to ICM666M
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm666m')->insert($InsertArray); $insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm666m')->insert($insertArray);
} }
// Call PGM ICM700CSBM // Call PGM ICM700CSBM
if ($Warehouse != '' && $PickerNumber != '' && $Company != '') { if ($warehouse != '' && $pickerNumber != '' && $company != '') {
$PGMERRORS = ''; $pGMERRORS = '';
$AWREQN = ''; $aWREQN = '';
// 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 {
@@ -435,13 +435,13 @@ class M3Controller extends Controller
case 8001: case 8001:
// "Authorization failure on distributed database connection attempt" // "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password // Usually means a wrong DB2 user or password
$PGMERRORS = 'Could not connect due to wrong user or password.'; $pGMERRORS = 'Could not connect due to wrong user or password.';
break; break;
case 42705: case 42705:
$PGMERRORS = 'Database not found. Try WRKRDBDIRE to check.'; $pGMERRORS = 'Database not found. Try WRKRDBDIRE to check.';
break; break;
default: default:
$PGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg; $pGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg;
break; break;
} }
} }
@@ -455,14 +455,14 @@ class M3Controller extends Controller
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension) // AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
// Add Warehouse Param // Add Warehouse Param
$params[] = $conn->AddParameterChar('in', 3, 'Company', '', $Company); $params[] = $conn->AddParameterChar('in', 3, 'Company', '', $company);
$params[] = $conn->AddParameterChar('in', 3, 'Warehouse', '', $Warehouse); $params[] = $conn->AddParameterChar('in', 3, 'Warehouse', '', $warehouse);
// AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension) // AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
// Add Delivery Note Param // Add Delivery Note Param
$PickerNumberNoZero = ltrim(strval($PickerNumber), '0'); $pickerNumberNoZero = ltrim(strval($pickerNumber), '0');
$params[] = $conn->AddParameterChar('in', 11, 'PickerNumber', '', $PickerNumberNoZero); $params[] = $conn->AddParameterChar('in', 11, 'PickerNumber', '', $pickerNumberNoZero);
// Start Time Tracking // Start Time Tracking
$start = microtime(true); $start = microtime(true);
@@ -471,20 +471,20 @@ class M3Controller extends Controller
$result = $conn->PgmCall('ICM700CSBM', env('OBJLIB'), $params, [], []); $result = $conn->PgmCall('ICM700CSBM', env('OBJLIB'), $params, [], []);
if (! $result) { if (! $result) {
$PGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' - Msg: ' . $conn->getErrorMsg(); $pGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' - Msg: ' . $conn->getErrorMsg();
} }
if ($PGMERRORS != '') { if ($pGMERRORS != '') {
// Write to Logs Out : Error & JSON // Write to Logs Out : Error & JSON
$data = ['SHMACPKR' => $SHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-spl', $data = ['SHMACPKR' => $sHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-spl',
'SHDATA' => $PGMERRORS . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse]; 'SHDATA' => $pGMERRORS . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $rEQKPKUS, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $company, 'SHWHS' => $warehouse];
Helper::logToICM699M($data); Helper::logToICM699M($data);
} }
} }
// Write to Logs Out : Success // Write to Logs Out : Success
$data = ['SHMACPKR' => $SHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in', $data = ['SHMACPKR' => $sHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in',
'SHDATA' => json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse]; 'SHDATA' => json_encode($jsonFile), 'SHUSER' => $rEQKPKUS, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $company, 'SHWHS' => $warehouse];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
@@ -494,10 +494,10 @@ class M3Controller extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Error & JSON // Write to Logs Out : Error & JSON
$SHACKNOTE = 'Sentinel automatically closed the error related to this empty data set sent by M3'; $sHACKNOTE = 'Sentinel automatically closed the error related to this empty data set sent by M3';
$data = ['SHMACPKR' => $SHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'Z', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in', $data = ['SHMACPKR' => $sHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'Z', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in',
'SHDATA' => 'No Json File Found...', 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse, 'SHACKNOTE' => $SHACKNOTE]; 'SHDATA' => 'No Json File Found...', 'SHUSER' => $rEQKPKUS, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $company, 'SHWHS' => $warehouse, 'SHACKNOTE' => $sHACKNOTE];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
@@ -508,8 +508,8 @@ class M3Controller extends Controller
} }
} catch (\Throwable $th) { } catch (\Throwable $th) {
// Write to Logs Out : Error & JSON // Write to Logs Out : Error & JSON
$data = ['SHMACPKR' => $SHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in', $data = ['SHMACPKR' => $sHMACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Lis-in',
'SHDATA' => 'General Catchable Error - ' . substr($th, 0, 300) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse]; 'SHDATA' => 'General Catchable Error - ' . substr($th, 0, 300) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $rEQKPKUS, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $company, 'SHWHS' => $warehouse];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
+89 -88
View File
@@ -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
@@ -27,53 +28,53 @@ class ReplenAPI extends Controller
// dd($request->all()); // dd($request->all());
// Log::info( $request->all() ); // Log::info( $request->all() );
// Get The Calling User // Get The Calling User
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser'; $sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD; $mACPKR = isset($mACPKR) ? $mACPKR : self::ZERO_PAD;
$SHSOURCE = 'M3InventoryReportReplen'; $sHSOURCE = 'M3InventoryReportReplen';
$M3Errors = ''; $m3Errors = '';
try { try {
// Get Json Contents // Get Json Contents
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
$CO = isset($urlParams['CO']) ? $urlParams['CO'] : ''; $cO = isset($urlParams['CO']) ? $urlParams['CO'] : '';
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : ''; $wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
$PARTNO = isset($urlParams['PARTNO']) ? $urlParams['PARTNO'] : ''; $pARTNO = isset($urlParams['PARTNO']) ? $urlParams['PARTNO'] : '';
$PKLN = isset($urlParams['PKLN']) ? $urlParams['PKLN'] : ''; $pKLN = isset($urlParams['PKLN']) ? $urlParams['PKLN'] : '';
$REQPKWS = isset($urlParams['REQPKWS']) ? $urlParams['REQPKWS'] : ''; $rEQPKWS = isset($urlParams['REQPKWS']) ? $urlParams['REQPKWS'] : '';
$REQKPKUS = isset($urlParams['REQKPKUS']) ? $urlParams['REQKPKUS'] : 'WebUser'; $rEQKPKUS = isset($urlParams['REQKPKUS']) ? $urlParams['REQKPKUS'] : 'WebUser';
if ($urlParams != '') { if ($urlParams != '') {
$IncomingParams = ['CO' => $CO, 'WHS' => $WHS, 'PARTNO' => $PARTNO, 'PKLN' => $PKLN, 'REQPKWS' => $REQPKWS, 'REQKPKUS' => $REQKPKUS]; $incomingParams = ['CO' => $cO, 'WHS' => $wHS, 'PARTNO' => $pARTNO, 'PKLN' => $pKLN, 'REQPKWS' => $rEQPKWS, 'REQKPKUS' => $rEQKPKUS];
$IncomingParams = json_encode($IncomingParams); $incomingParams = json_encode($incomingParams);
// Write to Logs : Params In // Write to Logs : Params In
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Req-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Req-out',
'SHDATA' => $IncomingParams, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => $incomingParams, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
$PART = explode(',', $PARTNO); $pART = explode(',', $pARTNO);
foreach ($PART as $key => $value) { foreach ($pART as $key => $value) {
$PARTS[] = ['PART' => $value, 'LOT' => '']; $pARTS[] = ['PART' => $value, 'LOT' => ''];
} }
$JSON = json_encode(['WHS' => $WHS, 'PARTS' => $PARTS]); $jSON = json_encode(['WHS' => $wHS, 'PARTS' => $pARTS]);
// Write to Logs : Params Sent To M3 // Write to Logs : Params Sent To M3
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Req-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Req-out',
'SHDATA' => 'Sent To M3-' . $JSON, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => 'Sent To M3-' . $jSON, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
// Get Token // Get Token
$tokenResponse = Helper::checkReceiveTokenV2(); $tokenResponse = Helper::checkReceiveTokenV2();
$tokenData = $tokenResponse->getData(); $tokenData = $tokenResponse->getData();
if ($tokenData->code == '200') { if ($tokenData->code == '200') {
$IonToken = isset($tokenData->token) ? $tokenData->token : ''; $ionToken = isset($tokenData->token) ? $tokenData->token : '';
} else { } else {
$SHDATA = isset($tokenData->message) ? $tokenData->message : ''; $sHDATA = isset($tokenData->message) ? $tokenData->message : '';
// Write to Logs : Error // Write to Logs : Error
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $SHDATA, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => $sHDATA, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return $tokenResponse; return $tokenResponse;
@@ -81,39 +82,39 @@ class ReplenAPI extends Controller
// Call ionapi with Params // Call ionapi with Params
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/M3InventoryReportList?ionapiRespStyle=sync'; $endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/M3InventoryReportList?ionapiRespStyle=sync';
$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'))
->retry(3, 100) ->retry(3, 100)
->post($endPointURL); ->post($endPointURL);
$responseStatusCode = $response->getStatusCode(); $responseStatusCode = $response->getStatusCode();
$M3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID'; $m3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID';
if ($responseStatusCode == '200') { if ($responseStatusCode == '200') {
// Check M3 Response for Errors // Check M3 Response for Errors
$M3Errors = ''; $m3Errors = '';
$responseJSON = $response->getBody()->getContents(); $responseJSON = $response->getBody()->getContents();
$JsonSanytized = Helper::sanityzeString($responseJSON); $jsonSanytized = Helper::sanityzeString($responseJSON);
// Array // Array
$responseArray = json_decode($JsonSanytized, true); $responseArray = json_decode($jsonSanytized, true);
$responseTMP = $responseArray['result']; $responseTMP = $responseArray['result'];
} else { } else {
$M3Errors = 'Error: No Response from M3'; $m3Errors = 'Error: No Response from M3';
} }
// Validate response From M3 // Validate response From M3
if ($M3Errors != '') { if ($m3Errors != '') {
// Write to Logs : Error // Write to Logs : Error
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . '-' . $M3Errors . $M3SessionId, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => $responseStatusCode . '-' . $m3Errors . $m3SessionId, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
// Send Response // Send Response
@@ -124,8 +125,8 @@ class ReplenAPI extends Controller
]); ]);
} else { } else {
// Write to Logs : JSON // Write to Logs : JSON
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => '', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . '-' . $JsonSanytized . $M3SessionId, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => $responseStatusCode . '-' . $jsonSanytized . $m3SessionId, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
} }
@@ -146,70 +147,70 @@ class ReplenAPI extends Controller
// Delete Old Records from IC630M // Delete Old Records from IC630M
foreach ($dataToWrite2 as $key => $value) { foreach ($dataToWrite2 as $key => $value) {
$ICM630MDeleteSQL = DB::connection(config('m3.connection', 'pgsql'))->table('ic630m') $iCM630MDeleteSQL = 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 $key => $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)
->where('WSELOC', $value['Warehouse']) ->where('WSELOC', $value['Warehouse'])
->where('VLOCID', $value['Location']) ->where('VLOCID', $value['Location'])
->first(); ->first();
$LocationExist = isset($DE640MSQLSEL->VLOCID) ? trim($DE640MSQLSEL->VLOCID) : ''; $locationExist = isset($dE640MSQLSEL->VLOCID) ? trim($dE640MSQLSEL->VLOCID) : '';
$WHExist = isset($DE640MSQLSEL->WSELOC) ? trim($DE640MSQLSEL->WSELOC) : ''; $wHExist = isset($dE640MSQLSEL->WSELOC) ? trim($dE640MSQLSEL->WSELOC) : '';
$COExist = isset($DE640MSQLSEL->LVCO) ? trim($DE640MSQLSEL->LVCO) : ''; $cOExist = isset($dE640MSQLSEL->LVCO) ? trim($dE640MSQLSEL->LVCO) : '';
// if No records Founds insert New Record // if No records Founds insert New Record
if ($LocationExist == '' && $WHExist == '' && $COExist == '') { if ($locationExist == '' && $wHExist == '' && $cOExist == '') {
$SQLInsertPrep640M['LVCO'] = $CO; // Company $sQLInsertPrep640M['LVCO'] = $cO; // Company
$SQLInsertPrep640M['WSELOC'] = $value['Warehouse']; $sQLInsertPrep640M['WSELOC'] = $value['Warehouse'];
// $SQLInsertPrep640M['LVUSD3'] = $value['']; // Pallet Size : Not Found in M3 JSON // $sQLInsertPrep640M['LVUSD3'] = $value['']; // Pallet Size : Not Found in M3 JSON
$SQLInsertPrep640M['VLOCID'] = $value['Location']; // Stock location $sQLInsertPrep640M['VLOCID'] = $value['Location']; // Stock location
$SQLInsertPrep640M['LVSEQN'] = $value['LocationSeq']; $sQLInsertPrep640M['LVSEQN'] = $value['LocationSeq'];
$SQLInsertPrep640M['LVUSD2'] = $value['LocationType']; $sQLInsertPrep640M['LVUSD2'] = $value['LocationType'];
$SQLInsertPrep640M['LVZONE'] = $value['Zone']; // Warehouse zone $sQLInsertPrep640M['LVZONE'] = $value['Zone']; // Warehouse zone
$SQLInsertPrep640M['LVMAINTTS'] = now(); // Last maintained time stamp $sQLInsertPrep640M['LVMAINTTS'] = now(); // Last maintained time stamp
DB::connection(config('m3.connection', 'pgsql'))->table('de640m')->insert($SQLInsertPrep640M); DB::connection(config('m3.connection', 'pgsql'))->table('de640m')->insert($sQLInsertPrep640M);
} }
// Update // Update
else { else {
$SQLUpdatePrep640M['LVSEQN'] = $value['LocationSeq']; $sQLUpdatePrep640M['LVSEQN'] = $value['LocationSeq'];
$SQLUpdatePrep640M['LVUSD2'] = $value['LocationType']; $sQLUpdatePrep640M['LVUSD2'] = $value['LocationType'];
$SQLUpdatePrep640M['LVZONE'] = $value['Zone']; $sQLUpdatePrep640M['LVZONE'] = $value['Zone'];
$SQLUpdatePrep640M['LVMAINTTS'] = now(); $sQLUpdatePrep640M['LVMAINTTS'] = now();
DB::connection(config('m3.connection', 'pgsql'))->table('de640m') DB::connection(config('m3.connection', 'pgsql'))->table('de640m')
->where('LVCO', $CO) ->where('LVCO', $cO)
->where('WSELOC', $value['Warehouse']) ->where('WSELOC', $value['Warehouse'])
->where('VLOCID', $value['Location']) ->where('VLOCID', $value['Location'])
->update($SQLUpdatePrep640M); ->update($sQLUpdatePrep640M);
} }
// Insert New Records to IC630M // Insert New Records to IC630M
$SQLInsertPrep630M = []; $sQLInsertPrep630M = [];
$SQLInsertPrep630M['LLCO'] = $CO; // Company $sQLInsertPrep630M['LLCO'] = $cO; // Company
$SQLInsertPrep630M['LLWHNO'] = $value['Warehouse']; // Warehouse $sQLInsertPrep630M['LLWHNO'] = $value['Warehouse']; // Warehouse
$SQLInsertPrep630M['LLPPN'] = $value['PartNumber']; // Part Number $sQLInsertPrep630M['LLPPN'] = $value['PartNumber']; // Part Number
$SQLInsertPrep630M['LLBALANCE'] = $value['Quantity']; // Quantity $sQLInsertPrep630M['LLBALANCE'] = $value['Quantity']; // Quantity
$SQLInsertPrep630M['LLSTLC'] = $value['Location']; // Stock location $sQLInsertPrep630M['LLSTLC'] = $value['Location']; // Stock location
$SQLInsertPrep630M['LLLTNO'] = $value['LotNumber']; // Lot Number $sQLInsertPrep630M['LLLTNO'] = $value['LotNumber']; // Lot Number
$SQLInsertPrep630M['LLMAINTTS'] = now(); // Request time timestamp $sQLInsertPrep630M['LLMAINTTS'] = now(); // Request time timestamp
$SQLInsertPrep630M['LLIZLCF'] = trim($value['LotNumber']) != '' ? '1' : ''; // Lot control flag $sQLInsertPrep630M['LLIZLCF'] = trim($value['LotNumber']) != '' ? '1' : ''; // Lot control flag
$SQLInsertPrep630M['LLSPR10A01'] = $value['Allocation']; // Allocation $sQLInsertPrep630M['LLSPR10A01'] = $value['Allocation']; // Allocation
$SQLInsertPrep630M['LLSPR15A01'] = $value['AllocatedTo']; // AllocatedTo $sQLInsertPrep630M['LLSPR15A01'] = $value['AllocatedTo']; // AllocatedTo
$DescSanytized = Helper::sanityzeString($value['Description']); $descSanytized = Helper::sanityzeString($value['Description']);
// $DescSanytized = str_replace(['–','\u20131'], '-',$value['Description']); // $descSanytized = str_replace(['–','\u20131'], '-',$value['Description']);
$SQLInsertPrep630M['LLCMDESC'] = $DescSanytized; // Description $sQLInsertPrep630M['LLCMDESC'] = $descSanytized; // Description
DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')->insert($SQLInsertPrep630M); DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')->insert($sQLInsertPrep630M);
} }
// Send Response // Send Response
@@ -219,9 +220,9 @@ class ReplenAPI extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Error // Write to Logs Out : Error
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD; $mACPKR = isset($mACPKR) ? $mACPKR : self::ZERO_PAD;
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'No URL Parameters Sent', 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => 'No URL Parameters Sent', 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
// Return Error // Return Error
@@ -233,14 +234,14 @@ class ReplenAPI extends Controller
} }
} catch (\Throwable $th) { } catch (\Throwable $th) {
// Write to Logs Out : Error // Write to Logs Out : Error
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD; $mACPKR = isset($mACPKR) ? $mACPKR : self::ZERO_PAD;
$getCurlErrors = str_contains($th->getMessage(), 'cURL error'); $getCurlErrors = str_contains($th->getMessage(), 'cURL error');
if ($getCurlErrors) { if ($getCurlErrors) {
// dd($getCurlErrors); // dd($getCurlErrors);
// Write to Logs Out : Failed // Write to Logs Out : Failed
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => 'X', 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $IncomingParams, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $incomingParams, 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
@@ -251,16 +252,16 @@ class ReplenAPI extends Controller
} else { } else {
// Set SHERROR To Z if Duplicate Key Detected $th // Set SHERROR To Z if Duplicate Key Detected $th
// Read The substring from SHDATA after M3-JSN-out // Read The substring from SHDATA after M3-JSN-out
$SHERROR = 'X'; $sHERROR = 'X';
$word = 'Duplicate key value specified'; $word = 'Duplicate key value specified';
$position = strpos($th, $word); $position = strpos($th, $word);
if ($position !== false) { if ($position !== false) {
$SHERROR = 'Z'; $sHERROR = 'Z';
} }
$data = ['SHMACPKR' => $MACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => $SHERROR, 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out', $data = ['SHMACPKR' => $mACPKR, 'SHDT' => date('Y-m-d'), 'SHTIME' => date('H:i:s'), 'SHERROR' => $sHERROR, 'SHINTBOX' => '', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300), 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS]; 'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300), 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
+275 -272
View File
@@ -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
@@ -28,31 +31,31 @@ class TransferAPI extends Controller
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut')); ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
// Get the Calling User // Get the Calling User
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser'; $sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
// Set SHSOURCE // Set SHSOURCE
$SHSOURCE = 'TransferAPIURL'; $sHSOURCE = 'TransferAPIURL';
$M3Errors = ''; $m3Errors = '';
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
$DIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : ''; $dIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : ''; $wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
try { try {
if ($urlParams != '') { if ($urlParams != '') {
$PART = isset($urlParams['PART']) ? $urlParams['PART'] : ''; $pART = isset($urlParams['PART']) ? $urlParams['PART'] : '';
$LOCATIONFROM = isset($urlParams['LOCATIONFROM']) ? $urlParams['LOCATIONFROM'] : ''; $lOCATIONFROM = isset($urlParams['LOCATIONFROM']) ? $urlParams['LOCATIONFROM'] : '';
$LOCATIONTO = isset($urlParams['LOCATIONTO']) ? $urlParams['LOCATIONTO'] : ''; $lOCATIONTO = isset($urlParams['LOCATIONTO']) ? $urlParams['LOCATIONTO'] : '';
$QUANTITY = isset($urlParams['QUANTITY']) ? $urlParams['QUANTITY'] : ''; $qUANTITY = isset($urlParams['QUANTITY']) ? $urlParams['QUANTITY'] : '';
$ORDERCATEGORY = isset($urlParams['ORDERCATEGORY']) ? $urlParams['ORDERCATEGORY'] : ''; $oRDERCATEGORY = isset($urlParams['ORDERCATEGORY']) ? $urlParams['ORDERCATEGORY'] : '';
$LOTNUMBER = isset($urlParams['LOTNUMBER']) ? $urlParams['LOTNUMBER'] : ''; $lOTNUMBER = isset($urlParams['LOTNUMBER']) ? $urlParams['LOTNUMBER'] : '';
$CONUMBER = isset($urlParams['CONUMBER']) ? $urlParams['CONUMBER'] : ''; $cONUMBER = isset($urlParams['CONUMBER']) ? $urlParams['CONUMBER'] : '';
$COLINENO = isset($urlParams['COLINENO']) ? $urlParams['COLINENO'] : ''; $cOLINENO = isset($urlParams['COLINENO']) ? $urlParams['COLINENO'] : '';
$DELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : self::ZERO_PAD; $dELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : self::ZERO_PAD;
$PICKLISTSUFFIX = isset($urlParams['PICKLISTSUFFIX']) ? $urlParams['PICKLISTSUFFIX'] : ''; $pICKLISTSUFFIX = isset($urlParams['PICKLISTSUFFIX']) ? $urlParams['PICKLISTSUFFIX'] : '';
$ENDFLAG = isset($urlParams['ENDFLAG']) ? $urlParams['ENDFLAG'] : ''; $eNDFLAG = isset($urlParams['ENDFLAG']) ? $urlParams['ENDFLAG'] : '';
$TYPE = isset($urlParams['TYPE']) ? $urlParams['TYPE'] : ''; $tYPE = isset($urlParams['TYPE']) ? $urlParams['TYPE'] : '';
$COLINESUFFIX = isset($urlParams['COLINESUFFIX']) ? $urlParams['COLINESUFFIX'] : ''; $cOLINESUFFIX = isset($urlParams['COLINESUFFIX']) ? $urlParams['COLINESUFFIX'] : '';
// TYPE : // TYPE :
// DeliveryNote // DeliveryNote
@@ -69,157 +72,157 @@ class TransferAPI extends Controller
// 5 = Distribution Order // 5 = Distribution Order
// 9 = Move order // 9 = Move order
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
$TRANSTYPE = isset($urlParams['TRANSTYPE']) ? $urlParams['TRANSTYPE'] : ''; // R for Retry $tRANSTYPE = isset($urlParams['TRANSTYPE']) ? $urlParams['TRANSTYPE'] : ''; // R for Retry
$SHDT = isset($urlParams['SHDT']) ? $urlParams['SHDT'] : ''; $sHDT = isset($urlParams['SHDT']) ? $urlParams['SHDT'] : '';
$SHTIME = isset($urlParams['SHTIME']) ? $urlParams['SHTIME'] : ''; $sHTIME = isset($urlParams['SHTIME']) ? $urlParams['SHTIME'] : '';
$SHTYPE = isset($urlParams['SHTYPE']) ? $urlParams['SHTYPE'] : ''; $sHTYPE = isset($urlParams['SHTYPE']) ? $urlParams['SHTYPE'] : '';
// Retry Transfer // Retry Transfer
if ($TRANSTYPE == 'R') { if ($tRANSTYPE == 'R') {
// $t = strtotime($SHTIME); // $t = strtotime($sHTIME);
// $SHTIMEHM = date('H:i',$t); // $SHTIMEHM = date('H:i',$t);
// dd($SHTIMEHM); // dd($SHTIMEHM);
// Get the record that contain the payload // Get the record that contain the payload
$ICM699MS = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m') $iCM699MS = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->select('SHDATA') ->select('SHDATA')
->where('SHMACPKR', $DELIVERYNO) ->where('SHMACPKR', $dELIVERYNO)
->where('SHDT', $SHDT) ->where('SHDT', $sHDT)
->where('SHTIME', $SHTIME) ->where('SHTIME', $sHTIME)
// ->whereRaw("VARCHAR_FORMAT (TIMESTAMP (CURRENT DATE) + MIDNIGHT_SECONDS (SHTIME) SECONDS, 'HH24:MI') = ?", [$SHTIMEHM]) // ->whereRaw("VARCHAR_FORMAT (TIMESTAMP (CURRENT DATE) + MIDNIGHT_SECONDS (SHTIME) SECONDS, 'HH24:MI') = ?", [$SHTIMEHM])
->where('SHCO', $DIVI) ->where('SHCO', $dIVI)
->where('SHWHS', $WHS) ->where('SHWHS', $wHS)
->where('SHSOURCE', $SHSOURCE) ->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X') ->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE) ->where('SHTYPE', $sHTYPE)
->first(); ->first();
// Read The substring from SHDATA after M3-JSN-out // Read The substring from SHDATA after M3-JSN-out
$word = 'M3-JSN-out'; $word = 'M3-JSN-out';
$SHDATA = isset($ICM699MS->SHDATA) ? $ICM699MS->SHDATA : ''; $sHDATA = isset($iCM699MS->SHDATA) ? $iCM699MS->SHDATA : '';
$SHDATAJSON = ''; $sHDATAJSON = '';
$position = strpos($SHDATA, $word); $position = strpos($sHDATA, $word);
// Also Read CommTCP_read // Also Read CommTCP_read
$word2 = 'url:http://127.0.0.1:10005/api/TransferAPIURL?'; $word2 = 'url:http://127.0.0.1:10005/api/TransferAPIURL?';
$SHDATA2 = isset($ICM699MS->SHDATA) ? $ICM699MS->SHDATA : ''; $sHDATA2 = isset($iCM699MS->SHDATA) ? $iCM699MS->SHDATA : '';
$position2 = strpos($SHDATA2, $word2); $position2 = strpos($sHDATA2, $word2);
if ($position !== false) { if ($position !== false) {
$SHDATAJSON = substr($SHDATA, $position + strlen($word)); $sHDATAJSON = substr($sHDATA, $position + strlen($word));
} elseif ($position2 !== false) { } elseif ($position2 !== false) {
$SHDATAJSONS = substr($SHDATA2, $position2 + strlen($word2)); $sHDATAJSONS = substr($sHDATA2, $position2 + strlen($word2));
$SHDATAJSONA = []; $sHDATAJSONA = [];
parse_str($SHDATAJSONS, $SHDATAJSONA); parse_str($sHDATAJSONS, $sHDATAJSONA);
$SHDATAJSON = json_encode($SHDATAJSONA); $sHDATAJSON = json_encode($sHDATAJSONA);
} }
// Find the position of the opening and closing curly braces // Find the position of the opening and closing curly braces
$startPos = strpos($SHDATAJSON, '{'); $startPos = strpos($sHDATAJSON, '{');
$endPos = strrpos($SHDATAJSON, '}'); $endPos = strrpos($sHDATAJSON, '}');
// Extract the substring within the curly braces // Extract the substring within the curly braces
$SHDATAJSON = substr($SHDATAJSON, $startPos, $endPos - $startPos + 1); $sHDATAJSON = substr($sHDATAJSON, $startPos, $endPos - $startPos + 1);
$JSONTR = $SHDATAJSON != '' ? json_decode($SHDATAJSON) : ''; $jSONTR = $sHDATAJSON != '' ? json_decode($sHDATAJSON) : '';
if ($JSONTR != '') { if ($jSONTR != '') {
$PART = isset($JSONTR->PART) ? $JSONTR->PART : ''; $pART = isset($jSONTR->PART) ? $jSONTR->PART : '';
$LOCATIONFROM = isset($JSONTR->LOCATIONFROM) ? $JSONTR->LOCATIONFROM : ''; $lOCATIONFROM = isset($jSONTR->LOCATIONFROM) ? $jSONTR->LOCATIONFROM : '';
$LOCATIONTO = isset($JSONTR->LOCATIONTO) ? $JSONTR->LOCATIONTO : ''; $lOCATIONTO = isset($jSONTR->LOCATIONTO) ? $jSONTR->LOCATIONTO : '';
$QUANTITY = isset($JSONTR->QUANTITY) ? $JSONTR->QUANTITY : ''; $qUANTITY = isset($jSONTR->QUANTITY) ? $jSONTR->QUANTITY : '';
$ORDERCATEGORY = isset($JSONTR->ORDERCATEGORY) ? $JSONTR->ORDERCATEGORY : ''; $oRDERCATEGORY = isset($jSONTR->ORDERCATEGORY) ? $jSONTR->ORDERCATEGORY : '';
$LOTNUMBER = isset($JSONTR->LOTNUMBER) ? $JSONTR->LOTNUMBER : ''; $lOTNUMBER = isset($jSONTR->LOTNUMBER) ? $jSONTR->LOTNUMBER : '';
$CONUMBER = isset($JSONTR->CONUMBER) ? $JSONTR->CONUMBER : ''; $cONUMBER = isset($jSONTR->CONUMBER) ? $jSONTR->CONUMBER : '';
$COLINENO = isset($JSONTR->COLINENO) ? $JSONTR->COLINENO : ''; $cOLINENO = isset($jSONTR->COLINENO) ? $jSONTR->COLINENO : '';
$DELIVERYNO = isset($JSONTR->DELIVERYNO) ? $JSONTR->DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($jSONTR->DELIVERYNO) ? $jSONTR->DELIVERYNO : self::ZERO_PAD;
$PICKLISTSUFFIX = isset($JSONTR->PICKLISTSUFFIX) ? $JSONTR->PICKLISTSUFFIX : ''; $pICKLISTSUFFIX = isset($jSONTR->PICKLISTSUFFIX) ? $jSONTR->PICKLISTSUFFIX : '';
$ENDFLAG = isset($JSONTR->ENDFLAG) ? $JSONTR->ENDFLAG : ''; $eNDFLAG = isset($jSONTR->ENDFLAG) ? $jSONTR->ENDFLAG : '';
$TYPE = isset($JSONTR->TYPE) ? $JSONTR->TYPE : ''; $tYPE = isset($jSONTR->TYPE) ? $jSONTR->TYPE : '';
$COLINESUFFIX = isset($JSONTR->COLINESUFFIX) ? $JSONTR->COLINESUFFIX : ''; $cOLINESUFFIX = isset($jSONTR->COLINESUFFIX) ? $jSONTR->COLINESUFFIX : '';
} }
// Set SHERROR to Z in ICM699M // Set SHERROR to Z in ICM699M
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m') $iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $DELIVERYNO) ->where('SHMACPKR', $dELIVERYNO)
->where('SHDT', $SHDT) ->where('SHDT', $sHDT)
->where('SHTIME', $SHTIME) ->where('SHTIME', $sHTIME)
->where('SHCO', $DIVI) ->where('SHCO', $dIVI)
->where('SHWHS', $WHS) ->where('SHWHS', $wHS)
->where('SHSOURCE', $SHSOURCE) ->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X') ->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE) ->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s')]); ->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s')]);
} }
// Part Exists : proceed // Part Exists : proceed
if ($PART != '') { if ($pART != '') {
// Read from ICM688M2 // Read from ICM688M2
// Get Parts And Lots from ICM688M2 // Get Parts And Lots from ICM688M2
$ICM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2') $iCM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2')
->select('A5BRADLN', 'A5PKSFX', 'A5PLANT', 'A5SENTPKR') ->select('A5BRADLN', 'A5PKSFX', 'A5PLANT', 'A5SENTPKR')
->distinct() ->distinct()
->where('A5CO', $DIVI) ->where('A5CO', $dIVI)
->where('A5WHS', $WHS) ->where('A5WHS', $wHS)
->where('A5MACPKR', $DELIVERYNO); ->where('A5MACPKR', $dELIVERYNO);
// Get Pack Lines // Get Pack Lines
if ($COLINENO != '') { if ($cOLINENO != '') {
$ICM688M2SLTMP->where('A5PKLN', $COLINENO); $iCM688M2SLTMP->where('A5PKLN', $cOLINENO);
} }
$ICM688M2SL = $ICM688M2SLTMP->first(); $iCM688M2SL = $iCM688M2SLTMP->first();
$A5BRADLINE = isset($ICM688M2SL->A5BRADLN) ? $ICM688M2SL->A5BRADLN : ''; $a5BRADLINE = isset($iCM688M2SL->A5BRADLN) ? $iCM688M2SL->A5BRADLN : '';
$COLINESUFFIX = isset($ICM688M2SL->A5PKSFX) ? $ICM688M2SL->A5PKSFX : ''; // Case 551 : $COLINESUFFIX $cOLINESUFFIX = isset($iCM688M2SL->A5PKSFX) ? $iCM688M2SL->A5PKSFX : ''; // Case 551 : $cOLINESUFFIX
$A5PLANT = isset($ICM688M2SL->A5PLANT) ? $ICM688M2SL->A5PLANT : ''; $a5PLANT = isset($iCM688M2SL->A5PLANT) ? $iCM688M2SL->A5PLANT : '';
$A5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : ''; $a5SENTPKR = isset($iCM688M2SL->A5SENTPKR) ? $iCM688M2SL->A5SENTPKR : '';
$JSONIN = json_encode([ $jSONIN = json_encode([
'DIVI' => $DIVI, 'DIVI' => $dIVI,
'WHS' => $WHS, 'WHS' => $wHS,
'PART' => $PART, 'PART' => $pART,
'LOCATIONFROM' => $LOCATIONFROM, 'LOCATIONFROM' => $lOCATIONFROM,
'LOCATIONTO' => $LOCATIONTO, 'LOCATIONTO' => $lOCATIONTO,
'QUANTITY' => $QUANTITY, 'QUANTITY' => $qUANTITY,
'ORDERCATEGORY' => $ORDERCATEGORY, 'ORDERCATEGORY' => $oRDERCATEGORY,
'LOTNUMBER' => $LOTNUMBER, 'LOTNUMBER' => $lOTNUMBER,
'CONUMBER' => $CONUMBER, 'CONUMBER' => $cONUMBER,
'COLINENO' => $COLINENO, 'COLINENO' => $cOLINENO,
'DELIVERYNO' => $DELIVERYNO, 'DELIVERYNO' => $dELIVERYNO,
'PICKLISTSUFFIX' => $PICKLISTSUFFIX, 'PICKLISTSUFFIX' => $pICKLISTSUFFIX,
'ENDFLAG' => $ENDFLAG, 'ENDFLAG' => $eNDFLAG,
'TYPE' => $TYPE, 'TYPE' => $tYPE,
'COLINESUFFIX' => $COLINESUFFIX, 'COLINESUFFIX' => $cOLINESUFFIX,
], JSON_UNESCAPED_SLASHES); ], JSON_UNESCAPED_SLASHES);
$JSON = json_encode([ $jSON = json_encode([
'DIVI' => $DIVI, 'DIVI' => $dIVI,
'WHS' => $WHS, 'WHS' => $wHS,
'PART' => $PART, 'PART' => $pART,
'LOCATIONFROM' => $LOCATIONFROM, 'LOCATIONFROM' => $lOCATIONFROM,
'LOCATIONTO' => $LOCATIONTO, 'LOCATIONTO' => $lOCATIONTO,
'QUANTITY' => $QUANTITY, 'QUANTITY' => $qUANTITY,
'ORDERCATEGORY' => $ORDERCATEGORY, 'ORDERCATEGORY' => $oRDERCATEGORY,
'LOTNUMBER' => $LOTNUMBER, 'LOTNUMBER' => $lOTNUMBER,
'CONUMBER' => $CONUMBER, 'CONUMBER' => $cONUMBER,
'COLINENO' => $A5BRADLINE, 'COLINENO' => $a5BRADLINE,
'DELIVERYNO' => $DELIVERYNO, 'DELIVERYNO' => $dELIVERYNO,
'PICKLISTSUFFIX' => $PICKLISTSUFFIX, 'PICKLISTSUFFIX' => $pICKLISTSUFFIX,
'ENDFLAG' => $ENDFLAG, 'ENDFLAG' => $eNDFLAG,
'TYPE' => $TYPE, 'TYPE' => $tYPE,
'COLINESUFFIX' => $COLINESUFFIX, 'COLINESUFFIX' => $cOLINESUFFIX,
], JSON_UNESCAPED_SLASHES); ], JSON_UNESCAPED_SLASHES);
// Write JSON Params to Logs Out // Write JSON Params to Logs Out
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Req-out', 'SHTYPE' => 'M3-Req-out',
'SHDATA' => $JSON, 'SHDATA' => $jSON,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -227,21 +230,21 @@ class TransferAPI extends Controller
$tokenResponse = Helper::checkReceiveTokenV2(); $tokenResponse = Helper::checkReceiveTokenV2();
$tokenData = $tokenResponse->getData(); $tokenData = $tokenResponse->getData();
if ($tokenData->code == '200') { if ($tokenData->code == '200') {
$IonToken = isset($tokenData->token) ? $tokenData->token : ''; $ionToken = isset($tokenData->token) ? $tokenData->token : '';
} else { } else {
$SHDATA = isset($tokenData->message) ? $tokenData->message : ''; $sHDATA = isset($tokenData->message) ? $tokenData->message : '';
// Write to Logs : Error // Write to Logs : Error
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $SHDATA, 'SHDATA' => $sHDATA,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -250,69 +253,69 @@ class TransferAPI extends Controller
// Call ionapi with Params // Call ionapi with Params
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync'; $endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync';
$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'))
->post($endPointURL); ->post($endPointURL);
$responseStatusCode = $response->getStatusCode(); $responseStatusCode = $response->getStatusCode();
$M3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID'; $m3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID';
$M3ResponseTimeTmp = $response->hasHeader('x-response-time') ? ltrim($response->header('x-response-time'), '-') : '0'; $m3ResponseTimeTmp = $response->hasHeader('x-response-time') ? ltrim($response->header('x-response-time'), '-') : '0';
$M3ResponseTimeTmp2 = floatval($M3ResponseTimeTmp) / 1000; // $M3ResponseTimeTmp / 1000; $m3ResponseTimeTmp2 = floatval($m3ResponseTimeTmp) / 1000; // $m3ResponseTimeTmp / 1000;
$dateTime = new DateTime; $dateTime = new DateTime;
$dateTime->setTimestamp($M3ResponseTimeTmp2); $dateTime->setTimestamp($m3ResponseTimeTmp2);
$M3ResponseTime = $M3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime'; $m3ResponseTime = $m3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
$transferStats = $response->transferStats; $transferStats = $response->transferStats;
$M3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime'; $m3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
if ($responseStatusCode == '200') { if ($responseStatusCode == '200') {
$responseContents = json_decode($response->getBody()->getContents()); $responseContents = json_decode($response->getBody()->getContents());
$responseResult = $responseContents->result; $responseResult = $responseContents->result;
$M3JSONResponse = json_encode($responseContents); $m3JSONResponse = json_encode($responseContents);
// Check M3 Response for Errors // Check M3 Response for Errors
$M3Errors = Helper::checkM3Errors($responseResult); $m3Errors = Helper::checkM3Errors($responseResult);
} else { } else {
$M3JSONResponse = ''; $m3JSONResponse = '';
$M3Errors = 'Error: No Response from M3'; $m3Errors = 'Error: No Response from M3';
} }
if ($M3Errors == '') { if ($m3Errors == '') {
// Write to Logs Out : Success // Write to Logs Out : Success
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . 'TYPE :' . $TYPE . self::ORDER_CATEGORY_LABEL . $ORDERCATEGORY . '-' . $M3JSONResponse . $M3SessionId . $M3ResponseTime . $M3transferTime, 'SHDATA' => $responseStatusCode . 'TYPE :' . $tYPE . self::ORDER_CATEGORY_LABEL . $oRDERCATEGORY . '-' . $m3JSONResponse . $m3SessionId . $m3ResponseTime . $m3transferTime,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
// Log to ICM799M // Log to ICM799M
$ICM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m') $iCM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
->insert(['IMDIV' => $DIVI, ->insert(['IMDIV' => $dIVI,
'IMPLANT' => $A5PLANT, 'IMPLANT' => $a5PLANT,
'IMWHS' => $WHS, 'IMWHS' => $wHS,
'IMSENTPKR' => $A5SENTPKR, 'IMSENTPKR' => $a5SENTPKR,
'IMDELNO' => $DELIVERYNO, 'IMDELNO' => $dELIVERYNO,
'IMORDER' => $CONUMBER, 'IMORDER' => $cONUMBER,
'IMLINE' => $COLINENO, 'IMLINE' => $cOLINENO,
'IMBRADLN' => $A5BRADLINE, 'IMBRADLN' => $a5BRADLINE,
'IMSUFFIX' => $PICKLISTSUFFIX, 'IMSUFFIX' => $pICKLISTSUFFIX,
'IMPART' => $PART, 'IMPART' => $pART,
'IMLOT' => $LOTNUMBER, 'IMLOT' => $lOTNUMBER,
'IMQTY' => $QUANTITY, 'IMQTY' => $qUANTITY,
'IMFRLOC' => $LOCATIONFROM, 'IMFRLOC' => $lOCATIONFROM,
'IMTOLOC' => $LOCATIONTO, 'IMTOLOC' => $lOCATIONTO,
'IMDATE' => date('Ymd'), 'IMDATE' => date('Ymd'),
'IMTIME' => date('His'), 'IMTIME' => date('His'),
]); ]);
@@ -323,25 +326,25 @@ class TransferAPI extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Failed // Write to Logs Out : Failed
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . '-' . $M3Errors . '-TYPE:' . $TYPE . self::ORDER_CATEGORY_LABEL . $ORDERCATEGORY . '-' . $M3JSONResponse . 'SHDATA' => $responseStatusCode . '-' . $m3Errors . '-TYPE:' . $tYPE . self::ORDER_CATEGORY_LABEL . $oRDERCATEGORY . '-' . $m3JSONResponse .
'M3-JSN-out' . $JSONIN . $M3SessionId . $M3ResponseTime . $M3transferTime, 'M3-JSN-out' . $jSONIN . $m3SessionId . $m3ResponseTime . $m3transferTime,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
'code' => '206', 'code' => '206',
'status' => 'Error', 'status' => 'Error',
'message' => $responseStatusCode . '-' . $M3Errors . '- TYPE :' . $TYPE . self::ORDER_CATEGORY_LABEL . $ORDERCATEGORY . '-' . $M3JSONResponse, 'message' => $responseStatusCode . '-' . $m3Errors . '- TYPE :' . $tYPE . self::ORDER_CATEGORY_LABEL . $oRDERCATEGORY . '-' . $m3JSONResponse,
]); ]);
} }
} }
@@ -356,18 +359,18 @@ class TransferAPI extends Controller
} }
} else { } else {
// Write to Logs Out : Error // Write to Logs Out : Error
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => self::NO_URL_PARAMETERS, 'SHDATA' => self::NO_URL_PARAMETERS,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -382,17 +385,17 @@ class TransferAPI extends Controller
$getCurlErrors = str_contains($th->getMessage(), 'cURL error'); $getCurlErrors = str_contains($th->getMessage(), 'cURL error');
if ($getCurlErrors) { if ($getCurlErrors) {
// Write to Logs Out : Failed // Write to Logs Out : Failed
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $JSONIN, 'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $jSONIN,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -403,18 +406,18 @@ class TransferAPI extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Error // Write to Logs Out : Error
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Err-out', 'SHTYPE' => 'M3-Err-out',
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300), 'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300),
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
Log::error($th); Log::error($th);
@@ -438,70 +441,70 @@ class TransferAPI extends Controller
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut')); ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
// Get the Calling User // Get the Calling User
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser'; $sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
// Set SHSOURCE // Set SHSOURCE
$SHSOURCE = 'UpdateShipmentNumber'; $sHSOURCE = 'UpdateShipmentNumber';
$M3Errors = ''; $m3Errors = '';
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
$DIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : ''; $dIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : ''; $wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
$PLANT = isset($urlParams['PLANT']) ? $urlParams['PLANT'] : ''; $pLANT = isset($urlParams['PLANT']) ? $urlParams['PLANT'] : '';
try { try {
if ($urlParams != '') { if ($urlParams != '') {
$A4SPR15A01 = isset($urlParams['A4SPR15A01']) ? $urlParams['A4SPR15A01'] : ''; $a4SPR15A01 = isset($urlParams['A4SPR15A01']) ? $urlParams['A4SPR15A01'] : '';
$DELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : ''; $dELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : '';
$TYPE = 'UpdateShipmentNumber'; $tYPE = 'UpdateShipmentNumber';
$allMacpkrs = []; $allMacpkrs = [];
if ($A4SPR15A01 != '') { if ($a4SPR15A01 != '') {
// Read from ICM688M1 // Read from ICM688M1
$ICM688M1SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1') $iCM688M1SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
->select('A4MACPKR') ->select('A4MACPKR')
->where('A4CO', $DIVI) ->where('A4CO', $dIVI)
->where('A4WHS', $WHS) ->where('A4WHS', $wHS)
->where('A4PLANT', $PLANT) ->where('A4PLANT', $pLANT)
->where('A4SPR15A01', $A4SPR15A01); ->where('A4SPR15A01', $a4SPR15A01);
// Get Macpikers also if sent as Parameter // Get Macpikers also if sent as Parameter
if ($DELIVERYNO != '') { if ($dELIVERYNO != '') {
$ICM688M1SLTMP->where('A4MACPKR', $DELIVERYNO); $iCM688M1SLTMP->where('A4MACPKR', $dELIVERYNO);
} }
$ICM688M1SL = $ICM688M1SLTMP->get(); $iCM688M1SL = $iCM688M1SLTMP->get();
// Loop ICM688M1 to get all A4MACPKR // Loop ICM688M1 to get all A4MACPKR
foreach ($ICM688M1SL as $key => $ICM688M1) { foreach ($iCM688M1SL as $key => $ICM688M1) {
$allMacpkrs[] = $ICM688M1->A4MACPKR; $allMacpkrs[] = $ICM688M1->A4MACPKR;
} }
} }
// A4SPR15A01 Exists : proceed // A4SPR15A01 Exists : proceed
if ($A4SPR15A01 != '' && count($allMacpkrs) > 0) { if ($a4SPR15A01 != '' && count($allMacpkrs) > 0) {
$JSON = json_encode([ $jSON = json_encode([
'DIVI' => $DIVI, 'DIVI' => $dIVI,
'WHS' => $WHS, 'WHS' => $wHS,
'ShipmentNumber' => [ 'ShipmentNumber' => [
'Number' => $A4SPR15A01, 'Number' => $a4SPR15A01,
'DeliveryNumbers' => $allMacpkrs, 'DeliveryNumbers' => $allMacpkrs,
], ],
'TYPE' => $TYPE, 'TYPE' => $tYPE,
'ENDFLAG' => '', 'ENDFLAG' => '',
], JSON_UNESCAPED_SLASHES); ], JSON_UNESCAPED_SLASHES);
// Write JSON Params to Logs Out // Write JSON Params to Logs Out
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Req-out', 'SHTYPE' => 'M3-Req-out',
'SHDATA' => $JSON, 'SHDATA' => $jSON,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -509,21 +512,21 @@ class TransferAPI extends Controller
$tokenResponse = Helper::checkReceiveTokenV2(); $tokenResponse = Helper::checkReceiveTokenV2();
$tokenData = $tokenResponse->getData(); $tokenData = $tokenResponse->getData();
if ($tokenData->code == '200') { if ($tokenData->code == '200') {
$IonToken = isset($tokenData->token) ? $tokenData->token : ''; $ionToken = isset($tokenData->token) ? $tokenData->token : '';
} else { } else {
$SHDATA = isset($tokenData->message) ? $tokenData->message : ''; $sHDATA = isset($tokenData->message) ? $tokenData->message : '';
// Write to Logs : Error // Write to Logs : Error
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $SHDATA, 'SHDATA' => $sHDATA,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -532,50 +535,50 @@ class TransferAPI extends Controller
// Call ionapi with Params // Call ionapi with Params
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync'; $endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync';
$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'))
->post($endPointURL); ->post($endPointURL);
$responseStatusCode = $response->getStatusCode(); $responseStatusCode = $response->getStatusCode();
$M3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID'; $m3SessionId = $response->hasHeader('x-transaction-id') ? '-sessionID:' . $response->header('x-transaction-id') : '-sessionID';
$M3ResponseTimeTmp = $response->hasHeader('x-response-time') ? ltrim($response->header('x-response-time'), '-') : '0'; $m3ResponseTimeTmp = $response->hasHeader('x-response-time') ? ltrim($response->header('x-response-time'), '-') : '0';
$M3ResponseTimeTmp2 = floatval($M3ResponseTimeTmp) / 1000; // $M3ResponseTimeTmp / 1000; $m3ResponseTimeTmp2 = floatval($m3ResponseTimeTmp) / 1000; // $m3ResponseTimeTmp / 1000;
$dateTime = new DateTime; $dateTime = new DateTime;
$dateTime->setTimestamp($M3ResponseTimeTmp2); $dateTime->setTimestamp($m3ResponseTimeTmp2);
$M3ResponseTime = $M3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime'; $m3ResponseTime = $m3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
$transferStats = $response->transferStats; $transferStats = $response->transferStats;
$M3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime'; $m3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
if ($responseStatusCode == '200') { if ($responseStatusCode == '200') {
$responseContents = json_decode($response->getBody()->getContents()); $responseContents = json_decode($response->getBody()->getContents());
$responseResult = $responseContents->result; $responseResult = $responseContents->result;
$M3JSONResponse = json_encode($responseContents); $m3JSONResponse = json_encode($responseContents);
// Check M3 Response for Errors // Check M3 Response for Errors
$M3Errors = Helper::checkM3Errors($responseResult); $m3Errors = Helper::checkM3Errors($responseResult);
} else { } else {
$M3JSONResponse = ''; $m3JSONResponse = '';
$M3Errors = 'Error: No Response from M3'; $m3Errors = 'Error: No Response from M3';
} }
if ($M3Errors == '') { if ($m3Errors == '') {
// Write to Logs Out : Success // Write to Logs Out : Success
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => '', 'SHERROR' => '',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . 'TYPE :' . $TYPE . '-' . $M3JSONResponse . $M3SessionId . $M3ResponseTime . $M3transferTime, 'SHDATA' => $responseStatusCode . 'TYPE :' . $tYPE . '-' . $m3JSONResponse . $m3SessionId . $m3ResponseTime . $m3transferTime,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -585,25 +588,25 @@ class TransferAPI extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Failed // Write to Logs Out : Failed
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => $responseStatusCode . '-' . $M3Errors . '-TYPE:' . $TYPE . '-' . $M3JSONResponse . 'SHDATA' => $responseStatusCode . '-' . $m3Errors . '-TYPE:' . $tYPE . '-' . $m3JSONResponse .
'M3-JSN-out' . $JSON . $M3SessionId . $M3ResponseTime . $M3transferTime, 'M3-JSN-out' . $jSON . $m3SessionId . $m3ResponseTime . $m3transferTime,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
return response()->json([ return response()->json([
'code' => '206', 'code' => '206',
'status' => 'Error', 'status' => 'Error',
'message' => $responseStatusCode . '-' . $M3Errors . '- TYPE :' . $TYPE . '-' . $M3JSONResponse, 'message' => $responseStatusCode . '-' . $m3Errors . '- TYPE :' . $tYPE . '-' . $m3JSONResponse,
]); ]);
} }
} }
@@ -618,18 +621,18 @@ class TransferAPI extends Controller
} }
} else { } else {
// Write to Logs Out : Error // Write to Logs Out : Error
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => self::NO_URL_PARAMETERS, 'SHDATA' => self::NO_URL_PARAMETERS,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -644,17 +647,17 @@ class TransferAPI extends Controller
$getCurlErrors = str_contains($th->getMessage(), 'cURL error'); $getCurlErrors = str_contains($th->getMessage(), 'cURL error');
if ($getCurlErrors) { if ($getCurlErrors) {
// Write to Logs Out : Failed // Write to Logs Out : Failed
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Res-out', 'SHTYPE' => 'M3-Res-out',
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $JSON, 'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $jSON,
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
@@ -665,18 +668,18 @@ class TransferAPI extends Controller
]); ]);
} else { } else {
// Write to Logs Out : Error // Write to Logs Out : Error
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD; $dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
$data = ['SHMACPKR' => $DELIVERYNO, $data = ['SHMACPKR' => $dELIVERYNO,
'SHDT' => date('Y-m-d'), 'SHDT' => date('Y-m-d'),
'SHTIME' => date('H:i:s'), 'SHTIME' => date('H:i:s'),
'SHERROR' => 'X', 'SHERROR' => 'X',
'SHINTBOX' => '', 'SHINTBOX' => '',
'SHTYPE' => 'M3-Err-out', 'SHTYPE' => 'M3-Err-out',
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300), 'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300),
'SHUSER' => $SHUSER, 'SHUSER' => $sHUSER,
'SHSOURCE' => $SHSOURCE, 'SHSOURCE' => $sHSOURCE,
'SHCO' => $DIVI, 'SHCO' => $dIVI,
'SHWHS' => $WHS, 'SHWHS' => $wHS,
]; ];
Helper::logToICM699M($data); Helper::logToICM699M($data);
Log::error($th); Log::error($th);
@@ -14,6 +14,7 @@ use Str;
class TwoShipAPIs extends Controller class TwoShipAPIs extends Controller
{ {
private const SOURCE = 'TwoShipUpdateHold'; private const SOURCE = 'TwoShipUpdateHold';
private const RESPONSE_TYPE = 'AggStopRsp'; private const RESPONSE_TYPE = 'AggStopRsp';
public function TwoShipUpdateHold(Request $request) public function TwoShipUpdateHold(Request $request)
@@ -27,6 +28,7 @@ class TwoShipAPIs extends Controller
if ($params === []) { if ($params === []) {
$this->log($macpkr ?: '000000', $co, $whs, $user, 'X', 'No URL Parameters Sent'); $this->log($macpkr ?: '000000', $co, $whs, $user, 'X', 'No URL Parameters Sent');
return response()->json(['code' => '405', 'status' => 'Error', 'message' => 'No URL Parameters Sent']); return response()->json(['code' => '405', 'status' => 'Error', 'message' => 'No URL Parameters Sent']);
} }
@@ -37,17 +39,20 @@ class TwoShipAPIs extends Controller
$error = $this->responseError($response); $error = $this->responseError($response);
if ($error !== '') { if ($error !== '') {
$this->log($macpkr, $co, $whs, $user, 'X', $response->status() . '-' . $error); $this->log($macpkr, $co, $whs, $user, 'X', $response->status() . '-' . $error);
return response()->json(['code' => '405', 'status' => 'error', 'message' => 'Status: ' . $response->status() . '-' . $error]); return response()->json(['code' => '405', 'status' => 'error', 'message' => 'Status: ' . $response->status() . '-' . $error]);
} }
$this->log($macpkr, $co, $whs, $user, '', $response->body()); $this->log($macpkr, $co, $whs, $user, '', $response->body());
$this->markAggregationComplete($orders, $co, $whs); $this->markAggregationComplete($orders, $co, $whs);
return response()->json(['code' => '200', 'status' => 'Success']); return response()->json(['code' => '200', 'status' => 'Success']);
} catch (\Throwable $th) { } catch (\Throwable $th) {
$message = str_contains($th->getMessage(), 'cURL error') $message = str_contains($th->getMessage(), 'cURL error')
? 'Curl Error: Communication with 2Ship Timed Out.' ? 'Curl Error: Communication with 2Ship Timed Out.'
: '2Ship communication failed.'; : '2Ship communication failed.';
$this->log($macpkr, $co, $whs, $user, 'X', $message); $this->log($macpkr, $co, $whs, $user, 'X', $message);
return response()->json(['code' => '405', 'status' => 'error', 'message' => $message]); return response()->json(['code' => '405', 'status' => 'error', 'message' => $message]);
} }
} }
@@ -76,6 +81,7 @@ class TwoShipAPIs extends Controller
$orders = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1') $orders = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
->where('A4SHPAGGCD', $aggregation)->where('A4SHPAGGCD', '<>', 0)->where('A4CONCMPLT', '<>', 'y') ->where('A4SHPAGGCD', $aggregation)->where('A4SHPAGGCD', '<>', 0)->where('A4CONCMPLT', '<>', 'y')
->where('A4CO', $co)->where('A4WHS', $whs)->pluck('A4MACPKR')->all(); ->where('A4CO', $co)->where('A4WHS', $whs)->pluck('A4MACPKR')->all();
return $orders !== [] ? $orders : [$macpkr]; return $orders !== [] ? $orders : [$macpkr];
} }
@@ -87,6 +93,7 @@ class TwoShipAPIs extends Controller
'FindBy' => 'ByMultipleOrderNumbers', 'FindBy' => 'ByMultipleOrderNumbers',
'DataToBeUpdated' => ['UpdateAggregationSettings' => true, 'OrderAggregationSettingsInfo' => ['NotConsideredAggregation' => true]], 'DataToBeUpdated' => ['UpdateAggregationSettings' => true, 'OrderAggregationSettingsInfo' => ['NotConsideredAggregation' => true]],
]; ];
return Http::acceptJson()->asJson()->timeout((int) Config::get('arrays.PHPTimeOut')) return Http::acceptJson()->asJson()->timeout((int) Config::get('arrays.PHPTimeOut'))
->post(Config::get('arrays.2Ship.end_point') . Config::get('arrays.2Ship.hold_update'), $payload); ->post(Config::get('arrays.2Ship.end_point') . Config::get('arrays.2Ship.hold_update'), $payload);
} }
@@ -97,6 +104,7 @@ class TwoShipAPIs extends Controller
return 'Error: No Response from 2Ship'; return 'Error: No Response from 2Ship';
} }
$body = $response->json(); $body = $response->json();
return ($body['Success'] ?? true) === false ? '2Ship Error: ' . ($body['GlobalError'] ?? 'Unknown error') : ''; return ($body['Success'] ?? true) === false ? '2Ship Error: ' . ($body['GlobalError'] ?? 'Unknown error') : '';
} }
@@ -9,9 +9,13 @@ use Str;
class BoxPackToPalletController extends Controller class BoxPackToPalletController extends Controller
{ {
private const PALLET_TABLE_ALIAS = 'ICM659M as p'; private const PALLET_TABLE_ALIAS = 'ICM659M as p';
private const CONVEYOR_SELECT = 'cnv.R652SORTK as CONVEYOR_NAME'; private const CONVEYOR_SELECT = 'cnv.R652SORTK as CONVEYOR_NAME';
private const CARTON_TABLE_ALIAS = 'ICM695M1 as c'; private const CARTON_TABLE_ALIAS = 'ICM695M1 as c';
private const CONVEYOR_VALUE_ALIAS = 'ICM688M1 as cv'; private const CONVEYOR_VALUE_ALIAS = 'ICM688M1 as cv';
private const CONVEYOR_TABLE_ALIAS = 'ICM652M as cnv'; private const CONVEYOR_TABLE_ALIAS = 'ICM652M as cnv';
public static function index(Request $request) public static function index(Request $request)
@@ -22,7 +26,7 @@ class BoxPackToPalletController extends Controller
// Load Existing Boxes from ICM659M // Load Existing Boxes from ICM659M
public static function getBoxes(Request $request) public static function getBoxes(Request $request)
{ {
$R659PALT = $request->R659PALT ?? abort(404, 'Manifest Not Found'); $r659PALT = $request->R659PALT ?? abort(404, 'Manifest Not Found');
$userWhsCoPlant = self::getUserWhsCoPlant(); $userWhsCoPlant = self::getUserWhsCoPlant();
@@ -43,7 +47,7 @@ class BoxPackToPalletController extends Controller
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX') ->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR') ->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ') ->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
->where('p.R659PALT', $R659PALT) ->where('p.R659PALT', $r659PALT)
->where('p.R659CO', trim($userWhsCoPlant['USERCO'])) ->where('p.R659CO', trim($userWhsCoPlant['USERCO']))
->where('p.R659WHS', trim($userWhsCoPlant['USERWHS'])) ->where('p.R659WHS', trim($userWhsCoPlant['USERWHS']))
->where('p.R659PLANT', trim($userWhsCoPlant['USERPL'])) ->where('p.R659PLANT', trim($userWhsCoPlant['USERPL']))
@@ -169,8 +173,19 @@ class BoxPackToPalletController extends Controller
private static function boxesForPallet($pallet, array $profile) private static function boxesForPallet($pallet, array $profile)
{ {
return DB::connection(config('m3.connection', 'pgsql'))->table(self::PALLET_TABLE_ALIAS) return DB::connection(config('m3.connection', 'pgsql'))->table(self::PALLET_TABLE_ALIAS)
->select('p.R659PALT', 'p.R659BOX', 'p.R659LOADED', 'p.R659USER', 'p.R659DATE', 'p.R659TIME', ->select(
'c.AYMACPKR', 'c.AYSPR15A01', 'cv.A4APR8N001', 'cv.A4SHSHCT', self::CONVEYOR_SELECT) 'p.R659PALT',
'p.R659BOX',
'p.R659LOADED',
'p.R659USER',
'p.R659DATE',
'p.R659TIME',
'c.AYMACPKR',
'c.AYSPR15A01',
'cv.A4APR8N001',
'cv.A4SHSHCT',
self::CONVEYOR_SELECT,
)
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX') ->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR') ->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ') ->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
@@ -182,36 +197,36 @@ class BoxPackToPalletController extends Controller
// Delete Box // Delete Box
public static function deleteBox(Request $request) public static function deleteBox(Request $request)
{ {
$R659PALT = $request->R659PALT ?? abort(400, 'Pallet Not Found'); $r659PALT = $request->R659PALT ?? abort(400, 'Pallet Not Found');
$R659BOX = trim($request->R659BOX) ?? abort(400, 'Box Not Found'); $r659BOX = trim($request->R659BOX) ?? abort(400, 'Box Not Found');
$userWhsCoPlant = self::getUserWhsCoPlant(); $userWhsCoPlant = self::getUserWhsCoPlant();
// Guard: only allow delete if R659LOADED is empty // Guard: only allow delete if R659LOADED is empty
$record = DB::connection(config('m3.connection', 'pgsql')) $record = DB::connection(config('m3.connection', 'pgsql'))
->table('icm659m') ->table('icm659m')
->where('R659PALT', $R659PALT) ->where('R659PALT', $r659PALT)
->where('R659BOX', $R659BOX) ->where('R659BOX', $r659BOX)
->first(); ->first();
if (! $record) { if (! $record) {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => "Box {$R659BOX} not found on Pallet {$R659PALT}.", 'message' => "Box {$r659BOX} not found on Pallet {$r659PALT}.",
], 404); ], 404);
} }
if (! empty(trim($record->R659LOADED))) { if (! empty(trim($record->R659LOADED))) {
return response()->json([ return response()->json([
'success' => false, 'success' => false,
'message' => "Box {$R659BOX} is already loaded and cannot be removed.", 'message' => "Box {$r659BOX} is already loaded and cannot be removed.",
], 403); ], 403);
} }
DB::connection(config('m3.connection', 'pgsql')) DB::connection(config('m3.connection', 'pgsql'))
->table('icm659m') ->table('icm659m')
->where('R659PALT', $R659PALT) ->where('R659PALT', $r659PALT)
->where('R659BOX', $R659BOX) ->where('R659BOX', $r659BOX)
->delete(); ->delete();
// Return refreshed list // Return refreshed list
@@ -232,7 +247,7 @@ class BoxPackToPalletController extends Controller
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX') ->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR') ->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ') ->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
->where('p.R659PALT', $R659PALT) ->where('p.R659PALT', $r659PALT)
->where('p.R659CO', trim($userWhsCoPlant['USERCO'])) ->where('p.R659CO', trim($userWhsCoPlant['USERCO']))
->where('p.R659WHS', trim($userWhsCoPlant['USERWHS'])) ->where('p.R659WHS', trim($userWhsCoPlant['USERWHS']))
->where('p.R659PLANT', trim($userWhsCoPlant['USERPL'])) ->where('p.R659PLANT', trim($userWhsCoPlant['USERPL']))
@@ -245,7 +260,7 @@ class BoxPackToPalletController extends Controller
return response()->json([ return response()->json([
'success' => true, 'success' => true,
'message' => "Box {$R659BOX} removed from Pallet {$R659PALT}.", 'message' => "Box {$r659BOX} removed from Pallet {$r659PALT}.",
'data' => $boxes, 'data' => $boxes,
]); ]);
} }
@@ -253,23 +268,23 @@ class BoxPackToPalletController extends Controller
// Get Logged User CO/WHS/PLANT // Get Logged User CO/WHS/PLANT
public static function getUserWhsCoPlant() public static function getUserWhsCoPlant()
{ {
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : ''; $sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// Get users from ICM428M // Get users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : '';
$USERCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; $uSERCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$USERWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; $uSERWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
$R428PL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; $r428PL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWhsCoPlant = [ $userWhsCoPlant = [
'R428US' => $R428US, 'R428US' => $r428US,
'USERCO' => $USERCO, 'USERCO' => $uSERCO,
'USERWHS' => $USERWH, 'USERWHS' => $uSERWH,
'USERPL' => $R428PL, 'USERPL' => $r428PL,
]; ];
return $userWhsCoPlant; return $userWhsCoPlant;
@@ -20,9 +20,9 @@ class M3DeliveryController extends Controller
$co = $power_user->R428CO; $co = $power_user->R428CO;
$plant = $power_user->R428PL; $plant = $power_user->R428PL;
$whs = $power_user->R428WH; $whs = $power_user->R428WH;
$ICM664M = Schema::connection($connection)->hasTable('icm664m') $iCM664M = Schema::connection($connection)->hasTable('icm664m')
? DB::connection($connection)->table('icm664m')->where('AVCO', $co)->where('AVPLANT', $plant)->where('AVWHS', $whs)->get() : collect(); ? DB::connection($connection)->table('icm664m')->where('AVCO', $co)->where('AVPLANT', $plant)->where('AVWHS', $whs)->get() : collect();
$IC670M = Schema::connection($connection)->hasTable('ic670m') $iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect(); ? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect();
$shipvia = Schema::connection($connection)->hasTable('icm319m') $shipvia = Schema::connection($connection)->hasTable('icm319m')
? DB::connection($connection)->table('icm319m')->select('AXCODE', 'AXDESC')->orderBy('AXCODE')->get() : collect(); ? DB::connection($connection)->table('icm319m')->select('AXCODE', 'AXDESC')->orderBy('AXCODE')->get() : collect();
@@ -22,17 +22,17 @@ class M3ErrorsDispController extends Controller
// Get users from ICM428M // Get users from ICM428M
$connection = config('m3.connection', 'pgsql'); $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() ? DB::connection($connection)->table('icm428m')->select('R428US', 'R428FIRST', 'R428FAMILY')->get()
: collect(); : collect();
$ICM428MCOL = collect($ICM428M); $iCM428MCOL = collect($iCM428M);
$ICM428MCOL->filter(function ($value) { $iCM428MCOL->filter(function ($value) {
return $value->R428US = trim($value->R428US); return $value->R428US = trim($value->R428US);
}); });
$ICM428MCOL->filter(function ($value) { $iCM428MCOL->filter(function ($value) {
return $value->R428FIRST = trim($value->R428FIRST); return $value->R428FIRST = trim($value->R428FIRST);
}); });
$ICM428MCOL->filter(function ($value) { $iCM428MCOL->filter(function ($value) {
return $value->R428FAMILY = trim($value->R428FAMILY); return $value->R428FAMILY = trim($value->R428FAMILY);
}); });
@@ -139,45 +139,45 @@ class M3ErrorsDispController extends Controller
public static function update699M(Request $request) public static function update699M(Request $request)
{ {
$SHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : ''; $sHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : '';
$SHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : ''; $sHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : '';
$SHCO = $request->SHCO != null ? trim($request->SHCO) : ''; $sHCO = $request->SHCO != null ? trim($request->SHCO) : '';
$SHWHS = $request->SHWHS != null ? trim($request->SHWHS) : ''; $sHWHS = $request->SHWHS != null ? trim($request->SHWHS) : '';
$SHDT = $request->SHDT != null ? trim($request->SHDT) : ''; $sHDT = $request->SHDT != null ? trim($request->SHDT) : '';
$SHTIME = $request->SHTIME != null ? trim($request->SHTIME) : ''; $sHTIME = $request->SHTIME != null ? trim($request->SHTIME) : '';
$SHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : ''; $sHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : '';
$SHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : ''; $sHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : '';
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : ''; $sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : '';
$CLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N'; $cLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N';
if ($CLOSESIM == 'N') { if ($cLOSESIM == 'N') {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m') $iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $SHMACPKR) ->where('SHMACPKR', $sHMACPKR)
->where('SHDT', $SHDT) ->where('SHDT', $sHDT)
->where('SHTIME', $SHTIME) ->where('SHTIME', $sHTIME)
->where('SHCO', $SHCO) ->where('SHCO', $sHCO)
->where('SHWHS', $SHWHS) ->where('SHWHS', $sHWHS)
->where('SHSOURCE', $SHSOURCE) ->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X') ->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE) ->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]); ->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $sHACKNOTE]);
} else { } else {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m') $iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHCO', $SHCO) ->where('SHCO', $sHCO)
->where('SHWHS', $SHWHS) ->where('SHWHS', $sHWHS)
->where('SHSOURCE', $SHSOURCE) ->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X') ->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE) ->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]); ->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 // Update ICM688M1 : Change A4PICKSTS
DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1') DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
->where('A4MACPKR', $SHMACPKR) ->where('A4MACPKR', $sHMACPKR)
->where('A4CO', $SHCO) ->where('A4CO', $sHCO)
->where('A4WHS', $SHWHS) ->where('A4WHS', $sHWHS)
->update(['A4PICKSTS' => 'a']); ->update(['A4PICKSTS' => 'a']);
} }
@@ -216,7 +216,7 @@ class M3ErrorsDispController extends Controller
return app(SpreadsheetExport::class)->download( return app(SpreadsheetExport::class)->download(
$rows, $rows,
'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx' 'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx',
); );
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
@@ -281,12 +281,17 @@ class M3ErrorsDispController extends Controller
DB::raw('COALESCE(ICM688M1.A4SHSHNM, ICM666M.A1SHSHNM) AS CUSTOMER '), DB::raw('COALESCE(ICM688M1.A4SHSHNM, ICM666M.A1SHSHNM) AS CUSTOMER '),
DB::raw(" ICM699M.SHDT || ' ' || ICM699M.SHTIME AS SHDATETIME"), DB::raw(" ICM699M.SHDT || ' ' || ICM699M.SHTIME AS SHDATETIME"),
DB::raw("CASE WHEN ICM699M.SHERROR !='Z' THEN TRIM(ICM699M.SHERROR) ELSE 'Closed' END AS ERROR"), 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"), 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"), DB::raw(" ICM699M.SHACKDATE ||' '||ICM699M.SHACKTIME AS ACKDATE"),
'ICM699M.SHACKUSER', 'ICM699M.SHINTBOX', 'ICM699M.SHACKNOTE', 'ICM699M.SHACKUSER',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)') 'ICM699M.SHINTBOX',
'ICM699M.SHACKNOTE',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)'),
) )
->distinct() ->distinct()
->leftJoin('ICM428M', 'ICM699M.SHUSER', '=', 'ICM428M.R428US') ->leftJoin('ICM428M', 'ICM699M.SHUSER', '=', 'ICM428M.R428US')
@@ -306,7 +311,7 @@ class M3ErrorsDispController extends Controller
return redirect()->back()->withInput()->with( return redirect()->back()->withInput()->with(
'message', 'message',
'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) '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%'); $builder->where('SHTYPE', 'like', '%M3%');
} }
} }
} }
@@ -17,44 +17,44 @@ class M3GetPDFFromCacheController extends Controller
$parser = new Parser; $parser = new Parser;
$aggno = $aggmsg = ''; $aggno = $aggmsg = '';
$IC670M = $PDFArray = $carrier = $trackingno = $ICM688M1 = []; $iC670M = $pDFArray = $carrier = $trackingno = $iCM688M1 = [];
$AYMACPKR = $WHDDA = $COMPANY = $PLANT = $WHS = ''; $aYMACPKR = $wHDDA = $cOMPANY = $pLANT = $wHS = '';
// PDF File PATH // PDF File PATH
$pdfFilePath = Config::get('arrays.PdfPath'); $pdfFilePath = Config::get('arrays.PdfPath');
try { try {
// Initialise Vars // Initialise Vars
$PDFArray = $trackingno = $carrier = $ICM688M1 = []; $pDFArray = $trackingno = $carrier = $iCM688M1 = [];
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : ''; $sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') { if ($sHUSER != '') {
// Get User CO & WH // Get User CO & WH
// Get user from ICM428M // Get user from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : '';
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; // Company $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : ''; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; // Plant $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : ''; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; // WareHouse $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : ''; // WareHouse
} }
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// ->where('WDCO',$userCO)->where('WDPL',$userPL)->where('WDWHS',$userWH) // ->where('WDCO',$userCO)->where('WDPL',$userPL)->where('WDWHS',$userWH)
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
// dump($urlParams); // dump($urlParams);
$AYMACPKR = isset($urlParams['MACPKR']) ? trim($urlParams['MACPKR']) : ''; // Delivery note number $aYMACPKR = isset($urlParams['MACPKR']) ? trim($urlParams['MACPKR']) : ''; // Delivery note number
$DOCTYPE = isset($urlParams['DOCTYPE']) ? trim($urlParams['DOCTYPE']) : ''; // Document type (PackingList, CarrierLabel, ContentLabel) $dOCTYPE = isset($urlParams['DOCTYPE']) ? trim($urlParams['DOCTYPE']) : ''; // Document type (PackingList, CarrierLabel, ContentLabel)
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
// Check Doctype fisrt // Check Doctype fisrt
$docTypes = $DOCTYPE != '' ? [$DOCTYPE] : ['PackingList', 'ContentLabel', 'CarrierLabel', 'GSLabel']; // document type (PackingList, CarrierLabel, ContentLabel) $docTypes = $dOCTYPE != '' ? [$dOCTYPE] : ['PackingList', 'ContentLabel', 'CarrierLabel', 'GSLabel']; // document type (PackingList, CarrierLabel, ContentLabel)
if ($urlParams != '') { if ($urlParams != '') {
// dump($urlParams); // dump($urlParams);
@@ -63,108 +63,108 @@ class M3GetPDFFromCacheController extends Controller
// Document type (PackingList, CarrierLabel, ContentLabel) // Document type (PackingList, CarrierLabel, ContentLabel)
// Get Aggregation Number if it exists // Get Aggregation Number if it exists
$ICM695M1Agg = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1') $iCM695M1Agg = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYTRUCK') ->select('AYTRUCK')
->where('AYCO', $COMPANY) ->where('AYCO', $cOMPANY)
->where('AYWHS', $WHS) ->where('AYWHS', $wHS)
->where('AYMACPKR', $AYMACPKR) ->where('AYMACPKR', $aYMACPKR)
->first(); ->first();
$aggno = isset($ICM695M1Agg->AYTRUCK) ? trim($ICM695M1Agg->AYTRUCK) : ''; $aggno = isset($iCM695M1Agg->AYTRUCK) ? trim($iCM695M1Agg->AYTRUCK) : '';
if ($aggno != '' && $aggno != '0') { if ($aggno != '' && $aggno != '0') {
$aggmsg = "This delivery note is part of aggregation $aggno "; $aggmsg = "This delivery note is part of aggregation $aggno ";
$ICM688M1 = DB::connection(config('m3.connection', 'pgsql'))->select("select A4MACPKR from ICM688M1 where A4SHPAGGCD='$aggno'"); $iCM688M1 = DB::connection(config('m3.connection', 'pgsql'))->select("select A4MACPKR from ICM688M1 where A4SHPAGGCD='$aggno'");
// foreach($ICM688M1 as $key => $ICM688M1R) { // foreach($iCM688M1 as $key => $ICM688M1R) {
// $aggmsg.=' <a href="M3GetPDFFromCache?MACPKR='.$ICM688M1R->A4MACPKR.'&COMPANY='.$COMPANY.'&PLANT='.$PLANT.'&WHS='.$WHS.'">'.$ICM688M1R->A4MACPKR.'</a>'; // $aggmsg.=' <a href="M3GetPDFFromCache?MACPKR='.$ICM688M1R->A4MACPKR.'&COMPANY='.$cOMPANY.'&PLANT='.$pLANT.'&WHS='.$wHS.'">'.$ICM688M1R->A4MACPKR.'</a>';
// } // }
// $aggmsg.=" )"; // $aggmsg.=" )";
// 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg# // 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg#
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1') $iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK') ->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK')
->distinct() ->distinct()
->where('AYCO', $COMPANY) ->where('AYCO', $cOMPANY)
->where('AYWHS', $WHS) ->where('AYWHS', $wHS)
// ->where('AYMACPKR',$AYMACPKR) // ->where('AYMACPKR',$aYMACPKR)
->where('AYTRUCK', $aggno) ->where('AYTRUCK', $aggno)
->orderBy('AYMACPKR') ->orderBy('AYMACPKR')
->get(); ->get();
} else { } else {
// 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg# // 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg#
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1') $iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK') ->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK')
->distinct() ->distinct()
->where('AYCO', $COMPANY) ->where('AYCO', $cOMPANY)
->where('AYWHS', $WHS) ->where('AYWHS', $wHS)
->where('AYMACPKR', $AYMACPKR) ->where('AYMACPKR', $aYMACPKR)
->orderBy('AYMACPKR') ->orderBy('AYMACPKR')
->get(); ->get();
} }
$allLabels = []; $allLabels = [];
if (count($ICM695M1) > 0) { if (count($iCM695M1) > 0) {
$tmpCacheArr = $carrier = $trackingno = []; $tmpCacheArr = $carrier = $trackingno = [];
// Loop the Results from $ICM595M1TMP // Loop the Results from $ICM595M1TMP
foreach ($ICM695M1 as $key => $ICM695M1R) { foreach ($iCM695M1 as $key => $ICM695M1R) {
$WHS = trim($ICM695M1R->AYWHS); $wHS = trim($ICM695M1R->AYWHS);
$COMPANY = trim($ICM695M1R->AYCO); $cOMPANY = trim($ICM695M1R->AYCO);
$AYMACPKR = trim($ICM695M1R->AYMACPKR); $aYMACPKR = trim($ICM695M1R->AYMACPKR);
$DOCNUM = trim($ICM695M1R->AYINTBOX); $dOCNUM = trim($ICM695M1R->AYINTBOX);
// 654 // 654
$carrier[] = trim($ICM695M1R->AYSPR15A01); $carrier[] = trim($ICM695M1R->AYSPR15A01);
$trackingno[] = trim($ICM695M1R->AYSPR30A01); $trackingno[] = trim($ICM695M1R->AYSPR30A01);
$aggno = trim($ICM695M1R->AYTRUCK); $aggno = trim($ICM695M1R->AYTRUCK);
// Make Key and Test Validity // Make Key and Test Validity
if ($AYMACPKR != '' && $COMPANY != '' && $WHS != '') { if ($aYMACPKR != '' && $cOMPANY != '' && $wHS != '') {
$CarrierLabel = ''; $carrierLabel = '';
$ContentLabel = ''; $contentLabel = '';
$PackingList = ''; $packingList = '';
$cacheKeyPackingList = $cacheKeyCarrierLabel = $cacheKeyContentLabel = ''; $cacheKeyPackingList = $cacheKeyCarrierLabel = $cacheKeyContentLabel = '';
// Get Unique Keys // Get Unique Keys
foreach ($docTypes as $key => $value) { foreach ($docTypes as $key => $value) {
// Check Parcel vs LTL // Check Parcel vs LTL
if ($value == 'ContentLabel') { if ($value == 'ContentLabel') {
$DOCNUMT = $DOCNUM; $dOCNUMT = $dOCNUM;
$ContentLabel = ! is_numeric($DOCNUM) ? 'LTL' : ''; $contentLabel = ! is_numeric($dOCNUM) ? 'LTL' : '';
} }
if ($value == 'CarrierLabel') { if ($value == 'CarrierLabel') {
$DOCNUMT = $DOCNUM; $dOCNUMT = $dOCNUM;
// Keep Solon Logic to read LTL // Keep Solon Logic to read LTL
$DOCNUMT2 = $ContentLabel == 'LTL' ? $AYMACPKR : $DOCNUM; $dOCNUMT2 = $contentLabel == 'LTL' ? $aYMACPKR : $dOCNUM;
if ($DOCNUMT2 != $DOCNUMT) { if ($dOCNUMT2 != $dOCNUMT) {
$PDFKey2 = $value . '/' . $value . '_' . $AYMACPKR . '_' . $DOCNUMT2 . '_' . $COMPANY . '_' . $WHS; $pDFKey2 = $value . '/' . $value . '_' . $aYMACPKR . '_' . $dOCNUMT2 . '_' . $cOMPANY . '_' . $wHS;
$tmpCacheArr[] = $PDFKey2; $tmpCacheArr[] = $pDFKey2;
} }
} }
if ($value == 'PackingList') { if ($value == 'PackingList') {
$DOCNUMT = $AYMACPKR; $dOCNUMT = $aYMACPKR;
} }
// Get GS1 Labels // Get GS1 Labels
if ($value == 'GSLabel') { if ($value == 'GSLabel') {
$PDFKey = $value . '/' . $value . '_' . $AYMACPKR . '_' . $COMPANY . '_' . $WHS . '_' . $DOCNUM; $pDFKey = $value . '/' . $value . '_' . $aYMACPKR . '_' . $cOMPANY . '_' . $wHS . '_' . $dOCNUM;
// $PDFKey = $value.'/'.$value.'_'.$AYMACPKR.'_'.$COMPANY.'_'.$WHS; // $pDFKey = $value.'/'.$value.'_'.$aYMACPKR.'_'.$cOMPANY.'_'.$wHS;
// } // }
// else{ // else{
// $PDFKey = $value.'/'.$value.'_'.$AYMACPKR.'_'.$COMPANY.'_'.$WHS.'_'.$DOCNUM; // $pDFKey = $value.'/'.$value.'_'.$aYMACPKR.'_'.$cOMPANY.'_'.$wHS.'_'.$dOCNUM;
// } // }
} else { } else {
$PDFKey = $value . '/' . $value . '_' . $AYMACPKR . '_' . $DOCNUMT . '_' . $COMPANY . '_' . $WHS; $pDFKey = $value . '/' . $value . '_' . $aYMACPKR . '_' . $dOCNUMT . '_' . $cOMPANY . '_' . $wHS;
} }
$tmpCacheArr[] = $PDFKey; $tmpCacheArr[] = $pDFKey;
} }
} }
} }
// Get unique values from array $PDFArray // Get unique values from array $pDFArray
$tmpCacheArr = collect($tmpCacheArr)->unique(); $tmpCacheArr = collect($tmpCacheArr)->unique();
foreach ($tmpCacheArr as $key => $value) { foreach ($tmpCacheArr as $key => $value) {
@@ -175,7 +175,7 @@ class M3GetPDFFromCacheController extends Controller
// Transform content to base64 // Transform content to base64
// $base64PDF = $pdfFile; // $base64PDF = $pdfFile;
$base64PDF = base64_encode($pdfFile); $base64PDF = base64_encode($pdfFile);
$PDFArray[] = $base64PDF; $pDFArray[] = $base64PDF;
} }
} }
} else { } else {
@@ -184,9 +184,9 @@ class M3GetPDFFromCacheController extends Controller
} }
} catch (\Throwable $th) { } catch (\Throwable $th) {
} }
// dump($AYMACPKR); // dump($aYMACPKR);
// dump($IC670M); // dump($iC670M);
// dump($ICM695M1); // dump($iCM695M1);
return view('m3::liberty-theme.pages.M3GetPDF', compact('IC670M', 'PDFArray', 'AYMACPKR', 'WHDDA', 'aggmsg', 'carrier', 'trackingno', 'ICM688M1', 'COMPANY', 'PLANT', 'WHS')); return view('m3::liberty-theme.pages.M3GetPDF', compact('IC670M', 'PDFArray', 'AYMACPKR', 'WHDDA', 'aggmsg', 'carrier', 'trackingno', 'ICM688M1', 'COMPANY', 'PLANT', 'WHS'));
// compact('IC670M','ViewTitle') // compact('IC670M','ViewTitle')
@@ -10,37 +10,37 @@ class MFOrdersController extends Controller
{ {
public static function index(Request $request) public static function index(Request $request)
{ {
$MF = isset($request->id) ? trim($request->id) : ''; $mF = isset($request->id) ? trim($request->id) : '';
// dd("MFOrders ".$MF); // dd("MFOrders ".$mF);
// Get Users from ICM428M // Get Users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', strtoupper(m3_user())) ->where('R428US', '=', strtoupper(m3_user()))
->first(); ->first();
$user = $ICM428M->R428US; $user = $iCM428M->R428US;
$co = $ICM428M->R428CO; $co = $iCM428M->R428CO;
$whs = $ICM428M->R428WH; $whs = $iCM428M->R428WH;
$plant = $ICM428M->R428PL; $plant = $iCM428M->R428PL;
// ICM705M1 Statement // ICM705M1 Statement
$sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT, $sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT,
APLDCLOU,APLDCLOD,APLDCLOT,APCO,APWHS,APPLT,APSPARE2,APLDCLOZ APLDCLOU,APLDCLOD,APLDCLOT,APCO,APWHS,APPLT,APSPARE2,APLDCLOZ
from ICM705M1 from ICM705M1
where APMANIFEST = $MF and APCO='$co' and APWHS='$whs' and APPLT='$plant' limit 1"; where APMANIFEST = $mF and APCO='$co' and APWHS='$whs' and APPLT='$plant' limit 1";
$ICM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$carrier = isset($ICM705M1[0]->APCARRIER) ? trim($ICM705M1[0]->APCARRIER) : ''; $carrier = isset($iCM705M1[0]->APCARRIER) ? trim($iCM705M1[0]->APCARRIER) : '';
if ($MF != '') { if ($mF != '') {
$status_ICM688M1_array = Config::get('arrays.status_ICM688M1_array'); $status_ICM688M1_array = Config::get('arrays.status_ICM688M1_array');
$sqlstmt = "SELECT AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01,SUM(AYLNWGHT) AS TOTWEIGHT,COUNT(*) AS BOXPAL FROM ICM695M1 $sqlstmt = "SELECT AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01,SUM(AYLNWGHT) AS TOTWEIGHT,COUNT(*) AS BOXPAL FROM ICM695M1
LEFT JOIN ICM688M1 ON AYCO=A4CO AND AYPLANT=A4PLANT AND AYMACPKR=A4MACPKR LEFT JOIN ICM688M1 ON AYCO=A4CO AND AYPLANT=A4PLANT AND AYMACPKR=A4MACPKR
WHERE AYAPRF1551= $MF and AYCO='$co' and AYWHS='$whs' and AYPLANT='$plant' WHERE AYAPRF1551= $mF and AYCO='$co' and AYWHS='$whs' and AYPLANT='$plant'
GROUP BY AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01"; GROUP BY AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01";
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
return view( return view(
'm3::liberty-theme.pages.MFOrders', 'm3::liberty-theme.pages.MFOrders',
@@ -17,22 +17,22 @@ class OrderLinesOfClosedOrder extends Controller
public static function index(Request $request) public static function index(Request $request)
{ {
$IC670M = $ICM688M2 = []; $iC670M = $iCM688M2 = [];
$WHDDA = $COMPANY = $PLANT = $WHS = ''; $wHDDA = $cOMPANY = $pLANT = $wHS = '';
$REPORTDATEDisp = today()->format('Ymd'); $rEPORTDATEDisp = today()->format('Ymd');
$allReportsUrls = []; $allReportsUrls = [];
try { try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext('110', '144', '322'); [$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext('110', '144', '322');
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
$REPORTDATEDisp = isset($urlParams['REPORTDATEDisp']) ? \DateTime::createFromFormat('Y-m-d', trim($urlParams['REPORTDATEDisp']))->format('Ymd') : today()->format('Ymd'); $rEPORTDATEDisp = isset($urlParams['REPORTDATEDisp']) ? \DateTime::createFromFormat('Y-m-d', trim($urlParams['REPORTDATEDisp']))->format('Ymd') : today()->format('Ymd');
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
if ($REPORTDATEDisp != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') { if ($rEPORTDATEDisp != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M // Case 729: Add Currency code A1SHCURR FROM ICM666M
$selectContent = " $selectContent = "
SELECT A5MACPKR, A5ONO, SELECT A5MACPKR, A5ONO,
@@ -60,18 +60,18 @@ class OrderLinesOfClosedOrder extends Controller
WHERE A5MACPKR IN ( WHERE A5MACPKR IN (
SELECT DISTINCT AYMACPKR SELECT DISTINCT AYMACPKR
FROM ICM695M1 FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 = $REPORTDATEDisp WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 = $rEPORTDATEDisp
) )
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT"; AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT";
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql')) $iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select($selectContent); ->select($selectContent);
} else { } else {
$ICM688M2 = collect(); $iCM688M2 = collect();
} }
// Get List of Files // Get List of Files
$allReportsUrls = self::reportUrls($WHS); $allReportsUrls = self::reportUrls($wHS);
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
@@ -88,10 +88,10 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('memory_limit', '1024M'); ini_set('memory_limit', '1024M');
try { try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext(); [$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext();
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
@@ -101,8 +101,8 @@ class OrderLinesOfClosedOrder extends Controller
$reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d'); $reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d');
$toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d'); $toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d');
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
if ($reportDate != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') { if ($reportDate != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M // Case 729: Add Currency code A1SHCURR FROM ICM666M
$selectContent = " $selectContent = "
SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO, SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO,
@@ -130,9 +130,9 @@ class OrderLinesOfClosedOrder extends Controller
FROM ICM695M1 FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
) )
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT"; AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT";
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql')) $iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select($selectContent); ->select($selectContent);
$newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #', $newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #',
@@ -140,25 +140,25 @@ class OrderLinesOfClosedOrder extends Controller
'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved', 'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved',
'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name', 'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name',
'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight']; 'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight'];
$ICM688M2Col = collect($ICM688M2); $iCM688M2Col = collect($iCM688M2);
$ICM688M2Col->prepend($newItem); $iCM688M2Col->prepend($newItem);
// Count records before exporting to excel : Max 20K records are allowed // Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count(); $iCM688M2Count = $iCM688M2Col->count();
// Set Max allowed records // Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL'); $maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count > $maxRecords) { if ($iCM688M2Count > $maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) . return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) .
' current records: ' . number_format($ICM688M2Count) . ' , change your search criteria.'); ' current records: ' . number_format($iCM688M2Count) . ' , change your search criteria.');
} }
} else { } else {
$ICM688M2Col = ''; $iCM688M2Col = '';
} }
// Download Excel // Download Excel
// Add true at the end to include fields names in the Header // Add true at the end to include fields names in the Header
return app(SpreadsheetExport::class)->download($ICM688M2Col, 'Closedorderlinesreport_' . $reportDateWD . '-' . $toreportDateWD . self::XLSX_EXTENSION); return app(SpreadsheetExport::class)->download($iCM688M2Col, 'Closedorderlinesreport_' . $reportDateWD . '-' . $toreportDateWD . self::XLSX_EXTENSION);
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
} }
@@ -172,10 +172,10 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('memory_limit', '1024M'); ini_set('memory_limit', '1024M');
try { try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext(); [$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext();
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
@@ -185,10 +185,10 @@ class OrderLinesOfClosedOrder extends Controller
$reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d'); $reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d');
$toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d'); $toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d');
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
if ($reportDate != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') { if ($reportDate != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M // Case 729: Add Currency code A1SHCURR FROM ICM666M
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql')) $iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select(" ->select("
SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO, SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO,
A4OFSTRM, A4OFSTRM,
@@ -215,7 +215,7 @@ class OrderLinesOfClosedOrder extends Controller
FROM ICM695M1 FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
) )
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT
"); ");
$newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #', $newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #',
@@ -223,27 +223,25 @@ class OrderLinesOfClosedOrder extends Controller
'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved', 'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved',
'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name', 'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name',
'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight']; 'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight'];
$ICM688M2Col = collect($ICM688M2); $iCM688M2Col = collect($iCM688M2);
$ICM688M2Col->prepend($newItem); $iCM688M2Col->prepend($newItem);
// Count records before exporting to excel : Max 20K records are allowed // Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count(); $iCM688M2Count = $iCM688M2Col->count();
// Set Max allowed records // Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL'); $maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count > $maxRecords) { if ($iCM688M2Count > $maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) . return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) .
' current records: ' . number_format($ICM688M2Count) . ' , change your search criteria.'); ' current records: ' . number_format($iCM688M2Count) . ' , change your search criteria.');
} }
} else { } else {
$ICM688M2Col = ''; $iCM688M2Col = '';
} }
$prevMonthFile = self::storedReportName($WHS, $reportDateWD, $toreportDateWD); $prevMonthFile = self::storedReportName($wHS, $reportDateWD, $toreportDateWD);
// 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) {
@@ -14,25 +14,25 @@ class ReplenishSettingsController extends Controller
public static function index(Request $request) public static function index(Request $request)
{ {
// Replenishment Table // Replenishment Table
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get(); // $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// Warehouse Table // Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); // $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get Logged user Id // Get Logged user Id
$userId = m3_user() !== '' ? strtoupper(m3_user()) : ''; $userId = m3_user() !== '' ? strtoupper(m3_user()) : '';
// $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF // $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF
$connection = config('m3.connection', 'pgsql'); $connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m') $iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first() ? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first()
: null; : null;
$userCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; $userCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$userPL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; $userPL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; $userWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
if ($userCO != '') { if ($userCO != '') {
// Warehouse Table // Warehouse Table
$IC670M = Schema::connection($connection)->hasTable('ic670m') $iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m') ? DB::connection($connection)->table('ic670m')
->where('WDCO', $userCO) ->where('WDCO', $userCO)
->where('WDPL', $userPL) ->where('WDPL', $userPL)
@@ -40,14 +40,14 @@ class ReplenishSettingsController extends Controller
->get() ->get()
: []; : [];
} else { } else {
$IC670M = []; $iC670M = [];
} }
// FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ, // FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ,
// TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M // TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M
// ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'"; // ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'";
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); // $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($REFCAT658); // dd($rEFCAT658);
return view('m3::liberty-theme.pages.ReplenishSettings', compact('IC670M')); return view('m3::liberty-theme.pages.ReplenishSettings', compact('IC670M'));
// 'REFCAT658', // 'REFCAT658',
@@ -62,47 +62,47 @@ class ReplenishSettingsController extends Controller
$formInputs['R658IZLCF'] = isset($formInputs['R658IZLCF']) ? $formInputs['R658IZLCF'] : '0'; $formInputs['R658IZLCF'] = isset($formInputs['R658IZLCF']) ? $formInputs['R658IZLCF'] : '0';
$ICM658MINS = ICM658M::insert($formInputs); $iCM658MINS = ICM658M::insert($formInputs);
return redirect()->route('m3.replenishmentSettings.index'); return redirect()->route('m3.replenishmentSettings.index');
} }
public function update(Request $request) public function update(Request $request)
{ {
$R658PN = (trim($request->R658PN) ?? trim($request->R658PN)) != null ? trim($request->R658PN) : ''; $r658PN = (trim($request->R658PN) ?? trim($request->R658PN)) != null ? trim($request->R658PN) : '';
$R658CO = (trim($request->R658CO) ?? trim($request->R658CO)) != null ? trim($request->R658CO) : ''; $r658CO = (trim($request->R658CO) ?? trim($request->R658CO)) != null ? trim($request->R658CO) : '';
$R658PL = (trim($request->R658PL) ?? trim($request->R658PL)) != null ? trim($request->R658PL) : ''; $r658PL = (trim($request->R658PL) ?? trim($request->R658PL)) != null ? trim($request->R658PL) : '';
$R658WH = (trim($request->R658WH) ?? trim($request->R658WH)) != null ? trim($request->R658WH) : ''; $r658WH = (trim($request->R658WH) ?? trim($request->R658WH)) != null ? trim($request->R658WH) : '';
$R658MQ = trim($request->R658MQ); $r658MQ = trim($request->R658MQ);
$R658RQ = trim($request->R658RQ); $r658RQ = trim($request->R658RQ);
$R658RMQ = trim($request->R658RMQ); $r658RMQ = trim($request->R658RMQ);
$R658TL = trim($request->R658TL); $r658TL = trim($request->R658TL);
$R658IZLCF = (trim($request->R658IZLCF) ?? trim($request->R658IZLCF)) != null ? trim($request->R658IZLCF) : '0'; $r658IZLCF = (trim($request->R658IZLCF) ?? trim($request->R658IZLCF)) != null ? trim($request->R658IZLCF) : '0';
DB::connection(config('m3.connection', 'pgsql'))->table('icm658m') DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN) ->where('R658PN', $r658PN)
->where('R658CO', $R658CO) ->where('R658CO', $r658CO)
->where('R658PL', $R658PL) ->where('R658PL', $r658PL)
->where('R658WH', $R658WH) ->where('R658WH', $r658WH)
->update(['R658MQ' => $R658MQ, 'R658RQ' => $R658RQ, 'R658RMQ' => $R658RMQ, 'R658TL' => $R658TL, 'R658IZLCF' => $R658IZLCF]); ->update(['R658MQ' => $r658MQ, 'R658RQ' => $r658RQ, 'R658RMQ' => $r658RMQ, 'R658TL' => $r658TL, 'R658IZLCF' => $r658IZLCF]);
return redirect()->route('m3.replenishmentSettings.index'); return redirect()->route('m3.replenishmentSettings.index');
} }
public function deleteRec(Request $request) public function deleteRec(Request $request)
{ {
$R658PN = trim($request->R658PN); $r658PN = trim($request->R658PN);
$R658CO = trim($request->R658CO); $r658CO = trim($request->R658CO);
$R658LC = trim($request->R658LC); $r658LC = trim($request->R658LC);
$R658PL = trim($request->R658PL); $r658PL = trim($request->R658PL);
$R658WH = trim($request->R658WH); $r658WH = trim($request->R658WH);
$deleteRecord = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m') $deleteRecord = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN) ->where('R658PN', $r658PN)
->where('R658CO', $R658CO) ->where('R658CO', $r658CO)
->where('R658LC', $R658LC) ->where('R658LC', $r658LC)
->where('R658PL', $R658PL) ->where('R658PL', $r658PL)
->where('R658WH', $R658WH) ->where('R658WH', $r658WH)
->delete(); ->delete();
return response()->json(['success' => 'Record Deleted']); return response()->json(['success' => 'Record Deleted']);
@@ -114,18 +114,18 @@ class ReplenishSettingsController extends Controller
parse_str($request['data'], $params); parse_str($request['data'], $params);
$paramsObj = (object) $params; $paramsObj = (object) $params;
$R658PN = trim($paramsObj->R658PN); $r658PN = trim($paramsObj->R658PN);
$R658CO = trim($paramsObj->R658CO); $r658CO = trim($paramsObj->R658CO);
$R658LC = trim($paramsObj->R658LC); $r658LC = trim($paramsObj->R658LC);
$R658PL = trim($paramsObj->R658PL); $r658PL = trim($paramsObj->R658PL);
$R658WH = trim($paramsObj->R658WH); $r658WH = trim($paramsObj->R658WH);
$recordExistSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m') $recordExistSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN) ->where('R658PN', $r658PN)
->where('R658CO', $R658CO) ->where('R658CO', $r658CO)
->where('R658LC', $R658LC) ->where('R658LC', $r658LC)
->where('R658PL', $R658PL) ->where('R658PL', $r658PL)
->where('R658WH', $R658WH) ->where('R658WH', $r658WH)
->first(); ->first();
$recordExists = $recordExistSQL == null ? true : false; $recordExists = $recordExistSQL == null ? true : false;
@@ -135,25 +135,25 @@ class ReplenishSettingsController extends Controller
public function datatables(Request $request) public function datatables(Request $request)
{ {
// Replenishment Table // Replenishment Table
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get(); // $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// Warehouse Table // Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); // $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get Logged user Id // Get Logged user Id
$userId = m3_user() !== '' ? strtoupper(m3_user()) : ''; $userId = m3_user() !== '' ? strtoupper(m3_user()) : '';
// $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF // $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF
$connection = config('m3.connection', 'pgsql'); $connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m') $iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first() ? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first()
: null; : null;
$userCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; $userCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$userPL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; $userPL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; $userWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
if ($userCO != '') { if ($userCO != '') {
// Replenishment Table // Replenishment Table
$REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m') $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->select('*') ->select('*')
->where('R658CO', $userCO) ->where('R658CO', $userCO)
->where('R658PL', $userPL) ->where('R658PL', $userPL)
@@ -161,22 +161,21 @@ class ReplenishSettingsController extends Controller
->orderBy('R658CO', 'asc'); ->orderBy('R658CO', 'asc');
// Warehouse Table // Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m') // $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')
// ->where('WDCO',$userCO) // ->where('WDCO',$userCO)
// ->where('WDPL',$userPL) // ->where('WDPL',$userPL)
// ->where('WDWHS',$userWH) // ->where('WDWHS',$userWH)
// ->get(); // ->get();
} else { } else {
$REFCAT658 = []; $rEFCAT658 = [];
} }
// FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ, // FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ,
// TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M // TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M
// ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'"; // ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'";
// $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);
} }
} }
@@ -38,12 +38,12 @@ class ShipToController extends Controller
public function create() public function create()
{ {
// US // US
$USstates = USStates::all(); $uSstates = USStates::all();
// CA // CA
$CAstates = CAProvinces::all(); $cAstates = CAProvinces::all();
// All States // All States
$states = array_merge($USstates, $CAstates); $states = array_merge($uSstates, $cAstates);
return view('m3::liberty-theme.pages.ship-to.create', compact('states')); return view('m3::liberty-theme.pages.ship-to.create', compact('states'));
} }
@@ -104,12 +104,12 @@ class ShipToController extends Controller
public function edit($aushshzp, $aushwhs) public function edit($aushshzp, $aushwhs)
{ {
// US // US
$USstates = USStates::all(); $uSstates = USStates::all();
// CA // CA
$CAstates = CAProvinces::all(); $cAstates = CAProvinces::all();
// All States // All States
$states = array_merge($USstates, $CAstates); $states = array_merge($uSstates, $cAstates);
$shipTo = ShipTo::where('AUSHSHZP', $aushshzp) $shipTo = ShipTo::where('AUSHSHZP', $aushshzp)
->where('AUSHWHS', $aushwhs) ->where('AUSHWHS', $aushwhs)
@@ -13,14 +13,14 @@ class carrierMaintController extends Controller
public static function index(Request $request) public static function index(Request $request)
{ {
$currentUser = Helper::getUserCOWHSPLT(); $currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? ''; $userCO = $currentUser['UserCO'] ?? '';
$ICM160M = []; $iCM160M = [];
$power_user = []; $power_user = [];
$schema = Schema::connection(config('m3.connection', 'pgsql')); $schema = Schema::connection(config('m3.connection', 'pgsql'));
if ($schema->hasTable('icm160m')) { if ($schema->hasTable('icm160m')) {
$ICM160M = DB::connection(config('m3.connection', 'pgsql'))->select(' $iCM160M = DB::connection(config('m3.connection', 'pgsql'))->select('
select canum, canam, substr(CATPID,1,3) as TwoshipCarrierCode, substr(CATPID,4,1) as ParcelCarrierCode, caspr10A01, caspr1A01 select canum, canam, substr(CATPID,1,3) as TwoshipCarrierCode, substr(CATPID,4,1) as ParcelCarrierCode, caspr10A01, caspr1A01
from icm160m WHERE CACO=?', [$UserCO]); from icm160m WHERE CACO=?', [$userCO]);
} }
if ($schema->hasTable('icm428m')) { if ($schema->hasTable('icm428m')) {
$power_user = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $power_user = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
@@ -36,7 +36,7 @@ class carrierMaintController extends Controller
public static function savecarrierAdd(Request $request) public static function savecarrierAdd(Request $request)
{ {
$currentUser = Helper::getUserCOWHSPLT(); $currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? ''; $userCO = $currentUser['UserCO'] ?? '';
// $UserPL = $currentUser['UserPL'] ?? ''; // $UserPL = $currentUser['UserPL'] ?? '';
// Insert record to ICM160M // Insert record to ICM160M
@@ -44,16 +44,16 @@ class carrierMaintController extends Controller
if ($request->CANUM == null) { if ($request->CANUM == null) {
return 'null'; return 'null';
} }
$icm160m = DB::connection(config('m3.connection', 'pgsql'))->select("select count(*) as COUNT1 from ICM160M where CANUM='$request->CANUM' AND CACO='$UserCO'"); $icm160m = DB::connection(config('m3.connection', 'pgsql'))->select("select count(*) as COUNT1 from ICM160M where CANUM='$request->CANUM' AND CACO='$userCO'");
if ($icm160m[0]->COUNT1 == '1') { if ($icm160m[0]->COUNT1 == '1') {
return 'exists'; return 'exists';
} else { } else {
$CASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' '; $cASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$CASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' '; $cASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM, $data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM,
'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1), 'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1),
'CASPR10A01' => $CASPR10A01, 'CASPR1A01' => $CASPR1A01, 'CACO' => $UserCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS 'CASPR10A01' => $cASPR10A01, 'CASPR1A01' => $cASPR1A01, 'CACO' => $userCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data); $insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data);
if ($insertSQL) { if ($insertSQL) {
return 'success'; return 'success';
@@ -64,7 +64,7 @@ class carrierMaintController extends Controller
public static function savecarrierAdd2(Request $request) public static function savecarrierAdd2(Request $request)
{ {
$currentUser = Helper::getUserCOWHSPLT(); $currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? ''; $userCO = $currentUser['UserCO'] ?? '';
// $UserPL = $currentUser['UserPL'] ?? ''; // $UserPL = $currentUser['UserPL'] ?? '';
// Insert record to ICM160M // Insert record to ICM160M
@@ -72,11 +72,11 @@ class carrierMaintController extends Controller
return 'null'; return 'null';
} }
$CASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' '; $cASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$CASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' '; $cASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM, 'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1), $data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM, 'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1),
'CASPR10A01' => $CASPR10A01, 'CASPR1A01' => $CASPR1A01, 'CACO' => $UserCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS 'CASPR10A01' => $cASPR10A01, 'CASPR1A01' => $cASPR1A01, 'CACO' => $userCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data); $insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data);
if ($insertSQL) { if ($insertSQL) {
return 'success'; return 'success';
@@ -88,7 +88,7 @@ class carrierMaintController extends Controller
public static function savecarrierEdit(Request $request) public static function savecarrierEdit(Request $request)
{ {
$currentUser = Helper::getUserCOWHSPLT(); $currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? ''; $userCO = $currentUser['UserCO'] ?? '';
if ($request->CANUM == null) { if ($request->CANUM == null) {
return 'null'; return 'null';
@@ -96,7 +96,7 @@ class carrierMaintController extends Controller
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM160M DB::connection(config('m3.connection', 'pgsql'))->update("update ICM160M
set CANAM='$request->CANAM', CATPID='" . str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1) . "', set CANAM='$request->CANAM', CATPID='" . str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1) . "',
CASPR10A01='$request->CASPR10A01', CASPR1A01='$request->CASPR1A01' CASPR10A01='$request->CASPR10A01', CASPR1A01='$request->CASPR1A01'
where CANUM='$request->CANUM' AND CACO='$UserCO'"); where CANUM='$request->CANUM' AND CACO='$userCO'");
return 'success'; return 'success';
@@ -10,22 +10,23 @@ 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();
$WHDDA = ''; $wHDDA = '';
$COMPANY = '110'; $cOMPANY = '110';
$PLANT = '144'; $pLANT = '144';
$WHS = '322'; $wHS = '322';
try { try {
// Ajax Call // Ajax Call
if ($request->ajax()) { if ($request->ajax()) {
$WHDDA = isset($request->WHDDA) ? $request->WHDDA : []; $wHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$WHArr = []; $wHArr = [];
foreach ($WHDDA as $key => $WHDDAV) { foreach ($wHDDA as $key => $WHDDAV) {
$CO = substr($WHDDAV, 0, 3); $cO = substr($WHDDAV, 0, 3);
$WHArr[] = substr($WHDDAV, 6, 3); $wHArr[] = substr($WHDDAV, 6, 3);
} }
$reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily $reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily
@@ -34,7 +35,7 @@ class execSummaryController extends Controller
$checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on $checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on
$checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on $checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on
if (count($WHArr) > 0 && $CO != '' && $reportPeriod != '') { if (count($wHArr) > 0 && $cO != '' && $reportPeriod != '') {
switch ($reportPeriod) { switch ($reportPeriod) {
case 'year': case 'year':
// Set Dates based on reportPeriod type // Set Dates based on reportPeriod type
@@ -50,7 +51,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . "' and a5whs in(" . implode(',', $WHArr) . ') ) and a5co='" . $cO . "' and a5whs in(" . implode(',', $wHArr) . ')
) )
select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile
group by substr(ayapr8N002,1,4),a5whs order by 1 '; group by substr(ayapr8N002,1,4),a5whs order by 1 ';
@@ -70,7 +71,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ") ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
) )
select substr(ayapr8N002,3,2) ||'-' || 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) as years,count(*) as lines, select substr(ayapr8N002,3,2) ||'-' || 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) as years,count(*) as lines,
sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -92,7 +93,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ") ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
) )
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -114,7 +115,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ') ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
) )
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -139,23 +140,23 @@ class execSummaryController extends Controller
} }
// Init Page // Init Page
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : ''; $sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') { if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M // Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '110'; // Company $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '110'; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '144'; // Plant $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '144'; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '322'; // WareHouse $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '322'; // WareHouse
} }
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
// dump($WHDDA); // dump($wHDDA);
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
} }
@@ -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)
@@ -19,11 +22,11 @@ class execSummaryLineController extends Controller
try { try {
// Ajax Call // Ajax Call
if ($request->ajax()) { if ($request->ajax()) {
$WHDDA = isset($request->WHDDA) ? $request->WHDDA : []; $wHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$WHArr = []; $wHArr = [];
foreach ($WHDDA as $key => $WHDDAV) { foreach ($wHDDA as $key => $WHDDAV) {
$CO = substr($WHDDAV, 0, 3); $cO = substr($WHDDAV, 0, 3);
$WHArr[] = substr($WHDDAV, 6, 3); $wHArr[] = substr($WHDDAV, 6, 3);
} }
$reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily $reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily
@@ -32,7 +35,7 @@ class execSummaryLineController extends Controller
$checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on $checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on
$checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on $checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on
if (count($WHArr) > 0 && $CO != '' && $reportPeriod != '') { if (count($wHArr) > 0 && $cO != '' && $reportPeriod != '') {
switch ($reportPeriod) { switch ($reportPeriod) {
case 'year': case 'year':
// Set Dates based on reportPeriod type // Set Dates based on reportPeriod type
@@ -48,7 +51,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . "' and a5whs in(" . implode(',', $WHArr) . ') ) and a5co='" . $cO . "' and a5whs in(" . implode(',', $wHArr) . ')
) )
select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile
group by substr(ayapr8N002,1,4),a5whs order by 1 '; group by substr(ayapr8N002,1,4),a5whs order by 1 ';
@@ -69,7 +72,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ") ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
) )
select 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) ||'-' || substr(ayapr8N002,3,2) as years,count(*) as lines, select 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) ||'-' || substr(ayapr8N002,3,2) as years,count(*) as lines,
sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -98,7 +101,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ") ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
) )
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -110,7 +113,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ") ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
) )
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -137,7 +140,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ') ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
) )
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -149,7 +152,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only) (select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in ( from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY ) select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ') ) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
) )
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed, select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -175,23 +178,23 @@ class execSummaryLineController extends Controller
} }
// Init Page // Init Page
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : ''; $sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') { if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M // Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '110'; // Company $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '110'; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '144'; // Plant $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '144'; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '322'; // WareHouse $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '322'; // WareHouse
} }
$WHDDA = $COMPANY . $PLANT . $WHS; $wHDDA = $cOMPANY . $pLANT . $wHS;
// dump($WHDDA); // dump($wHDDA);
// Warehouse Table // Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
} catch (\Throwable $th) { } catch (\Throwable $th) {
Log::error($th); Log::error($th);
} }
@@ -24,8 +24,8 @@ class fillBOL2Controller extends Controller
public function fillBOL(Request $request) public function fillBOL(Request $request)
{ {
// # $BOL = BOL::findOrFail($request); // # $bOL = BOL::findOrFail($request);
$BOL = $request; $bOL = $request;
$data = [ $data = [
'bol_number' => $request->input('BOL_number') ?? '1234567890', 'bol_number' => $request->input('BOL_number') ?? '1234567890',
@@ -58,8 +58,8 @@ Line 4
Line 5', Line 5',
'DTESHIPED.1' => date('d/m/Y'), 'DTESHIPED.1' => date('d/m/Y'),
'invoice_number' => $BOL['BOL_number'], 'invoice_number' => $bOL['BOL_number'],
'amount_due' => number_format($BOL['amount'], 2), 'amount_due' => number_format($bOL['amount'], 2),
'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #', 'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #',
'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22', 'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22',
'TYPEANDESCPTN.13' => 'CONTAINER:', 'TYPEANDESCPTN.13' => 'CONTAINER:',
@@ -69,7 +69,7 @@ Line 5',
'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E', 'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E',
'TYPEANDESCPTN.7' => 'SEAL: 637053', 'TYPEANDESCPTN.7' => 'SEAL: 637053',
'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05', 'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05',
'BOFLADNGAGYCD' => $BOL['BOL_number'], 'BOFLADNGAGYCD' => $bOL['BOL_number'],
'CLASSORATE1' => '50', 'CLASSORATE1' => '50',
'CNMETRKLICNSE' => 'ICL / Expeditors', 'CNMETRKLICNSE' => 'ICL / Expeditors',
'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG', 'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG',
@@ -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)
@@ -18,8 +17,8 @@ class fillBOLController extends Controller
public static function fillBOL(Request $request) public static function fillBOL(Request $request)
{ {
// # $BOL = BOL::findOrFail($request); // # $bOL = BOL::findOrFail($request);
$BOL = $request; $bOL = $request;
$pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf')); $pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf'));
// $pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf'), [ // $pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf'), [
@@ -34,7 +33,7 @@ class fillBOLController extends Controller
// dd($test); // dd($test);
$newfile = "BOL-{$BOL['BOL_number']}.pdf"; $newfile = "BOL-{$bOL['BOL_number']}.pdf";
var_dump($newfile); var_dump($newfile);
$test = Storage::disk('public')->put($newfile, ''); $test = Storage::disk('public')->put($newfile, '');
@@ -48,8 +47,8 @@ class fillBOLController extends Controller
$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'],
'amount_due' => number_format($BOL['amount'], 2), 'amount_due' => number_format($bOL['amount'], 2),
'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #', 'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #',
'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22', 'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22',
'TYPEANDESCPTN.13' => 'CONTAINER:', 'TYPEANDESCPTN.13' => 'CONTAINER:',
@@ -59,7 +58,7 @@ class fillBOLController extends Controller
'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E', 'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E',
'TYPEANDESCPTN.7' => 'SEAL: 637053', 'TYPEANDESCPTN.7' => 'SEAL: 637053',
'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05', 'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05',
'BOFLADNGAGYCD' => $BOL['BOL_number'], 'BOFLADNGAGYCD' => $bOL['BOL_number'],
'CLASSORATE1' => '50', 'CLASSORATE1' => '50',
'CNMETRKLICNSE' => 'ICL / Expeditors', 'CNMETRKLICNSE' => 'ICL / Expeditors',
'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG', 'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG',
@@ -22,9 +22,9 @@ class palletQtyController extends Controller
$co = $power_user->R428CO; $co = $power_user->R428CO;
$plant = $power_user->R428PL; $plant = $power_user->R428PL;
$whs = $power_user->R428WH; $whs = $power_user->R428WH;
$ICM709M = Schema::connection($connection)->hasTable('icm709m') $iCM709M = Schema::connection($connection)->hasTable('icm709m')
? DB::connection($connection)->table('icm709m')->where('AT9CO', $co)->where('AT9PLT', $plant)->where('AT9WHS', $whs)->get() : collect(); ? DB::connection($connection)->table('icm709m')->where('AT9CO', $co)->where('AT9PLT', $plant)->where('AT9WHS', $whs)->get() : collect();
$IC670M = Schema::connection($connection)->hasTable('ic670m') $iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect(); ? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect();
return view('m3::liberty-theme.pages.palletQty', compact('ICM709M', 'IC670M', 'power_user')); return view('m3::liberty-theme.pages.palletQty', compact('ICM709M', 'IC670M', 'power_user'));
@@ -13,14 +13,14 @@ class pendingClosureController extends Controller
{ {
// Get Users from ICM428M // Get Users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', strtoupper(m3_user())) ->where('R428US', '=', strtoupper(m3_user()))
->first(); ->first();
$user = $ICM428M->R428US; $user = $iCM428M->R428US;
$co = $ICM428M->R428CO; $co = $iCM428M->R428CO;
$whs = $ICM428M->R428WH; $whs = $iCM428M->R428WH;
$plant = $ICM428M->R428PL; $plant = $iCM428M->R428PL;
// ICM705M1 Statement // ICM705M1 Statement
$sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT, $sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT,
@@ -28,40 +28,40 @@ class pendingClosureController extends Controller
from ICM705M1 from ICM705M1
where APSPARE2 in ('','P') and APCO='$co' and APWHS='$whs' and APPLT='$plant'"; where APSPARE2 in ('','P') and APCO='$co' and APWHS='$whs' and APPLT='$plant'";
$ICM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$ICM698Ma = []; $iCM698Ma = [];
$ICM699Ma = []; $iCM699Ma = [];
foreach ($ICM705M1 as $key => $val) { foreach ($iCM705M1 as $key => $val) {
$sqlstmt1 = "select LGUSER,LGCONFDT,LGCONFTM $sqlstmt1 = "select LGUSER,LGCONFDT,LGCONFTM
from ICM698M from ICM698M
where LGCO='$val->APCO' and LGWHS='$val->APWHS'and LGURL='op605api.php' where LGCO='$val->APCO' and LGWHS='$val->APWHS'and LGURL='op605api.php'
and LGRESPONSE like 'Close of Sentinel Manifest%' and LGRESPONSE like 'Close of Sentinel Manifest%'
and LGRESPONSE like '%' || right('000000000' || '$val->APMANIFEST',9) || '%'"; and LGRESPONSE like '%' || right('000000000' || '$val->APMANIFEST',9) || '%'";
$ICM698M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt1); $iCM698M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt1);
$ICM698Ma[$val->APMANIFEST]['TMSUSER'] = ''; $iCM698Ma[$val->APMANIFEST]['TMSUSER'] = '';
$ICM698Ma[$val->APMANIFEST]['TMSDATE'] = ''; $iCM698Ma[$val->APMANIFEST]['TMSDATE'] = '';
$ICM698Ma[$val->APMANIFEST]['TMSTIME'] = ''; $iCM698Ma[$val->APMANIFEST]['TMSTIME'] = '';
foreach ($ICM698M as $key2 => $val2) { foreach ($iCM698M as $key2 => $val2) {
$ICM698Ma[$val->APMANIFEST]['TMSUSER'] = $val2->LGUSER; $iCM698Ma[$val->APMANIFEST]['TMSUSER'] = $val2->LGUSER;
$ICM698Ma[$val->APMANIFEST]['TMSDATE'] = $val2->LGCONFDT; $iCM698Ma[$val->APMANIFEST]['TMSDATE'] = $val2->LGCONFDT;
$ICM698Ma[$val->APMANIFEST]['TMSTIME'] = $val2->LGCONFTM; $iCM698Ma[$val->APMANIFEST]['TMSTIME'] = $val2->LGCONFTM;
} }
$ICM699MSel1 = "select SHMACPKR,SHDT,SHTIME from ICM699M $iCM699MSel1 = "select SHMACPKR,SHDT,SHTIME from ICM699M
WHERE SHMACPKR='$val->APMANIFEST' AND SHCO='$co' AND SHWHS='$whs' WHERE SHMACPKR='$val->APMANIFEST' AND SHCO='$co' AND SHWHS='$whs'
AND SHSOURCE='CloseShipmentCoChargeAPI' AND SHERROR='' AND SHTYPE='M3-Req-out' limit 1"; AND SHSOURCE='CloseShipmentCoChargeAPI' AND SHERROR='' AND SHTYPE='M3-Req-out' limit 1";
$ICM699MSel = DB::connection(config('m3.connection', 'pgsql'))->select($ICM699MSel1); $iCM699MSel = DB::connection(config('m3.connection', 'pgsql'))->select($iCM699MSel1);
foreach ($ICM699MSel as $key2 => $val2) { foreach ($iCM699MSel as $key2 => $val2) {
$ICM699Ma[$val2->SHMACPKR]['SHDT'] = $val2->SHDT; $iCM699Ma[$val2->SHMACPKR]['SHDT'] = $val2->SHDT;
$ICM699Ma[$val2->SHMACPKR]['SHTIME'] = $val2->SHTIME; $iCM699Ma[$val2->SHMACPKR]['SHTIME'] = $val2->SHTIME;
} }
} }
$sqlstmt = "select count(*) as COUNT1 from ICM699M $sqlstmt = "select count(*) as COUNT1 from ICM699M
where SHCO='$co' and SHWHS='$whs' and SHTYPE like '%M3%' and SHERROR='X' where SHCO='$co' and SHWHS='$whs' and SHTYPE like '%M3%' and SHERROR='X'
and SHSOURCE='CloseShipmentCoChargeAPI'"; and SHSOURCE='CloseShipmentCoChargeAPI'";
$ICM699M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM699M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// Get Unprocessed Orders // Get Unprocessed Orders
$unprocessedArr = []; $unprocessedArr = [];
@@ -72,8 +72,8 @@ class pendingClosureController extends Controller
SELECT APMANIFEST,APSPARE2 FROM ICM705M1 WHERE APMANIFEST IN (SELECT DISTINCT MF FROM TEMPFILE) AND APSPARE2='X' AND APWHS='$whs' "; SELECT APMANIFEST,APSPARE2 FROM ICM705M1 WHERE APMANIFEST IN (SELECT DISTINCT MF FROM TEMPFILE) AND APSPARE2='X' AND APWHS='$whs' ";
// AND APSPARE2!='' // AND APSPARE2!=''
// dump($sqlstmt3); // dump($sqlstmt3);
$UproccessedOrders = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt3); $uproccessedOrders = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt3);
foreach ($UproccessedOrders as $key => $UproccessedOrder) { foreach ($uproccessedOrders as $key => $UproccessedOrder) {
$unprocessedArr[] = '<a class="btn btn-link mb-1" target="_blank" href="' . url('MFOrders', ['id' => trim($UproccessedOrder->APMANIFEST)]) . '"> ' . $unprocessedArr[] = '<a class="btn btn-link mb-1" target="_blank" href="' . url('MFOrders', ['id' => trim($UproccessedOrder->APMANIFEST)]) . '"> ' .
trim($UproccessedOrder->APMANIFEST) . '</a>'; trim($UproccessedOrder->APMANIFEST) . '</a>';
} }
@@ -90,16 +90,16 @@ class pendingClosureController extends Controller
// Get URL PARAMS // Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : ''; $urlParams = count($request->all()) > 0 ? $request->all() : '';
// $SHUSER = isset($urlParams["SHUSER"]) ? $urlParams["SHUSER"] : ''; // $SHUSER = isset($urlParams["SHUSER"]) ? $urlParams["SHUSER"] : '';
$MANIFEST = isset($urlParams['MANIFEST']) ? $urlParams['MANIFEST'] : ''; $mANIFEST = isset($urlParams['MANIFEST']) ? $urlParams['MANIFEST'] : '';
$APCO = isset($urlParams['APCO']) ? $urlParams['APCO'] : ''; $aPCO = isset($urlParams['APCO']) ? $urlParams['APCO'] : '';
$APWHS = isset($urlParams['APWHS']) ? $urlParams['APWHS'] : ''; $aPWHS = isset($urlParams['APWHS']) ? $urlParams['APWHS'] : '';
try { try {
DB::connection(config('m3.connection', 'pgsql'))->table('icm705m1') DB::connection(config('m3.connection', 'pgsql'))->table('icm705m1')
->where('APCO', $APCO) ->where('APCO', $aPCO)
->where('APWHS', $APWHS) ->where('APWHS', $aPWHS)
->where('APMANIFEST', '=', $MANIFEST) ->where('APMANIFEST', '=', $mANIFEST)
->update(['APSPARE2' => '']); ->update(['APSPARE2' => '']);
return response()->json([ return response()->json([
@@ -10,22 +10,22 @@ class sentinelController extends Controller
public static function packSyst5Func(Request $request) public static function packSyst5Func(Request $request)
{ {
$AYINTBOX = isset($request->AYINTBOX) ? trim($request->AYINTBOX) : ''; $aYINTBOX = isset($request->AYINTBOX) ? trim($request->AYINTBOX) : '';
$AYCO = isset($request->AYCO) ? trim($request->AYCO) : ''; $aYCO = isset($request->AYCO) ? trim($request->AYCO) : '';
$AYWHS = isset($request->AYWHS) ? trim($request->AYWHS) : ''; $aYWHS = isset($request->AYWHS) ? trim($request->AYWHS) : '';
$AYUSER = isset($request->AYUSER) ? trim($request->AYUSER) : ''; $aYUSER = isset($request->AYUSER) ? trim($request->AYUSER) : '';
if ($AYINTBOX != '') { if ($aYINTBOX != '') {
// Get the record from ICM695M1 // Get the record from ICM695M1
$ICM695M1Sel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1') $iCM695M1Sel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select() ->select()
->where('AYINTBOX', $AYINTBOX) ->where('AYINTBOX', $aYINTBOX)
->where('AYCO', $AYCO) ->where('AYCO', $aYCO)
->where('AYWHS', $AYWHS) ->where('AYWHS', $aYWHS)
->where('AYSTATUS', '') ->where('AYSTATUS', '')
->first(); ->first();
$allowDeletion = isset($ICM695M1Sel->AYSENTPKR) ? ($ICM695M1Sel->AYSENTPKR != '' ? true : false) : false; $allowDeletion = isset($iCM695M1Sel->AYSENTPKR) ? ($iCM695M1Sel->AYSENTPKR != '' ? true : false) : false;
if ($allowDeletion) { if ($allowDeletion) {
$timestamp = date('Y-m-d H:i:s.u'); $timestamp = date('Y-m-d H:i:s.u');
@@ -33,25 +33,25 @@ class sentinelController extends Controller
$time1 = date('His'); $time1 = date('His');
// Delete Records from ICM695M1 And ICM695M2 // Delete Records from ICM695M1 And ICM695M2
$ICM695M1Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1') $iCM695M1Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->where('AYINTBOX', $AYINTBOX) ->where('AYINTBOX', $aYINTBOX)
->where('AYCO', $AYCO) ->where('AYCO', $aYCO)
->where('AYWHS', $AYWHS) ->where('AYWHS', $aYWHS)
->delete(); ->delete();
$ICM695M2Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m2') $iCM695M2Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m2')
->where('AZINTBOX', $AYINTBOX) ->where('AZINTBOX', $aYINTBOX)
->where('AZCO', $AYCO) ->where('AZCO', $aYCO)
->where('AZWHS', $AYWHS) ->where('AZWHS', $aYWHS)
->delete(); ->delete();
// Log the event as an unusual transaction to appear on SPD bottom right: // Log the event as an unusual transaction to appear on SPD bottom right:
$InsertValues = "'$ICM695M1Sel->AYCO', '$ICM695M1Sel->AYWHS', '$ICM695M1Sel->AYSENTPKR', '$ICM695M1Sel->AYMACPKR', '$ICM695M1Sel->AYONO', '$ICM695M1Sel->AYRLNO', '$ICM695M1Sel->AYSHNO', '', 'Box $AYINTBOX emptied and repacked', $insertValues = "'$iCM695M1Sel->AYCO', '$iCM695M1Sel->AYWHS', '$iCM695M1Sel->AYSENTPKR', '$iCM695M1Sel->AYMACPKR', '$iCM695M1Sel->AYONO', '$iCM695M1Sel->AYRLNO', '$iCM695M1Sel->AYSHNO', '', 'Box $aYINTBOX emptied and repacked',
'$timestamp', '$date1', '$time1', '$AYUSER','$timestamp', '$date1', '$time1', '$AYUSER','$AYINTBOX'"; '$timestamp', '$date1', '$time1', '$aYUSER','$timestamp', '$date1', '$time1', '$aYUSER','$aYINTBOX'";
$ICM689MInsert = DB::connection(config('m3.connection', 'pgsql'))->insert("INSERT INTO ICM689M $iCM689MInsert = DB::connection(config('m3.connection', 'pgsql'))->insert("INSERT INTO ICM689M
(A7CO, A7WHS, A7SENTPKR, A7MACPKR, A7ONO, A7RLNO, A7SHNO, A7SOURCE, A7ERRMSG, A7DISRAITS, A7DISRAID, A7DISRAIT, A7DISRAIU, A7DISRESTS ,A7DISRESD ,A7DISREST ,A7DISRESU , A7SPR15A01) (A7CO, A7WHS, A7SENTPKR, A7MACPKR, A7ONO, A7RLNO, A7SHNO, A7SOURCE, A7ERRMSG, A7DISRAITS, A7DISRAID, A7DISRAIT, A7DISRAIU, A7DISRESTS ,A7DISRESD ,A7DISREST ,A7DISRESU , A7SPR15A01)
values ($InsertValues)"); values ($insertValues)");
return response()->json(['success' => true, 'message' => 'Line Deleted']); return response()->json(['success' => true, 'message' => 'Line Deleted']);
} else { } else {
@@ -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)
@@ -26,12 +30,12 @@ class userControlController extends Controller
} }
$co = $profile->R428CO ?? ''; $co = $profile->R428CO ?? '';
$whs = $profile->R428WH ?? ''; $whs = $profile->R428WH ?? '';
$ICM428M = Schema::connection($connection)->hasTable('icm428m') $iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428CO', $co)->where('R428WH', $whs)->get() : collect(); ? DB::connection($connection)->table('icm428m')->where('R428CO', $co)->where('R428WH', $whs)->get() : collect();
$USER_INFO = Schema::connection($connection)->hasTable('icm428m') $uSER_INFO = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all() : []; ? DB::connection($connection)->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all() : [];
$power_user = [(object) ['R428PWRUSR' => $profile->R428PWRUSR ?? 'N', 'R428CO' => $co, 'R428PL' => $profile->R428PL ?? '', 'R428WH' => $whs]]; $power_user = [(object) ['R428PWRUSR' => $profile->R428PWRUSR ?? 'N', 'R428CO' => $co, 'R428PL' => $profile->R428PL ?? '', 'R428WH' => $whs]];
$IC670M = Schema::connection($connection)->hasTable('ic670m') $iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->get() : collect(); ? DB::connection($connection)->table('ic670m')->get() : collect();
return view('m3::liberty-theme.pages.userControl', compact('ICM428M', 'IC670M', 'power_user', 'USER_INFO')); return view('m3::liberty-theme.pages.userControl', compact('ICM428M', 'IC670M', 'power_user', 'USER_INFO'));
@@ -97,7 +101,7 @@ class userControlController extends Controller
// # $result = $conn->PgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array()); // # $result = $conn->PgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->PgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []); $result = $conn->PgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
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();
return 'error profile2'; return 'error profile2';
} else { } else {
@@ -145,17 +149,17 @@ class userControlController extends Controller
// Update record to ICM428M // Update record to ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->select("select * from ICM428M where R428US='$request->R428US'"); $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->select("select * from ICM428M where R428US='$request->R428US'");
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$request->R428CO', R428PL='$request->R428PL', R428WH='$request->R428WH', R428STS='$request->R428STS', R428FIRST='$request->R428FIRST', set R428CO='$request->R428CO', R428PL='$request->R428PL', R428WH='$request->R428WH', R428STS='$request->R428STS', R428FIRST='$request->R428FIRST',
R428FAMILY='$request->R428FAMILY', R428EMAIL='$request->R428EMAIL', R428EMPCDE=$request->R428EMPCDE, R428ADMUSR='$request->R428ADMUSR', R428FAMILY='$request->R428FAMILY', R428EMAIL='$request->R428EMAIL', R428EMPCDE=$request->R428EMPCDE, R428ADMUSR='$request->R428ADMUSR',
R428PWRUSR='$request->R428PWRUSR', R428PWRUSR='$request->R428PWRUSR',
MENU2OPT='" . substr($ICM428M[0]->MENU2OPT, 0, 2) . $request->MENU2OPT3 . substr($ICM428M[0]->MENU2OPT, 3, 3) . $request->MENU2OPT7 . $request->MENU2OPT8 . "', MENU2OPT='" . substr($iCM428M[0]->MENU2OPT, 0, 2) . $request->MENU2OPT3 . substr($iCM428M[0]->MENU2OPT, 3, 3) . $request->MENU2OPT7 . $request->MENU2OPT8 . "',
MENU3OPT='" . $request->MENU3OPT1 . $request->MENU3OPT2 . substr($ICM428M[0]->MENU3OPT, 2, -1) . "', MENU3OPT='" . $request->MENU3OPT1 . $request->MENU3OPT2 . substr($iCM428M[0]->MENU3OPT, 2, -1) . "',
MENU4OPT='" . $request->MENU4OPT1 . $request->MENU4OPT2 . $request->MENU4OPT3 . substr($ICM428M[0]->MENU4OPT, 3, -1) . "', MENU4OPT='" . $request->MENU4OPT1 . $request->MENU4OPT2 . $request->MENU4OPT3 . substr($iCM428M[0]->MENU4OPT, 3, -1) . "',
MENU5OPT='" . $request->MENU5OPT1 . $request->MENU5OPT2 . $request->MENU5OPT3 . substr($ICM428M[0]->MENU5OPT, 3, 1) . $request->MENU5OPT5 . substr($ICM428M[0]->MENU5OPT, 5, -1) . "', MENU5OPT='" . $request->MENU5OPT1 . $request->MENU5OPT2 . $request->MENU5OPT3 . substr($iCM428M[0]->MENU5OPT, 3, 1) . $request->MENU5OPT5 . substr($iCM428M[0]->MENU5OPT, 5, -1) . "',
MENU6OPT='" . $request->MENU6OPT1 . $request->MENU6OPT2 . $request->MENU6OPT3 . substr($ICM428M[0]->MENU6OPT, 3, -1) . "', MENU6OPT='" . $request->MENU6OPT1 . $request->MENU6OPT2 . $request->MENU6OPT3 . substr($iCM428M[0]->MENU6OPT, 3, -1) . "',
R42811A='" . $request->R42811A . "',R42821A='" . $request->R42821A . "' R42811A='" . $request->R42811A . "',R42821A='" . $request->R42821A . "'
where R428US='$request->R428US'"); where R428US='$request->R428US'");
@@ -167,7 +171,7 @@ class userControlController extends Controller
public static function callCL(Request $request) public static function callCL(Request $request)
{ {
$PGMERRORS = ''; $pGMERRORS = '';
// 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 {
@@ -182,18 +186,17 @@ class userControlController extends Controller
case 8001: case 8001:
// "Authorization failure on distributed database connection attempt" // "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password // Usually means a wrong DB2 user or password
$PGMERRORS = self::AUTH_FAILURE_MESSAGE; $pGMERRORS = self::AUTH_FAILURE_MESSAGE;
break; break;
case 42705: case 42705:
$PGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE; $pGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
break; break;
default: default:
$PGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg; $pGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
break; break;
} }
} }
// Add LIB // Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)'); // $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
@@ -209,18 +212,16 @@ 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, [], []);
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();
echo "<script>alert($PGMERRORS);</script>"; echo "<script>alert($pGMERRORS);</script>";
return 'error'; return 'error';
exit(); exit();
@@ -238,9 +239,9 @@ class userControlController extends Controller
echo "<script>window.location.replace('.')</script>"; echo "<script>window.location.replace('.')</script>";
} }
// if ($PGMERRORS!="") { // if ($pGMERRORS!="") {
// // return back()->withMessage('Can not Create PR: '.$PGMERRORS); // // return back()->withMessage('Can not Create PR: '.$pGMERRORS);
// dump($PGMERRORS); // dump($pGMERRORS);
// } // }
// else{ // else{
// // return $AWREQN; // // return $AWREQN;
@@ -255,7 +256,7 @@ class userControlController extends Controller
ini_set('max_input_time', Config::get('arrays.PHPTimeOut')); ini_set('max_input_time', Config::get('arrays.PHPTimeOut'));
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut')); ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
$PGMERRORS = ''; $pGMERRORS = '';
// echo "request="; var_dump($request); // echo "request="; var_dump($request);
@@ -276,13 +277,13 @@ class userControlController extends Controller
case 8001: case 8001:
// "Authorization failure on distributed database connection attempt" // "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password // Usually means a wrong DB2 user or password
$PGMERRORS = self::AUTH_FAILURE_MESSAGE; $pGMERRORS = self::AUTH_FAILURE_MESSAGE;
break; break;
case 42705: case 42705:
$PGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE; $pGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
break; break;
default: default:
$PGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg; $pGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
break; break;
} }
} }
@@ -296,9 +297,9 @@ class userControlController extends Controller
// echo "<script>alert('After CHGUSRPRF');</script>"; // 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();
dump($PGMERRORS); dump($pGMERRORS);
echo "<script>alert($PGMERRORS);</script>"; echo "<script>alert($pGMERRORS);</script>";
return 'error pwd'; return 'error pwd';
} }
@@ -308,6 +309,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();
@@ -318,5 +320,4 @@ class userControlController extends Controller
default => 'error profile5', default => 'error profile5',
}; };
} }
} }
@@ -34,7 +34,7 @@ class userPickingStats4 extends Controller
// Get Users from ICM428M // Get Users from ICM428M
$co = ''; $co = '';
$whs = ''; $whs = '';
$ICM428M = []; $iCM428M = [];
$schema = Schema::connection(config('m3.connection', 'pgsql')); $schema = Schema::connection(config('m3.connection', 'pgsql'));
if ($schema->hasTable('icm428m')) { if ($schema->hasTable('icm428m')) {
$profile = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $profile = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
@@ -44,7 +44,7 @@ class userPickingStats4 extends Controller
$co = $profile->R428CO ?? ''; $co = $profile->R428CO ?? '';
$whs = $profile->R428WH ?? ''; $whs = $profile->R428WH ?? '';
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->selectRaw("R428US as userprf, (trim(R428FIRST) || ' ' || trim(R428FAMILY)) as name, R428EMPCDE as empno") ->selectRaw("R428US as userprf, (trim(R428FIRST) || ' ' || trim(R428FAMILY)) as name, R428EMPCDE as empno")
->where('R428STS', 'A')->where('R428EMPCDE', '!=', 0) ->where('R428STS', 'A')->where('R428EMPCDE', '!=', 0)
->where('R428CO', $co)->where('R428WH', $whs)->get()->all(); ->where('R428CO', $co)->where('R428WH', $whs)->get()->all();
@@ -53,7 +53,7 @@ class userPickingStats4 extends Controller
$user_array = []; $user_array = [];
// while($row = odbc_fetch_object($result)) { // while($row = odbc_fetch_object($result)) {
$x = 0; $x = 0;
foreach ($ICM428M as $key => $row) { foreach ($iCM428M as $key => $row) {
$user_array[$x]['userprf'] = trim($row->USERPRF); $user_array[$x]['userprf'] = trim($row->USERPRF);
$user_array[$x]['name'] = trim($row->NAME); $user_array[$x]['name'] = trim($row->NAME);
$user_array[$x]['empno'] = $row->EMPNO; $user_array[$x]['empno'] = $row->EMPNO;
@@ -92,7 +92,6 @@ class userPickingStats4 extends Controller
and oppno in ($payrollCodes) and oppno in ($payrollCodes)
group by oppno"; group by oppno";
$lbpf1 = $schema->hasTable('lbpf') $lbpf1 = $schema->hasTable('lbpf')
? DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt) ? DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt)
: []; : [];
@@ -110,8 +109,6 @@ class userPickingStats4 extends Controller
$statistic4 = []; $statistic4 = [];
} }
// initialize arrays // initialize arrays
$monitor_array = $totals_array = $perf_array = []; $monitor_array = $totals_array = $perf_array = [];
$totals_array['value'] = 0; $totals_array['value'] = 0;
@@ -121,7 +118,6 @@ class userPickingStats4 extends Controller
$totals_array['entries'] = 0; $totals_array['entries'] = 0;
$diff = 0; $diff = 0;
foreach ($lbpf1 as $key => $val) { foreach ($lbpf1 as $key => $val) {
$monitor_array[$val->OPPNO]['tot_hours'] = $val->HRS; $monitor_array[$val->OPPNO]['tot_hours'] = $val->HRS;
// Initialize these variables in case not existant in statistic4 // Initialize these variables in case not existant in statistic4
@@ -294,7 +290,6 @@ class userPickingStats4 extends Controller
$no_data = 'Y'; $no_data = 'Y';
} }
return view( return view(
'm3::liberty-theme.pages.userPickingStats4', 'm3::liberty-theme.pages.userPickingStats4',
compact('statistic4', 'starting', 'user', 'user_array', 'monitor_array', 'totals_array', 'perf_array', 'request', 'no_data'), compact('statistic4', 'starting', 'user', 'user_array', 'monitor_array', 'totals_array', 'perf_array', 'request', 'no_data'),
@@ -32,7 +32,13 @@ class userPickingStats5 extends Controller
$user_array = $userArray; $user_array = $userArray;
return view('m3::liberty-theme.pages.userPickingStats5', compact( return view('m3::liberty-theme.pages.userPickingStats5', compact(
'statistic5', 'totals_array', 'user_array', 'user', 'starting', 'ending', 'request' 'statistic5',
'totals_array',
'user_array',
'user',
'starting',
'ending',
'request',
)); ));
} }
@@ -84,6 +90,7 @@ class userPickingStats5 extends Controller
} }
$days = (int) (new DateTime($starting))->diff(new DateTime($ending))->format('%a'); $days = (int) (new DateTime($starting))->diff(new DateTime($ending))->format('%a');
return [$starting, $ending, $days]; return [$starting, $ending, $days];
} }
@@ -128,6 +135,7 @@ class userPickingStats5 extends Controller
} }
$data['day'] = $data['day'] ?? $date; $data['day'] = $data['day'] ?? $date;
$data['performance'] = $data['performance'] ?? 0; $data['performance'] = $data['performance'] ?? 0;
return $data; return $data;
} }
@@ -14,16 +14,16 @@ class userProfileController extends Controller
// Get Current USER // Get Current USER
$loggedUser = strtoupper(m3_user()); $loggedUser = strtoupper(m3_user());
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL', 'R428FIRST', 'R428FAMILY') ->select('R428US', 'R428CO', 'R428WH', 'R428PL', 'R428FIRST', 'R428FAMILY')
->where('R428US', '=', $loggedUser) ->where('R428US', '=', $loggedUser)
->where('R42821A', '=', 'Y') ->where('R42821A', '=', 'Y')
->first(); ->first();
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get(); $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Check if user is eligible for Profile update // Check if user is eligible for Profile update
if (isset($ICM428M->R428US)) { if (isset($iCM428M->R428US)) {
return view('m3::liberty-theme.pages.userProfile', compact('ICM428M', 'IC670M')); return view('m3::liberty-theme.pages.userProfile', compact('ICM428M', 'IC670M'));
} else { } else {
abort(404); abort(404);
@@ -34,18 +34,18 @@ class userProfileController extends Controller
public static function updateUserProfile(Request $request) public static function updateUserProfile(Request $request)
{ {
$R428US = isset($request->R428US) ? trim($request->R428US) : ''; $r428US = isset($request->R428US) ? trim($request->R428US) : '';
$R428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : ''; $r428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$R428CO = substr($R428DPW, 0, 3); $r428CO = substr($r428DPW, 0, 3);
$R428PL = substr($R428DPW, 3, 3); $r428PL = substr($r428DPW, 3, 3);
$R428WH = substr($R428DPW, 6, 3); $r428WH = substr($r428DPW, 6, 3);
if ($R428US != '') { if ($r428US != '') {
// Update record to ICM428M // Update record to ICM428M
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$R428CO', R428PL='$R428PL', R428WH='$R428WH' set R428CO='$r428CO', R428PL='$r428PL', R428WH='$r428WH'
where R428US='$R428US'"); where R428US='$r428US'");
return redirect('/userprofile')->with('success', 'Profile updated successfully!'); return redirect('/userprofile')->with('success', 'Profile updated successfully!');
} else { } else {
@@ -57,18 +57,18 @@ class userProfileController extends Controller
public static function updateUserProfileAjax(Request $request) public static function updateUserProfileAjax(Request $request)
{ {
$R428US = isset($request->R428US) ? trim($request->R428US) : ''; $r428US = isset($request->R428US) ? trim($request->R428US) : '';
$R428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : ''; $r428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$R428CO = substr($R428DPW, 0, 3); $r428CO = substr($r428DPW, 0, 3);
$R428PL = substr($R428DPW, 3, 3); $r428PL = substr($r428DPW, 3, 3);
$R428WH = substr($R428DPW, 6, 3); $r428WH = substr($r428DPW, 6, 3);
if ($R428US != '') { if ($r428US != '') {
// Update record to ICM428M // Update record to ICM428M
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$R428CO', R428PL='$R428PL', R428WH='$R428WH' set R428CO='$r428CO', R428PL='$r428PL', R428WH='$r428WH'
where R428US='$R428US'"); where R428US='$r428US'");
return response()->json(['success' => true]); return response()->json(['success' => true]);
} else { } else {
@@ -24,8 +24,8 @@ class utilitiesContoller extends Controller
dd('SentM3Test'); dd('SentM3Test');
// Get The Next ID by Calling POM002C // Get The Next ID by Calling POM002C
$PGMERRORS = ''; $pGMERRORS = '';
$AWREQN = ''; $aWREQN = '';
// 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 {
@@ -40,13 +40,13 @@ class utilitiesContoller extends Controller
case 8001: case 8001:
// "Authorization failure on distributed database connection attempt" // "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password // Usually means a wrong DB2 user or password
$PGMERRORS = 'Could not connect due to wrong user or password.'; $pGMERRORS = 'Could not connect due to wrong user or password.';
break; break;
case 42705: case 42705:
$PGMERRORS = 'Database not found. Try WRKRDBDIRE to check.'; $pGMERRORS = 'Database not found. Try WRKRDBDIRE to check.';
break; break;
default: default:
$PGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg; $pGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg;
break; break;
} }
} }
@@ -66,7 +66,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);
@@ -77,15 +76,15 @@ class utilitiesContoller extends Controller
$result = $conn->PgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []); $result = $conn->PgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
if (! $result) { if (! $result) {
$PGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' Msg: ' . $conn->getErrorMsg(); $pGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' Msg: ' . $conn->getErrorMsg();
} }
// Successful Call // Successful Call
else { else {
dump($result); dump($result);
} }
if ($PGMERRORS != '') { if ($pGMERRORS != '') {
dump($PGMERRORS); dump($pGMERRORS);
} else { } else {
} }
// Get Execution Time // Get Execution Time
@@ -142,39 +141,39 @@ class utilitiesContoller extends Controller
dump('Run Fix IMSENTPKR...'); dump('Run Fix IMSENTPKR...');
$SHUSER = 'TWOSHIP'; $sHUSER = 'TWOSHIP';
// Get User CO & WH // Get User CO & WH
// Get users from ICM428M // Get users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH') ->select('R428US', 'R428CO', 'R428WH')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$DIVI = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; $dIVI = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
// Get Parts And Lots from ICM688M2 // Get Parts And Lots from ICM688M2
$ICM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2') $iCM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2')
->select('A5MACPKR', 'A5SENTPKR', 'A5PICKSTRD') ->select('A5MACPKR', 'A5SENTPKR', 'A5PICKSTRD')
->distinct() ->distinct()
->where('A5CO', $DIVI) ->where('A5CO', $dIVI)
->where('A5WHS', $WHS) ->where('A5WHS', $wHS)
->where('A5PICKSTRD', '!=', '0') ->where('A5PICKSTRD', '!=', '0')
->orderBy('A5PICKSTRD', 'ASC') ->orderBy('A5PICKSTRD', 'ASC')
->get(); ->get();
foreach ($ICM688M2SLTMP as $key => $ICM688M2SL) { foreach ($iCM688M2SLTMP as $key => $ICM688M2SL) {
// $counter == 10 ? exit : ''; // $counter == 10 ? exit : '';
$A5MACPKR = isset($ICM688M2SL->A5MACPKR) ? $ICM688M2SL->A5MACPKR : ''; $a5MACPKR = isset($ICM688M2SL->A5MACPKR) ? $ICM688M2SL->A5MACPKR : '';
$A5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : ''; $a5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : '';
dump('ICM688M2 Record: ' . $A5MACPKR . '-' . $A5SENTPKR); dump('ICM688M2 Record: ' . $a5MACPKR . '-' . $a5SENTPKR);
$ICM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m') $iCM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
->where('IMDELNO', '=', $A5MACPKR) ->where('IMDELNO', '=', $a5MACPKR)
->update(['IMSENTPKR' => $A5SENTPKR]); ->update(['IMSENTPKR' => $a5SENTPKR]);
} }
} }
@@ -192,27 +191,27 @@ class utilitiesContoller extends Controller
// Get the Calling User // Get the Calling User
// $userId = 'TWOSHIP'; // $userId = 'TWOSHIP';
// $SHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : ''); // $sHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : '');
// Get Manifest Array // Get Manifest Array
$GSArray = $request->query(); $gSArray = $request->query();
$SHUSER = isset($GSArray['User']) ? trim($GSArray['User']) : ''; $sHUSER = isset($gSArray['User']) ? trim($gSArray['User']) : '';
if ($SHUSER != '') { if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M // Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER) ->where('R428US', '=', $sHUSER)
->first(); ->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User $r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; // Company $cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : ''; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; // Plant $pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : ''; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; // WareHouse $wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : ''; // WareHouse
$Macpkr = $GSArray['Macpkr']; $macpkr = $gSArray['Macpkr'];
$packageType = trim($GSArray['packageType']); // 1 => Pallet , 0 => Carton $packageType = trim($gSArray['packageType']); // 1 => Pallet , 0 => Carton
$packageTypeDesc = $packageType == 1 ? 'Pallet' : 'Carton'; $packageTypeDesc = $packageType == 1 ? 'Pallet' : 'Carton';
$manufactID = '0826528'; // MAK : get ID from Nvent and save to Config File $manufactID = '0826528'; // MAK : get ID from Nvent and save to Config File
$total_length = 9; $total_length = 9;
@@ -246,23 +245,23 @@ class utilitiesContoller extends Controller
<body style="font-family: Arial, sans-serif;">'; <body style="font-family: Arial, sans-serif;">';
// Get number of Pallets // Get number of Pallets
$packageCount = count($GSArray['PackagesArray']); $packageCount = count($gSArray['PackagesArray']);
$packageNum = 1; $packageNum = 1;
// Get GS1 Label MAX ID from ICM695M3 : // Get GS1 Label MAX ID from ICM695M3 :
$GS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID'); $gS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
$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 $key => $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);
$GS1SEQUENCE++; $gS1SEQUENCE++;
$GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, '0', STR_PAD_LEFT); $gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, '0', STR_PAD_LEFT);
// Build GS1 18 Digits Code // Build GS1 18 Digits Code
$gs1_128_bc_1 = '00' . $packageType . $manufactID . $GS1SEQUENCEID; $gs1_128_bc_1 = '00' . $packageType . $manufactID . $gS1SEQUENCEID;
// Calculate Check Digit // Calculate Check Digit
$digits = str_split($gs1_128_bc_1); $digits = str_split($gs1_128_bc_1);
@@ -286,17 +285,17 @@ class utilitiesContoller extends Controller
// SSCC 18 Digits Code // SSCC 18 Digits Code
$gs1_128_bc = $gs1_128_bc_1 . $checkDigit; $gs1_128_bc = $gs1_128_bc_1 . $checkDigit;
$gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $GS1SEQUENCEID . $checkDigit; $gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $gS1SEQUENCEID . $checkDigit;
$data = [ $data = [
'ship_to' => $GSArray['Recipient_CompanyName'] . '<br>' . $GSArray['Recipient_Address1'] . '<br>' . 'ship_to' => $gSArray['Recipient_CompanyName'] . '<br>' . $gSArray['Recipient_Address1'] . '<br>' .
$GSArray['Recipient_City'] . ',' . $GSArray['Recipient_State'] $gSArray['Recipient_City'] . ',' . $gSArray['Recipient_State']
. '<br>' . $GSArray['Recipient_PostalCode'], . '<br>' . $gSArray['Recipient_PostalCode'],
'from' => $GSArray['Sender_CompanyName'] . '<br>' . $GSArray['Sender_Address1'] . '<br>' . 'from' => $gSArray['Sender_CompanyName'] . '<br>' . $gSArray['Sender_Address1'] . '<br>' .
$GSArray['Sender_City'] . ',' . $GSArray['Sender_State'] $gSArray['Sender_City'] . ',' . $gSArray['Sender_State']
. '<br>' . $GSArray['Sender_PostalCode'], . '<br>' . $gSArray['Sender_PostalCode'],
'ship_to_lbl' => '420' . $GSArray['Recipient_PostalCode'], 'ship_to_lbl' => '420' . $gSArray['Recipient_PostalCode'],
'ship_to_desc' => '(420)' . $GSArray['Recipient_PostalCode'], 'ship_to_desc' => '(420)' . $gSArray['Recipient_PostalCode'],
'pro' => '190071217845706', // MAK : Check missing info with Brad 'pro' => '190071217845706', // MAK : Check missing info with Brad
'item_number' => '10000B', 'item_number' => '10000B',
'upc' => '098506095310', 'upc' => '098506095310',
@@ -328,15 +327,15 @@ class utilitiesContoller extends Controller
' . $data['ship_to_desc'] . ' ' . $data['ship_to_desc'] . '
</td> </td>
<td class="border_btm margin_t align_lft"> <td class="border_btm margin_t align_lft">
Carrier: ' . $GSArray['CarrierName'] . ' <br> Carrier: ' . $gSArray['CarrierName'] . ' <br>
PRO #: ' . $GSArray['trackingno'] . ' <br> PRO #: ' . $gSArray['trackingno'] . ' <br>
B/L #: ' . $GSArray['BOLnumber'] . ' <br> B/L #: ' . $gSArray['BOLnumber'] . ' <br>
Ref : ' . $A2INTBOX . ' Ref : ' . $a2INTBOX . '
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="4" class="border_btm margin_t align_lft"> <td colspan="4" class="border_btm margin_t align_lft">
PURCHASE ORDER: ' . $GSArray['ShipmentPONumber'] . ' <br> PURCHASE ORDER: ' . $gSArray['ShipmentPONumber'] . ' <br>
Vendor: ' . $manufactID . ' Vendor: ' . $manufactID . '
</td> </td>
</tr> </tr>
@@ -356,10 +355,10 @@ class utilitiesContoller extends Controller
$packageNum++; $packageNum++;
// Insert new Record to ICM695M3 $gs1_128_bc // Insert new Record to ICM695M3 $gs1_128_bc
$ICM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3') $iCM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
->insert(['A2CO' => $COMPANY, 'A2WHS' => $WHS, 'A2PLANT' => $PLANT, 'A2MACPKR' => $Macpkr, 'A2GS1LABEL' => $gs1_128_bc, 'A2INTBOX' => $A2INTBOX]); ->insert(['A2CO' => $cOMPANY, 'A2WHS' => $wHS, 'A2PLANT' => $pLANT, 'A2MACPKR' => $macpkr, 'A2GS1LABEL' => $gs1_128_bc, 'A2INTBOX' => $a2INTBOX]);
Log::channel('LabelCron')->info('<<< GS1-128...End of Label Creation for Mackpkr: ' . $Macpkr); Log::channel('LabelCron')->info('<<< GS1-128...End of Label Creation for Mackpkr: ' . $macpkr);
} }
$html .= '</body> </html>'; $html .= '</body> </html>';
@@ -380,30 +379,29 @@ class utilitiesContoller extends Controller
$labelsPath = Config::get('arrays.PdfPath'); // '/www/sentm3live/htdocs/labels/'; $labelsPath = Config::get('arrays.PdfPath'); // '/www/sentm3live/htdocs/labels/';
// Put the PDF in labels/CarrierLabel // Put the PDF in labels/CarrierLabel
$GSFolder = 'GSLabel'; $gSFolder = 'GSLabel';
$carrierFileName = $GSFolder . '_' . $Macpkr . '_' . $COMPANY . '_' . $WHS . '_' . $A2INTBOX; $carrierFileName = $gSFolder . '_' . $macpkr . '_' . $cOMPANY . '_' . $wHS . '_' . $a2INTBOX;
// LTL // LTL
// if ($packageType=='1') { // if ($packageType=='1') {
// $carrierFileName = $GSFolder.'_'.$Macpkr.'_'.$COMPANY.'_'.$WHS; // $carrierFileName = $gSFolder.'_'.$macpkr.'_'.$cOMPANY.'_'.$wHS;
// } // }
// # small Packs // # small Packs
// else{ // else{
// $carrierFileName = $GSFolder.'_'.$Macpkr.'_'.$COMPANY.'_'.$WHS.'_'.$A2INTBOX; // $carrierFileName = $gSFolder.'_'.$macpkr.'_'.$cOMPANY.'_'.$wHS.'_'.$a2INTBOX;
// } // }
$GS1FileName = $labelsPath . $GSFolder . '/' . $carrierFileName . '.pdf'; $gS1FileName = $labelsPath . $gSFolder . '/' . $carrierFileName . '.pdf';
$GS1FileNameNoRoot = $GSFolder . '/' . $carrierFileName; $gS1FileNameNoRoot = $gSFolder . '/' . $carrierFileName;
file_put_contents($GS1FileName, $pdfContent); file_put_contents($gS1FileName, $pdfContent);
ob_end_clean(); ob_end_clean();
} }
// # Insert new Record to ICM695M3 $gs1_128_bc // # Insert new Record to ICM695M3 $gs1_128_bc
// $ICM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3') // $iCM695M3SQLInsert = 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) {
Log::channel('LabelCron')->error($th); Log::channel('LabelCron')->error($th);
@@ -519,7 +517,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);
@@ -534,9 +531,9 @@ class utilitiesContoller extends Controller
// // return $pdfContent; // // return $pdfContent;
$labelsPath = '/www/sentm3live/htdocs/labels/'; $labelsPath = '/www/sentm3live/htdocs/labels/';
// # Put the PDF in labels/CarrierLabel // # Put the PDF in labels/CarrierLabel
$GSFolder = 'GSLabel'; $gSFolder = 'GSLabel';
$carrierFileName = 'GSLabel'; $carrierFileName = 'GSLabel';
file_put_contents($labelsPath . $GSFolder . '/' . $carrierFileName . '.pdf', $pdfContent); file_put_contents($labelsPath . $gSFolder . '/' . $carrierFileName . '.pdf', $pdfContent);
// Save the PDF string to a temporary file for debugging // Save the PDF string to a temporary file for debugging
// $tempPdfPath = tempnam(sys_get_temp_dir(), 'pdf') . '.pdf'; // $tempPdfPath = tempnam(sys_get_temp_dir(), 'pdf') . '.pdf';
@@ -568,28 +565,28 @@ class utilitiesContoller extends Controller
{ {
// $total_length = 9; // $total_length = 9;
// # MAK replace cache ID with MAX ID+1 from ICM695M3 // # MAK replace cache ID with MAX ID+1 from ICM695M3
// $GS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID'); // $gS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
// dump($GS1SEQUENCESel); // dump($gS1SEQUENCESel);
// $GS1SEQUENCE = isset($GS1SEQUENCESel) ? $GS1SEQUENCESel : 0; // $gS1SEQUENCE = isset($gS1SEQUENCESel) ? $gS1SEQUENCESel : 0;
// $GS1SEQUENCE++; // $gS1SEQUENCE++;
// $GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, "0", STR_PAD_LEFT); // $gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, "0", STR_PAD_LEFT);
// dump($GS1SEQUENCEID); // dump($gS1SEQUENCEID);
// MAK Get Contents // MAK Get Contents
// ESN1 // ESN1
// $AYMACPKR='888568'; // LTL example // $aYMACPKR='888568'; // LTL example
// $AYMACPKR='894337'; // another LTL example with smaller orders, therefore pallets are more mixed // $aYMACPKR='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
// $AYMACPKR='1225311'; // parcel example // $aYMACPKR='1225311'; // parcel example
// ESN2 // ESN2
// $AYMACPKR='999999'; // LTL example // $aYMACPKR='999999'; // LTL example
$AYMACPKR = '748101'; // LTL example $aYMACPKR = '748101'; // LTL example
$myRequest = new Request; $myRequest = new Request;
$myRequest->setMethod('POST'); $myRequest->setMethod('POST');
$myRequest->request->add([ $myRequest->request->add([
'MACPKR' => $AYMACPKR, 'MACPKR' => $aYMACPKR,
]); ]);
// Call the controller method properly // Call the controller method properly
@@ -5,7 +5,6 @@ namespace Modules\M3\Http\Controllers;
use Config; use Config;
use DB; use DB;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
@@ -34,8 +33,8 @@ class whsePerfController extends Controller
from ICM711M from ICM711M
where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32'; where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32';
$ICM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$USER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all(); $uSER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'"); $power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'");
$pct_array = Config::get('arrays.whsePerf_targets'); $pct_array = Config::get('arrays.whsePerf_targets');
@@ -57,8 +56,8 @@ class whsePerfController extends Controller
from ICM711M from ICM711M
where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32'; where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32';
$ICM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt); $iCM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$USER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all(); $uSER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'"); $power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'");
$pct_array = Config::get('arrays.whsePerf_targets'); $pct_array = Config::get('arrays.whsePerf_targets');
@@ -17,14 +17,14 @@ class whsePerfDetailsController extends Controller
$username = m3_user() !== '' ? Str::upper(trim(m3_user())) : ''; $username = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// Get Logged User CO & WH & PL // Get Logged User CO & WH & PL
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m') $iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL') ->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $username) ->where('R428US', '=', $username)
->first(); ->first();
$co = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; $co = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$whseno = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; $whseno = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
$plantno = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; $plantno = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$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
+1
View File
@@ -0,0 +1 @@
/* M3 module styles are provided by the Core application theme. */
@@ -30,11 +30,11 @@
<tr> <tr>
<th></th> <th></th>
<th></th> <th></th>
<!-- <th align="center">Co-Plt-Whs</th> --> <!-- <th>Co-Plt-Whs</th> -->
<th align="center">Delivery method</th> <th>Delivery method</th>
<th align="center">Ship Via</th> <th>Ship Via</th>
<th align="center">Route</th> <th>Route</th>
<th align="center">Intl code</th> <th>Intl code</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -44,7 +44,7 @@
@foreach($ICM664M as $key=>$val) @foreach($ICM664M as $key=>$val)
<tr> <tr>
<td></td> <td></td>
<td align="center"> <td>
@if($power_user->R428PWRUSR=="Y") @if($power_user->R428PWRUSR=="Y")
<button name="M3DeliveryEdit{{trim($val->AVDELMETH)}}" type="submit" class="btn btn-sm btn-info M3DeliveryEdit_click" id="M3DeliveryEdit_click" <button name="M3DeliveryEdit{{trim($val->AVDELMETH)}}" type="submit" class="btn btn-sm btn-info M3DeliveryEdit_click" id="M3DeliveryEdit_click"
data-AVDELMETH="{{$val->AVDELMETH}}" data-AVSHPVIA="{{trim($val->AVSHPVIA)}}" data-AVSHSRT="{{trim($val->AVSHSRT)}}" data-AVDELMETH="{{$val->AVDELMETH}}" data-AVSHPVIA="{{trim($val->AVSHPVIA)}}" data-AVSHSRT="{{trim($val->AVSHSRT)}}"
@@ -52,10 +52,10 @@
>Edit</button> >Edit</button>
@endif @endif
</td> </td>
<td align="center"> {{ $val->AVDELMETH }} </td> <td> {{ $val->AVDELMETH }} </td>
<td align="center"> {{ $val->AVSHPVIA }} </td> <td> {{ $val->AVSHPVIA }} </td>
<td align="center"> {{ $val->AVSHSRT }} </td> <td> {{ $val->AVSHSRT }} </td>
<td align="center"> {{ $val->AVSHORCL }} </td> <td> {{ $val->AVSHORCL }} </td>
</tr> </tr>
@endforeach @endforeach
<!-- endif--> <!-- endif-->
@@ -39,7 +39,7 @@ Solon Sentinel Portal - Manifest Orders
$status_ICM688M1_array[trim($val->A4PICKSTS)] : ""; $status_ICM688M1_array[trim($val->A4PICKSTS)] : "";
@endphp @endphp
<tr> <tr>
<td align="center"> <td>
<a class="btn btn-link" target="_blank" href="{{$sendUrl.'php/AllSentPkr.php?macpkr_input='.$val->AYMACPKR}}" > <a class="btn btn-link" target="_blank" href="{{$sendUrl.'php/AllSentPkr.php?macpkr_input='.$val->AYMACPKR}}" >
{{ $val->AYMACPKR }} {{ $val->AYMACPKR }}
</a> </a>
@@ -138,7 +138,7 @@
<input type="text" class="form-control" name="R658WH" id="R658WHA" required readonly> <input type="text" class="form-control" name="R658WH" id="R658WHA" required readonly>
</div> </div>
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R658IZLCF" id="R658IZLCFA" value="1"> <input class="form-check-input" type="checkbox" role="switch" name="R658IZLCF" id="R658IZLCFA" value="1" aria-checked="false">
<label class="form-check-label" for="flexSwitchCheckDefault">Lot Controlled</label> <label class="form-check-label" for="flexSwitchCheckDefault">Lot Controlled</label>
</div> </div>
</div> </div>
@@ -222,7 +222,7 @@
<input type="text" class="form-control" name="R658WH" id="R658WH" required readonly> <input type="text" class="form-control" name="R658WH" id="R658WH" required readonly>
</div> </div>
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R658IZLCF" id="R658IZLCF" value="1"> <input class="form-check-input" type="checkbox" role="switch" name="R658IZLCF" id="R658IZLCF" value="1" aria-checked="false">
<label class="form-check-label" for="flexSwitchCheckDefault">Lot Controlled</label> <label class="form-check-label" for="flexSwitchCheckDefault">Lot Controlled</label>
</div> </div>
</div> </div>
@@ -23,12 +23,12 @@
<tr> <tr>
<th></th> <th></th>
<th></th> <th></th>
<th align="center">SCAC Code</th> <th>SCAC Code</th>
<th align="center">Carrier name</th> <th>Carrier name</th>
<th align="center">2ship Carrier Code</th> <th>2ship Carrier Code</th>
<th align="center">Parcel Carrier Code</th> <th>Parcel Carrier Code</th>
<th align="center">ERP Carrier Code</th> <th>ERP Carrier Code</th>
<th align="center">Timing of M3 closing</th> <th>Timing of M3 closing</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -38,7 +38,7 @@
@foreach($ICM160M as $key=>$val) @foreach($ICM160M as $key=>$val)
<tr> <tr>
<td></td> <td></td>
<td align="center"> <td>
@if(isset($power_user[0]) && trim((string) ($power_user[0]->R428PWRUSR ?? '')) === 'Y') @if(isset($power_user[0]) && trim((string) ($power_user[0]->R428PWRUSR ?? '')) === 'Y')
<button name="carrierEdit{{trim($val->CANUM)}}" type="submit" class="btn btn-sm btn-info carrierEdit_click" id="carrierEdit_click" <button name="carrierEdit{{trim($val->CANUM)}}" type="submit" class="btn btn-sm btn-info carrierEdit_click" id="carrierEdit_click"
data-CANUM="{{trim($val->CANUM)}}" data-CANAM="{{trim($val->CANAM)}}" data-TWOSHIPCARRIERCODE="{{trim($val->TWOSHIPCARRIERCODE)}}" data-CANUM="{{trim($val->CANUM)}}" data-CANAM="{{trim($val->CANAM)}}" data-TWOSHIPCARRIERCODE="{{trim($val->TWOSHIPCARRIERCODE)}}"
@@ -47,12 +47,12 @@
>Edit</button> >Edit</button>
@endif @endif
</td> </td>
<td align="center"> {{ $val->CANUM }} </td> <td> {{ $val->CANUM }} </td>
<td align="center"> {{ $val->CANAM }} </td> <td> {{ $val->CANAM }} </td>
<td align="center"> {{ $val->TWOSHIPCARRIERCODE }} </td> <td> {{ $val->TWOSHIPCARRIERCODE }} </td>
<td align="center"> {{ $val->PARCELCARRIERCODE=="X"?"Parcel":"" }} </td> <td> {{ $val->PARCELCARRIERCODE=="X"?"Parcel":"" }} </td>
<td align="center"> {{ $val->CASPR10A01 }} </td> <td> {{ $val->CASPR10A01 }} </td>
<td align="center"> {{ $val->CASPR1A01=="Y"?"When closing truck":"" }} </td> <td> {{ $val->CASPR1A01=="Y"?"When closing truck":"" }} </td>
</tr> </tr>
@endforeach @endforeach
<!-- endif--> <!-- endif-->
@@ -82,7 +82,7 @@ Solon Sentinel Portal - Orders On Hold Summary
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
<tfoot align="right"> <tfoot>
<tr style="text-align:right"> <tr style="text-align:right">
<th style="text-align:right"></th> <th style="text-align:right"></th>
<th style="text-align:center"></th> <th style="text-align:center"></th>
@@ -23,10 +23,10 @@
<tr> <tr>
<th></th> <th></th>
<th></th> <th></th>
<th align="center">Div-Plt-Whs</th> <th>Div-Plt-Whs</th>
<th align="center">Part</th> <th>Part</th>
<th align="center">Pallet Qty</th> <th>Pallet Qty</th>
<th align="center">Hazardous Material</th> <th>Hazardous Material</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -36,7 +36,7 @@
@foreach($ICM709M as $key=>$val) @foreach($ICM709M as $key=>$val)
<tr> <tr>
<td></td> <td></td>
<td align="center"> <td>
@if($power_user->R428PWRUSR=="Y") @if($power_user->R428PWRUSR=="Y")
<button name="qtyEdit{{trim($val->AT9PART)}}" type="submit" class="btn btn-sm btn-info qtyEdit_click" id="qtyEdit_click" <button name="qtyEdit{{trim($val->AT9PART)}}" type="submit" class="btn btn-sm btn-info qtyEdit_click" id="qtyEdit_click"
data-AT9CO="{{$val->AT9CO}}" data-AT9PLT="{{trim($val->AT9PLT)}}" data-AT9WHS="{{trim($val->AT9WHS)}}" data-AT9CO="{{$val->AT9CO}}" data-AT9PLT="{{trim($val->AT9PLT)}}" data-AT9WHS="{{trim($val->AT9WHS)}}"
@@ -45,10 +45,10 @@
>Edit</button> >Edit</button>
@endif @endif
</td> </td>
<td align="center"> {{ $val->AT9CO }} {{ $val->AT9PLT }} {{ $val->AT9WHS }} </td> <td> {{ $val->AT9CO }} {{ $val->AT9PLT }} {{ $val->AT9WHS }} </td>
<td align="center"> {{ $val->AT9PART }} </td> <td> {{ $val->AT9PART }} </td>
<td align="center"> {{ $val->AT9QTY }} </td> <td> {{ $val->AT9QTY }} </td>
<td align="center"> {{ trim($val->AT9WRN) }} </td> <td> {{ trim($val->AT9WRN) }} </td>
</tr> </tr>
@endforeach @endforeach
<!-- endif--> <!-- endif-->
@@ -112,7 +112,7 @@ Solon Sentinel Portal - Trucks pending closure with M3
<td> {{ $val->APDOCKDOOR }} </td> <td> {{ $val->APDOCKDOOR }} </td>
<td> {{ $val->APCARRIER }} </td> <td> {{ $val->APCARRIER }} </td>
<td> {{ $val->APTRUCKIDT }} </td> <td> {{ $val->APTRUCKIDT }} </td>
<td align="center"> {{ $val->APSPARE1 }} </td> <td> {{ $val->APSPARE1 }} </td>
<td> {{ $val->APLDSTRU }} </td> <td> {{ $val->APLDSTRU }} </td>
<td> {{ date('Y-m-d', strtotime($val->APLDSTRD)) }} </td> <td> {{ date('Y-m-d', strtotime($val->APLDSTRD)) }} </td>
<td> {{ strlen($val->APLDSTRT)==6 ? date('H:i:s', strtotime($val->APLDSTRT)):date('H:i:s', strtotime('0'.$val->APLDSTRT)) }} </td> <td> {{ strlen($val->APLDSTRT)==6 ? date('H:i:s', strtotime($val->APLDSTRT)):date('H:i:s', strtotime('0'.$val->APLDSTRT)) }} </td>
@@ -34,20 +34,20 @@
<th style="width:100px"></th> <th style="width:100px"></th>
<th style="width:100px">Div-Plt-Whs</th> <th style="width:100px">Div-Plt-Whs</th>
<th>Plant name</th> <th>Plant name</th>
<th align="center">Status</th> <th>Status</th>
<th>User profile</th> <th>User profile</th>
<th>First name</th> <th>First name</th>
<th>Family name</th> <th>Family name</th>
<th>Empl code</th> <th>Empl code</th>
<th align="center">Admin user</th> <th>Admin user</th>
<th align="center">Power user</th> <th>Power user</th>
<th align="center">CSR</th> <th>CSR</th>
<th align="center">Exec.</th> <th>Exec.</th>
<th align="center">Inventory Options</th> <th>Inventory Options</th>
<th align="center">Replenishment</th> <th>Replenishment</th>
<th align="center">Document Reprints</th> <th>Document Reprints</th>
<th align="center">Loading</th> <th>Loading</th>
<th align="center">Main menu</th> <th>Main menu</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -57,7 +57,7 @@
@foreach($ICM428M as $key=>$val) @foreach($ICM428M as $key=>$val)
<tr> <tr>
<td></td> <td></td>
<td align="center"> <td>
@if($power_user[0]->R428PWRUSR=="Y" && trim($val->R428US)!="TWOSHIP" && trim($val->R428US)!="TWOSHIP303" && trim($val->R428US)!="TWOSHIP322") @if($power_user[0]->R428PWRUSR=="Y" && trim($val->R428US)!="TWOSHIP" && trim($val->R428US)!="TWOSHIP303" && trim($val->R428US)!="TWOSHIP322")
<!-- <a href="userControl/callCL?ACTION=P&USERID={{trim($val->R428US)}}"> <!-- <a href="userControl/callCL?ACTION=P&USERID={{trim($val->R428US)}}">
<button name="userCallCLP{{trim($val->R428US)}}" type="submit" class="btn btn-sm btn-info userCallCL_click" <button name="userCallCLP{{trim($val->R428US)}}" type="submit" class="btn btn-sm btn-info userCallCL_click"
@@ -116,20 +116,20 @@
@endif @endif
@endforeach @endforeach
</td> </td>
<td align="center"> {{ $val->R428STS=="A"?"Active":"Inactive" }} </td> <td> {{ $val->R428STS=="A"?"Active":"Inactive" }} </td>
<td> {{ $val->R428US }} </td> <td> {{ $val->R428US }} </td>
<td> {{ $val->R428FIRST }} </td> <td> {{ $val->R428FIRST }} </td>
<td> {{ $val->R428FAMILY }} </td> <td> {{ $val->R428FAMILY }} </td>
<td align="left"> {{ $val->R428EMPCDE }} </td> <td> {{ $val->R428EMPCDE }} </td>
<td align="center"> {{ $val->R428ADMUSR }} </td> <td> {{ $val->R428ADMUSR }} </td>
<td align="center"> {{ $val->R428PWRUSR }} </td> <td> {{ $val->R428PWRUSR }} </td>
<td align="center"> {{ $val->R42811A }} </td> <td> {{ $val->R42811A }} </td>
<td align="center"> {{ $val->R42821A }} </td> <td> {{ $val->R42821A }} </td>
<td align="left"><pre><font size=+1> {{ str_replace("N"," ",$val->MENU2OPT) }} </font></pre></td> <td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU2OPT) }} </font></pre></td>
<td align="left"><pre><font size=+1> {{ str_replace("N"," ",$val->MENU3OPT) }} </font></pre></td> <td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU3OPT) }} </font></pre></td>
<td align="left"><pre><font size=+1> {{ str_replace("N"," ",$val->MENU4OPT) }} </font></pre></td> <td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU4OPT) }} </font></pre></td>
<td align="left"><pre><font size=+1> {{ str_replace("N"," ",$val->MENU5OPT) }} </font></pre></td> <td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU5OPT) }} </font></pre></td>
<td align="left"><pre><font size=+1> {{ str_replace("N"," ",$val->MENU6OPT) }} </font></pre></td> <td><pre><font size=+1> {{ str_replace("N"," ",$val->MENU6OPT) }} </font></pre></td>
</tr> </tr>
@endforeach @endforeach
<!-- endif--> <!-- endif-->
@@ -36,7 +36,7 @@
<td class="text-right"> <td class="text-right">
LTL LTL
<div class="col-sm-1 form-check form-check-inline form-switch"> <div class="col-sm-1 form-check form-check-inline form-switch">
<input type="checkbox" class="form-check-input" role="switch" id="addPARCELCARRIERCODE" name="addPARCELCARRIERCODE" data-on="X" data-off=""> <input type="checkbox" class="form-check-input" role="switch" id="addPARCELCARRIERCODE" name="addPARCELCARRIERCODE" data-on="X" data-off="" aria-checked="false">
Parcel Parcel
</div> </div>
</td> </td>
@@ -54,7 +54,7 @@
<td class="text-right"> <td class="text-right">
Overnight Overnight
<div class="col-sm-1 form-check form-check-inline form-switch"> <div class="col-sm-1 form-check form-check-inline form-switch">
<input type="checkbox" class="form-check-input" role="switch" id="addCASPR1A01" name="addCASPR1A01" data-on="Y" data-off=""> <input type="checkbox" class="form-check-input" role="switch" id="addCASPR1A01" name="addCASPR1A01" data-on="Y" data-off="" aria-checked="false">
</div> </div>
When closing truck When closing truck
</td> </td>
@@ -38,7 +38,7 @@
LTL LTL
<div class="col-sm-1 form-check form-check-inline form-switch"> <div class="col-sm-1 form-check form-check-inline form-switch">
<input type="hidden" name="OLD_PARCELCARRIERCODE" id="OLD_PARCELCARRIERCODE"> <input type="hidden" name="OLD_PARCELCARRIERCODE" id="OLD_PARCELCARRIERCODE">
<input type="checkbox" class="form-check-input" role="switch" id="PARCELCARRIERCODE" name="PARCELCARRIERCODE" data-on="X" data-off=""> <input type="checkbox" class="form-check-input" role="switch" id="PARCELCARRIERCODE" name="PARCELCARRIERCODE" data-on="X" data-off="" aria-checked="false">
Parcel Parcel
</div> </div>
</td> </td>
@@ -58,7 +58,7 @@
Overnight Overnight
<div class="col-sm-1 form-check form-check-inline form-switch"> <div class="col-sm-1 form-check form-check-inline form-switch">
<input type="hidden" name="OLD_CASPR1A01" id="OLD_CASPR1A01"> <input type="hidden" name="OLD_CASPR1A01" id="OLD_CASPR1A01">
<input type="checkbox" class="form-check-input" role="switch" id="CASPR1A01" name="CASPR1A01" data-on="Y" data-off=""> <input type="checkbox" class="form-check-input" role="switch" id="CASPR1A01" name="CASPR1A01" data-on="Y" data-off="" aria-checked="false">
</div> </div>
When closing truck When closing truck
</td> </td>
@@ -21,7 +21,7 @@
<td><b>Status</b></td> <!-- Switch Active/Inactive --> <td><b>Status</b></td> <!-- Switch Active/Inactive -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R428STS" value="A" checked data-on="A" data-off="I"> <input class="form-check-input" type="checkbox" role="switch" name="R428STS" value="A" checked data-on="A" data-off="I" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -74,26 +74,26 @@
<td><b>Admin user</b></td> <!-- SWITCH Y/N --> <td><b>Admin user</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R428ADMUSR" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="R428ADMUSR" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Power user</b></td> <!-- SWITCH Y/N --> <td><b>Power user</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R428PWRUSR" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="R428PWRUSR" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>CSR</b></td> <!-- SWITCH Y/N --> <td><b>CSR</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="R42811A" value="N" data-on="C" data-off=""> <input class="form-check-input" type="checkbox" role="switch" name="R42811A" value="N" data-on="C" data-off="" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Executive</b></td> <!-- SWITCH Y/N --> <td><b>Executive</b></td> <!-- SWITCH Y/N -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="checkbox" class="form-check-input" role="switch" name="R42821A" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" name="R42821A" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -106,19 +106,19 @@
<td><b>Picking</b></td> <!-- SWITCH Y/N --> <td><b>Picking</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT3" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT3" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Ticket processing</b></td> <!-- SWITCH Y/N Replenishment menu --> <td><b>Ticket processing</b></td> <!-- SWITCH Y/N Replenishment menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU3OPT1" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU3OPT1" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Document Reprints1</b></td> <!-- SWITCH Y/N Document Reprints menu --> <td><b>Document Reprints1</b></td> <!-- SWITCH Y/N Document Reprints menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT1" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT1" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -126,33 +126,33 @@
<td><b>Stock View Program</b></td> <!-- SWITCH Y/N --> <td><b>Stock View Program</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT7" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT7" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Ticket reset</b></td> <!-- SWITCH Y/N Replenishment menu --> <td><b>Ticket reset</b></td> <!-- SWITCH Y/N Replenishment menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch"name="MENU3OPT2" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch"name="MENU3OPT2" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Document Reprints2</b></td> <!-- SWITCH Y/N Document Reprints menu --> <td><b>Document Reprints2</b></td> <!-- SWITCH Y/N Document Reprints menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT2" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT2" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
<td><b>Split Box Labels</b></td> <!-- SWITCH Y/N --> <td><b>Split Box Labels</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT8" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU2OPT8" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td colspan=2></td> <td colspan=2></td>
<td><b>Document Reprints3</b></td> <!-- SWITCH Y/N Document Reprints menu --> <td><b>Document Reprints3</b></td> <!-- SWITCH Y/N Document Reprints menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT3" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU4OPT3" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -163,13 +163,13 @@
<td><b>Small parcel loading/closing</b></td> <!-- SWITCH Y/N --> <td><b>Small parcel loading/closing</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT1" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT1" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Weekly Labor card entry</b></td> <!-- SWITCH Y/N --> <td><b>Weekly Labor card entry</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT1" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT1" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -177,13 +177,13 @@
<td><b>Open dock door</b></td> <!-- SWITCH Y/N --> <td><b>Open dock door</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT2" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT2" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>MACPAC</b></td> <!-- SWITCH Y/N --> <td><b>MACPAC</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT2" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT2" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -191,13 +191,13 @@
<td><b>Close dock door</b></td> <!-- SWITCH Y/N --> <td><b>Close dock door</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT3" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT3" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>2Ship send/aggregate</b></td> <!-- SWITCH Y/N --> <td><b>2Ship send/aggregate</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT3" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU6OPT3" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -205,7 +205,7 @@
<td><b>LTL loading</b></td> <!-- SWITCH Y/N --> <td><b>LTL loading</b></td> <!-- SWITCH Y/N -->
<td class="text-center"> <td class="text-center">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT5" value="N" data-on="Y" data-off="N"> <input class="form-check-input" type="checkbox" role="switch" name="MENU5OPT5" value="N" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -25,7 +25,7 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_R428STS" name="OLD_R428STS"> <input type="hidden" id="OLD_R428STS" name="OLD_R428STS">
<input type="checkbox" class="form-check-input" role="switch" id="R428STS" name="R428STS" data-on="A" data-off="I"> <input type="checkbox" class="form-check-input" role="switch" id="R428STS" name="R428STS" data-on="A" data-off="I" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -93,28 +93,28 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_R428ADMUSR" name="OLD_R428ADMUSR"> <input type="hidden" id="OLD_R428ADMUSR" name="OLD_R428ADMUSR">
<input type="checkbox" class="form-check-input" role="switch" id="R428ADMUSR" name="R428ADMUSR" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="R428ADMUSR" name="R428ADMUSR" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Power user</b></td> <!-- SWITCH Y/N --> <td><b>Power user</b></td> <!-- SWITCH Y/N -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_R428PWRUSR" name="OLD_R428PWRUSR"> <input type="hidden" id="OLD_R428PWRUSR" name="OLD_R428PWRUSR">
<input type="checkbox" class="form-check-input" role="switch" id="R428PWRUSR" name="R428PWRUSR" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="R428PWRUSR" name="R428PWRUSR" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>CSR</b></td> <!-- SWITCH Y/N --> <td><b>CSR</b></td> <!-- SWITCH Y/N -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_R42811A" name="OLD_R42811A"> <input type="hidden" id="OLD_R42811A" name="OLD_R42811A">
<input type="checkbox" class="form-check-input" role="switch" id="R42811A" name="R42811A" data-on="C" data-off=""> <input type="checkbox" class="form-check-input" role="switch" id="R42811A" name="R42811A" data-on="C" data-off="" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Executive</b></td> <!-- SWITCH Y/N --> <td><b>Executive</b></td> <!-- SWITCH Y/N -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_R42821A" name="OLD_R42821A"> <input type="hidden" id="OLD_R42821A" name="OLD_R42821A">
<input type="checkbox" class="form-check-input" role="switch" id="R42821A" name="R42821A" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="R42821A" name="R42821A" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -129,21 +129,21 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU2OPT3" name="OLD_MENU2OPT3"> <input type="hidden" id="OLD_MENU2OPT3" name="OLD_MENU2OPT3">
<input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT3" name="MENU2OPT3" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT3" name="MENU2OPT3" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Ticket processing</b></td> <!-- SWITCH Y/N Replenishment menu --> <td><b>Ticket processing</b></td> <!-- SWITCH Y/N Replenishment menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU3OPT1" name="OLD_MENU3OPT1"> <input type="hidden" id="OLD_MENU3OPT1" name="OLD_MENU3OPT1">
<input type="checkbox" class="form-check-input" role="switch" id="MENU3OPT1" name="MENU3OPT1" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU3OPT1" name="MENU3OPT1" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Document Reprints1</b></td> <!-- SWITCH Y/N Document Reprints menu --> <td><b>Document Reprints1</b></td> <!-- SWITCH Y/N Document Reprints menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU4OPT1" name="OLD_MENU4OPT1"> <input type="hidden" id="OLD_MENU4OPT1" name="OLD_MENU4OPT1">
<input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT1" name="MENU4OPT1" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT1" name="MENU4OPT1" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -152,21 +152,21 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU2OPT7" name="OLD_MENU2OPT7"> <input type="hidden" id="OLD_MENU2OPT7" name="OLD_MENU2OPT7">
<input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT7" name="MENU2OPT7" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT7" name="MENU2OPT7" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Ticket reset</b></td> <!-- SWITCH Y/N Replenishment menu --> <td><b>Ticket reset</b></td> <!-- SWITCH Y/N Replenishment menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU3OPT2" name="OLD_MENU3OPT2"> <input type="hidden" id="OLD_MENU3OPT2" name="OLD_MENU3OPT2">
<input type="checkbox" class="form-check-input" role="switch" id="MENU3OPT2" name="MENU3OPT2" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU3OPT2" name="MENU3OPT2" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Document Reprints2</b></td> <!-- SWITCH Y/N Document Reprints menu --> <td><b>Document Reprints2</b></td> <!-- SWITCH Y/N Document Reprints menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU4OPT2" name="OLD_MENU4OPT2"> <input type="hidden" id="OLD_MENU4OPT2" name="OLD_MENU4OPT2">
<input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT2" name="MENU4OPT2" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT2" name="MENU4OPT2" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -175,7 +175,7 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU2OPT8" name="OLD_MENU2OPT8"> <input type="hidden" id="OLD_MENU2OPT8" name="OLD_MENU2OPT8">
<input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT8" name="MENU2OPT8" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU2OPT8" name="MENU2OPT8" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td></td><td></td> <td></td><td></td>
@@ -183,7 +183,7 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU4OPT3" name="OLD_MENU4OPT3"> <input type="hidden" id="OLD_MENU4OPT3" name="OLD_MENU4OPT3">
<input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT3" name="MENU4OPT3" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU4OPT3" name="MENU4OPT3" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -195,14 +195,14 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU5OPT1" name="OLD_MENU5OPT1"> <input type="hidden" id="OLD_MENU5OPT1" name="OLD_MENU5OPT1">
<input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT1" name="MENU5OPT1" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT1" name="MENU5OPT1" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>Weekly Labor card entry</b></td> <!-- SWITCH Y/N Loading menu --> <td><b>Weekly Labor card entry</b></td> <!-- SWITCH Y/N Loading menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU6OPT1" name="OLD_MENU6OPT1"> <input type="hidden" id="OLD_MENU6OPT1" name="OLD_MENU6OPT1">
<input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT1" name="MENU6OPT1" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT1" name="MENU6OPT1" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -211,14 +211,14 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU5OPT2" name="OLD_MENU5OPT2"> <input type="hidden" id="OLD_MENU5OPT2" name="OLD_MENU5OPT2">
<input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT2" name="MENU5OPT2" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT2" name="MENU5OPT2" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>MACPAC</b></td> <!-- SWITCH Y/N Loading menu --> <td><b>MACPAC</b></td> <!-- SWITCH Y/N Loading menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU6OPT2" name="OLD_MENU6OPT2"> <input type="hidden" id="OLD_MENU6OPT2" name="OLD_MENU6OPT2">
<input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT2" name="MENU6OPT2" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT2" name="MENU6OPT2" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -227,14 +227,14 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU5OPT3" name="OLD_MENU5OPT3"> <input type="hidden" id="OLD_MENU5OPT3" name="OLD_MENU5OPT3">
<input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT3" name="MENU5OPT3" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT3" name="MENU5OPT3" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
<td><b>2Ship send/aggregate</b></td> <!-- SWITCH Y/N Loading menu --> <td><b>2Ship send/aggregate</b></td> <!-- SWITCH Y/N Loading menu -->
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU6OPT3" name="OLD_MENU6OPT3"> <input type="hidden" id="OLD_MENU6OPT3" name="OLD_MENU6OPT3">
<input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT3" name="MENU6OPT3" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU6OPT3" name="MENU6OPT3" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -243,7 +243,7 @@
<td class="text-right"> <td class="text-right">
<div class="form-check form-switch"> <div class="form-check form-switch">
<input type="hidden" id="OLD_MENU5OPT5" name="OLD_MENU5OPT5"> <input type="hidden" id="OLD_MENU5OPT5" name="OLD_MENU5OPT5">
<input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT5" name="MENU5OPT5" data-on="Y" data-off="N"> <input type="checkbox" class="form-check-input" role="switch" id="MENU5OPT5" name="MENU5OPT5" data-on="Y" data-off="N" aria-checked="false">
</div> </div>
</td> </td>
</tr> </tr>
@@ -96,5 +96,4 @@ class BillOfLadingService
'total_line_weight' => [177, 244], 'total_line_weight' => [177, 244],
]; ];
} }
} }
+1 -1
View File
@@ -4,7 +4,7 @@ current:
label: v label: v
major: 1 major: 1
minor: 1 minor: 1
patch: 32 patch: 33
prerelease: prerelease:
buildmetadata: buildmetadata:
commit: 100001 commit: 100001