M3 Integration fixes
This commit is contained in:
@@ -39,6 +39,14 @@ class FillBOL2Controller extends Controller
|
|||||||
|
|
||||||
}
|
}
|
||||||
private function bolData(Request $request, Request $bOL): array
|
private function bolData(Request $request, Request $bOL): array
|
||||||
|
{
|
||||||
|
return array_merge(
|
||||||
|
$this->bolPrimaryData($request, $bOL),
|
||||||
|
$this->bolRemainingData()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function bolPrimaryData(Request $request, Request $bOL): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'bol_number' => $request->input('BOL_number') ?? '1234567890',
|
'bol_number' => $request->input('BOL_number') ?? '1234567890',
|
||||||
@@ -138,7 +146,13 @@ Line 5',
|
|||||||
'LNITEMCLAS17' => '',
|
'LNITEMCLAS17' => '',
|
||||||
'TYPEANDESCPTN.17' => '',
|
'TYPEANDESCPTN.17' => '',
|
||||||
'PKGTYPECOUNT17' => '',
|
'PKGTYPECOUNT17' => '',
|
||||||
'LNITEMWT16' => '',
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
private function bolRemainingData(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'LNITEMWT16' => '',
|
||||||
'CLASSORATE16' => '',
|
'CLASSORATE16' => '',
|
||||||
'LNITEMCLAS16' => '',
|
'LNITEMCLAS16' => '',
|
||||||
'TYPEANDESCPTN.16' => '',
|
'TYPEANDESCPTN.16' => '',
|
||||||
@@ -225,7 +239,7 @@ Line 5',
|
|||||||
'BILLTOADDR' => '',
|
'BILLTOADDR' => '',
|
||||||
'NUMDROPS' => '',
|
'NUMDROPS' => '',
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,6 +55,14 @@ class FillBOLController extends Controller
|
|||||||
|
|
||||||
}
|
}
|
||||||
private static function bolFormData(Request $bOL): array
|
private static function bolFormData(Request $bOL): array
|
||||||
|
{
|
||||||
|
return array_merge(
|
||||||
|
self::bolPrimaryFields($bOL),
|
||||||
|
self::bolRemainingFields()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function bolPrimaryFields(Request $bOL): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'DTESHIPED.1' => date('d/m/Y'),
|
'DTESHIPED.1' => date('d/m/Y'),
|
||||||
@@ -125,7 +133,13 @@ class FillBOLController extends Controller
|
|||||||
'LNITEMCLAS17' => '',
|
'LNITEMCLAS17' => '',
|
||||||
'TYPEANDESCPTN.17' => '',
|
'TYPEANDESCPTN.17' => '',
|
||||||
'PKGTYPECOUNT17' => '',
|
'PKGTYPECOUNT17' => '',
|
||||||
'LNITEMWT16' => '',
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function bolRemainingFields(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'LNITEMWT16' => '',
|
||||||
'CLASSORATE16' => '',
|
'CLASSORATE16' => '',
|
||||||
'LNITEMCLAS16' => '',
|
'LNITEMCLAS16' => '',
|
||||||
'TYPEANDESCPTN.16' => '',
|
'TYPEANDESCPTN.16' => '',
|
||||||
@@ -212,7 +226,7 @@ class FillBOLController extends Controller
|
|||||||
'BILLTOADDR' => '',
|
'BILLTOADDR' => '',
|
||||||
'NUMDROPS' => '',
|
'NUMDROPS' => '',
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,17 +155,24 @@ class UtilitiesController extends Controller
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Log::channel('LabelCron')->info('>>> Run GS1 Label creation Command...');
|
Log::channel('LabelCron')->info('>>> Run GS1 Label creation Command...');
|
||||||
|
|
||||||
// Get the Calling User
|
|
||||||
// $userId = 'TWOSHIP';
|
|
||||||
// $sHUSER = isset($userId) ? $userId : (m3_user() !== '' ? Str::upper(trim(m3_user())) : '');
|
|
||||||
|
|
||||||
// Get Manifest Array
|
|
||||||
$gSArray = $request->query();
|
$gSArray = $request->query();
|
||||||
|
$sHUSER = trim((string) ($gSArray['User'] ?? ''));
|
||||||
|
$gS1FileNameNoRoot = '';
|
||||||
|
|
||||||
$sHUSER = isset($gSArray['User']) ? trim($gSArray['User']) : '';
|
if ($sHUSER !== '') {
|
||||||
|
$gS1FileNameNoRoot = self::generateGS128ForUser($gSArray, $sHUSER);
|
||||||
|
}
|
||||||
|
|
||||||
if ($sHUSER != '') {
|
return json_encode(['result' => 'success', 'GS1File' => $gS1FileNameNoRoot]);
|
||||||
|
} catch (\Throwable $th) {
|
||||||
|
Log::channel('LabelCron')->error($th);
|
||||||
|
|
||||||
|
return json_encode(['result' => 'error', 'GS1File' => $th]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function generateGS128ForUser(array $gSArray, string $sHUSER): string
|
||||||
|
{
|
||||||
// Get User CO & WH from Table ICM428M
|
// Get User CO & WH from Table ICM428M
|
||||||
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
|
$iCM428M = DB::connection(config('m3.connection', 'pgsql'))->table('icm428m')
|
||||||
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
|
->select('R428US', 'R428CO', 'R428WH', 'R428PL')
|
||||||
@@ -260,46 +267,11 @@ class UtilitiesController extends Controller
|
|||||||
$serialShippingContainerBarcode = $generator->getBarcode($data['serial_shipping_container'], $generator::TYPE_CODE_128, 2, 50);
|
$serialShippingContainerBarcode = $generator->getBarcode($data['serial_shipping_container'], $generator::TYPE_CODE_128, 2, 50);
|
||||||
|
|
||||||
// HTML content for the label
|
// HTML content for the label
|
||||||
$html .= '
|
$html .= self::gs128LabelHtml(
|
||||||
<table ' . $table_style . '>
|
$data, $gSArray, $a2INTBOX, $manufactID, $packageTypeDesc,
|
||||||
<tr>
|
$packageNum, $packageCount, $table_style,
|
||||||
<td colspan="2" class="border_btm border_rght align_lft">
|
$shipToPostalCodeBarcode, $serialShippingContainerBarcode
|
||||||
FROM:<br>' . $data['from'] . '
|
);
|
||||||
</td>
|
|
||||||
<td colspan="2" class="border_btm align_lft">
|
|
||||||
SHIP TO:<br>' . $data['ship_to'] . '
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="3" class="border_btm border_rght margin_t align_center">
|
|
||||||
<img src="data:image/png;base64,' . base64_encode($shipToPostalCodeBarcode) . '"> <br>
|
|
||||||
' . $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 . '
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="4" class="border_btm margin_t align_lft">
|
|
||||||
PURCHASE ORDER: ' . $gSArray['ShipmentPONumber'] . ' <br>
|
|
||||||
Vendor: ' . $manufactID . '
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="4" class="border_btm margin_t align_center">
|
|
||||||
' . $packageTypeDesc . ' # : ' . $packageNum . ' of ' . $packageCount . '
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="4" style="text-align: center;" class="margin_t">
|
|
||||||
<img src="data:image/png;base64,' . base64_encode($serialShippingContainerBarcode) . '"><br>
|
|
||||||
' . $data['serial_shipping_container'] . '
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>';
|
|
||||||
|
|
||||||
$packageNum++;
|
$packageNum++;
|
||||||
|
|
||||||
@@ -344,20 +316,55 @@ class UtilitiesController extends Controller
|
|||||||
$gS1FileNameNoRoot = $gSFolder . '/' . $carrierFileName;
|
$gS1FileNameNoRoot = $gSFolder . '/' . $carrierFileName;
|
||||||
file_put_contents($gS1FileName, $pdfContent);
|
file_put_contents($gS1FileName, $pdfContent);
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
|
|
||||||
|
return $gS1FileNameNoRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
// # Insert new Record to ICM695M3 $gs1_128_bc
|
private static function gs128LabelHtml(
|
||||||
// DB::connection(config('m3.connection', 'pgsql'))->table('icm695m3')
|
array $data, array $gSArray, string $a2INTBOX, string $manufactID,
|
||||||
// ->insert(['A2CO'=> $cOMPANY,'A2WHS'=> $wHS,'A2MACPKR'=> $macpkr,'A2GS1LABEL'=> $gs1_128_bc]);
|
string $packageTypeDesc, int $packageNum, int $packageCount, string $table_style,
|
||||||
|
string $shipToPostalCodeBarcode, string $serialShippingContainerBarcode
|
||||||
return json_encode(['result' => 'success', 'GS1File' => $gS1FileNameNoRoot]);
|
): string {
|
||||||
|
return '
|
||||||
} catch (\Throwable $th) {
|
<table ' . $table_style . '>
|
||||||
Log::channel('LabelCron')->error($th);
|
<tr>
|
||||||
|
<td colspan="2" class="border_btm border_rght align_lft">
|
||||||
return json_encode(['result' => 'error', 'GS1File' => $th]);
|
FROM:<br>' . $data['from'] . '
|
||||||
|
</td>
|
||||||
}
|
<td colspan="2" class="border_btm align_lft">
|
||||||
|
SHIP TO:<br>' . $data['ship_to'] . '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3" class="border_btm border_rght margin_t align_center">
|
||||||
|
<img src="data:image/png;base64,' . base64_encode($shipToPostalCodeBarcode) . '"> <br>
|
||||||
|
' . $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 . '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" class="border_btm margin_t align_lft">
|
||||||
|
PURCHASE ORDER: ' . $gSArray['ShipmentPONumber'] . ' <br>
|
||||||
|
Vendor: ' . $manufactID . '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" class="border_btm margin_t align_center">
|
||||||
|
' . $packageTypeDesc . ' # : ' . $packageNum . ' of ' . $packageCount . '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" style="text-align: center;" class="margin_t">
|
||||||
|
<img src="data:image/png;base64,' . base64_encode($serialShippingContainerBarcode) . '"><br>
|
||||||
|
' . $data['serial_shipping_container'] . '
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function gs1CheckDigit(string $value): int
|
private static function gs1CheckDigit(string $value): int
|
||||||
|
|||||||
@@ -102,7 +102,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
background: linear-gradient(135deg, rgba(15, 118, 110, 0.14), rgba(37, 99, 235, 0.12));
|
background: linear-gradient(135deg, rgba(15, 118, 110, 0.14), rgba(37, 99, 235, 0.12));
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
color: #00100f;
|
color: #000000;
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 1.35rem;
|
font-size: 1.35rem;
|
||||||
height: 56px;
|
height: 56px;
|
||||||
|
|||||||
@@ -4,10 +4,12 @@
|
|||||||
$isPlatformAdmin = $user !== null
|
$isPlatformAdmin = $user !== null
|
||||||
&& method_exists($user, 'isMpbaPlatformAdmin')
|
&& method_exists($user, 'isMpbaPlatformAdmin')
|
||||||
&& $user->isMpbaPlatformAdmin();
|
&& $user->isMpbaPlatformAdmin();
|
||||||
|
|
||||||
$dashboardRoute = Route::has('platform.dashboard') && $isPlatformAdmin
|
$dashboardRoute = Route::has('platform.dashboard') && $isPlatformAdmin
|
||||||
? 'platform.dashboard'
|
? 'platform.dashboard'
|
||||||
: (Route::has('dashboard') ? 'dashboard' : null);
|
: (Route::has('dashboard') ? 'dashboard' : null);
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
<header class="sticky top-0 z-40 border-b border-white/10 bg-[#111118]/95 backdrop-blur" role="banner">
|
<header class="sticky top-0 z-40 border-b border-white/10 bg-[#111118]/95 backdrop-blur" role="banner">
|
||||||
<div class="flex h-16 w-full items-center justify-between gap-3 px-3 sm:px-4 lg:px-6">
|
<div class="flex h-16 w-full items-center justify-between gap-3 px-3 sm:px-4 lg:px-6">
|
||||||
<div class="flex min-w-0 items-center gap-3 lg:hidden">
|
<div class="flex min-w-0 items-center gap-3 lg:hidden">
|
||||||
|
|||||||
Reference in New Issue
Block a user