Forráskód Böngészése

neue agz und noten helfer

burningTyger 6 éve
szülő
commit
08f7f640a3

+ 94 - 0
Abgangszeugnis BFS 2seitig.html

@@ -0,0 +1,94 @@
+{#each schueler as s (s.ID)}
+  {#each s.abschnitte.filter(aktHalbjahr) as hj (hj.ID)}
+    <div class="page grid" orientation="portrait" size="A4">
+      <Seitenlogo logo="daten/traeger_logo.svg"/>
+      <Pageheader logo="daten/agz_logo.svg"/>
+      <div class="main">
+        <div style="font-size: 15pt; line-height: 1.5em">
+          {bg(s, 'Schulform')}
+        </div>
+        <div style="font-size: 12pt; line-height: 1.2em">
+          {bg(s, 'Bereich')}
+          {#if s.ASDSchulform.startsWith('B')}
+            <br />
+            Abschluss {s.Geschlecht === '3' ? bg(s, 'Berufsbezeichnung_m') : bg(s, 'Berufsbezeichnung_w')}
+          {/if}
+        </div>
+        <Voffset v="1"/>
+        <b>{s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name},</b>
+        <br />geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort},<br />
+        war vom {datum(s.BeginnBildungsgang)} bis {datum(s.Entlassdatum)} {s.schueler_in}
+        des Bildungsgangs {bg(s, 'Zeugniskopf')}.
+        {s.Geschlecht === 3 ? 'Er':'Sie'} war zuletzt {s.schueler_in} in der Klasse {s.Klasse}.
+        <Voffset v="2"/>
+        Leistungen laut Konferenzbeschluss vom {datum(hj.Konferenzdatum)}:
+        <Noten
+          noten={hj.noten}
+          fachGliederungen={s.fachklasse.fach_gliederungen}
+          ger
+          fachklasse={s.fachklasse.Kennung}
+        ></Noten>
+        <hr />
+        <Voffset v="1"/>
+        <b>{versetzungsvermerk(s,hj, true)}</b>
+        <Voffset v="1"/>
+        <b>Bemerkungen</b><br />{@html bemerkungen(hj)}
+      </div>
+      <div class="footer">
+        <div class="flex-grid">
+          <div class="col-2">
+            {schule.Ort}, den {datum(hj.ZeugnisDatum)}
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            <hr />
+            {schule.SchulleiterVorname} {schule.SchulleiterName} <br />{schule.schulleiter_in}
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            Siegel
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            <hr />
+            {hj.v_name_klassenlehrer}<br />{hj.klassenlehrer_in}
+          </div>
+        </div>
+        <Fussnote {schule} ger rechtsbehelfsbelehrung={false} verordnung={false}></Fussnote>
+      </div>
+    </div>
+    <div class="page grid" orientation="portrait" size="A4">
+      <div class="main">
+        Seite 2/2 des Abgangsszeugnisses für {s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name}
+        <Voffset v="2"/>
+        <SoaTabelle></SoaTabelle>
+      </div>
+      <div class="footer">
+        <Fussnote {schule} bfs notenstufen={false}></Fussnote>
+      </div>
+    </div>
+  {/each}
+{/each}
+
+<script>
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
+
+  export default {
+    components: {
+      Seitenlogo: './partials/Seitenlogo.html',
+      Pageheader: './partials/Pageheader.html',
+      Noten: './partials/Noten.html',
+      Fussnote: './partials/Fussnoten.html',
+      Voffset: './partials/Voffset.html',
+      SoaTabelle: './partials/SOA-Tabelle.html'
+    },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    computed: {
+      aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
+    }
+  }
+</script>
+
+<style>
+  @import 'css/main.css';
+</style>

+ 112 - 0
Abgangszeugnis LF 2seitig.html

@@ -0,0 +1,112 @@
+{#each schueler as s (s.ID)}
+  {#each s.abschnitte.filter(aktHalbjahr) as hj (hj.ID)}
+    <div class="page grid" orientation="portrait" size="A4">
+      <Seitenlogo logo="daten/traeger_logo.svg"/>
+      <Pageheader logo="daten/agz_logo.svg"/>
+      <div class="main">
+        <span style="font-size: 15pt; line-height: 1.5em">
+          {bg(s, 'Schulform')} |
+        </span>
+        <span style="font-size: 12pt; line-height: 1.2em">
+          {bg(s, 'Bereich')}
+        </span>
+        <Voffset v="1"/>
+        <b>{s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name},</b>
+        <br />geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort},<br />
+        war vom {datum(s.BeginnBildungsgang)} bis {datum(s.Entlassdatum)} {s.studierende_r}
+        des Bildungsgangs {bg(s, 'Zeugniskopf')}.
+        {s.Geschlecht === 3 ? 'Er':'Sie'} war zuletzt {s.studierende_r} in der Klasse {s.Klasse}.
+        <Voffset v="2"/>
+        Leistungen laut Konferenzbeschluss vom {datum(hj.Konferenzdatum)}:
+        <div class="lf-noten">
+          <Noten
+            noten={hj.noten}
+            fachGliederungen={s.fachklasse.fach_gliederungen}
+            ger
+            lernfeld
+            fachklasse={s.fachklasse.Kennung}
+          ></Noten>
+        </div>
+        <hr />
+        <Voffset v="1"/>
+        <b>{versetzungsvermerk(s,hj, true)}</b>
+        <Voffset v="1"/>
+        <b>Bemerkungen</b><br />{@html bemerkungen(hj)}
+      </div>
+      <div class="footer">
+        <div class="flex-grid">
+          <div class="col-2">
+            {schule.Ort}, den {datum(hj.ZeugnisDatum)}
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            <hr />
+            {schule.SchulleiterVorname} {schule.SchulleiterName} <br />{schule.schulleiter_in}
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            Siegel
+          </div>
+          <div class="col text-center klein">
+          <Voffset v="3"/>
+            <hr />
+            {hj.v_name_klassenlehrer}<br />{hj.klassenlehrer_in}
+          </div>
+        </div>
+        <div class="flex-grid">
+          {#if !s.ASDSchulform.startsWith('E')}
+            <div class="col-2"></div>
+            <div class="col-2">
+              <Voffset v="1"/>
+              Die Kenntnisnahme wird bestätigt:
+            </div>
+            <div class="col">
+              <Voffset v="3"/>
+              <hr />
+              <div class="klein text-center">
+                {volljaehrigBei(s, hj.ZeugnisDatum) ? s.schueler_in : 'Erziehungsberechtigte'}
+              </div>
+            </div>
+          {/if}
+        </div>
+        <div class="klein eng">
+          <Voffset v="2"/>
+          <div class="schulnummer text-center">
+            Schulnummer: {schule.SchulNr}
+          </div>
+          <hr class="hr-grau" />
+          <div class="grau text-center">
+              Notenstufen gemäß § 48 SchulG: 1 = sehr gut, 2 = gut, 3 = befriedigend,
+              4 = ausreichend, 5 = mangelhaft, 6 = ungenügend
+          </div>
+        </div>
+      </div>
+    </div>
+    <Seite2Fussnote {schule} ger></Seite2Fussnote>
+  {/each}
+{/each}
+
+<script>
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
+
+  export default {
+    components: {
+      Seitenlogo: './partials/Seitenlogo.html',
+      Pageheader: './partials/Pageheader.html',
+      Noten: './partials/Noten.html',
+      Seite2Fussnote: './partials/Seite2Fussnoten.html',
+      Voffset: './partials/Voffset.html'
+    },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    computed: {
+      aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
+    }
+  }
+</script>
+
+<style>
+  @import 'css/main.css';
+  .lf-noten {
+    font-size: 0.9rem;
+  }
+</style>

+ 1 - 1
Abgangszeugnis.html

@@ -78,7 +78,7 @@
             </div>
           {/if}
         </div>
-        <Fussnote schule={schule} ger></Fussnote>
+        <Fussnote {schule} ger></Fussnote>
       </div>
     </div>
   {/each}

+ 5 - 51
Beilage SOA.html

@@ -3,47 +3,9 @@
     <Seitenlogo logo="daten/traeger_logo.svg"/>
     <Pageheader logo="daten/zeugnis_logo.svg"/>
     <div class="main">
-      Seite 2/2 des Abschlusseugnisses für {s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name}
+      Seite 2/2 des Abschlusszeugnisses für {s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name}
       <Voffset v="2"/>
-      <table class="table table-bordered" style="width: 100%">
-        <tr>
-          <th width="35%">Bereichsspezifische Fächer</th>
-          <th>Zugeordnete Lernfelder</th>
-        </tr>
-        <tr>
-          <td>Erziehung und Soziales</td>
-          <td>
-            <ul class="dashes">
-              <li>Bedürfnisse und Potentiale wahrnehmen, beobachten und analysieren</li>
-              <li>Mit Konzepten in sozialpädagogischen Einrichtungen arbeiten</li>
-              <li>Beziehungen in der sozialpädagogischen und pflegerischen Arbeit gestalten</li>
-              <li>Gestaltungsprinzipien und Gestaltungsmittel in Räumen sozialpflegerischer Einrichtungen</li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>Gesundheitsförderung und Pflege</td>
-          <td>
-            <ul class="dashes">
-              <li>Sozialpflegerische Handlungsprozesse systematisch planen, umsetzen, dokumentieren und evaluieren</li>
-              <li>Pflegekonzepte als Grundlage der pflegerischen Tätigkeiten anwenden</li>
-              <li>Kompetenzen, Ressourcen und Potentiale erkennen und fördern</li>
-              <li>Gesunde Lebensführung fördern</li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>Arbeitsorganisation und Recht</td>
-          <td>
-            <ul class="dashes">
-              <li>Sich im Berufsfeld orientieren, auf Anforderungen einlassen und die eigene Person darstellen</li>
-              <li>Rechte und Pflichten des Sozialassistenten kennen und wahrnehmen</li>
-              <li>Außendarstellung der sozialpädagogischen bzw. -pflegerischen Einrichtungen unterstützen</li>
-              <li>Wirtschaftlich mit Materialien umgehen</li>
-            </ul>
-          </td>
-        </tr>
-      </table>
+      <SoaTabelle></SoaTabelle>
     </div>
     <div class="footer klein schulnummer">
       Schulnummer: {schule.SchulNr}
@@ -56,20 +18,12 @@
     components: {
       Seitenlogo: './partials/Seitenlogo.html',
       Pageheader: './partials/Pageheader.html',
-      Voffset: './partials/Voffset.html'
-    },
+      Voffset: './partials/Voffset.html',
+      SoaTabelle: './partials/SOA-Tabelle.html'
+    }
   }
 </script>
 
 <style>
   @import 'css/main.css';
-  .table-bordered {
-    border-collapse: collapse;
-  }
-  .table-bordered tr {
-    border-bottom: thin solid #333;
-  }
-  .schulnummer {
-    text-align: right;
-  }
 </style>

+ 3 - 16
Schullaufbahnbescheinigung AHR.html

@@ -194,21 +194,7 @@
     </div>
     <div class="page grid" orientation="portrait" size="A4">
       <div class="footer grau">
-        Schulnummer: {schule.SchulNr}
-        <hr class="hr-grau">
-        <b class="grau">Dem Zeugnis liegen zugrunde:</b>
-        <br />Die Verordnung über die Ausbildung und Prüfung in den Bildungsgängen
-        des Berufskollegs (Ausbildungs- und Prüfungsordnung Berufskolleg, APO-BK)
-        vom 26. Mai 1999 (SGV. NRW. 223/BASS 13 – 33 Nr. 1.1).
-        <Voffset v="1"/>
-        <b class="grau">Rechtsbehelfsbelehrung:</b>
-        <br />Gegen dieses Zeugnis kann innerhalb eines Monats nach Bekanntgabe
-        des Zeugnisses Widerspruch eingelegt werden. Der Widerspruch ist beim
-        {schule.Bezeichnung2}, {schule.Strasse}, {schule.PLZ} {schule.Ort},
-        schriftlich oder zur Niederschrift zu erheben.
-        <br />Falls die Frist durch das Verschulden einer/eines Bevollmächtigten
-        versäumt wird, wird dies Verschulden der Widerspruchsführerin/dem
-        Widerspruchsführer zugerechnet.
+        <Fussnote {schule}></Fussnote>
       </div>
     </div>
   {/each}
@@ -222,7 +208,8 @@
     components: {
       Seitenlogo: './partials/Seitenlogo.html',
       Pageheader: './partials/Pageheader.html',
-      Voffset: './partials/Voffset.html'
+      Voffset: './partials/Voffset.html',
+      Fussnote: './partials/Fussnoten.html'
     },
     helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
     computed: {

+ 1 - 1
css/main.css

@@ -278,7 +278,7 @@ ul.dashes {
   padding-left: 1rem;
 }
 ul.dashes li:before {
-  content: "-";
+  content: "";
   position: absolute;
   margin-left: -1rem;
 }

+ 3 - 0
helfer.js

@@ -1,4 +1,6 @@
 import fkl from './daten/fachklassen.json'
+const noten = [null, 'sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend']
+const enoten = {'E1': 'mit besonderem Erfolg teilgenommen', 'E2': 'mit Erfolg teilgenommen', 'E3': 'teilgenommen'}
 
 export const datum = (t) => {
   // gibt ein Datum im deutschen Format zurück
@@ -43,3 +45,4 @@ export const bg = (s,k) => {
   } else
   return ''
 }
+export const note = (note) => noten[parseInt(note)] || enoten[note]

+ 40 - 15
partials/Fussnoten.html

@@ -3,7 +3,15 @@
 Folgende Attribute werden unterstützt:
 schule:     Hier stehen die SchulNr etc drin. Muss mitgegeben werden
 ger:        Wenn der GER für AGZ oder ASZ verwendet werden soll, mitangeben.
-            true|false Standardwert ist false -->
+            true|false Standardwert ist false
+notenstufen:Wenn die Notenstufen mit angegeben werden sollen.
+            true|false Standardwert ist true
+verordnung :true|false Standartwert true
+bfs:        true|false Standardwert false
+rechtsbehlfsbelehrung :true|false Standartwert true
+
+Beachte, true|false nicht als String setzen, sondern als statement:
+notenstufen={false} -->
 
 <div class="klein eng">
   <Voffset v="2"/>
@@ -12,9 +20,11 @@ ger:        Wenn der GER für AGZ oder ASZ verwendet werden soll, mitangeben.
   </div>
   <hr class="hr-grau" />
   <div class="grau">
-    Notenstufen gemäß § 48 SchulG: 1 = sehr gut, 2 = gut, 3 = befriedigend,
-    4 = ausreichend, 5 = mangelhaft, 6 = ungenügend
-    <Voffset v=".5"/>
+    {#if notenstufen}
+      Notenstufen gemäß § 48 SchulG: 1 = sehr gut, 2 = gut, 3 = befriedigend,
+      4 = ausreichend, 5 = mangelhaft, 6 = ungenügend
+      <Voffset v=".5"/>
+    {/if}
     {#if ger}
       <sup>1</sup>Der Unterricht in den modernen Fremdsprachen hat auf der nach dem Fach in
       Klammern angegebenen Niveaustufe des „Europäischen Referenzrahmens für
@@ -24,21 +34,36 @@ ger:        Wenn der GER für AGZ oder ASZ verwendet werden soll, mitangeben.
       sprachliche Kompetenzerwerb auf diesem Niveau bescheinigt.
       <Voffset v=".5"/>
     {/if}
-    Dem Zeugnis liegen zugrunde: Die Verordnung über die Ausbildung und Prüfung
-    in den Bildungsgängen des Berufskollegs (Ausbildungs- und Prüfungsordnung
-    Berufskolleg, APO-BK) vom 26. Mai 1999 (SGV. NRW. 223/BASS 13 – 33 Nr. 1.1).
-    <Voffset v=".5"/>
-    Rechtsbehelfsbelehrung: Gegen dieses Zeugnis kann innerhalb eines Monats
-    nach Bekanntgabe des Zeugnisses Widerspruch eingelegt werden. Der Widerspruch
-    ist beim {schule.Bezeichnung2}, {schule.Strasse}, {schule.PLZ} {schule.Ort},
-    schriftlich oder zur Niederschrift zu erheben. <br />Falls die Frist durch
-    das Verschulden einer/eines Bevollmächtigten versäumt wird, wird dies
-    Verschulden der Widerspruchsführerin/dem Widerspruchsführer zugerechnet.
+    {#if verordnung}
+      Dem Zeugnis liegen zugrunde: Die Verordnung über die Ausbildung und Prüfung
+      in den Bildungsgängen des Berufskollegs (Ausbildungs- und Prüfungsordnung
+      Berufskolleg, APO-BK) vom 26. Mai 1999 (SGV. NRW. 223/BASS 13 – 33 Nr. 1.1).
+    {#if bfs}
+      <br>Die Rahmenvereinbarung über die Berufsfachschulen (Beschluss der
+      Kultusministerkonferenz vom 17.10.2013) in der jeweils geltenden Fassung.
+    {/if}
+      <Voffset v=".5"/>
+    {/if}
+    {#if rechtsbehelfsbelehrung}
+      Rechtsbehelfsbelehrung: Gegen dieses Zeugnis kann innerhalb eines Monats
+      nach Bekanntgabe des Zeugnisses Widerspruch eingelegt werden. Der Widerspruch
+      ist beim {schule.Bezeichnung2}, {schule.Strasse}, {schule.PLZ} {schule.Ort},
+      schriftlich oder zur Niederschrift zu erheben. <br />Falls die Frist durch
+      das Verschulden einer/eines Bevollmächtigten versäumt wird, wird dies
+      Verschulden der Widerspruchsführerin/dem Widerspruchsführer zugerechnet.
+    {/if}
   </div>
 </div>
 
 <script>
   export default {
-    components: { Voffset: './Voffset.html' }
+    components: { Voffset: './Voffset.html' },
+    data () {
+      return {
+        notenstufen: true,
+        verordnung: true,
+        rechtsbehelfsbelehrung: true
+      }
+    }
   }
 </script>

+ 3 - 2
partials/Noten.html

@@ -47,7 +47,7 @@ fachklasse: muss mitgegeben werden, wenn aus der Fachklassen.json Datei der Stan
               {/if}
             </td>
             <!-- Entweder Abschlussnote, wenn gesetzt oder Abschnittsnote oder nix -->
-            <td class="td-fach-note"><span>{f.NoteAbschluss || f.NotenKrz || '–––––'}</span></td>
+            <td class="td-fach-note"><span>{note(f.NoteAbschluss) || note(f.NotenKrz) || '–––––'}</span></td>
           </tr>
         {/if}
       {/each}
@@ -59,12 +59,13 @@ fachklasse: muss mitgegeben werden, wenn aus der Fachklassen.json Datei der Stan
 
 <script>
   import { gruppenIds } from './gruppenIDs'
+  import { note } from '../helfer'
   import fkl from '../daten/fachklassen.json'
   const _ = R.lodash
 
   export default {
     helpers: {
-      _, fkl,
+      _, fkl, note,
       gruppenbezeichnung: gruppe => gruppenIds[gruppe],
       lernbereicheUndFaecher: gruppenFaecher => Object.entries(_.groupBy(gruppenFaecher, f => f.fach.Bezeichnung)),
       fremdsprache: (fach, fachklasse) => {

+ 51 - 0
partials/SOA-Tabelle.html

@@ -0,0 +1,51 @@
+<table class="table table-bordered" style="width: 100%">
+  <tr>
+    <th width="35%">Bereichsspezifische Fächer</th>
+    <th>Zugeordnete Lernfelder</th>
+  </tr>
+  <tr>
+    <td>Erziehung und Soziales</td>
+    <td>
+      <ul class="dashes">
+        <li>Bedürfnisse und Potentiale wahrnehmen, beobachten und analysieren</li>
+        <li>Mit Konzepten in sozialpädagogischen Einrichtungen arbeiten</li>
+        <li>Beziehungen in der sozialpädagogischen und pflegerischen Arbeit gestalten</li>
+        <li>Gestaltungsprinzipien und Gestaltungsmittel in Räumen sozialpflegerischer Einrichtungen</li>
+      </ul>
+    </td>
+  </tr>
+  <tr>
+    <td>Gesundheitsförderung und Pflege</td>
+    <td>
+      <ul class="dashes">
+        <li>Sozialpflegerische Handlungsprozesse systematisch planen, umsetzen, dokumentieren und evaluieren</li>
+        <li>Pflegekonzepte als Grundlage der pflegerischen Tätigkeiten anwenden</li>
+        <li>Kompetenzen, Ressourcen und Potentiale erkennen und fördern</li>
+        <li>Gesunde Lebensführung fördern</li>
+      </ul>
+    </td>
+  </tr>
+  <tr>
+    <td>Arbeitsorganisation und Recht</td>
+    <td>
+      <ul class="dashes">
+        <li>Sich im Berufsfeld orientieren, auf Anforderungen einlassen und die eigene Person darstellen</li>
+        <li>Rechte und Pflichten des Sozialassistenten kennen und wahrnehmen</li>
+        <li>Außendarstellung der sozialpädagogischen bzw. -pflegerischen Einrichtungen unterstützen</li>
+        <li>Wirtschaftlich mit Materialien umgehen</li>
+      </ul>
+    </td>
+  </tr>
+</table>
+
+<style>
+  .table-bordered {
+    border-collapse: collapse;
+  }
+  .table-bordered tr {
+    border-bottom: thin solid #333;
+  }
+  .schulnummer {
+    text-align: right;
+  }
+</style>

+ 12 - 0
partials/Seite2Fussnoten.html

@@ -0,0 +1,12 @@
+<div class="page grid" orientation="portrait" size="A4">
+  <div class="footer grau">
+    <Fussnote notenstufen={false} {schule} {ger}></Fussnote>
+  </div>
+</div>
+
+<script>
+	export default { components: {
+      Fussnote: './Fussnoten.html'
+    }
+  }
+</script>