From b9427b9918302aebf837df13ff52604a2524a9bb Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 17 May 2018 11:37:23 +0200 Subject: [PATCH] Fix codice intervento al posto di idintervento nei movimenti + allineato modulo movimenti con nuovo campo data --- modules/articoli/modutil.php | 11 +++++++---- modules/articoli/plugins/articoli.movimenti.php | 8 ++++++-- .../plugins/contratti.pianificazioneinterventi.php | 8 ++++++-- update/2_4_1.sql | 13 +++++++++++++ 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/modules/articoli/modutil.php b/modules/articoli/modutil.php index 08219dad1..20615c459 100644 --- a/modules/articoli/modutil.php +++ b/modules/articoli/modutil.php @@ -60,11 +60,14 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = ' // Intervento elseif (!empty($array['idintervento'])) { - $movimento = ($qta > 0) ? tr('Ripristino articolo da intervento _NUM_') : tr('Scarico magazzino per intervento _NUM_'); - $numero = $array['idintervento']; - - $rs_data = $dbo->fetchArray("SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id='".$array['idintervento']."'"); + + $rs_data = $dbo->fetchArray("SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id='".$array['idintervento']."'"); $data = $rs_data[0]['data']; + $codice_intervento = $rs_data[0]['codice']; + + $movimento = ($qta > 0) ? tr('Ripristino articolo da intervento _NUM_') : tr('Scarico magazzino per intervento _NUM_'); + $numero = $codice_intervento; + } // Manuale diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php index e59c21ce0..dec7933c6 100644 --- a/modules/articoli/plugins/articoli.movimenti.php +++ b/modules/articoli/plugins/articoli.movimenti.php @@ -12,12 +12,16 @@ echo '
'; // Calcolo la quantità dai movimenti in magazzino -$rst = $dbo->fetchArray('SELECT SUM(qta) AS qta_totale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0)'); +$rst = $dbo->fetchArray('SELECT SUM(qta) AS qta_totale, ( SELECT SUM(qta) FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0) AND data <= CURDATE() ) AS qta_totale_attuale FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' AND (idintervento IS NULL OR idautomezzo = 0)'); $qta_totale = $rst[0]['qta_totale']; +$qta_totale_attuale = $rst[0]['qta_totale_attuale']; echo '

'.tr('Quantità calcolata dai movimenti').': '.Translator::numberToLocale($qta_totale).' '.$rs[0]['unita_misura'].'

'; +echo ' +

'.tr('Quantità attuale a magazzino').': '.Translator::numberToLocale($qta_totale_attuale).' '.$rs[0]['unita_misura'].'

'; + // Elenco movimenti magazzino $query = 'SELECT * FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' ORDER BY created_at DESC'; if (empty($_GET['show_all1'])) { @@ -55,7 +59,7 @@ if (!empty($rs2)) { // Data echo ' - '.Translator::dateToLocale($r['data']).''; + '.Translator::dateToLocale($r['data']).' '; // Operazioni echo ' diff --git a/modules/contratti/plugins/contratti.pianificazioneinterventi.php b/modules/contratti/plugins/contratti.pianificazioneinterventi.php index ce412b5e6..64e5f7e90 100644 --- a/modules/contratti/plugins/contratti.pianificazioneinterventi.php +++ b/modules/contratti/plugins/contratti.pianificazioneinterventi.php @@ -200,8 +200,12 @@ switch (filter('op')) { foreach ($rs_articoli as $rs_articolo) { add_movimento_magazzino($rs_articolo['idarticolo'], -force_decimal($rs_articolo['qta']), ['idautomezzo' => $rs_articolo['idautomezzo'], 'idintervento' => $idintervento]); } - - + + // Collego gli impianti del promemoria all' intervento appena inserito + $rs_idimpianti = explode(',', $idimpianti); + foreach ($rs_idimpianti as $idimpianto) { + $dbo->query('INSERT INTO my_impianti_interventi (idintervento, idimpianto) VALUES ('.$idintervento.', '.$idimpianto.' )' ); + } diff --git a/update/2_4_1.sql b/update/2_4_1.sql index 16a29a517..f553c3e9e 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -138,3 +138,16 @@ ALTER TABLE `in_interventi_tecnici` CHANGE `uid` `uid` VARCHAR(255), CHANGE `sum UPDATE `in_interventi_tecnici` SET `uid` = NULL WHERE `uid` = ''; UPDATE `in_interventi_tecnici` SET `summary` = NULL WHERE `summary` = ''; ALTER TABLE `in_interventi_tecnici` CHANGE `uid` `uid` int(11); + + +-- Aggiorno campo 'Data' in 'Data movimento' +UPDATE `zz_views` SET `name` = 'Data movimento', `order` = '6' WHERE `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti') AND name = 'Data'; + +-- Allineo anche il modulo movimenti con il nuovo campo data +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `enabled`, `default`) VALUES +((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Data', 'mg_movimenti.data', 5, 1, 0, 1, 1, 1); +INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES +(1, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )), +(2, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )), +(3, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' )), +(4, (SELECT id FROM `zz_views` WHERE id_module=(SELECT id FROM zz_modules WHERE name='Movimenti') AND name='Data' ));