2018-07-09 12:57:55 +02:00
< ? php
include_once __DIR__ . '/../../core.php' ;
2018-09-18 15:57:55 +02:00
include_once __DIR__ . '/init.php' ;
2018-07-09 12:57:55 +02:00
2018-09-21 15:50:42 +02:00
if ( ! empty ( $fattura_pa )) {
2018-07-09 15:01:11 +02:00
$disabled = false ;
2018-09-21 15:50:42 +02:00
$generated = file_exists ( $upload_dir . '/' . $fattura_pa -> getFilename ());
2018-11-09 07:02:59 +01:00
2018-11-08 12:31:44 +01:00
//Ulteriore controllo sulla data generazione file
2018-11-09 07:02:59 +01:00
$rs_generated = $dbo -> fetchArray ( " SELECT xml_generated_at FROM co_documenti WHERE id= " . prepare ( $id_record ));
if ( empty ( $rs_generated [ 0 ][ 'xml_generated_at' ])){
2018-11-08 12:31:44 +01:00
$generated = false ;
}
2018-11-09 07:02:59 +01:00
2018-09-18 15:57:55 +02:00
} else {
2018-09-24 11:24:48 +02:00
echo '
< div class = " alert alert-warning " >
< i class = " fa fa-warning " ></ i >
< b > '.tr(' Attenzione ! ').' </ b > '.tr(' Per generare la fattura elettronica è necessario che sia in stato " Emessa " ').' .
</ div > ' ;
2018-07-09 15:01:11 +02:00
$disabled = true ;
2018-09-18 15:57:55 +02:00
$generated = false ;
2018-07-09 15:01:11 +02:00
}
// Campi obbligatori per l'anagrafica Azienda
2018-09-24 18:10:16 +02:00
$azienda = Plugins\ExportPA\FatturaElettronica :: getAzienda ();
2018-07-09 15:01:11 +02:00
$fields = [
'piva' => 'Partita IVA' ,
// 'codice_fiscale' => 'Codice Fiscale',
'citta' => 'Città' ,
'indirizzo' => 'Indirizzo' ,
'cap' => 'C.A.P.' ,
2018-09-06 17:10:23 +02:00
'nazione' => 'Nazione' ,
2018-07-09 15:01:11 +02:00
];
$missing = [];
foreach ( $fields as $key => $name ) {
if ( empty ( $azienda [ $key ])) {
$missing [] = $name ;
}
}
if ( ! empty ( $missing )) {
echo '
< div class = " alert alert-warning " >
< p >< i class = " fa fa-warning " ></ i > '.tr("Prima di procedere alla generazione della fattura elettronica completa i seguenti campi dell' anagrafica Azienda : _FIELDS_ " , [
'_FIELDS_' => '<b>' . implode ( ', ' , $missing ) . '</b>' ,
]) . ' </ p >
< p > '.Modules::link(' Anagrafiche ', $azienda[' idanagrafica '], tr(' Vai alla scheda anagrafica '), null).' </ p >
</ div > ' ;
}
// Campi obbligatori per l'anagrafica Cliente
2018-09-06 17:10:23 +02:00
$cliente = $dbo -> fetchOne ( 'SELECT *, (SELECT `iso2` FROM `an_nazioni` WHERE `an_nazioni`.`id` = `an_anagrafiche`.`id_nazione`) AS nazione FROM `an_anagrafiche` WHERE `idanagrafica` = ' . prepare ( $record [ 'idanagrafica' ]));
2018-07-09 15:01:11 +02:00
$fields = [
// 'piva' => 'Partita IVA',
// 'codice_fiscale' => 'Codice Fiscale',
'citta' => 'Città' ,
'indirizzo' => 'Indirizzo' ,
'cap' => 'C.A.P.' ,
2018-09-06 17:10:23 +02:00
'nazione' => 'Nazione' ,
2018-07-09 15:01:11 +02:00
];
2018-11-12 16:00:57 +01:00
//se privato/pa o azienda
if ( $cliente [ 'tipo' ] == 'Privato' or $cliente [ 'tipo' ] == 'Ente pubblico' ){
//se privato/pa chiedo obbligatoriamente codice fiscale
$fields [ 'codice_fiscale' ] = 'Codice Fiscale' ;
//se pa chiedo codice unico ufficio
( $cliente [ 'tipo' ] == 'Ente pubblico' and empty ( $cliente [ 'codice_destinatario' ])) ? $fields [ 'codice_destinatario' ] = 'Codice unico ufficio' : '' ;
2018-11-12 13:27:09 +01:00
} else {
2018-11-12 17:37:05 +01:00
//se azienda chiedo partita iva
2018-11-12 16:00:57 +01:00
$fields [ 'piva' ] = 'Partita IVA' ;
2018-11-12 17:37:05 +01:00
//se italiana e non ho impostato ne il codice destinatario ne indirizzo PEC chiedo la compilazione di almeno uno dei due
( empty ( $cliente [ 'codice_destinatario' ]) and empty ( $cliente [ 'pec' ]) and intval ( $cliente [ 'nazione' ] == 'IT' ) ) ? $fields [ 'codice_destinatario' ] = 'Codice destinatario o indirizzo PEC' : '' ;
2018-11-12 13:27:09 +01:00
}
2018-11-12 13:14:41 +01:00
2018-07-09 15:01:11 +02:00
$missing = [];
foreach ( $fields as $key => $name ) {
2018-07-10 17:25:28 +02:00
if ( empty ( $cliente [ $key ])) {
2018-07-09 15:01:11 +02:00
$missing [] = $name ;
}
}
if ( ! empty ( $missing )) {
echo '
< div class = " alert alert-warning " >
< p >< i class = " fa fa-warning " ></ i > '.tr("Prima di procedere alla generazione della fattura elettronica completa i seguenti campi dell' anagrafica Cliente : _FIELDS_ " , [
'_FIELDS_' => '<b>' . implode ( ', ' , $missing ) . '</b>' ,
]) . ' </ p >
2018-07-18 15:20:10 +02:00
< p > '.Modules::link(' Anagrafiche ', $record[' idanagrafica '], tr(' Vai alla scheda anagrafica '), null).' </ p >
2018-07-09 15:01:11 +02:00
</ div > ' ;
}
2018-10-13 10:15:54 +02:00
echo '
< p > '.tr("Per effettuare la generazione dell' XML della fattura elettronica clicca sul pulsante _BTN_ " , [
2018-10-25 16:57:39 +02:00
'_BTN_' => '<b>Genera</b>' ,
2018-11-09 13:15:19 +01:00
]) . '. ' . tr ( 'Successivamente sarà possibile procedere alla visualizzazione e al download della fattura generata attraverso i pulsanti dedicati' ) . ' .</ p >
< p > '.tr("Tutti gli allegati inseriti all' interno della categoria \ " Fattura Elettronica \" saranno inclusi come allegati dell'XML " ) . ' .</ p >
< br > ' ;
2018-07-09 15:11:19 +02:00
2018-07-09 12:57:55 +02:00
echo '
2018-10-13 10:15:54 +02:00
< div class = " text-center " >
2018-11-08 13:11:50 +01:00
< form action = " " method = " post " role = " form " style = " display:inline-block " id = " form-xml " >
2018-10-13 10:15:54 +02:00
< input type = " hidden " name = " id_plugin " value = " '. $id_plugin .' " >
< input type = " hidden " name = " id_record " value = " '. $id_record .' " >
< input type = " hidden " name = " backto " value = " record-edit " >
< input type = " hidden " name = " op " value = " generate " >
2018-07-09 12:57:55 +02:00
2018-11-08 13:11:50 +01:00
< button id = " genera " type = " submit " class = " btn btn-primary btn-lg '.( $disabled ? 'disabled' : '').' " '.($disabled ? ' disabled ' : null).' >
2018-10-13 10:15:54 +02:00
< i class = " fa fa-file " ></ i > '.tr(' Genera ').'
</ button >
</ form > ' ;
echo '
< i class = " fa fa-arrow-right fa-fw text-muted " ></ i >
< a href = " '.ROOTDIR.'/editor.php?id_module='. $id_module .'&id_plugin='. $id_plugin .'&id_record='. $id_record .'&op=download " class = " btn btn-success btn-lg '.( $generated ? '' : 'disabled').' " target = " _blank " '.($generated ? ' ' : ' disabled ').' >
< i class = " fa fa-download " ></ i > '.tr(' Scarica ').'
</ a >
< i class = " fa fa-arrow-right fa-fw text-muted " ></ i > ' ;
echo '
< a href = " '.ROOTDIR.'/plugins/exportPA/view.php?id_record='. $id_record .' " class = " btn btn-info btn-lg '.( $generated ? '' : 'disabled').' " target = " _blank " '.($generated ? ' ' : ' disabled ').' >
< i class = " fa fa-eye " ></ i > '.tr(' Visualizza ').'
</ a >
2018-09-18 15:57:55 +02:00
2018-07-09 12:57:55 +02:00
</ div > ' ;
2018-11-08 13:11:50 +01:00
if ( $generated ){
echo '
< script >
$ ( " #genera " ) . click ( function ( event ){
event . preventDefault ();
swal ({
2018-11-16 01:01:47 +01:00
title : " Sei sicuro di rigenerare la fattura? " ,
text : " Attenzione: sarà generato un nuovo progressivo invio. " ,
2018-11-08 13:11:50 +01:00
type : " warning " ,
showCancelButton : true ,
confirmButtonColor : " #30d64b " ,
cancelButtonColor : " #d33 " ,
confirmButtonText : " Genera "
}) . then (( result ) => {
if ( result ) {
$ ( " #form-xml " ) . submit ();
}
});
});
</ script > ' ;
}