Ero sivun ”Käyttäjä:Sharp/Työaika” versioiden välillä

Opasnet Suomista
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, tekija){
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$Henkilö == tekija , ]
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ö)


dat$Aika <- as.POSIXct(dat$Aika, tz = 'Europe/Helsinki')


työ <- dat[dat$Työ != "Ulos" , ]
if (length(työ$Työ) == length(ulos$Työ)) työ$Loppu <- ulos$Työ else{
työ <- as.numeric(työ$Aika)
työ <- työ[-nrow(työ), ]
molemmat <- dat[dat$Loppu != "NA" , ]
työ$Loppu <- ulos$Aika
molemmat$Loppu <- as.POSIXct(molemmat$Loppu, tz = 'Europe/Helsinki')
}
ulos <- dat[dat$Työ == "Ulos" , ]
työ <- rbind(työ, molemmat)
ulos <- c(as.numeric(ulos$Aika), as.numeric(molemmat$Loppu))
oprint(työ)
if( length(työ) > length(ulos)){
#oprint(molemmat)
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()
#
}


#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

Ero sivun ”Käyttäjä:Sharp/Työaika” versioiden välillä(d)
ObsAikalajiProjektiAlaprojektialkulopputoistoväliastikuvaus
1TyöaikaOpasnet

#: Laskutettu 29.6.2012 asti --Lhiq 19. huhtikuuta 2013 kello 12.09 (EEST)


Kohdistamon kirjaukset

alku:
..

loppu:
..

tekijä:

+ Näytä koodi

Katso myös