. */ include_once __DIR__.'/../../core.php'; use Modules\Statistiche\Stats; echo ' '; $start = $_SESSION['period_start']; $end = $_SESSION['period_end']; echo '

'.tr('Periodi temporali').'

'; // Fatturato echo '

'.tr('Vendite e acquisti').'

'; echo ' '; // Script per il grafico del fatturato echo ' '; // Clienti top $clienti = $dbo->fetchArray('SELECT SUM(co_righe_documenti.subtotale - co_righe_documenti.sconto) AS totale, (SELECT COUNT(*) FROM co_documenti WHERE co_documenti.idanagrafica =an_anagrafiche.idanagrafica AND co_documenti.data BETWEEN '.prepare($start).' AND '.prepare($end).") AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY an_anagrafiche.idanagrafica ORDER BY SUM(subtotale - co_righe_documenti.sconto) DESC LIMIT 20'); $totale = $dbo->fetchArray("SELECT SUM(co_righe_documenti.subtotale - co_righe_documenti.sconto) AS totale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end)); echo '

'.tr('I 20 clienti TOP').'

'; if (!empty($clienti)) { echo ' '; foreach ($clienti as $cliente) { echo ' '; } echo '
'.tr('Ragione sociale').' '.tr('Num. fatture').' '.tr('Totale').' '.tr('Percentuale').' 
'.Modules::link('Anagrafiche', $cliente['idanagrafica'], $cliente['ragione_sociale']).' '.intval($cliente['qta']).' '.moneyFormat($cliente['totale'], 2).' '.Translator::numberToLocale($cliente['totale'] * 100 / $totale[0]['totale'], 2).' %
'; } else { echo '

'.tr('Nessuna vendita').'...

'; } echo '
'; // Articoli più venduti $articoli = $dbo->fetchArray("SELECT SUM(co_righe_documenti.qta) AS qta, SUM(co_righe_documenti.subtotale - co_righe_documenti.sconto) AS totale, mg_articoli.id, mg_articoli.codice, mg_articoli.descrizione, mg_articoli.um FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY co_righe_documenti.idarticolo ORDER BY SUM(co_righe_documenti.qta) DESC LIMIT 20'); $totale = $dbo->fetchArray("SELECT SUM(co_righe_documenti.qta) AS totale_qta, SUM(co_righe_documenti.subtotale - co_righe_documenti.sconto) AS totale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end)); echo '

'.tr('I 20 articoli più venduti').'

'; if (!empty($articoli)) { echo ' '; foreach ($articoli as $articolo) { echo ' '; } echo '
'.tr('Articolo').' '.tr('Q.tà').' '.tr('Percentuale').' '.tr('Totale').'
'.Modules::link('Articoli', $articolo['id'], $articolo['codice'].' - '.$articolo['descrizione']).' '.Translator::numberToLocale($articolo['qta'], 'qta').' '.$articolo['um'].' '.Translator::numberToLocale($articolo['qta'] * 100 / $totale[0]['totale_qta'], 2).' % '.moneyFormat($articolo['totale'], 2).'
'; } else { echo '

'.tr('Nessun articolo è stato venduto').'...

'; } echo '
'; // Interventi per tipologia $tipi = $dbo->fetchArray('SELECT * FROM `in_tipiintervento`'); $dataset = ''; foreach ($tipi as $tipo) { $interventi = $dbo->fetchArray('SELECT COUNT(*) AS result, YEAR(in_interventi.data_richiesta) AS year, MONTH(in_interventi.data_richiesta) AS month FROM in_interventi WHERE in_interventi.idtipointervento = '.prepare($tipo['idtipointervento']).' AND in_interventi.data_richiesta BETWEEN '.prepare($start).' AND '.prepare($end).' GROUP BY YEAR(in_interventi.data_richiesta), MONTH(in_interventi.data_richiesta) ORDER BY YEAR(in_interventi.data_richiesta) ASC, MONTH(in_interventi.data_richiesta) ASC'); $interventi = Stats::monthly($interventi, $start, $end); //Random color $background = '#'.dechex(rand(256, 16777215)); $dataset .= '{ label: "'.$tipo['descrizione'].'", backgroundColor: "'.$background.'", data: [ '.implode(',', array_column($interventi, 'result')).' ] },'; } echo '

'.tr('Interventi per tipologia').'

'; // Script per il grafico degli interventi per tipologia echo ' ';