Merge pull request 'ranjith-dev' (#1023) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 14s

Reviewed-on: #1023
This commit was merged in pull request #1023.
This commit is contained in:
2026-09-14 09:43:10 +00:00
36 changed files with 7202 additions and 785 deletions

View File

@@ -396,81 +396,81 @@ class Scheduler extends Command
}
//..Laser Stop Report
$laserStopReport = AlertMailRule::where('module', 'LaserStopAlert')
->where('rule_name', 'LaserStopAlertMail')
->select('plant', 'schedule_type', 'machine_id')
->distinct()
->get();
// $laserStopReport = AlertMailRule::where('module', 'LaserStopAlert')
// ->where('rule_name', 'LaserStopAlertMail')
// ->select('plant', 'schedule_type', 'machine_id')
// ->distinct()
// ->get();
foreach ($laserStopReport as $rule) {
switch ($rule->schedule_type) {
case 'Live':
// Run every minute
\Artisan::call('send:laser-stop-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
break;
case 'Hourly':
if (now()->minute == 0) {
\Artisan::call('send:laser-stop-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
}
break;
case 'Daily':
if (now()->format('H:i') == '07:59') {
\Artisan::call('send:laser-stop-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
}
break;
}
}
// foreach ($laserStopReport as $rule) {
// switch ($rule->schedule_type) {
// case 'Live':
// // Run every minute
// \Artisan::call('send:laser-stop-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// break;
// case 'Hourly':
// if (now()->minute == 0) {
// \Artisan::call('send:laser-stop-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// }
// break;
// case 'Daily':
// if (now()->format('H:i') == '07:59') {
// \Artisan::call('send:laser-stop-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// }
// break;
// }
// }
//..Laser Stop Final Report
// //..Laser Stop Final Report
$laserStopFinalReport = AlertMailRule::where('module', 'LaserStopReport')
->where('rule_name', 'LaserStopMail')
->select('plant', 'schedule_type', 'machine_id')
->distinct()
->get();
// $laserStopFinalReport = AlertMailRule::where('module', 'LaserStopReport')
// ->where('rule_name', 'LaserStopMail')
// ->select('plant', 'schedule_type', 'machine_id')
// ->distinct()
// ->get();
foreach ($laserStopFinalReport as $rule) {
switch ($rule->schedule_type) {
case 'Live':
// Run every minute
\Artisan::call('send:laser-stop-consolidate-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
break;
case 'Hourly':
if (now()->minute == 0) {
\Artisan::call('send:laser-stop-consolidate-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
}
break;
case 'Daily':
if (now()->format('H:i') == '08:00') {
\Artisan::call('send:laser-stop-consolidate-report', [
'schedule_type' => $rule->schedule_type,
'plant' => $rule->plant,
'machine_id' => $rule->machine_id,
]);
}
break;
}
}
// foreach ($laserStopFinalReport as $rule) {
// switch ($rule->schedule_type) {
// case 'Live':
// // Run every minute
// \Artisan::call('send:laser-stop-consolidate-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// break;
// case 'Hourly':
// if (now()->minute == 0) {
// \Artisan::call('send:laser-stop-consolidate-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// }
// break;
// case 'Daily':
// if (now()->format('H:i') == '08:00') {
// \Artisan::call('send:laser-stop-consolidate-report', [
// 'schedule_type' => $rule->schedule_type,
// 'plant' => $rule->plant,
// 'machine_id' => $rule->machine_id,
// ]);
// }
// break;
// }
// }
//..Panel Box Final Report

View File

@@ -311,13 +311,13 @@ class ClassCharacteristicExporter extends Exporter
->label('ZMM OPERATING TEMPERATURE'),
ExportColumn::make('zmm_axial_force')
->label('ZMM AXIAL FORCE'),
ExportColumn::make('is_stopped')
->label('IS STOPPED')
->formatStateUsing(fn ($state) => ($state == '0') ? 'No' : ($state == '1' ? 'Yes' : 'Yes (Alert Pending)')),
ExportColumn::make('stopped_datetime')
->label('STOPPED DATETIME'),
ExportColumn::make('stopped_by')
->label('STOPPED BY'),
// ExportColumn::make('is_stopped')
// ->label('IS STOPPED')
// ->formatStateUsing(fn ($state) => ($state == '0') ? 'No' : ($state == '1' ? 'Yes' : 'Yes (Alert Pending)')),
// ExportColumn::make('stopped_datetime')
// ->label('STOPPED DATETIME'),
// ExportColumn::make('stopped_by')
// ->label('STOPPED BY'),
ExportColumn::make('mark_status')
->label('MARKED STATUS'),
ExportColumn::make('marked_physical_count')
@@ -363,7 +363,14 @@ class ClassCharacteristicExporter extends Exporter
ExportColumn::make('name_plate_marked_by')
->label('NAME PLATE MARKED BY'),
ExportColumn::make('motor_pump_pumpset_status')
->label('MOTOR PUMP PUMPSET STATUS'),
->label('MOTOR PUMP PUMPSET STATUS')
->formatStateUsing(fn ($state): string => match ((string) $state) {
'1' => 'Motor',
'2' => 'Pump',
'3' => 'PumpSet',
'4' => 'Name Plate',
default => 'NIL',
}),
ExportColumn::make('winded_serial_number')
->label('WINDED SERIAL NUMBER'),
ExportColumn::make('winded_rework_status')
@@ -386,6 +393,36 @@ class ClassCharacteristicExporter extends Exporter
->label('PENDING RELEASED STATUS'),
ExportColumn::make('has_work_flow_id')
->label('HAS WORK FLOW ID'),
ExportColumn::make('motor_stop_flow_id')
->label('MOTOR STOP FLOW ID')
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
}),
ExportColumn::make('pump_stop_flow_id')
->label('PUMP STOP FLOW ID')
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
}),
ExportColumn::make('name_plate_stop_flow_id')
->label('NAME PLATE STOP FLOW ID')
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
}),
ExportColumn::make('created_at')
->label('CREATED AT'),
ExportColumn::make('created_by')

View File

@@ -247,6 +247,8 @@ class ItemCharacteristicExporter extends Exporter
->label('ZMM NEWT PUMP'),
ExportColumn::make('zmm_logo_nsf')
->label('ZMM LOGO NSF'),
ExportColumn::make('zmm_logo_eac')
->label('ZMM LOGO EAC'),
ExportColumn::make('zmm_packtype')
->label('ZMM PACK TYPE'),
ExportColumn::make('zmm_panel')
@@ -282,7 +284,11 @@ class ItemCharacteristicExporter extends Exporter
ExportColumn::make('zmm_motor_speed')
->label('ZMM MOTOR SPEED'),
ExportColumn::make('zqmm_qty')
->label('ZMM QTY'),
->label('ZQMM QTY'),
ExportColumn::make('zmm_operating_temperature')
->label('ZMM OPERATING TEMPERATURE'),
ExportColumn::make('zmm_axial_force')
->label('ZMM AXIAL FORCE'),
ExportColumn::make('zmm_1')
->label('ZMM 1')
->enabledByDefault(false),

View File

@@ -0,0 +1,333 @@
<?php
namespace App\Filament\Exports;
use App\Models\ProductionTemp;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Filament\Actions\Exports\Models\Export;
class ProductionTempExporter extends Exporter
{
protected static ?string $model = ProductionTemp::class;
public static function getColumns(): array
{
static $rowNumber = 0;
return [
ExportColumn::make('no')
->label('NO')
->state(function ($record) use (&$rowNumber) {
// Increment and return the row number
return ++$rowNumber;
}),
ExportColumn::make('plant.code')
->label('PLANT CODE'),
ExportColumn::make('machine.work_center')
->label('WORK CENTER'),
ExportColumn::make('item.code')
->label('ITEM CODE'),
ExportColumn::make('aufnr')
->label('AUFNR'),
ExportColumn::make('class')
->label('CLASS'),
ExportColumn::make('arbid')
->label('ARBID'),
ExportColumn::make('gamng')
->label('GAMNG'),
ExportColumn::make('lmnga')
->label('LMNGA'),
ExportColumn::make('gernr')
->label('GERNR'),
ExportColumn::make('zz1_cn_bill_ord')
->label('ZZ1 CN BILL ORD'),
ExportColumn::make('zmm_amps')
->label('ZMM AMPS'),
ExportColumn::make('zmm_brand')
->label('ZMM BRAND'),
ExportColumn::make('zmm_degreeofprotection')
->label('ZMM DEGREEOFPROTECTION'),
ExportColumn::make('zmm_delivery')
->label('ZMM DELIVERY'),
ExportColumn::make('zmm_dir_rot')
->label('ZMM DIR ROT'),
ExportColumn::make('zmm_discharge')
->label('ZMM DISCHARGE'),
ExportColumn::make('zmm_discharge_max')
->label('ZMM DISCHARGE MAX'),
ExportColumn::make('zmm_discharge_min')
->label('ZMM DISCHARGE MIN'),
ExportColumn::make('zmm_duty')
->label('ZMM DUTY'),
ExportColumn::make('zmm_eff_motor')
->label('ZMM EFF MOTOR'),
ExportColumn::make('zmm_eff_pump')
->label('ZMM EFF PUMP'),
ExportColumn::make('zmm_frequency')
->label('ZMM FREQUENCY'),
ExportColumn::make('zmm_head')
->label('ZMM HEAD'),
ExportColumn::make('zmm_heading')
->label('ZMM HEADING'),
ExportColumn::make('zmm_head_max')
->label('ZMM HEAD MAX'),
ExportColumn::make('zmm_head_minimum')
->label('ZMM HEAD MINIMUM'),
ExportColumn::make('zmm_idx_eff_mtr')
->label('ZMM IDX EFF MTR'),
ExportColumn::make('zmm_idx_eff_pump')
->label('ZMM IDX EFF PUMP'),
ExportColumn::make('zmm_kvacode')
->label('ZMM KVACODE'),
ExportColumn::make('zmm_maxambtemp')
->label('ZMM MAXAMBTEMP'),
ExportColumn::make('zmm_mincoolingflow')
->label('ZMM MINCOOLINGFLOW'),
ExportColumn::make('zmm_motorseries')
->label('ZMM MOTORSERIES'),
ExportColumn::make('zmm_motor_model')
->label('ZMM MOTOR MODEL'),
ExportColumn::make('zmm_outlet')
->label('ZMM OUTLET'),
ExportColumn::make('zmm_phase')
->label('ZMM PHASE'),
ExportColumn::make('zmm_pressure')
->label('ZMM PRESSURE'),
ExportColumn::make('zmm_pumpflowtype')
->label('ZMM PUMPFLOWTYPE'),
ExportColumn::make('zmm_pumpseries')
->label('ZMM PUMPSERIES'),
ExportColumn::make('zmm_pump_model')
->label('ZMM PUMP MODEL'),
ExportColumn::make('zmm_ratedpower')
->label('ZMM RATEDPOWER'),
ExportColumn::make('zmm_region')
->label('ZMM REGION'),
ExportColumn::make('zmm_servicefactor')
->label('ZMM SERVICEFACTOR'),
ExportColumn::make('zmm_servicefactormaximumamps')
->label('ZMM SERVICEFACTORMAXIMUMAMPS'),
ExportColumn::make('zmm_speed')
->label('ZMM SPEED'),
ExportColumn::make('zmm_suction')
->label('ZMM SUCTION'),
ExportColumn::make('zmm_suctionxdelivery')
->label('ZMM SUCTIONXDELIVERY'),
ExportColumn::make('zmm_supplysource')
->label('ZMM SUPPLYSOURCE'),
ExportColumn::make('zmm_temperature')
->label('ZMM TEMPERATURE'),
ExportColumn::make('zmm_thrustload')
->label('ZMM THRUSTLOAD'),
ExportColumn::make('zmm_volts')
->label('ZMM VOLTS'),
ExportColumn::make('zmm_wire')
->label('ZMM WIRE'),
ExportColumn::make('zmm_package')
->label('ZMM PACKAGE'),
ExportColumn::make('zmm_pvarrayrating')
->label('ZMM PVARRAYRATING'),
ExportColumn::make('zmm_isi')
->label('ZMM ISI'),
ExportColumn::make('zmm_isimotor')
->label('ZMM ISIMOTOR'),
ExportColumn::make('zmm_isipump')
->label('ZMM ISIPUMP'),
ExportColumn::make('zmm_isipumpset')
->label('ZMM ISIPUMPSET'),
ExportColumn::make('zmm_pumpset_model')
->label('ZMM PUMPSET MODEL'),
ExportColumn::make('zmm_stages')
->label('ZMM STAGES'),
ExportColumn::make('zmm_headrange')
->label('ZMM HEADRANGE'),
ExportColumn::make('zmm_overall_efficiency')
->label('ZMM OVERALL EFFICIENCY'),
ExportColumn::make('zmm_connection')
->label('ZMM CONNECTION'),
ExportColumn::make('zmm_min_bore_size')
->label('ZMM MIN BORE SIZE'),
ExportColumn::make('zmm_isireference')
->label('ZMM ISIREFERENCE'),
ExportColumn::make('zmm_category')
->label('ZMM CATEGORY'),
ExportColumn::make('zmm_submergence')
->label('ZMM SUBMERGENCE'),
ExportColumn::make('zmm_capacitorstart')
->label('ZMM CAPACITORSTART'),
ExportColumn::make('zmm_capacitorrun')
->label('ZMM CAPACITORRUN'),
ExportColumn::make('zmm_inch')
->label('ZMM INCH'),
ExportColumn::make('zmm_motor_type')
->label('ZMM MOTOR TYPE'),
ExportColumn::make('zmm_dismantle_direction')
->label('ZMM DISMANTLE DIRECTION'),
ExportColumn::make('zmm_eff_ovrall')
->label('ZMM EFF OVRALL'),
ExportColumn::make('zmm_bodymoc')
->label('ZMM BODYMOC'),
ExportColumn::make('zmm_rotormoc')
->label('ZMM ROTORMOC'),
ExportColumn::make('zmm_dlwl')
->label('ZMM DLWL'),
ExportColumn::make('zmm_inputpower')
->label('ZMM INPUTPOWER'),
ExportColumn::make('zmm_imp_od')
->label('ZMM IMP OD'),
ExportColumn::make('zmm_ambtemp')
->label('ZMM AMBTEMP'),
ExportColumn::make('zmm_de')
->label('ZMM DE'),
ExportColumn::make('zmm_dischargerange')
->label('ZMM DISCHARGERANGE'),
ExportColumn::make('zmm_efficiency_class')
->label('ZMM EFFICIENCY CLASS'),
ExportColumn::make('zmm_framesize')
->label('ZMM FRAMESIZE'),
ExportColumn::make('zmm_impellerdiameter')
->label('ZMM IMPELLERDIAMETER'),
ExportColumn::make('zmm_insulationclass')
->label('ZMM INSULATIONCLASS'),
ExportColumn::make('zmm_maxflow')
->label('ZMM MAXFLOW'),
ExportColumn::make('zmm_minhead')
->label('ZMM MINHEAD'),
ExportColumn::make('zmm_mtrlofconst')
->label('ZMM MTRLOFCONST'),
ExportColumn::make('zmm_nde')
->label('ZMM NDE'),
ExportColumn::make('zmm_powerfactor')
->label('ZMM POWERFACTOR'),
ExportColumn::make('zmm_tagno')
->label('ZMM TANGO'),
ExportColumn::make('zmm_year')
->label('ZMM YEAR'),
ExportColumn::make('zmm_laser_name')
->label('ZMM LASER NAME'),
ExportColumn::make('zmm_logo_cp')
->label('ZMM LOGO CP'),
ExportColumn::make('zmm_logo_ce')
->label('ZMM LOGO CE'),
ExportColumn::make('zmm_logo_nsf')
->label('ZMM LOGO NSF'),
ExportColumn::make('zmm_logo_eac')
->label('ZMM LOGO EAC'),
ExportColumn::make('zmm_beenote')
->label('ZMM BEENOTE'),
ExportColumn::make('zmm_beenumber')
->label('ZMM BEENUMBER'),
ExportColumn::make('zmm_beestar')
->label('ZMM BEESTAR'),
ExportColumn::make('zmm_codeclass')
->label('ZMM CODECLASS'),
ExportColumn::make('zmm_colour')
->label('ZMM COLOUR'),
ExportColumn::make('zmm_grade')
->label('ZMM GRADE'),
ExportColumn::make('zmm_grwt_pset')
->label('ZMM GRWT PSET'),
ExportColumn::make('zmm_grwt_cable')
->label('ZMM GRWT CABLE'),
ExportColumn::make('zmm_grwt_motor')
->label('ZMM GRWT MOTOR'),
ExportColumn::make('zmm_grwt_pf')
->label('ZMM GRWT PF'),
ExportColumn::make('zmm_grwt_pump')
->label('ZMM GRWT PUMP'),
ExportColumn::make('zmm_isivalve')
->label('ZMM ISIVALVE'),
ExportColumn::make('zmm_isi_wc')
->label('ZMM ISI WC'),
ExportColumn::make('zmm_labelperiod')
->label('ZMM LABELPERIOD'),
ExportColumn::make('zmm_length')
->label('ZMM LENGTH'),
ExportColumn::make('zmm_license_cml_no')
->label('ZMM LICENSE CML NO'),
ExportColumn::make('zmm_mfgmonyr')
->label('ZMM MFGMONYR'),
ExportColumn::make('zmm_modelyear')
->label('ZMM MODELYEAR'),
ExportColumn::make('zmm_motoridentification')
->label('ZMM MOTORIDENTIFICATION'),
ExportColumn::make('zmm_newt_pset')
->label('ZMM NEWT PSET'),
ExportColumn::make('zmm_newt_cable')
->label('ZMM NEWT CABLE'),
ExportColumn::make('zmm_newt_motor')
->label('ZMM NEWT MOTOR'),
ExportColumn::make('zmm_newt_pf')
->label('ZMM NEWT PF'),
ExportColumn::make('zmm_newt_pump')
->label('ZMM NEWT PUMP'),
ExportColumn::make('zmm_packtype')
->label('ZMM PACKTYPE'),
ExportColumn::make('zmm_panel')
->label('ZMM PANEL'),
ExportColumn::make('zmm_performance_factor')
->label('ZMM PERFORMANCE FACTOR'),
ExportColumn::make('zmm_pumpidentification')
->label('ZMM PUMPIDENTIFICATION'),
ExportColumn::make('zmm_psettype')
->label('ZMM PSETTYPE'),
ExportColumn::make('zmm_size')
->label('ZMM SIZE'),
ExportColumn::make('zmm_eff_ttl')
->label('ZMM EFF TTL'),
ExportColumn::make('zmm_type')
->label('ZMM TYPE'),
ExportColumn::make('zmm_usp')
->label('ZMM USP'),
ExportColumn::make('zmm_operating_range')
->label('ZMM OPERATING RANGE'),
ExportColumn::make('zmm_intake_air')
->label('ZMM INTAKE AIR'),
ExportColumn::make('zmm_oxygen_transfer_rate')
->label('ZMM OXYGEN TRANSFER RATE'),
ExportColumn::make('zmm_air_inlet_pipesize')
->label('ZMM AIR INLET PIPESIZE'),
ExportColumn::make('zmm_sump_depth')
->label('ZMM SUMP DEPTH'),
ExportColumn::make('zmm_poles')
->label('ZMM POLES'),
ExportColumn::make('zmm_motor_heading')
->label('ZMM MOTOR HEADING'),
ExportColumn::make('zmm_motor_speed')
->label('ZMM MOTOR SPEED'),
ExportColumn::make('zqmm_qty')
->label('ZQMM QTY'),
ExportColumn::make('zmm_operating_temperature')
->label('ZMM OPERATING TEMPERATURE'),
ExportColumn::make('zmm_axial_force')
->label('ZMM AXIAL FORCE'),
ExportColumn::make('pending_released_status')
->label('PENDING RELEASED STATUS'),
ExportColumn::make('created_at')
->label('CREATED AT'),
ExportColumn::make('created_by')
->label('CREATED BY'),
ExportColumn::make('updated_at')
->label('UPDATED AT')
->enabledByDefault(true),
ExportColumn::make('updated_by')
->label('UPDATED BY')
->enabledByDefault(true),
ExportColumn::make('deleted_at')
->label('DELETED AT')
->enabledByDefault(false),
];
}
public static function getCompletedNotificationBody(Export $export): string
{
$body = 'Your production temp export has completed and '.number_format($export->successful_rows).' '.str('row')->plural($export->successful_rows).' exported.';
if ($failedRowsCount = $export->getFailedRowsCount()) {
$body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to export.';
}
return $body;
}
}

