'.$rs2[$i]['serial'].' | ';
echo '
'.Translator::timestampToLocale($rs2[$i]['created_at']).' | ';
// Ricerca acquisti
$acquisti = $dbo->fetchArray('SELECT * FROM mg_prodotti WHERE dir=\'uscita\' AND id_articolo='.prepare($id_record).' AND (id_riga_documento IS NOT NULL OR id_riga_ordine IS NOT NULL OR id_riga_ddt IS NOT NULL) AND serial='.prepare($rs2[$i]['serial']));
if (!empty($acquisti)) {
echo '
';
$totali = [];
foreach ($acquisti as $acquisto) {
// Acquistato su fatture
if (!empty($acquisto['id_riga_documento'])) {
$module = 'Fatture di acquisto';
// Ricerca vendite su fatture
$query = 'SELECT *, `co_tipidocumento_lang`.`title` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($acquisto['id_riga_documento']);
$data = $dbo->fetchArray($query);
$id = $data[0]['iddocumento'];
}
// Acquistato su ddt
elseif (!empty($acquisto['id_riga_ddt'])) {
$module = 'Ddt di acquisto';
$query = 'SELECT
*,
`dt_tipiddt_lang`.`title` AS tipo_documento,
`dt_tipiddt`.`dir` AS `dir`,
`dt_ddt`.`numero` AS numero,
`dt_ddt`.`data` AS data,
`dt_ddt`.`numero_esterno` AS numero_esterno
FROM
`dt_righe_ddt`
INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id`
LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
WHERE
`dt_righe_ddt`.`id`='.prepare($acquisto['id_riga_ddt']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idddt'];
}
// Inserito su ordini
elseif (!empty($acquisto['id_riga_ordine'])) {
$module = 'Ordini cliente';
// Ricerca inserimenti su ordini
$query = 'SELECT
*,
`or_tipiordine_lang`.`title` AS tipo_documento,
`or_tipiordine`.`dir`,
`or_ordini`.`numero`,
`or_ordini`.`numero_esterno`,
`or_ordini`.`data`
FROM
`or_righe_ordini`
INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine`=`or_ordini`.`id`
INNER JOIN `or_tipiordine` ON `or_ordini`.`ididtipordine`=`or_tipiordine`.`id`
LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine`.`id` = `or_tipiordine_lang`.`id_record` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
WHERE
`or_righe_ordini`.`id`='.prepare($acquisto['id_riga_ordine']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idordine'];
}
$totali[] = [$data[0]['prezzo_unitario'] - $data[0]['sconto_unitario'], $data[0]['iva_unitaria']];
$numero = !empty($data[0]['numero_esterno']) ? $data[0]['numero_esterno'] : $data[0]['numero'];
$text = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $data[0]['tipo_documento'],
'_NUM_' => $numero,
'_DATE_' => Translator::dateToLocale($data[0]['data']),
]).(!empty($extra) ? ' '.$extra : '');
echo Modules::link($module, $id, $text).' ';
}
echo '
|
';
foreach ($totali as $value) {
$subtotale = $value[0];
$iva = $value[1];
echo '
'.moneyFormat($subtotale + $iva).'';
if (!empty($subtotale) && !empty($iva)) {
echo '
('.Translator::numberToLocale($subtotale).' + '.Translator::numberToLocale($iva).')';
}
echo '
';
}
echo '
| ';
}
// Non venduto
else {
echo '
|
| ';
}
// Ricerca vendite
$vendite = $dbo->fetchArray('SELECT * FROM mg_prodotti WHERE dir=\'entrata\' AND id_articolo='.prepare($id_record).' AND serial='.prepare($rs2[$i]['serial']));
if (!empty($vendite)) {
echo '
';
$totali = [];
foreach ($vendite as $vendita) {
// Venduto su fatture
if (!empty($vendita['id_riga_documento'])) {
$module = 'Fatture di vendita';
// Ricerca vendite su fatture
$query = 'SELECT *, `co_tipidocumento_lang`.`title` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`,`co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($vendita['id_riga_documento']);
$data = $dbo->fetchArray($query);
$id = $data[0]['iddocumento'];
}
// Venduto su ddt
elseif (!empty($vendita['id_riga_ddt'])) {
$module = 'Ddt di vendita';
$query = 'SELECT
*,
`dt_tipiddt_lang`.`title` AS tipo_documento,
`dt_ddt`.`dir`,
`dt_ddt`.`numero`,
`dt_ddt`.`numero_esterno`,
`dt_ddt`.`data`
FROM
`dt_righe_ddt`
INNER JOIN `dt_ddt` ON `dt_righe_ddt`.`idddt`=`dt_ddt`.`id`
INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id`
LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record`=`dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).')
WHERE
`dt_righe_ddt`.`id`='.prepare($vendita['id_riga_ddt']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idddt'];
}
// Inserito su ordini
elseif (!empty($vendita['id_riga_ordine'])) {
$module = 'Ordini cliente';
// Ricerca inserimenti su ordini
$query = 'SELECT
*,
`or_tipiordine_lang`.`title` AS tipo_ordine,
`or_ordini`.`dir`,
`or_ordini`.`numero`,
`or_ordini`.`numero_esterno`,
`or_ordini`.`data`
FROM
`or_righe_ordini`
INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine`=`or_ordini`.`id`
INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine`=`or_tipiordine`.`id`
LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine_lang`.`id_record`=`or_tipiordine`.`id` AND `or_tipiordine_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).')
WHERE
`or_righe_ordini`.`id`='.prepare($vendita['id_riga_ordine']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idordine'];
}
// Inserito su intervento
elseif (!empty($vendita['id_riga_intervento'])) {
$module = 'Interventi';
// Ricerca inserimenti su interventi
$query = 'SELECT in_righe_interventi.*, in_interventi.codice, ( SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_righe_interventi.idintervento LIMIT 0,1 ) AS data FROM in_righe_interventi JOIN in_interventi ON in_interventi.id = in_righe_interventi.idintervento WHERE in_righe_interventi.id='.prepare($vendita['id_riga_intervento']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idintervento'];
$data[0]['tipo_documento'] = tr('Intervento').' '.$data[0]['codice'];
}
// Inserito su contratto
elseif (!empty($vendita['id_riga_contratto'])) {
$module = 'Contratti';
// Ricerca vendite su contratti
$query = 'SELECT *, "Contratto" AS tipo_documento, ( SELECT data_bozza FROM co_contratti WHERE id=idcontratto ) AS data, ( SELECT numero FROM co_contratti WHERE id=idcontratto ) AS numero FROM co_righe_contratti WHERE co_righe_contratti.id='.prepare($vendita['id_riga_contratto']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idcontratto'];
}
// Inserito su vendita banco
elseif (!empty($vendita['id_riga_venditabanco'])) {
$module = 'Vendita al banco';
// Ricerca vendite su contratti
$query = 'SELECT *, "Vendita al banco" AS tipo_documento, ( SELECT data FROM vb_venditabanco WHERE id=idvendita ) AS data, ( SELECT numero FROM vb_venditabanco WHERE id=idvendita ) AS numero FROM vb_righe_venditabanco WHERE vb_righe_venditabanco.id='.prepare($vendita['id_riga_venditabanco']);
$data = $dbo->fetchArray($query);
$id = $data[0]['idvendita'];
}
$totali[] = [$data[0]['prezzo_unitario'] - $data[0]['sconto_unitario'], $data[0]['iva_unitaria']];
$numero = !empty($data[0]['numero_esterno']) ? $data[0]['numero_esterno'] : $data[0]['numero'];
$text = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $data[0]['tipo_documento'],
'_NUM_' => $numero,
'_DATE_' => Translator::dateToLocale($data[0]['data']),
]);
echo Modules::link($module, $id, $text).' ';
}
echo '
|
';
foreach ($totali as $value) {
$subtotale = $value[0];
$iva = $value[1];
echo '
'.moneyFormat($subtotale + $iva).'';
if (!empty($subtotale) && !empty($iva)) {
echo '
('.Translator::numberToLocale($subtotale).' + '.Translator::numberToLocale($iva).')';
}
echo '
';
}
echo '
|
| ';
}
// Non venduto
else {
// Documento di vendita
echo '
|
|
| ';
}
echo '
';
}
echo '