From f62618d82c578dc5504067c5eb0bc19850b61ab2 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:19:21 +0530 Subject: [PATCH 1/5] Added item characteristics migration file --- ...3847_create_item_characteristics_table.php | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 database/migrations/2026_07_29_153847_create_item_characteristics_table.php diff --git a/database/migrations/2026_07_29_153847_create_item_characteristics_table.php b/database/migrations/2026_07_29_153847_create_item_characteristics_table.php new file mode 100644 index 0000000..a00a960 --- /dev/null +++ b/database/migrations/2026_07_29_153847_create_item_characteristics_table.php @@ -0,0 +1,184 @@ + Date: Tue, 4 Aug 2026 15:20:22 +0530 Subject: [PATCH 2/5] Added item characteristic model file --- app/Models/ItemCharacteristic.php | 175 ++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 app/Models/ItemCharacteristic.php diff --git a/app/Models/ItemCharacteristic.php b/app/Models/ItemCharacteristic.php new file mode 100644 index 0000000..4f19891 --- /dev/null +++ b/app/Models/ItemCharacteristic.php @@ -0,0 +1,175 @@ +belongsTo(Plant::class); + } + + public function item(): BelongsTo + { + return $this->belongsTo(Item::class); + } +} -- 2.49.1 From eb1a23bd7c483e9590b3dd3951eec707d21553fd Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:22:05 +0530 Subject: [PATCH 3/5] Added item characteristic resource pages --- .../Resources/ItemCharacteristicResource.php | 1039 +++++++++++++++++ .../Pages/CreateItemCharacteristic.php | 12 + .../Pages/EditItemCharacteristic.php | 22 + .../Pages/ListItemCharacteristics.php | 19 + .../Pages/ViewItemCharacteristic.php | 19 + 5 files changed, 1111 insertions(+) create mode 100644 app/Filament/Resources/ItemCharacteristicResource.php create mode 100644 app/Filament/Resources/ItemCharacteristicResource/Pages/CreateItemCharacteristic.php create mode 100644 app/Filament/Resources/ItemCharacteristicResource/Pages/EditItemCharacteristic.php create mode 100644 app/Filament/Resources/ItemCharacteristicResource/Pages/ListItemCharacteristics.php create mode 100644 app/Filament/Resources/ItemCharacteristicResource/Pages/ViewItemCharacteristic.php diff --git a/app/Filament/Resources/ItemCharacteristicResource.php b/app/Filament/Resources/ItemCharacteristicResource.php new file mode 100644 index 0000000..501fa16 --- /dev/null +++ b/app/Filament/Resources/ItemCharacteristicResource.php @@ -0,0 +1,1039 @@ +schema([ + Section::make('') + ->schema([ + Forms\Components\Select::make('plant_id') + ->label('Plant') + ->reactive() + ->relationship('plant', 'name') + ->options(function (callable $get) { + $userHas = Filament::auth()->user()->plant_id; + return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray(); + }) + ->required(), + Forms\Components\Select::make('item_id') + ->label('Item Code') + //->relationship('item', 'id') + ->reactive() + ->searchable() + ->options(function (callable $get) { + $plantId = $get('plant_id'); + if (empty($plantId)) { + return []; + } + return Item::where('plant_id', $plantId)->pluck('code', 'id'); + }) + ->required(), + Forms\Components\TextInput::make('class') + ->label('CLASS'), + Forms\Components\TextInput::make('zz1_cn_bill_ord') + ->label('ZZ1 CN BILL ORD'), + Forms\Components\TextInput::make('zmm_amps') + ->label('ZMM AMPS'), + Forms\Components\TextInput::make('zmm_brand') + ->label('ZMM BRAND'), + Forms\Components\TextInput::make('zmm_degreeofprotection') + ->label('ZMM DEGREE OF PROTECTION'), + Forms\Components\TextInput::make('zmm_delivery') + ->label('ZMM DELIVERY'), + Forms\Components\TextInput::make('zmm_dir_rot') + ->label('ZMM DIRECTION ROTATION'), + Forms\Components\TextInput::make('zmm_discharge') + ->label('ZMM DISCHARGE'), + Forms\Components\TextInput::make('zmm_discharge_max') + ->label('ZMM DISCHARGE MAX'), + Forms\Components\TextInput::make('zmm_discharge_min') + ->label('ZMM DISCHARGE MIN'), + Forms\Components\TextInput::make('zmm_duty') + ->label('ZMM DUTY'), + Forms\Components\TextInput::make('zmm_eff_motor') + ->label('ZMM EFF MOTOR'), + Forms\Components\TextInput::make('zmm_eff_pump') + ->label('ZMM EFF PUMP'), + Forms\Components\TextInput::make('zmm_frequency') + ->label('ZMM FREQUENCY'), + Forms\Components\TextInput::make('zmm_head') + ->label('ZMM HEAD'), + Forms\Components\TextInput::make('zmm_heading') + ->label('ZMM HEADING'), + Forms\Components\TextInput::make('zmm_head_max') + ->label('ZMM HEAD MAX'), + Forms\Components\TextInput::make('zmm_head_minimum') + ->label('ZMM HEAD MINIMUM'), + Forms\Components\TextInput::make('zmm_idx_eff_mtr') + ->label('ZMM IDX EFF MTR'), + Forms\Components\TextInput::make('zmm_idx_eff_pump') + ->label('ZMM IDX EFF PUMP'), + Forms\Components\TextInput::make('zmm_kvacode') + ->label('ZMM KVACODE'), + Forms\Components\TextInput::make('zmm_maxambtemp') + ->label('ZMM MAX AMB TEMP'), + Forms\Components\TextInput::make('zmm_mincoolingflow') + ->label('ZMM MIN COOLING FLOW'), + Forms\Components\TextInput::make('zmm_motorseries') + ->label('ZMM MOTOR SERIES'), + Forms\Components\TextInput::make('zmm_motor_model') + ->label('ZMM MOTOR MODEL'), + Forms\Components\TextInput::make('zmm_outlet') + ->label('ZMM OUTLET'), + Forms\Components\TextInput::make('zmm_phase') + ->label('ZMM PHASE'), + Forms\Components\TextInput::make('zmm_pressure') + ->label('ZMM PRESSURE'), + Forms\Components\TextInput::make('zmm_pumpflowtype') + ->label('ZMM PUMP FLOW TYPE'), + Forms\Components\TextInput::make('zmm_pumpseries') + ->label('ZMM PUMP SERIES'), + Forms\Components\TextInput::make('zmm_pump_model') + ->label('ZMM PUMP MODEL'), + Forms\Components\TextInput::make('zmm_ratedpower') + ->label('ZMM RATED POWER'), + Forms\Components\TextInput::make('zmm_region') + ->label('ZMM REGION'), + Forms\Components\TextInput::make('zmm_servicefactor') + ->label('ZMM SERVICE FACTOR'), + Forms\Components\TextInput::make('zmm_servicefactormaximumamps') + ->label('ZMM SERVICE FACTOR MAXIMUM AMPS'), + Forms\Components\TextInput::make('zmm_speed') + ->label('ZMM SPEED'), + Forms\Components\TextInput::make('zmm_suction') + ->label('ZMM SUCTION'), + Forms\Components\TextInput::make('zmm_suctionxdelivery') + ->label('ZMM SUCTION X DELIVERY'), + Forms\Components\TextInput::make('zmm_supplysource') + ->label('ZMM SUPPLY SOURCE'), + Forms\Components\TextInput::make('zmm_temperature') + ->label('ZMM TEMPERATURE'), + Forms\Components\TextInput::make('zmm_thrustload') + ->label('ZMM THRUST LOAD'), + Forms\Components\TextInput::make('zmm_volts') + ->label('ZMM VOLTS'), + Forms\Components\TextInput::make('zmm_wire') + ->label('ZMM WIRE'), + Forms\Components\TextInput::make('zmm_package') + ->label('ZMM PACKAGE'), + Forms\Components\TextInput::make('zmm_pvarrayrating') + ->label('ZMM PV ARRAY RATING'), + Forms\Components\TextInput::make('zmm_isi') + ->label('ZMM ISI'), + Forms\Components\TextInput::make('zmm_isimotor') + ->label('ZMM ISI MOTOR'), + Forms\Components\TextInput::make('zmm_isipump') + ->label('ZMM ISI PUMP'), + Forms\Components\TextInput::make('zmm_isipumpset') + ->label('ZMM ISI PUMP SET'), + Forms\Components\TextInput::make('zmm_pumpset_model') + ->label('ZMM PUMP SET MODEL'), + Forms\Components\TextInput::make('zmm_stages') + ->label('ZMM STAGES'), + Forms\Components\TextInput::make('zmm_headrange') + ->label('ZMM HEAD RANGE'), + Forms\Components\TextInput::make('zmm_overall_efficiency') + ->label('ZMM OVERALL EFFICIENCY'), + Forms\Components\TextInput::make('zmm_connection') + ->label('ZMM CONNECTION'), + Forms\Components\TextInput::make('zmm_min_bore_size') + ->label('ZMM MIN BORE SIZE'), + Forms\Components\TextInput::make('zmm_isireference') + ->label('ZMM ISI REFERENCE'), + Forms\Components\TextInput::make('zmm_category') + ->label('ZMM CATEGORY'), + Forms\Components\TextInput::make('zmm_submergence') + ->label('ZMM SUBMERGENCE'), + Forms\Components\TextInput::make('zmm_capacitorstart') + ->label('ZMM CAPACITOR START'), + Forms\Components\TextInput::make('zmm_capacitorrun') + ->label('ZMM CAPACITOR RUN'), + Forms\Components\TextInput::make('zmm_inch') + ->label('ZMM INCH'), + Forms\Components\TextInput::make('zmm_motor_type') + ->label('ZMM MOTOR TYPE'), + Forms\Components\TextInput::make('zmm_dismantle_direction') + ->label('ZMM DISMANTLE DIRECTION'), + Forms\Components\TextInput::make('zmm_eff_ovrall') + ->label('ZMM OVERALL EFFICIENCY'), + Forms\Components\TextInput::make('zmm_bodymoc') + ->label('ZMM BODY MOC'), + Forms\Components\TextInput::make('zmm_rotormoc') + ->label('ZMM ROTOR MOC'), + Forms\Components\TextInput::make('zmm_dlwl') + ->label('ZMM DLWL'), + Forms\Components\TextInput::make('zmm_inputpower') + ->label('ZMM INPUT POWER'), + Forms\Components\TextInput::make('zmm_imp_od') + ->label('ZMM IMP OD'), + Forms\Components\TextInput::make('zmm_ambtemp') + ->label('ZMM AMBIENT TEMPERATURE'), + Forms\Components\TextInput::make('zmm_de') + ->label('ZMM DE'), + Forms\Components\TextInput::make('zmm_dischargerange') + ->label('ZMM DISCHARGE RANGE'), + Forms\Components\TextInput::make('zmm_efficiency_class') + ->label('ZMM EFFICIENCY CLASS'), + Forms\Components\TextInput::make('zmm_framesize') + ->label('ZMM FRAME SIZE'), + Forms\Components\TextInput::make('zmm_impellerdiameter') + ->label('ZMM IMPELLER DIAMETER'), + Forms\Components\TextInput::make('zmm_insulationclass') + ->label('ZMM INSULATION CLASS'), + Forms\Components\TextInput::make('zmm_maxflow') + ->label('ZMM MAX FLOW'), + Forms\Components\TextInput::make('zmm_minhead') + ->label('ZMM MIN HEAD'), + Forms\Components\TextInput::make('zmm_mtrlofconst') + ->label('ZMM MOTOR LOAD CONSTANT'), + Forms\Components\TextInput::make('zmm_nde') + ->label('ZMM NDE'), + Forms\Components\TextInput::make('zmm_powerfactor') + ->label('ZMM POWER FACTOR'), + Forms\Components\TextInput::make('zmm_tagno') + ->label('ZMM TAGNO'), + Forms\Components\TextInput::make('zmm_year') + ->label('ZMM YEAR'), + Forms\Components\TextInput::make('zmm_laser_name') + ->label('ZMM LASER NAME'), + Forms\Components\TextInput::make('zmm_beenote') + ->label('ZMM BEE NOTE'), + Forms\Components\TextInput::make('zmm_beenumber') + ->label('ZMM BEE NUMBER'), + Forms\Components\TextInput::make('zmm_beestar') + ->label('ZMM BEE STAR'), + Forms\Components\TextInput::make('zmm_logo_ce') + ->label('ZMM LOGO CE'), + Forms\Components\TextInput::make('zmm_codeclass') + ->label('ZMM CODE CLASS'), + Forms\Components\TextInput::make('zmm_colour') + ->label('ZMM Colour'), + Forms\Components\TextInput::make('zmm_logo_cp') + ->label('ZMM LOGO CP'), + Forms\Components\TextInput::make('zmm_grade') + ->label('ZMM GRADE'), + Forms\Components\TextInput::make('zmm_grwt_pset') + ->label('ZMM Grwt Pset'), + Forms\Components\TextInput::make('zmm_grwt_cable') + ->label('ZMM GRWT CABLE'), + Forms\Components\TextInput::make('zmm_grwt_motor') + ->label('ZMM GRWT MOTOR'), + Forms\Components\TextInput::make('zmm_grwt_pf') + ->label('ZMM GRWT PF'), + Forms\Components\TextInput::make('zmm_grwt_pump') + ->label('ZMM GRWT PUMP'), + Forms\Components\TextInput::make('zmm_isivalve') + ->label('ZMM ISIV ALVE'), + Forms\Components\TextInput::make('zmm_isi_wc') + ->label('ZMM ISIV WC'), + Forms\Components\TextInput::make('zmm_labelperiod') + ->label('ZMM LABEL PERIOD'), + Forms\Components\TextInput::make('zmm_length') + ->label('ZMM LENGTH'), + Forms\Components\TextInput::make('zmm_license_cml_no') + ->label('ZMM LICENSE CML NO'), + Forms\Components\TextInput::make('zmm_mfgmonyr') + ->label('ZMM MFG MON YR'), + Forms\Components\TextInput::make('zmm_modelyear') + ->label('ZMM MODEL YEAR'), + Forms\Components\TextInput::make('zmm_motoridentification') + ->label('ZMM MOTOR IDENTIFICATION'), + Forms\Components\TextInput::make('zmm_newt_pset') + ->label('ZMM NEWT PSET'), + Forms\Components\TextInput::make('zmm_newt_cable') + ->label('ZMM NEWT CABLE'), + Forms\Components\TextInput::make('zmm_newt_motor') + ->label('ZMM NEWT MOTOR'), + Forms\Components\TextInput::make('zmm_newt_pf') + ->label('ZMM NEWT PF'), + Forms\Components\TextInput::make('zmm_newt_pump') + ->label('ZMM NEWT PUMP'), + Forms\Components\TextInput::make('zmm_logo_nsf') + ->label('ZMM LOGO NSF'), + Forms\Components\TextInput::make('zmm_packtype') + ->label('ZMM PACK TYPE'), + Forms\Components\TextInput::make('zmm_panel') + ->label('ZMM PANEL'), + Forms\Components\TextInput::make('zmm_performance_factor') + ->label('ZMM PERFORMANCE FACTOR'), + Forms\Components\TextInput::make('zmm_pumpidentification') + ->label('ZMM PUMP IDENTIFICATION'), + Forms\Components\TextInput::make('zmm_psettype') + ->label('ZMM PSET TYPE'), + Forms\Components\TextInput::make('zmm_size') + ->label('ZMM SIZE'), + Forms\Components\TextInput::make('zmm_eff_ttl') + ->label('ZMM EFF TTL'), + Forms\Components\TextInput::make('zmm_type') + ->label('ZMM TYPE'), + Forms\Components\TextInput::make('zmm_usp') + ->label('ZMM USP'), + Forms\Components\TextInput::make('zmm_operating_range') + ->label('ZMM OPERATING RANGE'), + Forms\Components\TextInput::make('zmm_intake_air') + ->label('ZMM INTAKE AIR'), + Forms\Components\TextInput::make('zmm_oxygen_transfer_rate') + ->label('ZMM OXYGEN TRANSFER RATE'), + Forms\Components\TextInput::make('zmm_air_inlet_pipesize') + ->label('ZMM AIR INLET PIPESIZE'), + Forms\Components\TextInput::make('zmm_sump_depth') + ->label('ZMM SUMP DEPTH'), + Forms\Components\TextInput::make('zmm_poles') + ->label('ZMM POLES'), + Forms\Components\TextInput::make('zmm_motor_heading') + ->label('ZMM MOTOR HEADING'), + Forms\Components\TextInput::make('zmm_motor_speed') + ->label('ZMM MOTOR SPEED'), + Forms\Components\TextInput::make('zqmm_qty') + ->label('ZMM QTY'), + Forms\Components\TextInput::make('zmm_1') + ->label('ZMM 1'), + Forms\Components\TextInput::make('zmm_2') + ->label('ZMM 2'), + Forms\Components\TextInput::make('zmm_3') + ->label('ZMM 3'), + Forms\Components\TextInput::make('zmm_4') + ->label('ZMM 4'), + Forms\Components\TextInput::make('zmm_5') + ->label('ZMM 5'), + Forms\Components\TextInput::make('zmm_6') + ->label('ZMM 6'), + Forms\Components\TextInput::make('zmm_7') + ->label('ZMM 7'), + Forms\Components\TextInput::make('zmm_8') + ->label('ZMM 8'), + Forms\Components\TextInput::make('zmm_9') + ->label('ZMM 9'), + Forms\Components\TextInput::make('zmm_10') + ->label('ZMM 10'), + Forms\Components\TextInput::make('zmm_11') + ->label('ZMM 11'), + Forms\Components\TextInput::make('zmm_12') + ->label('ZMM 12'), + Forms\Components\TextInput::make('zmm_13') + ->label('ZMM 13'), + Forms\Components\TextInput::make('zmm_14') + ->label('ZMM 14'), + Forms\Components\TextInput::make('zmm_15') + ->label('ZMM 15'), + 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), + ]) + ->columns(3), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + // Tables\Columns\TextColumn::make('id') + // ->label('ID') + // ->numeric() + // ->sortable(), + 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') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('item.code') + ->label('ITEM CODE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('class') + ->label('CLASS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zz1_cn_bill_ord') + ->label('ZZ1 CN BILL ORD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_amps') + ->label('ZMM AMPS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_brand') + ->label('ZMM BRAND') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_degreeofprotection') + ->label('ZMM DEGREE OF PROTECTION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_delivery') + ->label('ZMM DELIVERY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_dir_rot') + ->label('ZMM DIRECTION ROTATION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_discharge') + ->label('ZMM DISCHARGE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_discharge_max') + ->label('ZMM DISCHARGE MAX') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_discharge_min') + ->label('ZMM DISCHARGE MIN') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_duty') + ->label('ZMM DUTY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_eff_motor') + ->label('ZMM EFF MOTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_eff_pump') + ->label('ZMM EFF PUMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_frequency') + ->label('ZMM FREQUENCY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_head') + ->label('ZMM HEAD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_heading') + ->label('ZMM HEADING') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_head_max') + ->label('ZMM HEAD MAX') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_head_minimum') + ->label('ZMM HEAD MINIMUM') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_idx_eff_mtr') + ->label('ZMM IDX EFF MTR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_idx_eff_pump') + ->label('ZMM IDX EFF PUMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_kvacode') + ->label('ZMM KVACODE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_maxambtemp') + ->label('ZMM MAX AMB TEMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_mincoolingflow') + ->label('ZMM MIN COOLING FLOW') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motorseries') + ->label('ZMM MOTOR SERIES') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motor_model') + ->label('ZMM MOTOR MODEL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_outlet') + ->label('ZMM OUTLET') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_phase') + ->label('ZMM PHASE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pressure') + ->label('ZMM PRESSURE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pumpflowtype') + ->label('ZMM PUMP FLOW TYPE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pumpseries') + ->label('ZMM PUMP SERIES') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pump_model') + ->label('ZMM PUMP MODEL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_ratedpower') + ->label('ZMM RATED POWER') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_region') + ->label('ZMM REGION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_servicefactor') + ->label('ZMM SERVICE FACTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_servicefactormaximumamps') + ->label('ZMM SERVICE FACTOR MAXIMUM AMPS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_speed') + ->label('ZMM SPEED') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_suction') + ->label('ZMM SUCTION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_suctionxdelivery') + ->label('ZMM SUCTION X DELIVERY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_supplysource') + ->label('ZMM SUPPLY SOURCE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_temperature') + ->label('ZMM TEMPERATURE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_thrustload') + ->label('ZMM THRUST LOAD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_volts') + ->label('ZMM VOLTS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_wire') + ->label('ZMM WIRE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_package') + ->label('ZMM PACKAGE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pvarrayrating') + ->label('ZMM PV ARRAY RATING') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isi') + ->label('ZMM ISI') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isimotor') + ->label('ZMM ISI MOTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isipump') + ->label('ZMM ISI PUMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isipumpset') + ->label('ZMM ISI PUMP SET') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pumpset_model') + ->label('ZMM PUMP SET MODEL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_stages') + ->label('ZMM STAGES') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_headrange') + ->label('ZMM HEAD RANGE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_overall_efficiency') + ->label('ZMM OVERALL EFFICIENCY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_connection') + ->label('ZMM CONNECTION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_min_bore_size') + ->label('ZMM MIN BORE SIZE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isireference') + ->label('ZMM ISI REFERENCE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_category') + ->label('ZMM CATEGORY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_submergence') + ->label('ZMM SUBMERGENCE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_capacitorstart') + ->label('ZMM CAPACITOR START') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_capacitorrun') + ->label('ZMM CAPACITOR RUN') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_inch') + ->label('ZMM INCH') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motor_type') + ->label('ZMM MOTOR TYPE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_dismantle_direction') + ->label('ZMM DISMANTLE DIRECTION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_eff_ovrall') + ->label('ZMM OVERALL EFFICIENCY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_bodymoc') + ->label('ZMM BODY MOC') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_rotormoc') + ->label('ZMM ROTOR MOC') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_dlwl') + ->label('ZMM DLWL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_inputpower') + ->label('ZMM INPUT POWER') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_imp_od') + ->label('ZMM IMP OD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_ambtemp') + ->label('ZMM AMBIENT TEMPERATURE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_de') + ->label('ZMM DE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_dischargerange') + ->label('ZMM DISCHARGE RANGE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_efficiency_class') + ->label('ZMM EFFICIENCY CLASS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_framesize') + ->label('ZMM FRAME SIZE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_impellerdiameter') + ->label('ZMM IMPPELLER DIAMETER') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_insulationclass') + ->label('ZMM INSULATION CLASS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_maxflow') + ->label('ZMM MAX FLOW') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_minhead') + ->label('ZMM MIN HEAD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_mtrlofconst') + ->label('ZMM MOTOR LOAD CONSTANT') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_nde') + ->label('ZMM NDE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_powerfactor') + ->label('ZMM POWER FACTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_tagno') + ->label('ZMM TAGNO') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_year') + ->label('ZMM YEAR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_laser_name') + ->label('ZMM LASER NAME') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_beenote') + ->label('ZMM BEE NOTE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_beenumber') + ->label('ZMM BEE NUMBER') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_beestar') + ->label('ZMM BEE STAR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_logo_ce') + ->label('ZMM LOGO CE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_codeclass') + ->label('ZMM CODE CLASS') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_colour') + ->label('ZMM COLOUR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_logo_cp') + ->label('ZMM LOGO CP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grade') + ->label('ZMM GRADE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grwt_pset') + ->label('ZMM GRWT PSET') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grwt_cable') + ->label('ZMM GRWT CABLE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grwt_motor') + ->label('ZMM GRWT MOTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grwt_pf') + ->label('ZMM GRWT PF') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_grwt_pump') + ->label('ZMM GRWT PUMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isivalve') + ->label('ZMM ISIV ALVE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_isi_wc') + ->label('ZMM ISIV WC') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_labelperiod') + ->label('ZMM LABEL PERIOD') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_length') + ->label('ZMM LENGTH') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_license_cml_no') + ->label('ZMM LICENSE CML NO') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_mfgmonyr') + ->label('ZMM MFG MON YR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_modelyear') + ->label('ZMM MODEL YEAR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motoridentification') + ->label('ZMM MOTOR IDENTIFICATION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_newt_pset') + ->label('ZMM NEWT PSET') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_newt_cable') + ->label('ZMM NEWT CABLE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_newt_motor') + ->label('ZMM NEWT MOTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_newt_pf') + ->label('ZMM NEWT PF') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_newt_pump') + ->label('ZMM NEWT PUMP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_logo_nsf') + ->label('ZMM LOGO NSF') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_packtype') + ->label('ZMM PACK TYPE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_panel') + ->label('ZMM PANEL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_performance_factor') + ->label('ZMM PERFORMANCE FACTOR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_pumpidentification') + ->label('ZMM PUMP IDENTIFICATION') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_psettype') + ->label('ZMM PSET TYPE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_size') + ->label('ZMM SIZE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_eff_ttl') + ->label('ZMM EFF TTL') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_type') + ->label('ZMM TYPE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_usp') + ->label('ZMM USP') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_operating_range') + ->label('ZMM OPERATING RANGE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_intake_air') + ->label('ZMM INTAKE AIR') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_oxygen_transfer_rate') + ->label('ZMM OXYGEN TRANSFER RATE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_air_inlet_pipesize') + ->label('ZMM AIR INLET PIPESIZE') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_sump_depth') + ->label('ZMM SUMP DEPTH') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_poles') + ->label('ZMM POLES') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motor_heading') + ->label('ZMM MOTOR HEADING') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_motor_speed') + ->label('ZMM MOTOR SPEED') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zqmm_qty') + ->label('ZMM QTY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_1') + ->label('ZMM 1') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_2') + ->label('ZMM 2') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_3') + ->label('ZMM 3') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_4') + ->label('ZMM 4') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_5') + ->label('ZMM 5') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_6') + ->label('ZMM 6') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_7') + ->label('ZMM 7') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_8') + ->label('ZMM 8') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_9') + ->label('ZMM 9') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_10') + ->label('ZMM 10') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_11') + ->label('ZMM 11') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_12') + ->label('ZMM 12') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_13') + ->label('ZMM 13') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_14') + ->label('ZMM 14') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('zmm_15') + ->label('ZMM 15') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('created_by') + ->label('CREATED BY') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_by') + ->label('UPDATED BY') + ->alignCenter() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('deleted_at') + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + Tables\Filters\TrashedFilter::make(), + ]) + ->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 Item Characteristics') + ->color('warning') + ->importer(ItemCharacteristicImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import item characteristics'); + }), + ExportAction::make() + ->label('Export Item Characteristics') + ->color('warning') + ->exporter(ItemCharacteristicExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export item characteristics'); + }), + ]); + + } + + public static function getRelations(): array + { + return [ + // + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListItemCharacteristics::route('/'), + 'create' => Pages\CreateItemCharacteristic::route('/create'), + 'view' => Pages\ViewItemCharacteristic::route('/{record}'), + 'edit' => Pages\EditItemCharacteristic::route('/{record}/edit'), + ]; + } + + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } +} diff --git a/app/Filament/Resources/ItemCharacteristicResource/Pages/CreateItemCharacteristic.php b/app/Filament/Resources/ItemCharacteristicResource/Pages/CreateItemCharacteristic.php new file mode 100644 index 0000000..bf45571 --- /dev/null +++ b/app/Filament/Resources/ItemCharacteristicResource/Pages/CreateItemCharacteristic.php @@ -0,0 +1,12 @@ + Date: Tue, 4 Aug 2026 15:23:31 +0530 Subject: [PATCH 4/5] Added item characteristic importer and exporter --- .../Exports/ItemCharacteristicExporter.php | 355 ++++++++++++++++++ .../Imports/ItemCharacteristicImporter.php | 194 ++++++++++ 2 files changed, 549 insertions(+) create mode 100644 app/Filament/Exports/ItemCharacteristicExporter.php create mode 100644 app/Filament/Imports/ItemCharacteristicImporter.php diff --git a/app/Filament/Exports/ItemCharacteristicExporter.php b/app/Filament/Exports/ItemCharacteristicExporter.php new file mode 100644 index 0000000..7b3b966 --- /dev/null +++ b/app/Filament/Exports/ItemCharacteristicExporter.php @@ -0,0 +1,355 @@ +label('NO') + ->state(function ($record) use (&$rowNumber) { + // Increment and return the row number + return ++$rowNumber; + }), + ExportColumn::make('plant.name') + ->label('PLANT'), + ExportColumn::make('item.code') + ->label('ITEM CODE'), + ExportColumn::make('class') + ->label('CLASS'), + ExportColumn::make('zz1_cn_bill_ord') + ->label('ZZ1 CN BILL ORDER'), + ExportColumn::make('zmm_amps') + ->label('ZMM AMPS'), + ExportColumn::make('zmm_brand') + ->label('ZMM BRAND'), + ExportColumn::make('zmm_degreeofprotection') + ->label('ZMM DEGREE OF PROTECTION'), + ExportColumn::make('zmm_delivery') + ->label('ZMM DELIVERY'), + ExportColumn::make('zmm_dir_rot') + ->label('ZMM DIRECTION OF ROTATION'), + 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 MAXAMB TEMP'), + ExportColumn::make('zmm_mincoolingflow') + ->label('ZMM MIN COOLING FLOW'), + ExportColumn::make('zmm_motorseries') + ->label('ZMM MOTOR SERIES'), + 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 PUMP FLOW TYPE'), + ExportColumn::make('zmm_pumpseries') + ->label('ZMM PUMP SERIES'), + ExportColumn::make('zmm_pump_model') + ->label('ZMM PUMP MODEL'), + ExportColumn::make('zmm_ratedpower') + ->label('ZMM RATED POWER'), + ExportColumn::make('zmm_region') + ->label('ZMM REGION'), + ExportColumn::make('zmm_servicefactor') + ->label('ZMM SERVICE FACTOR'), + ExportColumn::make('zmm_servicefactormaximumamps') + ->label('ZMM SERVICE FACTOR MAXIMUM AMPS'), + ExportColumn::make('zmm_speed') + ->label('ZMM SPEED'), + ExportColumn::make('zmm_suction') + ->label('ZMM SUCTION'), + ExportColumn::make('zmm_suctionxdelivery') + ->label('ZMM SUCTION X DELIVERY'), + ExportColumn::make('zmm_supplysource') + ->label('ZMM SUPPLY SOURCE'), + ExportColumn::make('zmm_temperature') + ->label('ZMM TEMPERATURE'), + ExportColumn::make('zmm_thrustload') + ->label('ZMM THRUST LOAD'), + 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 PV ARRAY RATING'), + ExportColumn::make('zmm_isi') + ->label('ZMM ISI'), + ExportColumn::make('zmm_isimotor') + ->label('ZMM ISI MOTOR'), + ExportColumn::make('zmm_isipump') + ->label('ZMM ISI PUMP'), + ExportColumn::make('zmm_isipumpset') + ->label('ZMM ISI PUMPSET'), + ExportColumn::make('zmm_pumpset_model') + ->label('ZMM PUMPSET MODEL'), + ExportColumn::make('zmm_stages') + ->label('ZMM STAGES'), + ExportColumn::make('zmm_headrange') + ->label('ZMM HEAD RANGE'), + 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 ISI REFERENCE'), + ExportColumn::make('zmm_category') + ->label('ZMM CATEGORY'), + ExportColumn::make('zmm_submergence') + ->label('ZMM SUBMERGENCE'), + ExportColumn::make('zmm_capacitorstart') + ->label('ZMM CAPACITOR START'), + ExportColumn::make('zmm_capacitorrun') + ->label('ZMM CAPACITOR RUN'), + 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 BODY MOC'), + ExportColumn::make('zmm_rotormoc') + ->label('ZMM ROTOR MOC'), + ExportColumn::make('zmm_dlwl') + ->label('ZMM DLWL'), + ExportColumn::make('zmm_inputpower') + ->label('ZMM INPUT POWER'), + 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 DISCHARGE RANGE'), + ExportColumn::make('zmm_efficiency_class') + ->label('ZMM EFFICIENCY CLASS'), + ExportColumn::make('zmm_framesize') + ->label('ZMM FRAME SIZE'), + ExportColumn::make('zmm_impellerdiameter') + ->label('ZMM IMPELLER DIAMETER'), + ExportColumn::make('zmm_insulationclass') + ->label('ZMM INSULATION CLASS'), + ExportColumn::make('zmm_maxflow') + ->label('ZMM MAX FLOW'), + ExportColumn::make('zmm_minhead') + ->label('ZMM MIN HEAD'), + ExportColumn::make('zmm_mtrlofconst') + ->label('ZMM MTR LOF CONST'), + ExportColumn::make('zmm_nde') + ->label('ZMM NDE'), + ExportColumn::make('zmm_powerfactor') + ->label('ZMM POWER FACTOR'), + ExportColumn::make('zmm_tagno') + ->label('ZMM TAG NO'), + 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_logo_ce') + ->label('ZMM LOGO CE'), + 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_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 ISI VALVE'), + ExportColumn::make('zmm_isi_wc') + ->label('ZMM ISI WC'), + ExportColumn::make('zmm_labelperiod') + ->label('ZMM LABEL PERIOD'), + ExportColumn::make('zmm_length') + ->label('ZMM LENGTH'), + ExportColumn::make('zmm_license_cml_no') + ->label('ZMM LICENSE CML NO'), + ExportColumn::make('zmm_mfgmonyr') + ->label('ZMM MFG MON YR'), + ExportColumn::make('zmm_modelyear') + ->label('ZMM MODEL YEAR'), + ExportColumn::make('zmm_motoridentification') + ->label('ZMM MOTOR IDENTIFICATION'), + 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_logo_nsf') + ->label('ZMM LOGO NSF'), + ExportColumn::make('zmm_packtype') + ->label('ZMM PACK TYPE'), + ExportColumn::make('zmm_panel') + ->label('ZMM PANEL'), + ExportColumn::make('zmm_performance_factor') + ->label('ZMM PERFORMANCE FACTOR'), + ExportColumn::make('zmm_pumpidentification') + ->label('ZMM PUMP IDENTIFICATION'), + ExportColumn::make('zmm_psettype') + ->label('ZMM PSET TYPE'), + 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 PIPE SIZE'), + 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('ZMM QTY'), + ExportColumn::make('zmm_1') + ->label('ZMM 1') + ->enabledByDefault(false), + ExportColumn::make('zmm_2') + ->label('ZMM 2') + ->enabledByDefault(false), + ExportColumn::make('zmm_3') + ->label('ZMM 3') + ->enabledByDefault(false), + ExportColumn::make('zmm_4') + ->label('ZMM 4') + ->enabledByDefault(false), + ExportColumn::make('zmm_5') + ->label('ZMM 5') + ->enabledByDefault(false), + ExportColumn::make('zmm_6') + ->label('ZMM 6') + ->enabledByDefault(false), + ExportColumn::make('zmm_7') + ->label('ZMM 7') + ->enabledByDefault(false), + ExportColumn::make('zmm_8') + ->label('ZMM 8') + ->enabledByDefault(false), + ExportColumn::make('zmm_9') + ->label('ZMM 9') + ->enabledByDefault(false), + ExportColumn::make('zmm_10') + ->label('ZMM 10') + ->enabledByDefault(false), + ExportColumn::make('zmm_11') + ->label('ZMM 11') + ->enabledByDefault(false), + ExportColumn::make('zmm_12') + ->label('ZMM 12') + ->enabledByDefault(false), + ExportColumn::make('zmm_13') + ->label('ZMM 13') + ->enabledByDefault(false), + ExportColumn::make('zmm_14') + ->label('ZMM 14') + ->enabledByDefault(false), + ExportColumn::make('zmm_15') + ->label('ZMM 15') + ->enabledByDefault(false), + ExportColumn::make('created_at') + ->label('CREATED AT'), + ExportColumn::make('updated_at') + ->label('UPDATED AT'), + ExportColumn::make('created_by') + ->label('CREATED BY'), + ExportColumn::make('updated_by') + ->label('UPDATED BY'), + ExportColumn::make('deleted_at') + ->label('DELETED AT') + ->enabledByDefault(false), + ]; + } + + public static function getCompletedNotificationBody(Export $export): string + { + $body = 'Your item 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; + } +} diff --git a/app/Filament/Imports/ItemCharacteristicImporter.php b/app/Filament/Imports/ItemCharacteristicImporter.php new file mode 100644 index 0000000..bd61dfe --- /dev/null +++ b/app/Filament/Imports/ItemCharacteristicImporter.php @@ -0,0 +1,194 @@ +requiredMapping() + ->relationship() + ->rules(['required']), + ImportColumn::make('item') + ->requiredMapping() + ->relationship() + ->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('zmm_1'), + ImportColumn::make('zmm_2'), + ImportColumn::make('zmm_3'), + ImportColumn::make('zmm_4'), + ImportColumn::make('zmm_5'), + ImportColumn::make('zmm_6'), + ImportColumn::make('zmm_7'), + ImportColumn::make('zmm_8'), + ImportColumn::make('zmm_9'), + ImportColumn::make('zmm_10'), + ImportColumn::make('zmm_11'), + ImportColumn::make('zmm_12'), + ImportColumn::make('zmm_13'), + ImportColumn::make('zmm_14'), + ImportColumn::make('zmm_15'), + ImportColumn::make('created_by'), + ImportColumn::make('updated_by'), + ]; + } + + public function resolveRecord(): ?ItemCharacteristic + { + // return ItemCharacteristic::firstOrNew([ + // // Update existing records, matching them by `$this->data['column_name']` + // 'email' => $this->data['email'], + // ]); + + return new ItemCharacteristic(); + } + + public static function getCompletedNotificationBody(Import $import): string + { + $body = 'Your item 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; + } +} -- 2.49.1 From 44204df9623faffb274fcc3003428ee306c887e2 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 4 Aug 2026 15:24:20 +0530 Subject: [PATCH 5/5] Added item characteristic policy file --- app/Policies/ItemCharacteristicPolicy.php | 106 ++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 app/Policies/ItemCharacteristicPolicy.php diff --git a/app/Policies/ItemCharacteristicPolicy.php b/app/Policies/ItemCharacteristicPolicy.php new file mode 100644 index 0000000..601180f --- /dev/null +++ b/app/Policies/ItemCharacteristicPolicy.php @@ -0,0 +1,106 @@ +checkPermissionTo('view-any ItemCharacteristic'); + } + + /** + * Determine whether the user can view the model. + */ + public function view(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('view ItemCharacteristic'); + } + + /** + * Determine whether the user can create models. + */ + public function create(User $user): bool + { + return $user->checkPermissionTo('create ItemCharacteristic'); + } + + /** + * Determine whether the user can update the model. + */ + public function update(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('update ItemCharacteristic'); + } + + /** + * Determine whether the user can delete the model. + */ + public function delete(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('delete ItemCharacteristic'); + } + + /** + * Determine whether the user can delete any models. + */ + public function deleteAny(User $user): bool + { + return $user->checkPermissionTo('delete-any ItemCharacteristic'); + } + + /** + * Determine whether the user can restore the model. + */ + public function restore(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('restore ItemCharacteristic'); + } + + /** + * Determine whether the user can restore any models. + */ + public function restoreAny(User $user): bool + { + return $user->checkPermissionTo('restore-any ItemCharacteristic'); + } + + /** + * Determine whether the user can replicate the model. + */ + public function replicate(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('replicate ItemCharacteristic'); + } + + /** + * Determine whether the user can reorder the models. + */ + public function reorder(User $user): bool + { + return $user->checkPermissionTo('reorder ItemCharacteristic'); + } + + /** + * Determine whether the user can permanently delete the model. + */ + public function forceDelete(User $user, ItemCharacteristic $itemcharacteristic): bool + { + return $user->checkPermissionTo('force-delete ItemCharacteristic'); + } + + /** + * Determine whether the user can permanently delete any models. + */ + public function forceDeleteAny(User $user): bool + { + return $user->checkPermissionTo('force-delete-any ItemCharacteristic'); + } +} -- 2.49.1