Compare commits

...

2 Commits

Author SHA1 Message Date
Dasc3er 74faa7f639 Rimozione ottimizzazione automatica autoloader
Per ammettere l'utilizzo delle classi personalizzate nelle cartelle custom.
2021-05-10 18:33:32 +02:00
Dasc3er 08c3e46cad Miglioramento documentazione hook e task per Fatture elettroniche 2021-05-10 17:48:00 +02:00
11 changed files with 88 additions and 5 deletions

View File

@ -116,7 +116,7 @@
},
"config": {
"sort-packages": true,
"optimize-autoloader": true,
"optimize-autoloader": false,
"apcu-autoloader": true,
"prefer-stable": true,
"platform": {

View File

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

View File

@ -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()

View File

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

View File

@ -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()

View File

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

View File

@ -0,0 +1,62 @@
<?php
/*
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
* Copyright (C) DevCode s.r.l.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
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);
}
}
}
}

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

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