Käyttäjä:Sharp/Työaika
Opasnet Suomista
Versio hetkellä 11. heinäkuuta 2014 kello 07.12 – tehnyt Sharp (keskustelu | muokkaukset) (→Kohdistamon kirjaukset)
| 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)
Kohdistamon kirjaukset
library(OpasnetUtils)
library(ggplot2)
objects.latest("Op_en6007", code_name = "answer") # We need timing
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ä)
|
Katso myös
Noudettu kohteesta ”https://fi.opasnet.org/index.php?title=Käyttäjä:Sharp/Työaika&oldid=24884”