BUB-7 Automobili: Creato funzionalità principali. TODO: Visualizzazione lista operazioni e Implementazione importi in movimenti
This commit is contained in:
parent
9fa9b6681c
commit
9f0ee469c8
@ -3,8 +3,11 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Models\Accessori;
|
||||
use App\Models\Auto;
|
||||
use App\Models\Manutenzione;
|
||||
use App\Models\Operazione;
|
||||
use App\Models\Revisione;
|
||||
use App\Models\Rifornimento;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
@ -66,10 +69,46 @@ class AutoController extends Controller
|
||||
return view('auto.rifornimento',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function manutenzioneAuto(Request $id)
|
||||
{
|
||||
return view('auto.manutenzione',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function revisioneAuto(Request $id)
|
||||
{
|
||||
return view('auto.revisione',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function accessoriAuto(Request $id)
|
||||
{
|
||||
return view('auto.accessori',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function saveRifornimento(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Rifornimento::saveRifornimento($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveManutenzione(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Manutenzione::saveManutenzione($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveAccessori(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Accessori::saveAccessori($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveRevisione(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Revisione::saveRevisione($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,17 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Accessori extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public static function saveAccessori($id,$data)
|
||||
{
|
||||
DB::table('accessoris')->insert([
|
||||
'fk_operazione_id'=>$id,
|
||||
'descrizione'=>$data['descrizione'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,17 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Manutenzione extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public static function saveRevisione($id,$data)
|
||||
{
|
||||
DB::table('manutenziones')->insert([
|
||||
'fk_operazione_id'=>$id,
|
||||
'descrizione'=>$data['descrizione'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,20 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class Revisione extends Model
|
||||
{
|
||||
use HasFactory;
|
||||
|
||||
public static function saveRevisione($id,$data)
|
||||
{
|
||||
DB::table('revisiones')->insert([
|
||||
'fk_operazione_id'=>$id,
|
||||
'descrizione'=>$data['descrizione'],
|
||||
'centrorevisione'=>$data['centrorevisione'],
|
||||
'superata'=>$data['superata'],
|
||||
'dataproxrevisione'=>$data['dataproxrevisione'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class Rifornimento extends Model
|
||||
'eurolitro'=>$data['eurolitro'],
|
||||
'litri'=>$data['litri'],
|
||||
'distributore'=>$data['distributore'],
|
||||
'operazione_id'=>$id
|
||||
'fk_operazione_id'=>$id
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class CreateOperazionesTable extends Migration
|
||||
$table->id();
|
||||
$table->timestamps();
|
||||
$table->unsignedBigInteger('fk_auto_id');
|
||||
$table->foreign('fk_auto_id')->references('id')->on('autos');
|
||||
$table->foreign('fk_auto_id')->references('id')->on('autos')->cascadeOnDelete();
|
||||
$table->date('data');
|
||||
$table->bigInteger('km');
|
||||
$table->double('importo',10,2);
|
@ -19,8 +19,8 @@ class CreateRifornimentosTable extends Migration
|
||||
$table->double('eurolitro',10,2);
|
||||
$table->double('litri',10,2);
|
||||
$table->string('distributore',255);
|
||||
$table->unsignedBigInteger('fk_operazione');
|
||||
$table->foreign('fk_operazione')->references('id')->on('operaziones');
|
||||
$table->unsignedBigInteger('fk_operazione_id');
|
||||
$table->foreign('fk_operazione_id')->references('id')->on('operaziones')->cascadeOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,9 @@ class CreateManutenzionesTable extends Migration
|
||||
Schema::create('manutenziones', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->timestamps();
|
||||
$table->longText('descrizione');
|
||||
$table->unsignedBigInteger('fk_operazione_id');
|
||||
$table->foreign('fk_operazione_id')->references('id')->on('operaziones')->cascadeOnDelete();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,12 @@ class CreateRevisionesTable extends Migration
|
||||
Schema::create('revisiones', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->timestamps();
|
||||
$table->unsignedBigInteger('fk_operazione_id');
|
||||
$table->foreign('fk_operazione_id')->references('id')->on('operaziones')->cascadeOnDelete();
|
||||
$table->longText('descrizione');
|
||||
$table->string('centrorevisione',255);
|
||||
$table->boolean('superata');
|
||||
$table->date('dataproxrevisione');
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,9 @@ class CreateAccessorisTable extends Migration
|
||||
Schema::create('accessoris', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->timestamps();
|
||||
$table->unsignedBigInteger('fk_operazione_id');
|
||||
$table->foreign('fk_operazione_id')->references('id')->on('operaziones')->cascadeOnDelete();
|
||||
$table->longText('descrizione');
|
||||
});
|
||||
}
|
||||
|
||||
|
63
resources/views/auto/accessori.blade.php
Normal file
63
resources/views/auto/accessori.blade.php
Normal file
@ -0,0 +1,63 @@
|
||||
@extends('admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">Registrazione Accessori/Acquisti</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Accessori/Acquisti auto {{ $dettagli->marca;}} {{ $dettagli->modello; }} {{ $dettagli->targa; }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<!-- Form -->
|
||||
<form action="" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="data" class="form-label">Data</label>
|
||||
<input type="date" class="form-control" id="data" name="data" value="{{ date('Y-m-d');}}">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="km" class="form-label">Km</label>
|
||||
<input type="text" class="form-control" id="km" name="km">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="importo" class="form-label">Importo totale</label>
|
||||
<input type="text" class="form-control" id="importo" name="importo">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="descrizione" class="form-label">Descrizione</label>
|
||||
<input type="text" class="form-control" id="descrizione" name="descrizione">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<input type="hidden" name="type" value="accessori">
|
||||
<input type="hidden" name="auto" value="{{ $dettagli->id; }}">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- /Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#automobili').DataTable({
|
||||
responsive: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
@ -16,31 +16,65 @@
|
||||
<!-- Form -->
|
||||
<form action="" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label for="marca" class="form-label">Marca</label>
|
||||
<input type="text" class="form-control" id="marca" name="marca">
|
||||
<label for="modello" class="form-label">Modello</label>
|
||||
<input type="text" class="form-control" id="modello" name="modello">
|
||||
<label for="targa" class="form-label">Targa</label>
|
||||
<input type="text" class="form-control" id="targa" name="targa">
|
||||
<label for="alimentazione" class="form-label">Alimentazione</label>
|
||||
<input type="text" class="form-control" id="alimentazione" name="alimentazione">
|
||||
<label for="cilindrata" class="form-label">Cilindrata</label>
|
||||
<input type="text" class="form-control" id="cilindrata" name="cilindrata">
|
||||
<label for="cvfiscali" class="form-label">Cavalli Fiscali</label>
|
||||
<input type="text" class="form-control" id="cvfiscali" name="cvfiscali">
|
||||
<label for="ntelaio" class="form-label">Num. Telaio</label>
|
||||
<input type="text" class="form-control" id="ntelaio" name="ntelaio">
|
||||
<label for="nmotore" class="form-label">Num. Motore</label>
|
||||
<input type="text" class="form-control" id="nmotore" name="nmotore">
|
||||
<label for="data_acquisto" class="form-label">Data di Acquisto</label>
|
||||
<input type="text" class="form-control" id="data_acquisto" name="data_acquisto">
|
||||
<label for="note" class="form-label">Note</label>
|
||||
<input type="text" class="form-control" id="note" name="note">
|
||||
<label for="another" class="form-label">Inserisci un altro</label>
|
||||
<input type="checkbox" class="form-control" id="another" name="another">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="marca" class="form-label">Marca</label>
|
||||
<input type="text" class="form-control" id="marca" name="marca">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="modello" class="form-label">Modello</label>
|
||||
<input type="text" class="form-control" id="modello" name="modello">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="targa" class="form-label">Targa</label>
|
||||
<input type="text" class="form-control" id="targa" name="targa">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="alimentazione" class="form-label">Alimentazione</label>
|
||||
<input type="text" class="form-control" id="alimentazione" name="alimentazione">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="cilindrata" class="form-label">Cilindrata</label>
|
||||
<input type="text" class="form-control" id="cilindrata" name="cilindrata">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="cvfiscali" class="form-label">Cavalli Fiscali</label>
|
||||
<input type="text" class="form-control" id="cvfiscali" name="cvfiscali">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="ntelaio" class="form-label">Num. Telaio</label>
|
||||
<input type="text" class="form-control" id="ntelaio" name="ntelaio">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="nmotore" class="form-label">Num. Motore</label>
|
||||
<input type="text" class="form-control" id="nmotore" name="nmotore">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="data_acquisto" class="form-label">Data di Acquisto</label>
|
||||
<input type="date" class="form-control" id="data_acquisto" name="data_acquisto">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="note" class="form-label">Note</label>
|
||||
<input type="text" class="form-control" id="note" name="note">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="another" class="form-label">Inserisci un altro</label>
|
||||
<input type="checkbox" class="form-control" id="another" name="another">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- /Form -->
|
||||
</div>
|
||||
|
@ -29,6 +29,8 @@
|
||||
<th>Marca</th>
|
||||
<th>Modello</th>
|
||||
<th>Targa</th>
|
||||
<th>Operazioni</th>
|
||||
<th>Edit</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -37,6 +39,12 @@
|
||||
<td><a href="auto/detail?id={{ $automobile->id }}">{{ $automobile->marca; }}</a></td>
|
||||
<td>{{ $automobile->modello; }}</td>
|
||||
<td>{{ $automobile->targa; }}</td>
|
||||
<td>
|
||||
<a class="btn btn-primary" href="auto/rifornimento?id={{ $automobile->id; }}">Rifornimento</a>
|
||||
<a class="btn btn-primary" href="auto/revisione?id={{ $automobile->id; }}">Revisione</a>
|
||||
<a class="btn btn-primary" href="auto/manutenzione?id={{ $automobile->id; }}">Manutenzione</a>
|
||||
<a class="btn btn-primary" href="auto/accessori?id={{ $automobile->id; }}">Accessori</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn btn-primary" href="auto/modify?id={{ $automobile->id; }}"><i class="fa fa-pencil-square-o fw"></i></a>
|
||||
<a class="btn btn-danger" href="auto/delete?id={{ $automobile->id; }}"><i class="fa fa-trash-o fa-fw"></i></a>
|
||||
|
63
resources/views/auto/manutenzione.blade.php
Normal file
63
resources/views/auto/manutenzione.blade.php
Normal file
@ -0,0 +1,63 @@
|
||||
@extends('admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">Registrazione manutenzione</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Manutenzione auto {{ $dettagli->marca;}} {{ $dettagli->modello; }} {{ $dettagli->targa; }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<!-- Form -->
|
||||
<form action="" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="data" class="form-label">Data</label>
|
||||
<input type="date" class="form-control" id="data" name="data" value="{{ date('Y-m-d');}}">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="km" class="form-label">Km</label>
|
||||
<input type="text" class="form-control" id="km" name="km">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="importo" class="form-label">Importo totale</label>
|
||||
<input type="text" class="form-control" id="importo" name="importo">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="descrizione" class="form-label">Descrizione</label>
|
||||
<input type="text" class="form-control" id="descrizione" name="descrizione">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<input type="hidden" name="type" value="manutenzione">
|
||||
<input type="hidden" name="auto" value="{{ $dettagli->id; }}">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- /Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#automobili').DataTable({
|
||||
responsive: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
80
resources/views/auto/revisione.blade.php
Normal file
80
resources/views/auto/revisione.blade.php
Normal file
@ -0,0 +1,80 @@
|
||||
@extends('admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">Registrazione Revisione {{ $dettagli->targa; }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Revisione auto {{ $dettagli->marca;}} {{ $dettagli->modello; }} {{ $dettagli->targa; }}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<!-- Form -->
|
||||
<form action="" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="data" class="form-label">Data</label>
|
||||
<input type="date" class="form-control" id="data" name="data" value="{{ date('Y-m-d');}}">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="km" class="form-label">Km</label>
|
||||
<input type="text" class="form-control" id="km" name="km">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="importo" class="form-label">Importo totale</label>
|
||||
<input type="text" class="form-control" id="importo" name="importo">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="descrizione" class="form-label">Descrizione</label>
|
||||
<input type="text" class="form-control" id="descrizione" name="descrizione">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="centrorevisione" class="form-label">Centro Revisione</label>
|
||||
<input type="text" class="form-control" id="centrorevisione" name="centrorevisione">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="superata" class="form-label">Revisione superata</label>
|
||||
<input type="radio" id="superata" name="superata" value="1" checked> Superata
|
||||
<input type="radio" id="superata" name="superata" value="0"> Non superata
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<label for="dataproxrevisione" class="form-label">Data prossima revisione</label>
|
||||
<input type="date" class="form-control" id="dataproxrevisione" name="dataproxrevisione">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<input type="hidden" name="type" value="accessori">
|
||||
<input type="hidden" name="auto" value="{{ $dettagli->id; }}">
|
||||
<button type="submit" class="btn btn-primary">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- /Form -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.col-lg-12 -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#automobili').DataTable({
|
||||
responsive: true
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
@ -38,8 +38,8 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<label for="totale" class="form-label">Importo totale</label>
|
||||
<input type="text" class="form-control" id="totale" name="totale">
|
||||
<label for="importo" class="form-label">Importo totale</label>
|
||||
<input type="text" class="form-control" id="importo" name="importo">
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<label for="distributore" class="form-label">Distributore</label>
|
||||
|
@ -72,7 +72,12 @@ Route::get('/', [MovimentiController::class,'dashboard']);
|
||||
Route::get('auto/detail', [AutoController::class, 'getAutoDetails']);
|
||||
Route::get('auto/rifornimento', [AutoController::class, 'rifornimentoAuto'])->name('auto_rifornimento');
|
||||
Route::post('auto/rifornimento', [AutoController::class, 'saveRifornimento']);
|
||||
|
||||
Route::get('auto/revisione', [AutoController::class, 'revisioneAuto']);
|
||||
Route::post('auto/revisione', [AutoController::class, 'saveRevisione']);
|
||||
Route::get('auto/manutenzione', [AutoController::class, 'manutenzioneAuto']);
|
||||
Route::post('auto/manutenzione', [AutoController::class, 'saveManutenzione']);
|
||||
Route::get('auto/accessori', [AutoController::class, 'accessoriAuto']);
|
||||
Route::post('auto/accessori', [AutoController::class, 'saveAccessori']);
|
||||
|
||||
/// TEST routes
|
||||
Route::get('fullcalender', [FullCalenderController::class, 'index']);
|
||||
|
Loading…
Reference in New Issue
Block a user