Nuova funzione #150
chiusaModifica #142: Modifica nella gestione dell'input della procedure "Controlla record su database caricando il CSV"
Aggiungere funzione "AGGIUNGI record su database caricando il CSV"
100%
Descrizione
segue il precedente ticket #142:
"Modifica nella gestione dell'input della procedure "Controlla record su database caricando il CSV""
una volta controllati i dati mancanti si deve poter sottomettere il file dei dati mancanti e inserirlo nel db, nelle varie tabelle coinvolte, seguendo lo schema in allegato
File
Aggiornato da Diego Sorrentino oltre 7 anni fa
- % Completato modificata da 0 a 80
La funzione e' pronta e va testata INSIEME (fammi sapere quando sei a Roma che ci mettiamo d'accordo)
Intanto un paio di domande sugli inserimenti da fare:
Domanda1
Dal file con le direttive "TabellaCampi"
riporti che la colonna "Label" dei file csv deve finire dentro seismograms::flag_lav.
Nella stessa tabella esiste anche il campo "label"
Domanda2
I vari campi della reliability a quanto devo impostarli (in automatico)?
E poi alcuni problemi sui file trovati debuggando il codice (che andrebbero evitati il piu' possibile altrimenti si crea un problema di inconsistenza di dati):
AQU.csv- 1 valore di COD_STR e' impostato a 'NC' mentre mi aspetto un numero
- Il valore Timbro spesso e' a '*'
- il valore CodiceFaldone spesso e' a '*', non inserisco TUTTA LA SERIE di record (delle varie tabelle), oppure non aggiorno solo la tabella dei faldoni?
- Il campo "restauro" su Db ha una serie di costrizioni, puo' essere T,R,N,vuoto. Sul file e' '*', lo considero vuoto?
- assente l'header della colonna "variante". Basta l'aggiunta/assenza di un campo per far shiftare gli indici degli array creando il panico.
- ci sono alcuni NomeStazione=Comp1=Comp2=Comp3='*' immagino che vadano saltati...
- manca completamente la colonna Variante, scazzano tutti gli indici...
- il codice stazione e' molto "ballerino"
- il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
- alcuni tipi di carta non sono presenti nel db, altri hanno caratteri in piu' che fanno saltare i confronti
- manca completamente la colonna Variante, scazzano tutti gli indici...
- manca codice faldone, quindi (AD ORA) non aggiungo numerose righe
- comp1 = "T" input non valido
- assente l'header della colonna "variante". Basta l'aggiunta/assenza di un campo per far shiftare gli indici degli array creando il panico.
- il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
- il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
- COD_POSS = '*' devo saltare tutta la riga?
Aggiornato da Graziano Ferrari circa 7 anni fa
- AQU.csv AQU.csv File aggiunto
- BOL.csv BOL.csv File aggiunto
- CAT.csv CAT.csv File aggiunto
- DBN.csv DBN.csv File aggiunto
- DUB.csv DUB.csv File aggiunto
- GIB.csv GIB.csv File aggiunto
- MES.csv MES.csv File aggiunto
- PCN.csv PCN.csv File aggiunto
Per quanto riguarda la domanda 1 soprassiedo per parlarne un attimo insieme. Sulla domanda 2 si allegano file corretti.
Graziano
Aggiornato da Graziano Ferrari circa 7 anni fa
- File_CSV_corretti.zip File_CSV_corretti.zip File aggiunto
Allego per comodità file zip dei file precedentemente spediti. Anche perché ce ne sono 2 in più.
G
Aggiornato da Diego Sorrentino circa 7 anni fa
- Stato modificata da Nuovo a In lavorazione
AGGIORNAMENTO (DA MAIL)¶
Ciao
ho resettato il db sul mio pc e in effetti molti errori che avevo si sono risolti :-)
ora ho un piccolo dubbio (una fesseria ma e' basilare)... faccio un sunto delle operazioni:
i CSV da caricare devono seguire questi 2 passaggi, il primo e' un controllo, il secondo aggiunge i dati nel DB.
Step1: Controlla record su db caricando il CSV (quello che poi ti torna la mail con i 4 allegati),
e poi passa per lo
Step2: Aggiungi record su db caricando il CSV
Nello Step1 si caricano i file CSV, lo script controlla e invia una mail con 4 allegati:
il file inserito
i dati gia' presenti
i dati mancanti
gli errori trovati (in caso ci siano, ma serve principalmente a me)
A questo punto il file con i dati mancanti dovra' essere inserito nel secondo script OPPURE e' sempre il file originale? Immagino quello con i dati mancanti (se e' corretto puoi anche smettere di leggere).
Se invece nel secondo script mandi il file originale, le righe gia' presenti devono essere aggiornate? se si, quali campi? in certi casi alcuni dati cambiano (e manco poco :-D)
ci sentiamo piu' tardi (quando puoi)
Aggiornato da Diego Sorrentino circa 7 anni fa
RISPOSTA A MAIL¶
Sì il primo script serve a isolare i dati mancanti che devono entrare con il secondo script.
A quando vuou
Aggiornato da Diego Sorrentino circa 7 anni fa
Buongiorno,
iniziamo subito con le "buone notizie" :-D
Ho effettuato i test di import sul mio pc, ti riporto:
- gli errori di import piu' comuni a cui non posso "rimediare" autonomamente;
- alcune record mancanti nel db (che poi non permettono di completare correttamente l'import)
- domanda mia :-D
Relativo a TUTTI i files:
Spesso lo script trova gia' il record in faldone_sismogramma.
Immagino che sia stato inserito precedentemente, NON lo considero un errore. CORRETTO?
AQU: successo solo in un campo
Prima di andare con l'import, se possibile farlo su Excel, controllare che la "lunghezza" dei campi sia corretta.
Nel caso particolare la "lunghezza" dell'orario, in un campo era 5char invece di 4 e, nei controlli automatici, non sono in grado di decidere se togliere il primo o l'ultimo char.
Oltretutto alcuni campi li utilizzo per comporre il nome del sismogramma, quindi serve avere un controllo maggiore a monte.
BOL, CAT: Molti record hanno componente 'D', non presente nella tabella 'components', quindi vengono ignorati
GIB: Non esiste un osservatorio attivo nel '1969-10-10'
RMP1:
- Non esiste un osservatorio attivo nel '1969-05-15'
- Non esiste un osservatorio attivo nel '1968-11-04'
- numerose righe "mozzate" con questa dicitura: "Rete Mobile Strumento in prova - WARNING: unknown component - conventionally attributed"
- questo faldone_sismogramma::cod_fald non esiste quindi non vengono collegati i sismogrammi (non viene inserito il record in faldone_sismogramma)
RMP_198100001
RMP_198100002
RMP_198100003
RMP_198100004
RMP_198100005
RMP_198100006
RMP_198100007
RMP_198100008
RMP_198100009
RMP_198100010
RMP_198100011
RMP_198100012
RMP_198100013
RMP_198100014
RMP_198100015
RMP_198100016
RMP_198100017
RMP_198100018
RMP_198100019
RMP_198100020
RMP_198100021
RMP_198100022
RMP_198100023
RMP_198100024
RMP_198200001
RMP_198200002
RMP_198200003
RMP_198200004
RMP_198200005
RMP_198200006
RMP_198200007
RMP_198200008
RMP_198200009
RMP_198200010
RMP_198200011
RMP_198200012
RMP_198200013
RMP_198200014
RMP_198200015
RMP_198200016
RMP_198200017
RMP_198200018
RMP_198200019
RMP_198200020
RMP_198200021
RMP_198200022
RMP_198200023
RMP_198200024
RMP_198300001
RMP_198300002
RMP_198300003
RMP_198300004
RMP_198300005
RMP_198300006
RMP_198300007
RMP_198300008
RMP_198300009
RMP_198300010
RMP_198300011
RMP_198300012
RMP_198300013
RMP_198300014
RMP_198300015
RMP_198300016
RMP_198300017
RMP_198300018
RMP_198300019
RMP_198300020
RMP_198300021
RMP_198300022
RMP_198300023
RMP_198300024
RMP_198400001
RMP_198400002
RMP_198400003
RMP_198400004
RMP_198400005
RMP_198400006
RMP_198400007
RMP_198400008
RMP_198400009
RMP_198400010
RMP_198400011
RMP_198400012
RMP_198400013
RMP_198400014
RMP_198400015
RMP_198400016
RMP_198400017
RMP_198400018
RMP_198400019
RMP_198400020
RMP_198400021
RMP_198400022
RMP_198400023
RMP_198400024
RMP_198600011
Aggiornato da Graziano Ferrari circa 7 anni fa
Rispondo. spero più chiaramente possibile, poi è bene sentirci.
Relativo a TUTTI i files:
Spesso lo script trova gia' il record in faldone_sismogramma.
Immagino che sia stato inserito precedentemente, NON lo considero un errore. CORRETTO? ESATTO
AQU: successo solo in un campo
Prima di andare con l'import, se possibile farlo su Excel, controllare che la "lunghezza" dei campi sia corretta.
Nel caso particolare la "lunghezza" dell'orario, in un campo era 5char invece di 4 e, nei controlli automatici, non sono in grado di decidere se togliere il primo o l'ultimo char.
Oltretutto alcuni campi li utilizzo per comporre il nome del sismogramma, quindi serve avere un controllo maggiore a monte. CERTAMENTE STAREMO ATTENTI. FORSE SAREBBE BENE CHE I RECORD CHE HANNO PROBLEMI LI CONCENTRASSI TUTTI NEL FILE DEI PROBLEMI CON UNA NOTA DEL CAMPO CHE CREA PROBLEMA. NOI CORREGGIAMO E SI RIMETTE IN INPORT.
BOL, CAT: Molti record hanno componente 'D', non presente nella tabella 'components', quindi vengono ignorati CAT NON AVEVA PROBLEMI, BOL CORRETTI E ALLEGO
GIB: Non esiste un osservatorio attivo nel '1969-10-10'
NON IMPORTA CHE FAI IL TEST SUI CAMPI DI date_start e date_stop. QUELLI ANDREBBERO AGGIORNATI IN BASE AI SISMOGRAMMI CHE SONO DEL DB. NON E' UN CAMPO PRECOMPILATO
RMP1: MANCA RM1 NEL DB TI DOBBIAMO MANDARE I DATI PER CREARE IL RECORD nelle tabelle observatories e observatories_locations
- Non esiste un osservatorio attivo nel '1969-05-15'
- Non esiste un osservatorio attivo nel '1968-11-04'
- numerose righe "mozzate" con questa dicitura: "Rete Mobile Strumento in prova - WARNING: unknown component - conventionally attributed"
- questo faldone_sismogramma::cod_fald non esiste quindi non vengono collegati i sismogrammi (non viene inserito il record in faldone_sismogramma) VA CREATO IL CODICE FALDONE NELLA RELATIVA TABELLA
RMP_198100001
RMP_198100002
RMP_198100003
Aggiornato da Diego Sorrentino circa 7 anni fa
- Stato modificata da In lavorazione a Risolto
- % Completato modificata da 80 a 100
Inserito in questo ticket anche la funzione del #142
lo script adesso accetta in ingresso i file CSV, seguendo il formato di questo ticket (e descritto sulla pagina http://seismogramrequest.rm.ingv.it/graziano-checks/checks.html )
Viene effettuato un controllo di consistenza sui dati e si invia il report con tutti gli errori trovati, riga per riga.IMPORTANTE
e' stato aggiunto il flag Aggiungi subito i record corretti che permette di inserire immediatamente i record in:
- seismograms (e, di conseguenza, in seismograms_instr_install_new e documents)
- faldone_sismogramma (e, se necessario, in faldone)
- il file sottomesso
- il file con tutte le righe corrette + cod_seismogram
- il file con tutte le righe non corrette + cod_seismogram + errori
Aggiornato da Diego Sorrentino circa 7 anni fa
AGGIORNAMENTO VIA MAIL¶
Ok. Piuttosto, se possibile, andrà tolto da errore la mancanza dell''ora di fine, perché a volte non è indicata sul sismogramma.
Basterebbe metterlo come warning e consentire l'import quando si "flagga" Aggiungi subito i record corretti.
Cioè non mettere un blocco di import per questi casi. Per cui noi prima facciamo il testo senza import dei corretti. Sistemiamo quelli che sono errori veri, rifacciamo il test e se rimangono solo warning irrisolvibili si rifà il giro con import.
Aggiornato da Diego Sorrentino circa 7 anni fa
- Stato modificata da Risolto a Chiuso
modifica per ora_fi fatta, adesso e' un errore non bloccante.
aggiunta altra colonna alla fine dei entrambi i file in cui mostro gli errori non bloccanti
la funzione e' disponibile sul sito:
http://seismogramrequest.rm.ingv.it/graziano-checks/checks.html