helfer.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import fkl from './daten/fachklassen.json'
  2. export const datum = (t) => {
  3. // gibt ein Datum im deutschen Format zurück
  4. try {
  5. return Date.parse(t).toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'})
  6. } catch (e) {console.log(e); return}
  7. }
  8. export const versetzungsvermerk = (s, hj, agz=null) => {
  9. // gibt, wenn vorhanden den passenden Vermerk zurück
  10. // wenn es ein agz ist und kein Konferenzdatum feststeht
  11. if (agz && !hj.Konferenzdatum) return
  12. let vermerk = ''
  13. if (hj.Abschnitt === 2 || s.Klasse.startsWith('H')) {
  14. switch (hj.VersetzungKrz) {
  15. case 'N': vermerk = `Nicht versetzt laut Konferenzbeschluss vom ${datum(hj.Konferenzdatum)}`
  16. case 'V': vermerk = `Versetzt laut Konferenzbeschluss vom ${datum(hj.Konferenzdatum)}`
  17. default: vermerk = 'Kein Versetzungsvermerk hinterlegt'
  18. }
  19. }
  20. return vermerk
  21. }
  22. export const bemerkungen = (hj) => {
  23. return hj.ZeugnisBem ? hj.ZeugnisBem.replace('\r\n', '<br/>') : 'keine'
  24. }
  25. export const volljaehrigBei = (s, datum) => {
  26. // gibt an, ob der Schüler *s* zu einem Zeitpunkt *datum* volljährig war
  27. try {
  28. const g = new Date(s.Geburtsdatum)
  29. const d = new Date(datum)
  30. const volljaehrig = d.getFullYear() - g.getFullYear() - ((d.getMonth() > g.getMonth() || (d.getMonth() == g.getMonth() && d.getDay() >= g.getDay()) ? 0 : 1)) >= 18
  31. return volljaehrig
  32. } catch (e) {console.log(e); return}
  33. }
  34. export const schulform = (s) => {
  35. switch (s.ASDSchulform[0]) {
  36. case 'B': return 'Berufsfachschule'
  37. }
  38. }
  39. export const bg = (s,k) => {
  40. if (s.fachklasse && s.fachklasse.Kennung && fkl[s.fachklasse.Kennung]) {
  41. return fkl[s.fachklasse.Kennung][k]
  42. } else
  43. return ''
  44. }