Bugfix #142
This commit is contained in:
parent
7717fb46dc
commit
ad89efafee
|
@ -242,36 +242,42 @@ switch (post('op')) {
|
||||||
|
|
||||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||||
if (abs($rimanente) > 0) {
|
if (abs($rimanente) > 0) {
|
||||||
if (abs($rs[$i]['da_pagare']) >= abs($rimanente)) {
|
if (abs($rs[$i]['pagato']) >= abs($rimanente)) {
|
||||||
$query2 = 'SELECT pagato FROM co_scadenziario WHERE id='.prepare($rs[$i]['id']);
|
$query2 = 'SELECT pagato FROM co_scadenziario WHERE id='.prepare($rs[$i]['id']);
|
||||||
$rs2 = $dbo->fetchArray($query2);
|
$rs2 = $dbo->fetchArray($query2);
|
||||||
$pagato = $rs2[0]['pagato'];
|
$pagato = $rs2[0]['pagato'];
|
||||||
($pagato < 0) ? $sign = -1 : $sign = 1;
|
|
||||||
$new_value = ((abs($pagato) - abs($rimanente)) * $sign);
|
|
||||||
|
|
||||||
// Se resta ancora un po' di pagato cambio solo l'importo...
|
($pagato < 0) ? $sign = -1 : $sign = 1;
|
||||||
if ($new_value > 0) {
|
$new_value = ((abs($pagato) - abs($rimanente)) * $sign);
|
||||||
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).' WHERE id='.prepare($rs[$i]['id']));
|
|
||||||
|
// Se resta ancora un po' di pagato cambio solo l'importo...
|
||||||
|
if ($new_value > 0) {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).' WHERE id='.prepare($rs[$i]['id']));
|
||||||
|
}
|
||||||
|
|
||||||
|
// ...se l'importo è a zero, azzero anche la data di pagamento
|
||||||
|
else {
|
||||||
|
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).", data_pagamento='0000-00-00' WHERE id=".prepare($rs[$i]['id']));
|
||||||
|
}
|
||||||
|
|
||||||
|
$rimanente = 0;
|
||||||
|
} else {
|
||||||
|
$dbo->query("UPDATE co_scadenziario SET pagato='0', data_pagamento='0000-00-00' WHERE id=".prepare($rs[$i]['id']));
|
||||||
|
$rimanente -= abs($rs[$i]['pagato']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ...se l'importo è a zero, azzero anche la data di pagamento
|
|
||||||
else {
|
|
||||||
$dbo->query('UPDATE co_scadenziario SET pagato='.prepare($new_value).", data_pagamento='0000-00-00' WHERE id=".prepare($rs[$i]['id']));
|
|
||||||
}
|
|
||||||
|
|
||||||
$rimanente = 0;
|
|
||||||
} else {
|
|
||||||
$dbo->query("UPDATE co_scadenziario SET pagato='0' WHERE id=".prepare($rs[$i]['id']));
|
|
||||||
$rimanente -= abs($rs[$i]['da_pagare']);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Eliminazione prima nota
|
// Eliminazione prima nota
|
||||||
$dbo->query('DELETE FROM co_movimenti WHERE idmastrino='.prepare($idmastrino).' AND primanota=1');
|
$dbo->query('DELETE FROM co_movimenti WHERE idmastrino='.prepare($idmastrino).' AND primanota=1');
|
||||||
|
|
||||||
// Aggiorno lo stato della fattura a "Emessa"
|
// Aggiorno lo stato della fattura a "Emessa" o "Parzialmente pagato"
|
||||||
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Emessa') WHERE id=".prepare($iddocumento));
|
$rs_pagamenti = $dbo->fetchArray("SELECT SUM(pagato) AS pagato FROM co_scadenziario WHERE iddocumento='".$iddocumento."'");
|
||||||
|
if($rs_pagamenti[0]['pagato']>0){
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Parzialmente pagato') WHERE id=".prepare($iddocumento));
|
||||||
|
}else{
|
||||||
|
$dbo->query("UPDATE co_documenti SET idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione='Emessa') WHERE id=".prepare($iddocumento));
|
||||||
|
}
|
||||||
|
|
||||||
// Aggiorno lo stato dei preventivi collegati alla fattura se ce ne sono
|
// Aggiorno lo stato dei preventivi collegati alla fattura se ce ne sono
|
||||||
$query = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND NOT idpreventivo=0 AND idpreventivo IS NOT NULL';
|
$query = 'SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND NOT idpreventivo=0 AND idpreventivo IS NOT NULL';
|
||||||
|
|
Loading…
Reference in New Issue