Añadir la sincronización de tablas para CC.
This commit is contained in:
@@ -520,6 +520,77 @@ server <- function(input, output) {
|
||||
sqlSave(dta, clinics.new, tablename="CLINICS", append = T, varTypes = varTypes, rownames = F)
|
||||
print("Tabla CLINICS sincronizada.")
|
||||
}
|
||||
if (input$dbtype %in% c("CC")){
|
||||
## Nuevas entradas en MUESTRAS
|
||||
nsamples<-values[["samples"]] %>% nrow
|
||||
upd.samples<-values[["samples"]]
|
||||
if (nrow(upd.samples) > 0){rownames(upd.samples)<-(nsamples+1):(nsamples+nrow(upd.samples)) %>% as.character}
|
||||
|
||||
if (nrow(upd.samples) > 0){
|
||||
upd.samples$FECHA_RECEPCION<-lubridate::parse_date_time(upd.samples$FECHA_RECEPCION, c("d/m/Y","d/m/y")) %>% as.Date()
|
||||
upd.samples$TIPO<-as.character(upd.samples$TIPO)
|
||||
upd.samples$OBS<-as.character(upd.samples$OBS)
|
||||
### !! Atención, esto cambia la base de datos:
|
||||
sqlSave(dta, upd.samples, tablename="MUESTRAS", append = T, varTypes = c("FECHA_RECEPCION"="Date"), rownames = F)
|
||||
print("Tabla MUESTRAS sincronizada.")
|
||||
}
|
||||
|
||||
## Entradas modificadas en CLINICOS
|
||||
upd.clinics<-values[["CLINICS"]]
|
||||
PATID.mod<-upd.clinics$PATID[upd.clinics$PATID %in% (sqlFetch(dta, "CLINICOS") %>% pull(PATID))]
|
||||
rnames<-sqlFetch(dta, "CLINICOS") %>% filter(PATID %in% PATID.mod) %>% rownames
|
||||
clinics.mod<-upd.clinics %>% filter(PATID %in% PATID.mod) %>% select(-NHC)
|
||||
rownames(clinics.mod)<-rnames
|
||||
|
||||
### !! Atención, esto cambia la base de datos:
|
||||
fechas<-colnames(clinics.mod)[grepl("date|MET_DX|DoB", colnames(clinics.mod), ignore.case = T)]
|
||||
for (i in fechas){
|
||||
clinics.mod[,i]<-lubridate::parse_date_time(clinics.mod[,i], c("d/m/Y","d/m/y")) %>% as.Date()
|
||||
}
|
||||
sqlUpdate(dta, clinics.mod,"CLINICOS", index="PATID")
|
||||
print("Tabla CLINICOS modificada.")
|
||||
|
||||
## Nuevas entradas en CLINICOS
|
||||
nsamples.clin<-sqlFetch(dta, "CLINICOS") %>% nrow
|
||||
PATID.new<-upd.clinics$PATID[!upd.clinics$PATID %in% (sqlFetch(dta, "CLINICOS") %>% pull(PATID))]
|
||||
clinics.new<-upd.clinics %>% filter(PATID %in% PATID.new) %>% select(-NHC)
|
||||
if (length(PATID.new) > 0){rownames(clinics.new)<-(nsamples.clin+1):(nsamples.clin+nrow(clinics.new)) %>% as.character}
|
||||
|
||||
### !! Atención, esto cambia la base de datos:
|
||||
fechas<-colnames(clinics.new)[grepl("date|MET_DX|DoB", colnames(clinics.new), ignore.case = T)]
|
||||
varTypes<-rep("Date",length(fechas))
|
||||
names(varTypes)<-fechas
|
||||
for (i in fechas){
|
||||
clinics.new[,i]<-lubridate::parse_date_time(clinics.new[,i], c("d/m/Y","d/m/y","Y-m-d")) %>% as.Date()
|
||||
}
|
||||
sqlSave(dta, clinics.new, tablename="CLINICOS", append = T, varTypes = varTypes, rownames = F)
|
||||
print("Tabla CLINICOS sincronizada.")
|
||||
|
||||
## Nuevas entradas en CNAG
|
||||
if (nrow(values[["cnag"]]) > 0){
|
||||
cnag.sync<-values[["cnag"]]
|
||||
fechas<-colnames(cnag.sync)[sqlFetch(dta, "CNAG") %>% sapply(lubridate::is.POSIXct)]
|
||||
varTypes<-rep("Date",length(fechas))
|
||||
names(varTypes)<-fechas
|
||||
print(fechas)
|
||||
for (i in fechas){
|
||||
cnag.sync[,i]<-lubridate::parse_date_time(cnag.sync[,i], c("d/m/Y","d/m/y","Y-m-d")) %>% as.Date()
|
||||
}
|
||||
sqlSave(dta, cnag.sync, tablename="CNAG", append = T, varTypes = varTypes, rownames = F)
|
||||
}
|
||||
|
||||
## Nuevas entradas en RNADNA
|
||||
if (nrow(values[["rna"]]) > 0){
|
||||
rna.sync<-values[["rna"]]
|
||||
fechas<-colnames(rna.sync)[sqlFetch(dta, "RNADNA") %>% sapply(lubridate::is.POSIXct)]
|
||||
varTypes<-rep("Date",length(fechas))
|
||||
names(varTypes)<-fechas
|
||||
for (i in fechas){
|
||||
rna.sync[,i]<-lubridate::parse_date_time(rna.sync[,i], c("d/m/Y","d/m/y","Y-m-d")) %>% as.Date()
|
||||
}
|
||||
sqlSave(dta, rna.sync, tablename="RNADNA", append = T, varTypes = varTypes, rownames = F)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
## Visor
|
||||
|
||||
Reference in New Issue
Block a user