From 6ebf9fc3b6092f63e12336c18b710e0c13147590 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 28 Jan 2026 09:28:56 +0530 Subject: [PATCH 1/6] Added exporter for ClassCharacteristic --- .../Exports/ClassCharacteristicExporter.php | 335 ++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 app/Filament/Exports/ClassCharacteristicExporter.php diff --git a/app/Filament/Exports/ClassCharacteristicExporter.php b/app/Filament/Exports/ClassCharacteristicExporter.php new file mode 100644 index 0000000..08210e8 --- /dev/null +++ b/app/Filament/Exports/ClassCharacteristicExporter.php @@ -0,0 +1,335 @@ +label('NO') + ->state(function ($record) use (&$rowNumber) { + // Increment and return the row number + return ++$rowNumber; + }), + ExportColumn::make('plant.code') + ->label('PLANT CODE'), + 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 AMPSTEXT'), + 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 MINCOOLING FLOW'), + 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_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_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_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('mark_status') + ->label('MARKED STATUS'), + ExportColumn::make('marked_datetime') + ->label('MARKED DATETIME'), + ExportColumn::make('marked_by') + ->label('MARKED BY'), + ExportColumn::make('man_marked_status') + ->label('MANUAL MARKED STATUS'), + ExportColumn::make('man_marked_datetime') + ->label('MANUAL MARKED DATETIME'), + ExportColumn::make('man_marked_by') + ->label('MANUAL MARKED BY'), + ExportColumn::make('motor_marked_status') + ->label('MOTOR MARKED STATUS'), + ExportColumn::make('pump_marked_status') + ->label('PUMP MARKED STATUS'), + ExportColumn::make('motor_pump_pumpset_status') + ->label('MOTOR PUMP PUMPSET STATUS'), + ExportColumn::make('part_validation_1') + ->label('PART VALIDATION 1'), + ExportColumn::make('part_validation_2') + ->label('PART VALIDATION 2'), + ExportColumn::make('samlight_logged_name') + ->label('SAMLIGHT LOGGED NAME'), + ExportColumn::make('pending_released_status') + ->label('PENDING RELEASED STATUS'), + ExportColumn::make('motor_expected_time') + ->label('MOTOR EXPECTED TIME'), + ExportColumn::make('pump_expected_time') + ->label('PUMP EXPECTED TIME'), + 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 class 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; + } +} From 1b3b0843ea081594039b5c3c2a76bc8fc63384a0 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 28 Jan 2026 09:29:43 +0530 Subject: [PATCH 2/6] Added importer for ClassCharacteristics --- .../Imports/ClassCharacteristicImporter.php | 651 ++++++++++++++++++ 1 file changed, 651 insertions(+) create mode 100644 app/Filament/Imports/ClassCharacteristicImporter.php diff --git a/app/Filament/Imports/ClassCharacteristicImporter.php b/app/Filament/Imports/ClassCharacteristicImporter.php new file mode 100644 index 0000000..b4a13bf --- /dev/null +++ b/app/Filament/Imports/ClassCharacteristicImporter.php @@ -0,0 +1,651 @@ +requiredMapping() + ->exampleHeader('Plant Code') + ->example('1000') + ->label('Plant Code') + ->relationship(resolveUsing: 'code') + ->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(''), + ImportColumn::make('class') + ->label('Class') + ->exampleHeader('Class') + ->example(''), + ImportColumn::make('arbid') + ->label('Arbid') + ->exampleHeader('Arbid') + ->example(''), + ImportColumn::make('gamng') + ->label('Gamng') + ->exampleHeader('Gamng') + ->example(''), + ImportColumn::make('lmnga') + ->label('Lmnga') + ->exampleHeader('Lmnga') + ->example(''), + ImportColumn::make('gernr') + ->label('Gernr') + ->exampleHeader('Gernr') + ->example(''), + ImportColumn::make('zz1_cn_bill_ord') + ->label('zz1 ccn bill ord') + ->exampleHeader('zz1 ccn bill ord') + ->example(''), + ImportColumn::make('zmm_amps') + ->label('zmm amps') + ->exampleHeader('zmm amps') + ->example(''), + ImportColumn::make('zmm_brand') + ->label('zmm brand') + ->exampleHeader('zmm brand') + ->example(''), + ImportColumn::make('zmm_degreeofprotection') + ->label('zmm degreeofprotection') + ->exampleHeader('zmm degreeofprotection') + ->example(''), + ImportColumn::make('zmm_delivery') + ->label('zmm delivery') + ->exampleHeader('zmm delivery') + ->example(''), + 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(''), + 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(''), + 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(''), + ImportColumn::make('zmm_head') + ->label('zmm head') + ->exampleHeader('zmm head') + ->example(''), + ImportColumn::make('zmm_heading') + ->label('zmm heading') + ->exampleHeader('zmm heading') + ->example(''), + ImportColumn::make('zmm_head_max') + ->label('zmm head max') + ->exampleHeader('zmm head max') + ->example(''), + 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(''), + ImportColumn::make('zmm_phase') + ->label('zmm phase') + ->exampleHeader('zmm phase') + ->example(''), + ImportColumn::make('zmm_pressure') + ->label('zmm pressure') + ->exampleHeader('zmm pressure') + ->example(''), + 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(''), + ImportColumn::make('zmm_ratedpower') + ->label('zmm ratedpower') + ->exampleHeader('zmm ratedpower') + ->example(''), + 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(''), + ImportColumn::make('zmm_suction') + ->label('zmm suction') + ->exampleHeader('zmm suction') + ->example(''), + ImportColumn::make('zmm_suctionxdelivery') + ->label('zmm suctionxdelivery') + ->exampleHeader('zmm suctionxdelivery') + ->example(''), + ImportColumn::make('zmm_supplysource') + ->label('zmm supplysource') + ->exampleHeader('zmm supplysource') + ->example(''), + ImportColumn::make('zmm_temperature') + ->label('zmm temperature') + ->exampleHeader('zmm temperature') + ->example(''), + ImportColumn::make('zmm_thrustload') + ->label('zmm thrustload') + ->exampleHeader('zmm thrustload') + ->example(''), + ImportColumn::make('zmm_volts') + ->label('zmm volts') + ->exampleHeader('zmm volts') + ->example(''), + 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(''), + ImportColumn::make('zmm_isimotor') + ->label('zmm isimotor') + ->exampleHeader('zmm isimotor') + ->example(''), + ImportColumn::make('zmm_isipump') + ->label('zmm isipump') + ->exampleHeader('zmm isipump') + ->example(''), + ImportColumn::make('zmm_isipumpset') + ->label('zmm isipumpset') + ->exampleHeader('zmm isipumpset') + ->example(''), + ImportColumn::make('zmm_pumpset_model') + ->label('zmm pumpset model') + ->exampleHeader('zmm pumpset model') + ->example(''), + ImportColumn::make('zmm_stages') + ->label('zmm stages') + ->exampleHeader('zmm stages') + ->example(''), + 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(''), + 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(''), + 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(''), + ImportColumn::make('zmm_dismantle_direction') + ->label('zmm dismantle direction') + ->exampleHeader('zmm dismantle direction') + ->example(''), + ImportColumn::make('zmm_eff_ovrall') + ->label('zmm eff ovrall') + ->exampleHeader('zmm eff ovrall') + ->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(''), + 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(''), + 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 beenumber') + ->exampleHeader('zmm beenumber') + ->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_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(''), + ImportColumn::make('zmm_logo_nsf') + ->label('zmm logo nsf') + ->exampleHeader('zmm logo nsf') + ->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('mark_status') + ->label('MARKED STATUS') + ->exampleHeader('MARKED STATUS') + ->example(''), + ImportColumn::make('marked_datetime') + ->label('MARKED DATETIME') + ->exampleHeader('MARKED DATETIME') + ->example(''), + ImportColumn::make('marked_by') + ->label('MARKED BY') + ->exampleHeader('MARKED BY') + ->example(''), + ImportColumn::make('man_marked_status') + ->label('MANUAL MARKED STATUS') + ->exampleHeader('MANUAL MARKED STATUS') + ->example(''), + ImportColumn::make('man_marked_datetime') + ->label('MANUAL MARKED DATETIME') + ->exampleHeader('MANUAL MARKED DATETIME') + ->example(''), + ImportColumn::make('man_marked_by') + ->label('MANUAL MARKED BY') + ->exampleHeader('MANUAL MARKED BY') + ->example(''), + ImportColumn::make('motor_marked_status') + ->label('MOTOR MARKED STATUS') + ->exampleHeader('MOTOR MARKED STATUS') + ->example(''), + ImportColumn::make('motor_marked_by') + ->label('MOTOR MARKED BY') + ->exampleHeader('MOTOR MARKED BY') + ->example(''), + ImportColumn::make('pump_marked_status') + ->label('PUMP MARKED STATUS') + ->exampleHeader('PUMP MARKED STATUS') + ->example(''), + ImportColumn::make('pump_marked_by') + ->label('PUMP MARKED BY') + ->exampleHeader('PUMP MARKED BY') + ->example(''), + ImportColumn::make('motor_pump_pumpset_status') + ->label('MOTOR PUMP PUMPSET STATUS') + ->exampleHeader('MOTOR PUMP PUMPSET STATUS') + ->example(''), + ImportColumn::make('motor_machine_name') + ->label('MOTOR MACHINE NAME') + ->exampleHeader('MOTOR MACHINE NAME') + ->example(''), + ImportColumn::make('pump_machine_name') + ->label('PUMP MACHINE NAME') + ->exampleHeader('PUMP MACHINE NAME') + ->example(''), + ImportColumn::make('pumpset_machine_name') + ->label('PUMPSET MACHINE NAME') + ->exampleHeader('PUMPSET MACHINE NAME') + ->example(''), + ImportColumn::make('part_validation_1') + ->label('PART VALIDATION 1') + ->exampleHeader('PART VALIDATION 1') + ->example(''), + ImportColumn::make('part_validation_2') + ->label('PART VALIDATION 2') + ->exampleHeader('PART VALIDATION 2') + ->example(''), + ImportColumn::make('samlight_logged_name') + ->label('SAMLGHT LOGGED NAME') + ->exampleHeader('SAMLGHT LOGGED NAME') + ->example(''), + ImportColumn::make('pending_released_status') + ->label('PENDING RELEASED STATUS') + ->exampleHeader('PENDING RELEASED STATUS') + ->example(''), + ImportColumn::make('motor_expected_time') + ->label('MOTOR EXPECTED TIME') + ->exampleHeader('MOTOR EXPECTED TIME') + ->example(''), + ImportColumn::make('pump_expected_time') + ->label('PUMP EXPECTED TIME') + ->exampleHeader('PUMP EXPECTED TIME') + ->example(''), + ImportColumn::make('created_at') + ->label('CREATED AT') + ->exampleHeader('CREATED AT') + ->example(''), + ImportColumn::make('created_by') + ->label('CREATED BY') + ->exampleHeader('CREATED BY') + ->example('RAW01234'), + ImportColumn::make('updated_at') + ->label('UPDATED AT') + ->exampleHeader('UPDATED AT') + ->example(''), + ImportColumn::make('updated_by') + ->label('UPDATED BY') + ->exampleHeader('UPDATED BY') + ->example(''), + // ImportColumn::make('updated_by'), + ]; + } + + public function resolveRecord(): ?ClassCharacteristic + { + // return ClassCharacteristic::firstOrNew([ + // // Update existing records, matching them by `$this->data['column_name']` + // 'email' => $this->data['email'], + // ]); + + return new ClassCharacteristic; + } + + public static function getCompletedNotificationBody(Import $import): string + { + $body = 'Your class 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; + } +} From c994dcd37b498bf332e18ba1e2e84b593847d817 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 28 Jan 2026 13:21:16 +0530 Subject: [PATCH 3/6] Added exporter file --- .../Exports/RequestCharacteristicExporter.php | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 app/Filament/Exports/RequestCharacteristicExporter.php diff --git a/app/Filament/Exports/RequestCharacteristicExporter.php b/app/Filament/Exports/RequestCharacteristicExporter.php new file mode 100644 index 0000000..39faa36 --- /dev/null +++ b/app/Filament/Exports/RequestCharacteristicExporter.php @@ -0,0 +1,99 @@ +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('work_flow_id') + ->label('WORK FLOW ID'), + ExportColumn::make('item.code') + ->label('ITEM CODE'), + ExportColumn::make('aufnr') + ->label('AUFNR'), + ExportColumn::make('characteristicApproverMaster.machine_name') + ->label('MACHINE NAME'), + ExportColumn::make('characteristicApproverMaster.characteristic_field') + ->label('MASTER CHARACTERISTIC FIELD'), + ExportColumn::make('characteristic_name') + ->label('CHARACTERISTIC NAME'), + ExportColumn::make('current_value') + ->label('CURRENT VALUE'), + ExportColumn::make('update_value') + ->label('UPDATE VALUE'), + ExportColumn::make('characteristicApproverMaster.name1') + ->label('APPROVER NAME 1'), + ExportColumn::make('approver_status1') + ->label('APPROVER STATUS 1'), + ExportColumn::make('approver_remark1') + ->label('APPROVER REMARK 1'), + ExportColumn::make('approved1_at') + ->label('APPROVED AT 1'), + ExportColumn::make('characteristicApproverMaster.name2') + ->label('APPROVER NAME 2'), + ExportColumn::make('approver_status2') + ->label('APPROVER STATUS 2'), + ExportColumn::make('approver_remark2') + ->label('APPROVER REMARK 2'), + ExportColumn::make('approved2_at') + ->label('APPROVED AT 2'), + ExportColumn::make('characteristicApproverMaster.name3') + ->label('APPROVER NAME 3'), + ExportColumn::make('approver_status3') + ->label('APPROVER STATUS 3'), + ExportColumn::make('approver_remark3') + ->label('APPROVER REMARK 3'), + ExportColumn::make('approved3_at') + ->label('APPROVED AT 1'), + ExportColumn::make('mail_status') + ->label('MAIL STATUS'), + ExportColumn::make('trigger_at') + ->label('TRIGGERED AT'), + 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 request 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; + } +} From 1daa4b044b58fca65ff3d7402a43e99a4729b15d Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 28 Jan 2026 15:08:58 +0530 Subject: [PATCH 4/6] Added three columns in process order table --- ..._foreign_key_line_id_to_process_orders.php | 33 +++++++++++++++++++ ...crap_quantity_column_to_process_orders.php | 29 ++++++++++++++++ ...rework_status_column_to_process_orders.php | 31 +++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 database/migrations/2026_01_23_111229_added_foreign_key_line_id_to_process_orders.php create mode 100644 database/migrations/2026_01_27_143618_added_scrap_quantity_column_to_process_orders.php create mode 100644 database/migrations/2026_01_28_112740_added_rework_status_column_to_process_orders.php diff --git a/database/migrations/2026_01_23_111229_added_foreign_key_line_id_to_process_orders.php b/database/migrations/2026_01_23_111229_added_foreign_key_line_id_to_process_orders.php new file mode 100644 index 0000000..41d6faa --- /dev/null +++ b/database/migrations/2026_01_23_111229_added_foreign_key_line_id_to_process_orders.php @@ -0,0 +1,33 @@ + Date: Wed, 28 Jan 2026 15:09:43 +0530 Subject: [PATCH 5/6] Added exporter file --- .../CharacteristicApproverMasterExporter.php | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 app/Filament/Exports/CharacteristicApproverMasterExporter.php diff --git a/app/Filament/Exports/CharacteristicApproverMasterExporter.php b/app/Filament/Exports/CharacteristicApproverMasterExporter.php new file mode 100644 index 0000000..9e7042e --- /dev/null +++ b/app/Filament/Exports/CharacteristicApproverMasterExporter.php @@ -0,0 +1,77 @@ +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('characteristic_field') + ->label('MASTER CHARACTERISTIC FIELD 1'), + ExportColumn::make('name1') + ->label('APPROVER NAME 1'), + ExportColumn::make('mail1') + ->label('APPROVER MAIL 1'), + ExportColumn::make('duration1') + ->label('DURATION 1'), + ExportColumn::make('name2') + ->label('APPROVER NAME 2'), + ExportColumn::make('mail2') + ->label('APPROVER MAIL 2'), + ExportColumn::make('duration2') + ->label('DURATION 2'), + ExportColumn::make('name3') + ->label('APPROVER NAME 3'), + ExportColumn::make('mail3') + ->label('APPROVER MAIL 3'), + ExportColumn::make('duration3') + ->label('DURATION 3'), + 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 characteristic approver master 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; + } +} From 77ba58e100d06857ebec6d0c45d12cbb36c5dea5 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Wed, 28 Jan 2026 15:10:45 +0530 Subject: [PATCH 6/6] Added three column sin process model file --- app/Models/ProcessOrder.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/Models/ProcessOrder.php b/app/Models/ProcessOrder.php index a3507eb..b5e46f8 100644 --- a/app/Models/ProcessOrder.php +++ b/app/Models/ProcessOrder.php @@ -12,6 +12,7 @@ class ProcessOrder extends Model protected $fillable = [ 'plant_id', + 'line_id', 'item_id', 'process_order', 'coil_number', @@ -19,6 +20,8 @@ class ProcessOrder extends Model 'received_quantity', 'sfg_number', 'machine_name', + 'scrap_quantity', + 'rework_status', 'created_at', 'created_by', 'updated_by', @@ -30,7 +33,12 @@ class ProcessOrder extends Model return $this->belongsTo(Plant::class); } - public function item() + public function line(): BelongsTo + { + return $this->belongsTo(Line::class); + } + + public function item(): BelongsTo { return $this->belongsTo(Item::class, 'item_id'); }