From a9adbacdb5cb4a15bf4430a5cdbf9ad4dd8ad5a4 Mon Sep 17 00:00:00 2001 From: Luca Date: Thu, 17 May 2018 12:58:53 +0200 Subject: [PATCH] Migliorato plugin movimentazione articoli --- .../articoli/plugins/articoli.movimenti.php | 49 +++++++++++++------ .../contratti.pianificazioneinterventi.php | 2 - update/2_4_1.sql | 2 + 3 files changed, 37 insertions(+), 16 deletions(-) diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php index dec7933c6..ccd97507c 100644 --- a/modules/articoli/plugins/articoli.movimenti.php +++ b/modules/articoli/plugins/articoli.movimenti.php @@ -12,15 +12,18 @@ echo '
'; // Calcolo la quantità dai movimenti in magazzino -$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)'); +$rst = $dbo->fetchArray('SELECT COUNT(mg_movimenti.id) AS row, 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'].'

'; +if ( $rst[0]['row']>0){ + echo ' +

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

'; -echo ' -

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

'; + echo ' +

'.tr('Quantità calcolata attuale').': '.Translator::numberToLocale($qta_totale_attuale).' '.$records[0]['um'].'

'; + +} // Elenco movimenti magazzino $query = 'SELECT * FROM mg_movimenti WHERE idarticolo='.prepare($id_record).' ORDER BY created_at DESC'; @@ -42,24 +45,34 @@ if (!empty($rs2)) { echo ' - - - - + + + + '; foreach ($rs2 as $r) { // Quantità echo ' - '; + '; + + + // Causale + $dir = ($r['qta']<0) ? 'vendita' : 'acquisto'; + echo ' - '; + '; // Data echo ' - '; + '; // Operazioni echo ' @@ -79,8 +92,16 @@ if (!empty($rs2)) { echo '
'.tr('Q.tà').''.tr('Causale').''.tr('Data').'#'.tr('Q.tà').''.tr('Causale').''.tr('Data').'#
'.Translator::numberToLocale($r['qta']).''.Translator::numberToLocale($r['qta']).' '.$records[0]['um'].''.$r['movimento'].''.$r['movimento'].' + '.((!empty($r['idintervento'])) ? Modules::link('Interventi', $r['idintervento']) :'').' + '.((!empty($r['idautomezzo'])) ? Modules::link('Automezzi', $r['idautomezzo']) :'').' + '.((!empty($r['iddt'])) ? Modules::link('DDt di '.$dir.'', $r['iddt']) :'').' + '.((!empty($r['iddocumento'])) ? Modules::link('Fatture di '.$dir.'', $r['iddocumento']) :'').' + '.Translator::dateToLocale($r['data']).' '.Translator::dateToLocale($r['data']).'
'; } else { - echo ' -

'.tr('Nessun movimento disponibile').'...

'; + + + echo ' +
+ + '.tr('Questo articolo non è ancora stato movimentato', []).'. +
'; + + + } echo ' diff --git a/modules/contratti/plugins/contratti.pianificazioneinterventi.php b/modules/contratti/plugins/contratti.pianificazioneinterventi.php index 64e5f7e90..50cf681f9 100644 --- a/modules/contratti/plugins/contratti.pianificazioneinterventi.php +++ b/modules/contratti/plugins/contratti.pianificazioneinterventi.php @@ -99,8 +99,6 @@ switch (filter('op')) { //mi serve per la pianificazione interventi $idanagrafica = $rsp[0]['idanagrafica']; - - //se voglio pianificare anche le date precedenti ad oggi (parto da questo promemoria) if ($parti_da_oggi) { //oggi diff --git a/update/2_4_1.sql b/update/2_4_1.sql index f553c3e9e..42b40190b 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -143,6 +143,8 @@ 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'; +UPDATE `zz_views` SET `query` = 'CONCAT(mg_movimenti.qta,'' '', (SELECT um FROM mg_articoli WHERE id = mg_movimenti.idarticolo) )' WHERE `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti') AND name = 'Quantità'; + -- 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);