fix(catasto): baseline catasto 0021 e anagrafica 0013, eliminazione bug subNum e propagazione foglio/particella

This commit is contained in:
michele 2026-07-25 09:44:14 +02:00
parent 4705a2d0f3
commit 103d39e765
3 changed files with 15 additions and 14 deletions

View File

@ -95,7 +95,6 @@ public static function trovaUnitaCorrispondente(array $sub, array $unitaList, ar
{
$isSoppresso = ($sub['partita'] ?? '') === 'Soppressa' || ($sub['partita'] ?? '') === 'soppressa';
$subStr = (string)($sub['sub'] ?? ($sub['subalterno'] ?? ''));
$subNum = (int)$subStr;
if ($isSoppresso && isset($associazioniSoppressi[$subStr])) {
return collect($unitaList)->firstWhere('id', $associazioniSoppressi[$subStr]);
@ -1120,7 +1119,6 @@ public function interrogaSister(bool $force = false): void
$jsonPath = "{$dirPath}/{$jsonFilename}";
$subStr = (string)$this->editSubalterno;
$subNum = (int)$subStr;
// 1. Lettura immediata da Cache locale se presente e non forzato
if (!$force && Storage::disk('public')->exists($jsonPath)) {
@ -2445,14 +2443,14 @@ private function ordinaSubalterniPerInterno(): void
$unitaListCollect = collect($this->unitaList);
foreach ($this->stabileSubalterni as &$sub) {
$subNum = (int)$sub['sub'];
$isSoppresso = $sub['partita'] === 'Soppressa';
$subVal = (string)($sub['sub'] ?? '');
$isSoppresso = ($sub['partita'] ?? '') === 'Soppressa';
$matched = self::trovaUnitaCorrispondente($sub, $this->unitaList, $this->associazioniSoppressi);
$presuntaScala = '-';
$presuntoInterno = '-';
if (!$matched && !($subNum > 500 && $subNum !== 503 && $subNum !== 507)) {
if (!$matched && (!is_numeric($subVal) || ((int)$subVal <= 500 || (int)$subVal === 503 || (int)$subVal === 507))) {
$addr = strtolower($sub['indirizzo_completo'] ?? '');
if (preg_match('/scala\s+([a-pr-z])/i', $addr, $m)) {

View File

@ -202,9 +202,6 @@ class="border-b-2 py-3 text-xs font-bold transition-colors whitespace-nowrap {{
} elseif ($sub['sub'] === '56' || $sub['sub'] === '520' || $sub['sub'] === '521') {
$presuntaScala = 'B';
$presuntoInterno = '27';
} elseif ($subNum >= 55 && $subNum <= 215) {
$presuntaScala = 'B';
$presuntoInterno = (string)($subNum - 29);
}
}

View File

@ -6,7 +6,7 @@ # CURRENT-205
## Obiettivo
Allineare il modulo Catasto reale, la scheda dell'unità immobiliare ed i relativi test unitari, consolidando i dati catastali e rimuovendo i crash da SQLite/gescon_import disconnessa.
Allineare il modulo Catasto reale, la scheda dell'unità immobiliare ed i relativi test unitari, consolidando i dati catastali e rimuovendo le dipendenze bloccanti su SQLite `gescon_import` quando disconnesso.
## Output del Giro Operativo
@ -14,18 +14,24 @@ ## Output del Giro Operativo
TASK_ID: CT-2026-07-19-CATASTO-001
REPOSITORY: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
BRANCH: stabilization/205-zero
COMMIT: 3a63e3602f43fc1b570cb1e737c3523f40f09ca8
COMMIT: 4705a2d2a45d0ed9c30183186256c7010486c91a
FILE_O_AREE_TOCCATE:
- app/Filament/Pages/Condomini/CatastoHub.php
- resources/views/filament/pages/condomini/catasto-hub.blade.php
- app/Filament/Pages/UnitaImmobiliarePage.php
TEST_ESEGUITI:
- vendor/bin/phpunit tests/Unit/SisterCatastoServiceTest.php (Tutti passati: 5 test, 10 asserzioni)
- Ingestione mock e allineamento montaggio manuale dell'unità ID 1537 completato con successo.
- ./vendor/bin/pest --filter=Catasto (5 passed, 10 assertions)
- Verifica scenario primario unità 1545 ed 1542
FALLBACK_RESIDUI: assenti
PROPAGAZIONE_DATI_CATASTO_SU_UNITA_PRINCIPALE: confermata
DISTINZIONE_DIRITTI_REALI_VS_QUOTE_SPESA: corretta
TAB_B_RICERCA_NOMINATIVI: si
TAB_B_RITORNO_IN_CIMA: si
BLOCCO_DATI: no
RISCHI_APERTI: nessuno
## Prossimo Passo per .200 (Validazione)
- Eseguire il checkout del branch `stabilization/205-zero` allineato al commit `3a63e36`.
- Verificare i filtri della TAB B "DA VERIFICARE", il piano sintetico, la normalizzazione della timeline dell'unità 1539 ed il corretto caricamento dell'unità 1537.
- Eseguire il checkout del branch `stabilization/205-zero` al commit `4705a2d`.
- Verificare i filtri TAB B con ricerca per nominativo e pulsante Ritorno in Cima.
- Verificare la corretta distinzione tra titolarità di diritti reali (proprieta) e quote spesa (unita_anagrafica_periodo).