ondata / appaltipop

ETL scripts and issue tracking for AppaltiPOP project.

Home Page:https://www.appaltipop.it

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[PER FAVORE LEGGETEMI] Più stazioni appaltanti in file sorgente

aborruso opened this issue · comments

Scusate, sarò lungo.

Nei file sorgente si fa riferimento in termini di descrizione di livello gerarchico di primo livello al cosiddetto "ente pubblicatore", che nella grandissima parte dei casi coincide con la cosiddetta "struttura proponente".
La prima è la PA, che pubblica i file XML e una PA potrebbe pubblicare l'XML di un'altro ente che per varie ragioni non ha dove pubblicarlo. Dell'"ente pubblicatore" non viene pubblicato né un CF, né altro codice previsto per identificare una PA, ma soltanto una stringa come "Comune di Prato"
La "struttura proponente" è quella di cui mappiamo i Codici Fiscali, quella che formalmente e sostanzialmente si occupa delle gare.

Questa è una delle ragioni per cui in un unico file sorgente, possiamo avere più "strutture proponenti" e quindi più CF.

Le altre sono più di "processo", più formali e ne trovate qualche cenno nelle FAQ.

Ma ci sono casi odiosi, come il Comune di Prato, che è "ente pubblicatore" e "struttura proponente", che nel suo file sorgente ha i valori distinti sottostanti di CF (e descrizione).

Alcune note:

  • 84006890481 non ci dà dubbi, perché è il CF presente nell'indice delle PA (iPA) e lo possiamo validare e filtrare;
  • 00337360978 è un errore, perché non è un CF (nell'XML è obbligatorio il CF), ma una PIVA. E lo potremmo scartare perché non presente nei CF dell'iPA;
  • su 05040110487 e 01386030488 scrivo dopo la tabella.
strutturaProponente:codiceFiscaleProp strutturaProponente:denominazione
84006890481 Comune di Prato
84006890481 Pubblica istruzione
84006890481 COMUNE DI PRATO
05040110487 PUBLIACQUA SPA
01386030488 REGIONE TOSCANA
00337360978 comune di prato
00337360978 Comune di Prato

05040110487 è il CF di Publiacqua S.p.A, la "società affidataria, dal 1° Gennaio 2002, della gestione del servizio idrico integrato dall'Ambito Territoriale Ottimale n.3 Medio Valdarno, un territorio, asse portante della Toscana, che interessa 4 province, Firenze Prato, Pistoia e Arezzo.". Credo che sia nell'elenco perché è un bando la cui sostanza (anche se gestito da una S.p.A) è tutta nella "cosa pubblica".
Questo CF non è ovviamente in iPA.

01386030488 è il CF di Regione Toscana, che gestirà un appalto su qualcosa con effetti su Prato. Il/i lotto/i relativi andrebbero pubblicati su una scheda PA differente.
Questo CF è su iPA.

Ma c'è di peggio. Il comune di Piacenza ha come CF 00229080338. Nel suo file sorgente ci sono però un mucchio di altri CF di cui non c'è traccia in alcun indice pubblico centralizzato. Il 95% delle gare ha il CF ufficiale, controllabile mappabile.

strutturaProponente:codiceFiscaleProp strutturaProponente:denominazione
00229080338 Servizi Educativi per l'Infanzia
00229080338 servizio Ambiente e Parchi
00229080338 servizi educativi e formazione
00229080338 servizio Infrastrutture e lavori pubblici
00229080339 U.O. Acquisti e gare
00229080340 U.O. Acquisti e gare
00229080341 U.O. Acquisti e gare
00229080342 U.O. Acquisti e gare
00229080343 U.O. Acquisti e gare
00229080343 Servizio Infrastrutture e Lavori Pubblici
00229080344 U.O. Acquisti e gare
00229080345 U.O. Acquisti e gare
00229080345 Ufficio Acquisti e gare
00229080346 U.O. Acquisti e gare
00229080353 U.O. Acquisti e gare

Il CF di un'azienda/ente è fatto da 11 caratteri:

  • i primi sette numeri: corrispondono al numero di matricola che viene assegnato dall’ufficio provinciale di competenza per territorio;
  • i numeri dall'ottavo al decimo: corrispondono al codice dell’ufficio Iva provinciale che ha rilasciato il numero di matricola, di solito equivalente al codice Istat della provincia. Ad esempio, 058 per Roma, 015 per Milano, 001 per Torino, 037 per Bologna, 063 per Napoli, 082 per Palermo, ecc.;
  • l’undicesima ed ultima cifra, come per il codice fiscale delle persone fisiche, è il codice di controllo per la verifica della correttezza dei numeri precedenti.

Vi chiedo aiuto su questo. Io la leggo così, quello che identifica la mappatura di un ente sono i primi 7 caratteri, quindi 0022908, poi c'è un codice che mappa non l'ente a cui si assegna il CF, ma l'ente che assegna il CF (i numeri dall'ottavo al decimo) e poi l'ultimo è un carattere di controllo.

Quindi potremmo creare una regola che estrae le prime 7, le confronta con iPA, e assegna in questo caso tutto al Comune di Piacenza.

Che fare allora?

Al momento è la prima proposta, mi aspetto e vi chiedo per favore un confronto su questo.

Si potrebbe di base fare così:

  • di base si tiene tutto e si divide per CF di assegnazione finale;
    • se c'è un CF in iPA è ok, e la gara si assegna a quell'ente
    • si verifica la faccenda dei primi 7 caratteri e si usa per mappare il CF al nome corretto della PA, e lo si associa al CF mappato su iPA;
    • le gare per le quali non c'è un corrispondente in iPA si associano al CF dell'"ente pubblicatore".

Quindi, sperando che la cosa dei sette caratteri sia sensata:

  • non perdiamo nulla di Piacenza;
  • la toscana avrebbe il suo spazio sul sito (ma noi potremmo decidere di non pubblicare info di PA con meno di 10 gare, perché sono quelle prodotte automaticamente e per casi speciali, come questo);
  • la gara di Publiacqua verrebbe associata al comune di Prato.

Ne vogliamo parlare oggi intorno alle 12:30??

@aborruso Io oggi non ci sono, ma non credo di poter essere utile, entro in gioco quando i dati saranno a posto... :)