burningTyger 6 anni fa
parent
commit
7753bee137

+ 8 - 8
Abgangszeugnis.html

@@ -5,20 +5,21 @@
       <Pageheader logo="daten/agz_logo.svg"/>
       <div class="main">
         <div style="font-size: 15pt; line-height: 1.5em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Schulform}
+          {bg(s, 'Schulform')}
         </div>
         <div style="font-size: 12pt; line-height: 1.2em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Bereich}<br />{s.Geschlecht === '3' ? s.fachklasse.Bezeichnung : s.fachklasse.Beschreibung_W}
+          {bg(s, 'Bereich')}
+          <br />{s.Geschlecht === '3' ? s.fachklasse.Bezeichnung : s.fachklasse.Beschreibung_W}
           {#if s.ASDSchulform.startsWith('B')}
             <br />
-            Abschluss {s.Geschlecht === '3' ? fkl[s.fachklasse.Kennung || fkl.default].Berufsbezeichnung_m : fkl[s.fachklasse.Kennung].Berufsbezeichnung_w}
+            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 {(fkl[s.fachklasse.Kennung] || fkl.default).Zeugniskopf}.
+        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)}:
@@ -72,15 +73,14 @@
             </div>
           {/if}
         </div>
-        <Fussnote schulNr={schule.SchulNr}></Fussnote>
+        <Fussnote schule={schule}></Fussnote>
       </div>
     </div>
   {/each}
 {/each}
 
 <script>