View File

@@ -0,0 +1,77 @@
<?php
namespace App\Filament\Exports;
use App\Models\TempStopCharacteristic;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Filament\Actions\Exports\Models\Export;
class TempStopCharacteristicExporter extends Exporter
{
protected static ?string $model = TempStopCharacteristic::class;
public static function getColumns(): array
{
return [
// ExportColumn::make('id')
// ->label('ID'),
ExportColumn::make('no')
->label('NO')
->state(function ($record) use (&$rowNumber) {
// Increment and return the row number
return ++$rowNumber;
}),
ExportColumn::make('plant.code')
->label('PLANT CODE'),
ExportColumn::make('machine.work_center')
->label('WORK CENTER'),
ExportColumn::make('machine_name')
->label('MACHINE NAME'),
ExportColumn::make('has_stop_flow_id')
->label('HAS STOP FLOW ID'),
ExportColumn::make('item.code')
->label('ITEM CODE'),
ExportColumn::make('aufnr')
->label('JOB NUMBER'),
ExportColumn::make('gernr')
->label('SERIAL NUMBER'),
ExportColumn::make('zmm_heading')
->label('ZMM HEADING'),
ExportColumn::make('model_type')
->label('MODEL TYPE'),
ExportColumn::make('characteristic_field')
->label('MASTER CHARACTERISTIC FIELD'),
ExportColumn::make('samlight_logged_name')
->label('SAMLIGHT LOGGED NAME'),
ExportColumn::make('stopped_at')
->label('STOPPED AT'),
ExportColumn::make('stopped_by')
->label('STOPPED BY'),
ExportColumn::make('has_stop_flow_id')
->label('HAS STOP FLOW ID'),
ExportColumn::make('created_at')
->label('CREATED AT'),
ExportColumn::make('created_by')
->label('CREATED BY'),
ExportColumn::make('updated_at')
->label('UPDATED AT'),
ExportColumn::make('updated_by')
->label('UPDATED BY'),
ExportColumn::make('deleted_at')
->enabledByDefault(false)
->label('DELETED AT'),
];
}
public static function getCompletedNotificationBody(Export $export): string
{
$body = 'Your temp stop characteristic export has completed and '.number_format($export->successful_rows).' '.str('row')->plural($export->successful_rows).' exported.';
if ($failedRowsCount = $export->getFailedRowsCount()) {
$body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to export.';
}
return $body;
}
}

View File

@@ -583,18 +583,6 @@ class ClassCharacteristicImporter extends Importer
->label('ZMM AXIAL FORCE')
->exampleHeader('ZMM AXIAL FORCE')
->example(''),
ImportColumn::make('is_stopped')
->label('IS STOPPED')
->exampleHeader('IS STOPPED')
->example('0'),
ImportColumn::make('stopped_datetime')
->label('STOPPED DATETIME')
->exampleHeader('STOPPED DATETIME')
->example('01-01-2026 00:08:00'),
ImportColumn::make('stopped_by')
->label('STOPPED BY')
->exampleHeader('STOPPED BY')
->example(''),
ImportColumn::make('mark_status')
->label('MARKED STATUS')
->exampleHeader('MARKED STATUS')
@@ -731,6 +719,18 @@ class ClassCharacteristicImporter extends Importer
->label('HAS WORK FLOW ID')
->exampleHeader('HAS WORK FLOW ID')
->example('0'),
ImportColumn::make('motor_stop_flow_id')
->label('MOTOR STOP FLOW ID')
->exampleHeader('MOTOR STOP FLOW ID')
->example('5'),
ImportColumn::make('pump_stop_flow_id')
->label('PUMP STOP FLOW ID')
->exampleHeader('PUMP STOP FLOW ID')
->example('5'),
ImportColumn::make('name_plate_stop_flow_id')
->label('NAME PLATE STOP FLOW ID')
->exampleHeader('NAME PLATE STOP FLOW ID')
->example('5'),
ImportColumn::make('created_at')
->label('CREATED AT')
->exampleHeader('CREATED AT')

View File

