1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-02 08:56:48 +01:00

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; $totale_pagato = 0;
$id_scadenza_non_completa = null; $id_scadenza_non_completa = null;
if ($totale_utente == $totale_da_pagare || empty($scadenza['iddocumento'])) { foreach (post('da_pagare') as $id => $da_pagare) {
foreach (post('da_pagare') as $id => $da_pagare) { $pagato = post('pagato')[$id];
$pagato = post('pagato')[$id]; $scadenza = post('scadenza')[$id];
$scadenza = post('scadenza')[$id]; $data_concordata = post('data_concordata')[$id];
$data_concordata = post('data_concordata')[$id];
$pagato = floatval($pagato); $pagato = floatval($pagato);
$da_pagare = floatval($da_pagare); $da_pagare = floatval($da_pagare);
$totale_pagato = sum($totale_pagato, $pagato); $totale_pagato = sum($totale_pagato, $pagato);
$id_scadenza = post('id_scadenza')[$id]; $id_scadenza = post('id_scadenza')[$id];
if (!empty($id_scadenza)) { if (!empty($id_scadenza)) {
$database->update('co_scadenziario', [ $database->update('co_scadenziario', [
'descrizione' => $descrizione, 'descrizione' => $descrizione,
'da_pagare' => $da_pagare, 'da_pagare' => $da_pagare,
'pagato' => $pagato, 'pagato' => $pagato,
'scadenza' => $scadenza, 'scadenza' => $scadenza,
'data_concordata' => $data_concordata, 'data_concordata' => $data_concordata,
], ['id' => $id_scadenza]); ], ['id' => $id_scadenza]);
if ($da_pagare == 0) { if ($da_pagare == 0) {
$database->delete('co_scadenziario', ['id' => $id]); $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 ($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 { } 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 { } 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; break;

View File

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