mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-22 21:28:08 +01:00
Bugfix #237
This commit is contained in:
parent
66ee74031c
commit
f852fe0262
@ -61,7 +61,7 @@ function add_movimento_magazzino($idarticolo, $qta, $array = [], $descrizone = '
|
||||
// Intervento
|
||||
elseif (!empty($array['idintervento'])) {
|
||||
|
||||
$rs_data = $dbo->fetchArray("SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id='".$array['idintervento']."'");
|
||||
$rs_data = $dbo->fetchArray('SELECT IFNULL(MAX(orario_fine), data_richiesta) AS data, codice FROM in_interventi LEFT JOIN in_interventi_tecnici ON in_interventi.id=in_interventi_tecnici.idintervento WHERE in_interventi.id = '.prepare($array['idintervento']));
|
||||
$data = $rs_data[0]['data'];
|
||||
$codice_intervento = $rs_data[0]['codice'];
|
||||
|
||||
|
@ -2,37 +2,29 @@
|
||||
|
||||
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
|
||||
ARTICOLI + RIGHE GENERICHE
|
||||
*/
|
||||
$rs_art = $dbo->fetchArray('SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo), "") AS codice FROM co_righe2_contratti WHERE idcontratto='.prepare($id_record).' ORDER BY `order`');
|
||||
$imponibile_art = 0.0;
|
||||
$iva_art = 0.0;
|
||||
$rs = $dbo->fetchArray('SELECT *, round(iva,'.Settings::get('Cifre decimali per importi').') AS iva, round(sconto_unitario,'.Settings::get('Cifre decimali per importi').') AS sconto_unitario, round(sconto,'.Settings::get('Cifre decimali per importi').') AS sconto, round(subtotale,'.Settings::get('Cifre decimali per importi').') AS subtotale, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo), "") AS codice FROM co_righe2_contratti WHERE idcontratto='.prepare($id_record).' ORDER BY `order`');
|
||||
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed table-bordered">
|
||||
<thead>
|
||||
<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>
|
||||
<th width="120">'.tr('Q.tà').'</th>
|
||||
<th width="80">'.tr('U.m.').'</th>
|
||||
<th width="120">'.tr('Costo unitario').'</th>
|
||||
<th width="120">'.tr('Iva').'</th>
|
||||
<th width="120">'.tr('Imponibile').'</th>
|
||||
<th width="60"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sortable">';
|
||||
|
||||
// se ho almeno un articolo caricato mostro la riga
|
||||
if (!empty($rs_art)) {
|
||||
foreach ($rs_art as $r) {
|
||||
if (!empty($rs)) {
|
||||
foreach ($rs as $r) {
|
||||
// descrizione
|
||||
echo '
|
||||
<tr data-id="'.$r['id'].'">
|
||||
@ -48,7 +40,7 @@ if (!empty($rs_art)) {
|
||||
|
||||
// q.tà
|
||||
echo '
|
||||
<td class="text-center">';
|
||||
<td class="text-right">';
|
||||
if (empty($r['is_descrizione'])) {
|
||||
echo '
|
||||
'.Translator::numberToLocale($r['qta']);
|
||||
@ -140,10 +132,20 @@ if (!empty($rs_art)) {
|
||||
</td>
|
||||
</tr>';
|
||||
|
||||
$iva_art += number_format($r['iva'], 2);
|
||||
$imponibile_art += $r['subtotale'] - $r['sconto'];
|
||||
$imponibile_nosconto += $r['subtotale'];
|
||||
$sconto_art += $r['sconto'];
|
||||
|
||||
// Calcoli
|
||||
$imponibile = sum(array_column($rs, 'subtotale'));
|
||||
$sconto = sum(array_column($rs, 'sconto'));
|
||||
$iva = sum(array_column($rs, 'iva'));
|
||||
|
||||
$imponibile_scontato = sum($imponibile, -$sconto);
|
||||
|
||||
$totale = sum([
|
||||
$imponibile_scontato,
|
||||
$iva,
|
||||
]);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -151,7 +153,7 @@ echo '
|
||||
</tbody>';
|
||||
|
||||
// SCONTO
|
||||
if (abs($sconto_art) > 0) {
|
||||
if (abs($sconto) > 0) {
|
||||
// Totale imponibile scontato
|
||||
echo '
|
||||
<tr>
|
||||
@ -159,7 +161,7 @@ if (abs($sconto_art) > 0) {
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile_nosconto).' €</span>
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile).' €</span>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
@ -170,7 +172,7 @@ if (abs($sconto_art) > 0) {
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($sconto_art).' €
|
||||
'.Translator::numberToLocale($sconto).' €
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
@ -182,7 +184,7 @@ if (abs($sconto_art) > 0) {
|
||||
<b>'.tr('Imponibile scontato', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($imponibile_art).' €
|
||||
'.Translator::numberToLocale($imponibile_scontato).' €
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
@ -194,7 +196,7 @@ if (abs($sconto_art) > 0) {
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile_art).' €</span>
|
||||
<span id="budget">'.Translator::numberToLocale($imponibile).' €</span>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
@ -207,7 +209,7 @@ echo '
|
||||
<b>'.tr('Iva', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($iva_art).' €
|
||||
'.Translator::numberToLocale($iva).' €
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
@ -219,7 +221,7 @@ echo '
|
||||
<b>'.tr('Totale', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
'.Translator::numberToLocale($imponibile_art + $iva_art).' €
|
||||
'.Translator::numberToLocale($totale).' €
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
|
@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
|
||||
/*
|
||||
Righe fattura
|
||||
*/
|
||||
$rs = $dbo->fetchArray("SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento=".prepare($id_record).' LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' ORDER BY `order`');
|
||||
$rs = $dbo->fetchArray('SELECT *, round(iva,'.Settings::get('Cifre decimali per importi').') AS iva, round(sconto_unitario,'.Settings::get('Cifre decimali per importi').') AS sconto_unitario, round(sconto,'.Settings::get('Cifre decimali per importi').') AS sconto, round(subtotale,'.Settings::get('Cifre decimali per importi').') AS subtotale, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),"") AS codice, (SELECT descrizione FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id=IF(co_righe_documenti.idconto = 0, (SELECT idconto FROM co_documenti WHERE iddocumento='.prepare($id_record).' LIMIT 1), co_righe_documenti.idconto)) AS descrizione_conto FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' ORDER BY `order`');
|
||||
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed table-bordered">
|
||||
@ -282,7 +282,7 @@ echo '
|
||||
// Calcoli
|
||||
$imponibile = sum(array_column($rs, 'subtotale'));
|
||||
$sconto = sum(array_column($rs, 'sconto'));
|
||||
$iva = sum(array_column($rs, 'iva'), null, 2);
|
||||
$iva = sum(array_column($rs, 'iva'));
|
||||
|
||||
$imponibile_scontato = sum($imponibile, -$sconto);
|
||||
|
||||
|
@ -10,7 +10,7 @@ echo '
|
||||
<!-- DATI -->
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">'.tr('Valori della sezione').'</h3>
|
||||
<h3 class="panel-title">'.tr('Valori della sezione').': '.$records[0]['sezione'].'</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">';
|
||||
|
@ -5,11 +5,12 @@ include_once __DIR__.'/../../core.php';
|
||||
/*
|
||||
ARTICOLI + RIGHE GENERICHE
|
||||
*/
|
||||
$q_art = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo), '') AS codice FROM co_righe_preventivi WHERE idpreventivo=".prepare($id_record).' ORDER BY `order`';
|
||||
$q_art = 'SELECT *, round(iva,'.Settings::get('Cifre decimali per importi').') AS iva, round(sconto_unitario,'.Settings::get('Cifre decimali per importi').') AS sconto_unitario, round(sconto,'.Settings::get('Cifre decimali per importi').') AS sconto, round(subtotale,'.Settings::get('Cifre decimali per importi').') AS subtotale, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo), "") AS codice FROM co_righe_preventivi WHERE idpreventivo='.prepare($id_record).' ORDER BY `order`';
|
||||
$rs = $dbo->fetchArray($q_art);
|
||||
|
||||
echo '
|
||||
<table class="table table-striped table-hover table-condensed table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th width="120">'.tr('Q.tà').'</th>
|
||||
@ -19,6 +20,7 @@ echo '
|
||||
<th width="120">'.tr('Imponibile').'</th>
|
||||
<th width="60"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="sortable">';
|
||||
|
||||
// se ho almeno un articolo caricato mostro la riga
|
||||
@ -38,7 +40,7 @@ if (!empty($rs)) {
|
||||
|
||||
// q.tà
|
||||
echo '
|
||||
<td class="text-center">';
|
||||
<td class="text-right">';
|
||||
if (empty($r['is_descrizione'])) {
|
||||
echo '
|
||||
'.Translator::numberToLocale($r['qta'] - $r['qta_evasa']);
|
||||
@ -131,7 +133,7 @@ if (!empty($rs)) {
|
||||
// Calcoli
|
||||
$imponibile = sum(array_column($rs, 'subtotale'));
|
||||
$sconto = sum(array_column($rs, 'sconto'));
|
||||
$iva = sum(array_column($rs, 'iva'), null, 2);
|
||||
$iva = sum(array_column($rs, 'iva'));
|
||||
|
||||
$imponibile_scontato = sum($imponibile, -$sconto);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user