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:
parent
0ff76dfe72
commit
522043b7b0
@ -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">
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user