createUserVacations = (vacations) => {
let block_vacations = document.createElement("div")
block_vacations.setAttribute("id", "User-vacations")
block_vacations.classList.add("table-two")
block_vacations.innerHTML = '
Urlaub
Datum
Name
'
vacations = vacations.sort((a,b) => b.start.localeCompare(a.start))
vacations.forEach((v) => {
let block_date = document.createElement("div")
if (v.start === v.end) {
block_date.innerHTML = convertDate(v.start)
} else {
block_date.innerHTML = `${convertDate(v.start)} - ${convertDate(v.end)}`
}
block_vacations.appendChild(block_date)
let block_name = document.createElement("div")
if (typeof v.name !== "undefined") { block_name.innerHTML = v.name }
block_vacations.appendChild(block_name)
})
let br = document.createElement("div")
br.appendChild(block_vacations)
return br
}
createUserBetterments = (betterments) => {
let block_betterments = document.createElement("div")
block_betterments.setAttribute("id", "User-betterments")
block_betterments.classList.add("table-two")
block_betterments.innerHTML = 'Weiterbildung
Datum
Stunden
'
betterments = betterments.sort((a,b) => b.start.localeCompare(a.start))
betterments.forEach((v) => {
let block_date = document.createElement("div")
if (v.start === v.end) {
block_date.innerHTML = convertDate(v.start)
} else {
block_date.innerHTML = `${convertDate(v.start)} - ${convertDate(v.end)}`
}
block_betterments.appendChild(block_date)
let block_name = document.createElement("div")
block_name.innerHTML = v.hours
block_betterments.appendChild(block_name)
})
let br = document.createElement("div")
br.appendChild(block_betterments)
return br
}
createUserIllnesses = (illnesses) => {
let block_illnesses = document.createElement("div")
block_illnesses.setAttribute("id", "User-illnesses")
block_illnesses.classList.add("table-one")
block_illnesses.innerHTML = 'Krankschreibung
Datum
'
illnesses = illnesses.sort((a,b) => b.start.localeCompare(a.start))
illnesses.forEach((v) => {
let block_date = document.createElement("div")
if (v.start === v.end) {
block_date.innerHTML = convertDate(v.start)
} else {
block_date.innerHTML = `${convertDate(v.start)} - ${convertDate(v.end)}`
}
block_illnesses.appendChild(block_date)
})
let br = document.createElement("div")
br.appendChild(block_illnesses)
return br
}
createUserOvertimes = (overtimes, overtimes_manual) => {
let block_overtimes = document.createElement("div")
block_overtimes.setAttribute("id", "User-overtimes")
block_overtimes.classList.add("table-three")
block_overtimes.innerHTML = 'Überstunden
Woche
Automatisch
Manuell
'
overtimes = overtimes.sort((a,b) => b.yearweek.localeCompare(a.yearweek))
let last_yw
let bl_total_name = document.createElement("div")
bl_total_name.innerHTML = "Insgesamt"
block_overtimes.appendChild(bl_total_name)
let bl_total_val = document.createElement("div")
bl_total_val.classList.add("font-number")
block_overtimes.appendChild(bl_total_val)
let bl_total_m_val = document.createElement("div")
bl_total_m_val.classList.add("font-number")
block_overtimes.appendChild(bl_total_m_val)
let total = 0
let total_m = 0
for (let v=0; v o.yearweek === overtime.yearweek)?.overtime
if (om) { total_m = parseFloat((total_m+(om)).toFixed(2))}
if (om) { oo = parseFloat((oo-(om)).toFixed(2))}
total = parseFloat((total+(oo)).toFixed(2))
if (oo === 0) {oo = " 0"}
else if (oo > 0) {oo = `+${oo}`}
block_overtime.innerHTML = oo
block_overtimes.appendChild(block_overtime)
let block_overtime_m = document.createElement("div")
block_overtime_m.classList.add("font-number")
if (om === 0) {om = " 0"}
else if (om > 0) {om = `+${om}`}
block_overtime_m.innerHTML = om || ""
block_overtimes.appendChild(block_overtime_m)
}
let to = Math.round(total* 100)/100
if (to >0) {to = `+${to}`}
else if (to === 0) {to = ` ${to}`}
bl_total_val.innerHTML = to
let tm = Math.round(total_m* 100)/100
if (tm >0) {tm = `+${tm}`}
else if (tm === 0) {tm = ` ${tm}`}
bl_total_m_val.innerHTML = tm
let br = document.createElement("div")
br.appendChild(block_overtimes)
return br
}
renderUserDetails = async () => {
let response_person = await fetch("/api/persons_active/getUserActive.php", {
method: "POST",
body: JSON.stringify({yearweek: DATE_YEAR_WEEK}),
headers: { "Content-Type": "application/json; charset=UTF-8" }
})
let person = await response_person.json()
let overtimes = await dbGet_person_overtimes_yearweeks(person.id)
let block = document.querySelector("#User-details")
block.appendChild(createUserOvertimes(overtimes, person.overtimes_manual))
block.appendChild(createUserVacations(person.vacations))
block.appendChild(createUserBetterments(person.betterments))
block.appendChild(createUserIllnesses(person.illnesses))
document.querySelector(`.Roster-week-tr-${person.id}`).classList.add("active")
}