. */ 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('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).' |