2017-08-04 16:28:16 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
echo '
< form action = " " method = " post " id = " edit-form " >
< input type = " hidden " name = " op " value = " update " >
< input type = " hidden " name = " backto " value = " record-edit " >
< input type = " hidden " name = " id_record " value = " '. $id_record .' " >
2019-07-25 18:05:47 +02:00
< input type = " hidden " name = " tipo " value = " '. $record['tipo'] .' " >
< input type = " hidden " name = " descrizione " value = " '. $record['descrizione'] .' " >
< input type = " hidden " name = " iddocumento " value = " '. $record['iddocumento'] .' " >
2017-08-04 16:28:16 +02:00
< div class = " panel panel-primary " >
< div class = " panel-heading " >
2019-07-25 18:05:47 +02:00
< h3 class = " panel-title " >
'.tr(' Dettagli scadenza ').'
< button type = " button " class = " btn btn-xs btn-info pull-right " id = " add-scadenza " >
< i class = " fa fa-plus " ></ i > '.tr(' Aggiungi scadenza ').'
</ button >
</ h3 >
2017-08-04 16:28:16 +02:00
</ div >
< div class = " panel-body " >
< div class = " row " >
<!-- Info scadenza -->
< div class = " col-md-7 " >
< table class = " table table-striped table-hover table-condensed table-bordered " > ' ;
2018-07-18 15:20:10 +02:00
$rs = $dbo -> fetchArray ( 'SELECT * FROM (co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica WHERE co_documenti.id=' . prepare ( $record [ 'iddocumento' ]));
2019-07-25 12:54:28 +02:00
$dir = $rs [ 0 ][ 'dir' ];
2017-08-04 16:28:16 +02:00
$numero = ( ! empty ( $rs [ 0 ][ 'numero_esterno' ])) ? $rs [ 0 ][ 'numero_esterno' ] : $rs [ 0 ][ 'numero' ];
2019-07-25 12:54:28 +02:00
$modulo_fattura = $dir == 'entrata' ? 'Fatture di vendita' : 'Fatture di acquisto' ;
2017-08-04 16:28:16 +02:00
2019-07-25 12:54:28 +02:00
if ( ! empty ( $rs )) {
2017-08-04 16:28:16 +02:00
echo "
< tr >
2019-07-25 12:54:28 +02:00
< th width = '120' > " .( $dir == 'entrata' ? tr('Cliente') : tr('Fornitore')).':</th>
2017-08-04 16:28:16 +02:00
< td >
'.Modules::link(' Anagrafiche ', $rs[0][' idanagrafica '], $rs[0][' ragione_sociale ']).'
</ td >
</ tr > ' ;
2019-04-19 17:29:54 +02:00
echo '
< tr >
< th > '.tr(' Documento ').' :</ th >
< td > '.$rs[0][' descrizione '].' </ td >
</ tr > ' ;
echo '
< tr >
< th > '.tr(' Numero ').' :</ th >
< td > '.$numero.' </ td >
</ tr > ' ;
echo '
< tr >
< th > '.tr(' Data ').' :</ th >
< td > '.Translator::dateToLocale($rs[0][' data ']).' </ td >
</ tr > ' ;
2019-05-04 00:32:28 +02:00
} else {
2019-04-19 17:29:54 +02:00
$rs = $dbo -> fetchArray ( " SELECT * FROM co_scadenziario WHERE id=' " . $id_record . " ' " );
2019-05-04 00:32:28 +02:00
echo "
2019-04-19 17:29:54 +02:00
< tr >
< th width = '120' > " .tr('Descrizione').':</th>
< td >< input type = " text " class = " form-control " name = " descrizione " value = " '. $rs[0] ['descrizione'].' " ></ td >
</ tr > ' ;
}
2017-08-04 16:28:16 +02:00
echo '
</ table >
2019-07-25 12:54:28 +02:00
'.Modules::link($modulo_fattura, $record[' iddocumento '], ' < i class = " fa fa-folder-open " ></ i > '.tr(' Apri documento '), null, ' class = " btn btn-primary " ').'
2017-08-04 16:28:16 +02:00
</ div >
<!-- Elenco scadenze -->
< div class = " col-md-5 " >
< table class = " table table-hover table-condensed table-bordered " >
2019-07-25 18:05:47 +02:00
< thead >
< tr >
< th width = " 150 " > '.tr(' Data ').' </ th >
< th width = " 150 " > '.tr(' Importo ').' </ th >
< th width = " 150 " > '.tr(' Pagato ').' </ th >
< th width = " 150 " > '.tr(' Data concordata ').' </ th >
</ tr >
</ thead >
< tbody id = " scadenze " > ' ;
2017-08-04 16:28:16 +02:00
$totale_da_pagare = 0 ;
$totale_pagato = 0 ;
2019-04-19 17:29:54 +02:00
//Scelgo la query in base al segmento
2019-05-04 00:32:28 +02:00
if ( $record [ 'iddocumento' ] != 0 ) {
$rs = $dbo -> fetchArray ( 'SELECT * FROM co_scadenziario WHERE iddocumento = (SELECT iddocumento FROM co_scadenziario s WHERE id=' . prepare ( $id_record ) . ') ORDER BY scadenza ASC' );
} else {
$rs = $dbo -> fetchArray ( 'SELECT * FROM co_scadenziario WHERE id=' . prepare ( $id_record ) . ' ORDER BY scadenza ASC' );
2019-04-19 17:29:54 +02:00
}
2017-08-04 16:28:16 +02:00
for ( $i = 0 ; $i < count ( $rs ); ++ $i ) {
if ( $rs [ $i ][ 'da_pagare' ] == $rs [ $i ][ 'pagato' ]) {
$class = 'success' ;
} elseif ( abs ( $rs [ $i ][ 'pagato' ]) == 0 ) {
$class = 'danger' ;
} elseif ( abs ( $rs [ $i ][ 'pagato' ]) <= abs ( $rs [ $i ][ 'da_pagare' ])) {
$class = 'warning' ;
} else {
$class = 'danger' ;
}
echo '
< tr class = " '. $class .' " >
< td align = " center " >
2019-07-25 18:05:47 +02:00
{[ " type " : " date " , " name " : " scadenza['. $rs[$i] ['id'].'] " , " value " : " '. $rs[$i] ['scadenza'].' " ]}
2017-08-04 16:28:16 +02:00
</ td >
< td align = " right " >
2019-07-25 18:05:47 +02:00
{[ " type " : " number " , " name " : " da_pagare['. $rs[$i] ['id'].'] " , " decimals " : 2 , " value " : " '.Translator::numberToLocale( $rs[$i] ['da_pagare'], 2).' " , " onchange " : " controlloTotale() " ]}
2017-08-04 16:28:16 +02:00
</ td >
< td align = " right " >
2019-05-02 10:03:57 +02:00
{[ " type " : " number " , " name " : " pagato['. $rs[$i] ['id'].'] " , " decimals " : 2 , " value " : " '.Translator::numberToLocale( $rs[$i] ['pagato']).' " ]}
2017-08-04 16:28:16 +02:00
</ td >
2019-07-25 18:05:47 +02:00
< td align = " center " >
{[ " type " : " date " , " name " : " data_concordata['. $rs[$i] ['id'].'] " , " value " : " '. $rs[$i] ['data_concordata'].' " ]}
</ td >
2017-08-04 16:28:16 +02:00
</ tr > ' ;
}
2019-07-25 18:05:47 +02:00
2018-10-19 16:25:32 +02:00
$totale_da_pagare = sum ( array_column ( $rs , 'da_pagare' ));
$totale_pagato = sum ( array_column ( $rs , 'pagato' ));
2017-08-04 16:28:16 +02:00
2019-02-21 12:37:06 +01:00
if ( $totale_da_pagare == $totale_pagato ) {
echo '
< script >
$ ( document ) . ready ( function (){
$ ( " #pulsanti " ) . children () . find ( " a:nth-child(2) " ) . attr ( " disabled " , true ) . addClass ( " disabled " );
})
</ script > ' ;
}
2017-08-04 16:28:16 +02:00
echo '
2019-07-25 18:05:47 +02:00
</ tbody >
< tfoot >
< tr >
< td align = " right " >< b > '.tr(' Totale ').' </ b ></ td >
< td align = " right " id = " totale_utente " > '.Translator::numberToLocale($totale_da_pagare).' </ td >
< td align = " right " ></ td >
</ tr >
</ tfoot > ' ;
2017-08-04 16:28:16 +02:00
?>
</ table >
2019-04-11 16:04:08 +02:00
< div class = 'pull-right' >
2019-07-31 18:22:35 +02:00
< a onclick = " launch_modal( 'Registra contabile pagamento', '<?php echo $rootdir ; ?>/add.php?id_module=<?php echo Modules::get('Prima nota')['id']; ?>&id_scadenze=<?php echo $id_record ; ?>'); " class = " btn btn-sm btn-primary " >< i class = " fa fa-euro " ></ i > < ? php echo tr ( 'Registra contabile pagamento...' ); ?> </a>
2019-04-11 16:04:08 +02:00
</ div >
2019-07-26 17:40:52 +02:00
2018-10-19 16:19:49 +02:00
< div class = " clearfix " ></ div >
2017-08-04 16:28:16 +02:00
2019-04-13 02:56:39 +02:00
< 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>' ,
2019-04-13 00:09:48 +02:00
]); ?> .<br><?php echo tr('Differenza di _TOT_ _CURRENCY_', [
'_TOT_' => '<span id="diff"></span>' ,
'_CURRENCY_' => currency (),
]); ?> .
2018-10-19 16:19:49 +02:00
</ div >
2017-08-04 16:28:16 +02:00
2019-05-02 10:03:57 +02:00
< input type = " hidden " id = " totale_da_pagare " value = " <?php echo Translator::numberToLocale( $totale_da_pagare , 2); ?> " >
2017-08-04 16:28:16 +02:00
</ div >
</ div >
</ div >
</ div >
</ form >
2019-02-21 12:24:57 +01:00
{( " name " : " log_email " , " id_module " : " $id_module $ " , " id_record " : " $id_record $ " )}
2017-08-04 16:28:16 +02:00
2019-04-19 17:29:54 +02:00
< ? php
2019-05-04 00:32:28 +02:00
if ( $records [ 0 ][ 'iddocumento' ] == 0 ) {
?>
2019-04-19 17:29:54 +02:00
< a class = " btn btn-danger ask " data - backto = " record-list " >
< i class = " fa fa-trash " ></ i > < ? php echo tr ( 'Elimina' ); ?>
</ a >
< ? php
2019-05-04 00:32:28 +02:00
}
2019-07-25 18:05:47 +02:00
echo '
< table class = " hide " >
< tbody id = " scadenza-template " >
< tr class = " danger " >
< input type = " hidden " name = " nuova[-id-] " value = " 1 " >
< td align = " center " >
{[ " type " : " date " , " name " : " scadenza[-id-] " ]}
</ td >
< td align = " right " >
{[ " type " : " number " , " name " : " da_pagare[-id-] " , " decimals " : 2 , " onchange " : " controlloTotale() " ]}
</ td >
< td align = " right " >
{[ " type " : " number " , " name " : " pagato[-id-] " , " decimals " : 2 ]}
</ td >
< td align = " center " >
{[ " type " : " date " , " name " : " data_concordata[-id-] " ]}
</ td >
</ tr >
</ tbody >
</ table >
< script >
var i = '.$i.' ;
$ ( document ) . on ( " click " , " #add-scadenza " , function (){
2019-07-26 17:40:52 +02:00
cleanup_inputs ();
i ++ ;
2019-07-25 18:05:47 +02:00
var text = replaceAll ( $ ( " #scadenza-template " ) . html (), " -id- " , " " + i );
$ ( " #scadenze " ) . append ( text );
2019-07-26 17:40:52 +02:00
restart_inputs ();
2019-07-25 18:05:47 +02:00
});
</ script > ' ;
2019-04-19 17:29:54 +02:00
?>
2017-08-04 16:28:16 +02:00
< script >
2019-05-02 10:03:57 +02:00
globals . cifre_decimali = 2 ;
2019-07-26 17:40:52 +02:00
2019-05-24 20:27:43 +02:00
$ ( document ) . ready ( function (){
2019-07-25 18:05:47 +02:00
controlloTotale ();
2019-07-26 17:40:52 +02:00
2019-04-19 17:29:54 +02:00
< ? php
2019-05-24 20:27:43 +02:00
if ( $dir == 'uscita' ) {
echo '
$ ( " #email-button " ) . remove (); ' ;
}
2019-04-19 17:29:54 +02:00
?>
2017-08-04 16:28:16 +02:00
});
2019-07-25 18:05:47 +02:00
function controlloTotale () {
totale_da_pagare = $ ( '#totale_da_pagare' ) . val () . toEnglish ();
totale_utente = 0 ;
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
$ ( 'input[name*=da_pagare]' ) . each ( function () {
totale_utente += $ ( this ) . val () . toEnglish ();
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
});
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
if ( isNaN ( totale_utente )) {
totale_utente = 0 ;
}
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
totale_utente = Math . round ( totale_utente * 100 ) / 100 ;
totale_da_pagare = Math . round ( totale_da_pagare * 100 ) / 100 ;
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
diff = Math . abs ( totale_da_pagare ) - Math . abs ( totale_utente );
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
if ( diff == 0 ) {
$ ( '#btn-saves' ) . removeClass ( 'hide' );
$ ( '#totale' ) . addClass ( 'hide' );
} else {
$ ( '#btn-saves' ) . addClass ( 'hide' );
$ ( '#totale' ) . removeClass ( 'hide' );
}
2017-08-04 16:28:16 +02:00
2019-07-25 18:05:47 +02:00
$ ( '#diff' ) . html ( diff . toLocale ());
$ ( '#totale_utente' ) . html ( totale_utente . toLocale ());
}
2017-08-04 16:28:16 +02:00
</ script >