From fd3571a04e5edc38e746cec89095d20a6738d7c1 Mon Sep 17 00:00:00 2001 From: Luca Date: Mon, 10 May 2021 11:19:15 +0200 Subject: [PATCH 1/3] Allineamento colore icona EC02 --- update/2_4_23.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update/2_4_23.sql b/update/2_4_23.sql index dadd1dbab..57c4d1b9d 100644 --- a/update/2_4_23.sql +++ b/update/2_4_23.sql @@ -187,4 +187,7 @@ UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `do_documenti`\r\nINNE -- Messaggio Verifica numero intervento INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES -(NULL, 'Verifica numero intervento', '1', 'boolean', 1, 'Attività', 1, 'Visualizza il messaggio che verifica la continuità dei numeri per le attività'); \ No newline at end of file +(NULL, 'Verifica numero intervento', '1', 'boolean', 1, 'Attività', 1, 'Visualizza il messaggio che verifica la continuità dei numeri per le attività'); + +-- Allineamento colore icona EC02 +UPDATE `fe_stati_documento` SET `icon` = 'fa fa-times text-danger' WHERE `fe_stati_documento`.`codice` = 'EC02'; \ No newline at end of file From 08c3e46cadc10670af942e7cb07b59a4857cfcca Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Mon, 10 May 2021 17:48:00 +0200 Subject: [PATCH 2/3] Miglioramento documentazione hook e task per Fatture elettroniche --- plugins/exportFE/src/Interaction.php | 2 +- plugins/exportFE/src/InvoiceHook.php | 3 + plugins/importFE/src/Interaction.php | 2 +- plugins/importFE/src/InvoiceHook.php | 3 + plugins/receiptFE/src/Interaction.php | 2 +- plugins/receiptFE/src/MissingReceiptTask.php | 62 +++++++++++++++++++ .../receiptFE/src/NotificheRicevuteHook.php | 5 ++ plugins/receiptFE/src/ReceiptHook.php | 5 ++ plugins/receiptFE/src/ReceiptTask.php | 5 ++ plugins/receiptFE/src/Ricevuta.php | 2 +- 10 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 plugins/receiptFE/src/MissingReceiptTask.php diff --git a/plugins/exportFE/src/Interaction.php b/plugins/exportFE/src/Interaction.php index 8c5b0ca16..4adc6583f 100755 --- a/plugins/exportFE/src/Interaction.php +++ b/plugins/exportFE/src/Interaction.php @@ -24,7 +24,7 @@ use Modules\Fatture\Fattura; use UnexpectedValueException; /** - * Classe per l'interazione con API esterne. + * Classe per la gestione delle API esterne per l'invio delle Fatture Elettroniche e la ricerca di ricevute collegate. * * @since 2.4.3 */ diff --git a/plugins/exportFE/src/InvoiceHook.php b/plugins/exportFE/src/InvoiceHook.php index 2e963461b..482d756c9 100755 --- a/plugins/exportFE/src/InvoiceHook.php +++ b/plugins/exportFE/src/InvoiceHook.php @@ -22,6 +22,9 @@ namespace Plugins\ExportFE; use Hooks\Manager; use Modules\Fatture\Fattura; +/** + * Hook dedicato all'invio automatico delle Fatture Elettroniche inserite in coda di invio tramite azioni di gruppo. + */ class InvoiceHook extends Manager { public function isSingleton() diff --git a/plugins/importFE/src/Interaction.php b/plugins/importFE/src/Interaction.php index ff89460ce..90019cd28 100755 --- a/plugins/importFE/src/Interaction.php +++ b/plugins/importFE/src/Interaction.php @@ -23,7 +23,7 @@ use API\Services; use Models\Cache; /** - * Classe per l'interazione con API esterne. + * Classe per la gestione delle API esterne per l'importazione delle Fatture Elettroniche di acquisto. * * @since 2.4.3 */ diff --git a/plugins/importFE/src/InvoiceHook.php b/plugins/importFE/src/InvoiceHook.php index 26bca8da1..80731e9fa 100755 --- a/plugins/importFE/src/InvoiceHook.php +++ b/plugins/importFE/src/InvoiceHook.php @@ -22,6 +22,9 @@ namespace Plugins\ImportFE; use Hooks\CachedManager; use Modules; +/** + * Hook dedicato all'importazione automatica delle Fatture Elettroniche di acquisto rilevate dal sistema automatico di gestione. + */ class InvoiceHook extends CachedManager { public function getCacheName() diff --git a/plugins/receiptFE/src/Interaction.php b/plugins/receiptFE/src/Interaction.php index 72f19b299..35edd3a15 100755 --- a/plugins/receiptFE/src/Interaction.php +++ b/plugins/receiptFE/src/Interaction.php @@ -23,7 +23,7 @@ use API\Services; use Models\Cache; /** - * Classe per l'interazione con API esterne. + * Classe per la gestione delle API esterne per la gestione e l'importazione delle ricevute per le Fatture Elettroniche. * * @since 2.4.3 */ diff --git a/plugins/receiptFE/src/MissingReceiptTask.php b/plugins/receiptFE/src/MissingReceiptTask.php new file mode 100644 index 000000000..12d7b4766 --- /dev/null +++ b/plugins/receiptFE/src/MissingReceiptTask.php @@ -0,0 +1,62 @@ +. + */ + +namespace Plugins\ReceiptFE; + +use Carbon\Carbon; +use Modules\Fatture\Fattura; +use Plugins\ExportFE\Interaction; +use Tasks\Manager; + +/** + * Task dedicata all'importazione forzata delle ricevute per Fatture in stato di Attesa da più di 7 giorni. + * Questa funzione è necessaria per evitare eventuali problemi causati da importazioni segnato come eseguite ma non completate con successo, che si verificano in rari casi durante l'interazione con il sistema di gestione Fatture Elettroniche. + * + * @see ReceiptTask Gestione ricevute rilevate correttamente. + */ +class MissingReceiptTask extends Manager +{ + public function execute() + { + if (!Interaction::isEnabled()) { + return; + } + + // Controllo se ci sono fatture in elaborazione da più di 7 giorni per le quali non ho ancora una ricevuta + $data_limite = (new Carbon())->subDays(7); + $in_attesa = Fattura::vendita() + ->where('codice_stato_fe', 'WAIT') + ->where('data_stato_fe', '>=', $_SESSION['period_start']) + ->where('data_stato_fe', '<', $data_limite) + ->orderBy('data_stato_fe') + ->get(); + + // Ricerca delle ricevute dedicate + foreach ($in_attesa as $fattura){ + $ricevute = Interaction::getInvoiceRecepits($fattura->id); + + // Importazione di tutte le ricevute trovate + foreach ($ricevute as $ricevuta){ + $name = $ricevuta['name']; + + Ricevuta::process($name); + } + } + } +} diff --git a/plugins/receiptFE/src/NotificheRicevuteHook.php b/plugins/receiptFE/src/NotificheRicevuteHook.php index b87eb7bf4..19b809461 100644 --- a/plugins/receiptFE/src/NotificheRicevuteHook.php +++ b/plugins/receiptFE/src/NotificheRicevuteHook.php @@ -25,6 +25,11 @@ use Modules; use Modules\Fatture\Fattura; use Plugins; +/** + * Hook specializzato per il conteggio e la segnalazione di Fatture senza ricevute oppure con ricevuta in stato di errore. + * + * @see MissingReceiptTask,ReceiptTask,ReceiptHook Per procedura automatica di importazione + */ class NotificheRicevuteHook extends Manager { public function response() diff --git a/plugins/receiptFE/src/ReceiptHook.php b/plugins/receiptFE/src/ReceiptHook.php index e16fcb686..3ba0de8b2 100755 --- a/plugins/receiptFE/src/ReceiptHook.php +++ b/plugins/receiptFE/src/ReceiptHook.php @@ -23,6 +23,11 @@ use Hooks\Manager; use Models\Cache; use Modules; +/** + * Hook per l'importazione e il conteggio delle ricevute rilevate come da importare. + * + * @see MissingReceiptTask,ReceiptTask Per procedura più strutturata di importazione + */ class ReceiptHook extends Manager { public function isSingleton() diff --git a/plugins/receiptFE/src/ReceiptTask.php b/plugins/receiptFE/src/ReceiptTask.php index 35b188814..61df80651 100644 --- a/plugins/receiptFE/src/ReceiptTask.php +++ b/plugins/receiptFE/src/ReceiptTask.php @@ -21,6 +21,11 @@ namespace Plugins\ReceiptFE; use Tasks\Manager; +/** + * Task dedicata all'importazione di tutte le ricevute individuate dal sistema automatico di gestione Fatture Elettroniche. + * + * @see MissingReceiptTask Gestione ricevute non individuate per malfunzionamenti. + */ class ReceiptTask extends Manager { public function execute() diff --git a/plugins/receiptFE/src/Ricevuta.php b/plugins/receiptFE/src/Ricevuta.php index 4754a537f..970711804 100755 --- a/plugins/receiptFE/src/Ricevuta.php +++ b/plugins/receiptFE/src/Ricevuta.php @@ -28,7 +28,7 @@ use Util\XML; use Util\Zip; /** - * Classe per la gestione della fatturazione elettronica in XML. + * Classe per la gestione delle ricevute collegate alle Fatture elettroniche in formato XML. * * @since 2.4.2 */ From 74faa7f6399c8a5d748509ba2c9819da83503b45 Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Mon, 10 May 2021 18:33:32 +0200 Subject: [PATCH 3/3] Rimozione ottimizzazione automatica autoloader Per ammettere l'utilizzo delle classi personalizzate nelle cartelle custom. --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 17af9637e..10845c3e3 100755 --- a/composer.json +++ b/composer.json @@ -116,7 +116,7 @@ }, "config": { "sort-packages": true, - "optimize-autoloader": true, + "optimize-autoloader": false, "apcu-autoloader": true, "prefer-stable": true, "platform": {