mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-14 18:40:36 +01:00
Rimozione delle classi per l'aggiornamento alla versione 2.4.10, che causano problemi con l'aumentare delle modifiche alle dipendenze.
144 lines
5.6 KiB
PHP
Executable File
144 lines
5.6 KiB
PHP
Executable File
<?php
|
|
|
|
$database = database();
|
|
|
|
error_reporting(E_ALL & ~E_WARNING & ~E_CORE_WARNING & ~E_NOTICE & ~E_USER_DEPRECATED & ~E_STRICT);
|
|
|
|
// Fix del calcolo del bollo
|
|
$fatture = $database->fetchArray('SELECT id, bollo FROM co_documenti');
|
|
foreach ($fatture as $fattura) {
|
|
$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 = $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) {
|
|
$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 = $database->fetchArray('SELECT * FROM dt_automezzi');
|
|
foreach ($automezzi as $automezzo) {
|
|
$nomesede = [];
|
|
|
|
(!empty($automezzo['nome'])) ? $nomesede[] = $automezzo['nome'] : null;
|
|
(!empty($automezzo['descrizione'])) ? $nomesede[] = $automezzo['descrizione'] : null;
|
|
(!empty($automezzo['targa'])) ? $nomesede[] = $automezzo['targa'] : null;
|
|
|
|
$database->insert(
|
|
'an_sedi',
|
|
[
|
|
'nomesede' => implode(' - ', $nomesede),
|
|
'idanagrafica' => setting('Azienda predefinita'),
|
|
]
|
|
);
|
|
|
|
$idsede = $database->lastInsertedId();
|
|
|
|
// Aggiornamento sede di partenza su
|
|
$database->update(
|
|
'in_interventi',
|
|
[
|
|
'idsede_partenza' => $idsede,
|
|
], [
|
|
'idautomezzo' => $automezzo['id'],
|
|
]
|
|
);
|
|
}
|
|
|
|
// Aggiornamento della sede azienda nei movimenti degli interventi
|
|
$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
|
|
$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
|
|
$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
|
|
$database->query('ALTER TABLE `in_interventi` DROP INDEX `codice`');
|
|
|
|
// File e cartelle deprecate
|
|
$files = [
|
|
'modules\automezzi',
|
|
'modules\anagrafiche\plugins\statistiche.php',
|
|
'modules\interventi\src\TipoSessione.php',
|
|
'templates\registro_iva\body.php',
|
|
'templates\registro_iva\header.php',
|
|
'templates\scadenzario\scadenzario.html',
|
|
'templates\scadenzario\scadenzario_body.html',
|
|
'templates\scadenzario\pdfgen.scadenzario.php',
|
|
];
|
|
|
|
foreach ($files as $key => $value) {
|
|
$files[$key] = realpath(base_dir().'/'.$value);
|
|
}
|
|
|
|
delete($files);
|