. */ 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); } } } }