Ero sivun ”Käyttäjä:Sharp/Työaika” versioiden välillä
Siirry navigaatioon
Siirry hakuun
| Rivi 17: | Rivi 17: | ||
objects.latest("Op_en6007", code_name = "answer") # We need timing | objects.latest("Op_en6007", code_name = "answer") # We need timing | ||
kirjausajat <- function(alku, loppu, | kirjausajat <- function(alku, loppu, tekijä){ | ||
dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset') | dat <- opbase.data("Op_fi3948", subset = 'Kirjaukset') | ||
poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot') | poistot <- opbase.data("Op_fi3948", subset = 'Kirjauspoistot') | ||
#oprint(dat) | #oprint(dat) | ||
#oprint(dat %in% poistot$Kirjausnro) | #oprint(dat %in% poistot$Kirjausnro) | ||
pois <- as.numeric(as.character(poistot$Kirjausnro)) | pois <- as.numeric(as.character(poistot$Kirjausnro)) | ||
pois <- subset(pois, pois > 0) | pois <- subset(pois, pois > 0) | ||
dat <- dat[-pois , colnames(dat) != "Result"] | dat <- dat[-pois , colnames(dat) != "Result"] | ||
#oprint(dat) | #oprint(dat) | ||
#tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus") | #tuntikirjaus <- opbase.data("Op_fi3950.tuntikirjaus") | ||
#työtehtävät <- opbase.data("Op_fi3950.tyotehtavat") | #työtehtävät <- opbase.data("Op_fi3950.tyotehtavat") | ||
#työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma") | #työsuunnitelma <- opbase.data("Op_fi3950.tyosuunnitelma") | ||
#tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"] | #tuntikirjaus <- tuntikirjaus[colnames(tuntikirjaus) != "Obs"] | ||
#työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"] | #työtehtävät <- työtehtävät[colnames(työtehtävät) != "Obs"] | ||
#työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"] | #työsuunnitelma <- työsuunnitelma[colnames(työsuunnitelma) != "Obs"] | ||
#colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu" | #colnames(työsuunnitelma)[colnames(työsuunnitelma) == "Result"] <- "Loppu" | ||
#työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni") | #työsuunnitelma <- data.frame(työsuunnitelma, Henkilö = "Jouni") | ||
if (tekijä != "Kaikki") dat <- dat[dat$Henkilö == tekijä , ] | |||
dat <- dat[dat$ | molemmat <- dat[dat$Loppu != "NA" , ] | ||
työ <- dat[dat$Loppu == "NA" , ] | |||
#oprint(työ) | |||
ulos <- työ[työ$Työ == "Ulos" , ] | |||
#oprint(ulos) | |||
työ <- työ[työ$Työ != "Ulos" , ] | |||
#oprint(työ) | |||
työ | if (length(työ$Työ) == length(ulos$Työ)) työ$Loppu <- ulos$Työ else{ | ||
työ <- työ[-nrow(työ), ] | |||
työ$Loppu <- ulos$Aika | |||
} | |||
ulos | työ <- rbind(työ, molemmat) | ||
oprint(työ) | |||
#oprint(molemmat) | |||
# | |||
#if (projekti != NULL) dat <- dat[ | |||
#if (tekijä != NULL)dat <- dat[dat$Henkilö == tekijä , ] | |||
dat$Aika <- as.POSIXct(dat$Aika, tz = 'Europe/Helsinki') | |||
työ <- dat[dat$Työ != "Ulos" , ] | |||
työ <- as.numeric(työ$Aika) | |||
molemmat <- dat[dat$Loppu != "NA" , ] | |||
molemmat$Loppu <- as.POSIXct(molemmat$Loppu, tz = 'Europe/Helsinki') | |||
ulos <- dat[dat$Työ == "Ulos" , ] | |||
ulos <- c(as.numeric(ulos$Aika), as.numeric(molemmat$Loppu)) | |||
if( length(työ) > length(ulos)){ | |||
työaika <- (sum(ulos)-sum(työ)+tail(työ, n=1)) | |||
} else { | |||
työaika <- (sum(ulos)-sum(työ)) | |||
} | |||
työaika <- (round(työaika/3600, digits = 2)) | |||
cat("Valitulla välillä tehty työaika on yhteensä ", työaika, " tuntia. \n") | |||
dat <- dat[ | |||
dat$Aika >= as.POSIXct(alku, tz = 'Europe/Helsinki') & | |||
dat$Aika <= as.POSIXct(loppu, tz = 'Europe/Helsinki') +3600*24 , | |||
] | |||
out <- dat[1:4] | |||
out$Aika <- as.character(out$Aika) | |||
oprint(out) | |||
#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ä) | kirjausajat(alku, loppu, tekijä) | ||
</rcode> | </rcode> | ||
Versio 10. heinäkuuta 2014 kello 07.40
| Obs | Aikalaji | Projekti | Alaprojekti | alku | loppu | toistoväli | asti | kuvaus |
|---|---|---|---|---|---|---|---|---|
| 1 | Työaika | Opasnet |
←#: Laskutettu 29.6.2012 asti --Lhiq 19. huhtikuuta 2013 kello 12.09 (EEST)