@@ -16,141 +16,547 @@ class ItemCharacteristicImporter extends Importer
return [
ImportColumn::make('plant')
->requiredMapping()
->relationship()
->exampleHeader('PLANT CODE')
->example('1000')
->label('PLANT CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('item')
->requiredMapping()
->relationship()
->exampleHeader('ITEM CODE')
->example('630214')
->label('ITEM CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('class'),
ImportColumn::make('zz1_cn_bill_ord'),
ImportColumn::make('zmm_amps'),
ImportColumn::make('zmm_brand'),
ImportColumn::make('zmm_degreeofprotection'),
ImportColumn::make('zmm_delivery'),
ImportColumn::make('zmm_dir_rot'),
ImportColumn::make('zmm_discharge'),
ImportColumn::make('zmm_discharge_max'),
ImportColumn::make('zmm_discharge_min'),
ImportColumn::make('zmm_duty'),
ImportColumn::make('zmm_eff_motor'),
ImportColumn::make('zmm_eff_pump'),
ImportColumn::make('zmm_frequency'),
ImportColumn::make('zmm_head'),
ImportColumn::make('zmm_heading'),
ImportColumn::make('zmm_head_max'),
ImportColumn::make('zmm_head_minimum'),
ImportColumn::make('zmm_idx_eff_mtr'),
ImportColumn::make('zmm_idx_eff_pump'),
ImportColumn::make('zmm_kvacode'),
ImportColumn::make('zmm_maxambtemp'),
ImportColumn::make('zmm_mincoolingflow'),
ImportColumn::make('zmm_motorseries'),
ImportColumn::make('zmm_motor_model'),
ImportColumn::make('zmm_outlet'),
ImportColumn::make('zmm_phase'),
ImportColumn::make('zmm_pressure'),
ImportColumn::make('zmm_pumpflowtype'),
ImportColumn::make('zmm_pumpseries'),
ImportColumn::make('zmm_pump_model'),
ImportColumn::make('zmm_ratedpower'),
ImportColumn::make('zmm_region'),
ImportColumn::make('zmm_servicefactor'),
ImportColumn::make('zmm_servicefactormaximumamps'),
ImportColumn::make('zmm_speed'),
ImportColumn::make('zmm_suction'),
ImportColumn::make('zmm_suctionxdelivery'),
ImportColumn::make('zmm_supplysource'),
ImportColumn::make('zmm_temperature'),
ImportColumn::make('zmm_thrustload'),
ImportColumn::make('zmm_volts'),
ImportColumn::make('zmm_wire'),
ImportColumn::make('zmm_package'),
ImportColumn::make('zmm_pvarrayrating'),
ImportColumn::make('zmm_isi'),
ImportColumn::make('zmm_isimotor'),
ImportColumn::make('zmm_isipump'),
ImportColumn::make('zmm_isipumpset'),
ImportColumn::make('zmm_pumpset_model'),
ImportColumn::make('zmm_stages'),
ImportColumn::make('zmm_headrange'),
ImportColumn::make('zmm_overall_efficiency'),
ImportColumn::make('zmm_connection'),
ImportColumn::make('zmm_min_bore_size'),
ImportColumn::make('zmm_isireference'),
ImportColumn::make('zmm_category'),
ImportColumn::make('zmm_submergence'),
ImportColumn::make('zmm_capacitorstart'),
ImportColumn::make('zmm_capacitorrun'),
ImportColumn::make('zmm_inch'),
ImportColumn::make('zmm_motor_type'),
ImportColumn::make('zmm_dismantle_direction'),
ImportColumn::make('zmm_eff_ovrall'),
ImportColumn::make('zmm_bodymoc'),
ImportColumn::make('zmm_rotormoc'),
ImportColumn::make('zmm_dlwl'),
ImportColumn::make('zmm_inputpower'),
ImportColumn::make('zmm_imp_od'),
ImportColumn::make('zmm_ambtemp'),
ImportColumn::make('zmm_de'),
ImportColumn::make('zmm_dischargerange'),
ImportColumn::make('zmm_efficiency_class'),
ImportColumn::make('zmm_framesize'),
ImportColumn::make('zmm_impellerdiameter'),
ImportColumn::make('zmm_insulationclass'),
ImportColumn::make('zmm_maxflow'),
ImportColumn::make('zmm_minhead'),
ImportColumn::make('zmm_mtrlofconst'),
ImportColumn::make('zmm_nde'),
ImportColumn::make('zmm_powerfactor'),
ImportColumn::make('zmm_tagno'),
ImportColumn::make('zmm_year'),
ImportColumn::make('zmm_laser_name'),
ImportColumn::make('zmm_beenote'),
ImportColumn::make('zmm_beenumber'),
ImportColumn::make('zmm_beestar'),
ImportColumn::make('zmm_logo_ce'),
ImportColumn::make('zmm_codeclass'),
ImportColumn::make('zmm_colour'),
ImportColumn::make('zmm_logo_cp'),
ImportColumn::make('zmm_grade'),
ImportColumn::make('zmm_grwt_pset'),
ImportColumn::make('zmm_grwt_cable'),
ImportColumn::make('zmm_grwt_motor'),
ImportColumn::make('zmm_grwt_pf'),
ImportColumn::make('zmm_grwt_pump'),
ImportColumn::make('zmm_isivalve'),
ImportColumn::make('zmm_isi_wc'),
ImportColumn::make('zmm_labelperiod'),
ImportColumn::make('zmm_length'),
ImportColumn::make('zmm_license_cml_no'),
ImportColumn::make('zmm_mfgmonyr'),
ImportColumn::make('zmm_modelyear'),
ImportColumn::make('zmm_motoridentification'),
ImportColumn::make('zmm_newt_pset'),
ImportColumn::make('zmm_newt_cable'),
ImportColumn::make('zmm_newt_motor'),
ImportColumn::make('zmm_newt_pf'),
ImportColumn::make('zmm_newt_pump'),
ImportColumn::make('zmm_logo_nsf'),
ImportColumn::make('zmm_packtype'),
ImportColumn::make('zmm_panel'),
ImportColumn::make('zmm_performance_factor'),
ImportColumn::make('zmm_pumpidentification'),
ImportColumn::make('zmm_psettype'),
ImportColumn::make('zmm_size'),
ImportColumn::make('zmm_eff_ttl'),
ImportColumn::make('zmm_type'),
ImportColumn::make('zmm_usp'),
ImportColumn::make('zmm_operating_range'),
ImportColumn::make('zmm_intake_air'),
ImportColumn::make('zmm_oxygen_transfer_rate'),
ImportColumn::make('zmm_air_inlet_pipesize'),
ImportColumn::make('zmm_sump_depth'),
ImportColumn::make('zmm_poles'),
ImportColumn::make('zmm_motor_heading'),
ImportColumn::make('zmm_motor_speed'),
ImportColumn::make('zqmm_qty'),
ImportColumn::make('class')
->label('CLASS')
->exampleHeader('CLASS')
->example('ZLASER'),
ImportColumn::make('zz1_cn_bill_ord')
->label('ZZ1 CN BILL ORD')
->exampleHeader('ZZ1 CN BILL ORD')
->example('INDIA'),
ImportColumn::make('zmm_amps')
->label('ZMM AMPS')
->exampleHeader('ZMM AMPS')
->example('11A'),
ImportColumn::make('zmm_brand')
->label('ZMM BRAND')
->exampleHeader('ZMM BRAND')
->example('CRI'),
ImportColumn::make('zmm_degreeofprotection')
->label('ZMM DEGREEOFPROTECTION')
->exampleHeader('ZMM DEGREEOFPROTECTION')
->example('IP55'),
ImportColumn::make('zmm_delivery')
->label('ZMM DELIVERY')
->exampleHeader('ZMM DELIVERY')
->example('65MM'),
ImportColumn::make('zmm_dir_rot')
->label('ZMM DIR ROT')
->exampleHeader('ZMM DIR ROT')
->example(''),
ImportColumn::make('zmm_discharge')
->label('ZMM DISCHARGE')
->exampleHeader('ZMM DISCHARGE')
->example('17m³/h'),
ImportColumn::make('zmm_discharge_max')
->label('ZMM DISCHARGE MAX')
->exampleHeader('ZMM DISCHARGE MAX')
->example(''),
ImportColumn::make('zmm_discharge_min')
->label('ZMM DISCHARGE MIN')
->exampleHeader('ZMM DISCHARGE MIN')
->example(''),
ImportColumn::make('zmm_duty')
->label('ZMM DUTY')
->exampleHeader('ZMM DUTY')
->example('DUTY S1'),
ImportColumn::make('zmm_eff_motor')
->label('ZMM EFF MOTOR')
->exampleHeader('ZMM EFF MOTOR')
->example(''),
ImportColumn::make('zmm_eff_pump')
->label('ZMM EFF PUMP')
->exampleHeader('ZMM EFF PUMP')
->example(''),
ImportColumn::make('zmm_frequency')
->label('ZMM FREQUENCY')
->exampleHeader('ZMM FREQUENCY')
->example('50Hz'),
ImportColumn::make('zmm_head')
->label('ZMM HEAD')
->exampleHeader('ZMM HEAD')
->example('77M'),
ImportColumn::make('zmm_heading')
->label('ZMM HEADING')
->exampleHeader('ZMM HEADING')
->example('PRESSURE BOOSTER SYSTEM'),
ImportColumn::make('zmm_head_max')
->label('ZMM HEAD MAX')
->exampleHeader('ZMM HEAD MAX')
->example('96m'),
ImportColumn::make('zmm_head_minimum')
->label('ZMM HEAD MINIMUM')
->exampleHeader('ZMM HEAD MINIMUM')
->example(''),
ImportColumn::make('zmm_idx_eff_mtr')
->label('ZMM IDX EFF MTR')
->exampleHeader('ZMM IDX EFF MTR')
->example(''),
ImportColumn::make('zmm_idx_eff_pump')
->label('ZMM IDX EFF PUMP')
->exampleHeader('ZMM IDX EFF PUMP')
->example(''),
ImportColumn::make('zmm_kvacode')
->label('ZMM KVACODE')
->exampleHeader('ZMM KVACODE')
->example(''),
ImportColumn::make('zmm_maxambtemp')
->label('ZMM MAXAMBTEMP')
->exampleHeader('ZMM MAXAMBTEMP')
->example(''),
ImportColumn::make('zmm_mincoolingflow')
->label('ZMM MINCOOLINGFLOW')
->exampleHeader('ZMM MINCOOLINGFLOW')
->example(''),
ImportColumn::make('zmm_motorseries')
->label('ZMM MOTORSERIES')
->exampleHeader('ZMM MOTORSERIES')
->example(''),
ImportColumn::make('zmm_motor_model')
->label('ZMM MOTOR MODEL')
->exampleHeader('ZMM MOTOR MODEL')
->example(''),
ImportColumn::make('zmm_outlet')
->label('ZMM OUTLET')
->exampleHeader('ZMM OUTLET')
->example('IE2'),
ImportColumn::make('zmm_phase')
->label('ZMM PHASE')
->exampleHeader('ZMM PHASE')
->example('3Ph'),
ImportColumn::make('zmm_pressure')
->label('ZMM PRESSURE')
->exampleHeader('ZMM PRESSURE')
->example('16bar'),
ImportColumn::make('zmm_pumpflowtype')
->label('ZMM PUMPFLOWTYPE')
->exampleHeader('ZMM PUMPFLOWTYPE')
->example(''),
ImportColumn::make('zmm_pumpseries')
->label('ZMM PUMPSERIES')
->exampleHeader('ZMM PUMPSERIES')
->example(''),
ImportColumn::make('zmm_pump_model')
->label('ZMM PUMP MODEL')
->exampleHeader('ZMM PUMP MODEL')
->example('MVHS-15/07TR'),
ImportColumn::make('zmm_ratedpower')
->label('ZMM RATEDPOWER')
->exampleHeader('ZMM RATEDPOWER')
->example('5.5kW/7.5HP'),
ImportColumn::make('zmm_region')
->label('ZMM REGION')
->exampleHeader('ZMM REGION')
->example(''),
ImportColumn::make('zmm_servicefactor')
->label('ZMM SERVICEFACTOR')
->exampleHeader('ZMM SERVICEFACTOR')
->example(''),
ImportColumn::make('zmm_servicefactormaximumamps')
->label('ZMM SERVICEFACTORMAXIMUMAMPS')
->exampleHeader('ZMM SERVICEFACTORMAXIMUMAMPS')
->example(''),
ImportColumn::make('zmm_speed')
->label('ZMM SPEED')
->exampleHeader('ZMM SPEED')
->example('2900rpm'),
ImportColumn::make('zmm_suction')
->label('ZMM SUCTION')
->exampleHeader('ZMM SUCTION')
->example('65mm'),
ImportColumn::make('zmm_suctionxdelivery')
->label('ZMM SUCTIONXDELIVERY')
->exampleHeader('ZMM SUCTIONXDELIVERY')
->example('50 x 50mm'),
ImportColumn::make('zmm_supplysource')
->label('ZMM SUPPLYSOURCE')
->exampleHeader('ZMM SUPPLYSOURCE')
->example('AC SUPPLY'),
ImportColumn::make('zmm_temperature')
->label('ZMM TEMPERATURE')
->exampleHeader('ZMM TEMPERATURE')
->example('90°C'),
ImportColumn::make('zmm_thrustload')
->label('ZMM THRUSTLOAD')
->exampleHeader('ZMM THRUSTLOAD')
->example(''),
ImportColumn::make('zmm_volts')
->label('ZMM VOLTS')
->exampleHeader('ZMM VOLTS')
->example('415V'),
ImportColumn::make('zmm_wire')
->label('ZMM WIRE')
->exampleHeader('ZMM WIRE')
->example(''),
ImportColumn::make('zmm_package')
->label('ZMM PACKAGE')
->exampleHeader('ZMM PACKAGE')
->example(''),
ImportColumn::make('zmm_pvarrayrating')
->label('ZMM PVARRAYRATING')
->exampleHeader('ZMM PVARRAYRATING')
->example(''),
ImportColumn::make('zmm_isi')
->label('ZMM ISI')
->exampleHeader('ZMM ISI')
->example('Y'),
ImportColumn::make('zmm_isimotor')
->label('ZMM ISIMOTOR')
->exampleHeader('ZMM ISIMOTOR')
->example('IS:12615'),
ImportColumn::make('zmm_isipump')
->label('ZMM ISIPUMP')
->exampleHeader('ZMM ISIPUMP')
->example(''),
ImportColumn::make('zmm_isipumpset')
->label('ZMM ISIPUMPSET')
->exampleHeader('ZMM ISIPUMPSET')
->example('IS:12615'),
ImportColumn::make('zmm_pumpset_model')
->label('ZMM PUMPSET MODEL')
->exampleHeader('ZMM PUMPSET MODEL')
->example('MVHS-15/07TR'),
ImportColumn::make('zmm_stages')
->label('ZMM STAGES')
->exampleHeader('ZMM STAGES')
->example('7'),
ImportColumn::make('zmm_headrange')
->label('ZMM HEADRANGE')
->exampleHeader('ZMM HEADRANGE')
->example(''),
ImportColumn::make('zmm_overall_efficiency')
->label('ZMM OVERALL EFFICIENCY')
->exampleHeader('ZMM OVERALL EFFICIENCY')
->example(''),
ImportColumn::make('zmm_connection')
->label('ZMM CONNECTION')
->exampleHeader('ZMM CONNECTION')
->example('STAR/DELTA'),
ImportColumn::make('zmm_min_bore_size')
->label('ZMM MIN BORE SIZE')
->exampleHeader('ZMM MIN BORE SIZE')
->example(''),
ImportColumn::make('zmm_isireference')
->label('ZMM ISIREFERENCE')
->exampleHeader('ZMM ISIREFERENCE')
->example(''),
ImportColumn::make('zmm_category')
->label('ZMM CATEGORY')
->exampleHeader('ZMM CATEGORY')
->example('B'),
ImportColumn::make('zmm_submergence')
->label('ZMM SUBMERGENCE')
->exampleHeader('ZMM SUBMERGENCE')
->example(''),
ImportColumn::make('zmm_capacitorstart')
->label('ZMM CAPACITORSTART')
->exampleHeader('ZMM CAPACITORSTART')
->example(''),
ImportColumn::make('zmm_capacitorrun')
->label('ZMM CAPACITORRUN')
->exampleHeader('ZMM CAPACITORRUN')
->example(''),
ImportColumn::make('zmm_inch')
->label('ZMM INCH')
->exampleHeader('ZMM INCH')
->example(''),
ImportColumn::make('zmm_motor_type')
->label('ZMM MOTOR TYPE')
->exampleHeader('ZMM MOTOR TYPE')
->example('TEFC'),
ImportColumn::make('zmm_dismantle_direction')
->label('ZMM DISMANTLE DIRECTION')
->exampleHeader('ZMM DISMANTLE DIRECTION')
->example(''),
ImportColumn::make('zmm_eff_ovrall')
->label('ZMM EFF OVERALL')
->exampleHeader('ZMM EFF OVERALL')
->example(''),
ImportColumn::make('zmm_bodymoc')
->label('ZMM BODYMOC')
->exampleHeader('ZMM BODYMOC')
->example(''),
ImportColumn::make('zmm_rotormoc')
->label('ZMM ROTORMOC')
->exampleHeader('ZMM ROTORMOC')
->example(''),
ImportColumn::make('zmm_dlwl')
->label('ZMM DLWL')
->exampleHeader('ZMM DLWL')
->example(''),
ImportColumn::make('zmm_inputpower')
->label('ZMM INPUTPOWER')
->exampleHeader('ZMM INPUTPOWER')
->example(''),
ImportColumn::make('zmm_imp_od')
->label('ZMM IMP OD')
->exampleHeader('ZMM IMP OD')
->example(''),
ImportColumn::make('zmm_ambtemp')
->label('ZMM AMBTEMP')
->exampleHeader('ZMM AMBTEMP')
->example(''),
ImportColumn::make('zmm_de')
->label('ZMM DE')
->exampleHeader('ZMM DE')
->example(''),
ImportColumn::make('zmm_dischargerange')
->label('ZMM DISCHARGERANGE')
->exampleHeader('ZMM DISCHARGERANGE')
->example(''),
ImportColumn::make('zmm_efficiency_class')
->label('ZMM EFFICIENCY CLASS')
->exampleHeader('ZMM EFFICIENCY CLASS')
->example('IE2'),
ImportColumn::make('zmm_framesize')
->label('ZMM FRAMESIZE')
->exampleHeader('ZMM FRAMESIZE')
->example(''),
ImportColumn::make('zmm_impellerdiameter')
->label('ZMM IMPELLERDIAMETER')
->exampleHeader('ZMM IMPELLERDIAMETER')
->example(''),
ImportColumn::make('zmm_insulationclass')
->label('ZMM INSULATIONCLASS')
->exampleHeader('ZMM INSULATIONCLASS')
->example('F'),
ImportColumn::make('zmm_maxflow')
->label('ZMM MAXFLOW')
->exampleHeader('ZMM MAXFLOW')
->example(''),
ImportColumn::make('zmm_minhead')
->label('ZMM MINHEAD')
->exampleHeader('ZMM MINHEAD')
->example(''),
ImportColumn::make('zmm_mtrlofconst')
->label('ZMM MTRLOFCONST')
->exampleHeader('ZMM MTRLOFCONST')
->example(''),
ImportColumn::make('zmm_nde')
->label('ZMM NDE')
->exampleHeader('ZMM NDE')
->example(''),
ImportColumn::make('zmm_powerfactor')
->label('ZMM POWERFACTOR')
->exampleHeader('ZMM POWERFACTOR')
->example(''),
ImportColumn::make('zmm_tagno')
->label('ZMM TAGNO')
->exampleHeader('ZMM TAGNO')
->example(''),
ImportColumn::make('zmm_year')
->label('ZMM YEAR')
->exampleHeader('ZMM YEAR')
->example(''),
ImportColumn::make('zmm_laser_name')
->label('ZMM LASER NAME')
->exampleHeader('ZMM LASER NAME')
->example(''),
ImportColumn::make('zmm_beenote')
->label('ZMM BEENOTE')
->exampleHeader('ZMM BEENOTE')
->example(''),
ImportColumn::make('zmm_beenumber')
->label('ZMM BEENUMBER')
->exampleHeader('ZMM BEENUMBER')
->example(''),
ImportColumn::make('zmm_beestar')
->label('ZMM BEESTAR')
->exampleHeader('ZMM BEESTAR')
->example(''),
ImportColumn::make('zmm_logo_ce')
->label('ZMM LOGO CE')
->exampleHeader('ZMM LOGO CE')
->example('NO'),
ImportColumn::make('zmm_codeclass')
->label('ZMM CODECLASS')
->exampleHeader('ZMM CODECLASS')
->example(''),
ImportColumn::make('zmm_colour')
->label('ZMM COLOUR')
->exampleHeader('ZMM COLOUR')
->example(''),
ImportColumn::make('zmm_logo_cp')
->label('ZMM LOGO CP')
->exampleHeader('ZMM LOGO CP')
->example(''),
ImportColumn::make('zmm_grade')
->label('ZMM GRADE')
->exampleHeader('ZMM GRADE')
->example(''),
ImportColumn::make('zmm_grwt_pset')
->label('ZMM GRWT PSET')
->exampleHeader('ZMM GRWT PSET')
->example(''),
ImportColumn::make('zmm_grwt_cable')
->label('ZMM GRWT CABLE')
->exampleHeader('ZMM GRWT CABLE')
->example(''),
ImportColumn::make('zmm_grwt_motor')
->label('ZMM GRWT MOTOR')
->exampleHeader('ZMM GRWT MOTOR')
->example(''),
ImportColumn::make('zmm_grwt_pf')
->label('ZMM GRWT PF')
->exampleHeader('ZMM GRWT PF')
->example(''),
ImportColumn::make('zmm_grwt_pump')
->label('ZMM GRWT PUMP')
->exampleHeader('ZMM GRWT PUMP')
->example(''),
ImportColumn::make('zmm_isivalve')
->label('ZMM ISIVALVE')
->exampleHeader('ZMM ISIVALVE')
->example(''),
ImportColumn::make('zmm_isi_wc')
->label('ZMM ISI WC')
->exampleHeader('ZMM ISI WC')
->example(''),
ImportColumn::make('zmm_labelperiod')
->label('ZMM LABELPERIOD')
->exampleHeader('ZMM LABELPERIOD')
->example(''),
ImportColumn::make('zmm_length')
->label('ZMM LENGTH')
->exampleHeader('ZMM LENGTH')
->example(''),
ImportColumn::make('zmm_license_cml_no')
->label('ZMM LICENSE CML NO')
->exampleHeader('ZMM LICENSE CML NO')
->example(''),
ImportColumn::make('zmm_mfgmonyr')
->label('ZMM MFGMONYR')
->exampleHeader('ZMM MFGMONYR')
->example(''),
ImportColumn::make('zmm_modelyear')
->label('ZMM MODELYEAR')
->exampleHeader('ZMM MODELYEAR')
->example(''),
ImportColumn::make('zmm_motoridentification')
->label('ZMM MOTORIDENTIFICATION')
->exampleHeader('ZMM MOTORIDENTIFICATION')
->example(''),
ImportColumn::make('zmm_newt_pset')
->label('ZMM NEWT PSET')
->exampleHeader('ZMM NEWT PSET')
->example(''),
ImportColumn::make('zmm_newt_cable')
->label('ZMM NEWT CABLE')
->exampleHeader('ZMM NEWT CABLE')
->example(''),
ImportColumn::make('zmm_newt_motor')
->label('ZMM NEWT MOTOR')
->exampleHeader('ZMM NEWT MOTOR')
->example(''),
ImportColumn::make('zmm_newt_pf')
->label('ZMM NEWT PF')
->exampleHeader('ZMM NEWT PF')
->example(''),
ImportColumn::make('zmm_newt_pump')
->label('ZMM NEWT PUMP')
->exampleHeader('ZMM NEWT PUMP')
->example(''),
ImportColumn::make('zmm_logo_nsf')
->label('ZMM LOGO NSF')
->exampleHeader('ZMM LOGO NSF')
->example(''),
ImportColumn::make('zmm_logo_eac')
->label('ZMM LOGO EAC')
->exampleHeader('ZMM LOGO EAC')
->example(''),
ImportColumn::make('zmm_packtype')
->label('ZMM PACKTYPE')
->exampleHeader('ZMM PACKTYPE')
->example(''),
ImportColumn::make('zmm_panel')
->label('ZMM PANEL')
->exampleHeader('ZMM PANEL')
->example(''),
ImportColumn::make('zmm_performance_factor')
->label('ZMM PERFORMANCE FACTOR')
->exampleHeader('ZMM PERFORMANCE FACTOR')
->example(''),
ImportColumn::make('zmm_pumpidentification')
->label('ZMM PUMPIDENTIFICATION')
->exampleHeader('ZMM PUMPIDENTIFICATION')
->example(''),
ImportColumn::make('zmm_psettype')
->label('ZMM PSETTYPE')
->exampleHeader('ZMM PSETTYPE')
->example(''),
ImportColumn::make('zmm_size')
->label('ZMM SIZE')
->exampleHeader('ZMM SIZE')
->example(''),
ImportColumn::make('zmm_eff_ttl')
->label('ZMM EFF TTL')
->exampleHeader('ZMM EFF TTL')
->example(''),
ImportColumn::make('zmm_type')
->label('ZMM TYPE')
->exampleHeader('ZMM TYPE')
->example(''),
ImportColumn::make('zmm_usp')
->label('ZMM USP')
->exampleHeader('ZMM USP')
->example(''),
ImportColumn::make('zmm_operating_range')
->label('ZMM OPERATING RANGE')
->exampleHeader('ZMM OPERATING RANGE')
->example(''),
ImportColumn::make('zmm_intake_air')
->label('ZMM INTAKE AIR')
->exampleHeader('ZMM INTAKE AIR')
->example(''),
ImportColumn::make('zmm_oxygen_transfer_rate')
->label('ZMM OXYGEN TRANSFER RATE')
->exampleHeader('ZMM OXYGEN TRANSFER RATE')
->example(''),
ImportColumn::make('zmm_air_inlet_pipesize')
->label('ZMM AIR INLET PIPESIZE')
->exampleHeader('ZMM AIR INLET PIPESIZE')
->example(''),
ImportColumn::make('zmm_sump_depth')
->label('ZMM SUMP DEPTH')
->exampleHeader('ZMM SUMP DEPTH')
->example(''),
ImportColumn::make('zmm_poles')
->label('ZMM POLES')
->exampleHeader('ZMM POLES')
->example(''),
ImportColumn::make('zmm_motor_heading')
->label('ZMM MOTOR HEADING')
->exampleHeader('ZMM MOTOR HEADING')
->example(''),
ImportColumn::make('zmm_motor_speed')
->label('ZMM MOTOR SPEED')
->exampleHeader('ZMM MOTOR SPEED')
->example(''),
ImportColumn::make('zqmm_qty')
->label('ZQMM QTY')
->exampleHeader('ZQMM QTY')
->example(''),
ImportColumn::make('zmm_operating_temperature')
->label('ZMM OPERATING TEMPERATURE')
->exampleHeader('ZMM OPERATING TEMPERATURE')
->example(''),
ImportColumn::make('zmm_axial_force')
->label('ZMM AXIAL FORCE')
->exampleHeader('ZMM AXIAL FORCE')
->example(''),
ImportColumn::make('mrp'),
ImportColumn::make('zmm_1'),
ImportColumn::make('zmm_2'),
ImportColumn::make('zmm_3'),

View File

@@ -0,0 +1,621 @@
<?php
namespace App\Filament\Imports;
use App\Models\ProductionTemp;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import;
class ProductionTempImporter extends Importer
{
protected static ?string $model = ProductionTemp::class;
public static function getColumns(): array
{
return [
ImportColumn::make('plant')
->requiredMapping()
->exampleHeader('PLANT CODE')
->example('1000')
->label('PLANT CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('machine')
->requiredMapping()
->exampleHeader('WORK CENTER')
->example('RMGLAS01')
->label('WORK CENTER')
->relationship(resolveUsing: 'work_center')
->rules(['required']),
ImportColumn::make('item')
->requiredMapping()
->exampleHeader('ITEM CODE')
->example('630214')
->label('ITEM CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('aufnr')
->label('AUFNR')
->exampleHeader('AUFNR')
->example('1234567'),
ImportColumn::make('class')
->label('CLASS')
->exampleHeader('CLASS')
->example('ZLASER'),
ImportColumn::make('arbid')
->label('ARBID')
->exampleHeader('ARBID')
->example('LASER'),
ImportColumn::make('gamng')
->label('GAMNG')
->exampleHeader('GAMNG')
->example('1.000'),
ImportColumn::make('lmnga')
->label('LMNGA')
->exampleHeader('LMNGA')
->example('1'),
ImportColumn::make('gernr')
->label('GERNR')
->exampleHeader('GERNR')
->example('12345678901234'),
ImportColumn::make('zz1_cn_bill_ord')
->label('ZZ1 CN BILL ORD')
->exampleHeader('ZZ1 CN BILL ORD')
->example('INDIA'),
ImportColumn::make('zmm_amps')
->label('ZMM AMPS')
->exampleHeader('ZMM AMPS')
->example('11A'),
ImportColumn::make('zmm_brand')
->label('ZMM BRAND')
->exampleHeader('ZMM BRAND')
->example('CRI'),
ImportColumn::make('zmm_degreeofprotection')
->label('ZMM DEGREEOFPROTECTION')
->exampleHeader('ZMM DEGREEOFPROTECTION')
->example('IP55'),
ImportColumn::make('zmm_delivery')
->label('ZMM DELIVERY')
->exampleHeader('ZMM DELIVERY')
->example('65MM'),
ImportColumn::make('zmm_dir_rot')
->label('ZMM DIR ROT')
->exampleHeader('ZMM DIR ROT')
->example(''),
ImportColumn::make('zmm_discharge')
->label('ZMM DISCHARGE')
->exampleHeader('ZMM DISCHARGE')
->example('17m³/h'),
ImportColumn::make('zmm_discharge_max')
->label('ZMM DISCHARGE MAX')
->exampleHeader('ZMM DISCHARGE MAX')
->example(''),
ImportColumn::make('zmm_discharge_min')
->label('ZMM DISCHARGE MIN')
->exampleHeader('ZMM DISCHARGE MIN')
->example(''),
ImportColumn::make('zmm_duty')
->label('ZMM DUTY')
->exampleHeader('ZMM DUTY')
->example('DUTY S1'),
ImportColumn::make('zmm_eff_motor')
->label('ZMM EFF MOTOR')
->exampleHeader('ZMM EFF MOTOR')
->example(''),
ImportColumn::make('zmm_eff_pump')
->label('ZMM EFF PUMP')
->exampleHeader('ZMM EFF PUMP')
->example(''),
ImportColumn::make('zmm_frequency')
->label('ZMM FREQUENCY')
->exampleHeader('ZMM FREQUENCY')
->example('50Hz'),
ImportColumn::make('zmm_head')
->label('ZMM HEAD')
->exampleHeader('ZMM HEAD')
->example('77M'),
ImportColumn::make('zmm_heading')
->label('ZMM HEADING')
->exampleHeader('ZMM HEADING')
->example('PRESSURE BOOSTER SYSTEM'),
ImportColumn::make('zmm_head_max')
->label('ZMM HEAD MAX')
->exampleHeader('ZMM HEAD MAX')
->example('96m'),
ImportColumn::make('zmm_head_minimum')
->label('ZMM HEAD MINIMUM')
->exampleHeader('ZMM HEAD MINIMUM')
->example(''),
ImportColumn::make('zmm_idx_eff_mtr')
->label('ZMM IDX EFF MTR')
->exampleHeader('ZMM IDX EFF MTR')
->example(''),
ImportColumn::make('zmm_idx_eff_pump')
->label('ZMM IDX EFF PUMP')
->exampleHeader('ZMM IDX EFF PUMP')
->example(''),
ImportColumn::make('zmm_kvacode')
->label('ZMM KVACODE')
->exampleHeader('ZMM KVACODE')
->example(''),
ImportColumn::make('zmm_maxambtemp')
->label('ZMM MAXAMBTEMP')
->exampleHeader('ZMM MAXAMBTEMP')
->example(''),
ImportColumn::make('zmm_mincoolingflow')
->label('ZMM MINCOOLINGFLOW')
->exampleHeader('ZMM MINCOOLINGFLOW')
->example(''),
ImportColumn::make('zmm_motorseries')
->label('ZMM MOTORSERIES')
->exampleHeader('ZMM MOTORSERIES')
->example(''),
ImportColumn::make('zmm_motor_model')
->label('ZMM MOTOR MODEL')
->exampleHeader('ZMM MOTOR MODEL')
->example(''),
ImportColumn::make('zmm_outlet')
->label('ZMM OUTLET')
->exampleHeader('ZMM OUTLET')
->example('IE2'),
ImportColumn::make('zmm_phase')
->label('ZMM PHASE')
->exampleHeader('ZMM PHASE')
->example('3Ph'),
ImportColumn::make('zmm_pressure')
->label('ZMM PRESSURE')
->exampleHeader('ZMM PRESSURE')
->example('16bar'),
ImportColumn::make('zmm_pumpflowtype')
->label('ZMM PUMPFLOWTYPE')
->exampleHeader('ZMM PUMPFLOWTYPE')
->example(''),
ImportColumn::make('zmm_pumpseries')
->label('ZMM PUMPSERIES')
->exampleHeader('ZMM PUMPSERIES')
->example(''),
ImportColumn::make('zmm_pump_model')
->label('ZMM PUMP MODEL')
->exampleHeader('ZMM PUMP MODEL')
->example('MVHS-15/07TR'),
ImportColumn::make('zmm_ratedpower')
->label('ZMM RATEDPOWER')
->exampleHeader('ZMM RATEDPOWER')
->example('5.5kW/7.5HP'),
ImportColumn::make('zmm_region')
->label('ZMM REGION')
->exampleHeader('ZMM REGION')
->example(''),
ImportColumn::make('zmm_servicefactor')
->label('ZMM SERVICEFACTOR')
->exampleHeader('ZMM SERVICEFACTOR')
->example(''),
ImportColumn::make('zmm_servicefactormaximumamps')
->label('ZMM SERVICEFACTORMAXIMUMAMPS')
->exampleHeader('ZMM SERVICEFACTORMAXIMUMAMPS')
->example(''),
ImportColumn::make('zmm_speed')
->label('ZMM SPEED')
->exampleHeader('ZMM SPEED')
->example('2900rpm'),
ImportColumn::make('zmm_suction')
->label('ZMM SUCTION')
->exampleHeader('ZMM SUCTION')
->example('65mm'),
ImportColumn::make('zmm_suctionxdelivery')
->label('ZMM SUCTIONXDELIVERY')
->exampleHeader('ZMM SUCTIONXDELIVERY')
->example('50 x 50mm'),
ImportColumn::make('zmm_supplysource')
->label('ZMM SUPPLYSOURCE')
->exampleHeader('ZMM SUPPLYSOURCE')
->example('AC SUPPLY'),
ImportColumn::make('zmm_temperature')
->label('ZMM TEMPERATURE')
->exampleHeader('ZMM TEMPERATURE')
->example('90°C'),
ImportColumn::make('zmm_thrustload')
->label('ZMM THRUSTLOAD')
->exampleHeader('ZMM THRUSTLOAD')
->example(''),
ImportColumn::make('zmm_volts')
->label('ZMM VOLTS')
->exampleHeader('ZMM VOLTS')
->example('415V'),
ImportColumn::make('zmm_wire')
->label('ZMM WIRE')
->exampleHeader('ZMM WIRE')
->example(''),
ImportColumn::make('zmm_package')
->label('ZMM PACKAGE')
->exampleHeader('ZMM PACKAGE')
->example(''),
ImportColumn::make('zmm_pvarrayrating')
->label('ZMM PVARRAYRATING')
->exampleHeader('ZMM PVARRAYRATING')
->example(''),
ImportColumn::make('zmm_isi')
->label('ZMM ISI')
->exampleHeader('ZMM ISI')
->example('Y'),
ImportColumn::make('zmm_isimotor')
->label('ZMM ISIMOTOR')
->exampleHeader('ZMM ISIMOTOR')
->example('IS:12615'),
ImportColumn::make('zmm_isipump')
->label('ZMM ISIPUMP')
->exampleHeader('ZMM ISIPUMP')
->example(''),
ImportColumn::make('zmm_isipumpset')
->label('ZMM ISIPUMPSET')
->exampleHeader('ZMM ISIPUMPSET')
->example('IS:12615'),
ImportColumn::make('zmm_pumpset_model')
->label('ZMM PUMPSET MODEL')
->exampleHeader('ZMM PUMPSET MODEL')
->example('MVHS-15/07TR'),
ImportColumn::make('zmm_stages')
->label('ZMM STAGES')
->exampleHeader('ZMM STAGES')
->example('7'),
ImportColumn::make('zmm_headrange')
->label('ZMM HEADRANGE')
->exampleHeader('ZMM HEADRANGE')
->example(''),
ImportColumn::make('zmm_overall_efficiency')
->label('ZMM OVERALL EFFICIENCY')
->exampleHeader('ZMM OVERALL EFFICIENCY')
->example(''),
ImportColumn::make('zmm_connection')
->label('ZMM CONNECTION')
->exampleHeader('ZMM CONNECTION')
->example('STAR/DELTA'),
ImportColumn::make('zmm_min_bore_size')
->label('ZMM MIN BORE SIZE')
->exampleHeader('ZMM MIN BORE SIZE')
->example(''),
ImportColumn::make('zmm_isireference')
->label('ZMM ISIREFERENCE')
->exampleHeader('ZMM ISIREFERENCE')
->example(''),
ImportColumn::make('zmm_category')
->label('ZMM CATEGORY')
->exampleHeader('ZMM CATEGORY')
->example('B'),
ImportColumn::make('zmm_submergence')
->label('ZMM SUBMERGENCE')
->exampleHeader('ZMM SUBMERGENCE')
->example(''),
ImportColumn::make('zmm_capacitorstart')
->label('ZMM CAPACITORSTART')
->exampleHeader('ZMM CAPACITORSTART')
->example(''),
ImportColumn::make('zmm_capacitorrun')
->label('ZMM CAPACITORRUN')
->exampleHeader('ZMM CAPACITORRUN')
->example(''),
ImportColumn::make('zmm_inch')
->label('ZMM INCH')
->exampleHeader('ZMM INCH')
->example(''),
ImportColumn::make('zmm_motor_type')
->label('ZMM MOTOR TYPE')
->exampleHeader('ZMM MOTOR TYPE')
->example('TEFC'),
ImportColumn::make('zmm_dismantle_direction')
->label('ZMM DISMANTLE DIRECTION')
->exampleHeader('ZMM DISMANTLE DIRECTION')
->example(''),
ImportColumn::make('zmm_eff_ovrall')
->label('ZMM EFF OVERALL')
->exampleHeader('ZMM EFF OVERALL')
->example(''),
ImportColumn::make('zmm_bodymoc')
->label('ZMM BODYMOC')
->exampleHeader('ZMM BODYMOC')
->example(''),
ImportColumn::make('zmm_rotormoc')
->label('ZMM ROTORMOC')
->exampleHeader('ZMM ROTORMOC')
->example(''),
ImportColumn::make('zmm_dlwl')
->label('ZMM DLWL')
->exampleHeader('ZMM DLWL')
->example(''),
ImportColumn::make('zmm_inputpower')
->label('ZMM INPUTPOWER')
->exampleHeader('ZMM INPUTPOWER')
->example(''),
ImportColumn::make('zmm_imp_od')
->label('ZMM IMP OD')
->exampleHeader('ZMM IMP OD')
->example(''),
ImportColumn::make('zmm_ambtemp')
->label('ZMM AMBTEMP')
->exampleHeader('ZMM AMBTEMP')
->example(''),
ImportColumn::make('zmm_de')
->label('ZMM DE')
->exampleHeader('ZMM DE')
->example(''),
ImportColumn::make('zmm_dischargerange')
->label('ZMM DISCHARGERANGE')
->exampleHeader('ZMM DISCHARGERANGE')
->example(''),
ImportColumn::make('zmm_efficiency_class')
->label('ZMM EFFICIENCY CLASS')
->exampleHeader('ZMM EFFICIENCY CLASS')
->example('IE2'),
ImportColumn::make('zmm_framesize')
->label('ZMM FRAMESIZE')
->exampleHeader('ZMM FRAMESIZE')
->example(''),
ImportColumn::make('zmm_impellerdiameter')
->label('ZMM IMPELLERDIAMETER')
->exampleHeader('ZMM IMPELLERDIAMETER')
->example(''),
ImportColumn::make('zmm_insulationclass')
->label('ZMM INSULATIONCLASS')
->exampleHeader('ZMM INSULATIONCLASS')
->example('F'),
ImportColumn::make('zmm_maxflow')
->label('ZMM MAXFLOW')
->exampleHeader('ZMM MAXFLOW')
->example(''),
ImportColumn::make('zmm_minhead')
->label('ZMM MINHEAD')
->exampleHeader('ZMM MINHEAD')
->example(''),
ImportColumn::make('zmm_mtrlofconst')
->label('ZMM MTRLOFCONST')
->exampleHeader('ZMM MTRLOFCONST')
->example(''),
ImportColumn::make('zmm_nde')
->label('ZMM NDE')
->exampleHeader('ZMM NDE')
->example(''),
ImportColumn::make('zmm_powerfactor')
->label('ZMM POWERFACTOR')
->exampleHeader('ZMM POWERFACTOR')
->example(''),
ImportColumn::make('zmm_tagno')
->label('ZMM TAGNO')
->exampleHeader('ZMM TAGNO')
->example(''),
ImportColumn::make('zmm_year')
->label('ZMM YEAR')
->exampleHeader('ZMM YEAR')
->example(''),
ImportColumn::make('zmm_laser_name')
->label('ZMM LASER NAME')
->exampleHeader('ZMM LASER NAME')
->example(''),
ImportColumn::make('zmm_logo_cp')
->label('ZMM LOGO CP')
->exampleHeader('ZMM LOGO CP')
->example(''),
ImportColumn::make('zmm_logo_ce')
->label('ZMM LOGO CE')
->exampleHeader('ZMM LOGO CE')
->example('NO'),
ImportColumn::make('zmm_logo_nsf')
->label('ZMM LOGO NSF')
->exampleHeader('ZMM LOGO NSF')
->example(''),
ImportColumn::make('zmm_logo_eac')
->label('ZMM LOGO EAC')
->exampleHeader('ZMM LOGO EAC')
->example(''),
ImportColumn::make('zmm_beenote')
->label('ZMM BEENOTE')
->exampleHeader('ZMM BEENOTE')
->example(''),
ImportColumn::make('zmm_beenumber')
->label('ZMM BEENUMBER')
->exampleHeader('ZMM BEENUMBER')
->example(''),
ImportColumn::make('zmm_beestar')
->label('ZMM BEESTAR')
->exampleHeader('ZMM BEESTAR')
->example(''),
ImportColumn::make('zmm_codeclass')
->label('ZMM CODECLASS')
->exampleHeader('ZMM CODECLASS')
->example(''),
ImportColumn::make('zmm_colour')
->label('ZMM COLOUR')
->exampleHeader('ZMM COLOUR')
->example(''),
ImportColumn::make('zmm_grade')
->label('ZMM GRADE')
->exampleHeader('ZMM GRADE')
->example(''),
ImportColumn::make('zmm_grwt_pset')
->label('ZMM GRWT PSET')
->exampleHeader('ZMM GRWT PSET')
->example(''),
ImportColumn::make('zmm_grwt_cable')
->label('ZMM GRWT CABLE')
->exampleHeader('ZMM GRWT CABLE')
->example(''),
ImportColumn::make('zmm_grwt_motor')
->label('ZMM GRWT MOTOR')
->exampleHeader('ZMM GRWT MOTOR')
->example(''),
ImportColumn::make('zmm_grwt_pf')
->label('ZMM GRWT PF')
->exampleHeader('ZMM GRWT PF')
->example(''),
ImportColumn::make('zmm_grwt_pump')
->label('ZMM GRWT PUMP')
->exampleHeader('ZMM GRWT PUMP')
->example(''),
ImportColumn::make('zmm_isivalve')
->label('ZMM ISIVALVE')
->exampleHeader('ZMM ISIVALVE')
->example(''),
ImportColumn::make('zmm_isi_wc')
->label('ZMM ISI WC')
->exampleHeader('ZMM ISI WC')
->example(''),
ImportColumn::make('zmm_labelperiod')
->label('ZMM LABELPERIOD')
->exampleHeader('ZMM LABELPERIOD')
->example(''),
ImportColumn::make('zmm_length')
->label('ZMM LENGTH')
->exampleHeader('ZMM LENGTH')
->example(''),
ImportColumn::make('zmm_license_cml_no')
->label('ZMM LICENSE CML NO')
->exampleHeader('ZMM LICENSE CML NO')
->example(''),
ImportColumn::make('zmm_mfgmonyr')
->label('ZMM MFGMONYR')
->exampleHeader('ZMM MFGMONYR')
->example(''),
ImportColumn::make('zmm_modelyear')
->label('ZMM MODELYEAR')
->exampleHeader('ZMM MODELYEAR')
->example(''),
ImportColumn::make('zmm_motoridentification')
->label('ZMM MOTORIDENTIFICATION')
->exampleHeader('ZMM MOTORIDENTIFICATION')
->example(''),
ImportColumn::make('zmm_newt_pset')
->label('ZMM NEWT PSET')
->exampleHeader('ZMM NEWT PSET')
->example(''),
ImportColumn::make('zmm_newt_cable')
->label('ZMM NEWT CABLE')
->exampleHeader('ZMM NEWT CABLE')
->example(''),
ImportColumn::make('zmm_newt_motor')
->label('ZMM NEWT MOTOR')
->exampleHeader('ZMM NEWT MOTOR')
->example(''),
ImportColumn::make('zmm_newt_pf')
->label('ZMM NEWT PF')
->exampleHeader('ZMM NEWT PF')
->example(''),
ImportColumn::make('zmm_newt_pump')
->label('ZMM NEWT PUMP')
->exampleHeader('ZMM NEWT PUMP')
->example(''),
ImportColumn::make('zmm_packtype')
->label('ZMM PACKTYPE')
->exampleHeader('ZMM PACKTYPE')
->example(''),
ImportColumn::make('zmm_panel')
->label('ZMM PANEL')
->exampleHeader('ZMM PANEL')
->example(''),
ImportColumn::make('zmm_performance_factor')
->label('ZMM PERFORMANCE FACTOR')
->exampleHeader('ZMM PERFORMANCE FACTOR')
->example(''),
ImportColumn::make('zmm_pumpidentification')
->label('ZMM PUMPIDENTIFICATION')
->exampleHeader('ZMM PUMPIDENTIFICATION')
->example(''),
ImportColumn::make('zmm_psettype')
->label('ZMM PSETTYPE')
->exampleHeader('ZMM PSETTYPE')
->example(''),
ImportColumn::make('zmm_size')
->label('ZMM SIZE')
->exampleHeader('ZMM SIZE')
->example(''),
ImportColumn::make('zmm_eff_ttl')
->label('ZMM EFF TTL')
->exampleHeader('ZMM EFF TTL')
->example(''),
ImportColumn::make('zmm_type')
->label('ZMM TYPE')
->exampleHeader('ZMM TYPE')
->example(''),
ImportColumn::make('zmm_usp')
->label('ZMM USP')
->exampleHeader('ZMM USP')
->example(''),
ImportColumn::make('zmm_operating_range')
->label('ZMM OPERATING RANGE')
->exampleHeader('ZMM OPERATING RANGE')
->example(''),
ImportColumn::make('zmm_intake_air')
->label('ZMM USP')
->exampleHeader('ZMM USP')
->example(''),
ImportColumn::make('zmm_oxygen_transfer_rate')
->label('ZMM OXYGEN TRANSFER RATE')
->exampleHeader('ZMM OXYGEN TRANSFER RATE')
->example(''),
ImportColumn::make('zmm_air_inlet_pipesize')
->label('ZMM AIR INLET PIPESIZE')
->exampleHeader('ZMM AIR INLET PIPESIZE')
->example(''),
ImportColumn::make('zmm_sump_depth')
->label('ZMM SUMP DEPTH')
->exampleHeader('ZMM SUMP DEPTH')
->example(''),
ImportColumn::make('zmm_poles')
->label('ZMM POLES')
->exampleHeader('ZMM POLES')
->example(''),
ImportColumn::make('zmm_motor_heading')
->label('ZMM MOTOR HEADING')
->exampleHeader('ZMM MOTOR HEADING')
->example(''),
ImportColumn::make('zmm_motor_speed')
->label('ZMM MOTOR SPEED')
->exampleHeader('ZMM MOTOR SPEED')
->example(''),
ImportColumn::make('zqmm_qty')
->label('ZQMM QTY')
->exampleHeader('ZQMM QTY')
->example(''),
ImportColumn::make('zmm_operating_temperature')
->label('ZMM OPERATING TEMPERATURE')
->exampleHeader('ZMM OPERATING TEMPERATURE')
->example(''),
ImportColumn::make('zmm_axial_force')
->label('ZMM AXIAL FORCE')
->exampleHeader('ZMM AXIAL FORCE')
->example(''),
ImportColumn::make('pending_released_status')
->label('PENDING RELEASED STATUS')
->exampleHeader('ZMM AXIAL FORCE')
->example(''),
ImportColumn::make('created_by')
->label('CREATED BY')
->exampleHeader('CREATED BY')
->example(''),
ImportColumn::make('updated_by')
->label('UPDATED BY')
->exampleHeader('UPDATED BY')
->example(''),
];
}
public function resolveRecord(): ?ProductionTemp
{
// return ProductionTemp::firstOrNew([
// // Update existing records, matching them by `$this->data['column_name']`
// 'email' => $this->data['email'],
// ]);
return new ProductionTemp;
}
public static function getCompletedNotificationBody(Import $import): string
{
$body = 'Your production temp import has completed and '.number_format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' imported.';
if ($failedRowsCount = $import->getFailedRowsCount()) {
$body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to import.';
}
return $body;
}
}

View File

@@ -0,0 +1,111 @@
<?php
namespace App\Filament\Imports;
use App\Models\TempStopCharacteristic;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import;
class TempStopCharacteristicImporter extends Importer
{
protected static ?string $model = TempStopCharacteristic::class;
public static function getColumns(): array
{
return [
ImportColumn::make('plant')
->requiredMapping()
->label('PLANT CODE')
->exampleHeader('PLANT CODE')
->example('1000')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('machine')
->requiredMapping()
->label('WORK CENTER')
->exampleHeader('WORK CENTER')
->example('RMGLAS01')
->relationship(resolveUsing: 'work_center')
->rules(['required']),
ImportColumn::make('machine_name')
->label('MACHINE NAME')
->exampleHeader('MACHINE NAME')
->example('RMGLAS01')
->rules(['required']),
ImportColumn::make('item')
->requiredMapping()
->exampleHeader('ITEM CODE')
->example('630214')
->label('ITEM CODE')
->relationship(resolveUsing: 'code')
->rules(['required']),
ImportColumn::make('aufnr')
->label('JOB NUMBER')
->exampleHeader('JOB NUMBER')
->example('1234567'),
ImportColumn::make('gernr')
->label('SERIAL NUMBER')
->exampleHeader('SERIAL NUMBER')
->example('1234567890123'),
ImportColumn::make('zmm_heading')
->exampleHeader('ZMM HEADING')
->example('ZMM001')
->label('ZMM HEADING'),
ImportColumn::make('model_type')
->label('MODEL TYPE')
->exampleHeader('MODEL TYPE')
->example('PUMP'),
ImportColumn::make('characteristic_field')
->label('MASTER CHARACTERISTIC FIELD')
->exampleHeader('MASTER CHARACTERISTIC FIELD')
->example('NIL'),
ImportColumn::make('samlight_logged_name')
->label('SAMLIGHT LOGGED NAME')
->exampleHeader('SAMLIGHT LOGGED NAME')
->example('User'),
ImportColumn::make('stopped_at')
->label('STOPPED AT')
->exampleHeader('STOPPED AT')
->example('01-09-2026 12:00:00')
->rules(['datetime']),
ImportColumn::make('stopped_by')
->label('STOPPED BY')
->exampleHeader('STOPPED BY')
->example('RAW01234'),
ImportColumn::make('has_stop_flow_id')
->label('HAS STOP FLOW ID')
->exampleHeader('HAS STOP FLOW ID')
->example('2'),
ImportColumn::make('created_by')
->label('CREATED BY')
->exampleHeader('CREATED BY')
->example('RAW01234'),
ImportColumn::make('updated_by')
->label('UPDATED BY')
->exampleHeader('UPDATED BY')
->example('RAW01234'),
];
}
public function resolveRecord(): ?TempStopCharacteristic
{
// return TempStopCharacteristic::firstOrNew([
// // Update existing records, matching them by `$this->data['column_name']`
// 'email' => $this->data['email'],
// ]);
return new TempStopCharacteristic;
}
public static function getCompletedNotificationBody(Import $import): string
{
$body = 'Your temp stop characteristic import has completed and '.number_format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' imported.';
if ($failedRowsCount = $import->getFailedRowsCount()) {
$body .= ' '.number_format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' failed to import.';
}
return $body;
}
}

View File

@@ -875,7 +875,7 @@ class ClassCharacteristicResource extends Resource
$set('updated_by', Filament::auth()->user()?->name);
}),
Forms\Components\TextInput::make('zmm_performance_factor')
->label('ZMM PERFORMANCE_FACTOR')
->label('ZMM PERFORMANCE FACTOR')
->reactive()
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
@@ -982,45 +982,37 @@ class ClassCharacteristicResource extends Resource
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
}),
Forms\Components\Select::make('is_stopped')
->label('IS STOPPED')
// ->nullable()
->selectablePlaceholder(false)
->options(function () {
return [
'0' => 'No',
'1' => 'Yes',
'2' => 'Yes (Alert Pending)',
];
})
->default('0')
->reactive()
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\DateTimePicker::make('stopped_datetime')
->label('STOPPED DATETIME')
->reactive()
->placeholder('Select Stopped DateTime')
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
}),
Forms\Components\TextInput::make('stopped_by')
->label('STOPPED BY')
->reactive()
->readOnly(fn (callable $get) => ! $get('id'))
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
}),
// Forms\Components\TextInput::make('is_stopped')
// Forms\Components\Select::make('is_stopped')
// ->label('IS STOPPED')
// // ->nullable()
// ->selectablePlaceholder(false)
// ->options(function () {
// return [
// '0' => 'No',
// '1' => 'Yes',
// '2' => 'Yes (Alert Pending)',
// ];
// })
// ->default('0')
// ->reactive()
// ->afterStateUpdated(function (callable $set) {
// $set('updated_by', Filament::auth()->user()?->name);
// })
// ->default(0)
// ->required(),
// Forms\Components\DateTimePicker::make('stopped_datetime')
// ->label('STOPPED DATETIME')
// ->reactive()
// ->placeholder('Select Stopped DateTime')
// ->afterStateUpdated(function (callable $set) {
// $set('updated_by', Filament::auth()->user()?->name);
// }),
// Forms\Components\TextInput::make('stopped_by')
// ->label('STOPPED BY')
// ->reactive()
// ->readOnly(fn (callable $get) => ! $get('id'))
// ->afterStateUpdated(function (callable $set) {
// $set('updated_by', Filament::auth()->user()?->name);
// }),
Forms\Components\TextInput::make('mark_status')
->label('MARKED STATUS')
->reactive()
@@ -1318,6 +1310,74 @@ class ClassCharacteristicResource extends Resource
})
->default(0)
->required(),
Forms\Components\Select::make('motor_stop_flow_id')
->label('MOTOR STOP FLOW ID')
// ->nullable()
->selectablePlaceholder(false)
->options(function () {
return [
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
];
})
->default('5')
->reactive()
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
// Forms\Components\TextInput::make('motor_stop_flow_id')
// ->label('MOTOR STOP FLOW ID')
// ->reactive()
// ->minValue(1)
// ->integer()
// ->maxValue(5)
// ->afterStateUpdated(function (callable $set) {
// $set('updated_by', Filament::auth()->user()?->name);
// })
// ->default(5)
// ->required(),
Forms\Components\Select::make('pump_stop_flow_id')
->label('PUMP STOP FLOW ID')
// ->nullable()
->selectablePlaceholder(false)
->options(function () {
return [
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
];
})
->default('5')
->reactive()
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\Select::make('name_plate_stop_flow_id')
->label('NAME PLATE STOP FLOW ID')
// ->nullable()
->selectablePlaceholder(false)
->options(function () {
return [
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
];
})
->default('5')
->reactive()
->afterStateUpdated(function (callable $set) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\Hidden::make('created_by')
->label('Created By')
->default(Filament::auth()->user()?->name),
@@ -1931,19 +1991,19 @@ class ClassCharacteristicResource extends Resource
->label('ZMM AXIAL FORCE')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('is_stopped')
->label('IS STOPPED')
->alignCenter()
->formatStateUsing(fn ($state) => ($state == '0') ? 'No' : ($state == '1' ? 'Yes' : 'Yes (Alert Pending)'))
->sortable(),
Tables\Columns\TextColumn::make('stopped_datetime')
->label('STOPPED DATETIME')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('stopped_by')
->label('STOPPED BY')
->alignCenter()
->sortable(),
// Tables\Columns\TextColumn::make('is_stopped')
// ->label('IS STOPPED')
// ->alignCenter()
// ->formatStateUsing(fn ($state) => ($state == '0') ? 'No' : ($state == '1' ? 'Yes' : 'Yes (Alert Pending)'))
// ->sortable(),
// Tables\Columns\TextColumn::make('stopped_datetime')
// ->label('STOPPED DATETIME')
// ->alignCenter()
// ->sortable(),
// Tables\Columns\TextColumn::make('stopped_by')
// ->label('STOPPED BY')
// ->alignCenter()
// ->sortable(),
Tables\Columns\TextColumn::make('mark_status')
->label('MARKED STATUS')
->alignCenter()
@@ -2035,6 +2095,13 @@ class ClassCharacteristicResource extends Resource
Tables\Columns\TextColumn::make('motor_pump_pumpset_status')
->label('MOTOR PUMP PUMPSET STATUS')
->alignCenter()
->formatStateUsing(fn ($state): string => match ((string) $state) {
'1' => 'Motor',
'2' => 'Pump',
'3' => 'PumpSet',
'4' => 'Name Plate',
default => 'NIL',
})
->sortable(),
Tables\Columns\TextColumn::make('winded_serial_number')
->label('WINDED SERIAL NUMBER')
@@ -2080,6 +2147,46 @@ class ClassCharacteristicResource extends Resource
->label('HAS WORK FLOW ID')
->alignCenter()
->sortable(),
Tables\Columns\TextColumn::make('motor_stop_flow_id')
->label('MOTOR STOP FLOW ID')
->alignCenter()
// ->formatStateUsing(fn ($state) => ($state == '5') ? 'NIL' : ($state == '4' ? 'Has Master' : ($state == '3' ? 'Make Alert' : ($state == '2' ? 'Alert Pending' : ($state == '1' ? 'Alert Approved' : '-')))))
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
})
->badge()
->sortable(),
Tables\Columns\TextColumn::make('pump_stop_flow_id')
->label('PUMP STOP FLOW ID')
->alignCenter()
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
})
->badge()
->sortable(),
Tables\Columns\TextColumn::make('name_plate_stop_flow_id')
->label('NAME PLATE STOP FLOW ID')
->alignCenter()
->formatStateUsing(fn ($state): string => match ((string) $state) {
'5' => 'NIL',
'4' => 'Has Master',
'3' => 'Make Alert',
'2' => 'Alert Pending',
'1' => 'Alert Approved',
default => '-',
})
->badge()
->sortable(),
Tables\Columns\TextColumn::make('created_at')
->label('CREATED AT')
->alignCenter()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\ProductionTempResource\Pages;
use App\Filament\Resources\ProductionTempResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateProductionTemp extends CreateRecord
{
protected static string $resource = ProductionTempResource::class;
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Filament\Resources\ProductionTempResource\Pages;
use App\Filament\Resources\ProductionTempResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditProductionTemp extends EditRecord
{
protected static string $resource = ProductionTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\ViewAction::make(),
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ProductionTempResource\Pages;
use App\Filament\Resources\ProductionTempResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListProductionTemps extends ListRecords
{
protected static string $resource = ProductionTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\ProductionTempResource\Pages;
use App\Filament\Resources\ProductionTempResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewProductionTemp extends ViewRecord
{
protected static string $resource = ProductionTempResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}

View File

@@ -246,11 +246,11 @@ class RequestCharacteristicResource extends Resource
}
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
// ->default(function () {
// $userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(RequestCharacteristic::latest()->first())->aufnr ?? null;
})
// return ($userHas && strlen($userHas) > 0) ? null : optional(RequestCharacteristic::latest()->first())->aufnr ?? null;
// })
->readOnly(fn ($get) => ($get('item_id') == null))
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('gernr')
@@ -311,19 +311,24 @@ class RequestCharacteristicResource extends Resource
$set('update_value', null);
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
$machineName = '';
$reqId = RequestCharacteristic::latest()->first()?->characteristic_approver_master_id;
if ($reqId) {
$reqMac = CharacteristicApproverMaster::where('id', $reqId)->first()?->machine_name;
$machineName = $reqMac ?? null;
} else {
$machineName = null;
}
// ->default(function () {
// $machineName = '';
// $reqId = RequestCharacteristic::latest()->first()?->characteristic_approver_master_id;
// if ($reqId) {
// $reqMac = CharacteristicApproverMaster::where('id', $reqId)->first()?->machine_name;
// $machineName = $reqMac ?? null;
// } else {
// $machineName = null;
// }
// $userHas = Filament::auth()->user()->plant_id;
// return ($userHas && strlen($userHas) > 0) ? null : $machineName ?? null;
// })
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : $machineName ?? null;
return ($userHas && strlen($userHas) > 0) ? null : optional(RequestCharacteristic::latest()->first())->characteristicApproverMaster->machine_name ?? null;
})
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
if ($get('id')) {
@@ -377,21 +382,15 @@ class RequestCharacteristicResource extends Resource
}
$set('updated_by', Filament::auth()->user()?->name);
})
// ->default(function () {
// $userHas = Filament::auth()->user()->plant_id;
// return ($userHas && strlen($userHas) > 0) ? null : 'Characteristic';
// })
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : 'Characteristic';
// $approverType = null;
// $reqId = RequestCharacteristic::latest()->first()?->characteristic_approver_master_id;
// if ($reqId) {
// $reqTyp = CharacteristicApproverMaster::where('id', $reqId)->first()?->approver_type;
// $approverType = $reqTyp ?? null;
// } else {
// $approverType = null;
// }
// // return optional(CharacteristicApproverMaster::latest()->first())->approver_type ?? null;
// return $approverType ?? null;
return ($userHas && strlen($userHas) > 0) ? null : optional(RequestCharacteristic::latest()->first())->characteristicApproverMaster->approver_type ?? null;
})
->afterStateHydrated(function ($component, $state, Get $get, Set $set) {
if ($get('id')) {
@@ -457,7 +456,11 @@ class RequestCharacteristicResource extends Resource
$set('update_value', null);
$set('updated_by', Filament::auth()->user()?->name);
})
->default('MOTOR')
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(RequestCharacteristic::latest()->first())->model_type ?? null;
})
->disabled(fn (Get $get) => ! empty($get('id'))),
Section::make('Request Characteristic Details')
// ->columnSpan(['default' => 2, 'sm' => 4])
@@ -577,11 +580,21 @@ class RequestCharacteristicResource extends Resource
->label('Approver Status')
->reactive()
// ->live()
->options([
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
])
->options(function (callable $set, callable $get) {
$apprTyp = $get('approver_type');
if ($apprTyp && $apprTyp == 'Stop') {
return [
'Approved' => 'Approved',
];
}
return [
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
];
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
if ($state) {// && empty($get('approved1_at'))
$set('approved1_at', now()->toDateTimeString()); // now()->format('d-m-Y H:i:s')
@@ -618,7 +631,7 @@ class RequestCharacteristicResource extends Resource
}),
Forms\Components\TextInput::make('approver_remark1')
->label('Approver Remark')
->live()
->reactive()
->maxLength(60)
->afterStateUpdated(function ($state, callable $set, callable $get) {
$appStat = $get('approver_status1');
@@ -693,11 +706,21 @@ class RequestCharacteristicResource extends Resource
Forms\Components\Select::make('approver_status2')
->label('Approver Status')
->reactive()
->options([
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
])
->options(function (callable $set, callable $get) {
$apprTyp = $get('approver_type');
if ($apprTyp && $apprTyp == 'Stop') {
return [
'Approved' => 'Approved',
];
}
return [
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
];
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
if ($state) {
$set('approved2_at', now()->toDateTimeString());
@@ -734,7 +757,7 @@ class RequestCharacteristicResource extends Resource
}),
Forms\Components\TextInput::make('approver_remark2')
->label('Approver Remark')
->live()
->reactive()
->maxLength(60)
->afterStateUpdated(function ($state, callable $set, callable $get) {
$appStat = $get('approver_status2');
@@ -807,11 +830,21 @@ class RequestCharacteristicResource extends Resource
Forms\Components\Select::make('approver_status3')
->label('Approver Status')
->reactive()
->options([
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
])
->options(function (callable $set, callable $get) {
$apprTyp = $get('approver_type');
if ($apprTyp && $apprTyp == 'Stop') {
return [
'Approved' => 'Approved',
];
}
return [
'Approved' => 'Approved',
'Hold' => 'Hold',
'Rejected' => 'Rejected',
];
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
if ($state) {
$set('approved3_at', now()->toDateTimeString());
@@ -847,7 +880,7 @@ class RequestCharacteristicResource extends Resource
}),
Forms\Components\TextInput::make('approver_remark3')
->label('Approver Remark')
->live()
->reactive()
->maxLength(60)
->afterStateUpdated(function ($state, callable $set, callable $get) {
$appStat = $get('approver_status3');

View File

@@ -0,0 +1,793 @@
<?php
namespace App\Filament\Resources;
use App\Filament\Exports\TempStopCharacteristicExporter;
use App\Filament\Imports\TempStopCharacteristicImporter;
use App\Filament\Resources\TempStopCharacteristicResource\Pages;
use App\Models\Item;
use App\Models\Machine;
use App\Models\Plant;
use App\Models\TempStopCharacteristic;
use Filament\Facades\Filament;
use Filament\Forms;
use Filament\Forms\Components\DateTimePicker;
use Filament\Forms\Components\Section;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Actions\ExportAction;
use Filament\Tables\Actions\ImportAction;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class TempStopCharacteristicResource extends Resource
{
protected static ?string $model = TempStopCharacteristic::class;
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
protected static ?string $navigationGroup = 'Laser Marking';
protected static ?int $navigationSort = 5;
public static function form(Form $form): Form
{
return $form
->schema([
Section::make('')
->schema([
Forms\Components\Select::make('plant_id')
->label('Plant Name')
->relationship('plant', 'name')
->reactive()
->searchable()
->options(function (callable $get) {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
})
->required()
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(TempStopCharacteristic::latest()->first())->plant_id ?? null;
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('item_id', null);
$set('aufnr', null);
$set('gernr', null);
$set('machine_id', null);
$set('machine_name', null);
$set('has_stop_flow_id', '2');
$set('updated_by', Filament::auth()->user()?->name);
})
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\Select::make('item_id')
->label('Item Code')
// ->relationship('item', 'id')
->reactive()
->required()
->searchable()
->options(function (callable $get) {
$plantId = $get('plant_id');
if (! $plantId) {
return [];
}
return Item::where('plant_id', $plantId)->pluck('code', 'id');
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('aufnr', null);
$set('gernr', null);
$set('has_stop_flow_id', '2');
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(TempStopCharacteristic::latest()->first())->item_id ?? null;
})
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\Select::make('machine_id')
->label('Work Center')
// ->relationship('machine', 'name')
->reactive()
->searchable()
->options(function (callable $get) {
$plantId = $get('plant_id');
if (! $plantId) {
return [];
}
return Machine::where('plant_id', $plantId)->pluck('work_center', 'id');
})
->required()
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(TempStopCharacteristic::latest()->first())->machine_id ?? null;
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('machine_name', null);
$set('has_stop_flow_id', '2');
$set('updated_by', Filament::auth()->user()?->name);
})
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('machine_name')
->label('Machine Name')
->reactive()
->nullable()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('has_stop_flow_id', '2');
$set('updated_by', Filament::auth()->user()?->name);
})
->required()
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('aufnr')
->label('Job Number')
->reactive()
->numeric()
->minlength(7)
->maxlength(10)
->required(function (callable $get) {
$item = $get('item_id');
if ($item) {
return true;
}
return false;
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('gernr', null);
$set('updated_by', Filament::auth()->user()?->name);
})
->default(function () {
$userHas = Filament::auth()->user()->plant_id;
return ($userHas && strlen($userHas) > 0) ? null : optional(TempStopCharacteristic::latest()->first())->aufnr ?? null;
})
->readOnly(fn ($get) => ($get('item_id') == null))
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('gernr')
->label('Serial Number')
->reactive()
->minLength(13)
->readOnly(fn (callable $get) => ! $get('aufnr'))
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required()
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('zmm_heading')
->label('Zmm Heading')
->reactive()
->nullable()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required()
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\Select::make('model_type')
->label('Model Type')
->reactive()
->nullable()
->searchable()
->required()
->options(function () {
return [
'MOTOR' => 'MOTOR',
'PUMP' => 'PUMP',
'NAME_PLATE' => 'NAME_PLATE',
'UNKNOWN' => 'UNKNOWN',
];
})
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->default('MOTOR')
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('characteristic_field')
->label('Master Characteristic Field')
->reactive()
->nullable()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required()
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\TextInput::make('samlight_logged_name')
->label('SAMLight Logged Name')
->reactive()
->nullable()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->disabled(fn (Get $get) => ! empty($get('id'))),
Forms\Components\DateTimePicker::make('stopped_at')
->label('Stopped At')
->default(now())
->reactive()
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\TextInput::make('stopped_by')
->label('Stopped By')
->reactive()
->default(Filament::auth()->user()?->name)
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\TextInput::make('has_stop_flow_id')
->label('Has Stop Flow ID')
->reactive()
->default('2')
->afterStateUpdated(function ($state, callable $set, callable $get) {
$curId = $get('id');
if (! $curId) {
$set('has_stop_flow_id', '2');
}
$set('updated_by', Filament::auth()->user()?->name);
})
->required(),
Forms\Components\Hidden::make('created_by')
->label('Created By')
->default(Filament::auth()->user()?->name),
Forms\Components\Hidden::make('updated_by')
->label('Updated By')
->default(Filament::auth()->user()?->name),
Forms\Components\TextInput::make('id')
->hidden()
->readOnly(),
])
->columns(['default' => 1, 'sm' => 2]),
]);
}
public static function table(Table $table): Table
{
return $table
->columns([
Tables\Columns\TextColumn::make('No.')
->label('No.')
->getStateUsing(function ($record, $livewire, $column, $rowLoop) {
$paginator = $livewire->getTableRecords();
$perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10;
$currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1;
return ($currentPage - 1) * $perPage + $rowLoop->iteration;
}),
Tables\Columns\TextColumn::make('plant.name')
->label('Plant Name')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('machine.work_center')
->label('Work Center')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('machine_name')
->label('Machine Name')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('item.code')
->label('Item Code')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('aufnr')
->label('Job Number')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('gernr')
->label('Serial Number')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('zmm_heading')
->label('Zmm Heading')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('model_type')
->label('Model Type')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('characteristic_field')
->label('Master Characteristic Field')
->alignCenter()
->searchable()
->formatStateUsing(fn (string $state): string => strtoupper(__($state)))
->extraAttributes(['class' => 'uppercase'])
->sortable(),
Tables\Columns\TextColumn::make('samlight_logged_name')
->label('SAMLIGHT LOGGED NAME')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('stopped_at')
->label('Stopped At')
->dateTime()
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('stopped_by')
->label('Stopped By')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('has_stop_flow_id')
->label('Has Stop Flow ID')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('created_at')
->label('Created At')
->dateTime()
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('created_by')
->label('Created By')
->alignCenter()
->searchable()
->sortable(),
Tables\Columns\TextColumn::make('updated_at')
->label('Updated At')
->dateTime()
->alignCenter()
->searchable()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('updated_by')
->label('Updated By')
->alignCenter()
->searchable()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('deleted_at')
->label('Deleted At')
->dateTime()
->alignCenter()
->searchable()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
])
->searchPlaceholder('Search Job / Serial Number')
->filters([
Tables\Filters\TrashedFilter::make(),
Filter::make('advanced_filters')
->label('Advanced Filters')
->form([
Select::make('Plant')
->label('Search by Plant Name')
->nullable()
->searchable()
->reactive()
->options(function (callable $get) {
$userHas = Filament::auth()->user()->plant_id;
if ($userHas && strlen($userHas) > 0) {
return Plant::where('id', $userHas)->pluck('name', 'id')->toArray();
} else {
return Plant::whereHas('tempStopCharacteristics', function ($query) {
$query->whereNotNull('id');
})->orderBy('code')->pluck('name', 'id');
}
// return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
})
->afterStateUpdated(function ($state, callable $set, callable $get): void {
$set('machine', null);
$set('item_id', null);
// $set('aufnr', null);
}),
Select::make('machine')
->label('Search by Work Center')
->nullable()
->searchable()
->reactive()
->options(function (callable $get) {
$plantId = $get('Plant');
if (empty($plantId)) {
return [];
}
return Machine::whereHas('tempStopCharacteristics', function ($query) use ($plantId) {
if ($plantId) {
$query->where('plant_id', $plantId);
}
})->pluck('work_center', 'id');
})
->afterStateUpdated(function ($state, callable $set, callable $get): void {
// $set('item_id', null);
// $set('aufnr', null);
}),
TextInput::make('machine_name')
->label('Machine Name')
->placeholder('Enter Machine Name'),
Select::make('item_id')
->label('Search by Item Code')
->nullable()
->searchable()
->reactive()
->options(function (callable $get) {
$plantId = $get('Plant');
if (empty($plantId)) {
return [];
}
return Item::whereHas('tempStopCharacteristics', function ($query) use ($plantId) {
if ($plantId) {
$query->where('plant_id', $plantId);
}
})->pluck('code', 'id');
})
->afterStateUpdated(function ($state, callable $set, callable $get): void {
// $set('aufnr', null);
}),
TextInput::make('aufnr')
->label('Job Number')
->placeholder('Enter Job Number')
->numeric()
->maxlength(10),
TextInput::make('gernr')
->label('Serial Number')
->placeholder('Enter Serial Number')
->numeric(),
TextInput::make('zmm_heading')
->label('Zmm Heading')
->placeholder('Enter Zmm Heading'),
Select::make('model_type')
->label('Search by Model Type')
->nullable()
->searchable()
->reactive()
->options(function (callable $get) {
$userHas = Filament::auth()->user()->plant_id;
$plantId = $get('Plant');
if ($userHas && strlen($userHas) > 0) {
return TempStopCharacteristic::where('plant_id', $userHas)->pluck('model_type', 'model_type')->toArray();
} elseif ($plantId) {
return TempStopCharacteristic::where('plant_id', $plantId)->select('model_type')->distinct()->pluck('model_type', 'model_type');
} else {
return TempStopCharacteristic::select('model_type')->distinct()->pluck('model_type', 'model_type');
}
}),
TextInput::make('characteristic_field')
->label('Master Characteristic Field')
->placeholder('Enter Master Characteristic Field'),
TextInput::make('samlight_logged_name')
->label('Samlight Logged Name')
->placeholder('Enter Samlight Logged Name'),
Select::make('stopped_by')
->label('Search by Stopped By')
->nullable()
->options(function (callable $get) {
$plantId = $get('Plant');
if (! $plantId) {
return TempStopCharacteristic::whereNotNull('stopped_by')->select('stopped_by')->distinct()->pluck('stopped_by', 'stopped_by');
} else {
return TempStopCharacteristic::where('plant_id', $plantId)->whereNotNull('stopped_by')->select('stopped_by')->distinct()->pluck('stopped_by', 'stopped_by');
}
})
->searchable()
->reactive(),
DateTimePicker::make('stopped_from')
->label('Stopped From')
->placeholder('Select From DateTime')
->reactive()
->native(false),
DateTimePicker::make('stopped_to')
->label('Stopped To')
->placeholder('Select To DateTime')
->reactive()
->native(false),
Select::make('created_by')
->label('Search by Created By')
->nullable()
->options(function (callable $get) {
$plantId = $get('Plant');
if (! $plantId) {
return TempStopCharacteristic::whereNotNull('created_by')->select('created_by')->distinct()->pluck('created_by', 'created_by');
} else {
return TempStopCharacteristic::where('plant_id', $plantId)->whereNotNull('created_by')->select('created_by')->distinct()->pluck('created_by', 'created_by');
}
})
->searchable()
->reactive(),
DateTimePicker::make('created_from')
->label('Created From')
->placeholder('Select From DateTime')
->reactive()
->native(false),
DateTimePicker::make('created_to')
->label('Created To')
->placeholder('Select To DateTime')
->reactive()
->native(false),
Select::make('updated_by')
->label('Search by Updated By')
->nullable()
->options(function (callable $get) {
$plantId = $get('Plant');
if (! $plantId) {
return TempStopCharacteristic::whereNotNull('updated_by')->select('updated_by')->distinct()->pluck('updated_by', 'updated_by');
} else {
return TempStopCharacteristic::where('plant_id', $plantId)->whereNotNull('updated_by')->select('updated_by')->distinct()->pluck('updated_by', 'updated_by');
}
})
->searchable()
->reactive(),
DateTimePicker::make(name: 'updated_from')
->label('Updated From')
->placeholder(placeholder: 'Select From DateTime')
->reactive()
->native(false),
DateTimePicker::make('updated_to')
->label('Updated To')
->placeholder(placeholder: 'Select To DateTime')
->reactive()
->native(false),
TextInput::make('has_stop_flow_id')
->label('Has Stop Flow ID')
->placeholder('Enter Has Stop Flow ID'),
])
->query(function ($query, array $data) {
// Hide all records initially if no filters are applied
if (empty($data['Plant']) && empty($data['machine']) && empty($data['machine_name']) && empty($data['item_id']) && empty($data['aufnr']) && empty($data['gernr']) && empty($data['zmm_heading']) && empty($data['model_type']) && empty($data['characteristic_field']) && empty($data['samlight_logged_name']) && empty($data['stopped_by']) && empty($data['stopped_from']) && empty($data['stopped_to']) && empty($data['created_by']) && empty($data['created_from']) && empty($data['created_to']) && empty($data['updated_by']) && empty($data['updated_from']) && empty($data['updated_to']) && empty($data['has_stop_flow_id'])) {
return $query->whereRaw('1 = 0');
}
if (! empty($data['Plant'])) { // $plant = $data['Plant'] ?? null
$query->where('plant_id', $data['Plant']);
} else {
$userHas = Filament::auth()->user()->plant_id;
if ($userHas && strlen($userHas) > 0) {
return $query->whereRaw('1 = 0');
}
}
if (! empty($data['machine'])) {
$query->where('machine_id', $data['machine']);
}
if (! empty($data['machine_name'])) {
$query->where('machine_name', 'like', '%'.$data['machine_name'].'%');
}
if (! empty($data['item_id'])) {
$query->where('item_id', $data['item_id']);
}
if (! empty($data['aufnr'])) {
$query->where('aufnr', 'like', '%'.$data['aufnr'].'%');
}
if (! empty($data['gernr'])) {
$query->where('gernr', 'like', '%'.$data['gernr'].'%');
}
if (! empty($data['zmm_heading'])) {
$query->where('zmm_heading', 'like', '%'.$data['zmm_heading'].'%');
}
if (! empty($data['model_type'])) {
$query->where('model_type', $data['model_type']);
}
if (! empty($data['characteristic_field'])) {
$query->where('characteristic_field', 'like', '%'.$data['characteristic_field'].'%');
}
if (! empty($data['samlight_logged_name'])) {
$query->where('samlight_logged_name', 'like', '%'.$data['samlight_logged_name'].'%');
}
if (! empty($data['stopped_by'])) {
$query->where('stopped_by', $data['stopped_by']);
}
if (! empty($data['stopped_from'])) {
$query->where('stopped_at', '>=', $data['stopped_from']);
}
if (! empty($data['stopped_to'])) {
$query->where('stopped_at', '<=', $data['stopped_to']);
}
if (! empty($data['created_by'])) {
$query->where('created_by', $data['created_by']);
}
if (! empty($data['created_from'])) {
$query->where('created_at', '>=', $data['created_from']);
}
if (! empty($data['created_to'])) {
$query->where('created_at', '<=', $data['created_to']);
}
if (! empty($data['updated_by'])) {
$query->where('updated_by', $data['updated_by']);
}
if (! empty($data['updated_from'])) {
$query->where('updated_at', '>=', $data['updated_from']);
}
if (! empty($data['updated_to'])) {
$query->where('updated_at', '<=', $data['updated_to']);
}
if (! empty($data['has_stop_flow_id'])) {
$query->where('has_stop_flow_id', 'like', '%'.$data['has_stop_flow_id'].'%');
}
})
->indicateUsing(function (array $data) {
$indicators = [];
if (! empty($data['Plant'])) {
$indicators[] = 'Plant Name: '.Plant::where('id', $data['Plant'])->value('name');
} else {
$userHas = Filament::auth()->user()->plant_id;
if ($userHas && strlen($userHas) > 0) {
return 'Plant: Choose plant to filter records.';
}
}
if (! empty($data['machine'])) {
$indicators[] = 'Work Center: '.Machine::where('id', $data['machine'])->value('work_center');
}
if (! empty($data['machine_name'])) {
$indicators[] = 'Machine Name: '.$data['machine_name'];
}
if (! empty($data['item_id'])) {
$indicators[] = 'Item Code: '.Item::where('id', $data['item_id'])->value('code');
}
if (! empty($data['aufnr'])) {
$indicators[] = 'Job No: '.$data['aufnr'];
}
if (! empty($data['gernr'])) {
$indicators[] = 'Serial No: '.$data['gernr'];
}
if (! empty($data['zmm_heading'])) {
$indicators[] = 'Zmm Heading: '.$data['zmm_heading'];
}
if (! empty($data['model_type'])) {
$indicators[] = 'Model Type: '.$data['model_type'];
}
if (! empty($data['characteristic_field'])) {
$indicators[] = 'Master Characteristic Field: '.$data['characteristic_field'];
}
if (! empty($data['work_flow_id'])) {
$indicators[] = 'Work Flow ID: '.$data['work_flow_id'];
}
if (! empty($data['samlight_logged_name'])) {
$indicators[] = 'Samlight Logged Name: '.$data['samlight_logged_name'];
}
if (! empty($data['stopped_by'])) {
$indicators[] = 'Stopped By: '.$data['stopped_by'];
}
if (! empty($data['stopped_from'])) {
$indicators[] = 'Stopped From: '.$data['stopped_from'];
}
if (! empty($data['stopped_to'])) {
$indicators[] = 'Stopped To: '.$data['stopped_to'];
}
if (! empty($data['created_by'])) {
$indicators[] = 'Created By: '.$data['created_by'];
}
if (! empty($data['created_from'])) {
$indicators[] = 'Created From: '.$data['created_from'];
}
if (! empty($data['created_to'])) {
$indicators[] = 'Created To: '.$data['created_to'];
}
if (! empty($data['updated_by'])) {
$indicators[] = 'Updated By: '.$data['updated_by'];
}
if (! empty($data['updated_from'])) {
$indicators[] = 'Updated From: '.$data['updated_from'];
}
if (! empty($data['updated_to'])) {
$indicators[] = 'Updated To: '.$data['updated_to'];
}
if (! empty($data['has_stop_flow_id'])) {
$indicators[] = 'Stop Flow ID: '.$data['has_stop_flow_id'];
}
return $indicators;
}),
])
->filtersFormMaxHeight('280px')
->actions([
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),
Tables\Actions\ForceDeleteBulkAction::make(),
Tables\Actions\RestoreBulkAction::make(),
]),
])
->headerActions([
ImportAction::make()
->label('Import Temp Stop Characteristics')
->color('warning')
->importer(TempStopCharacteristicImporter::class)
->visible(function () {
return Filament::auth()->user()->can('view import temp stop characteristics');
}),
ExportAction::make()
->label('Export Temp Stop Characteristics')
->color('warning')
->exporter(TempStopCharacteristicExporter::class)
->visible(function () {
return Filament::auth()->user()->can('view export temp stop characteristics');
}),
]);
}
public static function getRelations(): array
{
return [
//
];
}
public static function getPages(): array
{
return [
'index' => Pages\ListTempStopCharacteristics::route('/'),
'create' => Pages\CreateTempStopCharacteristic::route('/create'),
'view' => Pages\ViewTempStopCharacteristic::route('/{record}'),
'edit' => Pages\EditTempStopCharacteristic::route('/{record}/edit'),
];
}
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()
->withoutGlobalScopes([
SoftDeletingScope::class,
]);
}
}

