mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-17 03:51:06 +01:00
Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
65cf48888b
@ -102,6 +102,7 @@ switch (filter('op')) {
|
||||
echo json_encode([
|
||||
'id_nazione' => [
|
||||
'id' => $nazione->id,
|
||||
'iso2' => $nazione->iso2,
|
||||
'text' => $nazione->nome,
|
||||
],
|
||||
'bank_code' => $iban->getBankCode(),
|
||||
|
@ -71,11 +71,12 @@ echo '
|
||||
</form>';
|
||||
?>
|
||||
<script>
|
||||
|
||||
var iban = input("iban");
|
||||
|
||||
var branch_code = input("branch_code");
|
||||
var bank_code = input("bank_code");
|
||||
var id_nazione = input("id_nazione");
|
||||
var bic = input("bic");
|
||||
|
||||
var components = [branch_code, bank_code, id_nazione];
|
||||
|
||||
@ -117,6 +118,16 @@ echo '
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
compilaCampi(response);
|
||||
|
||||
if (response.id_nazione.iso2 === "IT"){
|
||||
bic.setRequired(false);
|
||||
var label_text = $('label[for=bic] span .text-red').text();
|
||||
$('label[for=bic] span .text-red').text(label_text.replace('*', ' '));
|
||||
} else {
|
||||
bic.setRequired(true);
|
||||
var label_text = $('label[for=bic] span .text-red').text();
|
||||
$('label[for=bic] span .text-red').text(label_text.replace(' ', '*'));
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
toastr["error"]("<?php echo tr('Formato IBAN non valido'); ?>");
|
||||
@ -158,9 +169,9 @@ echo '
|
||||
function compilaCampi(values) {
|
||||
for([key, value] of Object.entries(values)) {
|
||||
if (typeof value === 'object' && value !== null) {
|
||||
input(key).getElement().selectSetNew(value.id, value.text, value);
|
||||
input('#modals > div #'+key).getElement().selectSetNew(value.id, value.text, value);
|
||||
} else {
|
||||
input(key).set(value);
|
||||
input('#modals > div #'+key).set(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -60,7 +60,7 @@ include_once __DIR__.'/../../core.php';
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('BIC'); ?>", "name": "bic", "required": "1", "class": "alphanumeric-mask", "minlength": 8, "maxlength": 11, "value": "$bic$", "help": "<?php echo $help_codice_bic; ?>" ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('BIC'); ?>", "name": "bic", "class": "alphanumeric-mask", "minlength": 8, "maxlength": 11, "value": "$bic$", "help": "<?php echo $help_codice_bic; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -149,6 +149,7 @@ if (!empty($numero_documenti)) {
|
||||
var check_digits = input("check_digits");
|
||||
var national_check_digits = input("national_check_digits");
|
||||
var id_nazione = input("id_nazione");
|
||||
var bic = input("bic");
|
||||
|
||||
var components = [branch_code, bank_code, account_number, check_digits, national_check_digits, id_nazione];
|
||||
|
||||
@ -190,6 +191,16 @@ if (!empty($numero_documenti)) {
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
compilaCampi(response);
|
||||
|
||||
if (response.id_nazione.iso2 === "IT"){
|
||||
bic.setRequired(false);
|
||||
var label_text = $('label[for=bic] span .text-red').text();
|
||||
$('label[for=bic] span .text-red').text(label_text.replace('*', ' '));
|
||||
} else {
|
||||
bic.setRequired(true);
|
||||
var label_text = $('label[for=bic] span .text-red').text();
|
||||
$('label[for=bic] span .text-red').text(label_text.replace(' ', '*'));
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
toastr["error"]("<?php echo tr('Formato IBAN non valido'); ?>");
|
||||
|
@ -178,7 +178,7 @@ function renderChecklistHtml($check, $level = 0)
|
||||
$result = '
|
||||
<tr>
|
||||
<td class="text-center" style="width:30px;">
|
||||
'.(!empty($check->checked_at)?'<img src="'.ROOTDIR.'/templates/interventi/custom/check.png" style="width:10px;">':'').'
|
||||
'.(!empty($check->checked_at)?'<img src="'.ROOTDIR.'/templates/interventi/check.png" style="width:10px;">':'').'
|
||||
</td>
|
||||
<td style="padding-left:'.$width.'px;">
|
||||
<span class="text"><b>'.$check->content.'</b>'.(!empty($check->value)?': '.$check->value:'').'</span>
|
||||
|
@ -575,7 +575,7 @@ switch (post('op')) {
|
||||
$barcode = post('barcode');
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
|
||||
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
|
||||
|
||||
$stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_staticontratti WHERE is_pianificabile=1' : 'SELECT id, descrizione FROM co_staticontratti';
|
||||
$stato = $database->query('SELECT id, descrizione FROM co_staticontratti WHERE descrizione = "Bozza"');
|
||||
|
||||
echo '
|
||||
<form action="" method="post" id="add-form">
|
||||
@ -43,7 +44,7 @@ echo '
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "values": "query='.$stati.'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstato", "required": 1, "value": "'.$stato.'", "values": "query='.$stati.'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
@ -55,8 +55,8 @@ switch (filter('op')) {
|
||||
$ddt->save();
|
||||
|
||||
flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [
|
||||
'_TYPE_' => $dir,
|
||||
'_NUM_' => $ddt->numero,
|
||||
'_TYPE_' => ($dir == 'entrata' ? 'uscita' : 'entrata'),
|
||||
'_NUM_' => ($dir == 'entrata' ? $ddt->numero_esterno : $ddt->numero),
|
||||
]));
|
||||
|
||||
break;
|
||||
@ -581,7 +581,7 @@ switch (filter('op')) {
|
||||
$barcode = post('barcode');
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -936,7 +936,7 @@ switch (post('op')) {
|
||||
$barcode = post('barcode');
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -77,54 +77,59 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
|
||||
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo $_SESSION['module_'.$id_module]['id_segment']; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="info" class="hidden">
|
||||
<div class="row">
|
||||
<div class="col-md-6 ">
|
||||
<div id="info-title-bozza" class="box">
|
||||
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo tr('Fatture in stato Bozza del cliente'); ?></h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
|
||||
<?php
|
||||
if ($dir == 'entrata') {
|
||||
echo '
|
||||
<div id="info" class="hidden">
|
||||
<div class="row">
|
||||
<div class="col-md-6 ">
|
||||
<div id="info-title-bozza" class="box">
|
||||
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr("Fatture in stato Bozza del cliente").'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" id="info-content-bozza"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" id="info-content-bozza"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div id="info-title-scadute" class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo tr('Fatture con termini di pagamento trascorsi'); ?></h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
<div class="col-md-6">
|
||||
<div id="info-title-scadute" class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr("Fatture con termini di pagamento trascorsi").'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-minus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" id="info-content-scadute"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" id="info-content-scadute"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- DETTAGLI CLIENTE -->
|
||||
<div class="box box-info collapsable collapsed-box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo tr('Dettagli cliente'); ?></h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- DETTAGLI CLIENTE -->
|
||||
<div class="box box-info collapsable collapsed-box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">'.tr("Dettagli cliente").'</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button type="button" class="btn btn-box-tool" data-widget="collapse">
|
||||
<i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body" id="dettagli_cliente">
|
||||
<?php echo tr('Seleziona prima un cliente'); ?>...
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body" id="dettagli_cliente">
|
||||
'.tr("Seleziona prima un cliente").'...
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
|
@ -968,7 +968,7 @@ switch (post('op')) {
|
||||
$dir = 'entrata';
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -271,7 +271,26 @@ switch (post('op')) {
|
||||
foreach ($id_records as $id) {
|
||||
$intervento = Intervento::find($id);
|
||||
try {
|
||||
$intervento->delete();
|
||||
// Eliminazione associazioni tra interventi e contratti
|
||||
$dbo->query('UPDATE co_promemoria SET idintervento = NULL WHERE idintervento='.prepare($id_record));
|
||||
|
||||
$intervento->delete();
|
||||
|
||||
// Elimino il collegamento al componente
|
||||
$dbo->query('DELETE FROM my_componenti WHERE id_intervento='.prepare($id_record));
|
||||
|
||||
// Eliminazione associazione tecnici collegati all'intervento
|
||||
$dbo->query('DELETE FROM in_interventi_tecnici WHERE idintervento='.prepare($id_record));
|
||||
|
||||
// Eliminazione associazione interventi e my_impianti
|
||||
$dbo->query('DELETE FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
|
||||
|
||||
// Elimino anche eventuali file caricati
|
||||
Uploads::deleteLinked([
|
||||
'id_module' => $id_module,
|
||||
'id_record' => $id_record,
|
||||
]);
|
||||
|
||||
} catch (InvalidArgumentException $e) {
|
||||
}
|
||||
}
|
||||
@ -280,6 +299,7 @@ switch (post('op')) {
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case 'stampa-riepilogo':
|
||||
$_SESSION['superselect']['interventi'] = $id_records;
|
||||
$id_print = Prints::getPrints()['Riepilogo interventi'];
|
||||
|
@ -613,7 +613,7 @@ switch (post('op')) {
|
||||
$barcode = post('barcode');
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -449,7 +449,7 @@ switch (post('op')) {
|
||||
$barcode = post('barcode');
|
||||
|
||||
if (!empty($barcode)) {
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'barcode' => $barcode])['id'];
|
||||
$id_articolo = $dbo->selectOne('mg_articoli', 'id', ['deleted_at' => null, 'attivo' => 1, 'barcode' => $barcode])['id'];
|
||||
}
|
||||
|
||||
if (!empty($id_articolo)) {
|
||||
|
@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
|
||||
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
|
||||
|
||||
$stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_statipreventivi WHERE is_pianificabile=1' : 'SELECT id, descrizione FROM co_statipreventivi';
|
||||
$stato = $database->query('SELECT id, descrizione FROM co_statipreventivi WHERE descrizione = "Bozza"');
|
||||
|
||||
?><form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
@ -60,7 +61,7 @@ $stati = get('pianificabile') ? 'SELECT id, descrizione FROM co_statipreventivi
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "values": "query=<?php echo $stati; ?>" ]}
|
||||
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "value": "<?php echo $stato; ?>", "values": "query=<?php echo $stati; ?>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -129,7 +129,7 @@ class Auth extends \Util\Singleton
|
||||
|
||||
if (!empty($user['enabled'])) {
|
||||
$this->identifyUser($user['id']);
|
||||
$gruppo = $database->fetchOne("SELECT zz_groups.* FROM zz_groups INNER JOIN zz_users ON zz_users.idgruppo=zz_groups.id");
|
||||
$gruppo = $database->fetchOne("SELECT zz_groups.* FROM zz_groups INNER JOIN zz_users ON zz_users.idgruppo=zz_groups.id WHERE zz_users.id=".prepare($user['id']));
|
||||
|
||||
$module = $gruppo['id_module_start'];
|
||||
$module = $this->getFirstModule($module);
|
||||
|
@ -40,19 +40,15 @@ echo '
|
||||
<tbody>';
|
||||
// Mostra le righe delle attività
|
||||
foreach ($liv2_patrimoniale as $liv2_p) {
|
||||
if ($liv2_p['totale'] > 0) {
|
||||
$totale_attivita += $liv2_p['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_p['totale'], 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv3_p['totale'] > 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
echo '
|
||||
$totale_attivita += $liv3_p['totale'];
|
||||
$totale_livello3 += $liv3_p['totale'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
@ -60,25 +56,39 @@ echo '
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti > 0) {
|
||||
$totale_attivita += $crediti_clienti;
|
||||
$totale_livello3 += $crediti_clienti;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat($crediti_clienti, 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori > 0) {
|
||||
$totale_attivita += $debiti_fornitori;
|
||||
$totale_livello3 += $debiti_fornitori;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat($debiti_fornitori, 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($totale_livello3, 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
<tr>
|
||||
@ -119,43 +129,54 @@ echo '
|
||||
$i = 0;
|
||||
// Mostra le righe delle passività
|
||||
foreach ($liv2_patrimoniale as $liv2_p) {
|
||||
if ($liv2_p['totale'] < 0) {
|
||||
$totale_passivita += $liv2_p['totale'];
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv3_p['totale'] < 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
$totale_passivita += $liv3_p['totale'];
|
||||
$totale_livello3 += $liv3_p['totale'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_p['totale']), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti') && $crediti_clienti < 0) {
|
||||
$totale_passivita += $crediti_clienti;
|
||||
$totale_livello3 += $crediti_clienti;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori') && $debiti_fornitori < 0) {
|
||||
$totale_passivita += $debiti_fornitori;
|
||||
$totale_livello3 += $debiti_fornitori;
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_p['numero'].'</b></td>
|
||||
<td><b>'.$liv2_p['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_p['totale']), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_patrimoniale as $liv3_p) {
|
||||
if ($liv2_p['id'] == $liv3_p['idpianodeiconti2'] && $liv3_p['totale'] != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td>'.$liv3_p['numero'].'</td>
|
||||
<td>'.$liv3_p['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat(-$liv3_p['totale'], 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty(get('elenco_analitico'))) {
|
||||
if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat(abs($crediti_clienti), 2).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Fornitori</td>
|
||||
<td class="text-right">'.numberFormat(abs($debiti_fornitori), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
@ -205,29 +226,39 @@ echo '
|
||||
<tbody>';
|
||||
// Mostra le righe dei costi
|
||||
foreach ($liv2_economico as $liv2_e) {
|
||||
if ($liv2_e['totale'] > 0) {
|
||||
$totale_costi += $liv2_e['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_e['totale'], 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat($liv2_e['totale_reddito'], 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
$totale_reddito_livello3 = 0;
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
if ($liv3_e['totale'] > 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
|
||||
echo '
|
||||
$totale_costi += $liv3_e['totale'];
|
||||
$totale_livello3 += $liv3_e['totale'];
|
||||
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_e['numero'].'</td>
|
||||
<td>'.$liv3_e['descrizione'].'</td>
|
||||
<td class="text-right">'.numberFormat($liv3_e['totale'], 2).'</td>
|
||||
<td class="text-right">'.numberFormat($liv3_e['totale_reddito'], 2).'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_e['totale']), 2).'</td>
|
||||
<td class="text-right">'.numberFormat(abs($liv3_e['totale_reddito']), 2).'</td>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="2"><h6><b>Totale costi</b></h6></td>
|
||||
@ -269,19 +300,17 @@ echo '
|
||||
<tbody>';
|
||||
// Mostra le righe dei ricavi
|
||||
foreach ($liv2_economico as $liv2_e) {
|
||||
if ($liv2_e['totale'] < 0) {
|
||||
$totale_ricavi += $liv2_e['totale'];
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale']), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($liv2_e['totale_reddito']), 2).'</b></td>
|
||||
</tr>';
|
||||
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
$livello3 = '';
|
||||
$totale_livello3 = 0;
|
||||
$totale_reddito_livello3 = 0;
|
||||
foreach ($liv3_economico as $liv3_e) {
|
||||
if ($liv3_e['totale'] < 0) {
|
||||
// Visualizzo solo i conti di livello 3 relativi al conto di livello 2
|
||||
if ($liv2_e['id'] == $liv3_e['idpianodeiconti2'] && $liv3_e['totale'] != 0) {
|
||||
echo '
|
||||
$totale_ricavi += $liv3_e['totale'];
|
||||
$totale_livello3 += $liv3_e['totale'];
|
||||
$totale_reddito_livello3 += $liv3_e['totale_reddito'];
|
||||
$livello3 .= '
|
||||
<tr>
|
||||
<td>'.$liv3_e['numero'].'</td>
|
||||
<td>'.$liv3_e['descrizione'].'</td>
|
||||
@ -291,6 +320,17 @@ echo '
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($totale_livello3 != 0) {
|
||||
echo '
|
||||
<tr>
|
||||
<td><b>'.$liv2_e['numero'].'</b></td>
|
||||
<td><b>'.$liv2_e['descrizione'].'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_livello3), 2).'</b></td>
|
||||
<td class="text-right"><b>'.numberFormat(abs($totale_reddito_livello3), 2).'</b></td>
|
||||
</tr>';
|
||||
echo $livello3;
|
||||
}
|
||||
}
|
||||
echo '
|
||||
<tr>
|
||||
|
@ -37,7 +37,7 @@ $liv3_economico = $dbo->fetchArray('SELECT co_pianodeiconti3.numero AS numero,
|
||||
|
||||
$utile_perdita = $dbo->fetchOne('SELECT SUM(totale) AS totale FROM `co_movimenti` WHERE idconto IN(SELECT id FROM co_pianodeiconti3 WHERE idpianodeiconti2 IN(SELECT id FROM co_pianodeiconti2 WHERE idpianodeiconti1=(SELECT id FROM co_pianodeiconti1 WHERE descrizione="Economico")))AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end))['totale'];
|
||||
|
||||
$debiti_fornitori = $dbo->fetchArray('
|
||||
$debiti_fornitori_attivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
@ -48,18 +48,19 @@ FROM
|
||||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.descrizione='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale > 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$debiti_fornitori = sum(array_column($debiti_fornitori, 'totale'));
|
||||
$debiti_fornitori_attivita = sum(array_column($debiti_fornitori_attivita, 'totale'));
|
||||
|
||||
$crediti_clienti = $dbo->fetchArray('
|
||||
$crediti_clienti_attivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
@ -74,9 +75,59 @@ WHERE
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale > 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$crediti_clienti = sum(array_column($crediti_clienti, 'totale'));
|
||||
$crediti_clienti_attivita = sum(array_column($crediti_clienti_attivita, 'totale'));
|
||||
|
||||
$debiti_fornitori_passivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
SUM(totale) AS totale,
|
||||
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
|
||||
FROM
|
||||
`co_movimenti`
|
||||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i debiti fornitori')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale < 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$debiti_fornitori_passivita = sum(array_column($debiti_fornitori_passivita, 'totale'));
|
||||
|
||||
$crediti_clienti_passivita = $dbo->fetchArray('
|
||||
SELECT
|
||||
co_pianodeiconti3.numero AS numero,
|
||||
co_pianodeiconti3.descrizione AS descrizione,
|
||||
SUM(totale) AS totale,
|
||||
co_pianodeiconti3.idpianodeiconti2 AS idpianodeiconti2
|
||||
FROM
|
||||
`co_movimenti`
|
||||
INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id
|
||||
INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id
|
||||
WHERE
|
||||
co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i crediti clienti')).'
|
||||
AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche)
|
||||
AND co_movimenti.data>='.prepare($date_start).'
|
||||
AND co_movimenti.data<='.prepare($date_end).'
|
||||
AND co_movimenti.totale < 0
|
||||
GROUP BY
|
||||
idconto
|
||||
ORDER BY
|
||||
co_pianodeiconti2.numero');
|
||||
|
||||
$crediti_clienti_passivita = sum(array_column($crediti_clienti_passivita, 'totale'));
|
||||
|
||||
$crediti_clienti = $crediti_clienti_attivita + $crediti_clienti_passivita;
|
||||
$debiti_fornitori = $debiti_fornitori_attivita + $debiti_fornitori_passivita;
|
@ -331,7 +331,7 @@ $iva_vendite_esigibile = $dbo->fetchArray('
|
||||
co_iva.codice_natura_fe AS cod_iva,
|
||||
co_iva.percentuale AS aliquota,
|
||||
co_iva.descrizione AS descrizione,
|
||||
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
|
||||
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
|
||||
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
|
||||
FROM
|
||||
co_iva
|
||||
@ -348,7 +348,7 @@ $iva_vendite = $dbo->fetchArray('
|
||||
co_iva.codice_natura_fe AS cod_iva,
|
||||
co_iva.percentuale AS aliquota,
|
||||
co_iva.descrizione AS descrizione,
|
||||
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
|
||||
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
|
||||
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
|
||||
FROM
|
||||
co_iva
|
||||
@ -400,7 +400,7 @@ $iva_vendite_nonesigibile = $dbo->fetchArray('
|
||||
co_iva.codice_natura_fe AS cod_iva,
|
||||
co_iva.percentuale AS aliquota,
|
||||
co_iva.descrizione AS descrizione,
|
||||
SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva,
|
||||
SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva,
|
||||
SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale
|
||||
FROM
|
||||
co_iva
|
||||
|
@ -28,7 +28,4 @@ echo '
|
||||
<p>'.(!empty($f_capsoc) ? tr('Cap.Soc.').': ' : '').'$f_capsoc$</p>
|
||||
<p>'.(!empty($f_telefono) ? tr('Tel').': ' : '').'$f_telefono$</p>
|
||||
</div>
|
||||
<div class="col-xs-6 text-right">
|
||||
<img src="$logo$" alt="Logo" border="0"/>
|
||||
</div>
|
||||
</div>';
|
||||
|
Loading…
x
Reference in New Issue
Block a user