AHR Schullaufbahnbescheinigung.svelte 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. {#each schueler as s (s.ID)}
  2. {#each s.abschnitte.filter(aktHalbjahr) as hj (hj.ID)}
  3. <div class="page grid" orientation="portrait" size="A4" style="font-size: 1.0rem">
  4. <div class="header">
  5. <Seitenlogo logo="{privat.traegerLogo}"/>
  6. <Pageheader logo="{privat.logo}" untertitel="{privat.untertitel}"/>
  7. </div>
  8. <div class="main">
  9. <div style="font-size: 12pt; line-height: 1.5em">Bescheinigung über die Schullaufbahn gemäß §13 APO-BK, Anlage D</div>
  10. <div style="font-size: 11pt; line-height: 1.2em">Berufliches Gymnasium, Bereich Gesundheit und Soziales</div>
  11. <Voffset v="0.5"/>
  12. {s.anrede} <b>{s.Vorname} {s.Zusatz || ''} {s.Name}</b>, geboren am {datum(s.Geburtsdatum)} in {s.Geburtsort},
  13. <br />besuchte im Schuljahr {hj.schuljahr} die Jahrgangsstufe {parseInt(hj.ASDJahrgang)+10}.{hj.Abschnitt} im Bildungsgang
  14. <br /><b>{bg(s, 'Bereich')}</b>.
  15. <Voffset v="0.5"/>
  16. In der Konferenz am {datum(hj.Konferenzdatum)} sind folgende Leistungen festgestellt worden:
  17. <table class="table table-bordered table-eng">
  18. <tr>
  19. <td rowspan="2">Fach<sup>1</sup></td>
  20. <td rowspan="2" width="20px">Aufg.- feld<sup>2</sup></td>
  21. <td rowspan="2" width="20px">Abitur- fach<sup>3</sup></td>
  22. {#if s.ASDSchulform === 'D01'}
  23. <td rowspan="2" width="20px">Fach der Berufs- abschlussprüfung</td>
  24. {/if}
  25. <td colspan="4">Leistungen im Halbjahr<sup>4, 5</sup></td>
  26. </tr>
  27. <tr>
  28. <td class="text-center">12.1</td>
  29. <td class="text-center">12.2</td>
  30. <td class="text-center">13.1</td>
  31. <td class="text-center">13.2</td>
  32. </tr>
  33. {#each s.abi_abschluss_faecher.sort((a, b) => a.FSortierung < b.FSortierung ? -1 : 1) as f}
  34. <tr>
  35. <td>{f.fach.Zeugnisbez}</td>
  36. <td class="text-center">{'I'.repeat(f.fach.Aufgabenfeld)}</td>
  37. <td class="text-center">{f.AbiFach || ''}</td>
  38. {#if s.ASDSchulform === 'D01'}
  39. <td class="text-center">{(parseInt(f.AbiFach) > 0 && parseInt(f.AbiFach) < 4) || f.FachKrz === 'DM' ? '+' : ''}</td>
  40. {/if}
  41. <td class="text-center">{f.P12_1 || '–'}</td>
  42. <td class="text-center">{f.P12_2 || '–'}</td>
  43. <td class="text-center">{f.P13_1 || '–'}</td>
  44. <td class="text-center">{f.P13_2 || '–'}</td>
  45. </tr>
  46. {/each}
  47. </table>
  48. Versäumte Stunden: {parseInt(hj.SumFehlStd) || 0}, davon unentschuldigt: {parseInt(hj.SumFehlStdU) || 0}
  49. <Voffset v="0.5"/>
  50. Kurse unter 5 Punkten in den Fächern und Jahrgangsstufen:
  51. <table>
  52. <tr>
  53. <td width="7%"><b>12.1:</b></td>
  54. <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>
  55. {#if hj.Jahrgang === 4 || hj.Jahrgang === 2 && hj.Abschnitt === 2}
  56. <td width="7%"><b>12.2:</b></td>
  57. <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>
  58. {/if}
  59. </tr>
  60. {#if hj.Jahrgang === 4}
  61. <tr>
  62. <td><b>13.1:</b></td>
  63. <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>
  64. {#if hj.Jahrgang === 3 && hj.Abschnitt === 2}
  65. <td width="7%"><b>13.2:</b></td>
  66. <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>
  67. {/if}
  68. </tr>
  69. {/if}
  70. </table>
  71. <Voffset v="0.5"/>
  72. {#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))}
  73. Ihre Schullaufbahn weist Defizite auf, durch die die Zulassung zur
  74. Abiturprüfung
  75. {#if s.ASDSchulform === 'D01'}
  76. und zur Berufsabschlussprüfung
  77. {/if}
  78. gefährdet wird.
  79. {/if}
  80. <Voffset v="0.5"/>
  81. <b>Bemerkungen:</b> {@html bemerkungen(hj)}
  82. </div>
  83. <div class="footer">
  84. <div class="flex-grid">
  85. <div class="col-2">
  86. {schule.Ort}, den {datum(hj.ZeugnisDatum)}
  87. </div>
  88. <div class="col text-center klein">
  89. <Voffset v="3"/>
  90. <hr />
  91. {schule.SchulleiterVorname} {schule.SchulleiterName}
  92. <br />{schule.schulleiter_in}
  93. </div>
  94. <div class="col text-center klein">
  95. <Voffset v="3"/>
  96. Siegel
  97. </div>
  98. <div class="col text-center klein">
  99. <Voffset v="3"/>
  100. <hr />
  101. {hj.lehrer?.Vorname} {hj.lehrer?.Nachname}<br />{hj.klassenlehrer_in}
  102. </div>
  103. </div>
  104. <div class="flex-grid">
  105. <div class="col-2"></div>
  106. <div class="col-2">
  107. <Voffset v="1"/>
  108. Die Kenntnisnahme wird bestätigt:
  109. </div>
  110. <div class="col">
  111. <Voffset v="3"/>
  112. <hr />
  113. <div class="klein text-center">
  114. {volljaehrigBei(s, hj.ZeugnisDatum) ? s.schueler_in : 'Erziehungsberechtigte'}
  115. </div>
  116. </div>
  117. </div>
  118. <div class="klein eng">
  119. Schulnummer: {schule.SchulNr}
  120. <hr />
  121. <table>
  122. <tr>
  123. <td><sup>1</sup> </td>
  124. <td colspan="5">In der Reihenfolge der erlassenen Stundentafel</td>
  125. </tr>
  126. <tr>
  127. <td rowspan="4" valign="top"><sup>2</sup> </td>
  128. <td>I</td>
  129. <td width="70%">= sprachlich literarisches Aufgabenfeld</td>
  130. <td align="right" rowspan="4" valign="top"><sup>3</sup> </td>
  131. <td>1</td>
  132. <td>= erstes Leistungsfach</td>
  133. </tr>
  134. <tr>
  135. <td>II</td>
  136. <td>= gesellschaftswissenschaftliches Aufgabenfeld</td>
  137. <td>2</td>
  138. <td>= zweites Leistungsfach</td>
  139. </tr>
  140. <tr>
  141. <td>III</td>
  142. <td>= mathematisch-naturwissenschaftlich-technisches Aufgabenfeld</td>
  143. <td>3</td>
  144. <td>= drittes Abiturfach</td>
  145. </tr>
  146. <tr>
  147. <td colspan="2"></td>
  148. <td>4</td>
  149. <td>= viertes Abiturfach</td>
  150. </tr>
  151. </table>
  152. <sup>4</sup> Für die Umsetzung von Noten in Punkte gilt:
  153. <table class="table table-bordered table-eng" width="80%">
  154. <tr>
  155. <td width="5%"></td>
  156. {#each ['sehr gut', 'gut', 'befriedigend', 'ausreichend', 'mangelhaft', 'ungenügend'] as n}
  157. <td class="text-center" width="10%">{n}</td>
  158. {/each}
  159. </tr>
  160. <tr>
  161. <td>Noten</td>
  162. {#each [1,2,3,4,5] as i}
  163. <td class="text-center">
  164. <div class="flex-grid">
  165. <div class="col">+</div>
  166. <div class="col">{i}</div>
  167. <div class="col">-</div>
  168. </div>
  169. </td>
  170. {/each}
  171. <td class="text-center">6</td>
  172. </tr>
  173. <tr>
  174. <td>Punkte</td>
  175. {#each [[15,14,13],[12,11,10],['09','08','07'],['06','05','04'],['03','02','01']] as ii}
  176. <td class="text-center">
  177. <div class="flex-grid">
  178. {#each ii as i}
  179. <div class="col">{i}</div>
  180. {/each}
  181. </div>
  182. </td>
  183. {/each}
  184. <td class="text-center">00</td>
  185. </tr>
  186. </table>
  187. <Voffset v=".5"/>
  188. <table>
  189. <tr>
  190. <td width="1%"><sup>5</sup> </td>
  191. <td width="3%">E1</td>
  192. <td width="40%">= Mit besonderem Erfolg teilgenommen</td>
  193. <td width="3%">E2</td>
  194. <td width="30%">= Mit Erfolg teilgenommen</td>
  195. <td width="3%">E3</td>
  196. <td width="15%">= Teilgenommen</td>
  197. </tr>
  198. </table>
  199. </div>
  200. </div>
  201. </div>
  202. <div class="page grid" orientation="portrait" size="A4">
  203. <div class="footer grau">
  204. <Fussnote {schule}></Fussnote>
  205. </div>
  206. </div>
  207. {/each}
  208. {/each}
  209. <script>
  210. export const kommentar = `
  211. [Anlage D 33a](https://bass.schul-welt.de/3129.htm#AnlageD33a)
  212. [VV](https://bass.schul-welt.de/3129.htm#pgfId-3910124)
  213. `
  214. import { datum, volljaehrigBei, bemerkungen, bg } from './helfer'
  215. import Seitenlogo from './partials/Seitenlogo.svelte'
  216. import Pageheader from './partials/Pageheader.svelte'
  217. import Voffset from './partials/Voffset.svelte'
  218. import Fussnote from './partials/Fussnoten.svelte'
  219. export let schueler, schule, privat, jahr, abschnitt
  220. const aktHalbjahr = a => a.Jahr === jahr && a.Abschnitt === abschnitt
  221. </script>
  222. <style>
  223. @import 'css/main.css';
  224. .table-bordered {
  225. border-collapse: collapse; }
  226. .table-bordered td {
  227. border: thin solid #ddd;
  228. line-height: 1.3rem }
  229. .table-eng {
  230. margin-bottom: 0;
  231. }
  232. </style>