Hibiscus Transfer eingerichtet
This commit is contained in:
@@ -27,3 +27,4 @@ resolve_contact <- function(conn, empfaenger_name, empfaenger_konto) {
|
||||
collect()
|
||||
if (nrow(bc) > 0) bc$contact_id[1] else NA_integer_
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
##
|
||||
## Datum : 2026-05-13_09-37
|
||||
## Name : Christian Oswald
|
||||
## Datei : sync_hibiscus.R
|
||||
## Projekt : gemfin-shiny
|
||||
## Kommentar: Liest Daten aus der Hibiscus Datenbank
|
||||
##
|
||||
|
||||
## * Initialisierung ----
|
||||
|
||||
sync_hibiscus <- function(){
|
||||
if (as.character(Sys.info())[1] == "Linux") {
|
||||
jdbc_url <- "jdbc:h2:/home/cosw/.jameica/hibiscus/h2db/hibiscus;IFEXISTS=TRUE;CIPHER=AES"
|
||||
pw <- "LsOX6Ytldl4lJBcVoA6j+MDLzaA= LsOX6Ytldl4lJBcVoA6j+MDLzaA="
|
||||
}
|
||||
|
||||
if(as.character(Sys.info())[1] == "Windows"){
|
||||
source("c:/Users/chris/R/rfunc/fehler_add.R")
|
||||
url <- "jdbc:h2:~/Insync/Projekte/Gemeindefinanzen/jameica/hibiscus/h2db/hibiscus;IFEXISTS=TRUE;CIPHER=AES"
|
||||
h2jar <- "C:/Users/chris/bin/jameica/lib/h2/migration-h2/disabled/h2-1.4.199.jar"
|
||||
}
|
||||
# JDBC - Verbindung ----
|
||||
if (as.character(Sys.info())[1] == "Darwin") {
|
||||
source("/Users/cosw/R/rfunc/fehler_add.R")
|
||||
h2jar <- "/Users/cosw/bin/jameica.app/lib/h2/migration-h2/disabled/h2-1.4.199.jar"
|
||||
url <- "jdbc:h2:/Users/cosw/insync/Projekte/Gemeindefinanzen/jameica/hibiscus/h2db/hibiscus;IFEXISTS=TRUE;CIPHER=AES"
|
||||
}
|
||||
user <- "hibiscus"
|
||||
pw <- "FbvGoL+yJlH1GtUojnC8ZajYuTA= FbvGoL+yJlH1GtUojnC8ZajYuTA="
|
||||
drv <- JDBC("org.h2.Driver", h2jar, identifier.quote="`")
|
||||
|
||||
con_j <- dbConnect(drv, url, user, pw)
|
||||
originaldaten <- dbReadTable(con_j, "UMSATZ")
|
||||
dbDisconnect(con_j)
|
||||
return(originaldaten)
|
||||
}
|
||||
+30
-16
@@ -329,7 +329,7 @@ if(ok){
|
||||
|
||||
|
||||
## * Umsatz-Tabelle ----
|
||||
if(F){
|
||||
if(ok){
|
||||
exec_sql("CREATE TABLE hibiscus_transactions (
|
||||
id INTEGER PRIMARY KEY,
|
||||
konto_id INTEGER,
|
||||
@@ -347,20 +347,35 @@ if(F){
|
||||
art TEXT,
|
||||
customerref TEXT,
|
||||
kommentar TEXT,
|
||||
checksum REAL,
|
||||
umsatztyp_id INTEGER,
|
||||
flags REAL,
|
||||
gvcode INTEGER,
|
||||
addkey INTEGER,
|
||||
txid TEXT,
|
||||
purposecode TEXT,
|
||||
endtoendid TEXT,
|
||||
mandateid TEXT,
|
||||
empfaenger_name2 TEXT,
|
||||
creditorid TEXT
|
||||
empfaenger_name2 TEXT
|
||||
);")
|
||||
|
||||
ok <- NA
|
||||
daten_hibiscus <- sync_hibiscus() %>%
|
||||
transmute(
|
||||
id = as.integer(ID),
|
||||
konto_id = as.integer(KONTO_ID),
|
||||
empfaenger_konto = EMPFAENGER_KONTO,
|
||||
empfaenger_blz = EMPFAENGER_BLZ,
|
||||
empfaenger_name = EMPFAENGER_NAME,
|
||||
betrag = as.numeric(BETRAG),
|
||||
zweck =ZWECK,
|
||||
zweck2 =ZWECK2,
|
||||
zweck3 =ZWECK3,
|
||||
datum =as.character(DATUM),
|
||||
valuta = as.character(VALUTA),
|
||||
saldo = SALDO,
|
||||
primanota = PRIMANOTA,
|
||||
art =ART,
|
||||
customerref =CUSTOMERREF,
|
||||
kommentar = KOMMENTAR,
|
||||
endtoendid = ENDTOENDID,
|
||||
mandateid = MANDATEID,
|
||||
empfaenger_name2 =EMPFAENGER_NAME2
|
||||
)
|
||||
dbWriteTable(con_s, "hibiscus_transactions", daten_hibiscus, append = T)
|
||||
anz <- dbxSelect(con_s, "select count(id) FROM hibiscus_transactions") %>% pull
|
||||
ok <- nrow(daten_hibiscus) == anz
|
||||
error_f <- fehler_add("Die Tabelle der Umsätze (Hibiscus) wurde erstellt", ok, error_f)
|
||||
} ## ------------------------------------------------------- 2026-05-12 17:05
|
||||
|
||||
@@ -405,7 +420,7 @@ if(ok){
|
||||
} ## ------------------------------------------------------- 2026-05-12 17:07
|
||||
|
||||
|
||||
## * Projekct - Tabelle ----
|
||||
## * Projekt - Tabelle ----
|
||||
if(ok){
|
||||
exec_sql("CREATE TABLE projects (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -444,14 +459,14 @@ if(ok){
|
||||
mutate(
|
||||
ext = file_ext(original_name),
|
||||
zielname = paste0(zielpfad, id, ".", ext)
|
||||
)
|
||||
)
|
||||
anz <- nrow(eintraege)
|
||||
for(ind in 1:nrow(eintraege)){
|
||||
herkunft <- paste0(pfad, eintraege$original_name[ind])
|
||||
zielname <- eintraege$zielname[ind]
|
||||
|
||||
if( file.exists(herkunft) ){
|
||||
cat(ind, " von ", anz, "\n")
|
||||
# cat(ind, " von ", anz, "\n")
|
||||
file.copy(
|
||||
from = herkunft,
|
||||
to = zielname,
|
||||
@@ -461,7 +476,6 @@ if(ok){
|
||||
# Check
|
||||
neue_dateien <- list.files("~/Documents/workspace/gemfin-shiny/www/documents/")
|
||||
length(neue_dateien)
|
||||
|
||||
length(eintraege)
|
||||
nv <- att[-which(eintraege %in% neue_dateien),]
|
||||
error_f <- fehler_add("Alle Dateien übertragen", nrow(nv) == 0, error_f)
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user