Miglioramento documentazione hook e task per Fatture elettroniche
This commit is contained in:
parent
fd3571a04e
commit
08c3e46cad
|
@ -24,7 +24,7 @@ use Modules\Fatture\Fattura;
|
||||||
use UnexpectedValueException;
|
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
|
* @since 2.4.3
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -22,6 +22,9 @@ namespace Plugins\ExportFE;
|
||||||
use Hooks\Manager;
|
use Hooks\Manager;
|
||||||
use Modules\Fatture\Fattura;
|
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
|
class InvoiceHook extends Manager
|
||||||
{
|
{
|
||||||
public function isSingleton()
|
public function isSingleton()
|
||||||
|
|
|
@ -23,7 +23,7 @@ use API\Services;
|
||||||
use Models\Cache;
|
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
|
* @since 2.4.3
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -22,6 +22,9 @@ namespace Plugins\ImportFE;
|
||||||
use Hooks\CachedManager;
|
use Hooks\CachedManager;
|
||||||
use Modules;
|
use Modules;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hook dedicato all'importazione automatica delle Fatture Elettroniche di acquisto rilevate dal sistema automatico di gestione.
|
||||||
|
*/
|
||||||
class InvoiceHook extends CachedManager
|
class InvoiceHook extends CachedManager
|
||||||
{
|
{
|
||||||
public function getCacheName()
|
public function getCacheName()
|
||||||
|
|
|
@ -23,7 +23,7 @@ use API\Services;
|
||||||
use Models\Cache;
|
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
|
* @since 2.4.3
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,6 +25,11 @@ use Modules;
|
||||||
use Modules\Fatture\Fattura;
|
use Modules\Fatture\Fattura;
|
||||||
use Plugins;
|
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
|
class NotificheRicevuteHook extends Manager
|
||||||
{
|
{
|
||||||
public function response()
|
public function response()
|
||||||
|
|
|
@ -23,6 +23,11 @@ use Hooks\Manager;
|
||||||
use Models\Cache;
|
use Models\Cache;
|
||||||
use Modules;
|
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
|
class ReceiptHook extends Manager
|
||||||
{
|
{
|
||||||
public function isSingleton()
|
public function isSingleton()
|
||||||
|
|
|
@ -21,6 +21,11 @@ namespace Plugins\ReceiptFE;
|
||||||
|
|
||||||
use Tasks\Manager;
|
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
|
class ReceiptTask extends Manager
|
||||||
{
|
{
|
||||||
public function execute()
|
public function execute()
|
||||||
|
|
|
@ -28,7 +28,7 @@ use Util\XML;
|
||||||
use Util\Zip;
|
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
|
* @since 2.4.2
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue