From 54b954bd625f17f458eae1fc914d1f4d3e094da1 Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Sat, 17 Oct 2020 10:41:10 +0200 Subject: [PATCH] Correzione della procedura di aggiornamento Rimozione delle classi per l'aggiornamento alla versione 2.4.10, che causano problemi con l'aumentare delle modifiche alle dipendenze. --- update/2_4_10.php | 100 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 21 deletions(-) diff --git a/update/2_4_10.php b/update/2_4_10.php index fe6c28329..635dba6ac 100755 --- a/update/2_4_10.php +++ b/update/2_4_10.php @@ -1,24 +1,82 @@ fetchArray('SELECT id, bollo FROM co_documenti'); foreach ($fatture as $fattura) { - $fattura->manageRigaMarcaDaBollo(); + $bollo = floatval($fattura['bollo']); + + if ($bollo > 0) { + $fatture = $database->query( + 'insert into `co_righe_documenti` (`iddocumento`, `order`, `descrizione`, `um`, `idiva`, `idconto`, `calcolo_ritenuta_acconto`, `idritenutaacconto`, `ritenuta_contributi`, `idrivalsainps`, `prezzo_unitario_acquisto`, `sconto_unitario`, `tipo_sconto`, `qta`, `data_inizio_periodo`, `data_fine_periodo`, `riferimento_amministrazione`, `tipo_cessione_prestazione`, `ritenutaacconto`, `rivalsainps`, `subtotale`, `sconto`, `iva`, `desc_iva`, `iva_indetraibile`, `created_at`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [ + 0 => 1, + 1 => 0, + 2 => 'Marca da bollo', + 3 => null, + 4 => '110', + 5 => '99', + 6 => null, + 7 => null, + 8 => false, + 9 => null, + 10 => 0, + 11 => 0.0, + 12 => 'PRC', + 13 => 1.0, + 14 => null, + 15 => null, + 16 => '', + 17 => '', + 18 => 0.0, + 19 => 0.0, + 20 => $bollo, + 21 => 0.0, + 22 => 0.0, + 23 => 'Escluso art. 15', + 24 => 0.0, + 25 => '2020-10-17 10:00:00', + ]); + $id_riga_bollo = $database->lastInsertedId(); + + $database->query('UPDATE co_documenti SET $id_riga_bollo = '.prepare($id_riga_bollo).' WHERE id = '.prepare($fattura['id'])); + } } // Fix per le relazioni tariffe-tecnici -$tecnici = Anagrafica::fromTipo('Tecnico')->get(); +$tecnici = $database->fetchArray("SELECT DISTINCT(an_anagrafiche.idanagrafica) AS id FROM an_anagrafiche + INNER JOIN an_tipianagrafiche ON an_anagrafiche.idanagrafica = an_anagrafiche.idanagrafica + INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica = an_tipianagrafiche_anagrafiche.idtipoanagrafica +WHERE an_tipianagrafiche.descrizione = 'Tecnico'"); foreach ($tecnici as $tecnico) { - Anagrafica::fixTecnico($tecnico); + $presenti = $database->fetchArray('SELECT idtipointervento AS id FROM in_tariffe WHERE idtecnico = '.prepare($tecnico['id'])); + + // Aggiunta associazioni costi unitari al contratto + $query = 'SELECT * FROM in_tipiintervento'; + $elenco_presenti = array_column($presenti, 'id'); + if (!empty($elenco_presenti)) { + $query .= ' WHERE idtipointervento NOT IN ('.implode(', ', $elenco_presenti).')'; + } + $tipi = $database->fetchArray($query); + + foreach ($tipi as $tipo) { + $database->insert('in_tariffe', [ + 'idtecnico' => $tecnico['id'], + 'idtipointervento' => $tipo['id'], + 'costo_ore' => $tipo['costo_orario'], + 'costo_km' => $tipo['costo_km'], + 'costo_dirittochiamata' => $tipo['costo_diritto_chiamata'], + 'costo_ore_tecnico' => $tipo['costo_orario_tecnico'], + 'costo_km_tecnico' => $tipo['costo_km_tecnico'], + 'costo_dirittochiamata_tecnico' => $tipo['costo_diritto_chiamata_tecnico'], + ]); + } } // Spostamento automezzi su sedi -$automezzi = $dbo->fetchArray('SELECT * FROM dt_automezzi'); +$automezzi = $database->fetchArray('SELECT * FROM dt_automezzi'); foreach ($automezzi as $automezzo) { $nomesede = []; @@ -26,7 +84,7 @@ foreach ($automezzi as $automezzo) { (!empty($automezzo['descrizione'])) ? $nomesede[] = $automezzo['descrizione'] : null; (!empty($automezzo['targa'])) ? $nomesede[] = $automezzo['targa'] : null; - $dbo->insert( + $database->insert( 'an_sedi', [ 'nomesede' => implode(' - ', $nomesede), @@ -34,10 +92,10 @@ foreach ($automezzi as $automezzo) { ] ); - $idsede = $dbo->lastInsertedId(); + $idsede = $database->lastInsertedId(); // Aggiornamento sede di partenza su - $dbo->update( + $database->update( 'in_interventi', [ 'idsede_partenza' => $idsede, @@ -48,23 +106,23 @@ foreach ($automezzi as $automezzo) { } // Aggiornamento della sede azienda nei movimenti degli interventi -$dbo->query('UPDATE mg_movimenti SET idsede_azienda=(SELECT idsede_partenza FROM in_interventi WHERE in_interventi.id=mg_movimenti.idintervento) WHERE idintervento IS NOT NULL'); +$database->query('UPDATE mg_movimenti SET idsede_azienda=(SELECT idsede_partenza FROM in_interventi WHERE in_interventi.id=mg_movimenti.idintervento) WHERE idintervento IS NOT NULL'); // Cancellazione idautomezzo da mg_movimenti e in_interventi -$dbo->query('ALTER TABLE in_interventi DROP idautomezzo'); -$dbo->query('ALTER TABLE mg_movimenti DROP idautomezzo'); -$dbo->query('ALTER TABLE co_promemoria_articoli DROP idautomezzo'); -$dbo->query('ALTER TABLE co_righe_documenti DROP idautomezzo'); -$dbo->query('ALTER TABLE mg_articoli_interventi DROP idautomezzo'); +$database->query('ALTER TABLE in_interventi DROP idautomezzo'); +$database->query('ALTER TABLE mg_movimenti DROP idautomezzo'); +$database->query('ALTER TABLE co_promemoria_articoli DROP idautomezzo'); +$database->query('ALTER TABLE co_righe_documenti DROP idautomezzo'); +$database->query('ALTER TABLE mg_articoli_interventi DROP idautomezzo'); // Eliminazione tabelle degli automezzi non piĆ¹ usate -$dbo->query('DROP TABLE mg_articoli_automezzi'); -$dbo->query('DROP TABLE dt_automezzi'); -$dbo->query('DROP TABLE dt_automezzi_tecnici'); -$dbo->query('DELETE FROM zz_modules WHERE name="Automezzi"'); +$database->query('DROP TABLE mg_articoli_automezzi'); +$database->query('DROP TABLE dt_automezzi'); +$database->query('DROP TABLE dt_automezzi_tecnici'); +$database->query('DELETE FROM zz_modules WHERE name="Automezzi"'); //Rimuovo il codice come indice per in_interventi -$dbo->query('ALTER TABLE `in_interventi` DROP INDEX `codice`'); +$database->query('ALTER TABLE `in_interventi` DROP INDEX `codice`'); // File e cartelle deprecate $files = [