Browse Source

Namen und Notenliste

hmt 5 years ago
parent
commit
17a3a20340

+ 29 - 21
AHR ASZ BA.html → AHR Abschlusszeugnis BA.html

@@ -26,10 +26,10 @@
           ></Noten>
           <b>Fachpraktische Prüfung</b>
           {#each hj.noten.filter(f => f.fach.FachKrz === 'KO') as f}
-            <table class="table-noten-2">
+            <table class="table-noten">
               <tr>
-                <td colspan="2" class="fach-bezeichnung-2"> {f.fach.Zeugnisbez}</td>
-                 <td class="td-fach-note-2"><span>{note(f.NotenKrz)}</span></td>
+                <td colspan="2" class="fach-bezeichnung"> {f.fach.Zeugnisbez}</td>
+                 <td class="td-fach-note"><span>{note(f.NotenKrz)}</span></td>
               </tr>
             </table>
           {/each}
@@ -129,24 +129,32 @@
 <style>
   @import 'css/main.css';
   @import 'css/a3-landscape.css';
-  .table-noten-2 {
-    width: 100%;
-    border-collapse: collapse;
-    margin-bottom: 1rem;
-  }
-  .td-fach-note-2 {
-    padding-bottom: .2rem;
-    padding-top: .2rem;
-    width: 12rem;
-  }
-  .td-fach-note-2 span {
-    background-color: #dcdcdc;
-    text-align: center;
-    width: 10rem;
-    display: block;
-    margin: 0 auto;
-  }
-.fach-bezeichnung-2 {
+.table-noten {
+  width: 100%;
+  border: none;
+  border-collapse: collapse;
+  margin-bottom: 1rem;
+}
+.fach-bezeichnung {
   padding-left: 10mm;
 }
+.td-fach-note {
+  padding-bottom: .2rem;
+  padding-top: .2rem;
+  width: 12rem;
+}
+.td-fach-note span {
+  background-color: #dcdcdc !important;
+  text-align: center;
+  width: 10rem;
+  display: block;
+  margin: 0 auto;
+  margin-right: 20px;
+}
+.td-fach-note span.e-note {
+  background-color: white !important;
+  width: 17em;
+  margin: 0;
+  padding: 0;
+}
 </style>

+ 31 - 26
Allg Fotoliste.html

@@ -1,36 +1,41 @@
-{#await promise}Fotos kommen…
-{:then fotos}
-  {#each chunk(fotos, 25) as slice}
-    <div class="page grid" orientation="portrait" size="A4">
-      <div class="main">
-        <b>{slice[0].Klasse}</b>
-        Stand: {datum(new Date())}
-        <div class="grid" style="font-size: 0.8rem">
-          {#each slice as s}
-            <div>
-              {#if s.schuelerfoto}
-                <img src="data:image/jpg;base64,{buffer(s.schuelerfoto.Foto)}" alt="Foto" style="width: 120px">
-              {:else}
-                Kein Foto
-              {/if}
-              <br>
-              {s.Name}, {s.Vorname}
-            </div>
-          {/each}
-        </div>
+{#each chunk(schueler, 25) as slice}
+  <div class="page grid" orientation="portrait" size="A4">
+    <div class="main">
+      <b>{slice[0].Klasse}</b>
+      Stand: {datum(new Date())}
+      <div class="grid" style="font-size: 0.8rem">
+        {#each slice as s}
+          <div>
+            {#if s.Foto}
+              <img src="data:image/jpg;base64,{buffer(s.Foto)}" alt="Foto" style="width: 120px">
+            {:else}
+              Kein Foto
+            {/if}
+            <br>
+            {s.Name}, {s.Vorname}
+          </div>
+        {/each}
       </div>
     </div>
-  {/each}
-{:catch error}Fehler
-{/await}
+  </div>
+{/each}
 
 <script>
   import { datum, chunk } from './helfer'
   export let schueler, knexConfig
-  const SchuelerFoto = R('schild').Schueler
-  SchuelerFoto.knex(R('knex')(knexConfig))
+  const mysql = R('mysql')
+  var connection = mysql.createConnection(knexConfig.connection)
+  connection.connect()
+  connection.query({
+    sql: 'SELECT Foto, Schueler_ID FROM `schuelerfotos` WHERE `Schueler_ID` IN (?)',
+    values: [schueler.map(s => s.ID)]},
+    (e, res) => schueler = mergeById(schueler, res))
+  const mergeById = (a1, a2) =>
+    a1.map(itm => ({
+      ...a2.find((item) => (item.Schueler_ID === itm.ID) && item),
+        ...itm
+    }))
   const buffer = (d) => Buffer.from(d, 'binary').toString('base64')
-  const promise = SchuelerFoto.query().whereIn('ID', schueler.map(s => s.ID)).eager('[schuelerfoto]').orderBy('Name')
 </script>
 
 <style>

+ 0 - 0
BFS ASZ.html → BFS Abschlusszeugnis.html


+ 11 - 6
BFS SOA Zertifikat Betreuungshelfer.html

@@ -4,6 +4,7 @@
     <Seitenlogo logo="{privat.traegerLogo}"/>
     <Pageheader logo="{privat.logo}" untertitel="{privat.untertitel}"/>
     <div class="main">
+      <Voffset v="8"/>
       <div class="text-center">
         <h5>Zertifikat über die fachliche Qualifikation
         <br>zur Betreuungskraft nach § 43b SGB XI</h5>
@@ -12,15 +13,19 @@
       {s.anrede} {s.Vorname} {s.Zusatz || ''} {s.Name},
       <br />geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort},
       <Voffset v="2"/>
-      wird bescheinigt, dass sie im Rahmen der Ausbildung zur Staatlich
-      geprüften Sozialassistenten die erforderlichen fachlichen Kenntnisse
+      wird bescheinigt, dass {s.Geschlecht===3?'er':'sie'} im Rahmen der Ausbildung
+      {bg(s, `Berufsbezeichnung_${s.Geschlecht===3?'m':'w'}`).replace('<br>','')} die erforderlichen fachlichen Kenntnisse
       zur Betreuungskraft gemäß Richtlinien nach § 43b SGB XI
       (Betreuungskräfte-RL vom 1. Januar 2017 in der jeweils geltenden
       Fassung) erworben hat.
-      <Voffset v="2"/>
+      <Voffset v="1.5"/>
+      {#if s.fachklasse.Kennung === "93-103-01"}
+        Grundlage für das Zertifikat sind der Bildungsplan (APO-BK Anlage B3)
+        und die didaktische Jahresplanung (in der jeweils gültigen Fassung).
+      {/if}
+      <Voffset v="1.5"/>
       Dieses Zertifikat gilt in Verbindung mit dem Abschlusszeugnis des
-      Bildungsganges der Berufs- fachschule Staatlich geprüfte
-      Sozialassistentin/Staatlich geprüfter Sozialassistent vom
+      Bildungsganges der Berufs- fachschule {bg(s, `Berufsbezeichnung_${s.Geschlecht===3?'m':'w'}`).replace('<br>','')} vom
       {datum(hj.ZeugnisDatum)}.
       <Voffset v="7"/>
       <div class="flex-grid">
@@ -54,7 +59,7 @@
 
 <script>
   export let schueler, schule, privat, jahr, abschnitt
-  import { datum }  from './helfer'
+  import { datum, bg }  from './helfer'
   import Seitenlogo from './partials/Seitenlogo.html'
   import Pageheader from './partials/Pageheader.html'
   import Voffset from './partials/Voffset.html'

+ 0 - 0
FOS ASZ.html → FOS Abschlusszeugnis.html


+ 0 - 0
FS ASZ Pferd.html → FS Abschlusszeugnis Pferd.html


+ 0 - 0
FS ASZ.html → FS Abschlusszeugnis.html


+ 9 - 7
partials/Noten.html

@@ -51,7 +51,11 @@ faechergruppenIds: legt fest, welche Fächergruppen gezogen werden sollen. Stand
               {/if}
             </td>
             <!-- Entweder Abschlussnote, wenn gesetzt oder Abschnittsnote oder nix -->
-            <td class="td-fach-note"><span>{note(f.NoteAbschluss) || note(f.NotenKrz) || '–––––'}</span></td>
+            {#if f.NoteAbschluss && f.NoteAbschluss.startsWith('E') || f.NotenKrz && f.NotenKrz.startsWith('E')}
+              <td class="td-fach-note"><span class="e-note">{note(f.NoteAbschluss) || note(f.NotenKrz)}</span></td>
+            {:else}
+              <td class="td-fach-note"><span>{note(f.NoteAbschluss) || note(f.NotenKrz) || '–––––'}</span></td>
+            {/if}
           </tr>
         {/if}
       {/each}
@@ -115,21 +119,19 @@ faechergruppenIds: legt fest, welche Fächergruppen gezogen werden sollen. Stand
   display: block;
   margin: 0 auto;
 }
-/*.td-fach-note span.e-note {
+.td-fach-note span.e-note {
   background-color: white !important;
-  width: 17rem;
+  width: 17em;
   margin: 0;
-}*/
-
+  padding: 0;
+}
 .fachgruppe-margin {
   padding-top: 0.3rem;
 }
-
 .lernfeld-lernbereich {
   padding-left: 2rem;
   padding-bottom: 0;
 }
-
 .lernbereich {
   padding-left: 20mm;
 }