-  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen }  from './helfer'
-  import fkl from './daten/fachklassen.json'
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
 
   export default {
     components: {
@@ -90,7 +90,7 @@
       Fussnote: './partials/Fussnoten.html',
       Voffset: './partials/Voffset.html'
     },
-    helpers: { fkl, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
     computed: {
       aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
     }

+ 5 - 6
Halbjahreszeugnis LF.html

@@ -5,10 +5,10 @@
       <Pageheader logo="daten/zeugnis_logo.svg"/>
       <div class="main">
         <div style="font-size: 15pt; line-height: 1.5em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Schulform}
+          {bg(s, 'Schulform')}
         </div>
         <div style="font-size: 12pt; line-height: 1.2em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Bereich}
+          {bg(s, 'Bereich')}
         </div>
         <Voffset v="1"/>
         <b>{s.anrede} {s.Vorname} {_.toString(s.Zusatz)} {s.Name},</b>
@@ -43,16 +43,15 @@
             Siegel
           </div>
         </div>
-        <Fussnote schulNr={schule.SchulNr}></Fussnote>
+        <Fussnote schule={schule}></Fussnote>
       </div>
     </div>
   {/each}
 {/each}
 
 <script>
-  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen }  from './helfer'
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
   const _ = R.lodash
-  import fkl from './daten/fachklassen.json'
 
 	export default {
     components: {
@@ -62,7 +61,7 @@
       Fussnote: './partials/Fussnoten.html',
       Voffset: './partials/Voffset.html'
     },
-    helpers: { fkl, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
     computed: {
       aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
     }

+ 7 - 8
Halbjahreszeugnis.html

@@ -5,13 +5,13 @@
       <Pageheader logo="daten/zeugnis_logo.svg"/>
       <div class="main">
         <div style="font-size: 15pt; line-height: 1.5em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Schulform}
+          {bg(s, 'Schulform')}
         </div>
         <div style="font-size: 12pt; line-height: 1.2em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Bereich}
+          {bg(s, 'Bereich')}
           {#if s.ASDSchulform.startsWith('B')}
             <br />
-            Abschluss {s.Geschlecht === '3' ? fkl[s.fachklasse.Kennung || fkl.default].Berufsbezeichnung_m : fkl[s.fachklasse.Kennung].Berufsbezeichnung_w}
+            Abschluss {s.Geschlecht === '3' ? bg(s, 'Berufsbezeichnung_m') : bg(s, 'Berufsbezeichnung_w')}
           {/if}
         </div>
         <Voffset v="1"/>
@@ -59,16 +59,15 @@
             </div>
           </div>
         </div>
-        <Fussnote schulNr={schule.SchulNr}></Fussnote>
+        <Fussnote schule={schule}></Fussnote>
       </div>
     </div>
   {/each}
 {/each}
 
 <script>
-  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen }  from './helfer'
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
   const _ = R.lodash
-  import fkl from './daten/fachklassen.json'
 
 	export default {
     components: {
@@ -78,9 +77,9 @@
       Fussnote: './partials/Fussnoten.html',
       Voffset: './partials/Voffset.html'
     },
-    helpers: { fkl, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    helpers: { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ , bg },
     computed: {
-      aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
+      aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt },
     }
   }
 </script>

+ 7 - 7
Jahreszeugnis.html

@@ -5,13 +5,14 @@
       <Pageheader logo="daten/zeugnis_logo.svg"/>
       <div class="main">
         <div style="font-size: 15pt; line-height: 1.5em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Schulform}
+          {bg(s, 'Schulform')}
         </div>
         <div style="font-size: 12pt; line-height: 1.2em">
-          {(fkl[s.fachklasse.Kennung] || fkl.default).Bereich}<br />{s.Geschlecht === '3' ? s.fachklasse.Bezeichnung : s.fachklasse.Beschreibung_W}
+          {bg(s, 'Bereich')}
+          <br />{s.Geschlecht === '3' ? s.fachklasse.Bezeichnung : s.fachklasse.Beschreibung_W}
           {#if s.ASDSchulform.startsWith('B')}
             <br />
-            Abschluss {s.Geschlecht === '3' ? fkl[s.fachklasse.Kennung || fkl.default].Berufsbezeichnung_m : fkl[s.fachklasse.Kennung].Berufsbezeichnung_w}
+            Abschluss {s.Geschlecht === '3' ? bg(s, 'Berufsbezeichnung_m') : bg(s, 'Berufsbezeichnung_w')}
           {/if}
         </div>
         <Voffset v="1"/>
@@ -74,15 +75,14 @@
             </div>
           {/if}
         </div>
-        <Fussnote schulNr={schule.SchulNr}></Fussnote>
+        <Fussnote schule={schule}></Fussnote>
       </div>
     </div>
   {/each}
 {/each}
 
 <script>
-  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen }  from './helfer'
-  import fkl from './daten/fachklassen.json'
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
 
   export default {
     components: {
@@ -92,7 +92,7 @@
       Fussnote: './partials/Fussnoten.html',
       Voffset: './partials/Voffset.html'
     },
-    helpers: { fkl, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
     computed: {
       aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
     }

+ 200 - 365
Schullaufbahnbescheinigung AHR.html

@@ -1,403 +1,230 @@
-<div style="font-size: 12pt; line-height: 1.5em">Bescheinigung über die Schullaufbahn gemäß §13 APO-BK, Anlage D</div>
-<div style="font-size: 11pt; line-height: 1.2em">Berufliches Gymnasium, Bereich Gesundheit und Soziales</div>
-<Voffset v="0.5"/>
-Frau <b>Rebecca Sawatzky,</b> geboren am 26.04.2000 in Bielefeld,
-<br />besuchte im Schuljahr 2018/19 die Jahrgangsstufe 13.1 im Bildungsgang <br /> <b>Erzieherin/AHR, Erzieher/AHR</b>.
-<Voffset v="0.5"/>
-In der Konferenz am 29.01.2019 sind folgende Leistungen festgestellt worden:
-<table class="table table-bordered table-eng">
-  <tr>
-    <td rowspan="2">Fach<sup>1</sup></td>
-    <td rowspan="2" width="20px">Aufg.- feld<sup>2</sup></td>
-    <td rowspan="2" width="20px">Abitur- fach<sup>3</sup></td>
-    <td rowspan="2" width="20px">Fach der Berufs- abschlussprüfung</td>
-    <td colspan="4">Leistungen im Halbjahr<sup>4, 5</sup></td>
-  </tr>
-  <tr>
-    <td class="text-center">12.1</td>
-    <td class="text-center">12.2</td>
-    <td class="text-center">13.1</td>
-    <td class="text-center">13.2</td>
-  </tr>
-  {#each _.sortBy(s.abi_abschluss_faecher, f => f.Sortierung) as f}
-            <tr>
-              <td>{f.fach.Bezeichung}</td>
-              <td class="text-center">III</td>
-              <td class="text-center">1</td>
-              <td class="text-center">+</td>
-              <td class="text-center">03</td>
-              <td class="text-center">05</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
-            <tr>
-              <td>Erziehungswissenschaften</td>
-              <td class="text-center">II</td>
-              <td class="text-center">2</td>
-              <td class="text-center">+</td>
-              <td class="text-center">05</td>
-              <td class="text-center">05</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
-            <tr>
-              <td>Englisch</td>
-              <td class="text-center">I</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">06</td>
-              <td class="text-center">06</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
-            <tr>
-              <td>Didaktik/Methodik</td>
-              <td class="text-center">II</td>
-              <td class="text-center"></td>
-              <td class="text-center">+</td>
-              <td class="text-center">10</td>
-              <td class="text-center">13</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
-            <tr>
-              <td>Mathematik</td>
-              <td class="text-center">III</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">02</td>
-              <td class="text-center">02</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
+{#each schueler as s (s.ID)}
+  {#each s.abschnitte.filter(aktHalbjahr) as hj (hj.ID)}
+    <div class="page grid" orientation="portrait" size="A4">
+      <div class="header">
+        <Seitenlogo/>
+        <Pageheader logo="daten/bk_logo_ohne_text.svg"/>
+      </div>
+      <div class="main">
+        <div style="font-size: 12pt; line-height: 1.5em">Bescheinigung über die Schullaufbahn gemäß §13 APO-BK, Anlage D</div>
+        <div style="font-size: 11pt; line-height: 1.2em">Berufliches Gymnasium, Bereich Gesundheit und Soziales</div>
+        <Voffset v="0.5"/>
+        {s.anrede} <b>{s.Vorname} {s.Zusatz || ''} {s.Name}</b>, geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort},
+        <br />besuchte im Schuljahr {hj.schuljahr} die Jahrgangsstufe {parseInt(hj.ASDJahrgang)+10}.{hj.Abschnitt} im Bildungsgang
+        <br /><b>{bg(s, 'Bereich')}</b>.
+        <Voffset v="0.5"/>
+        In der Konferenz am {datum(hj.Konferenzdatum)} sind folgende Leistungen festgestellt worden:
+        <table class="table table-bordered table-eng">
+          <tr>
+            <td rowspan="2">Fach<sup>1</sup></td>
+            <td rowspan="2" width="20px">Aufg.- feld<sup>2</sup></td>
+            <td rowspan="2" width="20px">Abitur- fach<sup>3</sup></td>
+            <td rowspan="2" width="20px">Fach der Berufs- abschlussprüfung</td>
+            <td colspan="4">Leistungen im Halbjahr<sup>4, 5</sup></td>
+          </tr>
+          <tr>
+            <td class="text-center">12.1</td>
+            <td class="text-center">12.2</td>
+            <td class="text-center">13.1</td>
+            <td class="text-center">13.2</td>
+          </tr>
+          {#each _.sortBy(s.abi_abschluss_faecher, f => f.fach.Sortierung) as f}
+            <tr>
+              <td>{f.fach.Bezeichnung}</td>
+              <td class="text-center">{'I'.repeat(f.fach.Aufgabenfeld)}</td>
+              <td class="text-center">{f.AbiFach || ''}</td>
+              <td class="text-center">{_.inRange(parseInt(f.AbiFach), 1, 3) || f.FachKrz === 'DM' ? '+' : ''}
+              <td class="text-center">{f.P12_1 || '–'}</td>
+              <td class="text-center">{f.P12_2 || '–'}</td>
+              <td class="text-center">{f.P13_1 || '–'}</td>
+              <td class="text-center">{f.P13_2 || '–'}</td>
+            </tr>
+          {/each}
+        </table>
+        Versäumte Stunden: {parseInt(hj.SumFehlStd) || 0}, davon unentschuldigt: {parseInt(hj.SumFehlStdU) || 0}
+        <Voffset v="0.5"/>
+        Kurse unter 5 Punkten in den Fächern und Jahrgangsstufen:
+        <table>
+          <tr>
+            <td width="7%"><b>12.1:</b></td>
+            <td width="40%">{s.abi_abschluss_faecher.filter(f => parseInt(f.P12_1) < 5 && parseInt(f.P12_1) > 0).map(f => f.fach.Bezeichnung).join(', ') || '- keine -'}</td>
+            {#if hj.Jahrgang === 3 || hj.Jahrgang === 2 && hj.Abschnitt === 2}
+              <td width="7%"><b>12.2:</b></td>
+              <td width="40%">{s.abi_abschluss_faecher.filter(f => parseInt(f.P12_2) < 5 && parseInt(f.P12_2) > 0).map(f => f.fach.Bezeichnung).join(', ') || '- keine -'}</td>
+            {/if}
+          </tr>
+          {#if hj.Jahrgang === 3}
             <tr>
-              <td>Kunst</td>
-              <td class="text-center">I</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">11</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-            </tr>
+              <td><b>13.1:</b></td>
+              <td width="40%">{s.abi_abschluss_faecher.filter(f => parseInt(f.P13_1) < 5 && parseInt(f.P13_1) > 0).map(f => f.fach.Bezeichnung).join(', ') || '- keine -'}</td>
+              {#if hj.Jahrgang === 3 && hj.Abschnitt === 2}
+                <td width="7%"><b>13.2:</b></td>
+                <td width="40%">{s.abi_abschluss_faecher.filter(f => parseInt(f.P13_2) < 5 && parseInt(f.P13_2) > 0).map(f => f.fach.Bezeichnung).join(', ') || '- keine -'}</td>
+              {/if}
+            </tr>
+          {/if}
+        </table>
+        <Voffset v="0.5"/>
+        {#if s.abi_abschluss_faecher.some(f => [f.P12_1, f.P12_2, f.P13_1, f.P13_2].some(ff => parseInt(ff) < 5 && parseInt(ff) > 0))}
+          Ihre Schullaufbahn weist Defizite auf, durch die die Zulassung zur
+          Abiturprüfung und zur Berufsabschlussprüfung gefährdet wird.
+        {/if}
+        <Voffset v="0.5"/>
+        <b>Bemerkungen:</b> {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">
+          <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>
+        </div>
+        <div class="klein eng">
+          Schulnummer: {schule.SchulNr}
+          <hr />
+          <table>
             <tr>
-              <td>Musik</td>
-              <td class="text-center">I</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">–</td>
-              <td class="text-center">11</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td><sup>1</sup> </td>
+              <td colspan="5">In der Reihenfolge der erlassenen Stundentafel</td>
             </tr>
             <tr>
-              <td>Französisch</td>
-              <td class="text-center">I</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">07</td>
-              <td class="text-center">06</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td rowspan="4" valign="top"><sup>2</sup> </td>
+              <td>I</td>
+              <td width="70%">= sprachlich literarisches Aufgabenfeld</td>
+              <td align="right" rowspan="4" valign="top"><sup>3</sup> </td>
+              <td>1</td>
+              <td>= erstes Leistungsfach</td>
             </tr>
             <tr>
-              <td>Deutsch</td>
-              <td class="text-center">I</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">07</td>
-              <td class="text-center">09</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td>II</td>
+              <td>= gesellschaftswissenschaftliches Aufgabenfeld</td>
+              <td>2</td>
+              <td>= zweites Leistungsfach</td>
             </tr>
             <tr>
-              <td>Gesellschaftslehre mit Geschichte</td>
-              <td class="text-center">II</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">07</td>
-              <td class="text-center">05</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td>III</td>
+              <td>= mathematisch-naturwissenschaftlich-technisches Aufgabenfeld</td>
+              <td>3</td>
+              <td>= drittes Abiturfach</td>
             </tr>
             <tr>
-              <td>Religionslehre</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">08</td>
-              <td class="text-center">07</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td colspan="2"></td>
+              <td>4</td>
+              <td>= viertes Abiturfach</td>
             </tr>
+          </table>
+          <sup>4</sup> Für die Umsetzung von Noten in Punkte gilt:
+          <table class="table table-bordered table-eng" width="80%">
             <tr>
-              <td>Sport</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">11</td>
-              <td class="text-center">13</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td width="5%"></td>
+              {#each ['sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend'] as n}
+                <td class="text-center" width="10%">{n}</td>
+              {/each}
             </tr>
             <tr>
-              <td>Spielpädagogik</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">E2</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td>Noten</td>
+              {#each [1,2,3,4,5] as i}
+                <td class="text-center">
+                  <div class="flex-grid">
+                    <div class="col">+</div>
+                    <div class="col">{i}</div>
+                    <div class="col">-</div>
+                  </div>
+                </td>
+              {/each}
+              <td class="text-center">6</td>
             </tr>
             <tr>
-              <td>Medienpädagogik</td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center"></td>
-              <td class="text-center">–</td>
-              <td class="text-center">E1</td>
-              <td class="text-center">–</td>
-              <td class="text-center">–</td>
+              <td>Punkte</td>
+              {#each [[15,14,13],[12,11,10],['09','08','07'],['06','05','04'],['03','02','01']] as ii}
+                <td class="text-center">
+                  <div class="flex-grid">
+                    {#each ii as i}
+                      <div class="col">{i}</div>
+                    {/each}
+                  </div>
+                </td>
+              {/each}
+              <td class="text-center">00</td>
             </tr>
           </table>
-        Versäumte Stunden: 0, davon unentschuldigt: 0
-        <div class="voffset-halb">
-        Kurse unter 5 Punkten in den Fächern und Jahrgangsstufen:
-          <table class="col-xs-12">
-            <tr>
-              <td width="7%"><b>12.1:</b></td>
-              <td width="40%">Biologie, Mathematik</td>
-              <td width="7%"><b>12.2:</b></td>
-              <td>Mathematik</td>
-            </tr>
+          <Voffset v=".5"/>
+          <table>
             <tr>
-              <td><b>13.1:</b></td>
-              <td>- keine -</td>
+              <td width="1%"><sup>5</sup> </td>
+              <td width="3%">E1</td>
+              <td width="40%">= Mit besonderem Erfolg teilgenommen</td>
+              <td width="3%">E2</td>
+              <td width="30%">= Mit Erfolg teilgenommen</td>
+              <td width="3%">E3</td>
+              <td width="15%">= Teilgenommen</td>
             </tr>
           </table>
-          <div class="voffset-halb"></div>
-          Ihre Schullaufbahn weist Defizite auf, durch die die Zulassung zur
-          Abiturprüfung und zur Berufsabschlussprüfung gefährdet wird.
-          <div class="voffset-halb"></div>
-          <b>Bemerkungen</b>:
-          keine
-      <div class="voffset-5"></div>
-        <div class="col-xs-4">Bielefeld, den 8.2.2019</div>
-        <div class="col-xs-3">
-          <div class="voffset-2"></div>
-          <hr />
-          <div class="klein-7 text-center">Rudolf Hans <br />Schulleiter</div>
-        </div>
-        <div class="col-xs-2">
-          <div class="klein-7 text-center">Siegel</div>
-        </div>
-        <div class="col-xs-3">
-          <div class="voffset-2"></div>
-          <hr />
-          <div class="klein-7 text-center">Sabine Menzel<br />Klassenlehrerin</div>
-        </div>
-        <div class="col-xs-5 col-xs-offset-4">
-          <div class="voffset-1"></div>Die Kenntnisnahme wird bestätigt:
-        </div>
-        <div class="col-xs-3">
-          <div class="voffset-3"></div>
-          <hr />
-          <div class="klein-7 text-center">Schülerin</div>
-        </div>
-        <div class="col-xs-12">
-          <div class="klein-7">Schulnummer: 187173
-            <hr />
-            <table>
-              <tr>
-                <td><sup>1</sup> </td>
-                <td colspan="5">In der Reihenfolge der erlassenen Stundentafel</td>
-              </tr>
-              <tr>
-                <td rowspan="4" valign="top"><sup>2</sup> </td>
-                <td>I</td>
-                <td width="70%">= sprachlich literarisches Aufgabenfeld</td>
-                <td align="right" rowspan="4" valign="top"><sup>3</sup> </td>
-                <td>1</td>
-                <td>= erstes Leistungsfach</td>
-              </tr>
-              <tr>
-                <td>II</td>
-                <td>= gesellschaftswissenschaftliches Aufgabenfeld</td>
-                <td>2</td>
-                <td>= zweites Leistungsfach</td>
-              </tr>
-              <tr>
-                <td>III</td>
-                <td>= mathematisch-naturwissenschaftlich-technisches Aufgabenfeld</td>
-                <td>3</td>
-                <td>= drittes Abiturfach</td>
-              </tr>
-              <tr>
-                <td colspan="2"></td>
-                <td>4</td>
-                <td>= viertes Abiturfach</td>
-              </tr>
-            </table><sup>4</sup> Für die Umsetzung von Noten in Punkte gilt:<table border="1" bordercolor="#bebebe"
-              width="80%">
-              <tr>
-                <td width="5%"></td>
-                <td class="text-center" width="10%">sehr gut</td>
-                <td class="text-center" width="10%">gut</td>
-                <td class="text-center" width="10%">befriedigend</td>
-                <td class="text-center" width="10%">ausreichend</td>
-                <td class="text-center" width="10%">mangelhaft</td>
-                <td class="text-center" width="10%">ungenügend</td>
-              </tr>
-              <tr>
-                <td>Noten</td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">+</td>
-                      <td class="text-center" width="33%">1</td>
-                      <td class="text-center" width="33%">-</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">+</td>
-                      <td class="text-center" width="33%">2</td>
-                      <td class="text-center" width="33%">-</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">+</td>
-                      <td class="text-center" width="33%">3</td>
-                      <td class="text-center" width="33%">-</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">+</td>
-                      <td class="text-center" width="33%">4</td>
-                      <td class="text-center" width="33%">-</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">+</td>
-                      <td class="text-center" width="33%">5</td>
-                      <td class="text-center" width="33%">-</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">6</td>
-              </tr>
-              <tr>
-                <td>Punkte</td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">15</td>
-                      <td class="text-center" width="33%">14</td>
-                      <td class="text-center" width="33%">13</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">12</td>
-                      <td class="text-center" width="33%">11</td>
-                      <td class="text-center" width="33%">10</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">09</td>
-                      <td class="text-center" width="33%">08</td>
-                      <td class="text-center" width="33%">07</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">06</td>
-                      <td class="text-center" width="33%">05</td>
-                      <td class="text-center" width="33%">04</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">
-                  <table width="100%">
-                    <tr>
-                      <td class="text-center" width="33%">03</td>
-                      <td class="text-center" width="33%">02</td>
-                      <td class="text-center" width="33%">01</td>
-                    </tr>
-                  </table>
-                </td>
-                <td class="text-center">00</td>
-              </tr>
-            </table>
-            <div class="voffset-halb">
-              <table>
-                <tr>
-                  <td width="1%"><sup>5</sup> </td>
-                  <td width="3%">E1</td>
-                  <td width="40%">= Mit besonderem Erfolg teilgenommen</td>
-                  <td width="3%">E2</td>
-                  <td width="30%">= Mit Erfolg teilgenommen</td>
-                  <td width="3%">E3</td>
-                  <td width="15%">= Teilgenommen</td>
-                </tr>
-              </table>
-            </div>
-          </div>
         </div>
       </div>
     </div>
-  </div>
-  <div class="page">
-    <div class="subpage">
-      <div class="pull-bottom klein">
-        <div class="row">
-          <div class="col-xs-12">
-            <hr class="hr-grau" />
-            <div class="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).<div class="voffset-1"></div><b class="grau">
-                Rechtsbehelfsbelehrung:</b><br />Gegen dieses Zeugnis kann innerhalb eines Monats nach Bekanntgabe des
-              Zeugnisses Widerspruch eingelegt werden. Der Widerspruch ist beim Berufskolleg Bethel, Am Zionswald 12,
-              33617 Bielefeld, 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.</div>
-          </div>
-        </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.
       </div>
     </div>
-  </div>
+  {/each}
+{/each}
+
 <script>
-  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen }  from './helfer'
+  import { datum, versetzungsvermerk, volljaehrigBei, bemerkungen, bg }  from './helfer'
   const _ = R.lodash
-  import fkl from './daten/fachklassen.json'
 
 	export default {
     components: {
       Seitenlogo: './partials/Seitenlogo.html',
       Pageheader: './partials/Pageheader.html',
-      Fussnote: './partials/Fussnoten.html',
       Voffset: './partials/Voffset.html'
     },
-    helpers: { fkl, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
+    helpers: { bg, datum, versetzungsvermerk, volljaehrigBei, bemerkungen, _ },
     computed: {
       aktHalbjahr: ({jahr, abschnitt}) => { return a => a.Jahr === jahr && a.Abschnitt === abschnitt }
     }
@@ -406,4 +233,12 @@ In der Konferenz am 29.01.2019 sind folgende Leistungen festgestellt worden:
 
 <style>
   @import 'css/main.css';
+  .table-bordered {
+    border-collapse: collapse; }
+  .table-bordered tr td {
+    border: thin solid #ddd;
+    line-height: 1.3rem }
+  .table-eng {
+    margin-bottom: 0;
+  }
 </style>

+ 5 - 0
helfer.js

@@ -1,3 +1,5 @@
+import fkl from './daten/fachklassen.json'
+
 export const datum = (t) => {
   // gibt ein Datum im deutschen Format zurück
   return new Date(t).toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'})
@@ -30,4 +32,7 @@ export const schulform = (s) => {
   switch (s.ASDSchulform[0]) {
     case 'B': return 'Berufsfachschule'
   }
+}
+export const bg = (s,k) => {
+  return (fkl[s.fachklasse.Kennung] || fkl.default)[k]
 }

+ 12 - 4
partials/Fussnoten.html

@@ -1,15 +1,23 @@
 <div class="klein eng">
   <Voffset v="2"/>
   <div class="schulnummer">
-    Schulnummer: {schulNr}
+    Schulnummer: {schule.SchulNr}
   </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
+    Notenstufen gemäß § 48 SchulG: 1 = sehr gut, 2 = gut, 3 = befriedigend,
+    4 = ausreichend, 5 = mangelhaft, 6 = ungenügend
     <Voffset v=".5"/>
-    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).
+    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 Berufskolleg Bethel, Am Zionswald 12, 33617, Bielefeld, 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.
+    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.
   </div>
 </div>