M3 Integration fixes

This commit is contained in:
Mark Gregory
2026-09-21 11:33:28 +01:00
parent d8d970baad
commit 9368dd2f10
10 changed files with 46 additions and 38 deletions
@@ -260,7 +260,7 @@ class CloseShipment extends Controller
// ->get();
// PFC : Check that Picked / Packed are all Equal
foreach ($iCM688M2SL as $ICM688M2SLR) {
foreach ($iCM688M2SL as $key => $ICM688M2SLR) {
$a5PICKED = isset($ICM688M2SLR->A5PICKED) ? $ICM688M2SLR->A5PICKED : 0;
$a5RSVQTY = isset($ICM688M2SLR->A5RSVQTY) ? $ICM688M2SLR->A5RSVQTY : 0;
$a5ShortShipQty = (int) $a5RSVQTY - (int) $a5PICKED;
@@ -295,7 +295,7 @@ class CloseShipment extends Controller
->orderBy('AYINTBOX')
->get();
foreach ($iCM695M1JOINTMP as $key => $ICM695M1JOINR) {
foreach ($iCM695M1JOINTMP as $ICM695M1JOINR) {
$a4SHIPVIA = isset($ICM695M1JOINR->A4SHIPVIA) ? trim(str_replace('&', '_', $ICM695M1JOINR->A4SHIPVIA)) : '';
$sHIPTYPE = trim($ICM695M1JOINR->A4SHIPTYPE);
@@ -442,26 +442,26 @@ class M3Controller extends Controller
$conn->setOptions(['persistent' => false, 'stateless' => true, 'debug' => true, 'debugLogFile' => env('TOOLKIT_DEBUG_LOG')]);
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
// 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);
$params[] = $conn->addParameterChar('in', 11, 'PickerNumber', '', $pickerNumberNoZero);
// Start Time Tracking
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->PgmCall('ICM700CSBM', env('OBJLIB'), $params, [], []);
$result = $conn->pgmCall('ICM700CSBM', env('OBJLIB'), $params, [], []);
if (! $result) {
$pGMERRORS = 'Error calling program. Code: ' . $conn->getErrorCode() . ' - Msg: ' . $conn->getErrorMsg();
@@ -17,7 +17,7 @@ class ShipToController extends Controller
return Datatables::of($data)
->addIndexColumn()
->addColumn('checkbox', function ($row) {
->addColumn('checkbox', function () {
return '';
})
->addColumn('action', function ($row) {
@@ -87,14 +87,14 @@ class UserControlController extends Controller
}
$conn->setOptions(['persistent' => false, 'stateless' => true, 'debug' => true, 'debugLogFile' => '/www/sentm3test/htdocs/M3/storage/logs/toolkit_debug.log']);
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
$params[] = $conn->AddParameterChar('in', 10, 'User profile', 'E#iUsrPrf', $request->R428US);
$params[] = $conn->AddParameterChar('in', 20, 'First name', 'FIRST', $request->R428FIRST);
$params[] = $conn->AddParameterChar('in', 30, 'Family name', 'FAMILY', $request->R428FAMILY);
// # $result = $conn->PgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->PgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
$params[] = $conn->addParameterChar('in', 10, 'User profile', 'E#iUsrPrf', $request->R428US);
$params[] = $conn->addParameterChar('in', 20, 'First name', 'FIRST', $request->R428FIRST);
$params[] = $conn->addParameterChar('in', 30, 'Family name', 'FAMILY', $request->R428FAMILY);
// # $result = $conn->pgmCall(Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4'), $params, array(), array());
$result = $conn->pgmCall('ICMUSRPRF', 'EWOBJ', $params, [], []);
if (! $result) {
return 'error profile2';
@@ -175,15 +175,15 @@ class UserControlController extends Controller
}
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
// Add Warehouse Param
$params[] = $conn->AddParameterChar('in', 10, 'userid', 'USERID', $request->USERID);
$params[] = $conn->AddParameterChar('in', 1, 'action', 'ACTION', $request->ACTION);
$params[] = $conn->addParameterChar('in', 10, 'userid', 'USERID', $request->USERID);
$params[] = $conn->addParameterChar('in', 1, 'action', 'ACTION', $request->ACTION);
// AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
// Add Delivery Note Param
@@ -193,7 +193,7 @@ class UserControlController extends Controller
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->PgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
$result = $conn->pgmCall('ICMCHGPRF', 'EWOBJ', $params, [], []);
if (! $result) {
echo "<script>alert($pGMERRORS);</script>";
@@ -236,7 +236,7 @@ class UserControlController extends Controller
return self::programBridgeConnectionError($e);
}
$result = $conn->CLCommand('QSYS/CHGUSRPRF USRPRF(' . $request->R428US_PWD . ') PASSWORD(' . $request->NEW_PASSWORD . ') STATUS(*ENABLED) PWDEXP(*NO)');
$result = $conn->clCommand('QSYS/CHGUSRPRF USRPRF(' . $request->R428US_PWD . ') PASSWORD(' . $request->NEW_PASSWORD . ') STATUS(*ENABLED) PWDEXP(*NO)');
if (! $result) {
dump($pGMERRORS);
@@ -30,6 +30,7 @@ class UtilitiesController extends Controller
// Determine reason for failure.
// Probably database authentication error or invalid or unreachable database.
$code = $e->getCode();
$msg = $e->getMessage();
switch ($code) {
case 8001:
@@ -45,18 +46,18 @@ class UtilitiesController extends Controller
$conn->setOptions(['persistent' => false, 'stateless' => true, 'debug' => true, 'debugLogFile' => '/www/sentustesx/htdocs/storage/logs/toolkit_debug.log']);
// Add LIB
// $result = $conn->CLCommand('ADDLIBLE LIB(MPDAT10)');
// $result = $conn->clCommand('ADDLIBLE LIB(MPDAT10)');
// define several input/output params
$params = [];
// AddParameterChar($io, $size, $comment, $varName, $value, $varying, $dimension)
// Add Warehouse Param
$params[] = $conn->AddParameterChar('in', 3, 'eqNumber', '', '111');
$params[] = $conn->addParameterChar('in', 3, 'eqNumber', '', '111');
// AddParameterPackDec($io, $length, $scale, $comment, $varName, $value,$dimension)
// Add Delivery Note Param
$params[] = $conn->AddParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
$params[] = $conn->addParameterPackDec('in', 11, 0, 'ParamIn', '', '00000087125');
// Start Time Tracking
$start = microtime(true);
@@ -65,7 +66,7 @@ class UtilitiesController extends Controller
// Config::get('eproconf.misc.PGM1'), Config::get('eproconf.misc.libname4')
// ICM700C EWOBJTST ICM700C ICM700CSBM
$result = $conn->PgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
$result = $conn->pgmCall('ICM700CSBM', 'EWOBJTST', $params, [], []);
if (! $result) {
}
+13 -5
View File
@@ -22,25 +22,33 @@ class PostgresProgramBridge
public function setOptions(array $options): self
{
unset($options);
return $this;
}
public function AddParameterChar(string $io, int $size, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
public function addParameterChar(string $io, int $size, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
{
unset($rest);
return compact('io', 'size', 'comment', 'name', 'value');
}
public function AddParameterPackDec(string $io, int $length, int $scale, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
public function addParameterPackDec(string $io, int $length, int $scale, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
{
unset($rest);
return compact('io', 'length', 'scale', 'comment', 'name', 'value');
}
public function AddParameterZoned(string $io, int $length, int $scale, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
public function addParameterZoned(string $io, int $length, int $scale, string $comment = '', string $name = '', mixed $value = null, mixed ...$rest): array
{
unset($rest);
return compact('io', 'length', 'scale', 'comment', 'name', 'value');
}
public function PgmCall(string $program, ?string $library = null, array $parameters = [], array $returnParameters = [], array $options = []): array|false
public function pgmCall(string $program, ?string $library = null, array $parameters = [], array $returnParameters = [], array $options = []): array|false
{
return $this->queue('program', $program, $library, [
'parameters' => $parameters,
@@ -49,7 +57,7 @@ class PostgresProgramBridge
]);
}
public function CLCommand(string $command): array|false
public function clCommand(string $command): array|false
{
return $this->queue('command', $command, null, []);
}
+2 -2
View File
@@ -51,7 +51,7 @@ function renderWmsCharts() {
return;
}
const type = canvas.dataset.wmsChart;
const type = canvas.getAttribute('data-wms-chart');
const labels = parseJsonAttribute(canvas, 'data-labels');
const series = parseJsonAttribute(canvas, 'data-series');
const values = parseJsonAttribute(canvas, 'data-values');
@@ -146,7 +146,7 @@ function livewireComponentFor(element) {
let current = element;
while (current && current !== document.documentElement) {
if (current.hasAttribute && current.hasAttribute('wire:id')) {
if (current.hasAttribute?.('wire:id')) {
if (!window.Livewire) {
return null;
}
@@ -16,7 +16,7 @@
<div class="card-body">
<div class="wms-chart-card__canvas" style="height: {{ (int) $height }}px;">
<canvas data-wms-chart data-chart-type="{{ $type }}" data-chart-config='@json($config)'
aria-label="{{ $title }} chart" role="img"></canvas>
aria-label="{{ $title }} chart"></canvas>
</div>
</div>
</div>
+2 -3
View File
@@ -535,8 +535,7 @@
<body class="antialiased bg-white text-black">
<div data-dusk="page-ready" style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);"
aria-hidden="true"></div>
<div class="relative flex items-top justify-center min-h-screen bg-white text-black sm:items-center sm:pt-0"
role="main">
<main class="relative flex items-top justify-center min-h-screen bg-white text-black sm:items-center sm:pt-0">
<div class="max-w-xl mx-auto sm:px-6 lg:px-8">
<div class="flex items-center pt-8 sm:justify-start sm:pt-0">
<h1 class="px-4 text-lg text-black border-r border-gray-400">
@@ -548,7 +547,7 @@
</div>
</div>
</div>
</div>
</main>
</body>
</html>
@@ -38,14 +38,14 @@
@enderror
@if (filled($recoveryCodes))
<div class="grid gap-1 p-4 font-mono text-sm rounded-lg bg-zinc-100 dark:bg-white/5" role="list"
<ul class="grid gap-1 p-4 font-mono text-sm rounded-lg bg-zinc-100 dark:bg-white/5"
aria-label="{{ __('Recovery codes') }}">
@foreach ($recoveryCodes as $code)
<div role="listitem" class="select-text" wire:loading.class="opacity-50 animate-pulse">
<li class="select-text" wire:loading.class="opacity-50 animate-pulse">
{{ $code }}
</div>
</li>
@endforeach
</div>
</ul>
<flux:text variant="subtle" class="text-xs">
{{ __('Each recovery code can be used once to access your account and will be removed after use. If you need more, click Regenerate codes above.') }}
</flux:text>