| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648 |
- <?php
- namespace App\Http\Livewire\Traits;
- use App\Models\ReportDataPartiCoinvolte;
- use App\Models\ReportDataVeicoli;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\DB;
- trait HasAnagrafica{
- public $currentAnagrafica;
- public $anag_firstname;
- public $anag_lastname;
- public $anag_gender;
- public $anag_birth_date;
- public $anag_birth_town_id;
- public $anag_birth_prov_id;
- public $anag_residenza_town_id;
- public $anag_residenza_prov_id;
- public $anag_residenza_address;
- public $anag_residenza_cap;
- public $anag_mobile;
- public $anag_sedicente;
- public $anag_documento_tipo;
- public $anag_documento_patente_cat;
- public $anag_documento_tipo_altro;
- public $anag_documento_numero;
- public $anag_documento_rilasciato_da;
- public $anag_documento_rilasciato_da_altro;
- public $anag_foreign_country;
- public $anag_documento_rilasciato_da_di_foreign_localita;
- public $anag_documento_rilasciato_da_di_foreign_country;
- public $anag_documento_rilasciato_da_prov_id;
- public $anag_documento_rilasciato_da_town_id;
- public $anag_documento_rilasciato_il;
- public $anag_documento_scadenza_il;
- public $anag_state;
- public $anag_nazionalita;
- public $anag_nazione_straniera;
- public $anag_localita_straniera;
- public $anag_rag_soc;
- public $anag_vat;
- public $anag_sede_legale_town_id;
- public $anag_sede_legale_prov_id;
- public $anag_sede_legale_address;
- public $anag_sede_legale_cap;
- public $anag_phone;
- public $anag_foreign_birth_country;
- public $anag_foreign_birth_city;
- public $anag_foreign_residence_country;
- public $anag_foreign_residence_city;
- public $anag_residenza_tipo;
- public $forceSet = true;
- public function editAnagrafica($anagrafica)
- {
- $this->resetAnagrafica();
- $anag = \App\Models\Anagrafica::where('id', $anagrafica)->first();
- if ($anag != null){
- $this->currentAnagrafica = $anagrafica;
- $this->anag_type = $anag->type;
- $this->anag_firstname = $anag->firstname;
- $this->anag_lastname = $anag->lastname;
- $this->anag_gender = $anag->gender;
- $this->anag_birth_date = $anag->birth_date;
- $this->anag_birth_town_id = $anag->birth_town_id;
- $this->anag_birth_prov_id = $anag->birth_prov_id;
- $this->anag_residenza_town_id = $anag->residenza_town_id;
- $this->anag_residenza_prov_id = $anag->residenza_prov_id;
- $this->anag_residenza_address = $anag->residenza_address;
- $this->anag_residenza_cap = $anag->residenza_cap;
- $this->anag_mobile = $anag->mobile;
- $this->anag_sedicente = $anag->sedicente;
- $this->anag_documento_tipo = $anag->documento_tipo;
- $this->anag_documento_patente_cat = $anag->documento_patente_cat;
- $this->anag_documento_tipo_altro = $anag->documento_tipo_altro;
- $this->anag_documento_numero = $anag->documento_numero;
- $this->anag_documento_rilasciato_da = $anag->documento_rilasciato_da;
- $this->anag_documento_rilasciato_da_altro = $anag->documento_rilasciato_da_altro;
- $this->anag_foreign_country = $anag->foreign_country;
- $this->anag_documento_rilasciato_da_di_foreign_localita = $anag->documento_rilasciato_da_di_foreign_localita;
- $this->anag_documento_rilasciato_da_di_foreign_country = $anag->documento_rilasciato_da_di_foreign_country;
- $this->anag_documento_rilasciato_da_prov_id = $anag->documento_rilasciato_da_prov_id;
- $this->anag_documento_rilasciato_da_town_id = $anag->documento_rilasciato_da_town_id;
- $this->anag_documento_rilasciato_il = $anag->documento_rilasciato_il;
- $this->anag_documento_scadenza_il = $anag->documento_scadenza_il;
- $this->anag_state = $anag->state;
- $this->anag_nazionalita = $anag->nazionalita;
- $this->anag_nazione_straniera = $anag->nazione_straniera;
- $this->anag_localita_straniera = $anag->localita_straniera;
- $this->anag_rag_soc = $anag->rag_soc;
- $this->anag_vat = $anag->vat;
- $this->anag_sede_legale_town_id = $anag->sede_legale_town_id;
- $this->anag_sede_legale_prov_id = $anag->sede_legale_prov_id;
- $this->anag_sede_legale_address = $anag->sede_legale_address;
- $this->anag_sede_legale_cap = $anag->sede_legale_cap;
- $this->anag_phone = $anag->phone;
- $this->anag_foreign_birth_country = $anag->anag_foreign_birth_country;
- $this->anag_foreign_birth_city = $anag->anag_foreign_birth_city;
- $this->anag_foreign_residence_country = $anag->anag_foreign_residence_country;
- $this->anag_foreign_residence_city = $anag->anag_foreign_residence_city;
- $this->anag_residenza_tipo = $anag->residenza_tipo;
- }
- $this->emit('load-anagrafica-modal');
- $this->emit('change-visualization', $this->anag_type);
- if ($this->anag_birth_town_id > 0)
- $this->emit('add-default-value', $this->anag_birth_town_id, $this->getLocalita($this->anag_birth_town_id), 'anag_birth_town_id');
- if ($this->anag_residenza_town_id > 0)
- $this->emit('add-default-value', $this->anag_residenza_town_id, $this->getLocalita($this->anag_residenza_town_id), 'anag_residenza_town_id');
- if ($this->anag_documento_rilasciato_da_di_foreign_localita > 0)
- $this->emit('add-default-value', $this->anag_documento_rilasciato_da_di_foreign_localita, $this->getLocalita($this->anag_documento_rilasciato_da_di_foreign_localita), 'anag_documento_rilasciato_da_di_foreign_localita');
- if ($this->vei_carta_circolazione_rilasciata_da_di_foreign_localita > 0)
- $this->emit('add-default-value', $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita, $this->getLocalita($this->vei_carta_circolazione_rilasciata_da_di_foreign_localita), 'vei_carta_circolazione_rilasciata_da_di_foreign_localita');
- if ($this->anag_sede_legale_town_id > 0)
- $this->emit('add-default-value', $this->anag_sede_legale_town_id, $this->getLocalita($this->anag_sede_legale_town_id), 'anag_sede_legale_town_id');
- if ($this->anag_residenza_address != '')
- $this->emit('add-default-value', $this->anag_residenza_address, $this->anag_residenza_address, 'anag_residenza_address');
- }
- public function anagraficaSave()
- {
-
- $rules = [];
- if ($this->anag_type == 0)
- {
- $rules = [
- 'anag_firstname' => 'required',
- 'anag_lastname' => 'required',
- ];
- }
- else
- {
- $rules = [
- 'anag_rag_soc' => 'required'
- ];
- }
- $this->validate($rules);
- if ($this->currentAnagrafica > 0){
- \App\Models\Anagrafica::whereId($this->currentAnagrafica)->update([
- 'type' => $this->anag_type,
- 'firstname' => $this->anag_firstname,
- 'lastname' => $this->anag_lastname,
- 'gender' => $this->anag_gender,
- 'birth_date' => $this->anag_birth_date,
- 'birth_town_id' => $this->anag_birth_town_id,
- 'birth_prov_id' => $this->anag_birth_prov_id,
- 'residenza_town_id' => $this->anag_residenza_town_id,
- 'residenza_prov_id' => $this->anag_residenza_prov_id,
- 'residenza_address' => $this->anag_residenza_address,
- 'residenza_cap' => $this->anag_residenza_cap,
- 'mobile' => $this->anag_mobile,
- 'sedicente' => $this->anag_sedicente,
- 'documento_tipo' => $this->anag_documento_tipo,
- 'documento_patente_cat' => $this->anag_documento_patente_cat,
- 'documento_tipo_altro' => $this->anag_documento_tipo_altro,
- 'documento_numero' => $this->anag_documento_numero,
- 'documento_rilasciato_da' => $this->anag_documento_rilasciato_da,
- 'documento_rilasciato_da_altro' => $this->anag_documento_rilasciato_da_altro,
- 'foreign_country' => $this->anag_foreign_country,
- 'documento_rilasciato_da_di_foreign_localita' => $this->anag_documento_rilasciato_da_di_foreign_localita,
- 'documento_rilasciato_da_di_foreign_country' => $this->anag_documento_rilasciato_da_di_foreign_country,
- 'documento_rilasciato_da_prov_id' => $this->anag_documento_rilasciato_da_prov_id,
- 'documento_rilasciato_da_town_id' => $this->anag_documento_rilasciato_da_town_id,
- 'documento_rilasciato_il' => $this->anag_documento_rilasciato_il,
- 'documento_scadenza_il' => $this->anag_documento_scadenza_il,
- 'state' => $this->anag_state,
- 'nazionalita' => $this->anag_nazionalita,
- 'nazione_straniera' => $this->anag_nazione_straniera,
- 'localita_straniera' => $this->anag_localita_straniera,
- 'rag_soc' => $this->anag_rag_soc,
- 'vat' => $this->anag_vat,
- 'sede_legale_town_id' => $this->anag_sede_legale_town_id,
- 'sede_legale_prov_id' => $this->anag_sede_legale_prov_id,
- 'sede_legale_address' => $this->anag_sede_legale_address,
- 'sede_legale_cap' => $this->anag_sede_legale_cap,
- 'phone' => $this->anag_phone,
- 'anag_foreign_birth_country' => $this->anag_foreign_birth_country,
- 'anag_foreign_birth_city' => $this->anag_foreign_birth_city,
- 'anag_foreign_residence_country' => $this->anag_foreign_residence_country,
- 'anag_foreign_residence_city' => $this->anag_foreign_residence_city,
- 'residenza_tipo' => $this->anag_residenza_tipo
- ]);
- } else {
- $anagrafica = \App\Models\Anagrafica::create([
- 'type' => $this->anag_type,
- 'firstname' => $this->anag_firstname,
- 'lastname' => $this->anag_lastname,
- 'gender' => $this->anag_gender,
- 'birth_date' => $this->anag_birth_date,
- 'birth_town_id' => $this->anag_birth_town_id,
- 'birth_prov_id' => $this->anag_birth_prov_id,
- 'residenza_town_id' => $this->anag_residenza_town_id,
- 'residenza_prov_id' => $this->anag_residenza_prov_id,
- 'residenza_address' => $this->anag_residenza_address,
- 'residenza_cap' => $this->anag_residenza_cap,
- 'mobile' => $this->anag_mobile,
- 'sedicente' => $this->anag_sedicente,
- 'documento_tipo' => $this->anag_documento_tipo,
- 'documento_patente_cat' => $this->anag_documento_patente_cat,
- 'documento_tipo_altro' => $this->anag_documento_tipo_altro,
- 'documento_numero' => $this->anag_documento_numero,
- 'documento_rilasciato_da' => $this->anag_documento_rilasciato_da,
- 'documento_rilasciato_da_altro' => $this->anag_documento_rilasciato_da_altro,
- 'foreign_country' => $this->anag_foreign_country,
- 'documento_rilasciato_da_di_foreign_localita' => $this->anag_documento_rilasciato_da_di_foreign_localita,
- 'documento_rilasciato_da_di_foreign_country' => $this->anag_documento_rilasciato_da_di_foreign_country,
- 'documento_rilasciato_da_prov_id' => $this->anag_documento_rilasciato_da_prov_id,
- 'documento_rilasciato_da_town_id' => $this->anag_documento_rilasciato_da_town_id,
- 'documento_rilasciato_il' => $this->anag_documento_rilasciato_il,
- 'documento_scadenza_il' => $this->anag_documento_scadenza_il,
- 'state' => $this->anag_state,
- 'nazionalita' => $this->anag_nazionalita,
- 'nazione_straniera' => $this->anag_nazione_straniera,
- 'localita_straniera' => $this->anag_localita_straniera,
- 'rag_soc' => $this->anag_rag_soc,
- 'vat' => $this->anag_vat,
- 'sede_legale_town_id' => $this->anag_sede_legale_town_id,
- 'sede_legale_prov_id' => $this->anag_sede_legale_prov_id,
- 'sede_legale_address' => $this->anag_sede_legale_address,
- 'sede_legale_cap' => $this->anag_sede_legale_cap,
- 'phone' => $this->anag_phone,
- 'residenza_tipo' => $this->anag_residenza_tipo
- ]);
- $set = false;
- if ($this->currentTeste > 0){
- $set = true;
- if ($this->currentTeste == 1)
- $this->data_testi_oculari_0 = $anagrafica->id;
- if ($this->currentTeste == 2)
- $this->data_testi_oculari_1 = $anagrafica->id;
- if ($this->currentTeste == 3)
- $this->data_testi_oculari_2 = $anagrafica->id;
- if ($this->currentTeste == 4)
- $this->data_testi_oculari_3 = $anagrafica->id;
- }
- if ($this->currentProprietario > 0){
- $set = true;
- $this->data_proprietari = $anagrafica->id;
- $this->emit('add-default-value', $this->data_proprietari, $this->getAnagrafica($this->data_proprietari), 'data_proprietari');
- }
- if ($this->currentCoproprietario > 0){
- $set = true;
- $this->data_coproprietari = $anagrafica->id;
- $this->emit('add-default-value', $this->data_coproprietari, $this->getAnagrafica($this->data_coproprietari), 'data_coproprietari');
- }
- if ($this->currentPasseggero > 0){
- $set = true;
- if ($this->currentPasseggero == 1){
- $this->data_passeggero_0 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_passeggero_0, $this->getAnagrafica($this->data_passeggero_0), 'data_passeggero_0');
- }
- if ($this->currentPasseggero == 2){
- $this->data_passeggero_1 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_passeggero_1, $this->getAnagrafica($this->data_passeggero_1), 'data_passeggero_1');
- }
- if ($this->currentPasseggero == 3){
- $this->data_passeggero_2 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_passeggero_2, $this->getAnagrafica($this->data_passeggero_2), 'data_passeggero_2');
- }
- if ($this->currentPasseggero == 4){
- $this->data_passeggero_3 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_passeggero_3, $this->getAnagrafica($this->data_passeggero_3), 'data_passeggero_3');
- }
- }
- if ($this->currentInfortunato > 0){
- $set = true;
- if ($this->currentInfortunato == 1){
- $this->data_infortunato_extra_0 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_infortunato_extra_0, $this->getAnagrafica($this->data_infortunato_extra_0), 'data_infortunato_extra_0');
- }
- if ($this->currentInfortunato == 2){
- $this->data_infortunato_extra_1 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_infortunato_extra_1, $this->getAnagrafica($this->data_infortunato_extra_1), 'data_infortunato_extra_1');
- }
- if ($this->currentInfortunato == 3){
- $this->data_infortunato_extra_2 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_infortunato_extra_2, $this->getAnagrafica($this->data_infortunato_extra_2), 'data_infortunato_extra_2');
- }
- if ($this->currentInfortunato == 4){
- $this->data_infortunato_extra_3 = $anagrafica->id;
- $this->emit('add-default-value', $this->data_infortunato_extra_3, $this->getAnagrafica($this->data_infortunato_extra_3), 'data_infortunato_extra_3');
- }
- }
- if ($this->currentConducente > 0){
- $set = true;
- $this->data_conducenti = $anagrafica->id;
- $this->emit('add-default-value', $this->data_conducenti, $this->getAnagrafica($this->data_conducenti), 'data_conducenti');
- }
- if ($this->currentProgressive > -1 && !$set && $this->forceSet){
- $this->updateAnagraficaParteCoinvolta($anagrafica->id, $this->currentProgressive);
- }
- else
- {
- if (!$this->forceSet)
- $this->emit('add-default-value', $anagrafica->id, $this->getAnagrafica($anagrafica->id), 'richiestaAnagrafica');
- }
- }
- $this->resetAnagrafica();
- $this->emit('close-modal');
- }
- public function anagraficaDataParteComuneSave(){
- // Start a database transaction to ensure data consistency
- DB::beginTransaction();
- try {
- $veicolo = ReportDataVeicoli::where('progressive', $this->currentProgressive)
- ->where('report_id', $this->dataId)
- ->first();
- if ($veicolo) {
- $conducente = $veicolo->conducente;
- if ($conducente) {
- $conducente_uguale_proprietario = ($this->data_proprietari == $conducente->id);
- } else {
- $conducente_uguale_proprietario = false;
- }
- } else {
- $conducente_uguale_proprietario = false;
- }
- // Update ReportDataVeicoli instead of delete/create
- $veicolo = ReportDataVeicoli::updateOrCreate(
- [
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId
- ],
- [
- 'veicolo' => $this->currentVeicolo,
- 'chilometri_percorsi' => $this->data_chilometri_percorsi,
- 'stato_veicolo' => $this->data_stato_veicolo,
- 'polizze' => $this->data_polizze,
- 'proprietari' => $this->data_proprietari,
- 'conducente_uguale_proprietario'=> $conducente_uguale_proprietario,
- 'coproprietari' => $this->data_coproprietari,
- 'infortunato' => $this->data_infortunato,
- 'infortunato_ospedale' => $this->data_infortunato_ospedale,
- 'patente_al_seguito' => $this->data_patente_al_seguito,
- 'generalizzato' => $this->data_generalizzato,
- 'generalizzato_altrove' => $this->data_generalizzato_altrove,
- 'posizione_statica_finale' => $this->data_posizione_statica_finale,
- 'danni_visibili_riportati' => $this->data_danni_visibili_riportati,
- 'danni_visibili_pre_esistenti' => $this->data_danni_visibili_pre_esistenti,
- 'destinazione_veicolo' => $this->data_destinazione_veicolo,
- 'destinazione_veicolo_affidato_a' => $this->data_destinazione_veicolo_affidato_a,
- 'destinazione_veicolo_sequestro_num_art' => $this->data_destinazione_veicolo_sequestro_num_art,
- 'destinazione_veicolo_amministrativo_num' => $this->data_destinazione_veicolo_amministrativo_num,
- 'destinazione_veicolo_amministrativo_num_art_violato' => $this->data_destinazione_veicolo_amministrativo_num_art_violato,
- 'destinazione_veicolo_amministrativo_cds' => $this->data_destinazione_veicolo_amministrativo_cds,
- 'circostanze_presunte_incidente' => $this->data_circostanze_presunte_incidente,
- 'pneumatici_diversi' => $this->data_pneumatici_diversi,
- 'stato_pneumatici' => $this->data_stato_pneumatici,
- 'stato_pneumatici_posteriori' => $this->data_stato_pneumatici_posteriori,
- 'marca_pneumatici' => $this->data_marca_pneumatici,
- 'misura_pneumatici' => $this->data_misura_pneumatici,
- 'dispositivi_ottici' => $this->data_dispositivi_ottici,
- 'tergicristalli' => $this->data_tergicristalli,
- 'segnale_pericolo' => $this->data_segnale_pericolo,
- 'abs' => $this->data_abs,
- 'gps' => $this->data_gps,
- 'marcia_inserita' => $this->data_marcia_inserita,
- 'cristallo' => $this->data_cristallo,
- 'cristallo_posizione' => $this->data_cristallo_posizione,
- 'specchio_retrovisore' => $this->data_specchio_retrovisore,
- 'specchio_lat_dx' => $this->data_specchio_lat_dx,
- 'specchio_lat_sx' => $this->data_specchio_lat_sx,
- 'attivazione_airbag' => $this->data_attivazione_airbag,
- 'airbag_posizione' => $this->data_airbag_posizione,
- 'alcool_test' => $this->data_alcool_test,
- 'alcool_test_esito' => $this->data_alcool_test_esito,
- 'drug_test' => $this->data_drug_test,
- 'drug_test_esito' => $this->data_drug_test_esito,
- 'sistema_ritenuta_minori' => $this->data_sistema_ritenuta_minori,
- 'sistema_ritenuta_minori_omologazione' => $this->data_sistema_ritenuta_minori_omologazione,
- 'verbale_violazione_numero_1' => $this->data_verbale_violazione_numero_1,
- 'articolo_violato_1' => $this->data_articolo_violato_1,
- 'cds_1' => $this->data_cds_1,
- 'verbale_violazione_numero_2' => $this->data_verbale_violazione_numero_2,
- 'articolo_violato_2' => $this->data_articolo_violato_2,
- 'cds_2' => $this->data_cds_2,
- 'verbale_violazione_numero_3' => $this->data_verbale_violazione_numero_3,
- 'articolo_violato_3' => $this->data_articolo_violato_3,
- 'cds_3' => $this->data_cds_3,
- 'conducente_patente_numero' => $this->data_conducente_patente_numero,
- 'conducente_patente_categoria' => $this->data_conducente_patente_categoria,
- 'conducente_patente_rilasciata_da' => $this->data_conducente_patente_rilasciata_da,
- 'conducente_patente_rilasciata_da_altro' => $this->data_conducente_patente_rilasciata_da_altro,
- 'conducente_patente_rilasciata_il' => $this->data_conducente_patente_rilasciata_il,
- 'conducente_patente_scadenza' => $this->data_conducente_patente_scadenza,
- 'conducente_patente_prescrizioni' => $this->data_conducente_patente_prescrizioni,
- 'conducente_patente_limitazioni_art_117_1' => $this->data_conducente_patente_limitazioni_art_117_1,
- 'conducente_patente_limitazioni_art_117_2' => $this->data_conducente_patente_limitazioni_art_117_2,
- 'conducente_patente_abilitazione' => $this->data_conducente_patente_abilitazione,
- 'conducente_patente_abilitazione_numero' => $this->data_conducente_patente_abilitazione_numero,
- 'conducente_patente_abilitazione_rilasciata_da' => $this->data_conducente_patente_abilitazione_rilasciata_da,
- 'conducente_patente_abilitazione_rilasciata_il' => $this->data_conducente_patente_abilitazione_rilasciata_il,
- 'conducente_documento' => $this->data_conducente_documento,
- 'conducente_documento_numero' => $this->data_conducente_documento_numero,
- 'conducente_sedicente' => $this->data_conducente_sedicente,
- 'tipo_danno' => $this->data_tipo_danno > 0 ? $this->data_tipo_danno : null,
- 'entita_danno' => $this->data_entita_danno > 0 ? $this->data_entita_danno : null,
- 'effetto_danno' => $this->data_effetto_danno > 0 ? $this->data_effetto_danno : null,
- 'parte_macchina' => $this->data_parte_macchina > 0 ? $this->data_parte_macchina : null,
- 'tipo_danno_2' => $this->data_tipo_danno_2 > 0 ? $this->data_tipo_danno_2 : null,
- 'entita_danno_2' => $this->data_entita_danno_2 > 0 ? $this->data_entita_danno_2 : null,
- 'effetto_danno_2' => $this->data_effetto_danno_2 > 0 ? $this->data_effetto_danno_2 : null,
- 'parte_macchina_2' => $this->data_parte_macchina_2 > 0 ? $this->data_parte_macchina_2 : null,
- 'tipo_danno_3' => $this->data_tipo_danno_3 > 0 ? $this->data_tipo_danno_3 : null,
- 'entita_danno_3' => $this->data_entita_danno_3 > 0 ? $this->data_entita_danno_3 : null,
- 'effetto_danno_3' => $this->data_effetto_danno_3 > 0 ? $this->data_effetto_danno_3 : null,
- 'parte_macchina_3' => $this->data_parte_macchina_3 > 0 ? $this->data_parte_macchina_3 : null,
- 'tipo_danno_4' => $this->data_tipo_danno_4 > 0 ? $this->data_tipo_danno_4 : null,
- 'entita_danno_4' => $this->data_entita_danno_4 > 0 ? $this->data_entita_danno_4 : null,
- 'effetto_danno_4' => $this->data_effetto_danno_4 > 0 ? $this->data_effetto_danno_4 : null,
- 'parte_macchina_4' => $this->data_parte_macchina_4 > 0 ? $this->data_parte_macchina_4 : null,
- 'tipo_danno_5' => $this->data_tipo_danno_5 > 0 ? $this->data_tipo_danno_5 : null,
- 'entita_danno_5' => $this->data_entita_danno_5 > 0 ? $this->data_entita_danno_5 : null,
- 'effetto_danno_5' => $this->data_effetto_danno_5 > 0 ? $this->data_effetto_danno_5 : null,
- 'parte_macchina_5' => $this->data_parte_macchina_5 > 0 ? $this->data_parte_macchina_5 : null,
- 'tipo_danno_6' => $this->data_tipo_danno_6 > 0 ? $this->data_tipo_danno_6 : null,
- 'entita_danno_6' => $this->data_entita_danno_6 > 0 ? $this->data_entita_danno_6 : null,
- 'effetto_danno_6' => $this->data_effetto_danno_6 > 0 ? $this->data_effetto_danno_6 : null,
- 'parte_macchina_6' => $this->data_parte_macchina_6 > 0 ? $this->data_parte_macchina_6 : null,
- 'tipo_danno_7' => $this->data_tipo_danno_7 > 0 ? $this->data_tipo_danno_7 : null,
- 'entita_danno_7' => $this->data_entita_danno_7 > 0 ? $this->data_entita_danno_7 : null,
- 'effetto_danno_7' => $this->data_effetto_danno_7 > 0 ? $this->data_effetto_danno_7 : null,
- 'parte_macchina_7' => $this->data_parte_macchina_7 > 0 ? $this->data_parte_macchina_7 : null,
- 'tipo_danno_8' => $this->data_tipo_danno_8 > 0 ? $this->data_tipo_danno_8 : null,
- 'entita_danno_8' => $this->data_entita_danno_8 > 0 ? $this->data_entita_danno_8 : null,
- 'effetto_danno_8' => $this->data_effetto_danno_8 > 0 ? $this->data_effetto_danno_8 : null,
- 'parte_macchina_8' => $this->data_parte_macchina_8 > 0 ? $this->data_parte_macchina_8 : null,
- ]
- );
- // Update or create ReportDataCintureSicurezza
- \App\Models\ReportDataCintureSicurezza::updateOrCreate(
- [
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId
- ],
- [
- 'conducente' => $this->data_cinture_conducente,
- 'passeggeri_0' => $this->data_cinture_passeggeri_0,
- 'passeggeri_1' => $this->data_cinture_passeggeri_1,
- 'passeggeri_2' => $this->data_cinture_passeggeri_2,
- 'passeggeri_3' => $this->data_cinture_passeggeri_3
- ]
- );
- // Update or create ReportDataUsoDelCasco
- \App\Models\ReportDataUsoDelCasco::updateOrCreate(
- [
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId
- ],
- [
- 'conducente' => $this->data_casco_conducente,
- 'passeggeri' => $this->data_casco_passeggero
- ]
- );
- \App\Models\ReportDataUsoDelCascoOmologazione::updateOrCreate(
- [
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId
- ],
- [
- 'conducente' => $this->data_casco_omologazione_conducente,
- 'passeggeri' => $this->data_casco_omologazione_passeggero
- ]
- );
- // Delete existing passenger records first (since there might be multiple)
- \App\Models\ReportDataPasseggeri::where('progressive', $this->currentProgressive)
- ->where('report_id', $this->dataId)
- ->delete();
- // Create new passenger records
- \App\Models\ReportDataPasseggeri::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'passeggero' => $this->data_passeggero_0,
- 'infortunato' => $this->data_infortunato_0,
- 'infortunato_ospedale' => $this->data_infortunato_ospedale_0
- ]);
- \App\Models\ReportDataPasseggeri::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'passeggero' => $this->data_passeggero_1,
- 'infortunato' => $this->data_infortunato_1,
- 'infortunato_ospedale' => $this->data_infortunato_ospedale_1
- ]);
- \App\Models\ReportDataPasseggeri::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'passeggero' => $this->data_passeggero_2,
- 'infortunato' => $this->data_infortunato_2,
- 'infortunato_ospedale' => $this->data_infortunato_ospedale_2
- ]);
- \App\Models\ReportDataPasseggeri::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'passeggero' => $this->data_passeggero_3,
- 'infortunato' => $this->data_infortunato_3,
- 'infortunato_ospedale' => $this->data_infortunato_ospedale_3
- ]);
- // Delete existing injured person records first
- \App\Models\ReportDataInfortunati::where('progressive', $this->currentProgressive)
- ->where('report_id', $this->dataId)
- ->delete();
- // Create new injured person records
- \App\Models\ReportDataInfortunati::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'infortunato' => $this->data_infortunato_extra_0
- ]);
- \App\Models\ReportDataInfortunati::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'infortunato' => $this->data_infortunato_extra_1
- ]);
- \App\Models\ReportDataInfortunati::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'infortunato' => $this->data_infortunato_extra_2
- ]);
- \App\Models\ReportDataInfortunati::create([
- 'progressive' => $this->currentProgressive,
- 'report_id' => $this->dataId,
- 'infortunato' => $this->data_infortunato_extra_3
- ]);
- DB::commit();
- session()->flash('success', 'Record aggiornato');
- } catch (\Exception $ex) {
- DB::rollBack();
- Log::error('Error in anagraficaDataParteComuneSave: ' . $ex->getMessage());
- session()->flash('error', 'Errore in fase di aggiornamento (' . $ex->getMessage() . ')');
- }
- $this->resetVeicoloData();
- $this->emit('close-modal-parte-comune');
- }
- public function editAnagraficaParte($progressive) {
- $parte_comune = ReportDataPartiCoinvolte::where('report_id', $this->dataId)->where('progressive', $progressive)->first();
- if ($parte_comune != null)
- {
- $this->editAnagrafica($parte_comune->anagrafica);
- $this->emit('load-anagrafica-modal');
- }
- }
- public function addAnagrafica($progressive, $forceSet = true) {
- $this->resetAnagrafica();
- $this->forceSet = $forceSet;
- $this->currentProgressive = $progressive;
- $this->emit('load-anagrafica-modal');
- }
- public function getAnagrafica($anagrafica){
- if ($anagrafica > 0)
- {
- $ret = \App\Models\Anagrafica::findOrFail($anagrafica);
- if($ret->type == 0)
- return $ret->lastname . " " . $ret->firstname;
- else
- return $ret->rag_soc;
- }
- return "";
- }
- public function resetAnagrafica(){
- $this->loadAnagrafica = '';
- $this->currentAnagrafica = 0;
- $this->currentPasseggero = 0;
- $this->currentInfortunato = 0;
- $this->currentProprietario = 0;
- $this->currentCoproprietario = 0;
- $this->currentConducente = 0;
- $this->currentTeste = 0;
- $this->anag_type = 0;
- $this->anag_firstname = '';
- $this->anag_lastname = '';
- $this->anag_gender = '';
- $this->anag_birth_date = null;
- $this->anag_birth_town_id = null;
- $this->anag_birth_prov_id = null;
- $this->anag_residenza_town_id = null;
- $this->anag_residenza_prov_id = null;
- $this->anag_residenza_address = '';
- $this->anag_residenza_cap = '';
- $this->anag_mobile = '';
- $this->anag_sedicente;
- $this->anag_documento_tipo = '';
- $this->anag_documento_patente_cat = '';
- $this->anag_documento_tipo_altro = '';
- $this->anag_documento_numero = '';
- $this->anag_documento_rilasciato_da = '';
- $this->anag_documento_rilasciato_da_altro = '';
- $this->anag_foreign_country = null;
- $this->anag_documento_rilasciato_da_di_foreign_localita = null;
- $this->anag_documento_rilasciato_da_di_foreign_country = null;
- $this->anag_documento_rilasciato_da_prov_id = null;
- $this->anag_documento_rilasciato_da_town_id = null;
- $this->anag_documento_rilasciato_il = '';
- $this->anag_documento_scadenza_il = '';
- $this->anag_state = '';
- $this->anag_nazionalita = '';
- $this->anag_nazione_straniera = '';
- $this->anag_localita_straniera = '';
- $this->anag_rag_soc = '';
- $this->anag_vat = '';
- $this->anag_sede_legale_town_id = null;
- $this->anag_sede_legale_prov_id = null;
- $this->anag_sede_legale_address = '';
- $this->anag_sede_legale_cap = '';
- $this->anag_phone = '';
- $this->anag_residenza_tipo = '';
- $this->forceSet = true;
- }
- }
|