. */ include_once __DIR__.'/../../../core.php'; $impegnato = 0; $ordinato = 0; $query = 'SELECT or_ordini.id AS id, or_ordini.numero, or_ordini.numero_esterno, data, SUM(or_righe_ordini.qta) AS qta_ordinata, SUM(or_righe_ordini.qta - or_righe_ordini.qta_evasa) AS qta_impegnata, or_righe_ordini.um FROM or_ordini INNER JOIN or_righe_ordini ON or_ordini.id = or_righe_ordini.idordine INNER JOIN or_statiordine ON or_ordini.idstatoordine=or_statiordine.id WHERE idarticolo = '.prepare($articolo->id)." AND (SELECT dir FROM or_tipiordine WHERE or_tipiordine.id=or_ordini.idtipoordine) = '|dir|' AND (or_righe_ordini.qta - or_righe_ordini.qta_evasa) > 0 AND or_righe_ordini.confermato = 1 AND or_statiordine.impegnato = 1 GROUP BY or_ordini.id HAVING qta_ordinata > 0"; echo '

'.tr('Articolo').'

'.tr('Codice: ').''.$articolo->codice.'
'.tr('Descrizione: ').''.$articolo->name.'
'; /* ** Impegnato */ echo '

'.tr('Impegnato').'

'; $ordini = $dbo->fetchArray(str_replace('|dir|', 'entrata', $query)); $impegnato = sum(array_column($ordini, 'qta_impegnata')); if (!empty($ordini)) { echo ' '; $modulo = Modules::get('Ordini cliente'); foreach ($ordini as $documento) { $numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero']; $qta = $documento['qta_impegnata']; echo ' '; } echo '
'.tr('Descrizione').' '.$record['um'].'
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ '_NUM_' => $numero, '_DATE_' => dateFormat($documento['data']), ])).' '.numberFormat($qta, 'qta').'
'.tr('Totale').' '.numberFormat($impegnato, 'qta').'
'; } else { echo '

'.tr('Nessun ordine cliente con quantità da evadere individuato').'.

'; } echo '
'; /* ** In ordine */ echo '

'.tr('In ordine').'

'; $ordini = $dbo->fetchArray(str_replace('|dir|', 'uscita', $query)); $ordinato = sum(array_column($ordini, 'qta_ordinata')); if (!empty($ordini)) { echo ' '; $modulo = Modules::get('Ordini fornitore'); foreach ($ordini as $documento) { $numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero']; $qta = $documento['qta_ordinata']; echo ' '; } echo '
'.tr('Descrizione').' '.$record['um'].'
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ '_NUM_' => $numero, '_DATE_' => dateFormat($documento['data']), ])).' '.numberFormat($qta, 'qta').'
'.tr('Totale').' '.numberFormat($ordinato, 'qta').'
'; } else { echo '

'.tr('Nessun ordine fornitore con quantità da evadere individuato').'.

'; } echo '
'; /** ** Da ordinare. */ $qta_presente = $articolo->qta > 0 ? $articolo->qta : 0; $diff = ($qta_presente - $impegnato + $ordinato) * -1; $da_ordinare = (($diff <= 0) ? 0 : $diff); echo '

'.tr('Da ordinare').'

'.numberFormat($da_ordinare, 'qta').' '.$articolo->um.'
'; /** ** Disponibile. */ $disponibile = $qta_presente - $impegnato; echo '

'.tr('Disponibile').'

'.numberFormat($disponibile, 'qta').' '.$articolo->um.'
'; $sedi = $dbo->fetchArray('(SELECT "0" AS id, IF(indirizzo!=\'\', CONCAT_WS(" - ", "'.tr('Sede legale').'", CONCAT(citta, \' (\', indirizzo, \')\')), CONCAT_WS(" - ", "'.tr('Sede legale').'", citta)) AS nomesede FROM an_anagrafiche WHERE idanagrafica = '.prepare(setting('Azienda predefinita')).') UNION (SELECT id, IF(indirizzo!=\'\',CONCAT_WS(" - ", nomesede, CONCAT(citta, \' (\', indirizzo, \')\')), CONCAT_WS(" - ", nomesede, citta )) AS nomesede FROM an_sedi WHERE idanagrafica='.prepare(setting('Azienda predefinita')).')'); $giacenze = $articolo->getGiacenze(); echo '

'.tr('Giacenze').'

'; foreach ($sedi as $sede) { echo ' '; } echo '
'.tr('Sede').' '.tr('Q.tà').' #
'.$sede['nomesede'].' '.numberFormat($giacenze[$sede['id']][0], 'qta').' '.$articolo->um.'
'; echo ' ';