From f4f4e6a3509c1af9f0ade8a24179268feea8b58b Mon Sep 17 00:00:00 2001 From: Costa <47926492N@ICO.SCS.local> Date: Tue, 1 Mar 2022 14:26:15 +0100 Subject: [PATCH] =?UTF-8?q?A=C3=B1adir=20soporte=20para=20asignar=20CNAG?= =?UTF-8?q?=20y=20RNADNA.=20Tambi=C3=A9n=20para=20incluir=20automaticament?= =?UTF-8?q?e=20la=20fecha.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sqlFunctions.R | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/sqlFunctions.R b/sqlFunctions.R index f7e9538..e78f649 100644 --- a/sqlFunctions.R +++ b/sqlFunctions.R @@ -102,7 +102,7 @@ sqlGenOVID<-function(conn=dta, nhcs=nhc.test, verb=T, sinc=F, dbtype=NULL){ } } -sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod=T, clinics.mod=T, dbtype=NULL){ +sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod=T, clinics.mod=T, dbtype=NULL, today=F){ if(sqlTables(dta) %>% filter(TABLE_NAME == "UMID") %>% nrow > 0){dbtype<-"UM"} if(sqlTables(dta) %>% filter(TABLE_NAME == "OVID") %>% nrow > 0){dbtype<-"OV"} @@ -150,10 +150,30 @@ sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod } last.samp<-next.samp+(length(nhcs)-1) new.samp<-sprintf("UM%s%02d",Sys.time() %>% format("%y"),next.samp:last.samp) - new.samp.df<-data.frame("NHC"=nhcs, "CODIGO"=new.samp) %>% merge(sqlFetch(dta,"UMID")) %>% arrange(CODIGO) + new.samp.df<-data.frame("NHC"=nhcs, "CODIGO"=new.samp) %>% merge(sqlFetch(dta,"UMID"), all.x=T) %>% arrange(CODIGO) samples.exp<-merge(samples %>% slice(0), new.samp.df %>% select(-NHC), all=T) %>% select(colnames(samples)) %>% arrange(CODIGO) + if (today==TRUE){ + samples.exp$FECHA_RECEPCION<-format(Sys.Date(), "%d/%m/%y") + } } + nhc.table<-read.xlsx(file, sheet = "NHC") + + if (any(sapply(nhc.table$Samples, function(x) "cnag" %in% strsplit(x,",")[[1]]) == T)){ + nhcs.cnag<-nhc.table[sapply(nhc.table$Samples, function(x) "cnag" %in% strsplit(x,",")[[1]]),"NHC"] + umid.cnag<-sqlFetch(conn, "UMID") %>% filter(NHC %in% nhcs.cnag) %>% pull(UMID) + sample.cnag<-samples.exp %>% filter(UMID %in% umid.cnag) %>% pull(CODIGO) + cnag.exp<-merge(data.frame("UMID"=umid.cnag, "CODIGO"=sample.cnag), sqlFetch(dta, "CNAG") %>% slice(0), all=T) + if (today==TRUE){ + cnag.exp$FECHA_ENVIO<-format(Sys.Date(), "%d/%m/%y") + } + }else{cnag.exp<-NULL} + if (any(sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]) == T)){ + nhcs.rna<-nhc.table[sapply(nhc.table$Samples, function(x) "rna" %in% strsplit(x,",")[[1]]),"NHC"] + umid.rna<-sqlFetch(conn, "UMID") %>% filter(NHC %in% nhcs.rna) %>% pull(UMID) + sample.rna<-samples.exp %>% filter(UMID %in% umid.rna) %>% pull(CODIGO) + rna.exp<-merge(data.frame("UMID"=umid.rna, "CODIGO"=sample.rna), sqlFetch(dta, "RNADNA") %>% slice(0), all=T) + }else{rna.exp<-NULL} if (clinics.mod){ ## Importar los datos clĂ­nicos de pacientes existentes y generar nueva entrada par los nuevos upd.clinics<-sqlFetch(conn, "CLINICOS") @@ -168,6 +188,8 @@ sqlWriteTemp<-function(conn=dta, nhcs=nhc.test, file="queryOV.xlsx", samples.mod writeData(wb, "NHC", merge(data.frame("NHC"=nhcs), upd.umid, sort = F)) if (samples.mod){writeData(wb,"samples",samples.exp)} if (clinics.mod){writeData(wb,"CLINICS",upd.clinics)} + writeData(wb,"CNAG",cnag.exp) + writeData(wb,"RNADNA",rna.exp) saveWorkbook(wb,file,overwrite = TRUE) } }