Ero sivun ”Kohdistamo” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
| Rivi 61: | Rivi 61: | ||
<rcode graphics=0 name="Output" embed=1 showcode=-1 label="Hae kirjauksia" variables=" | |||
category:Hae kirjauksia| | |||
name:alku|description:Seurantajakson alku|type:date|default:2014-02-06| | |||
name:loppu|description:Seurantajakson loppu|type:date| | |||
name:tekijä|description:Työntekijän käyttäjätunnus|type:text|default:Kaikki| | |||
name:projekti|description:Projekti|type:selection|options: | |||
'Kaikki';Kaikki; | |||
'STM raportointi ja laskutus';STM raportointi ja laskutus; | |||
'EU raportointi ja laskutus';EU raportointi ja laskutus; | |||
'TEKES raportointi ja laskutus';TEKES raportointi ja laskutus; | |||
'SA raportointi ja laskutus';SA raportointi ja laskutus; | |||
'ESR/EAKR raportointi ja laskutus';ESR/EAKR raportointi ja laskutus; | |||
'MUUT raportointi ja laskutus';MUUT raportointi ja laskutus; | |||
'Budjettirahoitus';Budjettirahoitus; | |||
'Tilintarkastus';Tilintarkastus; | |||
'Yleinen projektinhallinta ja neuvonta';Yleinen projektinhallinta ja neuvonta; | |||
'Kehittäminen';Kehittäminen; | |||
'Koulutus';Koulutus; | |||
'Sisäiset palaverit';Sisäiset palaverit; | |||
'Vuosibudjetointi';Vuosibudjetointi; | |||
'Tilinpäätös';Tilinpäätös; | |||
'Pneumokokkirokote';Pneumokokkirokote; | |||
'LVM-tulevaisuuskatsaus';LVM-tulevaisuuskatsaus; | |||
'Oletus';Oletus; | |||
'Muu';Muu | |||
|default:'Kaikki' | |||
"> | |||
library(OpasnetUtils) | |||
library(ggplot2) | |||
objects.latest("Op_en6007", code_name = "answer") # We need timing | |||
<rcode name="answer" embed=1 showcode=-1 label="Poista | kirjausajat <- function(alku, loppu, tekijä){ | ||
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset') | |||
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot') | |||
#oprint(dat) | |||
#oprint(dat %in% poistot$Kirjausnro) | |||
pois <- as.numeric(as.character(poistot$Kirjausnro)) # Varoitus nousee tästä, kun yritetään muuttaa numericiksi ei-numeerinen. | |||
pois <- subset(pois, pois > 0) | |||
dat <- dat[-pois , colnames(dat) != "Result"] # Tässä kohti voisi käyttää %in%iä, mutta dat[dat %in% poistot$Kirjausnro , ] | |||
# ei ainakaan toiminut. En siis tiedä, miten kutsua dat:in rivinumerosaraketta. | |||
#oprint(dat) | |||
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus") | |||
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat") | |||
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma") | |||
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"] | |||
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"] | |||
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"] | |||
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu" | |||
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni") | |||
if (tekijä != "Kaikki") tekijä <- unlist(strsplit(tekijä,",")) else tekijä <- c("Sharp", "Heta", "Pauli", "Jaakko", "Mori", "Julia") | |||
dat <- dat[dat$Henkilö %in% tekijä , ] | |||
molemmat <- dat[dat$Loppu != "NA" , ] | |||
työ <- dat[dat$Loppu == "NA" , ] | |||
ulos <- työ[työ$Työ == "Ulos" , ] | |||
työ <- työ[työ$Työ != "Ulos" , ] | |||
if (length(työ$Työ) > length(ulos$Työ)) {työ <- työ[-((nrow(ulos)+1):nrow(työ)), ] | |||
työ$Loppu <- ulos$Aika | |||
} else työ$Loppu <- ulos$Aika | |||
työ <- rbind(työ, molemmat) | |||
if (projekti != "Kaikki") työ <- työ[työ$Työ == projekti , ] | |||
työ$Aika <- as.POSIXct(työ$Aika, tz = 'Europe/Helsinki') | |||
työ$Loppu <- as.POSIXct(työ$Loppu, tz = 'Europe/Helsinki') | |||
työ <- työ[ | |||
työ$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') & | |||
työ$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 , | |||
] | |||
työaika <- (sum(as.numeric(työ$Loppu))-sum(as.numeric(työ$Aika))) | |||
työaika <- (round(työaika/3600, digits = 2)) | |||
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n") | |||
työ$Aika <- as.character(työ$Aika) | |||
työ$Loppu <- as.character(työ$Loppu) | |||
oprint(työ) | |||
#oprint(työsuunnitelma) | |||
#oprint(työtehtävät) | |||
#out <- poistot | |||
#oprint(out) | |||
#tuntikirjaus <- timing(tuntikirjaus, timecol = c("Aika", "Loppu"), weeks = 6) | |||
#timeline <- makeTimeline(tuntikirjaus) | |||
#timeline <- timeline[order(timeline$Time) , ] | |||
#timeline$Time[nrow(timeline)] <- max(timeline$Time, na.rm = TRUE) | |||
#for(i in 1:(nrow(timeline)-1)) {timeline$end[i] <- timeline$Time[i+1]} | |||
#timeline[nrow(timeline), "end"] <- NA | |||
#timeline$end <- as.POSIXct(timeline$end, origin = "1970-01-01") | |||
#ggplot(timeline, aes( | |||
# xmin = Time, # as.Date(as.character(Start)) | |||
# xmax = end, # as.Date(as.character(End)) + 2 | |||
# ymin = as.numeric(Henkilö), | |||
# ymax = as.numeric(Henkilö) + 1, | |||
# fill = Työ)) + geom_rect() | |||
# | |||
} | |||
kirjausajat(alku, loppu, tekijä) | |||
</rcode> | |||
<rcode name="answer" embed=1 showcode=-1 label="Poista kirjaus" variables=" | |||
name:nro|description:Poistettavan kirjauksen Obs|type:text| | name:nro|description:Poistettavan kirjauksen Obs|type:text| | ||
category:Kirjauksen poisto| | category:Kirjauksen poisto| | ||
| Rivi 79: | Rivi 197: | ||
</rcode> | </rcode> | ||
objects.store(kirjausajat) | |||
* Katso ohjeita sivulta [[Kohdistamo/Ohje]] | * Katso ohjeita sivulta [[Kohdistamo/Ohje]] | ||
* {{tuloslinkki}} | * {{tuloslinkki}} | ||