Aggiunto pannello Prezzo medio acquisto

This commit is contained in:
Luca 2019-07-01 16:46:05 +02:00
parent 84efdd2603
commit 1405ef515a
2 changed files with 68 additions and 9 deletions

View File

@ -81,18 +81,20 @@ switch (post('op')) {
$idanagrafica = $dbo->fetchOne('SELECT GROUP_CONCAT(idanagrafica) AS idanagrafica FROM an_anagrafiche WHERE codice_fiscale = '.prepare(post('codice_fiscale')).' AND idanagrafica != '.prepare($id_record))['idanagrafica'];
if (!empty($idanagrafica)) {
$array = explode(',', $idanagrafica);
foreach ($array as $value) {
flash()->warning(tr('Attenzione: il codice fiscale _COD_ è già stato censito _LINK_', [
'_COD_' => post('codice_fiscale'),
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
]));
}
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
}
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
}
// Avviso durante il salvataggio della partita iva se già presente e informo l'utente delle schede presenti
@ -104,9 +106,10 @@ switch (post('op')) {
foreach ($array as $value) {
flash()->warning(tr('Attenzione: la partita IVA _IVA_ è già stata censita _LINK_', [
'_IVA_' => post('piva'),
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
]));
}
} else {
$anagrafica->partita_iva = post('piva');
}
@ -172,10 +175,10 @@ switch (post('op')) {
'_COD_' => post('codice_fiscale'),
]));
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
}
} else {
$anagrafica->codice_fiscale = post('codice_fiscale');
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
}
// Blocco il salvataggio della partita iva se già presente

View File

@ -292,13 +292,68 @@ echo '
} else {
echo '
<div class="alert alert-info">
'.tr('Non ci sono listini caricati').'... '.Modules::link('Listini', null, tr('Crea il primo listino!')).'.
'.tr('Non ci sono listini caricati').'... '.Modules::link('Listini', null, tr('Crea il primo listino')).'
</div>';
}
echo '
</div>
</div>';
?>
<?php
echo '<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">'.tr('Prezzo medio acquisto').'</h3>
</div>
<div class="panel-body">';
$rs_prezzo_medio = $dbo->fetchOne('SELECT ((SUM(subtotale)-SUM(sconto))/SUM(qta)) AS prezzo FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record));
$rs_prezzo_min = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) ASC' );
$rs_prezzo_max = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) DESC' );
if (count($rs_prezzo_min) > 0) {
echo '
<div class="row">
<div class="col-md-12 col-lg-6">
<table class="table table-striped table-condensed table-bordered">
<tr>
<th>'.tr('Prezzo minimo').'</th>
<th>'.tr('Prezzio medio').'</th>
<th>'.tr('Prezzo massimo').'</th>
<th>'.tr('Oscillazione').'</th>
<th>'.tr('Oscillazione in %').'</th>
<th>'.tr('Andamento prezzo').'</th>
</tr>';
echo '
<tr>
<td>'.moneyFormat($rs_prezzo_min['prezzo']).'</td>
<td>'.moneyFormat($rs_prezzo_medio['prezzo']).'</td>
<td>'.moneyFormat($rs_prezzo_max['prezzo']).'</td>
<td>'.moneyFormat($rs_prezzo_max['prezzo']-$rs_prezzo_min['prezzo']).'</td>
<td>'.Translator::numberToLocale(((($rs_prezzo_max['prezzo']-$rs_prezzo_min['prezzo'])*100)/$rs_prezzo_medio['prezzo']), '2').' %</td>
<td>'.((strtotime($rs_prezzo_min['data'])==strtotime($rs_prezzo_max['data'])) ? 'N.D.' : ((strtotime($rs_prezzo_min['data'])<strtotime($rs_prezzo_max['data'])) ? 'in aumento': 'in diminuzione')).'</td>
</tr>';
echo '
</table>
</div>
</div>';
} else {
echo '
<div class="alert alert-info">
'.tr('Questo articolo non è mai stato acquistato').'
</div>';
}
echo '
</div>
</div>';
?>
</form>
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
@ -390,8 +445,9 @@ if (!empty($elementi)) {
<div class="alert alert-error">
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
</div>';
} else {
?>
}else{
?>
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>