|
46 | 46 | ->whereIn('codice_stato_fe', ['NS', 'ERR', 'EC02']) |
47 | 47 | ->where('data_stato_fe', '>=', $_SESSION['period_start']) |
48 | 48 | ->where('data', '>=', $data_setting) |
49 | | - ->orderBy('data_stato_fe') |
| 49 | + ->orderBy('data', 'DESC') |
50 | 50 | ->get(); |
51 | 51 |
|
52 | 52 | if (!empty($fatture_generate_errore->count())) { |
53 | 53 | echo ' |
54 | 54 | <div class="alert alert-warning push alert-dismissible" role="alert"> |
55 | 55 | <button class="close" type="button" data-dismiss="alert" aria-hidden="true"><span aria-hidden="true">×</span><span class="sr-only">'.tr('Chiudi').'</span></button> |
56 | 56 | <h4><i class="fa fa-warning mr-2"></i>'.tr('Attenzione').'</h4>'.(($fatture_generate_errore->count() > 1) ? tr('Le seguenti fatture hanno ricevuto uno scarto o presentano errori in fase di trasmissione') : tr('La seguente fattura ha ricevuto uno scarto o presenta errori in fase di trasmissione')).': |
57 | | - <ul>'; |
| 57 | + <ul class="fa-ul list-unstyled mb-2">'; |
58 | 58 |
|
59 | 59 | foreach ($fatture_generate_errore as $fattura_generata) { |
60 | | - // Codice stato fe |
61 | | - $descrizione = $fattura_generata['codice_stato_fe']; |
| 60 | + // Mostra nome stato FE con icona |
| 61 | + $stato_fe = $fattura_generata->statoFE; |
| 62 | + $descrizione = $stato_fe ? '<i class="'.$stato_fe->icon.'"></i> '.$stato_fe->name : $fattura_generata['codice_stato_fe']; |
| 63 | + $tooltip = ''; |
| 64 | + $stato_fattura = $fattura_generata->stato; // stato documento (icona/nome) |
62 | 65 |
|
63 | 66 | $ricevuta_principale = $fattura_generata->getRicevutaPrincipale(); |
64 | 67 | if (!empty($ricevuta_principale)) { |
65 | 68 | $contenuto_ricevuta = XML::readFile(base_dir().'/files/fatture/vendite/'.$ricevuta_principale->filename); |
| 69 | + $data_ts = timestampFormat($fattura_generata['data_stato_fe']); |
66 | 70 |
|
67 | | - // Informazioni aggiuntive per EC02 |
| 71 | + // Informazioni aggiuntive per EC02 (per tooltip) |
68 | 72 | if (!empty($contenuto_ricevuta['EsitoCommittente'])) { |
69 | | - $descrizione .= ': '.htmlentities((string) $contenuto_ricevuta['EsitoCommittente']['Descrizione']); |
| 73 | + $ec02_desc = trim((string) $contenuto_ricevuta['EsitoCommittente']['Descrizione']); |
| 74 | + if ($ec02_desc !== '') { |
| 75 | + $tipText = "Stato FE: ".$fattura_generata['codice_stato_fe']."\n". |
| 76 | + "Descrizione: ".$ec02_desc."\n". |
| 77 | + "Data: ".$data_ts; |
| 78 | + $tooltip = ' <span class="tip ml-1" title="'.htmlentities($tipText).'"><i class="fa fa-question-circle-o"></i></span>'; |
| 79 | + } |
70 | 80 | } |
71 | 81 |
|
72 | | - // Informazioni aggiuntive per NS |
| 82 | + // Informazioni aggiuntive per NS (per tooltip) |
73 | 83 | $lista_errori = $contenuto_ricevuta['ListaErrori']; |
74 | 84 | if ($lista_errori) { |
75 | 85 | $lista_errori = $lista_errori[0] ? $lista_errori : [$lista_errori]; |
76 | 86 |
|
77 | 87 | $errore = $lista_errori[0]['Errore']; |
78 | | - $descrizione .= ': '.$errore['Codice'].' - '.htmlentities((string) $errore['Descrizione']); |
| 88 | + $codice = (string) ($errore['Codice'] ?? ''); |
| 89 | + $desc = trim((string) ($errore['Descrizione'] ?? '')); |
| 90 | + if ($codice !== '' || $desc !== '') { |
| 91 | + $tipText = "Stato FE: ".$fattura_generata['codice_stato_fe']."\n"; |
| 92 | + if ($codice !== '') { $tipText .= "Codice errore: ".$codice."\n"; } |
| 93 | + if ($desc !== '') { $tipText .= "Descrizione: ".$desc."\n"; } |
| 94 | + $tipText .= "Data: ".$data_ts; |
| 95 | + $tooltip = ' <span class="tip ml-1" title="'.htmlentities($tipText).'"><i class="fa fa-question-circle-o"></i></span>'; |
| 96 | + } |
79 | 97 | } |
80 | 98 | } |
81 | 99 |
|
82 | | - echo '<li>'.reference($fattura_generata, $fattura_generata->getReference()).' ['.$descrizione.'] ['.timestampFormat($fattura_generata['data_stato_fe']).']</li>'; |
| 100 | + // Testo descrittivo + link "Apri" + icona stato documento |
| 101 | + $icon_title = ''; |
| 102 | + if ($stato_fattura) { |
| 103 | + $icon_title = $stato_fattura->getTranslation('title') ?: ($stato_fattura->name ?? ''); |
| 104 | + } |
| 105 | + $icon_li = $stato_fattura |
| 106 | + ? '<span class="tip" title="'.htmlentities($icon_title).'"><span class="fa-li"><i class="'.$stato_fattura->icona.'"></i></span></span>' |
| 107 | + : '<span class="fa-li"><i class="fa fa-file-text-o"></i></span>'; |
| 108 | + |
| 109 | + echo '<li class="mb-1">'.$icon_li.'<b>'.$fattura_generata->getReference().'</b> <span class="ml-2">'.Modules::link('Fatture di vendita', $fattura_generata->id, tr('Apri')).'</span> ['.$descrizione.']'.$tooltip.'</li>'; |
83 | 110 | } |
84 | 111 |
|
85 | 112 | echo ' |
|
0 commit comments