View File

@@ -0,0 +1,12 @@
<?php
namespace App\Filament\Resources\TempStopCharacteristicResource\Pages;
use App\Filament\Resources\TempStopCharacteristicResource;
use Filament\Actions;
use Filament\Resources\Pages\CreateRecord;
class CreateTempStopCharacteristic extends CreateRecord
{
protected static string $resource = TempStopCharacteristicResource::class;
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Filament\Resources\TempStopCharacteristicResource\Pages;
use App\Filament\Resources\TempStopCharacteristicResource;
use Filament\Actions;
use Filament\Resources\Pages\EditRecord;
class EditTempStopCharacteristic extends EditRecord
{
protected static string $resource = TempStopCharacteristicResource::class;
protected function getHeaderActions(): array
{
return [
Actions\ViewAction::make(),
Actions\DeleteAction::make(),
Actions\ForceDeleteAction::make(),
Actions\RestoreAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TempStopCharacteristicResource\Pages;
use App\Filament\Resources\TempStopCharacteristicResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListTempStopCharacteristics extends ListRecords
{
protected static string $resource = TempStopCharacteristicResource::class;
protected function getHeaderActions(): array
{
return [
Actions\CreateAction::make(),
];
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Filament\Resources\TempStopCharacteristicResource\Pages;
use App\Filament\Resources\TempStopCharacteristicResource;
use Filament\Actions;
use Filament\Resources\Pages\ViewRecord;
class ViewTempStopCharacteristic extends ViewRecord
{
protected static string $resource = TempStopCharacteristicResource::class;
protected function getHeaderActions(): array
{
return [
Actions\EditAction::make(),
];
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -154,9 +154,6 @@ class ClassCharacteristic extends Model
'zqmm_qty',
'zmm_operating_temperature',
'zmm_axial_force',
'is_stopped',
'stopped_datetime',
'stopped_by',
'mark_status',
'marked_physical_count',
'marked_expected_time',
@@ -181,6 +178,7 @@ class ClassCharacteristic extends Model
'name_plate_marked_by',
'motor_pump_pumpset_status',
'winded_serial_number',
'winded_rework_status',
'motor_machine_name',
'pump_machine_name',
'name_plate_machine_name',
@@ -189,7 +187,9 @@ class ClassCharacteristic extends Model
'samlight_logged_name',
'pending_released_status',
'has_work_flow_id',
'winded_rework_status',
'motor_stop_flow_id',
'pump_stop_flow_id',
'name_plate_stop_flow_id',
'created_at',
'updated_at',
'created_by',

View File

@@ -105,6 +105,11 @@ class Item extends Model
return $this->hasMany(TempClassCharacteristic::class, 'item_id', 'id');
}
public function tempStopCharacteristics()
{
return $this->hasMany(TempStopCharacteristic::class, 'item_id', 'id');
}
public function weightValidations()
{
return $this->hasMany(WeightValidation::class);

View File

@@ -142,6 +142,9 @@ class ItemCharacteristic extends Model
'zmm_motor_heading',
'zmm_motor_speed',
'zqmm_qty',
'zmm_logo_eac',
'zmm_operating_temperature',
'zmm_axial_force',
'mrp',
'zmm_1',
'zmm_2',

View File

@@ -88,6 +88,11 @@ class Machine extends Model
return $this->hasMany(TempClassCharacteristic::class, 'machine_id', 'id');
}
public function tempStopCharacteristics()
{
return $this->hasMany(TempStopCharacteristic::class, 'machine_id', 'id');
}
public function equipmentMasters()
{
return $this->hasMany(EquipmentMaster::class, 'machine_id', 'id');

View File

@@ -189,10 +189,10 @@ class Plant extends Model
return $this->hasMany(TempClassCharacteristic::class, 'plant_id', 'id');
}
// public function tempStopCharacteristics()
// {
// return $this->hasMany(TempStopCharacteristic::class, 'plant_id', 'id');
// }
public function tempStopCharacteristics()
{
return $this->hasMany(TempStopCharacteristic::class, 'plant_id', 'id');
}
public function users()
{

View File

@@ -0,0 +1,169 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class ProductionTemp extends Model
{
use SoftDeletes;
protected $fillable = [
'plant_id',
'machine_id',
'aufnr',
'class',
'arbid',
'gamng',
'lmnga',
'gernr',
'zz1_cn_bill_ord',
'zmm_amps',
'zmm_brand',
'zmm_degreeofprotection',
'zmm_delivery',
'zmm_dir_rot',
'zmm_discharge',
'zmm_discharge_max',
'zmm_discharge_min',
'zmm_duty',
'zmm_eff_motor',
'zmm_eff_pump',
'zmm_frequency',
'zmm_head',
'zmm_heading',
'zmm_head_max',
'zmm_head_minimum',
'zmm_idx_eff_mtr',
'zmm_idx_eff_pump',
'zmm_kvacode',
'zmm_maxambtemp',
'zmm_mincoolingflow',
'zmm_motorseries',
'zmm_motor_model',
'zmm_outlet',
'zmm_phase',
'zmm_pressure',
'zmm_pumpflowtype',
'zmm_pumpseries',
'zmm_pump_model',
'zmm_ratedpower',
'zmm_region',
'zmm_servicefactor',
'zmm_servicefactormaximumamps',
'zmm_speed',
'zmm_suction',
'zmm_suctionxdelivery',
'zmm_supplysource',
'zmm_temperature',
'zmm_thrustload',
'zmm_volts',
'zmm_wire',
'zmm_package',
'zmm_pvarrayrating',
'zmm_isi',
'zmm_isimotor',
'zmm_isipump',
'zmm_isipumpset',
'zmm_pumpset_model',
'zmm_stages',
'zmm_headrange',
'zmm_overall_efficiency',
'zmm_connection',
'zmm_min_bore_size',
'zmm_isireference',
'zmm_category',
'zmm_submergence',
'zmm_capacitorstart',
'zmm_capacitorrun',
'zmm_inch',
'zmm_motor_type',
'zmm_dismantle_direction',
'zmm_eff_ovrall',
'zmm_bodymoc',
'zmm_rotormoc',
'zmm_dlwl',
'zmm_inputpower',
'zmm_imp_od',
'zmm_ambtemp',
'zmm_de',
'zmm_dischargerange',
'zmm_efficiency_class',
'zmm_framesize',
'zmm_impellerdiameter',
'zmm_insulationclass',
'zmm_maxflow',
'zmm_minhead',
'zmm_mtrlofconst',
'zmm_nde',
'zmm_powerfactor',
'zmm_tagno',
'zmm_year',
'zmm_laser_name',
'zmm_logo_cp',
'zmm_logo_ce',
'zmm_logo_nsf',
'zmm_logo_eac',
'zmm_beenote',
'zmm_beenumber',
'zmm_beestar',
'zmm_codeclass',
'zmm_colour',
'zmm_grade',
'zmm_grwt_pset',
'zmm_grwt_cable',
'zmm_grwt_motor',
'zmm_grwt_pf',
'zmm_grwt_pump',
'zmm_isivalve',
'zmm_isi_wc',
'zmm_labelperiod',
'zmm_length',
'zmm_license_cml_no',
'zmm_mfgmonyr',
'zmm_modelyear',
'zmm_motoridentification',
'zmm_newt_pset',
'zmm_newt_cable',
'zmm_newt_motor',
'zmm_newt_pf',
'zmm_newt_pump',
'zmm_packtype',
'zmm_panel',
'zmm_performance_factor',
'zmm_pumpidentification',
'zmm_psettype',
'zmm_size',
'zmm_eff_ttl',
'zmm_type',
'zmm_usp',
'zmm_operating_range',
'zmm_intake_air',
'zmm_oxygen_transfer_rate',
'zmm_air_inlet_pipesize',
'zmm_sump_depth',
'zmm_poles',
'zmm_motor_heading',
'zmm_motor_speed',
'zqmm_qty',
'zmm_operating_temperature',
'zmm_axial_force',
'pending_released_status',
'created_at',
'updated_at',
'created_by',
'updated_by',
];
public function plant(): BelongsTo
{
return $this->belongsTo(Plant::class);
}
public function machine(): BelongsTo
{
return $this->belongsTo(Machine::class);
}
}

View File

@@ -0,0 +1,47 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class TempStopCharacteristic extends Model
{
use SoftDeletes;
protected $fillable = [
'plant_id',
'machine_id',
'item_id',
'machine_name',
'aufnr',
'gernr',
'zmm_heading',
'model_type',
'characteristic_field',
'samlight_logged_name',
'stopped_at',
'stopped_by',
'has_stop_flow_id',
'created_at',
'updated_at',
'created_by',
'updated_by',
];
public function plant(): BelongsTo
{
return $this->belongsTo(Plant::class);
}
public function item(): BelongsTo
{
return $this->belongsTo(Item::class);
}
public function machine(): BelongsTo
{
return $this->belongsTo(Machine::class);
}
}

View File

@@ -0,0 +1,105 @@
<?php
namespace App\Policies;
use App\Models\TempStopCharacteristic;
use App\Models\User;
class TempStopCharacteristicPolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return $user->checkPermissionTo('view-any TempStopCharacteristic');
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('view TempStopCharacteristic');
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return $user->checkPermissionTo('create TempStopCharacteristic');
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('update TempStopCharacteristic');
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('delete TempStopCharacteristic');
}
/**
* Determine whether the user can delete any models.
*/
public function deleteAny(User $user): bool
{
return $user->checkPermissionTo('delete-any TempStopCharacteristic');
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('restore TempStopCharacteristic');
}
/**
* Determine whether the user can restore any models.
*/
public function restoreAny(User $user): bool
{
return $user->checkPermissionTo('restore-any TempStopCharacteristic');
}
/**
* Determine whether the user can replicate the model.
*/
public function replicate(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('replicate TempStopCharacteristic');
}
/**
* Determine whether the user can reorder the models.
*/
public function reorder(User $user): bool
{
return $user->checkPermissionTo('reorder TempStopCharacteristic');
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, TempStopCharacteristic $tempstopcharacteristic): bool
{
return $user->checkPermissionTo('force-delete TempStopCharacteristic');
}
/**
* Determine whether the user can permanently delete any models.
*/
public function forceDeleteAny(User $user): bool
{
return $user->checkPermissionTo('force-delete-any TempStopCharacteristic');
}
}

View File

@@ -0,0 +1,181 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql = <<<'SQL'
CREATE TABLE production_temps (
id BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
plant_id BIGINT NOT NULL,
machine_id BIGINT NOT NULL,
aufnr TEXT NOT NULL,
class TEXT DEFAULT NULL,
arbid TEXT DEFAULT NULL,
gamng TEXT DEFAULT NULL,
lmnga TEXT DEFAULT NULL,
gernr TEXT NOT NULL,
zz1_cn_bill_ord TEXT DEFAULT NULL,
zmm_amps TEXT DEFAULT NULL,
zmm_brand TEXT DEFAULT NULL,
zmm_degreeofprotection TEXT DEFAULT NULL,
zmm_delivery TEXT DEFAULT NULL,
zmm_dir_rot TEXT DEFAULT NULL,
zmm_discharge TEXT DEFAULT NULL,
zmm_discharge_max TEXT DEFAULT NULL,
zmm_discharge_min TEXT DEFAULT NULL,
zmm_duty TEXT DEFAULT NULL,
zmm_eff_motor TEXT DEFAULT NULL,
zmm_eff_pump TEXT DEFAULT NULL,
zmm_frequency TEXT DEFAULT NULL,
zmm_head TEXT DEFAULT NULL,
zmm_heading TEXT NOT NULL,
zmm_head_max TEXT DEFAULT NULL,
zmm_head_minimum TEXT DEFAULT NULL,
zmm_idx_eff_mtr TEXT DEFAULT NULL,
zmm_idx_eff_pump TEXT DEFAULT NULL,
zmm_kvacode TEXT DEFAULT NULL,
zmm_maxambtemp TEXT DEFAULT NULL,
zmm_mincoolingflow TEXT DEFAULT NULL,
zmm_motorseries TEXT DEFAULT NULL,
zmm_motor_model TEXT DEFAULT NULL,
zmm_outlet TEXT DEFAULT NULL,
zmm_phase TEXT DEFAULT NULL,
zmm_pressure TEXT DEFAULT NULL,
zmm_pumpflowtype TEXT DEFAULT NULL,
zmm_pumpseries TEXT DEFAULT NULL,
zmm_pump_model TEXT DEFAULT NULL,
zmm_ratedpower TEXT DEFAULT NULL,
zmm_region TEXT DEFAULT NULL,
zmm_servicefactor TEXT DEFAULT NULL,
zmm_servicefactormaximumamps TEXT DEFAULT NULL,
zmm_speed TEXT DEFAULT NULL,
zmm_suction TEXT DEFAULT NULL,
zmm_suctionxdelivery TEXT DEFAULT NULL,
zmm_supplysource TEXT DEFAULT NULL,
zmm_temperature TEXT DEFAULT NULL,
zmm_thrustload TEXT DEFAULT NULL,
zmm_volts TEXT DEFAULT NULL,
zmm_wire TEXT DEFAULT NULL,
zmm_package TEXT DEFAULT NULL,
zmm_pvarrayrating TEXT DEFAULT NULL,
zmm_isi TEXT DEFAULT NULL,
zmm_isimotor TEXT DEFAULT NULL,
zmm_isipump TEXT DEFAULT NULL,
zmm_isipumpset TEXT DEFAULT NULL,
zmm_pumpset_model TEXT DEFAULT NULL,
zmm_stages TEXT DEFAULT NULL,
zmm_headrange TEXT DEFAULT NULL,
zmm_overall_efficiency TEXT DEFAULT NULL,
zmm_connection TEXT DEFAULT NULL,
zmm_min_bore_size TEXT DEFAULT NULL,
zmm_isireference TEXT DEFAULT NULL,
zmm_category TEXT DEFAULT NULL,
zmm_submergence TEXT DEFAULT NULL,
zmm_capacitorstart TEXT DEFAULT NULL,
zmm_capacitorrun TEXT DEFAULT NULL,
zmm_inch TEXT DEFAULT NULL,
zmm_motor_type TEXT DEFAULT NULL,
zmm_dismantle_direction TEXT DEFAULT NULL,
zmm_eff_ovrall TEXT DEFAULT NULL,
zmm_bodymoc TEXT DEFAULT NULL,
zmm_rotormoc TEXT DEFAULT NULL,
zmm_dlwl TEXT DEFAULT NULL,
zmm_inputpower TEXT DEFAULT NULL,
zmm_imp_od TEXT DEFAULT NULL,
zmm_ambtemp TEXT DEFAULT NULL,
zmm_de TEXT DEFAULT NULL,
zmm_dischargerange TEXT DEFAULT NULL,
zmm_efficiency_class TEXT DEFAULT NULL,
zmm_framesize TEXT DEFAULT NULL,
zmm_impellerdiameter TEXT DEFAULT NULL,
zmm_insulationclass TEXT DEFAULT NULL,
zmm_maxflow TEXT DEFAULT NULL,
zmm_minhead TEXT DEFAULT NULL,
zmm_mtrlofconst TEXT DEFAULT NULL,
zmm_nde TEXT DEFAULT NULL,
zmm_powerfactor TEXT DEFAULT NULL,
zmm_tagno TEXT DEFAULT NULL,
zmm_year TEXT DEFAULT NULL,
zmm_laser_name TEXT DEFAULT NULL,
zmm_logo_cp TEXT DEFAULT NULL,
zmm_logo_ce TEXT DEFAULT NULL,
zmm_logo_nsf TEXT DEFAULT NULL,
zmm_logo_eac TEXT DEFAULT NULL,
zmm_beenote TEXT DEFAULT NULL,
zmm_beenumber TEXT DEFAULT NULL,
zmm_beestar TEXT DEFAULT NULL,
zmm_codeclass TEXT DEFAULT NULL,
zmm_colour TEXT DEFAULT NULL,
zmm_grade TEXT DEFAULT NULL,
zmm_grwt_pset TEXT DEFAULT NULL,
zmm_grwt_cable TEXT DEFAULT NULL,
zmm_grwt_motor TEXT DEFAULT NULL,
zmm_grwt_pf TEXT DEFAULT NULL,
zmm_grwt_pump TEXT DEFAULT NULL,
zmm_isivalve TEXT DEFAULT NULL,
zmm_isi_wc TEXT DEFAULT NULL,
zmm_labelperiod TEXT DEFAULT NULL,
zmm_length TEXT DEFAULT NULL,
zmm_license_cml_no TEXT DEFAULT NULL,
zmm_mfgmonyr TEXT DEFAULT NULL,
zmm_modelyear TEXT DEFAULT NULL,
zmm_motoridentification TEXT DEFAULT NULL,
zmm_newt_pset TEXT DEFAULT NULL,
zmm_newt_cable TEXT DEFAULT NULL,
zmm_newt_motor TEXT DEFAULT NULL,
zmm_newt_pf TEXT DEFAULT NULL,
zmm_newt_pump TEXT DEFAULT NULL,
zmm_packtype TEXT DEFAULT NULL,
zmm_panel TEXT DEFAULT NULL,
zmm_performance_factor TEXT DEFAULT NULL,
zmm_pumpidentification TEXT DEFAULT NULL,
zmm_psettype TEXT DEFAULT NULL,
zmm_size TEXT DEFAULT NULL,
zmm_eff_ttl TEXT DEFAULT NULL,
zmm_type TEXT DEFAULT NULL,
zmm_usp TEXT DEFAULT NULL,
zmm_operating_range TEXT DEFAULT NULL,
zmm_intake_air TEXT DEFAULT NULL,
zmm_oxygen_transfer_rate TEXT DEFAULT NULL,
zmm_air_inlet_pipesize TEXT DEFAULT NULL,
zmm_sump_depth TEXT DEFAULT NULL,
zmm_poles TEXT DEFAULT NULL,
zmm_motor_heading TEXT DEFAULT NULL,
zmm_motor_speed TEXT DEFAULT NULL,
zqmm_qty TEXT DEFAULT NULL,
zmm_operating_temperature TEXT DEFAULT NULL,
zmm_axial_force TEXT DEFAULT NULL,
pending_released_status INTEGER DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
created_by TEXT DEFAULT NULL,
updated_by TEXT DEFAULT NULL,
deleted_at TIMESTAMP,
UNIQUE (gernr, plant_id),
FOREIGN KEY (plant_id) REFERENCES plants (id),
FOREIGN KEY (machine_id) REFERENCES machines (id)
);
SQL;
DB::statement($sql);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('production_temps');
}
};

View File

@@ -0,0 +1,51 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql = <<<'SQL'
CREATE TABLE temp_stop_characteristics (
id BIGINT GENERATED always AS IDENTITY PRIMARY KEY,
plant_id BIGINT NOT NULL,
machine_id BIGINT NOT NULL,
item_id BIGINT NOT NULL,
machine_name TEXT DEFAULT NULL,
aufnr TEXT DEFAULT NULL,
gernr TEXT DEFAULT NULL,
zmm_heading TEXT DEFAULT NULL,
model_type TEXT DEFAULT NULL,
characteristic_field TEXT DEFAULT NULL,
samlight_logged_name TEXT DEFAULT NULL,
stopped_at TIMESTAMP NOT NULL DEFAULT NOW(),
stopped_by TEXT DEFAULT NULL,
has_stop_flow_id TEXT DEFAULT '2',
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
created_by TEXT DEFAULT NULL,
updated_by TEXT DEFAULT NULL,
deleted_at TIMESTAMP,
FOREIGN KEY (plant_id) REFERENCES plants (id),
FOREIGN KEY (machine_id) REFERENCES machines (id),
FOREIGN KEY (item_id) REFERENCES items (id)
);
SQL;
DB::statement($sql);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('temp_stop_characteristics');
}
};

View File

@@ -0,0 +1,67 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql1 = <<<'SQL'
ALTER TABLE class_characteristics
DROP COLUMN is_stopped
SQL;
DB::statement($sql1);
$sql2 = <<<'SQL'
ALTER TABLE class_characteristics
DROP COLUMN stopped_datetime
SQL;
DB::statement($sql2);
$sql3 = <<<'SQL'
ALTER TABLE class_characteristics
DROP COLUMN stopped_by
SQL;
DB::statement($sql3);
$sql4 = <<<'SQL'
ALTER TABLE class_characteristics
ADD COLUMN motor_stop_flow_id TEXT DEFAULT '5'
SQL;
DB::statement($sql4);
$sql5 = <<<'SQL'
ALTER TABLE class_characteristics
ADD COLUMN pump_stop_flow_id TEXT DEFAULT '5'
SQL;
DB::statement($sql5);
$sql6 = <<<'SQL'
ALTER TABLE class_characteristics
ADD COLUMN name_plate_stop_flow_id TEXT DEFAULT '5'
SQL;
DB::statement($sql6);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
// Schema::table('class_characteristics', function (Blueprint $table) {
// //
// });
}
};

View File

@@ -0,0 +1,45 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
$sql1 = <<<'SQL'
ALTER TABLE item_characteristics
ADD COLUMN zmm_logo_eac TEXT DEFAULT NULL
SQL;
DB::statement($sql1);
$sql2 = <<<'SQL'
ALTER TABLE item_characteristics
ADD COLUMN zmm_operating_temperature TEXT DEFAULT NULL
SQL;
DB::statement($sql2);
$sql3 = <<<'SQL'
ALTER TABLE item_characteristics
ADD COLUMN zmm_axial_force TEXT DEFAULT NULL
SQL;
DB::statement($sql3);
}
/**
* Reverse the migrations.
*/
public function down(): void
{
// Schema::table('item_characteristics', function (Blueprint $table) {
// //
// });
}
};

View File

@@ -232,6 +232,10 @@ Route::post('laser/characteristics/change', [CharacteristicsController::class, '
Route::get('laser/characteristics/request', [CharacteristicsController::class, 'getLaserRequestChar']);
// ..Request Stop Characteristics Master - Status
Route::get('laser/characteristics/get-status', [CharacteristicsController::class, 'getLaserRequestStop']);
Route::post('laser-doc-pdf', [PdfController::class, 'storeLaserPdf']);
// ..Process Order