mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-01 18:49:18 +01:00
585290e011
Risoluzione delle problematiche relative alla selezioni di diversi sconti su multipli livelli. Aggiunta selezione automatica dello sconto da listino. Introduzione del nuovo sistema degli sconti nei contratti.
188 lines
5.6 KiB
PHP
188 lines
5.6 KiB
PHP
<?php
|
|
|
|
include_once __DIR__.'/../../core.php';
|
|
|
|
// Mostro le righe del preventivo
|
|
$totale_preventivo = 0.00;
|
|
$totale_imponibile = 0.00;
|
|
$totale_iva = 0.00;
|
|
$totale_da_evadere = 0.00;
|
|
|
|
/*
|
|
ARTICOLI
|
|
*/
|
|
$q_art = 'SELECT * FROM co_righe2_contratti WHERE idcontratto='.prepare($id_record);
|
|
$rs_art = $dbo->fetchArray($q_art);
|
|
$imponibile_art = 0.0;
|
|
$iva_art = 0.0;
|
|
|
|
echo '
|
|
<table class="table table-striped table-hover table-condensed">
|
|
<tr>
|
|
<th>'.tr('Descrizione').'</th>
|
|
<th width="10%" class="text-center">'.tr('Q.tà').'</th>
|
|
<th width="10%" class="text-center">'.tr('U.m.').'</th>
|
|
<th width="12%" class="text-center">'.tr('Costo unitario').'</th>
|
|
<th width="12%" class="text-center">'.tr('Iva').'</th>
|
|
<th width="10%" class="text-center">'.tr('Imponibile').'</th>
|
|
<th width="80"></th>
|
|
</tr>';
|
|
|
|
// se ho almeno un articolo caricato mostro la riga
|
|
if (!empty($rs_art)) {
|
|
foreach ($rs_art as $r) {
|
|
// descrizione
|
|
echo '
|
|
<tr>
|
|
<td>
|
|
'.nl2br($r['descrizione']).'
|
|
</td>';
|
|
|
|
// q.tà
|
|
echo '
|
|
<td class="text-center">
|
|
'.Translator::numberToLocale($r['qta']).'
|
|
</td>';
|
|
|
|
// um
|
|
echo '
|
|
<td class="text-center">
|
|
'.$r['um'].'
|
|
</td>';
|
|
|
|
// costo unitario
|
|
echo '
|
|
<td class="text-center">
|
|
'.Translator::numberToLocale($r['subtotale'] / $r['qta']).' €
|
|
</td>';
|
|
|
|
// iva
|
|
echo '
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($r['iva'])." €<br>
|
|
<small class='help-block'>".$r['desc_iva'].'</small>
|
|
</td>';
|
|
|
|
// Imponibile
|
|
echo '
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($r['subtotale']).' €';
|
|
|
|
if ($r['sconto_unitario'] > 0) {
|
|
echo '
|
|
<br><small class="label label-danger">- sconto '.Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €').'</small>';
|
|
}
|
|
|
|
echo '
|
|
</td>';
|
|
|
|
// Possibilità di rimuovere una riga solo se il preventivo non è stato pagato
|
|
echo '
|
|
<td class="text-center">';
|
|
|
|
if ($records[0]['stato'] != 'Pagato' && empty($r['sconto_globale'])) {
|
|
echo '
|
|
<form action="'.$rootdir.'/editor.php?id_module='.Modules::getModule('Contratti')['id'].'&id_record='.$id_record.'" method="post" id="delete-form-'.$r['id'].'" role="form">
|
|
<input type="hidden" name="backto" value="record-edit">
|
|
<input type="hidden" name="id_record" value="'.$id_record.'">
|
|
<input type="hidden" name="op" value="delriga">
|
|
<input type="hidden" name="idriga" value="'.$r['id'].'">
|
|
<input type="hidden" name="idarticolo" value="'.$r['idarticolo'].'">
|
|
|
|
<div class="btn-group">';
|
|
echo "
|
|
<a class='btn btn-xs btn-warning' onclick=\"launch_modal('Modifica riga', '".$rootdir.'/modules/contratti/add_riga.php?idcontratto='.$id_record.'&idriga='.$r['id']."', 1 );\"><i class='fa fa-edit'></i></a>
|
|
<a href='javascript:;' class='btn btn-xs btn-danger' title='Rimuovi questa riga' onclick=\"if( confirm('Rimuovere questa riga dal contratto?') ){ $('#delete-form-".$r['id']."').submit(); }\"><i class='fa fa-trash'></i></a>";
|
|
echo '
|
|
</div>
|
|
</form>';
|
|
}
|
|
|
|
echo '
|
|
</td>
|
|
</tr>';
|
|
|
|
$iva_art += $r['iva'];
|
|
$imponibile_art += $r['subtotale'] - $r['sconto'];
|
|
$imponibile_nosconto += $r['subtotale'];
|
|
$sconto_art += $r['sconto'];
|
|
}
|
|
}
|
|
|
|
// SCONTO
|
|
if (abs($sconto_art) > 0) {
|
|
// Totale imponibile scontato
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
<span id="budget">'.Translator::numberToLocale($imponibile_nosconto).' €</span>
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($sconto_art).' €
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
|
|
// Totale imponibile scontato
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($imponibile_art).' €
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
} else {
|
|
// Totale imponibile
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
<span id="budget">'.Translator::numberToLocale($imponibile_art).' €</span>
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
}
|
|
|
|
// Totale iva
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($iva_art).' €
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
|
|
// Totale contratto
|
|
echo '
|
|
<tr>
|
|
<td colspan="5"" class="text-right">
|
|
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
|
</td>
|
|
<td class="text-right">
|
|
'.Translator::numberToLocale($imponibile_art + $iva_art).' €
|
|
</td>
|
|
<td></td>
|
|
</tr>';
|
|
|
|
echo '
|
|
</table>';
|