Cruscotto operativo per utenze, beni comuni, locali condivisi e contatori riscaldamento dello stabile. Qui convivono contratti, servizi ad uso comune, rimborsi spesa, contatori generali e contatori particolari con storico e tariffe.
contratti_ACEA: {{ ($legacyArchive['contratti_acea'] ?? false) ? 'presente' : 'non presente' }}Tariffe_ACEA_Standard: {{ ($legacyArchive['tariffe_acea_standard'] ?? false) ? 'presente' : 'non presente' }}| Sel. | Fattura | Servizio / codici | Periodo FE | Mc | Spesa | Azioni |
|---|---|---|---|---|---|---|
|
{{ $row['numero_fattura'] ?: ('FE #' . $row['fattura_id']) }}
{{ $row['data_fattura'] ?: '—' }}
@if(!empty($row['legacy_n_spe']))
Legacy: Reg. #{{ $row['legacy_id'] }} · Prot. {{ $row['legacy_n_spe'] }}
@endif
@if($row['registrata_stato'] === 'pagato')
Pagata il {{ $row['registrata_data_pagamento'] }}
@elseif($row['registrata_stato'] === 'da_pagare')
Debito (€ {{ number_format($row['registrata_netto_da_pagare'], 2, ',', '.') }})
@elseif(!empty($row['legacy_id']))
Registrata in Prima Nota
@else
Da registrare
@endif
|
{{ $row['servizio'] ?: 'Riscaldamento' }}
Matr. {{ $row['matricola'] ?: '—' }} · Utenza {{ $row['codice_utenza'] ?: '—' }} · Cliente {{ $row['codice_cliente'] ?: '—' }} · Contratto {{ $row['codice_contratto'] ?: '—' }} · CBILL {{ $row['cbill_display'] ?: '—' }} @if(!empty($row['sia'])) · SIA {{ $row['sia'] }} @endif
Voce pre-assegnata fornitore: {{ $row['voce_spesa_default_name'] }}
@if(!empty($row['periodicita_fatturazione']) || !empty($row['numero_componenti']) || !empty($row['numero_unita_abitative']))
{{ $row['periodicita_fatturazione'] ?: 'periodicita n/d' }} @if(!empty($row['numero_componenti'])) · comp. {{ $row['numero_componenti'] }} @endif @if(!empty($row['numero_unita_abitative'])) · unita {{ $row['numero_unita_abitative'] }} @endif
@endif
@if(!($row['identificativi_noti'] ?? false))
Identificativi non leggibili dal PDF: usare la selezione FE per il contatore corretto.
@endif
|
{{ $row['periodo_label'] ?: '—' }}
periodi {{ number_format((int) ($row['periodi_count'] ?? 0), 0, ',', '.') }} · riepiloghi {{ number_format((int) ($row['letture_count'] ?? 0), 0, ',', '.') }}
@if(!empty($row['letture_preview']))
{{ implode(' | ', $row['letture_preview']) }}
@endif
|
{{ number_format((float) ($row['totale_mc'] ?? 0), 3, ',', '.') }} | {{ number_format((float) ($row['totale_spesa'] ?? 0), 2, ',', '.') }} | ||
| Nessuna FE riscaldamento estratta nello storico attivo. | ||||||
| Gestione | Numero fatture | FE | Manuali | Totale EUR | Mc FE | Contratti / contatori |
|---|---|---|---|---|---|---|
| {{ strtoupper((string) ($row['gestione'] ?? 'non definita')) }} | {{ number_format((int) ($row['fatture_count'] ?? 0), 0, ',', '.') }} | {{ number_format((int) ($row['fe_count'] ?? 0), 0, ',', '.') }} | {{ number_format((int) ($row['manual_count'] ?? 0), 0, ',', '.') }} | {{ number_format((float) ($row['totale_fatture'] ?? 0), 2, ',', '.') }} | {{ number_format((float) ($row['totale_mc'] ?? 0), 3, ',', '.') }} |
Contratti: {{ !empty($row['contratti']) ? implode(', ', $row['contratti']) : '—' }}
Matricole: {{ !empty($row['matricole']) ? implode(', ', $row['matricole']) : '—' }}
@if(!empty($row['cbill_codes']))
CBILL: {{ implode(', ', $row['cbill_codes']) }}
@endif
|
| Nessuna fattura riscaldamento trovata per lo stabile selezionato. | ||||||
| Totale | {{ number_format((int) collect($fatturePerGestione)->sum('fatture_count'), 0, ',', '.') }} | {{ number_format((int) collect($fatturePerGestione)->sum('fe_count'), 0, ',', '.') }} | {{ number_format((int) collect($fatturePerGestione)->sum('manual_count'), 0, ',', '.') }} | {{ number_format((float) collect($fatturePerGestione)->sum('totale_fatture'), 2, ',', '.') }} | ||
| Data op. | Voce | Doc legacy | Fornitore | Descrizione | Importo | Match fattura locale |
|---|---|---|---|---|---|---|
|
{{ $row['data_operazione'] ? \Carbon\Carbon::parse($row['data_operazione'])->format('d/m/Y') : '—' }}
@if(!empty($row['n_spe']))
Prot. {{ $row['n_spe'] }}
@endif
|
{{ $row['cod_spe'] ?: '—' }} |
{{ $row['num_fat'] ?: '—' }}
{{ $row['dt_fat'] ? \Carbon\Carbon::parse($row['dt_fat'])->format('d/m/Y') : '—' }}
|
{{ $row['fornitore_legacy'] ?: ('cod. ' . ($row['cod_for'] ?: '—')) }} | {{ $row['benef'] ?: '—' }} | {{ number_format((float) ($row['importo'] ?? 0), 2, ',', '.') }} |
@if(($row['matched_fattura_id'] ?? null))
OK {{ strtoupper((string) ($row['match_type'] ?? '')) }}
ID {{ $row['matched_fattura_id'] }} @if($row['matched_fe_id']) / FE {{ $row['matched_fe_id'] }} @endif
@else
DA COLLEGARE
@endif
|
| Nessuna operazione di Riscaldamento trovata in archivio legacy. | ||||||
| Voce | Totale EUR |
|---|---|
| {{ $row['cod_spe'] }} | {{ number_format((float) ($row['totale'] ?? 0), 2, ',', '.') }} |
| Nessuna voce AC diversa da AC1 trovata. | |
| Unità | Nominativo | Lettura precedente | Stato | Richiesta | Inserimento rapido | Azioni | |
|---|---|---|---|---|---|---|---|
| {{ $row['unit_label'] }} | {{ $row['nominativo'] }} | {{ $row['email'] ?: '—' }} | {{ $row['previous_reading'] !== null ? number_format((float) $row['previous_reading'], 3, ',', '.') : '—' }} | @if($row['status'] === 'fatta') Fatta @elseif($row['status'] === 'sollecito') Sollecito @elseif($row['status'] === 'richiesta') Richiesta inviata @else Da inviare @endif |
{{ $row['requested_at'] ?: '—' }}
@if($row['deadline_at'])
Scadenza {{ $row['deadline_at'] }}
@endif
|
|
Apri link
Ticket riscaldamento
@if($row['request_id'] && $row['status'] !== 'fatta')
@endif
|
| Nessuna unità disponibile per la campagna letture. | |||||||
#ID,Modulo n°,Contatore n°,Nome,Cognome,Indirizzo,Interno,Lettura... (la colonna #ID verrà abbinata con riscaldamento_gateway_device_id o in alternativa con l'interno)./home/michele/netgescon/netgescon-laravel/Miki-Bug-workspace/RISCALDAMENTO-Acea/06 - 2024 VIA_A_DORIA_36.0.RIPARTO.2.pdf
| Scala | Interno | Nominativo | Ruolo | Lettura iniziale | Consumo mc | Quota EUR (riparto) |
|---|---|---|---|---|---|---|
| {{ $row['scala'] ?: '—' }} | {{ $row['interno'] ?: '—' }} | {{ $row['nominativo'] ?: '—' }} | {{ $row['ruolo'] ?: '—' }} | {{ isset($row['lettura_iniziale']) && $row['lettura_iniziale'] !== null ? number_format((float) $row['lettura_iniziale'], 3, ',', '.') : '—' }} | {{ isset($row['consumo_mc']) && $row['consumo_mc'] !== null ? number_format((float) $row['consumo_mc'], 3, ',', '.') : '—' }} | {{ number_format((float) ($row['quota_euro'] ?? 0), 2, ',', '.') }} |
| Nominativi riparto legacy non disponibili. | ||||||
| Totali | {{ number_format((float) collect($riscaldamentoRipartoNominativi)->sum(fn($r) => (float) ($r['consumo_mc'] ?? 0)), 3, ',', '.') }} | {{ number_format((float) collect($riscaldamentoRipartoNominativi)->sum(fn($r) => (float) ($r['quota_euro'] ?? 0)), 2, ',', '.') }} | ||||
| Data ricezione | Servizio | Unità | Canale | Riferimento / immagine | Periodo | Lettura/consumo | Azioni |
|---|---|---|---|---|---|---|---|
| {{ $row['data_ricezione'] ?: '—' }} | {{ $row['servizio'] ?: '—' }} Matr. {{ $row['matricola'] ?: '—' }} |
{{ trim((string) ($row['unita'] ?? '')) !== '' ? $row['unita'] : '—' }} | {{ strtoupper((string) ($row['canale'] ?? '—')) }} | {{ $row['riferimento'] ?: '—' }} | {{ $row['periodo'] ?: '—' }} | @if(isset($row['consumo_valore']) && $row['consumo_valore'] !== null) {{ number_format((float) $row['consumo_valore'], 3, ',', '.') }} {{ $row['consumo_unita'] ?: 'mc' }} @else — @endif |
|
| Nessuna lettura disponibile. | |||||||
| Data ricezione | Servizio / codici | Canale / protocollo | Periodo / finestra | Lettura | Consumo | Azioni |
|---|---|---|---|---|---|---|
| {{ $row['data_ricezione'] ?: '—' }} |
{{ $row['servizio'] ?: 'Riscaldamento' }}
Matr. {{ $row['matricola'] ?: '—' }} · Utenza {{ $row['codice_utenza'] ?: '—' }}
Cliente {{ $row['codice_cliente'] ?: '—' }} · Contratto {{ $row['codice_contratto'] ?: '—' }}
|
{{ strtoupper((string) ($row['canale'] ?? '—')) }}
{{ $row['protocollo'] ?: '—' }} · {{ $row['workflow'] ?: '—' }}
{{ $row['reader'] ?: '—' }}
|
{{ $row['periodo'] ?: '—' }}
@if(!empty($row['window_label']))
Finestra {{ $row['window_label'] }}
@endif
@if(!empty($row['visit_date']))
Passaggio Acea {{ \Carbon\Carbon::parse($row['visit_date'])->format('d/m/Y') }}
@endif
@if(!empty($row['fattura_label']))
Origine FE {{ $row['fattura_label'] }}
@endif
|
{{ isset($row['lettura_fine']) && $row['lettura_fine'] !== null ? number_format((float) $row['lettura_fine'], 3, ',', '.') . ' mc' : '—' }} | {{ isset($row['consumo_valore']) && $row['consumo_valore'] !== null ? number_format((float) $row['consumo_valore'], 3, ',', '.') . ' ' . ($row['consumo_unita'] ?: 'mc') : '—' }} | |
| Nessuna lettura generale disponibile per l'anno attivo. | ||||||
| Codice | Descrizione Voce | Tabella Millesimale | Preventivo (Default) | Consuntivo (Registrato) | Scostamento (Delta) |
|---|---|---|---|---|---|
| Tabella Millesimale: {{ $tabellaName }} | |||||
| {{ $row['codice'] }} | {{ $row['descrizione'] }} | {{ $row['tabella'] }} | € {{ number_format($row['preventivo'], 2, ',', '.') }} | € {{ number_format($row['consuntivo'], 2, ',', '.') }} | {{ $row['scostamento'] > 0 ? '+' : '' }}€ {{ number_format($row['scostamento'], 2, ',', '.') }} |
| Nessuna voce di spesa riscaldamento configurata per lo stabile. | |||||
| Totale | € {{ number_format(collect($tariffeRows)->sum('preventivo'), 2, ',', '.') }} | € {{ number_format(collect($tariffeRows)->sum('consuntivo'), 2, ',', '.') }} | @php($totScostamento = collect($tariffeRows)->sum('scostamento')){{ $totScostamento > 0 ? '+' : '' }}€ {{ number_format($totScostamento, 2, ',', '.') }} | ||