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

This commit is contained in:
Mark Gregory
2026-09-17 11:34:41 +01:00
parent 0a05f05843
commit 0c445f89af
69 changed files with 1786 additions and 1752 deletions
File diff suppressed because it is too large Load Diff
+210 -210
View File
@@ -5,7 +5,6 @@ namespace Modules\M3\Http\Controllers\API;
use Config;
use 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([
+89 -88
View File
@@ -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([
+275 -272
View File
@@ -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') : '';
}
@@ -9,9 +9,13 @@ use Str;
class BoxPackToPalletController extends Controller
{
private const PALLET_TABLE_ALIAS = 'ICM659M as p';
private const CONVEYOR_SELECT = 'cnv.R652SORTK as CONVEYOR_NAME';
private const CARTON_TABLE_ALIAS = 'ICM695M1 as c';
private const CONVEYOR_VALUE_ALIAS = 'ICM688M1 as cv';
private const CONVEYOR_TABLE_ALIAS = 'ICM652M as cnv';
public static function index(Request $request)
@@ -22,7 +26,7 @@ class BoxPackToPalletController extends Controller
// Load Existing Boxes from ICM659M
public static function getBoxes(Request $request)
{
$R659PALT = $request->R659PALT ?? abort(404, 'Manifest Not Found');
$r659PALT = $request->R659PALT ?? abort(404, 'Manifest Not Found');
$userWhsCoPlant = self::getUserWhsCoPlant();
@@ -43,7 +47,7 @@ class BoxPackToPalletController extends Controller
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
->where('p.R659PALT', $R659PALT)
->where('p.R659PALT', $r659PALT)
->where('p.R659CO', trim($userWhsCoPlant['USERCO']))
->where('p.R659WHS', trim($userWhsCoPlant['USERWHS']))
->where('p.R659PLANT', trim($userWhsCoPlant['USERPL']))
@@ -169,8 +173,19 @@ class BoxPackToPalletController extends Controller
private static function boxesForPallet($pallet, array $profile)
{
return DB::connection(config('m3.connection', 'pgsql'))->table(self::PALLET_TABLE_ALIAS)
->select('p.R659PALT', 'p.R659BOX', 'p.R659LOADED', 'p.R659USER', 'p.R659DATE', 'p.R659TIME',
'c.AYMACPKR', 'c.AYSPR15A01', 'cv.A4APR8N001', 'cv.A4SHSHCT', self::CONVEYOR_SELECT)
->select(
'p.R659PALT',
'p.R659BOX',
'p.R659LOADED',
'p.R659USER',
'p.R659DATE',
'p.R659TIME',
'c.AYMACPKR',
'c.AYSPR15A01',
'cv.A4APR8N001',
'cv.A4SHSHCT',
self::CONVEYOR_SELECT,
)
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
@@ -182,36 +197,36 @@ class BoxPackToPalletController extends Controller
// Delete Box
public static function deleteBox(Request $request)
{
$R659PALT = $request->R659PALT ?? abort(400, 'Pallet Not Found');
$R659BOX = trim($request->R659BOX) ?? abort(400, 'Box Not Found');
$r659PALT = $request->R659PALT ?? abort(400, 'Pallet Not Found');
$r659BOX = trim($request->R659BOX) ?? abort(400, 'Box Not Found');
$userWhsCoPlant = self::getUserWhsCoPlant();
// Guard: only allow delete if R659LOADED is empty
$record = DB::connection(config('m3.connection', 'pgsql'))
->table('icm659m')
->where('R659PALT', $R659PALT)
->where('R659BOX', $R659BOX)
->where('R659PALT', $r659PALT)
->where('R659BOX', $r659BOX)
->first();
if (! $record) {
return response()->json([
'success' => false,
'message' => "Box {$R659BOX} not found on Pallet {$R659PALT}.",
'message' => "Box {$r659BOX} not found on Pallet {$r659PALT}.",
], 404);
}
if (! empty(trim($record->R659LOADED))) {
return response()->json([
'success' => false,
'message' => "Box {$R659BOX} is already loaded and cannot be removed.",
'message' => "Box {$r659BOX} is already loaded and cannot be removed.",
], 403);
}
DB::connection(config('m3.connection', 'pgsql'))
->table('icm659m')
->where('R659PALT', $R659PALT)
->where('R659BOX', $R659BOX)
->where('R659PALT', $r659PALT)
->where('R659BOX', $r659BOX)
->delete();
// Return refreshed list
@@ -232,7 +247,7 @@ class BoxPackToPalletController extends Controller
->leftJoin(self::CARTON_TABLE_ALIAS, 'p.R659BOX', '=', 'c.AYINTBOX')
->leftJoin(self::CONVEYOR_VALUE_ALIAS, 'c.AYMACPKR', '=', 'cv.A4MACPKR')
->leftJoin(self::CONVEYOR_TABLE_ALIAS, 'cv.A4APR8N001', '=', 'cnv.R652SEQ')
->where('p.R659PALT', $R659PALT)
->where('p.R659PALT', $r659PALT)
->where('p.R659CO', trim($userWhsCoPlant['USERCO']))
->where('p.R659WHS', trim($userWhsCoPlant['USERWHS']))
->where('p.R659PLANT', trim($userWhsCoPlant['USERPL']))
@@ -245,7 +260,7 @@ class BoxPackToPalletController extends Controller
return response()->json([
'success' => true,
'message' => "Box {$R659BOX} removed from Pallet {$R659PALT}.",
'message' => "Box {$r659BOX} removed from Pallet {$r659PALT}.",
'data' => $boxes,
]);
}
@@ -253,23 +268,23 @@ class BoxPackToPalletController extends Controller
// Get Logged User CO/WHS/PLANT
public static function getUserWhsCoPlant()
{
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
$sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// Get users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : '';
$USERCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '';
$USERWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '';
$R428PL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '';
$r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : '';
$uSERCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$uSERWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
$r428PL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWhsCoPlant = [
'R428US' => $R428US,
'USERCO' => $USERCO,
'USERWHS' => $USERWH,
'USERPL' => $R428PL,
'R428US' => $r428US,
'USERCO' => $uSERCO,
'USERWHS' => $uSERWH,
'USERPL' => $r428PL,
];
return $userWhsCoPlant;
@@ -20,9 +20,9 @@ class M3DeliveryController extends Controller
$co = $power_user->R428CO;
$plant = $power_user->R428PL;
$whs = $power_user->R428WH;
$ICM664M = Schema::connection($connection)->hasTable('icm664m')
$iCM664M = Schema::connection($connection)->hasTable('icm664m')
? DB::connection($connection)->table('icm664m')->where('AVCO', $co)->where('AVPLANT', $plant)->where('AVWHS', $whs)->get() : collect();
$IC670M = Schema::connection($connection)->hasTable('ic670m')
$iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect();
$shipvia = Schema::connection($connection)->hasTable('icm319m')
? DB::connection($connection)->table('icm319m')->select('AXCODE', 'AXDESC')->orderBy('AXCODE')->get() : collect();
@@ -22,17 +22,17 @@ class M3ErrorsDispController extends Controller
// Get users from ICM428M
$connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m')
$iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->select('R428US', 'R428FIRST', 'R428FAMILY')->get()
: collect();
$ICM428MCOL = collect($ICM428M);
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL = collect($iCM428M);
$iCM428MCOL->filter(function ($value) {
return $value->R428US = trim($value->R428US);
});
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL->filter(function ($value) {
return $value->R428FIRST = trim($value->R428FIRST);
});
$ICM428MCOL->filter(function ($value) {
$iCM428MCOL->filter(function ($value) {
return $value->R428FAMILY = trim($value->R428FAMILY);
});
@@ -139,45 +139,45 @@ class M3ErrorsDispController extends Controller
public static function update699M(Request $request)
{
$SHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : '';
$SHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : '';
$SHCO = $request->SHCO != null ? trim($request->SHCO) : '';
$SHWHS = $request->SHWHS != null ? trim($request->SHWHS) : '';
$SHDT = $request->SHDT != null ? trim($request->SHDT) : '';
$SHTIME = $request->SHTIME != null ? trim($request->SHTIME) : '';
$SHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : '';
$SHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : '';
$SHUSER = m3_user() !== '' ? Str::upper(m3_user()) : '';
$CLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N';
$sHMACPKR = $request->SHMACPKR != null ? trim($request->SHMACPKR) : '';
$sHSOURCE = $request->SHSOURCE != null ? trim($request->SHSOURCE) : '';
$sHCO = $request->SHCO != null ? trim($request->SHCO) : '';
$sHWHS = $request->SHWHS != null ? trim($request->SHWHS) : '';
$sHDT = $request->SHDT != null ? trim($request->SHDT) : '';
$sHTIME = $request->SHTIME != null ? trim($request->SHTIME) : '';
$sHTYPE = $request->SHTYPE != null ? trim($request->SHTYPE) : '';
$sHACKNOTE = $request->SHACKNOTE != null ? trim(substr($request->SHACKNOTE, 0, 99)) : '';
$sHUSER = m3_user() !== '' ? Str::upper(m3_user()) : '';
$cLOSESIM = $request->CLOSESIM != null ? trim($request->CLOSESIM) : 'N';
if ($CLOSESIM == 'N') {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $SHMACPKR)
->where('SHDT', $SHDT)
->where('SHTIME', $SHTIME)
->where('SHCO', $SHCO)
->where('SHWHS', $SHWHS)
->where('SHSOURCE', $SHSOURCE)
if ($cLOSESIM == 'N') {
$iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHMACPKR', $sHMACPKR)
->where('SHDT', $sHDT)
->where('SHTIME', $sHTIME)
->where('SHCO', $sHCO)
->where('SHWHS', $sHWHS)
->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]);
->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $sHACKNOTE]);
} else {
$ICM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHCO', $SHCO)
->where('SHWHS', $SHWHS)
->where('SHSOURCE', $SHSOURCE)
$iCM699MU = DB::connection(config('m3.connection', 'pgsql'))->table('icm699m')
->where('SHCO', $sHCO)
->where('SHWHS', $sHWHS)
->where('SHSOURCE', $sHSOURCE)
->where('SHERROR', 'X')
->where('SHTYPE', $SHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $SHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $SHACKNOTE]);
->where('SHTYPE', $sHTYPE)
->update(['SHERROR' => 'Z', 'SHACKUSER' => $sHUSER, 'SHACKDATE' => date('Y-m-d'), 'SHACKTIME' => date('H:i:s'), 'SHACKNOTE' => $sHACKNOTE]);
}
if ($SHSOURCE == 'CloseShipmentCoChargeAPI') {
if ($sHSOURCE == 'CloseShipmentCoChargeAPI') {
// Update ICM688M1 : Change A4PICKSTS
DB::connection(config('m3.connection', 'pgsql'))->table('icm688m1')
->where('A4MACPKR', $SHMACPKR)
->where('A4CO', $SHCO)
->where('A4WHS', $SHWHS)
->where('A4MACPKR', $sHMACPKR)
->where('A4CO', $sHCO)
->where('A4WHS', $sHWHS)
->update(['A4PICKSTS' => 'a']);
}
@@ -216,7 +216,7 @@ class M3ErrorsDispController extends Controller
return app(SpreadsheetExport::class)->download(
$rows,
'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx'
'transactionLog_' . $filters['startDate'] . '-' . $filters['endDate'] . '.xlsx',
);
} catch (\Throwable $th) {
Log::error($th);
@@ -281,12 +281,17 @@ class M3ErrorsDispController extends Controller
DB::raw('COALESCE(ICM688M1.A4SHSHNM, ICM666M.A1SHSHNM) AS CUSTOMER '),
DB::raw(" ICM699M.SHDT || ' ' || ICM699M.SHTIME AS SHDATETIME"),
DB::raw("CASE WHEN ICM699M.SHERROR !='Z' THEN TRIM(ICM699M.SHERROR) ELSE 'Closed' END AS ERROR"),
'ICM699M.SHTYPE', 'ICM699M.SHSOURCE',
'ICM699M.SHTYPE',
'ICM699M.SHSOURCE',
DB::raw("CASE WHEN ICM428M.R428FIRST IS NOT NULL THEN TRIM(ICM428M.R428FIRST) ||' '|| TRIM(ICM428M.R428FAMILY) ELSE TRIM(ICM699M.SHUSER) END AS USER"),
'ICM699M.SHCODE', 'ICM699M.SHCO', 'ICM699M.SHWHS',
'ICM699M.SHCODE',
'ICM699M.SHCO',
'ICM699M.SHWHS',
DB::raw(" ICM699M.SHACKDATE ||' '||ICM699M.SHACKTIME AS ACKDATE"),
'ICM699M.SHACKUSER', 'ICM699M.SHINTBOX', 'ICM699M.SHACKNOTE',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)')
'ICM699M.SHACKUSER',
'ICM699M.SHINTBOX',
'ICM699M.SHACKNOTE',
DB::raw('SUBSTR(ICM699M.SHDATA, 1, 200)'),
)
->distinct()
->leftJoin('ICM428M', 'ICM699M.SHUSER', '=', 'ICM428M.R428US')
@@ -306,7 +311,7 @@ class M3ErrorsDispController extends Controller
return redirect()->back()->withInput()->with(
'message',
'Maximum allowed records for Excel Download is: ' . number_format($maxRecords)
. ' current records: ' . number_format($count) . ' , change your search criteria.'
. ' current records: ' . number_format($count) . ' , change your search criteria.',
);
}
@@ -360,5 +365,4 @@ class M3ErrorsDispController extends Controller
$builder->where('SHTYPE', 'like', '%M3%');
}
}
}
@@ -17,44 +17,44 @@ class M3GetPDFFromCacheController extends Controller
$parser = new Parser;
$aggno = $aggmsg = '';
$IC670M = $PDFArray = $carrier = $trackingno = $ICM688M1 = [];
$AYMACPKR = $WHDDA = $COMPANY = $PLANT = $WHS = '';
$iC670M = $pDFArray = $carrier = $trackingno = $iCM688M1 = [];
$aYMACPKR = $wHDDA = $cOMPANY = $pLANT = $wHS = '';
// PDF File PATH
$pdfFilePath = Config::get('arrays.PdfPath');
try {
// Initialise Vars
$PDFArray = $trackingno = $carrier = $ICM688M1 = [];
$pDFArray = $trackingno = $carrier = $iCM688M1 = [];
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
$sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') {
if ($sHUSER != '') {
// Get User CO & WH
// Get user from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : '';
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; // WareHouse
$r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : '';
$cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : ''; // Company
$pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : ''; // Plant
$wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : ''; // WareHouse
}
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// ->where('WDCO',$userCO)->where('WDPL',$userPL)->where('WDWHS',$userWH)
// Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : '';
// dump($urlParams);
$AYMACPKR = isset($urlParams['MACPKR']) ? trim($urlParams['MACPKR']) : ''; // Delivery note number
$DOCTYPE = isset($urlParams['DOCTYPE']) ? trim($urlParams['DOCTYPE']) : ''; // Document type (PackingList, CarrierLabel, ContentLabel)
$WHDDA = $COMPANY . $PLANT . $WHS;
$aYMACPKR = isset($urlParams['MACPKR']) ? trim($urlParams['MACPKR']) : ''; // Delivery note number
$dOCTYPE = isset($urlParams['DOCTYPE']) ? trim($urlParams['DOCTYPE']) : ''; // Document type (PackingList, CarrierLabel, ContentLabel)
$wHDDA = $cOMPANY . $pLANT . $wHS;
// Check Doctype fisrt
$docTypes = $DOCTYPE != '' ? [$DOCTYPE] : ['PackingList', 'ContentLabel', 'CarrierLabel', 'GSLabel']; // document type (PackingList, CarrierLabel, ContentLabel)
$docTypes = $dOCTYPE != '' ? [$dOCTYPE] : ['PackingList', 'ContentLabel', 'CarrierLabel', 'GSLabel']; // document type (PackingList, CarrierLabel, ContentLabel)
if ($urlParams != '') {
// dump($urlParams);
@@ -63,108 +63,108 @@ class M3GetPDFFromCacheController extends Controller
// Document type (PackingList, CarrierLabel, ContentLabel)
// Get Aggregation Number if it exists
$ICM695M1Agg = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
$iCM695M1Agg = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYTRUCK')
->where('AYCO', $COMPANY)
->where('AYWHS', $WHS)
->where('AYMACPKR', $AYMACPKR)
->where('AYCO', $cOMPANY)
->where('AYWHS', $wHS)
->where('AYMACPKR', $aYMACPKR)
->first();
$aggno = isset($ICM695M1Agg->AYTRUCK) ? trim($ICM695M1Agg->AYTRUCK) : '';
$aggno = isset($iCM695M1Agg->AYTRUCK) ? trim($iCM695M1Agg->AYTRUCK) : '';
if ($aggno != '' && $aggno != '0') {
$aggmsg = "This delivery note is part of aggregation $aggno ";
$ICM688M1 = DB::connection(config('m3.connection', 'pgsql'))->select("select A4MACPKR from ICM688M1 where A4SHPAGGCD='$aggno'");
// foreach($ICM688M1 as $key => $ICM688M1R) {
// $aggmsg.=' <a href="M3GetPDFFromCache?MACPKR='.$ICM688M1R->A4MACPKR.'&COMPANY='.$COMPANY.'&PLANT='.$PLANT.'&WHS='.$WHS.'">'.$ICM688M1R->A4MACPKR.'</a>';
$iCM688M1 = DB::connection(config('m3.connection', 'pgsql'))->select("select A4MACPKR from ICM688M1 where A4SHPAGGCD='$aggno'");
// foreach($iCM688M1 as $key => $ICM688M1R) {
// $aggmsg.=' <a href="M3GetPDFFromCache?MACPKR='.$ICM688M1R->A4MACPKR.'&COMPANY='.$cOMPANY.'&PLANT='.$pLANT.'&WHS='.$wHS.'">'.$ICM688M1R->A4MACPKR.'</a>';
// }
// $aggmsg.=" )";
// 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg#
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
$iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK')
->distinct()
->where('AYCO', $COMPANY)
->where('AYWHS', $WHS)
// ->where('AYMACPKR',$AYMACPKR)
->where('AYCO', $cOMPANY)
->where('AYWHS', $wHS)
// ->where('AYMACPKR',$aYMACPKR)
->where('AYTRUCK', $aggno)
->orderBy('AYMACPKR')
->get();
} else {
// 654 add 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK' carrier and tracking# and agg#
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
$iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select('AYCO', 'AYWHS', 'AYMACPKR', 'AYINTBOX', 'AYSPR15A01', 'AYSPR30A01', 'AYTRUCK')
->distinct()
->where('AYCO', $COMPANY)
->where('AYWHS', $WHS)
->where('AYMACPKR', $AYMACPKR)
->where('AYCO', $cOMPANY)
->where('AYWHS', $wHS)
->where('AYMACPKR', $aYMACPKR)
->orderBy('AYMACPKR')
->get();
}
$allLabels = [];
if (count($ICM695M1) > 0) {
if (count($iCM695M1) > 0) {
$tmpCacheArr = $carrier = $trackingno = [];
// Loop the Results from $ICM595M1TMP
foreach ($ICM695M1 as $key => $ICM695M1R) {
$WHS = trim($ICM695M1R->AYWHS);
$COMPANY = trim($ICM695M1R->AYCO);
$AYMACPKR = trim($ICM695M1R->AYMACPKR);
$DOCNUM = trim($ICM695M1R->AYINTBOX);
foreach ($iCM695M1 as $key => $ICM695M1R) {
$wHS = trim($ICM695M1R->AYWHS);
$cOMPANY = trim($ICM695M1R->AYCO);
$aYMACPKR = trim($ICM695M1R->AYMACPKR);
$dOCNUM = trim($ICM695M1R->AYINTBOX);
// 654
$carrier[] = trim($ICM695M1R->AYSPR15A01);
$trackingno[] = trim($ICM695M1R->AYSPR30A01);
$aggno = trim($ICM695M1R->AYTRUCK);
// Make Key and Test Validity
if ($AYMACPKR != '' && $COMPANY != '' && $WHS != '') {
$CarrierLabel = '';
$ContentLabel = '';
$PackingList = '';
if ($aYMACPKR != '' && $cOMPANY != '' && $wHS != '') {
$carrierLabel = '';
$contentLabel = '';
$packingList = '';
$cacheKeyPackingList = $cacheKeyCarrierLabel = $cacheKeyContentLabel = '';
// Get Unique Keys
foreach ($docTypes as $key => $value) {
// Check Parcel vs LTL
if ($value == 'ContentLabel') {
$DOCNUMT = $DOCNUM;
$ContentLabel = ! is_numeric($DOCNUM) ? 'LTL' : '';
$dOCNUMT = $dOCNUM;
$contentLabel = ! is_numeric($dOCNUM) ? 'LTL' : '';
}
if ($value == 'CarrierLabel') {
$DOCNUMT = $DOCNUM;
$dOCNUMT = $dOCNUM;
// Keep Solon Logic to read LTL
$DOCNUMT2 = $ContentLabel == 'LTL' ? $AYMACPKR : $DOCNUM;
if ($DOCNUMT2 != $DOCNUMT) {
$PDFKey2 = $value . '/' . $value . '_' . $AYMACPKR . '_' . $DOCNUMT2 . '_' . $COMPANY . '_' . $WHS;
$tmpCacheArr[] = $PDFKey2;
$dOCNUMT2 = $contentLabel == 'LTL' ? $aYMACPKR : $dOCNUM;
if ($dOCNUMT2 != $dOCNUMT) {
$pDFKey2 = $value . '/' . $value . '_' . $aYMACPKR . '_' . $dOCNUMT2 . '_' . $cOMPANY . '_' . $wHS;
$tmpCacheArr[] = $pDFKey2;
}
}
if ($value == 'PackingList') {
$DOCNUMT = $AYMACPKR;
$dOCNUMT = $aYMACPKR;
}
// Get GS1 Labels
if ($value == 'GSLabel') {
$PDFKey = $value . '/' . $value . '_' . $AYMACPKR . '_' . $COMPANY . '_' . $WHS . '_' . $DOCNUM;
$pDFKey = $value . '/' . $value . '_' . $aYMACPKR . '_' . $cOMPANY . '_' . $wHS . '_' . $dOCNUM;
// $PDFKey = $value.'/'.$value.'_'.$AYMACPKR.'_'.$COMPANY.'_'.$WHS;
// $pDFKey = $value.'/'.$value.'_'.$aYMACPKR.'_'.$cOMPANY.'_'.$wHS;
// }
// else{
// $PDFKey = $value.'/'.$value.'_'.$AYMACPKR.'_'.$COMPANY.'_'.$WHS.'_'.$DOCNUM;
// $pDFKey = $value.'/'.$value.'_'.$aYMACPKR.'_'.$cOMPANY.'_'.$wHS.'_'.$dOCNUM;
// }
} else {
$PDFKey = $value . '/' . $value . '_' . $AYMACPKR . '_' . $DOCNUMT . '_' . $COMPANY . '_' . $WHS;
$pDFKey = $value . '/' . $value . '_' . $aYMACPKR . '_' . $dOCNUMT . '_' . $cOMPANY . '_' . $wHS;
}
$tmpCacheArr[] = $PDFKey;
$tmpCacheArr[] = $pDFKey;
}
}
}
// Get unique values from array $PDFArray
// Get unique values from array $pDFArray
$tmpCacheArr = collect($tmpCacheArr)->unique();
foreach ($tmpCacheArr as $key => $value) {
@@ -175,7 +175,7 @@ class M3GetPDFFromCacheController extends Controller
// Transform content to base64
// $base64PDF = $pdfFile;
$base64PDF = base64_encode($pdfFile);
$PDFArray[] = $base64PDF;
$pDFArray[] = $base64PDF;
}
}
} else {
@@ -184,9 +184,9 @@ class M3GetPDFFromCacheController extends Controller
}
} catch (\Throwable $th) {
}
// dump($AYMACPKR);
// dump($IC670M);
// dump($ICM695M1);
// dump($aYMACPKR);
// dump($iC670M);
// dump($iCM695M1);
return view('m3::liberty-theme.pages.M3GetPDF', compact('IC670M', 'PDFArray', 'AYMACPKR', 'WHDDA', 'aggmsg', 'carrier', 'trackingno', 'ICM688M1', 'COMPANY', 'PLANT', 'WHS'));
// compact('IC670M','ViewTitle')
@@ -10,37 +10,37 @@ class MFOrdersController extends Controller
{
public static function index(Request $request)
{
$MF = isset($request->id) ? trim($request->id) : '';
$mF = isset($request->id) ? trim($request->id) : '';
// dd("MFOrders ".$MF);
// dd("MFOrders ".$mF);
// Get Users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', strtoupper(m3_user()))
->first();
$user = $ICM428M->R428US;
$co = $ICM428M->R428CO;
$whs = $ICM428M->R428WH;
$plant = $ICM428M->R428PL;
$user = $iCM428M->R428US;
$co = $iCM428M->R428CO;
$whs = $iCM428M->R428WH;
$plant = $iCM428M->R428PL;
// ICM705M1 Statement
$sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT,
APLDCLOU,APLDCLOD,APLDCLOT,APCO,APWHS,APPLT,APSPARE2,APLDCLOZ
from ICM705M1
where APMANIFEST = $MF and APCO='$co' and APWHS='$whs' and APPLT='$plant' limit 1";
where APMANIFEST = $mF and APCO='$co' and APWHS='$whs' and APPLT='$plant' limit 1";
$ICM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$carrier = isset($ICM705M1[0]->APCARRIER) ? trim($ICM705M1[0]->APCARRIER) : '';
$iCM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$carrier = isset($iCM705M1[0]->APCARRIER) ? trim($iCM705M1[0]->APCARRIER) : '';
if ($MF != '') {
if ($mF != '') {
$status_ICM688M1_array = Config::get('arrays.status_ICM688M1_array');
$sqlstmt = "SELECT AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01,SUM(AYLNWGHT) AS TOTWEIGHT,COUNT(*) AS BOXPAL FROM ICM695M1
LEFT JOIN ICM688M1 ON AYCO=A4CO AND AYPLANT=A4PLANT AND AYMACPKR=A4MACPKR
WHERE AYAPRF1551= $MF and AYCO='$co' and AYWHS='$whs' and AYPLANT='$plant'
WHERE AYAPRF1551= $mF and AYCO='$co' and AYWHS='$whs' and AYPLANT='$plant'
GROUP BY AYCO,AYPLANT,AYMACPKR,AYONO,A4SHSHNM,A4PICKSTS,AYSPR15A01";
$ICM695M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$iCM695M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
return view(
'm3::liberty-theme.pages.MFOrders',
@@ -17,22 +17,22 @@ class OrderLinesOfClosedOrder extends Controller
public static function index(Request $request)
{
$IC670M = $ICM688M2 = [];
$WHDDA = $COMPANY = $PLANT = $WHS = '';
$REPORTDATEDisp = today()->format('Ymd');
$iC670M = $iCM688M2 = [];
$wHDDA = $cOMPANY = $pLANT = $wHS = '';
$rEPORTDATEDisp = today()->format('Ymd');
$allReportsUrls = [];
try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext('110', '144', '322');
[$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext('110', '144', '322');
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : '';
$REPORTDATEDisp = isset($urlParams['REPORTDATEDisp']) ? \DateTime::createFromFormat('Y-m-d', trim($urlParams['REPORTDATEDisp']))->format('Ymd') : today()->format('Ymd');
$rEPORTDATEDisp = isset($urlParams['REPORTDATEDisp']) ? \DateTime::createFromFormat('Y-m-d', trim($urlParams['REPORTDATEDisp']))->format('Ymd') : today()->format('Ymd');
$WHDDA = $COMPANY . $PLANT . $WHS;
if ($REPORTDATEDisp != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') {
$wHDDA = $cOMPANY . $pLANT . $wHS;
if ($rEPORTDATEDisp != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M
$selectContent = "
SELECT A5MACPKR, A5ONO,
@@ -60,18 +60,18 @@ class OrderLinesOfClosedOrder extends Controller
WHERE A5MACPKR IN (
SELECT DISTINCT AYMACPKR
FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 = $REPORTDATEDisp
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 = $rEPORTDATEDisp
)
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT";
AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT";
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql'))
$iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select($selectContent);
} else {
$ICM688M2 = collect();
$iCM688M2 = collect();
}
// Get List of Files
$allReportsUrls = self::reportUrls($WHS);
$allReportsUrls = self::reportUrls($wHS);
} catch (\Throwable $th) {
Log::error($th);
@@ -88,10 +88,10 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('memory_limit', '1024M');
try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext();
[$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext();
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : '';
@@ -101,8 +101,8 @@ class OrderLinesOfClosedOrder extends Controller
$reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d');
$toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d');
$WHDDA = $COMPANY . $PLANT . $WHS;
if ($reportDate != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') {
$wHDDA = $cOMPANY . $pLANT . $wHS;
if ($reportDate != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M
$selectContent = "
SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO,
@@ -130,9 +130,9 @@ class OrderLinesOfClosedOrder extends Controller
FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
)
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT";
AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT";
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql'))
$iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select($selectContent);
$newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #',
@@ -140,25 +140,25 @@ class OrderLinesOfClosedOrder extends Controller
'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved',
'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name',
'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight'];
$ICM688M2Col = collect($ICM688M2);
$ICM688M2Col->prepend($newItem);
$iCM688M2Col = collect($iCM688M2);
$iCM688M2Col->prepend($newItem);
// Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count();
$iCM688M2Count = $iCM688M2Col->count();
// Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count > $maxRecords) {
if ($iCM688M2Count > $maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) .
' current records: ' . number_format($ICM688M2Count) . ' , change your search criteria.');
' current records: ' . number_format($iCM688M2Count) . ' , change your search criteria.');
}
} else {
$ICM688M2Col = '';
$iCM688M2Col = '';
}
// Download Excel
// Add true at the end to include fields names in the Header
return app(SpreadsheetExport::class)->download($ICM688M2Col, 'Closedorderlinesreport_' . $reportDateWD . '-' . $toreportDateWD . self::XLSX_EXTENSION);
return app(SpreadsheetExport::class)->download($iCM688M2Col, 'Closedorderlinesreport_' . $reportDateWD . '-' . $toreportDateWD . self::XLSX_EXTENSION);
} catch (\Throwable $th) {
Log::error($th);
}
@@ -172,10 +172,10 @@ class OrderLinesOfClosedOrder extends Controller
ini_set('memory_limit', '1024M');
try {
[$COMPANY, $PLANT, $WHS] = self::userWarehouseContext();
[$cOMPANY, $pLANT, $wHS] = self::userWarehouseContext();
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : '';
@@ -185,10 +185,10 @@ class OrderLinesOfClosedOrder extends Controller
$reportDateWD = isset($urlParams['REPORTDATE']) ? trim($urlParams['REPORTDATE']) : today()->format('Y-m-d');
$toreportDateWD = isset($urlParams['TOREPORTDATE']) ? trim($urlParams['TOREPORTDATE']) : today()->format('Y-m-d');
$WHDDA = $COMPANY . $PLANT . $WHS;
if ($reportDate != '' && $COMPANY != '' && $WHS != '' && $PLANT != '') {
$wHDDA = $cOMPANY . $pLANT . $wHS;
if ($reportDate != '' && $cOMPANY != '' && $wHS != '' && $pLANT != '') {
// Case 729: Add Currency code A1SHCURR FROM ICM666M
$ICM688M2 = DB::connection(config('m3.connection', 'pgsql'))
$iCM688M2 = DB::connection(config('m3.connection', 'pgsql'))
->select("
SELECT (SHDT || ' ' || SHTIME) AS DATECLOSED, A5MACPKR, A5ONO,
A4OFSTRM,
@@ -215,7 +215,7 @@ class OrderLinesOfClosedOrder extends Controller
FROM ICM695M1
WHERE AYSTATUS IN ('Z','z') AND AYAPR8N002 BETWEEN $reportDate AND $toreportDate
)
AND A5CO=$COMPANY AND A5WHS=$WHS AND A5PLANT=$PLANT
AND A5CO=$cOMPANY AND A5WHS=$wHS AND A5PLANT=$pLANT
");
$newItem = ['DATECLOSED' => 'Close Date', 'A5MACPKR' => 'Delivery #', 'A5ONO' => 'Order #',
@@ -223,27 +223,25 @@ class OrderLinesOfClosedOrder extends Controller
'A4REFORD' => 'Order Type', 'A5PART' => 'Part #', 'A5RSVQTY' => 'Reserved',
'A5PACKED' => 'Packed', 'CALCULATED_COLUMN' => 'Back Order Qty', 'ANOTHER_CALCULATED_COLUMN' => 'Value Packed $', 'A4SHSHNM' => 'Customer name',
'REASON' => 'Failure Reason', 'A1SHCURR' => 'Currency Code', 'FREIGHT' => 'Freight'];
$ICM688M2Col = collect($ICM688M2);
$ICM688M2Col->prepend($newItem);
$iCM688M2Col = collect($iCM688M2);
$iCM688M2Col->prepend($newItem);
// Count records before exporting to excel : Max 20K records are allowed
$ICM688M2Count = $ICM688M2Col->count();
$iCM688M2Count = $iCM688M2Col->count();
// Set Max allowed records
$maxRecords = Config::get('arrays.maxRecCL');
if ($ICM688M2Count > $maxRecords) {
if ($iCM688M2Count > $maxRecords) {
return redirect()->back()->withInput()->with('message', 'Maximum allowed records for Excel Download is: ' . number_format($maxRecords) .
' current records: ' . number_format($ICM688M2Count) . ' , change your search criteria.');
' current records: ' . number_format($iCM688M2Count) . ' , change your search criteria.');
}
} else {
$ICM688M2Col = '';
$iCM688M2Col = '';
}
$prevMonthFile = self::storedReportName($WHS, $reportDateWD, $toreportDateWD);
$prevMonthFile = self::storedReportName($wHS, $reportDateWD, $toreportDateWD);
// MAK Store the File to Storage
app(SpreadsheetExport::class)->store($ICM688M2Col, $prevMonthFile, 'publicCL');
app(SpreadsheetExport::class)->store($iCM688M2Col, $prevMonthFile, 'publicCL');
return back();
} catch (\Throwable $th) {
@@ -14,25 +14,25 @@ class ReplenishSettingsController extends Controller
public static function index(Request $request)
{
// Replenishment Table
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get Logged user Id
$userId = m3_user() !== '' ? strtoupper(m3_user()) : '';
// $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF
$connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m')
$iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first()
: null;
$userCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '';
$userPL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '';
$userWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '';
$userCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$userPL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
if ($userCO != '') {
// Warehouse Table
$IC670M = Schema::connection($connection)->hasTable('ic670m')
$iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')
->where('WDCO', $userCO)
->where('WDPL', $userPL)
@@ -40,14 +40,14 @@ class ReplenishSettingsController extends Controller
->get()
: [];
} else {
$IC670M = [];
$iC670M = [];
}
// FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ,
// TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M
// ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'";
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($REFCAT658);
// $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($rEFCAT658);
return view('m3::liberty-theme.pages.ReplenishSettings', compact('IC670M'));
// 'REFCAT658',
@@ -62,47 +62,47 @@ class ReplenishSettingsController extends Controller
$formInputs['R658IZLCF'] = isset($formInputs['R658IZLCF']) ? $formInputs['R658IZLCF'] : '0';
$ICM658MINS = ICM658M::insert($formInputs);
$iCM658MINS = ICM658M::insert($formInputs);
return redirect()->route('m3.replenishmentSettings.index');
}
public function update(Request $request)
{
$R658PN = (trim($request->R658PN) ?? trim($request->R658PN)) != null ? trim($request->R658PN) : '';
$R658CO = (trim($request->R658CO) ?? trim($request->R658CO)) != null ? trim($request->R658CO) : '';
$R658PL = (trim($request->R658PL) ?? trim($request->R658PL)) != null ? trim($request->R658PL) : '';
$R658WH = (trim($request->R658WH) ?? trim($request->R658WH)) != null ? trim($request->R658WH) : '';
$R658MQ = trim($request->R658MQ);
$R658RQ = trim($request->R658RQ);
$R658RMQ = trim($request->R658RMQ);
$R658TL = trim($request->R658TL);
$R658IZLCF = (trim($request->R658IZLCF) ?? trim($request->R658IZLCF)) != null ? trim($request->R658IZLCF) : '0';
$r658PN = (trim($request->R658PN) ?? trim($request->R658PN)) != null ? trim($request->R658PN) : '';
$r658CO = (trim($request->R658CO) ?? trim($request->R658CO)) != null ? trim($request->R658CO) : '';
$r658PL = (trim($request->R658PL) ?? trim($request->R658PL)) != null ? trim($request->R658PL) : '';
$r658WH = (trim($request->R658WH) ?? trim($request->R658WH)) != null ? trim($request->R658WH) : '';
$r658MQ = trim($request->R658MQ);
$r658RQ = trim($request->R658RQ);
$r658RMQ = trim($request->R658RMQ);
$r658TL = trim($request->R658TL);
$r658IZLCF = (trim($request->R658IZLCF) ?? trim($request->R658IZLCF)) != null ? trim($request->R658IZLCF) : '0';
DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN)
->where('R658CO', $R658CO)
->where('R658PL', $R658PL)
->where('R658WH', $R658WH)
->update(['R658MQ' => $R658MQ, 'R658RQ' => $R658RQ, 'R658RMQ' => $R658RMQ, 'R658TL' => $R658TL, 'R658IZLCF' => $R658IZLCF]);
->where('R658PN', $r658PN)
->where('R658CO', $r658CO)
->where('R658PL', $r658PL)
->where('R658WH', $r658WH)
->update(['R658MQ' => $r658MQ, 'R658RQ' => $r658RQ, 'R658RMQ' => $r658RMQ, 'R658TL' => $r658TL, 'R658IZLCF' => $r658IZLCF]);
return redirect()->route('m3.replenishmentSettings.index');
}
public function deleteRec(Request $request)
{
$R658PN = trim($request->R658PN);
$R658CO = trim($request->R658CO);
$R658LC = trim($request->R658LC);
$R658PL = trim($request->R658PL);
$R658WH = trim($request->R658WH);
$r658PN = trim($request->R658PN);
$r658CO = trim($request->R658CO);
$r658LC = trim($request->R658LC);
$r658PL = trim($request->R658PL);
$r658WH = trim($request->R658WH);
$deleteRecord = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN)
->where('R658CO', $R658CO)
->where('R658LC', $R658LC)
->where('R658PL', $R658PL)
->where('R658WH', $R658WH)
->where('R658PN', $r658PN)
->where('R658CO', $r658CO)
->where('R658LC', $r658LC)
->where('R658PL', $r658PL)
->where('R658WH', $r658WH)
->delete();
return response()->json(['success' => 'Record Deleted']);
@@ -114,18 +114,18 @@ class ReplenishSettingsController extends Controller
parse_str($request['data'], $params);
$paramsObj = (object) $params;
$R658PN = trim($paramsObj->R658PN);
$R658CO = trim($paramsObj->R658CO);
$R658LC = trim($paramsObj->R658LC);
$R658PL = trim($paramsObj->R658PL);
$R658WH = trim($paramsObj->R658WH);
$r658PN = trim($paramsObj->R658PN);
$r658CO = trim($paramsObj->R658CO);
$r658LC = trim($paramsObj->R658LC);
$r658PL = trim($paramsObj->R658PL);
$r658WH = trim($paramsObj->R658WH);
$recordExistSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->where('R658PN', $R658PN)
->where('R658CO', $R658CO)
->where('R658LC', $R658LC)
->where('R658PL', $R658PL)
->where('R658WH', $R658WH)
->where('R658PN', $r658PN)
->where('R658CO', $r658CO)
->where('R658LC', $r658LC)
->where('R658PL', $r658PL)
->where('R658WH', $r658WH)
->first();
$recordExists = $recordExistSQL == null ? true : false;
@@ -135,25 +135,25 @@ class ReplenishSettingsController extends Controller
public function datatables(Request $request)
{
// Replenishment Table
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')->get();
// Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Get Logged user Id
$userId = m3_user() !== '' ? strtoupper(m3_user()) : '';
// $userId = 'E1135818'; // Brad : E1135818 Malak : E2011812 ACOM_PDF
$connection = config('m3.connection', 'pgsql');
$ICM428M = Schema::connection($connection)->hasTable('icm428m')
$iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428US', $userId)->where('R428STS', 'A')->first()
: null;
$userCO = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '';
$userPL = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '';
$userWH = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '';
$userCO = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$userPL = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$userWH = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
if ($userCO != '') {
// Replenishment Table
$REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
$rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->table('icm658m')
->select('*')
->where('R658CO', $userCO)
->where('R658PL', $userPL)
@@ -161,22 +161,21 @@ class ReplenishSettingsController extends Controller
->orderBy('R658CO', 'asc');
// Warehouse Table
// $IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')
// $iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')
// ->where('WDCO',$userCO)
// ->where('WDPL',$userPL)
// ->where('WDWHS',$userWH)
// ->get();
} else {
$REFCAT658 = [];
$rEFCAT658 = [];
}
// FROM PRDAT.REFERPS t1 LEFT JOIN ( SELECT R658CO,R658PL,R658WH,R658LC,R658PN,R658MQ,R658RQ,R658TL,R658RMQ,
// TRIM(R658WH)||TRIM(R658LC)||TRIM(R658PN) AS FULLID FROM EWOBJTST.ICM658M
// ) t2 ON t1.REFKEY = t2.FULLID WHERE t1.REFCAT = '658'";
// $REFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($REFCAT658);
// $rEFCAT658 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// dd($rEFCAT658);
return Datatables::of($REFCAT658)->addIndexColumn()->make(true);
return Datatables::of($rEFCAT658)->addIndexColumn()->make(true);
}
}
@@ -38,12 +38,12 @@ class ShipToController extends Controller
public function create()
{
// US
$USstates = USStates::all();
$uSstates = USStates::all();
// CA
$CAstates = CAProvinces::all();
$cAstates = CAProvinces::all();
// All States
$states = array_merge($USstates, $CAstates);
$states = array_merge($uSstates, $cAstates);
return view('m3::liberty-theme.pages.ship-to.create', compact('states'));
}
@@ -104,12 +104,12 @@ class ShipToController extends Controller
public function edit($aushshzp, $aushwhs)
{
// US
$USstates = USStates::all();
$uSstates = USStates::all();
// CA
$CAstates = CAProvinces::all();
$cAstates = CAProvinces::all();
// All States
$states = array_merge($USstates, $CAstates);
$states = array_merge($uSstates, $cAstates);
$shipTo = ShipTo::where('AUSHSHZP', $aushshzp)
->where('AUSHWHS', $aushwhs)
@@ -13,14 +13,14 @@ class carrierMaintController extends Controller
public static function index(Request $request)
{
$currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? '';
$ICM160M = [];
$userCO = $currentUser['UserCO'] ?? '';
$iCM160M = [];
$power_user = [];
$schema = Schema::connection(config('m3.connection', 'pgsql'));
if ($schema->hasTable('icm160m')) {
$ICM160M = DB::connection(config('m3.connection', 'pgsql'))->select('
$iCM160M = DB::connection(config('m3.connection', 'pgsql'))->select('
select canum, canam, substr(CATPID,1,3) as TwoshipCarrierCode, substr(CATPID,4,1) as ParcelCarrierCode, caspr10A01, caspr1A01
from icm160m WHERE CACO=?', [$UserCO]);
from icm160m WHERE CACO=?', [$userCO]);
}
if ($schema->hasTable('icm428m')) {
$power_user = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
@@ -36,7 +36,7 @@ class carrierMaintController extends Controller
public static function savecarrierAdd(Request $request)
{
$currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? '';
$userCO = $currentUser['UserCO'] ?? '';
// $UserPL = $currentUser['UserPL'] ?? '';
// Insert record to ICM160M
@@ -44,16 +44,16 @@ class carrierMaintController extends Controller
if ($request->CANUM == null) {
return 'null';
}
$icm160m = DB::connection(config('m3.connection', 'pgsql'))->select("select count(*) as COUNT1 from ICM160M where CANUM='$request->CANUM' AND CACO='$UserCO'");
$icm160m = DB::connection(config('m3.connection', 'pgsql'))->select("select count(*) as COUNT1 from ICM160M where CANUM='$request->CANUM' AND CACO='$userCO'");
if ($icm160m[0]->COUNT1 == '1') {
return 'exists';
} else {
$CASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$CASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$cASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$cASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM,
'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1),
'CASPR10A01' => $CASPR10A01, 'CASPR1A01' => $CASPR1A01, 'CACO' => $UserCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
'CASPR10A01' => $cASPR10A01, 'CASPR1A01' => $cASPR1A01, 'CACO' => $userCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data);
if ($insertSQL) {
return 'success';
@@ -64,7 +64,7 @@ class carrierMaintController extends Controller
public static function savecarrierAdd2(Request $request)
{
$currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? '';
$userCO = $currentUser['UserCO'] ?? '';
// $UserPL = $currentUser['UserPL'] ?? '';
// Insert record to ICM160M
@@ -72,11 +72,11 @@ class carrierMaintController extends Controller
return 'null';
}
$CASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$CASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$cASPR10A01 = isset($request->CASPR10A01) && $request->CASPR10A01 != null ? $request->CASPR10A01 : ' ';
$cASPR1A01 = isset($request->CASPR1A01) && $request->CASPR1A01 != null ? $request->CASPR1A01 : ' ';
$data = ['CANUM' => $request->CANUM, 'CANAM' => $request->CANAM, 'CATPID' => str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1),
'CASPR10A01' => $CASPR10A01, 'CASPR1A01' => $CASPR1A01, 'CACO' => $UserCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
'CASPR10A01' => $cASPR10A01, 'CASPR1A01' => $cASPR1A01, 'CACO' => $userCO]; // ,'CAPLNT'=>$UserPL,'CAWHS'=>$UserWHS
$insertSQL = DB::connection(config('m3.connection', 'pgsql'))->table('icm160m')->insert($data);
if ($insertSQL) {
return 'success';
@@ -88,7 +88,7 @@ class carrierMaintController extends Controller
public static function savecarrierEdit(Request $request)
{
$currentUser = Helper::getUserCOWHSPLT();
$UserCO = $currentUser['UserCO'] ?? '';
$userCO = $currentUser['UserCO'] ?? '';
if ($request->CANUM == null) {
return 'null';
@@ -96,7 +96,7 @@ class carrierMaintController extends Controller
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM160M
set CANAM='$request->CANAM', CATPID='" . str_pad(substr($request->TWOSHIPCARRIERCODE, 0, 3), 3, ' ') . substr($request->PARCELCARRIERCODE, 0, 1) . "',
CASPR10A01='$request->CASPR10A01', CASPR1A01='$request->CASPR1A01'
where CANUM='$request->CANUM' AND CACO='$UserCO'");
where CANUM='$request->CANUM' AND CACO='$userCO'");
return 'success';
@@ -10,22 +10,23 @@ use Str;
class execSummaryController extends Controller
{
private const WAREHOUSE_IN_CLAUSE = "' and a5whs in (";
public static function index(Request $request)
{
$IC670M = collect();
$WHDDA = '';
$COMPANY = '110';
$PLANT = '144';
$WHS = '322';
$iC670M = collect();
$wHDDA = '';
$cOMPANY = '110';
$pLANT = '144';
$wHS = '322';
try {
// Ajax Call
if ($request->ajax()) {
$WHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$WHArr = [];
foreach ($WHDDA as $key => $WHDDAV) {
$CO = substr($WHDDAV, 0, 3);
$WHArr[] = substr($WHDDAV, 6, 3);
$wHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$wHArr = [];
foreach ($wHDDA as $key => $WHDDAV) {
$cO = substr($WHDDAV, 0, 3);
$wHArr[] = substr($WHDDAV, 6, 3);
}
$reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily
@@ -34,7 +35,7 @@ class execSummaryController extends Controller
$checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on
$checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on
if (count($WHArr) > 0 && $CO != '' && $reportPeriod != '') {
if (count($wHArr) > 0 && $cO != '' && $reportPeriod != '') {
switch ($reportPeriod) {
case 'year':
// Set Dates based on reportPeriod type
@@ -50,7 +51,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . "' and a5whs in(" . implode(',', $WHArr) . ')
) and a5co='" . $cO . "' and a5whs in(" . implode(',', $wHArr) . ')
)
select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile
group by substr(ayapr8N002,1,4),a5whs order by 1 ';
@@ -70,7 +71,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ")
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
)
select substr(ayapr8N002,3,2) ||'-' || 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) as years,count(*) as lines,
sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -92,7 +93,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ")
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
)
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -114,7 +115,7 @@ class execSummaryController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ')
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
)
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -139,23 +140,23 @@ class execSummaryController extends Controller
}
// Init Page
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') {
$sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '110'; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '144'; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '322'; // WareHouse
$r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '110'; // Company
$pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '144'; // Plant
$wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '322'; // WareHouse
}
$WHDDA = $COMPANY . $PLANT . $WHS;
// dump($WHDDA);
$wHDDA = $cOMPANY . $pLANT . $wHS;
// dump($wHDDA);
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
} catch (\Throwable $th) {
Log::error($th);
}
@@ -10,8 +10,11 @@ use Str;
class execSummaryLineController extends Controller
{
private const WAREHOUSE_IN_CLAUSE = "' and a5whs in (";
private const FIRST_DAY_THIS_MONTH = 'first day of this month';
private const LAST_DAY_THIS_MONTH = 'last day of this month';
private const ONE_YEAR_AGO = '-1 year';
public static function index(Request $request)
@@ -19,11 +22,11 @@ class execSummaryLineController extends Controller
try {
// Ajax Call
if ($request->ajax()) {
$WHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$WHArr = [];
foreach ($WHDDA as $key => $WHDDAV) {
$CO = substr($WHDDAV, 0, 3);
$WHArr[] = substr($WHDDAV, 6, 3);
$wHDDA = isset($request->WHDDA) ? $request->WHDDA : [];
$wHArr = [];
foreach ($wHDDA as $key => $WHDDAV) {
$cO = substr($WHDDAV, 0, 3);
$wHArr[] = substr($WHDDAV, 6, 3);
}
$reportPeriod = isset($request->reportPeriod) ? $request->reportPeriod : ''; // monthly , quarter , year , daily
@@ -32,7 +35,7 @@ class execSummaryLineController extends Controller
$checkWeight = isset($request->checkWeight) ? $request->checkWeight : ''; // on
$checkLines = isset($request->checkLines) ? $request->checkLines : ''; // on
if (count($WHArr) > 0 && $CO != '' && $reportPeriod != '') {
if (count($wHArr) > 0 && $cO != '' && $reportPeriod != '') {
switch ($reportPeriod) {
case 'year':
// Set Dates based on reportPeriod type
@@ -48,7 +51,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . "' and a5whs in(" . implode(',', $WHArr) . ')
) and a5co='" . $cO . "' and a5whs in(" . implode(',', $wHArr) . ')
)
select substr(ayapr8N002,1,4) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars,a5whs as whs from tempfile
group by substr(ayapr8N002,1,4),a5whs order by 1 ';
@@ -69,7 +72,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ")
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
)
select 'Q' || EXTRACT(QUARTER FROM TO_DATE(CAST(ayapr8n002 AS TEXT),'YYYYMMDD')) ||'-' || substr(ayapr8N002,3,2) as years,count(*) as lines,
sum(a5rsvqty) as reserveqty, sum(a5packed) as packed,sum (a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -98,7 +101,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ")
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
)
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -110,7 +113,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ")
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ")
)
select substr(ayapr8N002,1,4) || '-' || substr(ayapr8N002,5,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight,sum(dollars) as dollars, a5whs as whs
@@ -137,7 +140,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDate and ayapr8N002<=$toreportDate )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ')
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
)
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -149,7 +152,7 @@ class execSummaryLineController extends Controller
(select max(ayapr8N002) as ayapr8N002 from icm695m1 where a5macpkr=aymacpkr fetch first 1 rows only)
from icm688m2 where a5macpkr in (
select distinct aymacpkr from icm695m1 where (AYSTATUS in ('Z','z') and ayapr8N002>=$reportDateLY and ayapr8N002<=$toreportDateLY )
) and a5co='" . $CO . self::WAREHOUSE_IN_CLAUSE . implode(',', $WHArr) . ')
) and a5co='" . $cO . self::WAREHOUSE_IN_CLAUSE . implode(',', $wHArr) . ')
)
select substr(ayapr8N002,7,2) as years,count(*) as lines,sum(a5rsvqty) as reserveqty,sum(a5packed) as packed,
sum(a5lnwght*a5packed/a5rsvqty) as weight, sum(dollars) as dollars, a5whs as whs
@@ -175,23 +178,23 @@ class execSummaryLineController extends Controller
}
// Init Page
$SHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($SHUSER != '') {
$sHUSER = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '110'; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '144'; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '322'; // WareHouse
$r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '110'; // Company
$pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '144'; // Plant
$wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '322'; // WareHouse
}
$WHDDA = $COMPANY . $PLANT . $WHS;
// dump($WHDDA);
$wHDDA = $cOMPANY . $pLANT . $wHS;
// dump($wHDDA);
// Warehouse Table
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
} catch (\Throwable $th) {
Log::error($th);
}
@@ -24,8 +24,8 @@ class fillBOL2Controller extends Controller
public function fillBOL(Request $request)
{
// # $BOL = BOL::findOrFail($request);
$BOL = $request;
// # $bOL = BOL::findOrFail($request);
$bOL = $request;
$data = [
'bol_number' => $request->input('BOL_number') ?? '1234567890',
@@ -58,8 +58,8 @@ Line 4
Line 5',
'DTESHIPED.1' => date('d/m/Y'),
'invoice_number' => $BOL['BOL_number'],
'amount_due' => number_format($BOL['amount'], 2),
'invoice_number' => $bOL['BOL_number'],
'amount_due' => number_format($bOL['amount'], 2),
'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #',
'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22',
'TYPEANDESCPTN.13' => 'CONTAINER:',
@@ -69,7 +69,7 @@ Line 5',
'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E',
'TYPEANDESCPTN.7' => 'SEAL: 637053',
'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05',
'BOFLADNGAGYCD' => $BOL['BOL_number'],
'BOFLADNGAGYCD' => $bOL['BOL_number'],
'CLASSORATE1' => '50',
'CNMETRKLICNSE' => 'ICL / Expeditors',
'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG',
@@ -6,7 +6,6 @@ use Illuminate\Http\Request;
use mikehaertl\pdftk\Pdf;
use Storage;
class fillBOLController extends Controller
{
public static function index(Request $request)
@@ -18,8 +17,8 @@ class fillBOLController extends Controller
public static function fillBOL(Request $request)
{
// # $BOL = BOL::findOrFail($request);
$BOL = $request;
// # $bOL = BOL::findOrFail($request);
$bOL = $request;
$pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf'));
// $pdf = new Pdf(Storage::disk('public')->path('ETN-BOL.pdf'), [
@@ -34,7 +33,7 @@ class fillBOLController extends Controller
// dd($test);
$newfile = "BOL-{$BOL['BOL_number']}.pdf";
$newfile = "BOL-{$bOL['BOL_number']}.pdf";
var_dump($newfile);
$test = Storage::disk('public')->put($newfile, '');
@@ -48,8 +47,8 @@ class fillBOLController extends Controller
$result = $pdf->fillForm([
'DTESHIPED.1' => date('d/m/Y'),
'invoice_number' => $BOL['BOL_number'],
'amount_due' => number_format($BOL['amount'], 2),
'invoice_number' => $bOL['BOL_number'],
'amount_due' => number_format($bOL['amount'], 2),
'TYPEANDESCPTN.1' => 'TOTAL: 20 SKIDS 8320 #',
'TYPEANDESCPTN.10' => 'ROTTERDAM ETA: 11/22',
'TYPEANDESCPTN.13' => 'CONTAINER:',
@@ -59,7 +58,7 @@ class fillBOLController extends Controller
'TYPEANDESCPTN.6' => 'VESSEL: INDEPENDENT HORIZON V. 1023E',
'TYPEANDESCPTN.7' => 'SEAL: 637053',
'TYPEANDESCPTN.9' => 'CHESTER, PA ETD: 11/05',
'BOFLADNGAGYCD' => $BOL['BOL_number'],
'BOFLADNGAGYCD' => $bOL['BOL_number'],
'CLASSORATE1' => '50',
'CNMETRKLICNSE' => 'ICL / Expeditors',
'CONSIGTONMADDR' => 'ERICO EUROPE BV JULES VERNEWEG 75 TILBURG . 5015 BG',
@@ -22,9 +22,9 @@ class palletQtyController extends Controller
$co = $power_user->R428CO;
$plant = $power_user->R428PL;
$whs = $power_user->R428WH;
$ICM709M = Schema::connection($connection)->hasTable('icm709m')
$iCM709M = Schema::connection($connection)->hasTable('icm709m')
? DB::connection($connection)->table('icm709m')->where('AT9CO', $co)->where('AT9PLT', $plant)->where('AT9WHS', $whs)->get() : collect();
$IC670M = Schema::connection($connection)->hasTable('ic670m')
$iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->where('WDCO', $co)->where('WDPL', $plant)->where('WDWHS', $whs)->get() : collect();
return view('m3::liberty-theme.pages.palletQty', compact('ICM709M', 'IC670M', 'power_user'));
@@ -13,14 +13,14 @@ class pendingClosureController extends Controller
{
// Get Users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', strtoupper(m3_user()))
->first();
$user = $ICM428M->R428US;
$co = $ICM428M->R428CO;
$whs = $ICM428M->R428WH;
$plant = $ICM428M->R428PL;
$user = $iCM428M->R428US;
$co = $iCM428M->R428CO;
$whs = $iCM428M->R428WH;
$plant = $iCM428M->R428PL;
// ICM705M1 Statement
$sqlstmt = "select APMANIFEST,APDOCKDOOR,APCARRIER,APTRUCKIDT,APSPARE1,APLDSTRU,APLDSTRD,APLDSTRT,
@@ -28,40 +28,40 @@ class pendingClosureController extends Controller
from ICM705M1
where APSPARE2 in ('','P') and APCO='$co' and APWHS='$whs' and APPLT='$plant'";
$ICM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$iCM705M1 = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$ICM698Ma = [];
$ICM699Ma = [];
foreach ($ICM705M1 as $key => $val) {
$iCM698Ma = [];
$iCM699Ma = [];
foreach ($iCM705M1 as $key => $val) {
$sqlstmt1 = "select LGUSER,LGCONFDT,LGCONFTM
from ICM698M
where LGCO='$val->APCO' and LGWHS='$val->APWHS'and LGURL='op605api.php'
and LGRESPONSE like 'Close of Sentinel Manifest%'
and LGRESPONSE like '%' || right('000000000' || '$val->APMANIFEST',9) || '%'";
$ICM698M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt1);
$ICM698Ma[$val->APMANIFEST]['TMSUSER'] = '';
$ICM698Ma[$val->APMANIFEST]['TMSDATE'] = '';
$ICM698Ma[$val->APMANIFEST]['TMSTIME'] = '';
foreach ($ICM698M as $key2 => $val2) {
$ICM698Ma[$val->APMANIFEST]['TMSUSER'] = $val2->LGUSER;
$ICM698Ma[$val->APMANIFEST]['TMSDATE'] = $val2->LGCONFDT;
$ICM698Ma[$val->APMANIFEST]['TMSTIME'] = $val2->LGCONFTM;
$iCM698M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt1);
$iCM698Ma[$val->APMANIFEST]['TMSUSER'] = '';
$iCM698Ma[$val->APMANIFEST]['TMSDATE'] = '';
$iCM698Ma[$val->APMANIFEST]['TMSTIME'] = '';
foreach ($iCM698M as $key2 => $val2) {
$iCM698Ma[$val->APMANIFEST]['TMSUSER'] = $val2->LGUSER;
$iCM698Ma[$val->APMANIFEST]['TMSDATE'] = $val2->LGCONFDT;
$iCM698Ma[$val->APMANIFEST]['TMSTIME'] = $val2->LGCONFTM;
}
$ICM699MSel1 = "select SHMACPKR,SHDT,SHTIME from ICM699M
$iCM699MSel1 = "select SHMACPKR,SHDT,SHTIME from ICM699M
WHERE SHMACPKR='$val->APMANIFEST' AND SHCO='$co' AND SHWHS='$whs'
AND SHSOURCE='CloseShipmentCoChargeAPI' AND SHERROR='' AND SHTYPE='M3-Req-out' limit 1";
$ICM699MSel = DB::connection(config('m3.connection', 'pgsql'))->select($ICM699MSel1);
foreach ($ICM699MSel as $key2 => $val2) {
$ICM699Ma[$val2->SHMACPKR]['SHDT'] = $val2->SHDT;
$ICM699Ma[$val2->SHMACPKR]['SHTIME'] = $val2->SHTIME;
$iCM699MSel = DB::connection(config('m3.connection', 'pgsql'))->select($iCM699MSel1);
foreach ($iCM699MSel as $key2 => $val2) {
$iCM699Ma[$val2->SHMACPKR]['SHDT'] = $val2->SHDT;
$iCM699Ma[$val2->SHMACPKR]['SHTIME'] = $val2->SHTIME;
}
}
$sqlstmt = "select count(*) as COUNT1 from ICM699M
where SHCO='$co' and SHWHS='$whs' and SHTYPE like '%M3%' and SHERROR='X'
and SHSOURCE='CloseShipmentCoChargeAPI'";
$ICM699M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$iCM699M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
// Get Unprocessed Orders
$unprocessedArr = [];
@@ -72,8 +72,8 @@ class pendingClosureController extends Controller
SELECT APMANIFEST,APSPARE2 FROM ICM705M1 WHERE APMANIFEST IN (SELECT DISTINCT MF FROM TEMPFILE) AND APSPARE2='X' AND APWHS='$whs' ";
// AND APSPARE2!=''
// dump($sqlstmt3);
$UproccessedOrders = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt3);
foreach ($UproccessedOrders as $key => $UproccessedOrder) {
$uproccessedOrders = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt3);
foreach ($uproccessedOrders as $key => $UproccessedOrder) {
$unprocessedArr[] = '<a class="btn btn-link mb-1" target="_blank" href="' . url('MFOrders', ['id' => trim($UproccessedOrder->APMANIFEST)]) . '"> ' .
trim($UproccessedOrder->APMANIFEST) . '</a>';
}
@@ -90,16 +90,16 @@ class pendingClosureController extends Controller
// Get URL PARAMS
$urlParams = count($request->all()) > 0 ? $request->all() : '';
// $SHUSER = isset($urlParams["SHUSER"]) ? $urlParams["SHUSER"] : '';
$MANIFEST = isset($urlParams['MANIFEST']) ? $urlParams['MANIFEST'] : '';
$APCO = isset($urlParams['APCO']) ? $urlParams['APCO'] : '';
$APWHS = isset($urlParams['APWHS']) ? $urlParams['APWHS'] : '';
$mANIFEST = isset($urlParams['MANIFEST']) ? $urlParams['MANIFEST'] : '';
$aPCO = isset($urlParams['APCO']) ? $urlParams['APCO'] : '';
$aPWHS = isset($urlParams['APWHS']) ? $urlParams['APWHS'] : '';
try {
DB::connection(config('m3.connection', 'pgsql'))->table('icm705m1')
->where('APCO', $APCO)
->where('APWHS', $APWHS)
->where('APMANIFEST', '=', $MANIFEST)
->where('APCO', $aPCO)
->where('APWHS', $aPWHS)
->where('APMANIFEST', '=', $mANIFEST)
->update(['APSPARE2' => '']);
return response()->json([
@@ -10,22 +10,22 @@ class sentinelController extends Controller
public static function packSyst5Func(Request $request)
{
$AYINTBOX = isset($request->AYINTBOX) ? trim($request->AYINTBOX) : '';
$AYCO = isset($request->AYCO) ? trim($request->AYCO) : '';
$AYWHS = isset($request->AYWHS) ? trim($request->AYWHS) : '';
$AYUSER = isset($request->AYUSER) ? trim($request->AYUSER) : '';
$aYINTBOX = isset($request->AYINTBOX) ? trim($request->AYINTBOX) : '';
$aYCO = isset($request->AYCO) ? trim($request->AYCO) : '';
$aYWHS = isset($request->AYWHS) ? trim($request->AYWHS) : '';
$aYUSER = isset($request->AYUSER) ? trim($request->AYUSER) : '';
if ($AYINTBOX != '') {
if ($aYINTBOX != '') {
// Get the record from ICM695M1
$ICM695M1Sel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
$iCM695M1Sel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->select()
->where('AYINTBOX', $AYINTBOX)
->where('AYCO', $AYCO)
->where('AYWHS', $AYWHS)
->where('AYINTBOX', $aYINTBOX)
->where('AYCO', $aYCO)
->where('AYWHS', $aYWHS)
->where('AYSTATUS', '')
->first();
$allowDeletion = isset($ICM695M1Sel->AYSENTPKR) ? ($ICM695M1Sel->AYSENTPKR != '' ? true : false) : false;
$allowDeletion = isset($iCM695M1Sel->AYSENTPKR) ? ($iCM695M1Sel->AYSENTPKR != '' ? true : false) : false;
if ($allowDeletion) {
$timestamp = date('Y-m-d H:i:s.u');
@@ -33,25 +33,25 @@ class sentinelController extends Controller
$time1 = date('His');
// Delete Records from ICM695M1 And ICM695M2
$ICM695M1Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->where('AYINTBOX', $AYINTBOX)
->where('AYCO', $AYCO)
->where('AYWHS', $AYWHS)
$iCM695M1Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m1')
->where('AYINTBOX', $aYINTBOX)
->where('AYCO', $aYCO)
->where('AYWHS', $aYWHS)
->delete();
$ICM695M2Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m2')
->where('AZINTBOX', $AYINTBOX)
->where('AZCO', $AYCO)
->where('AZWHS', $AYWHS)
$iCM695M2Del = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m2')
->where('AZINTBOX', $aYINTBOX)
->where('AZCO', $aYCO)
->where('AZWHS', $aYWHS)
->delete();
// Log the event as an unusual transaction to appear on SPD bottom right:
$InsertValues = "'$ICM695M1Sel->AYCO', '$ICM695M1Sel->AYWHS', '$ICM695M1Sel->AYSENTPKR', '$ICM695M1Sel->AYMACPKR', '$ICM695M1Sel->AYONO', '$ICM695M1Sel->AYRLNO', '$ICM695M1Sel->AYSHNO', '', 'Box $AYINTBOX emptied and repacked',
'$timestamp', '$date1', '$time1', '$AYUSER','$timestamp', '$date1', '$time1', '$AYUSER','$AYINTBOX'";
$insertValues = "'$iCM695M1Sel->AYCO', '$iCM695M1Sel->AYWHS', '$iCM695M1Sel->AYSENTPKR', '$iCM695M1Sel->AYMACPKR', '$iCM695M1Sel->AYONO', '$iCM695M1Sel->AYRLNO', '$iCM695M1Sel->AYSHNO', '', 'Box $aYINTBOX emptied and repacked',
'$timestamp', '$date1', '$time1', '$aYUSER','$timestamp', '$date1', '$time1', '$aYUSER','$aYINTBOX'";
$ICM689MInsert = DB::connection(config('m3.connection', 'pgsql'))->insert("INSERT INTO ICM689M
$iCM689MInsert = DB::connection(config('m3.connection', 'pgsql'))->insert("INSERT INTO ICM689M
(A7CO, A7WHS, A7SENTPKR, A7MACPKR, A7ONO, A7RLNO, A7SHNO, A7SOURCE, A7ERRMSG, A7DISRAITS, A7DISRAID, A7DISRAIT, A7DISRAIU, A7DISRESTS ,A7DISRESD ,A7DISREST ,A7DISRESU , A7SPR15A01)
values ($InsertValues)");
values ($insertValues)");
return response()->json(['success' => true, 'message' => 'Line Deleted']);
} else {
@@ -12,9 +12,13 @@ use Modules\M3\Services\PostgresProgramBridge;
class userControlController extends Controller
{
private const AUTH_FAILURE_MESSAGE = 'Could not connect due to wrong user or password.';
private const DATABASE_NOT_FOUND_MESSAGE = 'Database not found. Try WRKRDBDIRE to check.';
private const CONNECTION_ERROR_PREFIX = 'Could not connect. Error: ';
private const PROGRAM_ERROR_PREFIX = 'Error calling program. Code: ';
private const MESSAGE_SEPARATOR = ' Msg: ';
public static function index(Request $request)
@@ -26,12 +30,12 @@ class userControlController extends Controller
}
$co = $profile->R428CO ?? '';
$whs = $profile->R428WH ?? '';
$ICM428M = Schema::connection($connection)->hasTable('icm428m')
$iCM428M = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->where('R428CO', $co)->where('R428WH', $whs)->get() : collect();
$USER_INFO = Schema::connection($connection)->hasTable('icm428m')
$uSER_INFO = Schema::connection($connection)->hasTable('icm428m')
? DB::connection($connection)->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all() : [];
$power_user = [(object) ['R428PWRUSR' => $profile->R428PWRUSR ?? 'N', 'R428CO' => $co, 'R428PL' => $profile->R428PL ?? '', 'R428WH' => $whs]];
$IC670M = Schema::connection($connection)->hasTable('ic670m')
$iC670M = Schema::connection($connection)->hasTable('ic670m')
? DB::connection($connection)->table('ic670m')->get() : collect();
return view('m3::liberty-theme.pages.userControl', compact('ICM428M', 'IC670M', 'power_user', 'USER_INFO'));
@@ -97,7 +101,7 @@ class userControlController extends Controller
// # $result = $conn->PgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->PgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
if (! $result) {
$PGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
$pGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
return 'error profile2';
} else {
@@ -145,17 +149,17 @@ class userControlController extends Controller
// Update record to ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->select("select * from ICM428M where R428US='$request->R428US'");
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->select("select * from ICM428M where R428US='$request->R428US'");
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$request->R428CO', R428PL='$request->R428PL', R428WH='$request->R428WH', R428STS='$request->R428STS', R428FIRST='$request->R428FIRST',
R428FAMILY='$request->R428FAMILY', R428EMAIL='$request->R428EMAIL', R428EMPCDE=$request->R428EMPCDE, R428ADMUSR='$request->R428ADMUSR',
R428PWRUSR='$request->R428PWRUSR',
MENU2OPT='" . substr($ICM428M[0]->MENU2OPT, 0, 2) . $request->MENU2OPT3 . substr($ICM428M[0]->MENU2OPT, 3, 3) . $request->MENU2OPT7 . $request->MENU2OPT8 . "',
MENU3OPT='" . $request->MENU3OPT1 . $request->MENU3OPT2 . substr($ICM428M[0]->MENU3OPT, 2, -1) . "',
MENU4OPT='" . $request->MENU4OPT1 . $request->MENU4OPT2 . $request->MENU4OPT3 . substr($ICM428M[0]->MENU4OPT, 3, -1) . "',
MENU5OPT='" . $request->MENU5OPT1 . $request->MENU5OPT2 . $request->MENU5OPT3 . substr($ICM428M[0]->MENU5OPT, 3, 1) . $request->MENU5OPT5 . substr($ICM428M[0]->MENU5OPT, 5, -1) . "',
MENU6OPT='" . $request->MENU6OPT1 . $request->MENU6OPT2 . $request->MENU6OPT3 . substr($ICM428M[0]->MENU6OPT, 3, -1) . "',
MENU2OPT='" . substr($iCM428M[0]->MENU2OPT, 0, 2) . $request->MENU2OPT3 . substr($iCM428M[0]->MENU2OPT, 3, 3) . $request->MENU2OPT7 . $request->MENU2OPT8 . "',
MENU3OPT='" . $request->MENU3OPT1 . $request->MENU3OPT2 . substr($iCM428M[0]->MENU3OPT, 2, -1) . "',
MENU4OPT='" . $request->MENU4OPT1 . $request->MENU4OPT2 . $request->MENU4OPT3 . substr($iCM428M[0]->MENU4OPT, 3, -1) . "',
MENU5OPT='" . $request->MENU5OPT1 . $request->MENU5OPT2 . $request->MENU5OPT3 . substr($iCM428M[0]->MENU5OPT, 3, 1) . $request->MENU5OPT5 . substr($iCM428M[0]->MENU5OPT, 5, -1) . "',
MENU6OPT='" . $request->MENU6OPT1 . $request->MENU6OPT2 . $request->MENU6OPT3 . substr($iCM428M[0]->MENU6OPT, 3, -1) . "',
R42811A='" . $request->R42811A . "',R42821A='" . $request->R42821A . "'
where R428US='$request->R428US'");
@@ -167,7 +171,7 @@ class userControlController extends Controller
public static function callCL(Request $request)
{
$PGMERRORS = '';
$pGMERRORS = '';
// connect to toolkit using DB2 credentials (can also leave blank for default authority)
try {
@@ -182,18 +186,17 @@ class userControlController extends Controller
case 8001:
// "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password
$PGMERRORS = self::AUTH_FAILURE_MESSAGE;
$pGMERRORS = self::AUTH_FAILURE_MESSAGE;
break;
case 42705:
$PGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
$pGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
break;
default:
$PGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
$pGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
break;
}
}
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
@@ -209,18 +212,16 @@ class userControlController extends Controller
// Add Delivery Note Param
// $params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn','','00000087125');
// Start Time Tracking
// $start = microtime(true);
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->PgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
if (! $result) {
$PGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
echo "<script>alert($PGMERRORS);</script>";
$pGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
echo "<script>alert($pGMERRORS);</script>";
return 'error';
exit();
@@ -238,9 +239,9 @@ class userControlController extends Controller
echo "<script>window.location.replace('.')</script>";
}
// if ($PGMERRORS!="") {
// // return back()->withMessage('Can not Create PR: '.$PGMERRORS);
// dump($PGMERRORS);
// if ($pGMERRORS!="") {
// // return back()->withMessage('Can not Create PR: '.$pGMERRORS);
// dump($pGMERRORS);
// }
// else{
// // return $AWREQN;
@@ -255,7 +256,7 @@ class userControlController extends Controller
ini_set('max_input_time', Config::get('arrays.PHPTimeOut'));
ini_set('default_socket_timeout', Config::get('arrays.PHPTimeOut'));
$PGMERRORS = '';
$pGMERRORS = '';
// echo "request="; var_dump($request);
@@ -276,13 +277,13 @@ class userControlController extends Controller
case 8001:
// "Authorization failure on distributed database connection attempt"
// Usually means a wrong DB2 user or password
$PGMERRORS = self::AUTH_FAILURE_MESSAGE;
$pGMERRORS = self::AUTH_FAILURE_MESSAGE;
break;
case 42705:
$PGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
$pGMERRORS = self::DATABASE_NOT_FOUND_MESSAGE;
break;
default:
$PGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
$pGMERRORS = self::CONNECTION_ERROR_PREFIX . $code . ' ' . $msg;
break;
}
}
@@ -296,9 +297,9 @@ class userControlController extends Controller
// echo "<script>alert('After CHGUSRPRF');</script>";
if (! $result) {
$PGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
dump($PGMERRORS);
echo "<script>alert($PGMERRORS);</script>";
$pGMERRORS = self::PROGRAM_ERROR_PREFIX . $conn->getErrorCode() . self::MESSAGE_SEPARATOR . $conn->getErrorMsg();
dump($pGMERRORS);
echo "<script>alert($pGMERRORS);</script>";
return 'error pwd';
}
@@ -308,6 +309,7 @@ class userControlController extends Controller
}
}
private static function programBridgeConnectionError(\Throwable $exception): string
{
$code = (int) $exception->getCode();
@@ -318,5 +320,4 @@ class userControlController extends Controller
default => 'error profile5',
};
}
}
@@ -34,7 +34,7 @@ class userPickingStats4 extends Controller
// Get Users from ICM428M
$co = '';
$whs = '';
$ICM428M = [];
$iCM428M = [];
$schema = Schema::connection(config('m3.connection', 'pgsql'));
if ($schema->hasTable('icm428m')) {
$profile = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
@@ -44,7 +44,7 @@ class userPickingStats4 extends Controller
$co = $profile->R428CO ?? '';
$whs = $profile->R428WH ?? '';
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->selectRaw("R428US as userprf, (trim(R428FIRST) || ' ' || trim(R428FAMILY)) as name, R428EMPCDE as empno")
->where('R428STS', 'A')->where('R428EMPCDE', '!=', 0)
->where('R428CO', $co)->where('R428WH', $whs)->get()->all();
@@ -53,7 +53,7 @@ class userPickingStats4 extends Controller
$user_array = [];
// while($row = odbc_fetch_object($result)) {
$x = 0;
foreach ($ICM428M as $key => $row) {
foreach ($iCM428M as $key => $row) {
$user_array[$x]['userprf'] = trim($row->USERPRF);
$user_array[$x]['name'] = trim($row->NAME);
$user_array[$x]['empno'] = $row->EMPNO;
@@ -92,7 +92,6 @@ class userPickingStats4 extends Controller
and oppno in ($payrollCodes)
group by oppno";
$lbpf1 = $schema->hasTable('lbpf')
? DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt)
: [];
@@ -110,8 +109,6 @@ class userPickingStats4 extends Controller
$statistic4 = [];
}
// initialize arrays
$monitor_array = $totals_array = $perf_array = [];
$totals_array['value'] = 0;
@@ -121,7 +118,6 @@ class userPickingStats4 extends Controller
$totals_array['entries'] = 0;
$diff = 0;
foreach ($lbpf1 as $key => $val) {
$monitor_array[$val->OPPNO]['tot_hours'] = $val->HRS;
// Initialize these variables in case not existant in statistic4
@@ -294,7 +290,6 @@ class userPickingStats4 extends Controller
$no_data = 'Y';
}
return view(
'm3::liberty-theme.pages.userPickingStats4',
compact('statistic4', 'starting', 'user', 'user_array', 'monitor_array', 'totals_array', 'perf_array', 'request', 'no_data'),
@@ -32,7 +32,13 @@ class userPickingStats5 extends Controller
$user_array = $userArray;
return view('m3::liberty-theme.pages.userPickingStats5', compact(
'statistic5', 'totals_array', 'user_array', 'user', 'starting', 'ending', 'request'
'statistic5',
'totals_array',
'user_array',
'user',
'starting',
'ending',
'request',
));
}
@@ -84,6 +90,7 @@ class userPickingStats5 extends Controller
}
$days = (int) (new DateTime($starting))->diff(new DateTime($ending))->format('%a');
return [$starting, $ending, $days];
}
@@ -128,6 +135,7 @@ class userPickingStats5 extends Controller
}
$data['day'] = $data['day'] ?? $date;
$data['performance'] = $data['performance'] ?? 0;
return $data;
}
@@ -14,16 +14,16 @@ class userProfileController extends Controller
// Get Current USER
$loggedUser = strtoupper(m3_user());
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL', 'R428FIRST', 'R428FAMILY')
->where('R428US', '=', $loggedUser)
->where('R42821A', '=', 'Y')
->first();
$IC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
$iC670M = DB::connection(config('m3.connection', 'pgsql'))->table('ic670m')->get();
// Check if user is eligible for Profile update
if (isset($ICM428M->R428US)) {
if (isset($iCM428M->R428US)) {
return view('m3::liberty-theme.pages.userProfile', compact('ICM428M', 'IC670M'));
} else {
abort(404);
@@ -34,18 +34,18 @@ class userProfileController extends Controller
public static function updateUserProfile(Request $request)
{
$R428US = isset($request->R428US) ? trim($request->R428US) : '';
$R428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$r428US = isset($request->R428US) ? trim($request->R428US) : '';
$r428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$R428CO = substr($R428DPW, 0, 3);
$R428PL = substr($R428DPW, 3, 3);
$R428WH = substr($R428DPW, 6, 3);
$r428CO = substr($r428DPW, 0, 3);
$r428PL = substr($r428DPW, 3, 3);
$r428WH = substr($r428DPW, 6, 3);
if ($R428US != '') {
if ($r428US != '') {
// Update record to ICM428M
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$R428CO', R428PL='$R428PL', R428WH='$R428WH'
where R428US='$R428US'");
set R428CO='$r428CO', R428PL='$r428PL', R428WH='$r428WH'
where R428US='$r428US'");
return redirect('/userprofile')->with('success', 'Profile updated successfully!');
} else {
@@ -57,18 +57,18 @@ class userProfileController extends Controller
public static function updateUserProfileAjax(Request $request)
{
$R428US = isset($request->R428US) ? trim($request->R428US) : '';
$R428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$r428US = isset($request->R428US) ? trim($request->R428US) : '';
$r428DPW = isset($request->R428DPW) ? trim($request->R428DPW) : '';
$R428CO = substr($R428DPW, 0, 3);
$R428PL = substr($R428DPW, 3, 3);
$R428WH = substr($R428DPW, 6, 3);
$r428CO = substr($r428DPW, 0, 3);
$r428PL = substr($r428DPW, 3, 3);
$r428WH = substr($r428DPW, 6, 3);
if ($R428US != '') {
if ($r428US != '') {
// Update record to ICM428M
DB::connection(config('m3.connection', 'pgsql'))->update("update ICM428M
set R428CO='$R428CO', R428PL='$R428PL', R428WH='$R428WH'
where R428US='$R428US'");
set R428CO='$r428CO', R428PL='$r428PL', R428WH='$r428WH'
where R428US='$r428US'");
return response()->json(['success' => true]);
} else {
@@ -24,8 +24,8 @@ class utilitiesContoller extends Controller
dd('SentM3Test');
// Get The Next ID by Calling POM002C
$PGMERRORS = '';
$AWREQN = '';
$pGMERRORS = '';
$aWREQN = '';
// connect to toolkit using DB2 credentials (can also leave blank for default authority)
try {
@@ -40,13 +40,13 @@ class utilitiesContoller 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;
}
}
@@ -66,7 +66,6 @@ class utilitiesContoller extends Controller
// Add Delivery Note Param
$params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
// Start Time Tracking
$start = microtime(true);
@@ -77,15 +76,15 @@ class utilitiesContoller extends Controller
$result = $conn->PgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
if (! $result) {
$PGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' Msg: ' . $conn->getErrorMsg();
$pGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' Msg: ' . $conn->getErrorMsg();
}
// Successful Call
else {
dump($result);
}
if ($PGMERRORS != '') {
dump($PGMERRORS);
if ($pGMERRORS != '') {
dump($pGMERRORS);
} else {
}
// Get Execution Time
@@ -142,39 +141,39 @@ class utilitiesContoller extends Controller
dump('Run Fix IMSENTPKR...');
$SHUSER = 'TWOSHIP';
$sHUSER = 'TWOSHIP';
// Get User CO & WH
// Get users from ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$DIVI = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '';
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '';
$dIVI = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
// Get Parts And Lots from ICM688M2
$ICM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2')
$iCM688M2SLTMP = DB::connection(config('m3.connection', 'pgsql'))->table('icm688m2')
->select('A5MACPKR', 'A5SENTPKR', 'A5PICKSTRD')
->distinct()
->where('A5CO', $DIVI)
->where('A5WHS', $WHS)
->where('A5CO', $dIVI)
->where('A5WHS', $wHS)
->where('A5PICKSTRD', '!=', '0')
->orderBy('A5PICKSTRD', 'ASC')
->get();
foreach ($ICM688M2SLTMP as $key => $ICM688M2SL) {
foreach ($iCM688M2SLTMP as $key => $ICM688M2SL) {
// $counter == 10 ? exit : '';
$A5MACPKR = isset($ICM688M2SL->A5MACPKR) ? $ICM688M2SL->A5MACPKR : '';
$A5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : '';
$a5MACPKR = isset($ICM688M2SL->A5MACPKR) ? $ICM688M2SL->A5MACPKR : '';
$a5SENTPKR = isset($ICM688M2SL->A5SENTPKR) ? $ICM688M2SL->A5SENTPKR : '';
dump('ICM688M2 Record: ' . $A5MACPKR . '-' . $A5SENTPKR);
dump('ICM688M2 Record: ' . $a5MACPKR . '-' . $a5SENTPKR);
$ICM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
->where('IMDELNO', '=', $A5MACPKR)
->update(['IMSENTPKR' => $A5SENTPKR]);
$iCM799MINS = DB::connection(config('m3.connection', 'pgsql'))->table('icm799m')
->where('IMDELNO', '=', $a5MACPKR)
->update(['IMSENTPKR' => $a5SENTPKR]);
}
}
@@ -192,27 +191,27 @@ class utilitiesContoller extends Controller
// Get the Calling User
// $userId = 'TWOSHIP';
// $SHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : '');
// $sHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : '');
// Get Manifest Array
$GSArray = $request->query();
$gSArray = $request->query();
$SHUSER = isset($GSArray['User']) ? trim($GSArray['User']) : '';
$sHUSER = isset($gSArray['User']) ? trim($gSArray['User']) : '';
if ($SHUSER != '') {
if ($sHUSER != '') {
// Get User CO & WH from Table ICM428M
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $SHUSER)
->where('R428US', '=', $sHUSER)
->first();
$R428US = isset($ICM428M->R428US) ? $ICM428M->R428US : ''; // User
$COMPANY = isset($ICM428M->R428CO) ? $ICM428M->R428CO : ''; // Company
$PLANT = isset($ICM428M->R428PL) ? $ICM428M->R428PL : ''; // Plant
$WHS = isset($ICM428M->R428WH) ? $ICM428M->R428WH : ''; // WareHouse
$r428US = isset($iCM428M->R428US) ? $iCM428M->R428US : ''; // User
$cOMPANY = isset($iCM428M->R428CO) ? $iCM428M->R428CO : ''; // Company
$pLANT = isset($iCM428M->R428PL) ? $iCM428M->R428PL : ''; // Plant
$wHS = isset($iCM428M->R428WH) ? $iCM428M->R428WH : ''; // WareHouse
$Macpkr = $GSArray['Macpkr'];
$packageType = trim($GSArray['packageType']); // 1 => Pallet , 0 => Carton
$macpkr = $gSArray['Macpkr'];
$packageType = trim($gSArray['packageType']); // 1 => Pallet , 0 => Carton
$packageTypeDesc = $packageType == 1 ? 'Pallet' : 'Carton';
$manufactID = '0826528'; // MAK : get ID from Nvent and save to Config File
$total_length = 9;
@@ -246,23 +245,23 @@ class utilitiesContoller extends Controller
<body style="font-family: Arial, sans-serif;">';
// Get number of Pallets
$packageCount = count($GSArray['PackagesArray']);
$packageCount = count($gSArray['PackagesArray']);
$packageNum = 1;
// Get GS1 Label MAX ID from ICM695M3 :
$GS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
$GS1SEQUENCE = isset($GS1SEQUENCESel) ? $GS1SEQUENCESel : 0;
$gS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
$gS1SEQUENCE = isset($gS1SEQUENCESel) ? $gS1SEQUENCESel : 0;
// Loop PackagesArray : Build Table for PDF and Insert to ICM695m3
foreach ($GSArray['PackagesArray'] as $key => $value) {
foreach ($gSArray['PackagesArray'] as $key => $value) {
$table_style = $packageNum < $packageCount ? ' style="page-break-after: always;" ' : '';
$A2INTBOX = trim($value);
$a2INTBOX = trim($value);
$GS1SEQUENCE++;
$GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, '0', STR_PAD_LEFT);
$gS1SEQUENCE++;
$gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, '0', STR_PAD_LEFT);
// Build GS1 18 Digits Code
$gs1_128_bc_1 = '00' . $packageType . $manufactID . $GS1SEQUENCEID;
$gs1_128_bc_1 = '00' . $packageType . $manufactID . $gS1SEQUENCEID;
// Calculate Check Digit
$digits = str_split($gs1_128_bc_1);
@@ -286,17 +285,17 @@ class utilitiesContoller extends Controller
// SSCC 18 Digits Code
$gs1_128_bc = $gs1_128_bc_1 . $checkDigit;
$gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $GS1SEQUENCEID . $checkDigit;
$gs1_128_bc_desc = '(00)' . $packageType . $manufactID . $gS1SEQUENCEID . $checkDigit;
$data = [
'ship_to' => $GSArray['Recipient_CompanyName'] . '<br>' . $GSArray['Recipient_Address1'] . '<br>' .
$GSArray['Recipient_City'] . ',' . $GSArray['Recipient_State']
. '<br>' . $GSArray['Recipient_PostalCode'],
'from' => $GSArray['Sender_CompanyName'] . '<br>' . $GSArray['Sender_Address1'] . '<br>' .
$GSArray['Sender_City'] . ',' . $GSArray['Sender_State']
. '<br>' . $GSArray['Sender_PostalCode'],
'ship_to_lbl' => '420' . $GSArray['Recipient_PostalCode'],
'ship_to_desc' => '(420)' . $GSArray['Recipient_PostalCode'],
'ship_to' => $gSArray['Recipient_CompanyName'] . '<br>' . $gSArray['Recipient_Address1'] . '<br>' .
$gSArray['Recipient_City'] . ',' . $gSArray['Recipient_State']
. '<br>' . $gSArray['Recipient_PostalCode'],
'from' => $gSArray['Sender_CompanyName'] . '<br>' . $gSArray['Sender_Address1'] . '<br>' .
$gSArray['Sender_City'] . ',' . $gSArray['Sender_State']
. '<br>' . $gSArray['Sender_PostalCode'],
'ship_to_lbl' => '420' . $gSArray['Recipient_PostalCode'],
'ship_to_desc' => '(420)' . $gSArray['Recipient_PostalCode'],
'pro' => '190071217845706', // MAK : Check missing info with Brad
'item_number' => '10000B',
'upc' => '098506095310',
@@ -328,15 +327,15 @@ class utilitiesContoller extends Controller
' . $data['ship_to_desc'] . '
</td>
<td class="border_btm margin_t align_lft">
Carrier: ' . $GSArray['CarrierName'] . ' <br>
PRO #: ' . $GSArray['trackingno'] . ' <br>
B/L #: ' . $GSArray['BOLnumber'] . ' <br>
Ref : ' . $A2INTBOX . '
Carrier: ' . $gSArray['CarrierName'] . ' <br>
PRO #: ' . $gSArray['trackingno'] . ' <br>
B/L #: ' . $gSArray['BOLnumber'] . ' <br>
Ref : ' . $a2INTBOX . '
</td>
</tr>
<tr>
<td colspan="4" class="border_btm margin_t align_lft">
PURCHASE ORDER: ' . $GSArray['ShipmentPONumber'] . ' <br>
PURCHASE ORDER: ' . $gSArray['ShipmentPONumber'] . ' <br>
Vendor: ' . $manufactID . '
</td>
</tr>
@@ -356,10 +355,10 @@ class utilitiesContoller extends Controller
$packageNum++;
// Insert new Record to ICM695M3 $gs1_128_bc
$ICM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
->insert(['A2CO' => $COMPANY, 'A2WHS' => $WHS, 'A2PLANT' => $PLANT, 'A2MACPKR' => $Macpkr, 'A2GS1LABEL' => $gs1_128_bc, 'A2INTBOX' => $A2INTBOX]);
$iCM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
->insert(['A2CO' => $cOMPANY, 'A2WHS' => $wHS, 'A2PLANT' => $pLANT, 'A2MACPKR' => $macpkr, 'A2GS1LABEL' => $gs1_128_bc, 'A2INTBOX' => $a2INTBOX]);
Log::channel('LabelCron')->info('<<< GS1-128...End of Label Creation for Mackpkr: ' . $Macpkr);
Log::channel('LabelCron')->info('<<< GS1-128...End of Label Creation for Mackpkr: ' . $macpkr);
}
$html .= '</body> </html>';
@@ -380,30 +379,29 @@ class utilitiesContoller extends Controller
$labelsPath = Config::get('arrays.PdfPath'); // '/www/sentm3live/htdocs/labels/';
// Put the PDF in labels/CarrierLabel
$GSFolder = 'GSLabel';
$gSFolder = 'GSLabel';
$carrierFileName = $GSFolder . '_' . $Macpkr . '_' . $COMPANY . '_' . $WHS . '_' . $A2INTBOX;
$carrierFileName = $gSFolder . '_' . $macpkr . '_' . $cOMPANY . '_' . $wHS . '_' . $a2INTBOX;
// LTL
// if ($packageType=='1') {
// $carrierFileName = $GSFolder.'_'.$Macpkr.'_'.$COMPANY.'_'.$WHS;
// $carrierFileName = $gSFolder.'_'.$macpkr.'_'.$cOMPANY.'_'.$wHS;
// }
// # small Packs
// else{
// $carrierFileName = $GSFolder.'_'.$Macpkr.'_'.$COMPANY.'_'.$WHS.'_'.$A2INTBOX;
// $carrierFileName = $gSFolder.'_'.$macpkr.'_'.$cOMPANY.'_'.$wHS.'_'.$a2INTBOX;
// }
$GS1FileName = $labelsPath . $GSFolder . '/' . $carrierFileName . '.pdf';
$GS1FileNameNoRoot = $GSFolder . '/' . $carrierFileName;
file_put_contents($GS1FileName, $pdfContent);
$gS1FileName = $labelsPath . $gSFolder . '/' . $carrierFileName . '.pdf';
$gS1FileNameNoRoot = $gSFolder . '/' . $carrierFileName;
file_put_contents($gS1FileName, $pdfContent);
ob_end_clean();
}
// # Insert new Record to ICM695M3 $gs1_128_bc
// $ICM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
// ->insert(['A2CO'=> $COMPANY,'A2WHS'=> $WHS,'A2MACPKR'=> $Macpkr,'A2GS1LABEL'=> $gs1_128_bc]);
// $iCM695M3SQLInsert = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
// ->insert(['A2CO'=> $cOMPANY,'A2WHS'=> $wHS,'A2MACPKR'=> $macpkr,'A2GS1LABEL'=> $gs1_128_bc]);
return json_encode(['result' => 'success', 'GS1File' => $GS1FileNameNoRoot]);
return json_encode(['result' => 'success', 'GS1File' => $gS1FileNameNoRoot]);
} catch (\Throwable $th) {
Log::channel('LabelCron')->error($th);
@@ -519,7 +517,6 @@ class utilitiesContoller extends Controller
</body>
</html>';
// Initialize Dompdf
$dompdf = new Dompdf;
$dompdf->loadHtml($html);
@@ -534,9 +531,9 @@ class utilitiesContoller extends Controller
// // return $pdfContent;
$labelsPath = '/www/sentm3live/htdocs/labels/';
// # Put the PDF in labels/CarrierLabel
$GSFolder = 'GSLabel';
$gSFolder = 'GSLabel';
$carrierFileName = 'GSLabel';
file_put_contents($labelsPath . $GSFolder . '/' . $carrierFileName . '.pdf', $pdfContent);
file_put_contents($labelsPath . $gSFolder . '/' . $carrierFileName . '.pdf', $pdfContent);
// Save the PDF string to a temporary file for debugging
// $tempPdfPath = tempnam(sys_get_temp_dir(), 'pdf') . '.pdf';
@@ -568,28 +565,28 @@ class utilitiesContoller extends Controller
{
// $total_length = 9;
// # MAK replace cache ID with MAX ID+1 from ICM695M3
// $GS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
// dump($GS1SEQUENCESel);
// $GS1SEQUENCE = isset($GS1SEQUENCESel) ? $GS1SEQUENCESel : 0;
// $GS1SEQUENCE++;
// $GS1SEQUENCEID = str_pad($GS1SEQUENCE, $total_length, "0", STR_PAD_LEFT);
// dump($GS1SEQUENCEID);
// $gS1SEQUENCESel = DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')->max('ID');
// dump($gS1SEQUENCESel);
// $gS1SEQUENCE = isset($gS1SEQUENCESel) ? $gS1SEQUENCESel : 0;
// $gS1SEQUENCE++;
// $gS1SEQUENCEID = str_pad($gS1SEQUENCE, $total_length, "0", STR_PAD_LEFT);
// dump($gS1SEQUENCEID);
// MAK Get Contents
// ESN1
// $AYMACPKR='888568'; // LTL example
// $AYMACPKR='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
// $AYMACPKR='1225311'; // parcel example
// $aYMACPKR='888568'; // LTL example
// $aYMACPKR='894337'; // another LTL example with smaller orders, therefore pallets are more mixed
// $aYMACPKR='1225311'; // parcel example
// ESN2
// $AYMACPKR='999999'; // LTL example
$AYMACPKR = '748101'; // LTL example
// $aYMACPKR='999999'; // LTL example
$aYMACPKR = '748101'; // LTL example
$myRequest = new Request;
$myRequest->setMethod('POST');
$myRequest->request->add([
'MACPKR' => $AYMACPKR,
'MACPKR' => $aYMACPKR,
]);
// Call the controller method properly
@@ -5,7 +5,6 @@ namespace Modules\M3\Http\Controllers;
use Config;
use DB;
use Illuminate\Http\Request;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
@@ -34,8 +33,8 @@ class whsePerfController extends Controller
from ICM711M
where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32';
$ICM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$USER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$iCM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$uSER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'");
$pct_array = Config::get('arrays.whsePerf_targets');
@@ -57,8 +56,8 @@ class whsePerfController extends Controller
from ICM711M
where AVDATE between ' . date('Ym', strtotime($date_in)) . '00 and ' . date('Ym', strtotime($date_in)) . '32';
$ICM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$USER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$iCM711M = DB::connection(config('m3.connection', 'pgsql'))->select($sqlstmt);
$uSER_INFO = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')->selectRaw('R428US as USERPRF, R428STS as STATUS, NULL as DATE_EXPIRED, NULL as EXPIRED')->get()->all();
$power_user = DB::connection(config('m3.connection', 'pgsql'))->select("select R428PWRUSR, R428CO, R428PL, R428WH from ICM428M where R428US='" . strtoupper(m3_user()) . "'");
$pct_array = Config::get('arrays.whsePerf_targets');
@@ -17,14 +17,14 @@ class whsePerfDetailsController extends Controller
$username = m3_user() !== '' ? Str::upper(trim(m3_user())) : '';
// Get Logged User CO & WH & PL
$ICM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
->where('R428US', '=', $username)
->first();
$co = isset($ICM428M->R428CO) ? $ICM428M->R428CO : '';
$whseno = isset($ICM428M->R428WH) ? $ICM428M->R428WH : '';
$plantno = isset($ICM428M->R428PL) ? $ICM428M->R428PL : '';
$co = isset($iCM428M->R428CO) ? $iCM428M->R428CO : '';
$whseno = isset($iCM428M->R428WH) ? $iCM428M->R428WH : '';
$plantno = isset($iCM428M->R428PL) ? $iCM428M->R428PL : '';
$all = "tempfile4 as (
select a5macpkr, a4shshnm, a4shipvia1, interco, a4shiptype, sum(dollarvalue) as dollarvalue, sum(weight) as weight, max(source) as source