M3 Security Fixes for scan command pass 33 major code smell fixes and style fixes
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,6 @@ namespace Modules\M3\Http\Controllers\API;
|
||||
use Config;
|
||||
use DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Log;
|
||||
use Modules\M3\Helpers\Helper;
|
||||
use Modules\M3\Http\Controllers\Controller;
|
||||
use Modules\M3\Services\PostgresProgramBridge;
|
||||
@@ -14,6 +13,7 @@ use Str;
|
||||
class M3Controller extends Controller
|
||||
{
|
||||
private const FIELD_PREFIX = 'Field: ';
|
||||
|
||||
private const M3_LIST_SUFFIX = ' M3-Lis-JSN';
|
||||
|
||||
// Split Data and Write to ICM666M2
|
||||
@@ -22,15 +22,15 @@ class M3Controller extends Controller
|
||||
// dump($dataSplit);
|
||||
|
||||
$commentDataSS = explode("\n", $dataSplit);
|
||||
$AXLINENO = 1;
|
||||
$aXLINENO = 1;
|
||||
foreach ($commentDataSS as $substring) {
|
||||
// Process each substring
|
||||
$fullData = $commentData;
|
||||
$fullData['AXCOMMENT'] = $substring;
|
||||
$fullData['AXLINENO'] = $AXLINENO;
|
||||
$fullData['AXLINENO'] = $aXLINENO;
|
||||
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm666m2')->insert($fullData);
|
||||
|
||||
$AXLINENO++;
|
||||
$aXLINENO++;
|
||||
|
||||
// AXCO 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('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
|
||||
|
||||
$REQKPKUS = m3_user() !== '' ? Str::upper(m3_user()) : 'WEBUSER';
|
||||
$SHSOURCE = 'M3ReceiverAPI';
|
||||
$rEQKPKUS = m3_user() !== '' ? Str::upper(m3_user()) : 'WEBUSER';
|
||||
$sHSOURCE = 'M3ReceiverAPI';
|
||||
|
||||
$ICM666MFields = [
|
||||
$iCM666MFields = [
|
||||
'Company' => ['A1CO', 3, 'string'],
|
||||
'Warehouse' => ['A1WHS', 3, 'string'],
|
||||
'Plant' => ['A1PLANT', 3, 'string'],
|
||||
@@ -137,30 +137,30 @@ class M3Controller extends Controller
|
||||
$jsonFile = count($request->json()->all()) > 0 ? $request->json()->all() : '';
|
||||
|
||||
// Root
|
||||
$Company = isset($jsonFile['Company']) ? $jsonFile['Company'] : '';
|
||||
$Plant = isset($jsonFile['Plant']) ? $jsonFile['Plant'] : '';
|
||||
$Warehouse = isset($jsonFile['Warehouse']) ? $jsonFile['Warehouse'] : '';
|
||||
$OrderNumber = isset($jsonFile['OrderNumber']) ? $jsonFile['OrderNumber'] : '';
|
||||
$PickerNumber = isset($jsonFile['PickerNumber']) ? $jsonFile['PickerNumber'] : '';
|
||||
$PromDate = isset($jsonFile['PromDate']) ? $jsonFile['PromDate'] : '';
|
||||
$RouteCode = isset($jsonFile['RouteCode']) ? $jsonFile['RouteCode'] : '';
|
||||
$OrderCategory = isset($jsonFile['OrderCategory']) ? $jsonFile['OrderCategory'] : '';
|
||||
$ReleaseNumber = isset($jsonFile['ReleaseNumber']) ? $jsonFile['ReleaseNumber'] : '';
|
||||
$ShipmentNumber = isset($jsonFile['ShipmentNumber']) ? $jsonFile['ShipmentNumber'] : '';
|
||||
$Currency = isset($jsonFile['Currency']) ? $jsonFile['Currency'] : '';
|
||||
$CarrierCode = isset($jsonFile['CarrierCode']) ? $jsonFile['CarrierCode'] : '';
|
||||
$ShipmentPONumber = isset($jsonFile['ShipmentPONumber']) ? $jsonFile['ShipmentPONumber'] : ''; // CustPo
|
||||
$ShipTerms = isset($jsonFile['ShipTerms']) ? $jsonFile['ShipTerms'] : '';
|
||||
$OrderClass = isset($jsonFile['OrderClass']) ? $jsonFile['OrderClass'] : '';
|
||||
$GS1Label = isset($jsonFile['GS1-128Label']) ? $jsonFile['GS1-128Label'] : '0';
|
||||
$CurrencyExchangeRate = isset($jsonFile['CurrencyExchangeRate']) ? $jsonFile['CurrencyExchangeRate'] : '';
|
||||
$company = isset($jsonFile['Company']) ? $jsonFile['Company'] : '';
|
||||
$plant = isset($jsonFile['Plant']) ? $jsonFile['Plant'] : '';
|
||||
$warehouse = isset($jsonFile['Warehouse']) ? $jsonFile['Warehouse'] : '';
|
||||
$orderNumber = isset($jsonFile['OrderNumber']) ? $jsonFile['OrderNumber'] : '';
|
||||
$pickerNumber = isset($jsonFile['PickerNumber']) ? $jsonFile['PickerNumber'] : '';
|
||||
$promDate = isset($jsonFile['PromDate']) ? $jsonFile['PromDate'] : '';
|
||||
$routeCode = isset($jsonFile['RouteCode']) ? $jsonFile['RouteCode'] : '';
|
||||
$orderCategory = isset($jsonFile['OrderCategory']) ? $jsonFile['OrderCategory'] : '';
|
||||
$releaseNumber = isset($jsonFile['ReleaseNumber']) ? $jsonFile['ReleaseNumber'] : '';
|
||||
$shipmentNumber = isset($jsonFile['ShipmentNumber']) ? $jsonFile['ShipmentNumber'] : '';
|
||||
$currency = isset($jsonFile['Currency']) ? $jsonFile['Currency'] : '';
|
||||
$carrierCode = isset($jsonFile['CarrierCode']) ? $jsonFile['CarrierCode'] : '';
|
||||
$shipmentPONumber = isset($jsonFile['ShipmentPONumber']) ? $jsonFile['ShipmentPONumber'] : ''; // CustPo
|
||||
$shipTerms = isset($jsonFile['ShipTerms']) ? $jsonFile['ShipTerms'] : '';
|
||||
$orderClass = isset($jsonFile['OrderClass']) ? $jsonFile['OrderClass'] : '';
|
||||
$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
|
||||
if (($CarrierCode == '' || $CarrierCode == null) && $Warehouse == '111' && $Company == '410' && $Plant == '410') {
|
||||
$CarrierCode = 'BWAY';
|
||||
if (($carrierCode == '' || $carrierCode == null) && $warehouse == '111' && $company == '410' && $plant == '410') {
|
||||
$carrierCode = 'BWAY';
|
||||
}
|
||||
|
||||
$SHMACPKR = $PickerNumber != '' ? $PickerNumber : '000000';
|
||||
$sHMACPKR = $pickerNumber != '' ? $pickerNumber : '000000';
|
||||
|
||||
if ($jsonFile != '') {
|
||||
// Order Category
|
||||
@@ -174,74 +174,74 @@ class M3Controller extends Controller
|
||||
|
||||
// Recipient
|
||||
$recipient = $jsonFile['Recipient'];
|
||||
$CompanyName = isset($recipient['CompanyName']) ? $recipient['CompanyName'] : '';
|
||||
$Address1 = isset($recipient['Address1']) ? $recipient['Address1'] : '';
|
||||
$Address2 = isset($recipient['Address2']) ? $recipient['Address2'] : '';
|
||||
$City = isset($recipient['City']) ? $recipient['City'] : '';
|
||||
$State = isset($recipient['State']) ? $recipient['State'] : '';
|
||||
$PostalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
|
||||
$Country = isset($recipient['Country']) ? $recipient['Country'] : '';
|
||||
$PostalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
|
||||
$BillToId = isset($recipient['BillToId']) ? $recipient['BillToId'] : '';
|
||||
$ShipToId = isset($recipient['ShipToId']) ? $recipient['ShipToId'] : '';
|
||||
$Address3 = isset($recipient['Address3']) ? $recipient['Address3'] : '';
|
||||
$Address4 = isset($recipient['Address4']) ? $recipient['Address4'] : '';
|
||||
$CountryName = isset($recipient['CountryName']) ? $recipient['CountryName'] : '';
|
||||
$PersonName = isset($recipient['PersonName']) ? $recipient['PersonName'] : '';
|
||||
$AccountNo = isset($recipient['AccountNo']) ? $recipient['AccountNo'] : '';
|
||||
$Email = isset($recipient['Email']) ? $recipient['Email'] : '';
|
||||
$A1DATEADD = date('Ymd');
|
||||
$A1TIMEADD = date('His');
|
||||
$companyName = isset($recipient['CompanyName']) ? $recipient['CompanyName'] : '';
|
||||
$address1 = isset($recipient['Address1']) ? $recipient['Address1'] : '';
|
||||
$address2 = isset($recipient['Address2']) ? $recipient['Address2'] : '';
|
||||
$city = isset($recipient['City']) ? $recipient['City'] : '';
|
||||
$state = isset($recipient['State']) ? $recipient['State'] : '';
|
||||
$postalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
|
||||
$country = isset($recipient['Country']) ? $recipient['Country'] : '';
|
||||
$postalCode = isset($recipient['PostalCode']) ? $recipient['PostalCode'] : '';
|
||||
$billToId = isset($recipient['BillToId']) ? $recipient['BillToId'] : '';
|
||||
$shipToId = isset($recipient['ShipToId']) ? $recipient['ShipToId'] : '';
|
||||
$address3 = isset($recipient['Address3']) ? $recipient['Address3'] : '';
|
||||
$address4 = isset($recipient['Address4']) ? $recipient['Address4'] : '';
|
||||
$countryName = isset($recipient['CountryName']) ? $recipient['CountryName'] : '';
|
||||
$personName = isset($recipient['PersonName']) ? $recipient['PersonName'] : '';
|
||||
$accountNo = isset($recipient['AccountNo']) ? $recipient['AccountNo'] : '';
|
||||
$email = isset($recipient['Email']) ? $recipient['Email'] : '';
|
||||
$a1DATEADD = date('Ymd');
|
||||
$a1TIMEADD = date('His');
|
||||
|
||||
// MycarrierDetails
|
||||
$ShipVia = isset($jsonFile['ShipVia']) ? $jsonFile['ShipVia'] : '';
|
||||
$shipVia = isset($jsonFile['ShipVia']) ? $jsonFile['ShipVia'] : '';
|
||||
|
||||
// Comments
|
||||
$Picker = $Packer = $Carrier = $Other = '';
|
||||
$AXCO = $Company;
|
||||
$AXPLANT = $Plant;
|
||||
$AXWHS = $Warehouse;
|
||||
$AXDELNO = $PickerNumber;
|
||||
$AXONO = $OrderNumber;
|
||||
$AXRLNO = $ReleaseNumber;
|
||||
$AXSHNO = $ShipmentNumber;
|
||||
$picker = $packer = $carrier = $other = '';
|
||||
$aXCO = $company;
|
||||
$aXPLANT = $plant;
|
||||
$aXWHS = $warehouse;
|
||||
$aXDELNO = $pickerNumber;
|
||||
$aXONO = $orderNumber;
|
||||
$aXRLNO = $releaseNumber;
|
||||
$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];
|
||||
$commentData = ['AXCO' => $aXCO, 'AXPLANT' => $aXPLANT, 'AXWHS' => $aXWHS, 'AXDELNO' => $aXDELNO, 'AXONO' => $aXONO,
|
||||
'AXRLNO' => $aXRLNO, 'AXSHNO' => $aXSHNO, 'AXDOCUMENT' => $aXDOCUMENT];
|
||||
|
||||
switch ($AXDOCUMENT) {
|
||||
switch ($aXDOCUMENT) {
|
||||
case 'Picker':
|
||||
$Picker = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($Picker != 'null') {
|
||||
$this->insertToICM666M2($Picker, $commentData);
|
||||
$picker = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($picker != 'null') {
|
||||
$this->insertToICM666M2($picker, $commentData);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Packer':
|
||||
$Packer = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($Packer != 'null') {
|
||||
$this->insertToICM666M2($Packer, $commentData);
|
||||
$packer = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($packer != 'null') {
|
||||
$this->insertToICM666M2($packer, $commentData);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Carrier':
|
||||
$Carrier = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($Carrier != 'null') {
|
||||
$this->insertToICM666M2($Carrier, $commentData);
|
||||
$carrier = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($carrier != 'null') {
|
||||
$this->insertToICM666M2($carrier, $commentData);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'Other':
|
||||
$Other = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($Other != 'null') {
|
||||
$this->insertToICM666M2($Other, $commentData);
|
||||
$other = isset($comment) ? Helper::sanityzeString($comment) : 'null';
|
||||
if ($other != 'null') {
|
||||
$this->insertToICM666M2($other, $commentData);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -255,117 +255,117 @@ class M3Controller extends Controller
|
||||
$tmpProd = '';
|
||||
$products = $jsonFile['Contents']['Commodities'];
|
||||
foreach ($products as $key => $product) {
|
||||
$Quantity = isset($product['Quantity']) ? $product['Quantity'] : '';
|
||||
$Description = isset($product['Description']) ? Str::limit($product['Description'], 25, '') : '';
|
||||
$PartNumber = isset($product['PartNumber']) ? $product['PartNumber'] : '';
|
||||
$OrderLine = isset($product['OrderLine']) ? $product['OrderLine'] : '';
|
||||
$PartWeight = isset($product['PartWeight']) ? $product['PartWeight'] : '';
|
||||
$PickerLine = isset($product['PickerLine']) ? $product['PickerLine'] : '';
|
||||
$PrimaryLocation = isset($product['PrimaryLocation']) ? $product['PrimaryLocation'] : '';
|
||||
$Allocation = isset($product['Allocation']) ? $product['Allocation'] : '';
|
||||
$AllocatedTo = isset($product['AllocatedTo']) ? $product['AllocatedTo'] : '';
|
||||
$LocationSeq = isset($product['LocationSeq']) ? $product['LocationSeq'] : '';
|
||||
$Zone = isset($product['Zone']) ? $product['Zone'] : '';
|
||||
$BaseUnitPrice = isset($product['BaseUnitPrice']) ? $product['BaseUnitPrice'] : '';
|
||||
$FrgnUnitPrice = isset($product['FrgnUnitPrice']) ? $product['FrgnUnitPrice'] : '';
|
||||
$SellUOM = isset($product['SellUOM']) ? $product['SellUOM'] : '';
|
||||
$PartConv = isset($product['PartConv']) ? $product['PartConv'] : '';
|
||||
$UOM = isset($product['UOM']) ? $product['UOM'] : '';
|
||||
$HazMat = isset($product['HazMat']) ? $product['HazMat'] : '';
|
||||
$PartUPC = isset($product['PartUPC']) ? $product['PartUPC'] : '';
|
||||
$PartEAN = isset($product['PartEAN']) ? $product['PartEAN'] : '';
|
||||
$LotFlag = isset($product['LotFlag']) ? $product['LotFlag'] : '';
|
||||
$ManOrd = isset($product['ManOrd']) ? $product['ManOrd'] : '';
|
||||
$LotNumber = isset($product['LotNumber']) ? $product['LotNumber'] : '';
|
||||
$ProductArea = isset($product['ProductArea']) ? $product['ProductArea'] : '';
|
||||
$FreightClass = isset($product['FreightClass']) ? $product['FreightClass'] : '';
|
||||
$ShipmentPOLine = isset($product['ShipmentPOLine']) ? $product['ShipmentPOLine'] : '';
|
||||
$LocationType = isset($product['LocationType']) ? $product['LocationType'] : '';
|
||||
$PallSize = isset($product['PallSize']) ? $product['PallSize'] : '';
|
||||
$MasterCarton = isset($product['MasterCarton']) ? $product['MasterCarton'] : '';
|
||||
$MasterQty = isset($product['MasterQty']) ? $product['MasterQty'] : '';
|
||||
$InnerQty = isset($product['InnerQty']) ? $product['InnerQty'] : '';
|
||||
$PalletQty = isset($product['PalletQty']) ? $product['PalletQty'] : '';
|
||||
$CartonQty = isset($product['CartonQty']) ? $product['CartonQty'] : '';
|
||||
$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
|
||||
$quantity = isset($product['Quantity']) ? $product['Quantity'] : '';
|
||||
$description = isset($product['Description']) ? Str::limit($product['Description'], 25, '') : '';
|
||||
$partNumber = isset($product['PartNumber']) ? $product['PartNumber'] : '';
|
||||
$orderLine = isset($product['OrderLine']) ? $product['OrderLine'] : '';
|
||||
$partWeight = isset($product['PartWeight']) ? $product['PartWeight'] : '';
|
||||
$pickerLine = isset($product['PickerLine']) ? $product['PickerLine'] : '';
|
||||
$primaryLocation = isset($product['PrimaryLocation']) ? $product['PrimaryLocation'] : '';
|
||||
$allocation = isset($product['Allocation']) ? $product['Allocation'] : '';
|
||||
$allocatedTo = isset($product['AllocatedTo']) ? $product['AllocatedTo'] : '';
|
||||
$locationSeq = isset($product['LocationSeq']) ? $product['LocationSeq'] : '';
|
||||
$zone = isset($product['Zone']) ? $product['Zone'] : '';
|
||||
$baseUnitPrice = isset($product['BaseUnitPrice']) ? $product['BaseUnitPrice'] : '';
|
||||
$frgnUnitPrice = isset($product['FrgnUnitPrice']) ? $product['FrgnUnitPrice'] : '';
|
||||
$sellUOM = isset($product['SellUOM']) ? $product['SellUOM'] : '';
|
||||
$partConv = isset($product['PartConv']) ? $product['PartConv'] : '';
|
||||
$uOM = isset($product['UOM']) ? $product['UOM'] : '';
|
||||
$hazMat = isset($product['HazMat']) ? $product['HazMat'] : '';
|
||||
$partUPC = isset($product['PartUPC']) ? $product['PartUPC'] : '';
|
||||
$partEAN = isset($product['PartEAN']) ? $product['PartEAN'] : '';
|
||||
$lotFlag = isset($product['LotFlag']) ? $product['LotFlag'] : '';
|
||||
$manOrd = isset($product['ManOrd']) ? $product['ManOrd'] : '';
|
||||
$lotNumber = isset($product['LotNumber']) ? $product['LotNumber'] : '';
|
||||
$productArea = isset($product['ProductArea']) ? $product['ProductArea'] : '';
|
||||
$freightClass = isset($product['FreightClass']) ? $product['FreightClass'] : '';
|
||||
$shipmentPOLine = isset($product['ShipmentPOLine']) ? $product['ShipmentPOLine'] : '';
|
||||
$locationType = isset($product['LocationType']) ? $product['LocationType'] : '';
|
||||
$pallSize = isset($product['PallSize']) ? $product['PallSize'] : '';
|
||||
$masterCarton = isset($product['MasterCarton']) ? $product['MasterCarton'] : '';
|
||||
$masterQty = isset($product['MasterQty']) ? $product['MasterQty'] : '';
|
||||
$innerQty = isset($product['InnerQty']) ? $product['InnerQty'] : '';
|
||||
$sonar_pallet_qty = isset($product['PalletQty']) ? $product['PalletQty'] : '';
|
||||
$cartonQty = isset($product['CartonQty']) ? $product['CartonQty'] : '';
|
||||
$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,
|
||||
'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,
|
||||
'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,
|
||||
'OrderClass' => $orderClass,
|
||||
'LocationType' => $locationType,
|
||||
'PallSize' => $pallSize,
|
||||
'MasterCarton' => $masterCarton,
|
||||
'MasterQty' => $masterQty,
|
||||
'InnerQty' => $innerQty,
|
||||
'PalletQty' => $sonar_pallet_qty,
|
||||
'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) {
|
||||
foreach ($iCM666MFields as $key => $value) {
|
||||
// Sanitize String
|
||||
$fieldValue = Helper::sanityzeString($fieldValues[$key] ?? '');
|
||||
// Check Var Types & Length
|
||||
@@ -383,44 +383,44 @@ class M3Controller extends Controller
|
||||
}
|
||||
|
||||
// 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',
|
||||
'SHDATA' => json_encode($message) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json($message);
|
||||
} elseif ($fieldValue != '') {
|
||||
$InsertArray[$value[0]] = $fieldValue;
|
||||
$insertArray[$value[0]] = $fieldValue;
|
||||
}
|
||||
}
|
||||
|
||||
// Check ICM709M
|
||||
$ICM709MSEL = DB::connection(config('m3.connection', 'pgsql'))->table('icm709m')
|
||||
$iCM709MSEL = DB::connection(config('m3.connection', 'pgsql'))->table('icm709m')
|
||||
->select()
|
||||
->where('AT9CO', $AXCO)
|
||||
->where('AT9PLT', $AXPLANT)
|
||||
->where('AT9WHS', $AXWHS)
|
||||
->where('AT9PART', $PartNumber)
|
||||
->where('AT9CO', $aXCO)
|
||||
->where('AT9PLT', $aXPLANT)
|
||||
->where('AT9WHS', $aXWHS)
|
||||
->where('AT9PART', $partNumber)
|
||||
->first();
|
||||
$palletQty = isset($ICM709MSEL->AT9QTY) ? $ICM709MSEL->AT9QTY : 0;
|
||||
$palletQty = isset($iCM709MSEL->AT9QTY) ? $iCM709MSEL->AT9QTY : 0;
|
||||
// dd($palletQty);
|
||||
// Get Pallet Qty
|
||||
$InsertArray['A1USRN01'] = $palletQty;
|
||||
$insertArray['A1USRN01'] = $palletQty;
|
||||
|
||||
// Hazard Material
|
||||
$HazMat = isset($ICM709MSEL->AT9WRN) ? $ICM709MSEL->AT9WRN : '';
|
||||
$InsertArray['A1MATWRN'] = $HazMat;
|
||||
$hazMat = isset($iCM709MSEL->AT9WRN) ? $iCM709MSEL->AT9WRN : '';
|
||||
$insertArray['A1MATWRN'] = $hazMat;
|
||||
|
||||
// $InsertArray['A1USRN01']=$palletQty;
|
||||
// $insertArray['A1USRN01']=$palletQty;
|
||||
// }
|
||||
|
||||
// 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
|
||||
if ($Warehouse != '' && $PickerNumber != '' && $Company != '') {
|
||||
$PGMERRORS = '';
|
||||
$AWREQN = '';
|
||||
if ($warehouse != '' && $pickerNumber != '' && $company != '') {
|
||||
$pGMERRORS = '';
|
||||
$aWREQN = '';
|
||||
|
||||
// connect to toolkit using DB2 credentials (can also leave blank for default authority)
|
||||
try {
|
||||
@@ -435,13 +435,13 @@ class M3Controller extends Controller
|
||||
case 8001:
|
||||
// "Authorization failure on distributed database connection attempt"
|
||||
// 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;
|
||||
case 42705:
|
||||
$PGMERRORS = 'Database not found. Try WRKRDBDIRE to check.';
|
||||
$pGMERRORS = 'Database not found. Try WRKRDBDIRE to check.';
|
||||
break;
|
||||
default:
|
||||
$PGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg;
|
||||
$pGMERRORS = 'Could not connect. Error: ' . $code . ' ' . $msg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -455,14 +455,14 @@ class M3Controller extends Controller
|
||||
|
||||
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
|
||||
// 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)
|
||||
// Add Delivery Note Param
|
||||
$PickerNumberNoZero = ltrim(strval($PickerNumber), '0');
|
||||
$params[] = $conn->AddParameterChar('in', 11, 'PickerNumber', '', $PickerNumberNoZero);
|
||||
$pickerNumberNoZero = ltrim(strval($pickerNumber), '0');
|
||||
$params[] = $conn->AddParameterChar('in', 11, 'PickerNumber', '', $pickerNumberNoZero);
|
||||
|
||||
// Start Time Tracking
|
||||
$start = microtime(true);
|
||||
@@ -471,20 +471,20 @@ class M3Controller extends Controller
|
||||
$result = $conn->PgmCall('ICM700CSBM', env('OBJLIB'), $params, [], []);
|
||||
|
||||
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
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
}
|
||||
}
|
||||
|
||||
// Write to Logs Out : Success
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
@@ -494,10 +494,10 @@ 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';
|
||||
$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];
|
||||
$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([
|
||||
@@ -508,8 +508,8 @@ class M3Controller extends Controller
|
||||
}
|
||||
} catch (\Throwable $th) {
|
||||
// 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',
|
||||
'SHDATA' => 'General Catchable Error - ' . substr($th, 0, 300) . self::M3_LIST_SUFFIX . json_encode($jsonFile), 'SHUSER' => $REQKPKUS, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $Company, 'SHWHS' => $Warehouse];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
|
||||
@@ -15,6 +15,7 @@ use Str;
|
||||
class ReplenAPI extends Controller
|
||||
{
|
||||
private const ZERO_PAD = '000000';
|
||||
|
||||
private const JSON_CONTENT_TYPE = 'application/json';
|
||||
|
||||
// M3Replenishement with URL Params
|
||||
@@ -27,53 +28,53 @@ class ReplenAPI extends Controller
|
||||
// dd($request->all());
|
||||
// Log::info( $request->all() );
|
||||
// Get The Calling User
|
||||
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
$MACPKR = isset($MACPKR) ? $MACPKR : self::ZERO_PAD;
|
||||
$SHSOURCE = 'M3InventoryReportReplen';
|
||||
$M3Errors = '';
|
||||
$sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
$mACPKR = isset($mACPKR) ? $mACPKR : self::ZERO_PAD;
|
||||
$sHSOURCE = 'M3InventoryReportReplen';
|
||||
$m3Errors = '';
|
||||
|
||||
try {
|
||||
// Get Json Contents
|
||||
$urlParams = count($request->all()) > 0 ? $request->all() : '';
|
||||
|
||||
$CO = isset($urlParams['CO']) ? $urlParams['CO'] : '';
|
||||
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
$PARTNO = isset($urlParams['PARTNO']) ? $urlParams['PARTNO'] : '';
|
||||
$PKLN = isset($urlParams['PKLN']) ? $urlParams['PKLN'] : '';
|
||||
$REQPKWS = isset($urlParams['REQPKWS']) ? $urlParams['REQPKWS'] : '';
|
||||
$REQKPKUS = isset($urlParams['REQKPKUS']) ? $urlParams['REQKPKUS'] : 'WebUser';
|
||||
$cO = isset($urlParams['CO']) ? $urlParams['CO'] : '';
|
||||
$wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
$pARTNO = isset($urlParams['PARTNO']) ? $urlParams['PARTNO'] : '';
|
||||
$pKLN = isset($urlParams['PKLN']) ? $urlParams['PKLN'] : '';
|
||||
$rEQPKWS = isset($urlParams['REQPKWS']) ? $urlParams['REQPKWS'] : '';
|
||||
$rEQKPKUS = isset($urlParams['REQKPKUS']) ? $urlParams['REQKPKUS'] : 'WebUser';
|
||||
|
||||
if ($urlParams != '') {
|
||||
$IncomingParams = ['CO' => $CO, 'WHS' => $WHS, 'PARTNO' => $PARTNO, 'PKLN' => $PKLN, 'REQPKWS' => $REQPKWS, 'REQKPKUS' => $REQKPKUS];
|
||||
$IncomingParams = json_encode($IncomingParams);
|
||||
$incomingParams = ['CO' => $cO, 'WHS' => $wHS, 'PARTNO' => $pARTNO, 'PKLN' => $pKLN, 'REQPKWS' => $rEQPKWS, 'REQKPKUS' => $rEQKPKUS];
|
||||
$incomingParams = json_encode($incomingParams);
|
||||
|
||||
// Write to Logs : Params In
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
$PART = explode(',', $PARTNO);
|
||||
foreach ($PART as $key => $value) {
|
||||
$PARTS[] = ['PART' => $value, 'LOT' => ''];
|
||||
$pART = explode(',', $pARTNO);
|
||||
foreach ($pART as $key => $value) {
|
||||
$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
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
// Get Token
|
||||
$tokenResponse = Helper::checkReceiveTokenV2();
|
||||
$tokenData = $tokenResponse->getData();
|
||||
if ($tokenData->code == '200') {
|
||||
$IonToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
$ionToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
} else {
|
||||
$SHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
$sHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
// Write to Logs : Error
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return $tokenResponse;
|
||||
@@ -81,39 +82,39 @@ class ReplenAPI extends Controller
|
||||
|
||||
// Call ionapi with Params
|
||||
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/M3InventoryReportList?ionapiRespStyle=sync';
|
||||
$token = $IonToken;
|
||||
$token = $ionToken;
|
||||
|
||||
$response = Http::withHeaders([
|
||||
'accept' => self::JSON_CONTENT_TYPE,
|
||||
'Content-Type' => self::JSON_CONTENT_TYPE,
|
||||
])
|
||||
'accept' => self::JSON_CONTENT_TYPE,
|
||||
'Content-Type' => self::JSON_CONTENT_TYPE,
|
||||
])
|
||||
->withToken($token)
|
||||
->withBody($JSON, self::JSON_CONTENT_TYPE)
|
||||
->withBody($jSON, self::JSON_CONTENT_TYPE)
|
||||
->timeout(Config::get('arrays.curlTimeOut'))
|
||||
->retry(3, 100)
|
||||
->post($endPointURL);
|
||||
|
||||
$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') {
|
||||
// Check M3 Response for Errors
|
||||
$M3Errors = '';
|
||||
$m3Errors = '';
|
||||
$responseJSON = $response->getBody()->getContents();
|
||||
$JsonSanytized = Helper::sanityzeString($responseJSON);
|
||||
$jsonSanytized = Helper::sanityzeString($responseJSON);
|
||||
// Array
|
||||
$responseArray = json_decode($JsonSanytized, true);
|
||||
$responseArray = json_decode($jsonSanytized, true);
|
||||
$responseTMP = $responseArray['result'];
|
||||
} else {
|
||||
$M3Errors = 'Error: No Response from M3';
|
||||
$m3Errors = 'Error: No Response from M3';
|
||||
}
|
||||
|
||||
// Validate response From M3
|
||||
if ($M3Errors != '') {
|
||||
if ($m3Errors != '') {
|
||||
// Write to Logs : Error
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
// Send Response
|
||||
@@ -124,8 +125,8 @@ class ReplenAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs : JSON
|
||||
$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];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
}
|
||||
|
||||
@@ -146,70 +147,70 @@ class ReplenAPI extends Controller
|
||||
|
||||
// Delete Old Records from IC630M
|
||||
foreach ($dataToWrite2 as $key => $value) {
|
||||
$ICM630MDeleteSQL = DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')
|
||||
->where('LLCO', $CO)
|
||||
->where('LLWHNO', $WHS)
|
||||
$iCM630MDeleteSQL = DB::connection(config('m3.connection', 'pgsql'))->table('ic630m')
|
||||
->where('LLCO', $cO)
|
||||
->where('LLWHNO', $wHS)
|
||||
->where('LLPPN', trim($value['PartNumber']))
|
||||
->delete();
|
||||
}
|
||||
|
||||
foreach ($dataToWrite2 as $key => $value) {
|
||||
// Check if Location exist in DE640M $value['Location']
|
||||
$DE640MSQLSEL = DB::connection(config('m3.connection', 'pgsql'))->table('de640m')
|
||||
->where('LVCO', $CO)
|
||||
$dE640MSQLSEL = DB::connection(config('m3.connection', 'pgsql'))->table('de640m')
|
||||
->where('LVCO', $cO)
|
||||
->where('WSELOC', $value['Warehouse'])
|
||||
->where('VLOCID', $value['Location'])
|
||||
->first();
|
||||
|
||||
$LocationExist = isset($DE640MSQLSEL->VLOCID) ? trim($DE640MSQLSEL->VLOCID) : '';
|
||||
$WHExist = isset($DE640MSQLSEL->WSELOC) ? trim($DE640MSQLSEL->WSELOC) : '';
|
||||
$COExist = isset($DE640MSQLSEL->LVCO) ? trim($DE640MSQLSEL->LVCO) : '';
|
||||
$locationExist = isset($dE640MSQLSEL->VLOCID) ? trim($dE640MSQLSEL->VLOCID) : '';
|
||||
$wHExist = isset($dE640MSQLSEL->WSELOC) ? trim($dE640MSQLSEL->WSELOC) : '';
|
||||
$cOExist = isset($dE640MSQLSEL->LVCO) ? trim($dE640MSQLSEL->LVCO) : '';
|
||||
|
||||
// if No records Founds insert New Record
|
||||
if ($LocationExist == '' && $WHExist == '' && $COExist == '') {
|
||||
$SQLInsertPrep640M['LVCO'] = $CO; // Company
|
||||
$SQLInsertPrep640M['WSELOC'] = $value['Warehouse'];
|
||||
// $SQLInsertPrep640M['LVUSD3'] = $value['']; // Pallet Size : Not Found in M3 JSON
|
||||
$SQLInsertPrep640M['VLOCID'] = $value['Location']; // Stock location
|
||||
$SQLInsertPrep640M['LVSEQN'] = $value['LocationSeq'];
|
||||
$SQLInsertPrep640M['LVUSD2'] = $value['LocationType'];
|
||||
$SQLInsertPrep640M['LVZONE'] = $value['Zone']; // Warehouse zone
|
||||
$SQLInsertPrep640M['LVMAINTTS'] = now(); // Last maintained time stamp
|
||||
if ($locationExist == '' && $wHExist == '' && $cOExist == '') {
|
||||
$sQLInsertPrep640M['LVCO'] = $cO; // Company
|
||||
$sQLInsertPrep640M['WSELOC'] = $value['Warehouse'];
|
||||
// $sQLInsertPrep640M['LVUSD3'] = $value['']; // Pallet Size : Not Found in M3 JSON
|
||||
$sQLInsertPrep640M['VLOCID'] = $value['Location']; // Stock location
|
||||
$sQLInsertPrep640M['LVSEQN'] = $value['LocationSeq'];
|
||||
$sQLInsertPrep640M['LVUSD2'] = $value['LocationType'];
|
||||
$sQLInsertPrep640M['LVZONE'] = $value['Zone']; // Warehouse zone
|
||||
$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
|
||||
else {
|
||||
$SQLUpdatePrep640M['LVSEQN'] = $value['LocationSeq'];
|
||||
$SQLUpdatePrep640M['LVUSD2'] = $value['LocationType'];
|
||||
$SQLUpdatePrep640M['LVZONE'] = $value['Zone'];
|
||||
$SQLUpdatePrep640M['LVMAINTTS'] = now();
|
||||
$sQLUpdatePrep640M['LVSEQN'] = $value['LocationSeq'];
|
||||
$sQLUpdatePrep640M['LVUSD2'] = $value['LocationType'];
|
||||
$sQLUpdatePrep640M['LVZONE'] = $value['Zone'];
|
||||
$sQLUpdatePrep640M['LVMAINTTS'] = now();
|
||||
|
||||
DB::connection(config('m3.connection', 'pgsql'))->table('de640m')
|
||||
->where('LVCO', $CO)
|
||||
->where('LVCO', $cO)
|
||||
->where('WSELOC', $value['Warehouse'])
|
||||
->where('VLOCID', $value['Location'])
|
||||
->update($SQLUpdatePrep640M);
|
||||
->update($sQLUpdatePrep640M);
|
||||
}
|
||||
|
||||
// Insert New Records to IC630M
|
||||
$SQLInsertPrep630M = [];
|
||||
$SQLInsertPrep630M['LLCO'] = $CO; // Company
|
||||
$SQLInsertPrep630M['LLWHNO'] = $value['Warehouse']; // Warehouse
|
||||
$SQLInsertPrep630M['LLPPN'] = $value['PartNumber']; // Part Number
|
||||
$SQLInsertPrep630M['LLBALANCE'] = $value['Quantity']; // Quantity
|
||||
$SQLInsertPrep630M['LLSTLC'] = $value['Location']; // Stock location
|
||||
$SQLInsertPrep630M['LLLTNO'] = $value['LotNumber']; // Lot Number
|
||||
$SQLInsertPrep630M['LLMAINTTS'] = now(); // Request time timestamp
|
||||
$SQLInsertPrep630M['LLIZLCF'] = trim($value['LotNumber']) != '' ? '1' : ''; // Lot control flag
|
||||
$SQLInsertPrep630M['LLSPR10A01'] = $value['Allocation']; // Allocation
|
||||
$SQLInsertPrep630M['LLSPR15A01'] = $value['AllocatedTo']; // AllocatedTo
|
||||
$sQLInsertPrep630M = [];
|
||||
$sQLInsertPrep630M['LLCO'] = $cO; // Company
|
||||
$sQLInsertPrep630M['LLWHNO'] = $value['Warehouse']; // Warehouse
|
||||
$sQLInsertPrep630M['LLPPN'] = $value['PartNumber']; // Part Number
|
||||
$sQLInsertPrep630M['LLBALANCE'] = $value['Quantity']; // Quantity
|
||||
$sQLInsertPrep630M['LLSTLC'] = $value['Location']; // Stock location
|
||||
$sQLInsertPrep630M['LLLTNO'] = $value['LotNumber']; // Lot Number
|
||||
$sQLInsertPrep630M['LLMAINTTS'] = now(); // Request time timestamp
|
||||
$sQLInsertPrep630M['LLIZLCF'] = trim($value['LotNumber']) != '' ? '1' : ''; // Lot control flag
|
||||
$sQLInsertPrep630M['LLSPR10A01'] = $value['Allocation']; // Allocation
|
||||
$sQLInsertPrep630M['LLSPR15A01'] = $value['AllocatedTo']; // AllocatedTo
|
||||
|
||||
$DescSanytized = Helper::sanityzeString($value['Description']);
|
||||
// $DescSanytized = str_replace(['–','\u20131'], '-',$value['Description']);
|
||||
$SQLInsertPrep630M['LLCMDESC'] = $DescSanytized; // Description
|
||||
$descSanytized = Helper::sanityzeString($value['Description']);
|
||||
// $descSanytized = str_replace(['–','\u20131'], '-',$value['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
|
||||
@@ -219,9 +220,9 @@ class ReplenAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs Out : Error
|
||||
$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',
|
||||
'SHDATA' => 'No URL Parameters Sent', 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS];
|
||||
$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',
|
||||
'SHDATA' => 'No URL Parameters Sent', 'SHUSER' => $sHUSER, 'SHSOURCE' => $sHSOURCE, 'SHCO' => $cO, 'SHWHS' => $wHS];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
// Return Error
|
||||
@@ -233,14 +234,14 @@ class ReplenAPI extends Controller
|
||||
}
|
||||
} catch (\Throwable $th) {
|
||||
// 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');
|
||||
if ($getCurlErrors) {
|
||||
// dd($getCurlErrors);
|
||||
// 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',
|
||||
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $IncomingParams, 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
@@ -251,16 +252,16 @@ class ReplenAPI extends Controller
|
||||
} else {
|
||||
// Set SHERROR To Z if Duplicate Key Detected $th
|
||||
// Read The substring from SHDATA after M3-JSN-out
|
||||
$SHERROR = 'X';
|
||||
$sHERROR = 'X';
|
||||
$word = 'Duplicate key value specified';
|
||||
$position = strpos($th, $word);
|
||||
|
||||
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',
|
||||
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300), 'SHUSER' => $SHUSER, 'SHSOURCE' => $SHSOURCE, 'SHCO' => $CO, 'SHWHS' => $WHS];
|
||||
$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];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
|
||||
@@ -16,8 +16,11 @@ use Str;
|
||||
class TransferAPI extends Controller
|
||||
{
|
||||
private const ZERO_PAD = '000000';
|
||||
|
||||
private const JSON_CONTENT_TYPE = 'application/json';
|
||||
|
||||
private const ORDER_CATEGORY_LABEL = ' Order Category: ';
|
||||
|
||||
private const NO_URL_PARAMETERS = 'No URL Parameters Sent';
|
||||
|
||||
// TransferAPIURL : with URL PARAMS
|
||||
@@ -28,31 +31,31 @@ class TransferAPI extends Controller
|
||||
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
|
||||
|
||||
// Get the Calling User
|
||||
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
$sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
// Set SHSOURCE
|
||||
$SHSOURCE = 'TransferAPIURL';
|
||||
$M3Errors = '';
|
||||
$sHSOURCE = 'TransferAPIURL';
|
||||
$m3Errors = '';
|
||||
|
||||
// Get URL PARAMS
|
||||
$urlParams = count($request->all()) > 0 ? $request->all() : '';
|
||||
$DIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
|
||||
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
$dIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
|
||||
$wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
|
||||
try {
|
||||
if ($urlParams != '') {
|
||||
$PART = isset($urlParams['PART']) ? $urlParams['PART'] : '';
|
||||
$LOCATIONFROM = isset($urlParams['LOCATIONFROM']) ? $urlParams['LOCATIONFROM'] : '';
|
||||
$LOCATIONTO = isset($urlParams['LOCATIONTO']) ? $urlParams['LOCATIONTO'] : '';
|
||||
$QUANTITY = isset($urlParams['QUANTITY']) ? $urlParams['QUANTITY'] : '';
|
||||
$ORDERCATEGORY = isset($urlParams['ORDERCATEGORY']) ? $urlParams['ORDERCATEGORY'] : '';
|
||||
$LOTNUMBER = isset($urlParams['LOTNUMBER']) ? $urlParams['LOTNUMBER'] : '';
|
||||
$CONUMBER = isset($urlParams['CONUMBER']) ? $urlParams['CONUMBER'] : '';
|
||||
$COLINENO = isset($urlParams['COLINENO']) ? $urlParams['COLINENO'] : '';
|
||||
$DELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : self::ZERO_PAD;
|
||||
$PICKLISTSUFFIX = isset($urlParams['PICKLISTSUFFIX']) ? $urlParams['PICKLISTSUFFIX'] : '';
|
||||
$ENDFLAG = isset($urlParams['ENDFLAG']) ? $urlParams['ENDFLAG'] : '';
|
||||
$TYPE = isset($urlParams['TYPE']) ? $urlParams['TYPE'] : '';
|
||||
$COLINESUFFIX = isset($urlParams['COLINESUFFIX']) ? $urlParams['COLINESUFFIX'] : '';
|
||||
$pART = isset($urlParams['PART']) ? $urlParams['PART'] : '';
|
||||
$lOCATIONFROM = isset($urlParams['LOCATIONFROM']) ? $urlParams['LOCATIONFROM'] : '';
|
||||
$lOCATIONTO = isset($urlParams['LOCATIONTO']) ? $urlParams['LOCATIONTO'] : '';
|
||||
$qUANTITY = isset($urlParams['QUANTITY']) ? $urlParams['QUANTITY'] : '';
|
||||
$oRDERCATEGORY = isset($urlParams['ORDERCATEGORY']) ? $urlParams['ORDERCATEGORY'] : '';
|
||||
$lOTNUMBER = isset($urlParams['LOTNUMBER']) ? $urlParams['LOTNUMBER'] : '';
|
||||
$cONUMBER = isset($urlParams['CONUMBER']) ? $urlParams['CONUMBER'] : '';
|
||||
$cOLINENO = isset($urlParams['COLINENO']) ? $urlParams['COLINENO'] : '';
|
||||
$dELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : self::ZERO_PAD;
|
||||
$pICKLISTSUFFIX = isset($urlParams['PICKLISTSUFFIX']) ? $urlParams['PICKLISTSUFFIX'] : '';
|
||||
$eNDFLAG = isset($urlParams['ENDFLAG']) ? $urlParams['ENDFLAG'] : '';
|
||||
$tYPE = isset($urlParams['TYPE']) ? $urlParams['TYPE'] : '';
|
||||
$cOLINESUFFIX = isset($urlParams['COLINESUFFIX']) ? $urlParams['COLINESUFFIX'] : '';
|
||||
|
||||
// TYPE :
|
||||
// DeliveryNote
|
||||
@@ -69,157 +72,157 @@ class TransferAPI extends Controller
|
||||
// 5 = Distribution 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
|
||||
$SHDT = isset($urlParams['SHDT']) ? $urlParams['SHDT'] : '';
|
||||
$SHTIME = isset($urlParams['SHTIME']) ? $urlParams['SHTIME'] : '';
|
||||
$SHTYPE = isset($urlParams['SHTYPE']) ? $urlParams['SHTYPE'] : '';
|
||||
$tRANSTYPE = isset($urlParams['TRANSTYPE']) ? $urlParams['TRANSTYPE'] : ''; // R for Retry
|
||||
$sHDT = isset($urlParams['SHDT']) ? $urlParams['SHDT'] : '';
|
||||
$sHTIME = isset($urlParams['SHTIME']) ? $urlParams['SHTIME'] : '';
|
||||
$sHTYPE = isset($urlParams['SHTYPE']) ? $urlParams['SHTYPE'] : '';
|
||||
|
||||
// Retry Transfer
|
||||
if ($TRANSTYPE == 'R') {
|
||||
// $t = strtotime($SHTIME);
|
||||
if ($tRANSTYPE == 'R') {
|
||||
// $t = strtotime($sHTIME);
|
||||
// $SHTIMEHM = date('H:i',$t);
|
||||
// dd($SHTIMEHM);
|
||||
// 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')
|
||||
->where('SHMACPKR', $DELIVERYNO)
|
||||
->where('SHDT', $SHDT)
|
||||
->where('SHTIME', $SHTIME)
|
||||
->where('SHMACPKR', $dELIVERYNO)
|
||||
->where('SHDT', $sHDT)
|
||||
->where('SHTIME', $sHTIME)
|
||||
// ->whereRaw("VARCHAR_FORMAT (TIMESTAMP (CURRENT DATE) + MIDNIGHT_SECONDS (SHTIME) SECONDS, 'HH24:MI') = ?", [$SHTIMEHM])
|
||||
->where('SHCO', $DIVI)
|
||||
->where('SHWHS', $WHS)
|
||||
->where('SHSOURCE', $SHSOURCE)
|
||||
->where('SHCO', $dIVI)
|
||||
->where('SHWHS', $wHS)
|
||||
->where('SHSOURCE', $sHSOURCE)
|
||||
->where('SHERROR', 'X')
|
||||
->where('SHTYPE', $SHTYPE)
|
||||
->where('SHTYPE', $sHTYPE)
|
||||
->first();
|
||||
|
||||
// Read The substring from SHDATA after M3-JSN-out
|
||||
$word = 'M3-JSN-out';
|
||||
$SHDATA = isset($ICM699MS->SHDATA) ? $ICM699MS->SHDATA : '';
|
||||
$SHDATAJSON = '';
|
||||
$position = strpos($SHDATA, $word);
|
||||
$sHDATA = isset($iCM699MS->SHDATA) ? $iCM699MS->SHDATA : '';
|
||||
$sHDATAJSON = '';
|
||||
$position = strpos($sHDATA, $word);
|
||||
// Also Read CommTCP_read
|
||||
$word2 = 'url:http://127.0.0.1:10005/api/TransferAPIURL?';
|
||||
$SHDATA2 = isset($ICM699MS->SHDATA) ? $ICM699MS->SHDATA : '';
|
||||
$position2 = strpos($SHDATA2, $word2);
|
||||
$sHDATA2 = isset($iCM699MS->SHDATA) ? $iCM699MS->SHDATA : '';
|
||||
$position2 = strpos($sHDATA2, $word2);
|
||||
|
||||
if ($position !== false) {
|
||||
$SHDATAJSON = substr($SHDATA, $position + strlen($word));
|
||||
$sHDATAJSON = substr($sHDATA, $position + strlen($word));
|
||||
} elseif ($position2 !== false) {
|
||||
$SHDATAJSONS = substr($SHDATA2, $position2 + strlen($word2));
|
||||
$SHDATAJSONA = [];
|
||||
parse_str($SHDATAJSONS, $SHDATAJSONA);
|
||||
$SHDATAJSON = json_encode($SHDATAJSONA);
|
||||
$sHDATAJSONS = substr($sHDATA2, $position2 + strlen($word2));
|
||||
$sHDATAJSONA = [];
|
||||
parse_str($sHDATAJSONS, $sHDATAJSONA);
|
||||
$sHDATAJSON = json_encode($sHDATAJSONA);
|
||||
}
|
||||
// Find the position of the opening and closing curly braces
|
||||
$startPos = strpos($SHDATAJSON, '{');
|
||||
$endPos = strrpos($SHDATAJSON, '}');
|
||||
$startPos = strpos($sHDATAJSON, '{');
|
||||
$endPos = strrpos($sHDATAJSON, '}');
|
||||
// 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 != '') {
|
||||
$PART = isset($JSONTR->PART) ? $JSONTR->PART : '';
|
||||
$LOCATIONFROM = isset($JSONTR->LOCATIONFROM) ? $JSONTR->LOCATIONFROM : '';
|
||||
$LOCATIONTO = isset($JSONTR->LOCATIONTO) ? $JSONTR->LOCATIONTO : '';
|
||||
$QUANTITY = isset($JSONTR->QUANTITY) ? $JSONTR->QUANTITY : '';
|
||||
$ORDERCATEGORY = isset($JSONTR->ORDERCATEGORY) ? $JSONTR->ORDERCATEGORY : '';
|
||||
$LOTNUMBER = isset($JSONTR->LOTNUMBER) ? $JSONTR->LOTNUMBER : '';
|
||||
$CONUMBER = isset($JSONTR->CONUMBER) ? $JSONTR->CONUMBER : '';
|
||||
$COLINENO = isset($JSONTR->COLINENO) ? $JSONTR->COLINENO : '';
|
||||
$DELIVERYNO = isset($JSONTR->DELIVERYNO) ? $JSONTR->DELIVERYNO : self::ZERO_PAD;
|
||||
$PICKLISTSUFFIX = isset($JSONTR->PICKLISTSUFFIX) ? $JSONTR->PICKLISTSUFFIX : '';
|
||||
$ENDFLAG = isset($JSONTR->ENDFLAG) ? $JSONTR->ENDFLAG : '';
|
||||
$TYPE = isset($JSONTR->TYPE) ? $JSONTR->TYPE : '';
|
||||
$COLINESUFFIX = isset($JSONTR->COLINESUFFIX) ? $JSONTR->COLINESUFFIX : '';
|
||||
if ($jSONTR != '') {
|
||||
$pART = isset($jSONTR->PART) ? $jSONTR->PART : '';
|
||||
$lOCATIONFROM = isset($jSONTR->LOCATIONFROM) ? $jSONTR->LOCATIONFROM : '';
|
||||
$lOCATIONTO = isset($jSONTR->LOCATIONTO) ? $jSONTR->LOCATIONTO : '';
|
||||
$qUANTITY = isset($jSONTR->QUANTITY) ? $jSONTR->QUANTITY : '';
|
||||
$oRDERCATEGORY = isset($jSONTR->ORDERCATEGORY) ? $jSONTR->ORDERCATEGORY : '';
|
||||
$lOTNUMBER = isset($jSONTR->LOTNUMBER) ? $jSONTR->LOTNUMBER : '';
|
||||
$cONUMBER = isset($jSONTR->CONUMBER) ? $jSONTR->CONUMBER : '';
|
||||
$cOLINENO = isset($jSONTR->COLINENO) ? $jSONTR->COLINENO : '';
|
||||
$dELIVERYNO = isset($jSONTR->DELIVERYNO) ? $jSONTR->DELIVERYNO : self::ZERO_PAD;
|
||||
$pICKLISTSUFFIX = isset($jSONTR->PICKLISTSUFFIX) ? $jSONTR->PICKLISTSUFFIX : '';
|
||||
$eNDFLAG = isset($jSONTR->ENDFLAG) ? $jSONTR->ENDFLAG : '';
|
||||
$tYPE = isset($jSONTR->TYPE) ? $jSONTR->TYPE : '';
|
||||
$cOLINESUFFIX = isset($jSONTR->COLINESUFFIX) ? $jSONTR->COLINESUFFIX : '';
|
||||
}
|
||||
|
||||
// Set SHERROR to Z in ICM699M
|
||||
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
|
||||
->where('SHMACPKR', $DELIVERYNO)
|
||||
->where('SHDT', $SHDT)
|
||||
->where('SHTIME', $SHTIME)
|
||||
->where('SHCO', $DIVI)
|
||||
->where('SHWHS', $WHS)
|
||||
->where('SHSOURCE', $SHSOURCE)
|
||||
$iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
|
||||
->where('SHMACPKR', $dELIVERYNO)
|
||||
->where('SHDT', $sHDT)
|
||||
->where('SHTIME', $sHTIME)
|
||||
->where('SHCO', $dIVI)
|
||||
->where('SHWHS', $wHS)
|
||||
->where('SHSOURCE', $sHSOURCE)
|
||||
->where('SHERROR', 'X')
|
||||
->where('SHTYPE', $SHTYPE)
|
||||
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s')]);
|
||||
->where('SHTYPE', $sHTYPE)
|
||||
->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s')]);
|
||||
}
|
||||
|
||||
// Part Exists : proceed
|
||||
if ($PART != '') {
|
||||
if ($pART != '') {
|
||||
// Read 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')
|
||||
->distinct()
|
||||
->where('A5CO', $DIVI)
|
||||
->where('A5WHS', $WHS)
|
||||
->where('A5MACPKR', $DELIVERYNO);
|
||||
->where('A5CO', $dIVI)
|
||||
->where('A5WHS', $wHS)
|
||||
->where('A5MACPKR', $dELIVERYNO);
|
||||
|
||||
// Get Pack Lines
|
||||
if ($COLINENO != '') {
|
||||
$ICM688M2SLTMP->where('A5PKLN', $COLINENO);
|
||||
if ($cOLINENO != '') {
|
||||
$iCM688M2SLTMP->where('A5PKLN', $cOLINENO);
|
||||
}
|
||||
$ICM688M2SL = $ICM688M2SLTMP->first();
|
||||
$iCM688M2SL = $iCM688M2SLTMP->first();
|
||||
|
||||
$A5BRADLINE = isset($ICM688M2SL->A5BRADLN) ? $ICM688M2SL->A5BRADLN : '';
|
||||
$COLINESUFFIX = isset($ICM688M2SL->A5PKSFX) ? $ICM688M2SL->A5PKSFX : ''; // Case 551 : $COLINESUFFIX
|
||||
$A5PLANT = isset($ICM688M2SL->A5PLANT) ? $ICM688M2SL->A5PLANT : '';
|
||||
$A5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : '';
|
||||
$a5BRADLINE = isset($iCM688M2SL->A5BRADLN) ? $iCM688M2SL->A5BRADLN : '';
|
||||
$cOLINESUFFIX = isset($iCM688M2SL->A5PKSFX) ? $iCM688M2SL->A5PKSFX : ''; // Case 551 : $cOLINESUFFIX
|
||||
$a5PLANT = isset($iCM688M2SL->A5PLANT) ? $iCM688M2SL->A5PLANT : '';
|
||||
$a5SENTPKR = isset($iCM688M2SL->A5SENTPKR) ? $iCM688M2SL->A5SENTPKR : '';
|
||||
|
||||
$JSONIN = json_encode([
|
||||
'DIVI' => $DIVI,
|
||||
'WHS' => $WHS,
|
||||
'PART' => $PART,
|
||||
'LOCATIONFROM' => $LOCATIONFROM,
|
||||
'LOCATIONTO' => $LOCATIONTO,
|
||||
'QUANTITY' => $QUANTITY,
|
||||
'ORDERCATEGORY' => $ORDERCATEGORY,
|
||||
'LOTNUMBER' => $LOTNUMBER,
|
||||
'CONUMBER' => $CONUMBER,
|
||||
'COLINENO' => $COLINENO,
|
||||
'DELIVERYNO' => $DELIVERYNO,
|
||||
'PICKLISTSUFFIX' => $PICKLISTSUFFIX,
|
||||
'ENDFLAG' => $ENDFLAG,
|
||||
'TYPE' => $TYPE,
|
||||
'COLINESUFFIX' => $COLINESUFFIX,
|
||||
$jSONIN = json_encode([
|
||||
'DIVI' => $dIVI,
|
||||
'WHS' => $wHS,
|
||||
'PART' => $pART,
|
||||
'LOCATIONFROM' => $lOCATIONFROM,
|
||||
'LOCATIONTO' => $lOCATIONTO,
|
||||
'QUANTITY' => $qUANTITY,
|
||||
'ORDERCATEGORY' => $oRDERCATEGORY,
|
||||
'LOTNUMBER' => $lOTNUMBER,
|
||||
'CONUMBER' => $cONUMBER,
|
||||
'COLINENO' => $cOLINENO,
|
||||
'DELIVERYNO' => $dELIVERYNO,
|
||||
'PICKLISTSUFFIX' => $pICKLISTSUFFIX,
|
||||
'ENDFLAG' => $eNDFLAG,
|
||||
'TYPE' => $tYPE,
|
||||
'COLINESUFFIX' => $cOLINESUFFIX,
|
||||
], JSON_UNESCAPED_SLASHES);
|
||||
|
||||
$JSON = json_encode([
|
||||
'DIVI' => $DIVI,
|
||||
'WHS' => $WHS,
|
||||
'PART' => $PART,
|
||||
'LOCATIONFROM' => $LOCATIONFROM,
|
||||
'LOCATIONTO' => $LOCATIONTO,
|
||||
'QUANTITY' => $QUANTITY,
|
||||
'ORDERCATEGORY' => $ORDERCATEGORY,
|
||||
'LOTNUMBER' => $LOTNUMBER,
|
||||
'CONUMBER' => $CONUMBER,
|
||||
'COLINENO' => $A5BRADLINE,
|
||||
'DELIVERYNO' => $DELIVERYNO,
|
||||
'PICKLISTSUFFIX' => $PICKLISTSUFFIX,
|
||||
'ENDFLAG' => $ENDFLAG,
|
||||
'TYPE' => $TYPE,
|
||||
'COLINESUFFIX' => $COLINESUFFIX,
|
||||
$jSON = json_encode([
|
||||
'DIVI' => $dIVI,
|
||||
'WHS' => $wHS,
|
||||
'PART' => $pART,
|
||||
'LOCATIONFROM' => $lOCATIONFROM,
|
||||
'LOCATIONTO' => $lOCATIONTO,
|
||||
'QUANTITY' => $qUANTITY,
|
||||
'ORDERCATEGORY' => $oRDERCATEGORY,
|
||||
'LOTNUMBER' => $lOTNUMBER,
|
||||
'CONUMBER' => $cONUMBER,
|
||||
'COLINENO' => $a5BRADLINE,
|
||||
'DELIVERYNO' => $dELIVERYNO,
|
||||
'PICKLISTSUFFIX' => $pICKLISTSUFFIX,
|
||||
'ENDFLAG' => $eNDFLAG,
|
||||
'TYPE' => $tYPE,
|
||||
'COLINESUFFIX' => $cOLINESUFFIX,
|
||||
], JSON_UNESCAPED_SLASHES);
|
||||
|
||||
// Write JSON Params to Logs Out
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Req-out',
|
||||
'SHDATA' => $JSON,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $jSON,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -227,21 +230,21 @@ class TransferAPI extends Controller
|
||||
$tokenResponse = Helper::checkReceiveTokenV2();
|
||||
$tokenData = $tokenResponse->getData();
|
||||
if ($tokenData->code == '200') {
|
||||
$IonToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
$ionToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
} else {
|
||||
$SHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
$sHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
// Write to Logs : Error
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $SHDATA,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $sHDATA,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -250,69 +253,69 @@ class TransferAPI extends Controller
|
||||
|
||||
// Call ionapi with Params
|
||||
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync';
|
||||
$token = $IonToken;
|
||||
$token = $ionToken;
|
||||
|
||||
$response = Http::withHeaders([
|
||||
'accept' => self::JSON_CONTENT_TYPE,
|
||||
'Content-Type' => self::JSON_CONTENT_TYPE,
|
||||
])
|
||||
->withToken($token)
|
||||
->withBody($JSON, self::JSON_CONTENT_TYPE)
|
||||
->withBody($jSON, self::JSON_CONTENT_TYPE)
|
||||
->timeout(Config::get('arrays.curlTimeOut'))
|
||||
->post($endPointURL);
|
||||
$responseStatusCode = $response->getStatusCode();
|
||||
$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';
|
||||
$M3ResponseTimeTmp2 = floatval($M3ResponseTimeTmp) / 1000; // $M3ResponseTimeTmp / 1000;
|
||||
$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';
|
||||
$m3ResponseTimeTmp2 = floatval($m3ResponseTimeTmp) / 1000; // $m3ResponseTimeTmp / 1000;
|
||||
$dateTime = new DateTime;
|
||||
$dateTime->setTimestamp($M3ResponseTimeTmp2);
|
||||
$M3ResponseTime = $M3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
|
||||
$dateTime->setTimestamp($m3ResponseTimeTmp2);
|
||||
$m3ResponseTime = $m3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
|
||||
$transferStats = $response->transferStats;
|
||||
$M3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
|
||||
$m3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
|
||||
|
||||
if ($responseStatusCode == '200') {
|
||||
$responseContents = json_decode($response->getBody()->getContents());
|
||||
$responseResult = $responseContents->result;
|
||||
$M3JSONResponse = json_encode($responseContents);
|
||||
$m3JSONResponse = json_encode($responseContents);
|
||||
// Check M3 Response for Errors
|
||||
$M3Errors = Helper::checkM3Errors($responseResult);
|
||||
$m3Errors = Helper::checkM3Errors($responseResult);
|
||||
} else {
|
||||
$M3JSONResponse = '';
|
||||
$M3Errors = 'Error: No Response from M3';
|
||||
$m3JSONResponse = '';
|
||||
$m3Errors = 'Error: No Response from M3';
|
||||
}
|
||||
|
||||
if ($M3Errors == '') {
|
||||
if ($m3Errors == '') {
|
||||
// Write to Logs Out : Success
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $responseStatusCode . 'TYPE :' . $TYPE . self::ORDER_CATEGORY_LABEL . $ORDERCATEGORY . '-' . $M3JSONResponse . $M3SessionId . $M3ResponseTime . $M3transferTime,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $responseStatusCode . 'TYPE :' . $tYPE . self::ORDER_CATEGORY_LABEL . $oRDERCATEGORY . '-' . $m3JSONResponse . $m3SessionId . $m3ResponseTime . $m3transferTime,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
// Log to ICM799M
|
||||
$ICM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
|
||||
->insert(['IMDIV' => $DIVI,
|
||||
'IMPLANT' => $A5PLANT,
|
||||
'IMWHS' => $WHS,
|
||||
'IMSENTPKR' => $A5SENTPKR,
|
||||
'IMDELNO' => $DELIVERYNO,
|
||||
'IMORDER' => $CONUMBER,
|
||||
'IMLINE' => $COLINENO,
|
||||
'IMBRADLN' => $A5BRADLINE,
|
||||
'IMSUFFIX' => $PICKLISTSUFFIX,
|
||||
'IMPART' => $PART,
|
||||
'IMLOT' => $LOTNUMBER,
|
||||
'IMQTY' => $QUANTITY,
|
||||
'IMFRLOC' => $LOCATIONFROM,
|
||||
'IMTOLOC' => $LOCATIONTO,
|
||||
$iCM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
|
||||
->insert(['IMDIV' => $dIVI,
|
||||
'IMPLANT' => $a5PLANT,
|
||||
'IMWHS' => $wHS,
|
||||
'IMSENTPKR' => $a5SENTPKR,
|
||||
'IMDELNO' => $dELIVERYNO,
|
||||
'IMORDER' => $cONUMBER,
|
||||
'IMLINE' => $cOLINENO,
|
||||
'IMBRADLN' => $a5BRADLINE,
|
||||
'IMSUFFIX' => $pICKLISTSUFFIX,
|
||||
'IMPART' => $pART,
|
||||
'IMLOT' => $lOTNUMBER,
|
||||
'IMQTY' => $qUANTITY,
|
||||
'IMFRLOC' => $lOCATIONFROM,
|
||||
'IMTOLOC' => $lOCATIONTO,
|
||||
'IMDATE' => date('Ymd'),
|
||||
'IMTIME' => date('His'),
|
||||
]);
|
||||
@@ -323,25 +326,25 @@ class TransferAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs Out : Failed
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $responseStatusCode . '-' . $M3Errors . '-TYPE:' . $TYPE . self::ORDER_CATEGORY_LABEL . $ORDERCATEGORY . '-' . $M3JSONResponse .
|
||||
'M3-JSN-out' . $JSONIN . $M3SessionId . $M3ResponseTime . $M3transferTime,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $responseStatusCode . '-' . $m3Errors . '-TYPE:' . $tYPE . self::ORDER_CATEGORY_LABEL . $oRDERCATEGORY . '-' . $m3JSONResponse .
|
||||
'M3-JSN-out' . $jSONIN . $m3SessionId . $m3ResponseTime . $m3transferTime,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
'code' => '206',
|
||||
'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 {
|
||||
// Write to Logs Out : Error
|
||||
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => self::NO_URL_PARAMETERS,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -382,17 +385,17 @@ class TransferAPI extends Controller
|
||||
$getCurlErrors = str_contains($th->getMessage(), 'cURL error');
|
||||
if ($getCurlErrors) {
|
||||
// Write to Logs Out : Failed
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'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' . $JSONIN,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $jSONIN,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -403,18 +406,18 @@ class TransferAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs Out : Error
|
||||
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Err-out',
|
||||
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300),
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
Log::error($th);
|
||||
@@ -438,70 +441,70 @@ class TransferAPI extends Controller
|
||||
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
|
||||
|
||||
// Get the Calling User
|
||||
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
$sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : 'WebUser';
|
||||
// Set SHSOURCE
|
||||
$SHSOURCE = 'UpdateShipmentNumber';
|
||||
$M3Errors = '';
|
||||
$sHSOURCE = 'UpdateShipmentNumber';
|
||||
$m3Errors = '';
|
||||
|
||||
// Get URL PARAMS
|
||||
$urlParams = count($request->all()) > 0 ? $request->all() : '';
|
||||
$DIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
|
||||
$WHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
$PLANT = isset($urlParams['PLANT']) ? $urlParams['PLANT'] : '';
|
||||
$dIVI = isset($urlParams['COMPANY']) ? $urlParams['COMPANY'] : '';
|
||||
$wHS = isset($urlParams['WHS']) ? $urlParams['WHS'] : '';
|
||||
$pLANT = isset($urlParams['PLANT']) ? $urlParams['PLANT'] : '';
|
||||
|
||||
try {
|
||||
if ($urlParams != '') {
|
||||
$A4SPR15A01 = isset($urlParams['A4SPR15A01']) ? $urlParams['A4SPR15A01'] : '';
|
||||
$DELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : '';
|
||||
$TYPE = 'UpdateShipmentNumber';
|
||||
$a4SPR15A01 = isset($urlParams['A4SPR15A01']) ? $urlParams['A4SPR15A01'] : '';
|
||||
$dELIVERYNO = isset($urlParams['DELIVERYNO']) ? $urlParams['DELIVERYNO'] : '';
|
||||
$tYPE = 'UpdateShipmentNumber';
|
||||
$allMacpkrs = [];
|
||||
|
||||
if ($A4SPR15A01 != '') {
|
||||
if ($a4SPR15A01 != '') {
|
||||
// Read from ICM688M1
|
||||
$ICM688M1SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
|
||||
$iCM688M1SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
|
||||
->select('A4MACPKR')
|
||||
->where('A4CO', $DIVI)
|
||||
->where('A4WHS', $WHS)
|
||||
->where('A4PLANT', $PLANT)
|
||||
->where('A4SPR15A01', $A4SPR15A01);
|
||||
->where('A4CO', $dIVI)
|
||||
->where('A4WHS', $wHS)
|
||||
->where('A4PLANT', $pLANT)
|
||||
->where('A4SPR15A01', $a4SPR15A01);
|
||||
|
||||
// Get Macpikers also if sent as Parameter
|
||||
if ($DELIVERYNO != '') {
|
||||
$ICM688M1SLTMP->where('A4MACPKR', $DELIVERYNO);
|
||||
if ($dELIVERYNO != '') {
|
||||
$iCM688M1SLTMP->where('A4MACPKR', $dELIVERYNO);
|
||||
}
|
||||
$ICM688M1SL = $ICM688M1SLTMP->get();
|
||||
$iCM688M1SL = $iCM688M1SLTMP->get();
|
||||
// Loop ICM688M1 to get all A4MACPKR
|
||||
foreach ($ICM688M1SL as $key => $ICM688M1) {
|
||||
foreach ($iCM688M1SL as $key => $ICM688M1) {
|
||||
$allMacpkrs[] = $ICM688M1->A4MACPKR;
|
||||
}
|
||||
}
|
||||
|
||||
// A4SPR15A01 Exists : proceed
|
||||
if ($A4SPR15A01 != '' && count($allMacpkrs) > 0) {
|
||||
$JSON = json_encode([
|
||||
'DIVI' => $DIVI,
|
||||
'WHS' => $WHS,
|
||||
if ($a4SPR15A01 != '' && count($allMacpkrs) > 0) {
|
||||
$jSON = json_encode([
|
||||
'DIVI' => $dIVI,
|
||||
'WHS' => $wHS,
|
||||
'ShipmentNumber' => [
|
||||
'Number' => $A4SPR15A01,
|
||||
'Number' => $a4SPR15A01,
|
||||
'DeliveryNumbers' => $allMacpkrs,
|
||||
],
|
||||
'TYPE' => $TYPE,
|
||||
'TYPE' => $tYPE,
|
||||
'ENDFLAG' => '',
|
||||
|
||||
], JSON_UNESCAPED_SLASHES);
|
||||
|
||||
// Write JSON Params to Logs Out
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Req-out',
|
||||
'SHDATA' => $JSON,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $jSON,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -509,21 +512,21 @@ class TransferAPI extends Controller
|
||||
$tokenResponse = Helper::checkReceiveTokenV2();
|
||||
$tokenData = $tokenResponse->getData();
|
||||
if ($tokenData->code == '200') {
|
||||
$IonToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
$ionToken = isset($tokenData->token) ? $tokenData->token : '';
|
||||
} else {
|
||||
$SHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
$sHDATA = isset($tokenData->message) ? $tokenData->message : '';
|
||||
// Write to Logs : Error
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $SHDATA,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $sHDATA,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -532,50 +535,50 @@ class TransferAPI extends Controller
|
||||
|
||||
// Call ionapi with Params
|
||||
$endPointURL = env('ENDPOINTURL') . 'APIFLOWS/Sentinel/TransferAPI?ionapiRespStyle=sync';
|
||||
$token = $IonToken;
|
||||
$token = $ionToken;
|
||||
|
||||
$response = Http::withHeaders([
|
||||
'accept' => self::JSON_CONTENT_TYPE,
|
||||
'Content-Type' => self::JSON_CONTENT_TYPE,
|
||||
])
|
||||
->withToken($token)
|
||||
->withBody($JSON, self::JSON_CONTENT_TYPE)
|
||||
->withBody($jSON, self::JSON_CONTENT_TYPE)
|
||||
->timeout(Config::get('arrays.curlTimeOut'))
|
||||
->post($endPointURL);
|
||||
$responseStatusCode = $response->getStatusCode();
|
||||
$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';
|
||||
$M3ResponseTimeTmp2 = floatval($M3ResponseTimeTmp) / 1000; // $M3ResponseTimeTmp / 1000;
|
||||
$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';
|
||||
$m3ResponseTimeTmp2 = floatval($m3ResponseTimeTmp) / 1000; // $m3ResponseTimeTmp / 1000;
|
||||
$dateTime = new DateTime;
|
||||
$dateTime->setTimestamp($M3ResponseTimeTmp2);
|
||||
$M3ResponseTime = $M3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
|
||||
$dateTime->setTimestamp($m3ResponseTimeTmp2);
|
||||
$m3ResponseTime = $m3ResponseTimeTmp != '' ? '-M3ResponseTime:' . $dateTime->format('d/m/Y H:i:s.v') : '-M3ResponseTime';
|
||||
$transferStats = $response->transferStats;
|
||||
$M3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
|
||||
$m3transferTime = $transferStats->getTransferTime() != null ? '-M3transferTime:' . $transferStats->getTransferTime() : '-M3transferTime';
|
||||
|
||||
if ($responseStatusCode == '200') {
|
||||
$responseContents = json_decode($response->getBody()->getContents());
|
||||
$responseResult = $responseContents->result;
|
||||
$M3JSONResponse = json_encode($responseContents);
|
||||
$m3JSONResponse = json_encode($responseContents);
|
||||
// Check M3 Response for Errors
|
||||
$M3Errors = Helper::checkM3Errors($responseResult);
|
||||
$m3Errors = Helper::checkM3Errors($responseResult);
|
||||
} else {
|
||||
$M3JSONResponse = '';
|
||||
$M3Errors = 'Error: No Response from M3';
|
||||
$m3JSONResponse = '';
|
||||
$m3Errors = 'Error: No Response from M3';
|
||||
}
|
||||
|
||||
if ($M3Errors == '') {
|
||||
if ($m3Errors == '') {
|
||||
// Write to Logs Out : Success
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => '',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $responseStatusCode . 'TYPE :' . $TYPE . '-' . $M3JSONResponse . $M3SessionId . $M3ResponseTime . $M3transferTime,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $responseStatusCode . 'TYPE :' . $tYPE . '-' . $m3JSONResponse . $m3SessionId . $m3ResponseTime . $m3transferTime,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -585,25 +588,25 @@ class TransferAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs Out : Failed
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => $responseStatusCode . '-' . $M3Errors . '-TYPE:' . $TYPE . '-' . $M3JSONResponse .
|
||||
'M3-JSN-out' . $JSON . $M3SessionId . $M3ResponseTime . $M3transferTime,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => $responseStatusCode . '-' . $m3Errors . '-TYPE:' . $tYPE . '-' . $m3JSONResponse .
|
||||
'M3-JSN-out' . $jSON . $m3SessionId . $m3ResponseTime . $m3transferTime,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
return response()->json([
|
||||
'code' => '206',
|
||||
'status' => 'Error',
|
||||
'message' => $responseStatusCode . '-' . $M3Errors . '- TYPE :' . $TYPE . '-' . $M3JSONResponse,
|
||||
'message' => $responseStatusCode . '-' . $m3Errors . '- TYPE :' . $tYPE . '-' . $m3JSONResponse,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -618,18 +621,18 @@ class TransferAPI extends Controller
|
||||
}
|
||||
} else {
|
||||
// Write to Logs Out : Error
|
||||
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Res-out',
|
||||
'SHDATA' => self::NO_URL_PARAMETERS,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -644,17 +647,17 @@ class TransferAPI extends Controller
|
||||
$getCurlErrors = str_contains($th->getMessage(), 'cURL error');
|
||||
if ($getCurlErrors) {
|
||||
// Write to Logs Out : Failed
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'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' . $JSON,
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHDATA' => 'Curl Error: Communication with M3 Timed Out' . ' M3-JSN-out' . $jSON,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
|
||||
@@ -665,18 +668,18 @@ class TransferAPI extends Controller
|
||||
]);
|
||||
} else {
|
||||
// Write to Logs Out : Error
|
||||
$DELIVERYNO = isset($DELIVERYNO) ? $DELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $DELIVERYNO,
|
||||
$dELIVERYNO = isset($dELIVERYNO) ? $dELIVERYNO : self::ZERO_PAD;
|
||||
$data = ['SHMACPKR' => $dELIVERYNO,
|
||||
'SHDT' => date('Y-m-d'),
|
||||
'SHTIME' => date('H:i:s'),
|
||||
'SHERROR' => 'X',
|
||||
'SHINTBOX' => '',
|
||||
'SHTYPE' => 'M3-Err-out',
|
||||
'SHDATA' => 'An Error Occured - ' . substr($th, 0, 300),
|
||||
'SHUSER' => $SHUSER,
|
||||
'SHSOURCE' => $SHSOURCE,
|
||||
'SHCO' => $DIVI,
|
||||
'SHWHS' => $WHS,
|
||||
'SHUSER' => $sHUSER,
|
||||
'SHSOURCE' => $sHSOURCE,
|
||||
'SHCO' => $dIVI,
|
||||
'SHWHS' => $wHS,
|
||||
];
|
||||
Helper::logToICM699M($data);
|
||||
Log::error($th);
|
||||
|
||||
@@ -14,6 +14,7 @@ use Str;
|
||||
class TwoShipAPIs extends Controller
|
||||
{
|
||||
private const SOURCE = 'TwoShipUpdateHold';
|
||||
|
||||
private const RESPONSE_TYPE = 'AggStopRsp';
|
||||
|
||||
public function TwoShipUpdateHold(Request $request)
|
||||
@@ -27,6 +28,7 @@ class TwoShipAPIs extends Controller
|
||||
|
||||
if ($params === []) {
|
||||
$this->log($macpkr ?: '000000', $co, $whs, $user, 'X', '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);
|
||||
if ($error !== '') {
|
||||
$this->log($macpkr, $co, $whs, $user, 'X', $response->status() . '-' . $error);
|
||||
|
||||
return response()->json(['code' => '405', 'status' => 'error', 'message' => 'Status: ' . $response->status() . '-' . $error]);
|
||||
}
|
||||
|
||||
$this->log($macpkr, $co, $whs, $user, '', $response->body());
|
||||
$this->markAggregationComplete($orders, $co, $whs);
|
||||
|
||||
return response()->json(['code' => '200', 'status' => 'Success']);
|
||||
} catch (\Throwable $th) {
|
||||
$message = str_contains($th->getMessage(), 'cURL error')
|
||||
? 'Curl Error: Communication with 2Ship Timed Out.'
|
||||
: '2Ship communication failed.';
|
||||
$this->log($macpkr, $co, $whs, $user, 'X', $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')
|
||||
->where('A4SHPAGGCD', $aggregation)->where('A4SHPAGGCD', '<>', 0)->where('A4CONCMPLT', '<>', 'y')
|
||||
->where('A4CO', $co)->where('A4WHS', $whs)->pluck('A4MACPKR')->all();
|
||||
|
||||
return $orders !== [] ? $orders : [$macpkr];
|
||||
}
|
||||
|
||||
@@ -87,6 +93,7 @@ class TwoShipAPIs extends Controller
|
||||
'FindBy' => 'ByMultipleOrderNumbers',
|
||||
'DataToBeUpdated' => ['UpdateAggregationSettings' => true, 'OrderAggregationSettingsInfo' => ['NotConsideredAggregation' => true]],
|
||||
];
|
||||
|
||||
return Http::acceptJson()->asJson()->timeout((int) Config::get('arrays.PHPTimeOut'))
|
||||
->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';
|
||||
}
|
||||
$body = $response->json();
|
||||
|
||||
return ($body['Success'] ?? true) === false ? '2Ship Error: ' . ($body['GlobalError'] ?? 'Unknown error') : '';
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user