helfer.js 1.5 KB

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