Corregido el error en el que no había pacientes nuevos en la función sqlGenOVID.

This commit is contained in:
Costa
2021-12-20 16:17:37 +01:00
parent 944b5df181
commit 8c8065fe9d
+25 -21
View File
@@ -74,27 +74,31 @@ sqlGenOVID<-function(conn=dta, nhcs=nhc.test, verb=T, sinc=F, dbtype=NULL){
dbid<-sqlFetch(conn,db["dbcode"]) dbid<-sqlFetch(conn,db["dbcode"])
new.nhc<-nhcs[!nhcs %in% dbid$NHC] new.nhc<-nhcs[!nhcs %in% dbid$NHC]
next.num<-gsub(db["dbcode"],"",dbid[,db["dbcode"]]) %>% as.numeric %>% max(na.rm=T)+1 if(length(new.nhc) > 0){
last.num<-next.num+(length(new.nhc)-1) next.num<-gsub(db["dbcode"],"",dbid[,db["dbcode"]]) %>% as.numeric %>% max(na.rm=T)+1
newtab<-data.frame("NHC"=new.nhc, "ID"=sprintf("%s%04d",db["dbcode"],next.num:last.num)) %>% rename(!!db["dbcode"]:="ID") last.num<-next.num+(length(new.nhc)-1)
if(dbtype=="OV"){ newtab<-data.frame("NHC"=new.nhc, "ID"=sprintf("%s%04d",db["dbcode"],next.num:last.num)) %>% rename(!!db["dbcode"]:="ID")
dbid<-rbind(dbid,newtab) if(dbtype=="OV"){
} dbid<-rbind(dbid,newtab)
if(dbtype=="UM"){ }
dbid<-merge(dbid, newtab, all=T) %>% select(Id,NHC,UMID) %>% arrange(Id) if(dbtype=="UM"){
dbid$Id<-as.numeric(rownames(dbid)) dbid<-merge(dbid, newtab, all=T) %>% select(Id,NHC,UMID) %>% arrange(Id)
dbid$NHC<-as.numeric(dbid$NHC) dbid$Id<-as.numeric(rownames(dbid))
} dbid$NHC<-as.numeric(dbid$NHC)
rownames(dbid)<-as.character(1:nrow(dbid)) }
dbid<-filter(dbid, NHC %in% new.nhc) %>% mutate(NHC=as.character(NHC)) rownames(dbid)<-as.character(1:nrow(dbid))
dbid<-filter(dbid, NHC %in% new.nhc) %>% mutate(NHC=as.character(NHC))
if (sinc){
### !! Atención, esto cambia la base de datos: if (sinc){
sqlSave(conn, dbid, tablename=db["dbcode"], append = T) ### !! Atención, esto cambia la base de datos:
print("La base ha sido actualizada.") sqlSave(conn, dbid, tablename=db["dbcode"], append = T)
} print("La base ha sido actualizada.")
if (verb){ }
return(dbid) if (verb){
return(dbid)
}
}else{
print("No hay pacientes nuevos.")
} }
} }