Progetto

Generale

Profilo

Actions

Nuova funzione #150

chiusa

Modifica #142: Modifica nella gestione dell'input della procedure "Controlla record su database caricando il CSV"

Aggiungere funzione "AGGIUNGI record su database caricando il CSV"

Aggiunto da Diego Sorrentino oltre 7 anni fa. Aggiornato circa 7 anni fa.

Stato:
Chiuso
Priorità:
Normal
Assegnato a:
Inizio:
11-01-2018
Scadenza:
% Completato:

100%

Tempo stimato:

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

Ssimogrammi.zip (1,55 MB) Ssimogrammi.zip files csv da controllare/importare Diego Sorrentino, 11-01-2018 18:58
TabellaCampi.xlsx (40,9 KB) TabellaCampi.xlsx Schema della divisione dei dati nelle tabelle Diego Sorrentino, 11-01-2018 18:58
BOL.csv (1,18 MB) BOL.csv Graziano Ferrari, 06-02-2018 12:53
AQU.csv (1,01 MB) AQU.csv Graziano Ferrari, 06-02-2018 12:53
CAT.csv (225 KB) CAT.csv Graziano Ferrari, 06-02-2018 12:53
DUB.csv (622 KB) DUB.csv Graziano Ferrari, 06-02-2018 12:53
DBN.csv (710 KB) DBN.csv Graziano Ferrari, 06-02-2018 12:53
GIB.csv (2,1 MB) GIB.csv Graziano Ferrari, 06-02-2018 12:53
MES.csv (1,18 MB) MES.csv Graziano Ferrari, 06-02-2018 12:53
PCN.csv (1,38 MB) PCN.csv Graziano Ferrari, 06-02-2018 12:53
File_CSV_corretti.zip (1,27 MB) File_CSV_corretti.zip Graziano Ferrari, 06-02-2018 12:56
BOL.csv (1,19 MB) BOL.csv Graziano Ferrari, 21-02-2018 14:40
Actions #1

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. 1 valore di COD_STR e' impostato a 'NC' mentre mi aspetto un numero
  2. Il valore Timbro spesso e' a '*'
  3. il valore CodiceFaldone spesso e' a '*', non inserisco TUTTA LA SERIE di record (delle varie tabelle), oppure non aggiorno solo la tabella dei faldoni?
  4. Il campo "restauro" su Db ha una serie di costrizioni, puo' essere T,R,N,vuoto. Sul file e' '*', lo considero vuoto?
BOL.csv
  1. assente l'header della colonna "variante". Basta l'aggiunta/assenza di un campo per far shiftare gli indici degli array creando il panico.
CAT.csv
  1. ci sono alcuni NomeStazione=Comp1=Comp2=Comp3='*' immagino che vadano saltati...
DBN.csv
  1. manca completamente la colonna Variante, scazzano tutti gli indici...
  2. il codice stazione e' molto "ballerino"
  3. il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
  4. alcuni tipi di carta non sono presenti nel db, altri hanno caratteri in piu' che fanno saltare i confronti
DUB.csv
  1. manca completamente la colonna Variante, scazzano tutti gli indici...
GIB.csv
  1. manca codice faldone, quindi (AD ORA) non aggiungo numerose righe
MES.csv
  1. comp1 = "T" input non valido
PCN.csv
  1. assente l'header della colonna "variante". Basta l'aggiunta/assenza di un campo per far shiftare gli indici degli array creando il panico.
  2. il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
RMP1.csv
  1. il confronto sul nome delle componenti tra file.csv e tabella sballa (anche un "_" in piu' fa saltare il check)
  2. COD_POSS = '*' devo saltare tutta la riga?

Aggiornato da Graziano Ferrari circa 7 anni fa

Per quanto riguarda la domanda 1 soprassiedo per parlarne un attimo insieme. Sulla domanda 2 si allegano file corretti.
Graziano

Actions #3

Aggiornato da Graziano Ferrari circa 7 anni fa

Allego per comodità file zip dei file precedentemente spediti. Anche perché ce ne sono 2 in più.
G

Actions #4

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)

Actions #5

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

Actions #6

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

Actions #7

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

Actions #8

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)
a fine script viene inviata una mail con 3 allegati:
  1. il file sottomesso
  2. il file con tutte le righe corrette + cod_seismogram
  3. il file con tutte le righe non corrette + cod_seismogram + errori
Actions #9

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.

Actions #10

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

Actions

Esporta su Atom PDF