Rimosso vincolo scadenze a totale documento per casi particolari

This commit is contained in:
loviuz 2020-01-14 22:18:52 +01:00
parent 61fc3bdb08
commit 2c91114bf2
2 changed files with 65 additions and 58 deletions

View File

@ -32,62 +32,62 @@ switch (post('op')) {
$totale_pagato = 0;
$id_scadenza_non_completa = null;
if ($totale_utente == $totale_da_pagare || empty($scadenza['iddocumento'])) {
foreach (post('da_pagare') as $id => $da_pagare) {
$pagato = post('pagato')[$id];
$scadenza = post('scadenza')[$id];
$data_concordata = post('data_concordata')[$id];
foreach (post('da_pagare') as $id => $da_pagare) {
$pagato = post('pagato')[$id];
$scadenza = post('scadenza')[$id];
$data_concordata = post('data_concordata')[$id];
$pagato = floatval($pagato);
$da_pagare = floatval($da_pagare);
$pagato = floatval($pagato);
$da_pagare = floatval($da_pagare);
$totale_pagato = sum($totale_pagato, $pagato);
$totale_pagato = sum($totale_pagato, $pagato);
$id_scadenza = post('id_scadenza')[$id];
if (!empty($id_scadenza)) {
$database->update('co_scadenziario', [
'descrizione' => $descrizione,
'da_pagare' => $da_pagare,
'pagato' => $pagato,
'scadenza' => $scadenza,
'data_concordata' => $data_concordata,
], ['id' => $id_scadenza]);
$id_scadenza = post('id_scadenza')[$id];
if (!empty($id_scadenza)) {
$database->update('co_scadenziario', [
'descrizione' => $descrizione,
'da_pagare' => $da_pagare,
'pagato' => $pagato,
'scadenza' => $scadenza,
'data_concordata' => $data_concordata,
], ['id' => $id_scadenza]);
if ($da_pagare == 0) {
$database->delete('co_scadenziario', ['id' => $id]);
}
} else {
$database->insert('co_scadenziario', [
'descrizione' => $descrizione,
'tipo' => $tipo,
'iddocumento' => $iddocumento,
'da_pagare' => $da_pagare,
'pagato' => $pagato,
'scadenza' => $scadenza,
'data_concordata' => $data_concordata,
'data_emissione' => date('Y-m-d'),
]);
$id_scadenza = $database->lastInsertedID();
if ($da_pagare == 0) {
$database->delete('co_scadenziario', ['id' => $id]);
}
if ($pagato != $da_pagare) {
$id_scadenza_non_completa = $id_scadenza;
}
}
flash()->info(tr('Scadenze aggiornate!'));
if ($totale_pagato == $totale_da_pagare) {
flash()->warning(tr('Le scadenze sono state completate!'));
redirect(ROOTDIR.'/controller.php?id_module='.$id_module);
Filter::set('post', 'backto', null);
} else {
$id_record = $id_scadenza_non_completa;
$database->insert('co_scadenziario', [
'descrizione' => $descrizione,
'tipo' => $tipo,
'iddocumento' => $iddocumento,
'da_pagare' => $da_pagare,
'pagato' => $pagato,
'scadenza' => $scadenza,
'data_concordata' => $data_concordata,
'data_emissione' => date('Y-m-d'),
]);
$id_scadenza = $database->lastInsertedID();
}
if ($pagato != $da_pagare) {
$id_scadenza_non_completa = $id_scadenza;
}
}
flash()->info(tr('Scadenze aggiornate!'));
if ($totale_pagato == $totale_da_pagare) {
flash()->warning(tr('Le scadenze sono state completate!'));
redirect(ROOTDIR.'/controller.php?id_module='.$id_module);
Filter::set('post', 'backto', null);
} else {
flash()->error(tr('Il totale degli importi inseriti non corrisponde al totale da pagare!'));
$id_record = $id_scadenza_non_completa;
}
if ($totale_da_pagare != $totale_utente) {
flash()->error(tr('ATTENZIONE: il totale degli importi inseriti non corrisponde al totale da pagare!'));
}
break;

View File

@ -32,7 +32,7 @@ echo '
<div class="row">
<!-- Info scadenza -->
<div class="col-md-7">';
<div class="col-md-6">';
if (!empty($documento)) {
echo '
@ -42,22 +42,28 @@ if (!empty($documento)) {
<td>
'.Modules::link('Anagrafiche', $documento->anagrafica->id, $documento->anagrafica->ragione_sociale).'
</td>
</tr>';
echo '
</tr>
<tr>
<th>'.tr('Documento').':</th>
<td>'.$documento->tipo->descrizione.'</td>
</tr>';
echo '
</tr>
<tr>
<th>'.tr('Numero').':</th>
<td>'.$numero.'</td>
</tr>';
echo '
</tr>
<tr>
<th>'.tr('Data').':</th>
<td>'.Translator::dateToLocale($documento->data).'</td>
</tr>
<tr>
<th>'.tr('Importo').':</th>
<td>'.moneyFormat($documento->totale).'</td>
</tr>
</table>
'.Modules::link($documento->module, $record['iddocumento'], '<i class="fa fa-folder-open"></i> '.tr('Apri documento'), null, 'class="btn btn-primary"');
@ -77,7 +83,7 @@ echo '
</div>
<!-- Elenco scadenze -->
<div class="col-md-5">
<div class="col-md-6">
<table class="table table-hover table-condensed table-bordered">
<thead>
<tr>
@ -133,7 +139,7 @@ foreach ($rs as $i => $scadenza) {
</tr>';
}
$totale_da_pagare = sum(array_column($rs, 'da_pagare'));
$totale_da_pagare = $documento->totale;
$totale_pagato = sum(array_column($rs, 'pagato'));
if ($totale_da_pagare == $totale_pagato) {
@ -164,7 +170,8 @@ echo '
</div>
<div class="clearfix"></div>
<br>
<div class="alert alert-error hide" id="totale"><?php echo tr('Il totale da pagare deve essere pari a _MONEY_', [
'_MONEY_' => '<b>'.moneyFormat($totale_da_pagare).'</b>',
]); ?>.<br><?php echo tr('Differenza di _TOT_ _CURRENCY_', [