From 9e0abc0d8a555de62def6c22c04d5cb3722a3542 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Tue, 27 Feb 2024 15:51:13 +0100 Subject: [PATCH] Aggiunta tabella dt_tipiddt_lang --- modules/anagrafiche/edit.php | 2 +- modules/articoli/ajax/complete.php | 138 ++++++++++---------- modules/articoli/bulk.php | 16 +-- modules/articoli/edit.php | 2 +- modules/articoli/modutil.php | 4 +- modules/articoli/plugins/articoli.lotti.php | 30 ++++- modules/ddt/add.php | 8 +- modules/ddt/ajax/search.php | 6 +- modules/ddt/edit.php | 13 +- modules/ddt/init.php | 3 +- modules/ddt/src/Tipo.php | 30 +++++ modules/interventi/edit.php | 2 +- modules/ordini/edit.php | 2 +- modules/pagamenti/edit.php | 2 +- modules/preventivi/edit.php | 2 +- update/2_4_55.sql | 24 +++- update/tables.php | 1 + 17 files changed, 191 insertions(+), 94 deletions(-) diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index 23eafb43a..9db5d9c21 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -745,7 +745,7 @@ UNION SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine`.`descrizione` AS tipo_documento, `or_tipiordine`.`dir`, NULL AS `deleted_at` FROM `or_ordini` JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).' UNION -SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).' +SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).' UNION SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir, in_interventi.deleted_at AS `deleted_at` FROM `in_interventi` LEFT JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).') OR `in_interventi`.`idanagrafica` = '.prepare($id_record).' diff --git a/modules/articoli/ajax/complete.php b/modules/articoli/ajax/complete.php index 22f8b97e1..41945dc7a 100755 --- a/modules/articoli/ajax/complete.php +++ b/modules/articoli/ajax/complete.php @@ -43,10 +43,10 @@ switch ($resource) { `co_documenti`.`data` AS data_documento FROM `co_righe_documenti` - INNER JOIN `co_documento` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` + INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE - `idarticolo`='.prepare($idarticolo).' AND `co_tipidocumento`.`dir`="entrata" AND `idanagrafica`='.prepare($idanagrafica).') + `idarticolo`='.prepare($idarticolo).' AND `co_tipidocumento`.`dir`="entrata" AND `idanagrafica`='.prepare($idanagrafica).' UNION SELECT `idddt` AS id, @@ -57,9 +57,15 @@ switch ($resource) { (SELECT `numero_esterno` FROM `dt_ddt` WHERE `id`=`idddt`) AS n2_documento, (SELECT `data` FROM `dt_ddt` WHERE `id`=`idddt`) AS data_documento FROM - `dt_righe_ddt` + `dt_righe_ddt` + INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` + INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE - `idarticolo`='.$idarticolo.' AND `idddt` IN(SELECT `id` FROM `dt_ddt` WHERE `idtipoddt` IN(SELECT `id` FROM `dt_tipiddt` WHERE `dir`="entrata") AND `idanagrafica`='.prepare($idanagrafica).') ORDER BY `id` DESC LIMIT 0,5'); + `idarticolo`='.$idarticolo.' AND + `dt_tipiddt`.`dir`="entrata" AND + `idanagrafica`='.prepare($idanagrafica).' + ORDER BY + `id` DESC LIMIT 0,5'); if (sizeof($documenti) > 0) { echo "
\n"; @@ -88,39 +94,39 @@ switch ($resource) { echo ''; // Ultime 5 vendite totali $documenti = $dbo->fetchArray(' - SELECT - `iddocumento` AS id, - `co_tipidocumento_lang`.`name` AS tipo, - "Fatture di vendita" AS modulo, - ((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario, - `co_documenti`.`numero` AS n_documento, - `co_documenti`.`numero_esterno` AS n2_documento, - `co_documenti`.`data` AS data_documento - FROM - `co_righe_documenti` - INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` - INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` - LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') - WHERE - `idarticolo` = '.prepare($idarticolo).' AND `dir` = "entrata" + SELECT + `iddocumento` AS id, + `co_tipidocumento_lang`.`name` AS tipo, + "Fatture di vendita" AS modulo, + ((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario, + `co_documenti`.`numero` AS n_documento, + `co_documenti`.`numero_esterno` AS n2_documento, + `co_documenti`.`data` AS data_documento + FROM + `co_righe_documenti` + INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` + INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` + LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') + WHERE + `idarticolo` = '.prepare($idarticolo).' AND `dir` = "entrata" UNION - SELECT - `idddt` AS id, - `dt_tipiddt`.`descrizione` AS tipo, - "Ddt di vendita" AS modulo, - (`subtotale` - `sconto`) / `qta` AS costo_unitario, - `dt_ddt`.`numero` AS n_documento, - `dt_ddt`.`numero_esterno` AS n2_documento, - `dt_ddt`.`data` AS data_documento - FROM - `dt_righe_ddt` - INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` - INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` - WHERE - `idarticolo` = '.prepare($idarticolo).' AND `dir` = "entrata" + SELECT + `idddt` AS id, + `dt_tipiddt_lang`.`name` AS tipo, + "Ddt di vendita" AS modulo, + (`subtotale` - `sconto`) / `qta` AS costo_unitario, + `dt_ddt`.`numero` AS n_documento, + `dt_ddt`.`numero_esterno` AS n2_documento, + `dt_ddt`.`data` AS data_documento + FROM + `dt_righe_ddt` + INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` + INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` + LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') + WHERE + `idarticolo` = '.prepare($idarticolo).' AND `dir` = "entrata" ORDER BY - `id` - DESC'); + `id` DESC'); if (sizeof($documenti) > 0) { echo "
\n"; @@ -148,39 +154,39 @@ switch ($resource) { echo ''; // Ultimi 5 acquisti totali $documenti = $dbo->fetchArray(' - SELECT - `iddocumento` AS id, - `co_tipidocumento_lang`.`name` AS tipo, - "Fatture di acquisto" AS modulo, - ((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario, - `co_documenti`.`numero` AS n_documento, - `co_documenti`.`numero_esterno` AS n2_documento, - `co_documenti`.`data` AS data_documento - FROM - `co_righe_documenti` - INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` - INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` - LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') - WHERE - `idarticolo` = '.prepare($idarticolo).' AND `dir` = "uscita" + SELECT + `iddocumento` AS id, + `co_tipidocumento_lang`.`name` AS tipo, + "Fatture di acquisto" AS modulo, + ((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario, + `co_documenti`.`numero` AS n_documento, + `co_documenti`.`numero_esterno` AS n2_documento, + `co_documenti`.`data` AS data_documento + FROM + `co_righe_documenti` + INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento` + INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` + LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') + WHERE + `idarticolo` = '.prepare($idarticolo).' AND `dir` = "uscita" UNION - SELECT - `idddt` AS id, - `dt_tipiddt`.`descrizione` AS tipo, - "Ddt di acquisto" AS modulo, - (`subtotale` - `sconto`) / `qta` AS costo_unitario, - `dt_ddt`.`numero` AS n_documento, - `dt_ddt`.`numero_esterno` AS n2_documento, - `dt_ddt`.`data` AS data_documento - FROM - `dt_righe_ddt` - INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` - INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` - WHERE - `idarticolo` = '.prepare($idarticolo).' AND `dir` = "uscita" + SELECT + `idddt` AS id, + `dt_tipiddt_lang`.`name` AS tipo, + "Ddt di acquisto" AS modulo, + (`subtotale` - `sconto`) / `qta` AS costo_unitario, + `dt_ddt`.`numero` AS n_documento, + `dt_ddt`.`numero_esterno` AS n2_documento, + `dt_ddt`.`data` AS data_documento + FROM + `dt_righe_ddt` + INNER JOIN `dt_ddt` ON `dt_ddt`.`id` = `dt_righe_ddt`.`idddt` + INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` + LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') + WHERE + `idarticolo` = '.prepare($idarticolo).' AND `dir` = "uscita" ORDER BY - `id` - DESC'); + `id` DESC'); if (sizeof($documenti) > 0) { echo "
\n"; diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php index 13dcfe121..65754ddc5 100755 --- a/modules/articoli/bulk.php +++ b/modules/articoli/bulk.php @@ -122,22 +122,22 @@ switch (post('op')) { case 'delete-bulk': foreach ($id_records as $id) { - $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idarticolo` = '.prepare($id).') + $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id).' - UNION SELECT `dt_ddt`.`id` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idarticolo` = '.prepare($id).') + UNION SELECT `dt_ddt`.`id` FROM `dt_ddt` INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id).') - UNION SELECT `or_ordini`.`id` FROM `or_ordini` WHERE `or_ordini`.`id` IN (SELECT `idordine` FROM `or_righe_ordini` WHERE `idarticolo` = '.prepare($id).') + UNION SELECT `or_ordini`.`id` FROM `or_ordini` INNER JOIN `or_righe_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` WHERE `or_righe_ordini`.`idarticolo` = '.prepare($id).') - UNION SELECT `co_contratti`.`id` FROM `co_contratti` WHERE `co_contratti`.`id` IN (SELECT `idcontratto` FROM `co_righe_contratti` WHERE `idarticolo` = '.prepare($id).') + UNION SELECT `co_contratti`.`id` FROM `co_contratti` INNER JOIN `co_righe_contratti` ON `co_righe_contratti`.`idcontratto` = `co_contratti`.`id` WHERE `co_righe_contratti`.`idarticolo` = '.prepare($id).') - UNION SELECT `co_preventivi`.`id` FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idarticolo` = '.prepare($id).') + UNION SELECT `co_preventivi`.`id` FROM `co_preventivi` INNER JOIN `co_righe_preventivi` ON `co_righe_preventivi`.`idpreventivo` = `co_preventivi`.`id` WHERE `co_righe_preventivi`.`idarticolo` = '.prepare($id).') - UNION SELECT `in_interventi`.`id` FROM `in_interventi` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_righe_interventi` WHERE `idarticolo` = '.prepare($id).')'); + UNION SELECT `in_interventi`.`id` FROM `in_interventi` INNER JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id` WHERE `in_righe_interventi`.`idarticolo` = '.prepare($id).')'); if (!empty($elementi)) { - $dbo->query('UPDATE mg_articoli SET deleted_at = NOW() WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module)); + $dbo->query('UPDATE `mg_articoli` SET `deleted_at` = NOW() WHERE `id` = '.prepare($id).Modules::getAdditionalsQuery($id_module)); } else { - $dbo->query('DELETE FROM `mg_articoli` WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module)); + $dbo->query('DELETE FROM `mg_articoli` WHERE `id` = '.prepare($id).Modules::getAdditionalsQuery($id_module)); } } diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 1450750df..084f21ea8 100755 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -394,7 +394,7 @@ $("#scorporaIva").click( function() { // Fatture, ddt, preventivi collegati a questo articolo $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, SUM(`co_righe_documenti`.`qta`) AS qta_totale, ((SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`))*SUM(`co_righe_documenti`.`qta`)) AS prezzo_totale, SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`) AS prezzo_unitario FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `co_righe_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id_record).' GROUP BY `co_documenti`.`id` -UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir`, SUM(dt_righe_ddt.qta) AS qta_totale, ((SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario))*SUM(dt_righe_ddt.qta)) AS prezzo_totale, SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario) AS prezzo_unitario FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id_record).' GROUP BY dt_ddt.id +UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir`, SUM(dt_righe_ddt.qta) AS qta_totale, ((SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario))*SUM(dt_righe_ddt.qta)) AS prezzo_totale, SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario) AS prezzo_unitario FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id_record).' GROUP BY `dt_ddt`.`id` UNION SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir, SUM(co_righe_preventivi.qta) AS qta_totale, ((SUM(co_righe_preventivi.prezzo_unitario)-SUM(co_righe_preventivi.sconto_unitario))*SUM(co_righe_preventivi.qta)) AS prezzo_totale, SUM(co_righe_preventivi.prezzo_unitario)-SUM(co_righe_preventivi.sconto_unitario) AS prezzo_unitario FROM `co_preventivi` INNER JOIN `co_righe_preventivi` ON `co_preventivi`.`id`=`co_righe_preventivi`.`idpreventivo` WHERE `co_righe_preventivi`.`idarticolo` = '.prepare($id_record).' GROUP BY co_preventivi.id ORDER BY `data`'); diff --git a/modules/articoli/modutil.php b/modules/articoli/modutil.php index 1de1095fc..7f5ddeb76 100755 --- a/modules/articoli/modutil.php +++ b/modules/articoli/modutil.php @@ -28,11 +28,11 @@ if (!function_exists('aggiorna_sedi_movimenti')) { $dbo = database(); if ($module == 'ddt') { - $rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione, dir FROM dt_ddt INNER JOIN dt_tipiddt ON dt_tipiddt.id = dt_ddt.idtipoddt WHERE dt_ddt.id='.prepare($id)); + $rs = $dbo->fetchArray('SELECT `idsede_partenza`, `idsede_destinazione`, `dir` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id`='.prepare($id)); $idsede = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza']; - $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare('Modules\DDT\DDT').' AND reference_id='.prepare($id)); + $dbo->query('UPDATE `mg_movimenti` SET `idsede`='.prepare($idsede).' WHERE `reference_type`='.prepare('Modules\DDT\DDT').' AND `reference_id`='.prepare($id)); } elseif ($module == 'documenti') { $rs = $dbo->fetchArray('SELECT `idsede_partenza`, `idsede_destinazione`, `dir` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id`='.prepare($id)); diff --git a/modules/articoli/plugins/articoli.lotti.php b/modules/articoli/plugins/articoli.lotti.php index 8a8950471..0c7fc2f8f 100755 --- a/modules/articoli/plugins/articoli.lotti.php +++ b/modules/articoli/plugins/articoli.lotti.php @@ -164,7 +164,20 @@ if (empty(get('modal'))) { elseif (!empty($acquisto['id_riga_ddt'])) { $module_id = Modules::get('Ddt di acquisto')['id']; - $query = 'SELECT *, ( SELECT descrizione FROM dt_tipiddt WHERE id=(SELECT idtipoddt FROM dt_ddt WHERE id=idddt) ) AS tipo_documento, ( SELECT `dir` FROM dt_tipiddt WHERE id=(SELECT idtipoddt FROM dt_ddt WHERE id=idddt) ) AS `dir`, ( SELECT numero FROM dt_ddt WHERE id=idddt ) AS numero, ( SELECT numero_esterno FROM dt_ddt WHERE id=idddt ) AS numero_esterno, ( SELECT data FROM dt_ddt WHERE id=idddt ) AS data FROM dt_righe_ddt WHERE dt_righe_ddt.id='.prepare($acquisto['id_riga_ddt']); + $query = 'SELECT + *, + `dt_tipiddt_lang`.`name` AS tipo_documento, + `dt_tipiddt`.`dir` AS `dir`, + `dt_ddt`.`numero` AS numero, + `dt_ddt`.`data` AS data, + `dt_ddt`.`numero_esterno` AS numero_esterno + FROM + `dt_righe_ddt` + INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` + INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` + LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') + WHERE + `dt_righe_ddt`.`id`='.prepare($acquisto['id_riga_ddt']); $data = $dbo->fetchArray($query); $id = $data[0]['idddt']; @@ -248,7 +261,20 @@ if (empty(get('modal'))) { elseif (!empty($vendita['id_riga_ddt'])) { $module_id = Modules::get('Ddt di vendita')['id']; - $query = 'SELECT *, ( SELECT descrizione FROM dt_tipiddt WHERE id=(SELECT idtipoddt FROM dt_ddt WHERE id=idddt) ) AS tipo_documento, ( SELECT `dir` FROM dt_tipiddt WHERE id=(SELECT idtipoddt FROM dt_ddt WHERE id=idddt) ) AS `dir`, ( SELECT numero FROM dt_ddt WHERE id=idddt ) AS numero, ( SELECT numero_esterno FROM dt_ddt WHERE id=idddt ) AS numero_esterno, ( SELECT data FROM dt_ddt WHERE id=idddt ) AS data FROM dt_righe_ddt WHERE dt_righe_ddt.id='.prepare($vendita['id_riga_ddt']); + $query = 'SELECT + *, + `dt_tipiddt_lang`.`name` AS tipo_documento, + `dt_ddt`.`dir`, + `dt_ddt`.`numero`, + `dt_ddt`.`numero_esterno`, + `dt_ddt`.`data` + FROM + `dt_righe_ddt` + INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt`=`dt_ddt`.`id` + INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id` + LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record`=`dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang`='.prepare(setting('Lingua')).') + WHERE + `dt_righe_ddt`.`id`='.prepare($vendita['id_riga_ddt']); $data = $dbo->fetchArray($query); $id = $data[0]['idddt']; diff --git a/modules/ddt/add.php b/modules/ddt/add.php index 26282d048..91bb3810c 100755 --- a/modules/ddt/add.php +++ b/modules/ddt/add.php @@ -19,19 +19,21 @@ include_once __DIR__.'/../../core.php'; +use Modules\DDT\Tipo; + $module = Modules::get($id_module); if ($module['name'] == 'Ddt di vendita') { $dir = 'entrata'; - $id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt in uscita'")['id']; + $id_tipoddt = (new Tipo())->getByName('Ddt in uscita')->id_record; $tipo_anagrafica = tr('Cliente'); $label = tr('Destinatario'); } else { $dir = 'uscita'; - $id_tipoddt = $dbo->fetchOne("SELECT id FROM dt_tipiddt WHERE descrizione='Ddt in entrata'")['id']; + $id_tipoddt = (new Tipo())->getByName('Ddt in entrata')->id_record; $tipo_anagrafica = tr('Fornitore'); $label = tr('Mittente'); @@ -58,7 +60,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
- {[ "type": "select", "label": "", "name": "idtipoddt", "required": 1, "values": "query=SELECT id, descrizione FROM dt_tipiddt WHERE dir=''", "value": "" ]} + {[ "type": "select", "label": "", "name": "idtipoddt", "required": 1, "values": "query=SELECT `dt_tipiddt`.`id`, `dt_tipiddt_lang`.`name` as descrizione FROM `dt_tipiddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id`=`dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang`= ) WHERE `dir`=''", "value": "" ]}
diff --git a/modules/ddt/ajax/search.php b/modules/ddt/ajax/search.php index 699ab351b..2ed6c40ce 100755 --- a/modules/ddt/ajax/search.php +++ b/modules/ddt/ajax/search.php @@ -27,20 +27,18 @@ $fields = [ 'Righe' => '(SELECT GROUP_CONCAT(descrizione SEPARATOR \' -- \') FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id)', ]; -$query = 'SELECT *, dt_ddt.id, dt_tipiddt.descrizione AS tipologia'; +$query = 'SELECT *, `dt_ddt`.`id`, `dt_tipiddt_lang`.`name` AS tipologia'; foreach ($fields as $name => $value) { $query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'"; } -$query .= ' FROM dt_ddt INNER JOIN dt_tipiddt ON dt_ddt.idtipoddt=dt_tipiddt.id WHERE idanagrafica IN('.implode(',', $idanagrafiche).') '; +$query .= ' FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id`= `dt_tipiddt_lang` = `id_record` AND `dt_tipiddt_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `idanagrafica` IN('.implode(',', $idanagrafiche).') '; foreach ($fields as $name => $value) { $query .= ' OR '.$value.' LIKE "%'.$term.'%"'; } -// $query .= Modules::getAdditionalsQuery('Interventi'); - $rs = $dbo->fetchArray($query); foreach ($rs as $r) { diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index 96948d0b2..4cb4ce1a1 100755 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -533,7 +533,18 @@ if (!$block_edit) { $ordini_query = 'SELECT COUNT(*) AS tot FROM or_ordini WHERE idanagrafica='.prepare($record['idanagrafica']).' AND idstatoordine IN (SELECT id FROM or_statiordine WHERE descrizione IN(\'Accettato\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoordine=(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') AND or_ordini.id IN (SELECT idordine FROM or_righe_ordini WHERE or_righe_ordini.idordine = or_ordini.id AND (qta - qta_evasa) > 0)'; $tot_ordini = $dbo->fetchArray($ordini_query)[0]['tot']; - $ddt_query = 'SELECT COUNT(*) AS tot FROM `dt_ddt` INNER JOIN `dt_statiddt` ON `dt_ddt`.`idstatoddt` = `dt_statiddt`.`id` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `name` IN("Evaso", "Parzialmente evaso", "Parzialmente fatturato") AND `dt_tipiddt`.`dir`="'.($dir == 'entrata' ? 'uscita' : 'entrata').'") AND (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0'; + $ddt_query = 'SELECT + COUNT(*) AS tot + FROM + `dt_ddt` + INNER JOIN `dt_statiddt` ON `dt_ddt`.`idstatoddt` = `dt_statiddt`.`id` + LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') + INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` + INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` + WHERE + `name` IN("Evaso", "Parzialmente evaso", "Parzialmente fatturato") AND + `dt_tipiddt`.`dir`="'.($dir == 'entrata' ? 'uscita' : 'entrata').'") AND + (`dt_righe_ddt`.`qta` - `dt_righe_ddt`.`qta_evasa`) > 0'; $tot_ddt = $dbo->fetchArray($ddt_query)[0]['tot']; // Form di inserimento riga documento diff --git a/modules/ddt/init.php b/modules/ddt/init.php index 1c01b2a16..15d8677c2 100755 --- a/modules/ddt/init.php +++ b/modules/ddt/init.php @@ -37,13 +37,14 @@ if (isset($id_record)) { `dt_ddt`.`id` AS idddt, `dt_statiddt_lang`.`name` AS `stato`, `dt_statiddt`.`completato` AS `flag_completato`, - `dt_tipiddt`.`descrizione` AS `descrizione_tipodoc`, + `dt_tipiddt_lang`.`name` AS `descrizione_tipodoc`, `an_anagrafiche`.`tipo` AS tipo_anagrafica FROM `dt_ddt` INNER JOIN `dt_statiddt` ON dt_ddt.idstatoddt=dt_statiddt.id LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `an_anagrafiche` ON `dt_ddt`.`idanagrafica`=`an_anagrafiche`.`idanagrafica` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id` + LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `dt_ddt`.`id`='.prepare($id_record)); diff --git a/modules/ddt/src/Tipo.php b/modules/ddt/src/Tipo.php index 869bc3e7c..c8201dbb1 100755 --- a/modules/ddt/src/Tipo.php +++ b/modules/ddt/src/Tipo.php @@ -32,4 +32,34 @@ class Tipo extends Model { return $this->hasMany(DDT::class, 'idtipoddt'); } + + /** + * Ritorna l'attributo name del tipo ddt. + * + * @return string + */ + public function getNameAttribute() + { + return database()->table($this->table.'_lang') + ->select('name') + ->where('id_record', '=', $this->id) + ->where('id_lang', '=', setting('Lingua')) + ->first()->name; + } + + /** + * Ritorna l'id del tipo ddt a partire dal nome. + * + * @param string $name il nome da ricercare + * + * @return \Illuminate\Support\Collection + */ + public function getByName($name) + { + return database()->table($this->table.'_lang') + ->select('id_record') + ->where('name', '=', $name) + ->where('id_lang', '=', setting('Lingua')) + ->first(); + } } diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 3b6344a38..8e4a0c5f7 100755 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -510,7 +510,7 @@ if (!$block_edit) { LEFT JOIN `dt_causalet` ON `dt_causalet`.`id` = `dt_ddt`.`idcausalet` INNER JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record` = `dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') - LEFT JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` + INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `idanagrafica`='.prepare($record['idanagrafica']).' diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php index 3c69796f3..c64794591 100755 --- a/modules/ordini/edit.php +++ b/modules/ordini/edit.php @@ -486,7 +486,7 @@ input("ordinamento").on("change", function(){ // Fatture o ddt collegati a questo ordine $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` WHERE `co_righe_documenti`.`idordine` = '.prepare($id_record).') -UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data`'); +UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `dt_righe_ddt`.`idordine` = '.prepare($id_record).') ORDER BY `data`'); if (!empty($elementi)) { echo ' diff --git a/modules/pagamenti/edit.php b/modules/pagamenti/edit.php index 5f6d0da92..ddf973710 100755 --- a/modules/pagamenti/edit.php +++ b/modules/pagamenti/edit.php @@ -111,7 +111,7 @@ UNION SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine`.`descrizione` AS tipo_documento, `or_tipiordine`.`dir`, NULL AS `deleted_at` FROM `or_ordini` JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` WHERE `or_ordini`.`idpagamento` = '.prepare($id_record).' UNION -SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`idpagamento` = '.prepare($id_record).' +SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id`=`dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang`= '.prepare(setting('Lingua')).') WHERE `dt_ddt`.`idpagamento` = '.prepare($id_record).' UNION SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir, NULL AS `deleted_at` FROM `co_contratti` WHERE `co_contratti`.`idpagamento` = '.prepare($id_record).' diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index 877de29d6..136b54beb 100755 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -468,7 +468,7 @@ UNION SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine`.`descrizione`, IF(`or_tipiordine`.`dir` = \'entrata\', \'Ordini cliente\', \'Ordini fornitore\') FROM `or_ordini` JOIN `or_righe_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` WHERE `or_righe_ordini`.`idpreventivo` = '.prepare($id_record).' UNION -SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione`, IF(`dt_tipiddt`.`dir` = \'entrata\', \'Ddt di vendita\', \'Ddt di acquisto\') FROM `dt_ddt` JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_righe_ddt`.`original_document_id` = '.prepare($preventivo->id).' AND `dt_righe_ddt`.`original_document_type` = \'Modules\\\\Preventivi\\\\Preventivo\' +SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name`, IF(`dt_tipiddt`.`dir` = \'entrata\', \'Ddt di vendita\', \'Ddt di acquisto\') FROM `dt_ddt` JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `dt_righe_ddt`.`original_document_id` = '.prepare($preventivo->id).' AND `dt_righe_ddt`.`original_document_type` = \'Modules\\\\Preventivi\\\\Preventivo\' UNION SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice`, NULL, \'AttivitĂ \', \'Interventi\' FROM `in_interventi` JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id` WHERE (`in_righe_interventi`.`original_document_id` = '.prepare($preventivo->id).' AND `in_righe_interventi`.`original_document_type` = '.prepare(get_class($preventivo)).') OR `in_interventi`.`id_preventivo` = '.prepare($id_record).' diff --git a/update/2_4_55.sql b/update/2_4_55.sql index aba6ec16a..9640b0cf6 100644 --- a/update/2_4_55.sql +++ b/update/2_4_55.sql @@ -1032,4 +1032,26 @@ ORDER BY `data` DESC, CAST(`numero_esterno` AS UNSIGNED) DESC, `dt_ddt`.`created_at` DESC" WHERE `name` = 'Ddt di acquisto'; -UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_statiddt_lang`.`name`' WHERE `zz_modules`.`name` = 'Ddt di acquisto' AND `zz_views`.`name` = 'icon_title_Stato'; \ No newline at end of file +UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`dt_statiddt_lang`.`name`' WHERE `zz_modules`.`name` = 'Ddt di acquisto' AND `zz_views`.`name` = 'icon_title_Stato'; + +-- Aggiunta tabella dt_tipiddt_lang +CREATE TABLE IF NOT EXISTS `dt_tipiddt_lang` ( + `id` int NOT NULL, + `id_lang` int NOT NULL, + `id_record` int NOT NULL, + `name` VARCHAR(255) NOT NULL +); +ALTER TABLE `dt_tipiddt_lang` + ADD PRIMARY KEY (`id`); + +ALTER TABLE `dt_tipiddt_lang` + MODIFY `id` int NOT NULL AUTO_INCREMENT; + +INSERT INTO `dt_tipiddt_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `descrizione` FROM `dt_tipiddt`; + +ALTER TABLE `dt_tipiddt` + DROP `descrizione`; + +ALTER TABLE `dt_tipiddt` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE `dt_tipiddt_lang` ADD CONSTRAINT `dt_tipiddt_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `dt_tipiddt`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT; \ No newline at end of file diff --git a/update/tables.php b/update/tables.php index b06a510d2..31fbc15b3 100755 --- a/update/tables.php +++ b/update/tables.php @@ -75,6 +75,7 @@ return [ 'dt_statiddt', 'dt_statiddt_lang', 'dt_tipiddt', + 'dt_tipiddt_lang', 'em_print_template', 'em_accounts', 'em_templates',