m3 Security Fixes
This commit is contained in:
@@ -128,7 +128,7 @@ class M3Controller extends Controller
|
||||
try {
|
||||
$jsonFile = count($request->json()->all()) > 0 ? $request->json()->all() : '';
|
||||
|
||||
# Root
|
||||
# Root
|
||||
$Company = isset($jsonFile["Company"]) ? $jsonFile["Company"] : '';
|
||||
$Plant = isset($jsonFile["Plant"]) ? $jsonFile["Plant"] : '';
|
||||
$Warehouse = isset($jsonFile["Warehouse"]) ? $jsonFile["Warehouse"] : '';
|
||||
@@ -148,7 +148,7 @@ class M3Controller extends Controller
|
||||
$GS1Label = isset($jsonFile["GS1-128Label"]) ? $jsonFile["GS1-128Label"] : '0';
|
||||
$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' ) {
|
||||
$CarrierCode = 'BWAY';
|
||||
}
|
||||
@@ -188,7 +188,7 @@ class M3Controller extends Controller
|
||||
|
||||
# MycarrierDetails
|
||||
$ShipVia = isset($jsonFile["ShipVia"]) ? $jsonFile["ShipVia"]: '';
|
||||
|
||||
|
||||
# Comments
|
||||
$Picker = $Packer = $Carrier = $Other ='';
|
||||
$AXCO = $Company;
|
||||
@@ -200,11 +200,11 @@ class M3Controller extends Controller
|
||||
$AXSHNO = $ShipmentNumber;
|
||||
|
||||
$comments = isset($jsonFile["Comments"]) ? $jsonFile["Comments"] : '';
|
||||
|
||||
|
||||
if ($comments!='') {
|
||||
foreach($comments as $key => $comment) {
|
||||
$commentData = [];
|
||||
$AXDOCUMENT = Helper::sanityzeString($key);
|
||||
$AXDOCUMENT = Helper::sanityzeString($key);
|
||||
|
||||
$commentData=["AXCO"=>$AXCO,"AXPLANT"=>$AXPLANT,"AXWHS"=>$AXWHS,"AXDELNO"=>$AXDELNO,"AXONO"=>$AXONO,
|
||||
"AXRLNO"=>$AXRLNO,"AXSHNO"=>$AXSHNO,"AXDOCUMENT"=>$AXDOCUMENT];
|
||||
@@ -285,17 +285,87 @@ class M3Controller extends Controller
|
||||
$KitPartNumber = isset($product['KitPartNumber']) ? $product['KitPartNumber']: '';
|
||||
$OrderLineSuffix = isset($product['OrderLineSuffix']) ? $product['OrderLineSuffix']: '';
|
||||
$CustomerPartNumber = isset($product['CustomerPartNumber']) ? substr($product['CustomerPartNumber'], 0, 20): ''; # Limit to 20 Chars
|
||||
|
||||
|
||||
# Initialise Table Fields to be filled
|
||||
$InsertArray = [];
|
||||
$InsertArray = [];
|
||||
$fieldValues = [
|
||||
'Company' => $Company,
|
||||
'Warehouse' => $Warehouse,
|
||||
'Plant' => $Plant,
|
||||
'PickerNumber' => $PickerNumber,
|
||||
'OrderNumber' => $OrderNumber,
|
||||
'ReleaseNumber' => $ReleaseNumber,
|
||||
'ShipmentNumber' => $ShipmentNumber,
|
||||
'OrderLine' => $OrderLine,
|
||||
'PartNumber' => $PartNumber,
|
||||
'Description' => $Description,
|
||||
'Quantity' => $Quantity,
|
||||
'BaseUnitPrice' => $BaseUnitPrice,
|
||||
'Currency' => $Currency,
|
||||
'Zone' => $Zone,
|
||||
'PromDate' => $PromDate,
|
||||
'RouteCode' => $RouteCode,
|
||||
'BillToId' => $BillToId,
|
||||
'ShipToId' => $ShipToId,
|
||||
'CompanyName' => $CompanyName,
|
||||
'Address1' => $Address1,
|
||||
'Address2' => $Address2,
|
||||
'Address3' => $Address3,
|
||||
'Address4' => $Address4,
|
||||
'City' => $City,
|
||||
'State' => $State,
|
||||
'PostalCode' => $PostalCode,
|
||||
'Country' => $Country,
|
||||
'CountryName' => $CountryName,
|
||||
'PartWeight' => $PartWeight,
|
||||
'SellUOM' => $SellUOM,
|
||||
'PartConv' => $PartConv,
|
||||
'CarrierCode' => $CarrierCode,
|
||||
'ShipVia' => $ShipVia,
|
||||
'PrimaryLocation' => $PrimaryLocation,
|
||||
'Allocation' => $Allocation,
|
||||
'AllocatedTo' => $AllocatedTo,
|
||||
'LocationSeq' => $LocationSeq,
|
||||
'UOM' => $UOM,
|
||||
'HazMat' => $HazMat,
|
||||
'PartUPC' => $PartUPC,
|
||||
'PartEAN' => $PartEAN,
|
||||
'LotFlag' => $LotFlag,
|
||||
'ManOrd' => $ManOrd,
|
||||
'LotNumber' => $LotNumber,
|
||||
'ProductArea' => $ProductArea,
|
||||
'FreightClass' => $FreightClass,
|
||||
'ShipmentPONumber' => $ShipmentPONumber,
|
||||
'ShipmentPOLine' => $ShipmentPOLine,
|
||||
'ShipTerms' => $ShipTerms,
|
||||
'ExchangeRate' => $ExchangeRate,
|
||||
'OrderClass' => $OrderClass,
|
||||
'LocationType' => $LocationType,
|
||||
'PallSize' => $PallSize,
|
||||
'MasterCarton' => $MasterCarton,
|
||||
'MasterQty' => $MasterQty,
|
||||
'InnerQty' => $InnerQty,
|
||||
'PalletQty' => $PalletQty,
|
||||
'CartonQty' => $CartonQty,
|
||||
'PersonName' => $PersonName,
|
||||
'AccountNo' => $AccountNo,
|
||||
'Email' => $Email,
|
||||
'OrderCategory' => $OrderCategory,
|
||||
'A1DATEADD' => $A1DATEADD,
|
||||
'A1TIMEADD' => $A1TIMEADD,
|
||||
'KitPartNumber' => $KitPartNumber,
|
||||
'OrderLineSuffix' => $OrderLineSuffix,
|
||||
'CustomerPartNumber' => $CustomerPartNumber,
|
||||
'GS1Label' => $GS1Label,
|
||||
'CurrencyExchangeRate' => $CurrencyExchangeRate,
|
||||
];
|
||||
|
||||
# Check JSON fields if empty or > DB Fields
|
||||
foreach ($ICM666MFields as $key => $value) {
|
||||
$keyVar = $key;
|
||||
# Sanitize String
|
||||
$$keyVar = Helper::sanityzeString($$keyVar);
|
||||
$fieldValue = Helper::sanityzeString($fieldValues[$key] ?? '');
|
||||
# Check Var Types & Length
|
||||
$LengthTest = Helper::checkLength($$keyVar, $value[1], $value[2]);
|
||||
$LengthTest = Helper::checkLength($fieldValue, $value[1], $value[2]);
|
||||
|
||||
if (!$LengthTest[413] || !$LengthTest[411] || !$LengthTest[417]) {
|
||||
// Log::error($key .' :: '. $value[0].' :: '. $value[1] .' JSONF: '.$$keyVar .' Type: '.$value[2] );
|
||||
@@ -315,12 +385,12 @@ class M3Controller extends Controller
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json($message);
|
||||
} else if ($$keyVar != '') {
|
||||
$InsertArray[$value[0]] = $$keyVar;
|
||||
} else if ($fieldValue != '') {
|
||||
$InsertArray[$value[0]] = $fieldValue;
|
||||
}
|
||||
}
|
||||
// Log::info($InsertArray);
|
||||
|
||||
|
||||
# Check ICM709M
|
||||
$ICM709MSEL = DB::connection(config('m3.connection', 'pgsql'))->table('icm709m')
|
||||
->select()
|
||||
@@ -339,7 +409,7 @@ class M3Controller extends Controller
|
||||
$InsertArray['A1MATWRN'] = $HazMat;
|
||||
|
||||
// if ($PalletQty!='') {
|
||||
// $InsertArray['A1USRN01']=$palletQty;
|
||||
// $InsertArray['A1USRN01']=$palletQty;
|
||||
// }
|
||||
|
||||
# SQL Insert to ICM666M
|
||||
@@ -350,16 +420,16 @@ class M3Controller extends Controller
|
||||
if ($Warehouse!='' && $PickerNumber!='' && $Company!='') {
|
||||
$PGMERRORS = '';
|
||||
$AWREQN = '';
|
||||
|
||||
|
||||
# connect to toolkit using DB2 credentials (can also leave blank for default authority)
|
||||
try {
|
||||
$conn = app(\Modules\M3\Services\PostgresProgramBridge::class);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
# Determine reason for failure.
|
||||
# Probably database authentication error or invalid or unreachable database.
|
||||
$code = $e->getCode();
|
||||
$msg = $e->getMessage();
|
||||
|
||||
|
||||
switch ($code) {
|
||||
case 8001:
|
||||
# "Authorization failure on distributed database connection attempt"
|
||||
@@ -375,10 +445,10 @@ class M3Controller extends Controller
|
||||
}
|
||||
}
|
||||
$conn->setOptions(array('persistent' => false, 'stateless' => true, 'debug' => true,'debugLogFile' => env('TOOLKIT_DEBUG_LOG')));
|
||||
|
||||
|
||||
# Add LIB
|
||||
# $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
|
||||
|
||||
|
||||
# define several input/output params
|
||||
$params = [];
|
||||
# $params[] = $conn->AddParameterChar('out',7,'eqNumber');
|
||||
@@ -391,7 +461,7 @@ class M3Controller extends Controller
|
||||
|
||||
# AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
|
||||
# Add Delivery Note Param
|
||||
$PickerNumberNoZero = ltrim(strval($PickerNumber), '0');
|
||||
$PickerNumberNoZero = ltrim(strval($PickerNumber), '0');
|
||||
$params[] = $conn->AddParameterChar('in', 11, 'PickerNumber','',$PickerNumberNoZero);
|
||||
// $params[] = $conn->AddParameterZoned('in', 11, 0, 'ParamIn');
|
||||
|
||||
@@ -427,11 +497,11 @@ class M3Controller extends Controller
|
||||
else{
|
||||
# Write to Logs Out : Error & JSON
|
||||
$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' ,
|
||||
'SHDATA'=>'No Json File Found...' ,'SHUSER'=> $REQKPKUS,'SHSOURCE'=> $SHSOURCE,'SHCO'=>$Company,'SHWHS'=>$Warehouse,"SHACKNOTE"=> $SHACKNOTE ];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
|
||||
return response()->json([
|
||||
'code'=>'415',
|
||||
'status'=>'error',
|
||||
|
||||
Reference in New Issue
Block a user