Migliorie stampa mastrino saldo iniziale

This commit is contained in:
MatteoPistorello 2022-12-27 15:10:11 +01:00
parent 150d9c1a5b
commit cd288dda2c
3 changed files with 31 additions and 0 deletions

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
if (get('lev') == '2' || get('lev') == '3') {
$dare = 0;
$avere = 0;
$scalare += $saldo_iniziale;
for ($i = 0; $i < sizeof($records); ++$i) {
if ($records[$i]['totale'] >= 0) {
$dare += $records[$i]['totale'];

View File

@ -21,6 +21,8 @@ include_once __DIR__.'/../../core.php';
$azienda = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.setting('Azienda predefinita'));
$date_start = $_SESSION['period_start'];
$date_end = $_SESSION['period_end'];
$saldo_iniziale = 0;
$i = 0;
if (get('lev') == '3') {
$conto3 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti3 WHERE id='.prepare($id_record));
@ -28,6 +30,20 @@ if (get('lev') == '3') {
$conto1 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti1 WHERE id='.prepare($conto2['idpianodeiconti1']));
// Movimenti
$records = $dbo->fetchArray('SELECT * FROM co_movimenti WHERE idconto='.prepare($id_record).' AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' ORDER BY co_movimenti.data');
// Calcolo saldo iniziale se non è presente nessun movimento di apertura tra i movimenti del periodo
$has_movimento_apertura = false;
foreach ($records as $record) {
if ($record['is_apertura'] == 1) {
$has_movimento_apertura = true;
continue;
}
}
if (empty($has_movimento_apertura)) {
$saldo_iniziale = $dbo->fetchOne('SELECT SUM(totale) AS totale FROM co_movimenti WHERE idconto='.prepare($id_record).' AND co_movimenti.data<'.prepare($date_start).' GROUP BY idconto')['totale'];
$data_saldo_iniziale = date('Y-m-d', strtotime($date_start.' -1 day'));
}
} elseif (get('lev') == '2') {
$records = $dbo->fetchArray('SELECT CONCAT(co_pianodeiconti3.numero, " ",co_pianodeiconti3.descrizione) AS descrizione, SUM(totale) AS totale FROM `co_movimenti` INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2='.prepare($id_record).') AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' GROUP BY idconto HAVING totale!=0');
$conto2 = $dbo->fetchOne('SELECT * FROM co_pianodeiconti2 WHERE id='.prepare($id_record));

View File

@ -26,6 +26,19 @@ if ($record['titolo'] != $prev_titolo && get('lev') == 1) {
</tr>';
}
if (!empty($saldo_iniziale) && $i == 0) {
echo '
<tr>
<td>'.Translator::dateToLocale($data_saldo_iniziale).'</td>
<td>'.tr('Saldo iniziale').'</td>
<td></td>
<td></td>
<td class="text-right">
'.moneyFormat($saldo_iniziale, 2).'
</td>
</tr>';
}
echo '
<tr>
<td>'.Translator::dateToLocale($record['data']).'</td>
@ -47,3 +60,4 @@ echo '
</td>';
echo '</tr>';
$prev_titolo = $record['titolo'];
$i++;