1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-21 04:34:33 +01:00

Miglioramento informazione su ricevute FE in errore

This commit is contained in:
Dasc3er 2021-02-26 12:37:29 +01:00
parent 0ff76dfe72
commit 522043b7b0
2 changed files with 45 additions and 36 deletions

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
use Carbon\Carbon;
use Modules\Fatture\Fattura;
use Plugins\ReceiptFE\Interaction;
use Util\XML;
echo '
<p>'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.</p>';
@ -31,53 +32,63 @@ if (Interaction::isEnabled()) {
<p>'.tr('Tramite il pulsante _BTN_ è possibile procedere al recupero delle ricevute, aggiornando automaticamente lo stato delle relative fatture e allegandole ad esse', [
'_BTN_' => '<i class="fa fa-refresh"></i> <b>'.tr('Ricerca ricevute').'</b>',
]).'.</p>';
}
$fatture_generate_errore = Fattura::vendita()
->whereIn('codice_stato_fe', ['NS', 'ERR'])
->where('data_stato_fe', '>=', $_SESSION['period_start'])
->orderBy('data_stato_fe')
->get();
// Messaggio informativo su fatture con stato di errore
$fatture_generate_errore = Fattura::vendita()
->whereIn('codice_stato_fe', ['NS', 'ERR', 'EC02'])
->where('data_stato_fe', '>=', $_SESSION['period_start'])
->orderBy('data_stato_fe')
->get();
if (!empty($fatture_generate_errore->count())) {
echo '
<div class="alert alert-warning alert-dismissible" role="alert"><button class="close" type="button" data-dismiss="alert" aria-hidden="true"><span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span></button>
<p><i class="fa fa-warning"></i> '.tr('Attenzione: le seguenti fatture hanno ricevuto uno scarto o presentano errori in fase di trasmissione').'.</p>
<ul>';
if (!empty($fatture_generate_errore->count())) {
echo '
<div class="alert alert-warning alert-dismissible" role="alert">
<button class="close" type="button" data-dismiss="alert" aria-hidden="true"><span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span></button>
<p><i class="fa fa-warning"></i> '.tr('Attenzione: le seguenti fatture hanno ricevuto uno scarto o presentano errori in fase di trasmissione').'.</p>
<ul>';
foreach ($fatture_generate_errore as $fattura_generata) {
echo '<li>'.reference($fattura_generata, $fattura_generata->getReference()).' ['.$fattura_generata['codice_stato_fe'].'] ['.timestampFormat($fattura_generata['data_stato_fe']).']</li>';
foreach ($fatture_generate_errore as $fattura_generata) {
$ricevuta_principale = $fattura_generata->getRicevutaPrincipale();
// Informazioni aggiuntive per EC02
$contenuto_ricevuta = XML::readFile($ricevuta_principale->filepath);
$descrizione = $fattura_generata['codice_stato_fe'];
if (!empty($contenuto_ricevuta['EsitoCommittente'])) {
$descrizione .= ': '.$contenuto_ricevuta['EsitoCommittente']['Descrizione'];
}
echo '
</ul>
</div>';
echo '<li>'.reference($fattura_generata, $fattura_generata->getReference()).' ['.$descrizione.'] ['.timestampFormat($fattura_generata['data_stato_fe']).']</li>';
}
// 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);
$fatture_generate = 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();
echo '
</ul>
</div>';
}
if (!empty($fatture_generate->count())) {
echo '
// 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);
$fatture_generate = 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();
if (!empty($fatture_generate->count())) {
echo '
<div class="alert alert-info info-dismissible" role="alert"><button class="close" type="button" data-dismiss="alert" aria-hidden="true"><span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span></button>
<p><i class="fa fa-info"></i> '.tr('Informazione: le seguenti fatture sono in attesa di una ricevuta da più di 7 giorni').'.</p>
<ul>';
foreach ($fatture_generate as $fattura_generata) {
echo '<li>'.reference($fattura_generata, $fattura_generata->getReference()).' ['.timestampFormat($fattura_generata['data_stato_fe']).']</li>';
}
foreach ($fatture_generate as $fattura_generata) {
echo '<li>'.reference($fattura_generata, $fattura_generata->getReference()).' ['.timestampFormat($fattura_generata['data_stato_fe']).']</li>';
}
echo '
echo '
</ul>
</div>';
}
}
echo '
<div class="box box-success">
<div class="box-header with-border">

View File

@ -165,14 +165,12 @@ class Ricevuta
// Registrazione del file XML come allegato
$upload = Upload::build($this->file, [
'category' => tr('Fattura Elettronica'),
'id_module' => $module->id,
'id_record' => $fattura->id,
'name' => tr('Ricevuta _TYPE_', [
'_TYPE_' => $codice,
]),
'original' => $filename,
]);
], tr('Ricevuta _TYPE_', [
'_TYPE_' => $codice,
]), tr('Fattura Elettronica'));
return $upload;
}