articoli->groupBy('idarticolo');
if ($articoli->isEmpty()) {
echo '
'.tr('Il documento non contiene articoli').'.
';
return;
}
echo '
'.tr('Articolo').' |
'.tr('Q.tà').' |
'.tr('Q.tà magazzino').' |
'.tr('Q.tà impegnata').' |
';
foreach ($articoli as $elenco) {
$qta = $elenco->sum('qta');
$articolo = $elenco->first()->articolo;
$codice = $articolo ? $articolo->codice : tr('Articolo eliminato');
$descrizione = $articolo ? $articolo->descrizione : $elenco->first()->descrizione;
$qta_impegnata = $database->fetchOne("SELECT SUM(qta) as qta
FROM or_righe_ordini
JOIN or_ordini ON or_ordini.id = or_righe_ordini.idordine
WHERE or_ordini.id != '.prepare($ordine->id).'
AND idstatoordine = (SELECT id FROM or_statiordine WHERE descrizione = 'Bozza')
AND idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = 'entrata')
AND idarticolo=".prepare($articolo->id)."
GROUP BY idarticolo")['qta'];
$qta_impegnata = floatval($qta_impegnata);
$class = $qta_impegnata + $qta > $articolo->qta ? 'danger' : 'success';
$descrizione_riga = $codice.' - '.$descrizione;
$text = $articolo ? Modules::link('Articoli', $articolo->id, $descrizione_riga) : $descrizione_riga;
echo '
'.$text.' |
'.numberFormat($qta, 'qta').' |
'.numberFormat($articolo->qta, 'qta').' |
'.numberFormat($qta_impegnata, 'qta').' |
';
}
echo '
';