Poročilo o urah

# monthly report
# by Vladimir Batagelj, January 2024

# parameters
# U <- c("L","P"," ")

ustanova <- "Inštitut za matematiko, fiziko in mehaniko"; U <- c("L");
CSV <- "batageljIMFMjan24.csv"; TEX <- "batageljIMFMjan24.tex"; 

# ustanova <- "Univerza na Primorskem"; U <- c("P");
# CSV <- "batageljUPjan24.csv"; TEX <- "batageljUPjan24.tex"; 

delavec <- "Vladimir Batagelj"
mesec <- "Januar"; leto <- "2024"

wdir <- "C:/Users/vlado/docs/papers/2024/biro"
setwd(wdir)

hmin <- function(h,m) paste(h,formatC(m,width=2,flag="0"),sep=":")

D <- read.table("jan.csv",sep="|",skip=1,head=TRUE)
D <- D[!is.na(D$sh),]
dc <- D$d[1]; mc <- D$m[1]; yc <- D$y[1]

Mode <- c(D="delo od doma",O="dopust",B="bolniška",P="službena pot",
  I="delo na IMFM")
Dweek <- c(Po="ponedeljek",To="torek",Sr="sreda",Če="četrtek",
  Pe="petek",So="sobota",Ne="nedelja")

csv <- file(CSV,"w",encoding="UTF-8")
tex <- file(TEX,"w",encoding="UTF-8")
BOM <- '\xEF\xBB\xBF'; cat(BOM,file=tex); cat(BOM,file=csv)

# pieces of text

dhead <- r"(% poročilo IMFM
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc} 
\usepackage{geometry} 
\geometry{a4paper,landscape,margin=12mm} 
\usepackage{graphicx} 
\begin{document}
\centerline{\textbf{\Large EVIDENCA O IZRABI DELOVNEGA ČASA}}\hspace{12pt}

\noindent 
)"
thead <- r"(
Delavčev mesečni fond ur:\\[4mm]
\setlength{\arrayrulewidth}{0.25mm}
\begin{tabular}{l|l|l|r|c|c|c|c|c|}
\hline\hline
Datum & Dan & Vrsta dela& Pričetek & Odmor & Zaključek & Opravljeno & Presežek     & Skupaj \\
          &        &   & ur:min   &            & ur:min     & ur:min       & primanjkljaj &           \\
\hline\hline
)"
dtail <- r"(
\hline
\end{tabular}\medskip

\noindent 
Delavec s podpisom potrjujem verodostojnost evidence o izrabi delovnega časa
\end{document}
)"

# processing

cat(ustanova,": ",delavec," - ",mesec," ",leto,'\n',sep='',file=csv)
cat('d,dw,m,s,p,e,w,r,t\n',file=csv)
cat(dhead,
"Delodajalec: \\textbf{",ustanova,"}\\\\\n",
"Delavec: ",delavec,"\\\\Mesec: ",mesec,"\\\\Leto: ",leto,"\\\\",
thead,sep="",file=tex)

sP <- 0; sL <- 0; sO <- 0; ww <- 0; wt <- 0
dc <- D$d[1]; mc <- D$m[1]; yc <- D$y[1]
for(i in 1:nrow(D)){
  if((D$dw[i]=="Po")&&(i>1)) {week <- hmin(ww%/%60,ww%%60)
    cat("\\hline \\multicolumn{6}{r|}{Tedenski seštevek} ",
    " & ",week," & &  \\\\ \\hline\n",sep="",file=tex); ww <- 0}
  if(!is.na(D$d[i])) {dc <- D$d[i]; dwc <- D$dw[i]}
  wh <- D$eh[i]-D$sh[i]
  if(D$sh[i]>D$eh[i]) wh <- wh+24  
  wm <- D$em[i]-D$sm[i]; w <- wh*60 + wm
  cat(i,D$sh[i],D$sm[i],D$eh[i],D$em[i],D$t[i],wh,wm,w,w/60,"\n")
  datum <- paste(dc,mc,yc,sep="."); work <- hmin(w%/%60,w%%60)
  start <- hmin(D$sh[i],D$sm[i]); end <- hmin(D$eh[i],D$em[i])
  if(D$t[i] %in% U) { cat(datum," & ",Dweek[dwc]," & ",Mode[D$v[i]],
    " & ",start," & NE & ",end," & ",work,"    & &  \\\\",
    sep="",file=tex); ww <- ww+w; wt <- wt+w
    cat(datum,",",Dweek[dwc],",",Mode[D$v[i]],",",start,",NE,",end,
    ",",work,",,\n",sep='',file=csv)}
  if(D$t[i]=="P") sP <- sP+w else if(D$t[i]=="L") sL <- sL+w else sO <- sO+w
}
cat("\\hline \\multicolumn{6}{l|}{SKUPAJ mesečni seštevek} ",
  " & ",hmin(wt%/%60,wt%%60)," & & \\\\ \\hline\n",sep="",file=tex)

cat("sP = ",hmin(sP%/%60,sP%%60),"  sL = ",hmin(sL%/%60,sL%%60),
  "  sO = ",hmin(sO%/%60,sO%%60),"\n")

cat(dtail,file=tex)
close(tex); close(csv)
vlado/notes/imfm/rep.txt · Last modified: 2024/02/05 04:54 by vlado
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki