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 */