Supporto notifiche ZIP
This commit is contained in:
parent
1aa787f33d
commit
8f229ae0f6
|
@ -8,6 +8,7 @@ use Plugins;
|
|||
use UnexpectedValueException;
|
||||
use Uploads;
|
||||
use Util\XML;
|
||||
use Util\Zip;
|
||||
|
||||
/**
|
||||
* Classe per la gestione della fatturazione elettronica in XML.
|
||||
|
@ -28,7 +29,23 @@ class Ricevuta
|
|||
|
||||
public function __construct($name)
|
||||
{
|
||||
$this->file = static::getImportDirectory().'/'.$name;
|
||||
$file = static::getImportDirectory().'/'.$name;
|
||||
|
||||
if (ends_with($name, '.zip')) {
|
||||
$original_file = $file;
|
||||
|
||||
$extraction_dir = static::getImportDirectory().'/tmp';
|
||||
Zip::extract($file, $extraction_dir);
|
||||
|
||||
$name = basename($name, '.zip').'.xml';
|
||||
$file = static::getImportDirectory().'/'.$name;
|
||||
copy($extraction_dir.'/'.$name, $file);
|
||||
|
||||
delete($original_file);
|
||||
delete($extraction_dir);
|
||||
}
|
||||
|
||||
$this->file = $file;
|
||||
$this->xml = XML::readFile($this->file);
|
||||
|
||||
$filename = explode('.', $name)[0];
|
||||
|
@ -91,19 +108,19 @@ class Ricevuta
|
|||
$fattura = $this->getFattura();
|
||||
|
||||
// Modifica lo stato solo se la fattura non è già stata consegnata (per evitare problemi da doppi invii)
|
||||
// In realtà per le PA potrebbe esserci lo stato NE (che può essere positiva o negativa) successivo alla RC
|
||||
//if ($fattura->codice_stato_fe == 'RC') {
|
||||
//return;
|
||||
// In realtà per le PA potrebbe esserci lo stato NE (che può essere positiva o negativa) successivo alla RC
|
||||
//if ($fattura->codice_stato_fe == 'RC') {
|
||||
//return;
|
||||
//}
|
||||
|
||||
// Processo la ricevuta e salvo data ricezione, codice e messaggio
|
||||
$descrizione = $this->xml['Destinatario']['Descrizione'];
|
||||
$data = $this->xml['DataOraRicezione'];
|
||||
|
||||
$fattura->data_stato_fe = date('Y-m-d H:i:s', strtotime($data));
|
||||
|
||||
$fattura->data_stato_fe = date('Y-m-d H:i:s', strtotime($data));
|
||||
$fattura->codice_stato_fe = $codice;
|
||||
$fattura->descrizione_ricevuta_fe = $descrizione;
|
||||
|
||||
$fattura->descrizione_ricevuta_fe = $descrizione;
|
||||
|
||||
$fattura->save();
|
||||
}
|
||||
|
||||
|
|
|
@ -26,10 +26,11 @@ class Zip
|
|||
* Estrae i contenuti di un file ZIP in una cartella temporanea.
|
||||
*
|
||||
* @param string $path
|
||||
* @param string $destination
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function extract($path)
|
||||
public static function extract($path, $destination = null)
|
||||
{
|
||||
// Lettura dell'archivio
|
||||
$zip = new ZipArchive();
|
||||
|
@ -40,7 +41,7 @@ class Zip
|
|||
}
|
||||
|
||||
// Percorso di estrazione
|
||||
$extraction_dir = DOCROOT.'/tmp';
|
||||
$extraction_dir = !empty($destination) ? $destination : DOCROOT.'/tmp';
|
||||
directory($extraction_dir);
|
||||
|
||||
// Estrazione dell'archivio
|
||||
|
|
|
@ -99,7 +99,6 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`,
|
|||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Stati dei preventivi'), 'Descrizione', 'descrizione', 2, 1, 0, 0, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Stati dei preventivi'), 'id', 'id', 1, 0, 0, 1, 0);
|
||||
|
||||
|
||||
-- Aggiunto modulo per gestire gli stati dei contratti
|
||||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Stati dei contratti', 'Stati dei contratti','stati_contratto', 'SELECT |select| FROM `co_staticontratti` WHERE 1=1 AND deleted_at IS NULL HAVING 2=2', '', 'fa fa-angle-right', '2.4.9', '2.4.9', '1', (SELECT `id` FROM `zz_modules` t WHERE t.`name` = 'Contratti'), '1', '1');
|
||||
|
||||
|
|
Loading…
Reference in New Issue