From fdd91f503210d2c6f1c1a087d2b4b6959e330cef Mon Sep 17 00:00:00 2001 From: salam Date: Mon, 6 Oct 2025 13:08:15 +0200 Subject: [PATCH] wip --- ARTISAN.md | 4 +- .../Resources/Projektes/ProjekteResource.php | 2 + ...ientierungZuAbschlaegesRelationManager.php | 46 +++++++++++++++++++ app/Models/OrientierungZuAbschlaege.php | 18 ++++++++ app/Models/Projekte.php | 5 ++ app/Models/Raeumealle.php | 1 - bootstrap/cache/filament/panels/admin.php | 1 + bootstrap/cache/routes-v7.php | 42 ++++++++--------- ..._10_03_154047_create_raeumealles_table.php | 2 - ...eate_orientierung_zu_abschlaeges_table.php | 45 ++++++++++++++++++ 10 files changed, 140 insertions(+), 26 deletions(-) create mode 100644 app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php create mode 100644 app/Models/OrientierungZuAbschlaege.php create mode 100644 database/migrations/2025_10_06_074618_create_orientierung_zu_abschlaeges_table.php diff --git a/ARTISAN.md b/ARTISAN.md index b219567..fc055db 100644 --- a/ARTISAN.md +++ b/ARTISAN.md @@ -1,4 +1,4 @@ -a make:model ProjektMethode -ms +a make:model OrientierungZuAbschlaege -m a make:filament-resource Customer @@ -29,7 +29,7 @@ php artisan make:filament-importer Raeumealle A make:filament-resource Allgemeinflaechen --nested -a make:filament-relation-manager Projekte;ethodeResource projekt_methodes raumart +a make:filament-relation-manager OrientierungZuAbschlaegeResource orientierung_zu_abschlaeges top_nummer for import in prod run diff --git a/app/Filament/Resources/Projektes/ProjekteResource.php b/app/Filament/Resources/Projektes/ProjekteResource.php index a7a0194..4e0fefd 100644 --- a/app/Filament/Resources/Projektes/ProjekteResource.php +++ b/app/Filament/Resources/Projektes/ProjekteResource.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Projektes; use App\Filament\Resources\Projektes\Pages\EditProjekte; use App\Filament\Resources\Projektes\Pages\ListProjektes; use App\Filament\Resources\Projektes\RelationManagers\AllgemeinflaechensRelationManager; +use App\Filament\Resources\Projektes\RelationManagers\OrientierungZuAbschlaegesRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektMethodesRelationManager; use App\Filament\Resources\Projektes\RelationManagers\RaeumeallesRelationManager; use App\Filament\Resources\Projektes\Schemas\ProjekteForm; @@ -47,6 +48,7 @@ class ProjekteResource extends Resource AllgemeinflaechensRelationManager::class, RaeumeallesRelationManager::class, ProjektMethodesRelationManager::class, + OrientierungZuAbschlaegesRelationManager::class, ]; } diff --git a/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php new file mode 100644 index 0000000..43c2cb5 --- /dev/null +++ b/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php @@ -0,0 +1,46 @@ +recordTitleAttribute('top_nummer') + ->columns([ + TextColumn::make('top_nummer') + ->searchable(), + ]) + ->filters([ + // + ]) + ->headerActions([ + CreateAction::make(), + ]) + ->recordActions([ + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Models/OrientierungZuAbschlaege.php b/app/Models/OrientierungZuAbschlaege.php new file mode 100644 index 0000000..3e29da6 --- /dev/null +++ b/app/Models/OrientierungZuAbschlaege.php @@ -0,0 +1,18 @@ +hasMany(OrientierungZuAbschlaege::class); + } + public function auftraggeber() { return $this->belongsTo(Auftraggeber::class); diff --git a/app/Models/Raeumealle.php b/app/Models/Raeumealle.php index f04fe97..dc99e61 100644 --- a/app/Models/Raeumealle.php +++ b/app/Models/Raeumealle.php @@ -8,7 +8,6 @@ class Raeumealle extends Model { protected $fillable = [ 'methode_id', - 'orientierung_id', 'top_nummer', 'geschoss', 'raumart', diff --git a/bootstrap/cache/filament/panels/admin.php b/bootstrap/cache/filament/panels/admin.php index bf3a7d2..d69f828 100644 --- a/bootstrap/cache/filament/panels/admin.php +++ b/bootstrap/cache/filament/panels/admin.php @@ -29,6 +29,7 @@ 'app.filament.resources.projektes.pages.edit-projekte' => 'App\\Filament\\Resources\\Projektes\\Pages\\EditProjekte', 'app.filament.resources.projektes.pages.list-projektes' => 'App\\Filament\\Resources\\Projektes\\Pages\\ListProjektes', 'app.filament.resources.projektes.relation-managers.allgemeinflaechens-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\AllgemeinflaechensRelationManager', + 'app.filament.resources.projektes.relation-managers.orientierung-zu-abschlaeges-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\OrientierungZuAbschlaegesRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-methodes-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektMethodesRelationManager', 'app.filament.resources.projektes.relation-managers.raeumealles-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\RaeumeallesRelationManager', 'app.filament.resources.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock', diff --git a/bootstrap/cache/routes-v7.php b/bootstrap/cache/routes-v7.php index 62e274a..33a8d18 100644 --- a/bootstrap/cache/routes-v7.php +++ b/bootstrap/cache/routes-v7.php @@ -511,7 +511,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::3ZvPcx4wzGcazHjY', + '_route' => 'generated::0Llyq8WWvdpW4ndu', ), 1 => NULL, 2 => @@ -531,7 +531,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::lOdfu1T7yU5apto8', + '_route' => 'generated::7ZzI2taMyTsjZqwX', ), 1 => NULL, 2 => @@ -589,7 +589,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::LPhTcSOFWcUu5PaT', + '_route' => 'generated::aBSpoLPnVaPa64ak', ), 1 => NULL, 2 => @@ -609,7 +609,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::cvHOt1jrrRN3xfiY', + '_route' => 'generated::DbwtbbbxpmNqWeKS', ), 1 => NULL, 2 => @@ -629,7 +629,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::bonAslfzukOeepe8', + '_route' => 'generated::48cUrf6gzCgGEnhx', ), 1 => NULL, 2 => @@ -649,7 +649,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::6FKILztAKPwOYAG8', + '_route' => 'generated::zbYNqi6JhY1pgxLa', ), 1 => NULL, 2 => @@ -669,7 +669,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::ztTjaopi6XfNllCu', + '_route' => 'generated::GHwFXdybrYv6k8wf', ), 1 => NULL, 2 => @@ -2595,7 +2595,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::3ZvPcx4wzGcazHjY' => + 'generated::0Llyq8WWvdpW4ndu' => array ( 'methods' => array ( @@ -2607,7 +2607,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', - 'as' => 'generated::3ZvPcx4wzGcazHjY', + 'as' => 'generated::0Llyq8WWvdpW4ndu', ), 'fallback' => false, 'defaults' => @@ -2623,7 +2623,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::lOdfu1T7yU5apto8' => + 'generated::7ZzI2taMyTsjZqwX' => array ( 'methods' => array ( @@ -2635,7 +2635,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', - 'as' => 'generated::lOdfu1T7yU5apto8', + 'as' => 'generated::7ZzI2taMyTsjZqwX', ), 'fallback' => false, 'defaults' => @@ -2737,7 +2737,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::LPhTcSOFWcUu5PaT' => + 'generated::aBSpoLPnVaPa64ak' => array ( 'methods' => array ( @@ -2766,7 +2766,7 @@ app('router')->setCompiledRoutes( \'exception\' => $exception, ]), status: $exception ? 500 : 200); }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f2c0000000000000000";}}', - 'as' => 'generated::LPhTcSOFWcUu5PaT', + 'as' => 'generated::aBSpoLPnVaPa64ak', ), 'fallback' => false, 'defaults' => @@ -2782,7 +2782,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::cvHOt1jrrRN3xfiY' => + 'generated::DbwtbbbxpmNqWeKS' => array ( 'methods' => array ( @@ -2804,7 +2804,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::cvHOt1jrrRN3xfiY', + 'as' => 'generated::DbwtbbbxpmNqWeKS', ), 'fallback' => false, 'defaults' => @@ -2820,7 +2820,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::bonAslfzukOeepe8' => + 'generated::48cUrf6gzCgGEnhx' => array ( 'methods' => array ( @@ -2842,7 +2842,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::bonAslfzukOeepe8', + 'as' => 'generated::48cUrf6gzCgGEnhx', ), 'fallback' => false, 'defaults' => @@ -2858,7 +2858,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::6FKILztAKPwOYAG8' => + 'generated::zbYNqi6JhY1pgxLa' => array ( 'methods' => array ( @@ -2880,7 +2880,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::6FKILztAKPwOYAG8', + 'as' => 'generated::zbYNqi6JhY1pgxLa', ), 'fallback' => false, 'defaults' => @@ -2896,7 +2896,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::ztTjaopi6XfNllCu' => + 'generated::GHwFXdybrYv6k8wf' => array ( 'methods' => array ( @@ -2918,7 +2918,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::ztTjaopi6XfNllCu', + 'as' => 'generated::GHwFXdybrYv6k8wf', ), 'fallback' => false, 'defaults' => diff --git a/database/migrations/2025_10_03_154047_create_raeumealles_table.php b/database/migrations/2025_10_03_154047_create_raeumealles_table.php index 529030a..01078c4 100644 --- a/database/migrations/2025_10_03_154047_create_raeumealles_table.php +++ b/database/migrations/2025_10_03_154047_create_raeumealles_table.php @@ -14,8 +14,6 @@ return new class extends Migration Schema::create('raeumealles', function (Blueprint $table) { $table->id(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); - $table->integer('methode_id')->default(0); - $table->integer('orientierung_id')->default(0); $table->string('top_nummer')->nullable(); $table->string('geschoss')->nullable(); $table->string('raumart')->nullable(); diff --git a/database/migrations/2025_10_06_074618_create_orientierung_zu_abschlaeges_table.php b/database/migrations/2025_10_06_074618_create_orientierung_zu_abschlaeges_table.php new file mode 100644 index 0000000..e8cba68 --- /dev/null +++ b/database/migrations/2025_10_06_074618_create_orientierung_zu_abschlaeges_table.php @@ -0,0 +1,45 @@ +id(); + $table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); + $table->integer('orientierung_id')->nullable()->default(0); + $table->boolean('nicht_in_orientierung')->default(0); + $table->string('top_nummer')->nullable(); + $table->string('raumart')->nullable(); + + // 10 Zusatzfelder + $table->decimal('a', 5, 2)->default(0); + $table->decimal('b', 5, 2)->default(0); + $table->decimal('c', 5, 2)->default(0); + $table->decimal('d', 5, 2)->default(0); + $table->decimal('e', 5, 2)->default(0); + $table->decimal('f', 5, 2)->default(0); + $table->decimal('g', 5, 2)->default(0); + $table->decimal('h', 5, 2)->default(0); + $table->decimal('i', 5, 2)->default(0); + $table->decimal('j', 5, 2)->default(0); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('orientierung_zu_abschlaeges'); + } +};