. */ use Util\Query; include_once __DIR__.'/../../core.php'; $id_module = Modules::get('Articoli')['id']; // Valori di ricerca $where['servizio'] = '0'; foreach ($_SESSION['module_'.$id_module] as $name => $value) { if (preg_match('/^search_(.+?)$/', $name, $m)) { $where[$m[1]] = $value; } } $period_end = $_SESSION['period_end']; $structure = Modules::get($id_module); // RISULTATI VISIBILI Util\Query::setSegments(false); $query = Query::getQuery($structure, $where, 0, []); $query = Modules::replaceAdditionals($id_module, $query); // Modifiche alla query principale $query = preg_replace('/FROM `mg_articoli`/', ' FROM mg_articoli LEFT JOIN (SELECT idarticolo, SUM(qta) AS qta_totale FROM mg_movimenti WHERE data <='.prepare($period_end).' GROUP BY idarticolo) movimenti ON movimenti.idarticolo=mg_articoli.id ', $query); $query = preg_replace('/^SELECT /', 'SELECT mg_articoli.prezzo_acquisto,', $query); $query = preg_replace('/^SELECT /', 'SELECT mg_articoli.prezzo_vendita,', $query); $query = preg_replace('/^SELECT /', 'SELECT mg_articoli.um,', $query); $query = preg_replace('/^SELECT /', 'SELECT movimenti.qta_totale,', $query); if (post('tipo') == 'nozero') { $query = str_replace('2=2', '2=2 AND movimenti.qta_totale > 0', $query); } $data = Query::executeAndCount($query); echo '

'.tr('Inventario al _DATE_', [ '_DATE_' => Translator::dateToLocale($period_end), ], ['upper' => true]).'

'; $totali = []; foreach ($data['results'] as $r) { $valore_magazzino = $r['prezzo_acquisto'] * $r['qta_totale']; echo ' '; $totali[] = $valore_magazzino; } // Totali $totale_acquisto = sum($totali); $totale_qta = sum(array_column($rs, 'qta_totale')); echo '
'.tr('Codice', [], ['upper' => true]).' '.tr('Categoria', [], ['upper' => true]).' '.tr('Descrizione', [], ['upper' => true]).' '.tr('Prezzo di vendita', [], ['upper' => true]).' '.tr('Q.tà', [], ['upper' => true]).' '.tr('Prezzo di acquisto', [], ['upper' => true]).' '.tr('Valore totale', [], ['upper' => true]).'
'.$r['Codice'].' '.$r['Categoria'].' '.$r['Descrizione'].' '.moneyFormat($r['prezzo_vendita']).' '.Translator::numberToLocale($r['qta_totale']).' '.$r['um'].' '.moneyFormat($r['prezzo_acquisto']).' '.moneyFormat($valore_magazzino).'
'.tr('Totale', [], ['upper' => true]).': '.Translator::numberToLocale($totale_qta).' '.moneyFormat($totale_acquisto).'
';