[IMP] l10n_at_gemeinde_payroll: implement AP1 pay scale model (GemBG Bgld.)

Katalogmodell nach Implementierungsplan AP1 (freigegeben 2026-09-09):

- ``gemeinde.payroll.entlohnungsgruppe`` (Code, Schema, §, Bundesland,
  Vorrückungszeitraum je Gruppe; § 66 Abs 2 GemBG: 4 Jahre, abweichend
  2 Jahre für Betreuungspersonen-/Sondergruppen) und
  ``gemeinde.payroll.entlohnungsstufe`` (Stufe, Monatsentgelt, Stichtag,
  unique je Gruppe/Stufe/Stichtag) mit Stichtags-Lookup-Helfern.
- Seed 2026: 35 Entlohnungsgruppen, 433 Werte (Schemata I/gv, II/gh,
  Ia/bv, IIa/bh, kb, av sowie §-Gruppen 150c/151/151c), Werte aus der
  konsolidierten GemBG-Fassung 09.09.2026 (Wert 1.7.2026 gemäß Artikel 4
  RV 0715/XXIII. GP; 2025er-Stichtagsannahme für nicht 2026 angepasste
  Tabellen als AP0-Verifikationspunkt dokumentiert). Generator mit
  Herkunftsnachweis: personalverrechnung/tools/extract_gembg_katalog.py.
- GemBG-Felder auf der Payroll-Version (hr.version) plus Employee-Spiegel
  nach dem Engine-Muster (related/inherited): Entlohnungsgruppe, Stufe,
  Besoldungsdienstalter, Vorrückungstermin — berechnet nach § 66 Abs 2
  (erster Tag des Monats nach Vollendung weiterer n Jahre BDA), manuell
  überschreibbar für Überleitungsfälle (§§ 157a ff).
- Vorrückungs-Wizard (§ 66 Abs 2): fällige Versionen zum Stichtag,
  Stufenerhöhung mit Höchststufen-Schutz und Ergebnis-Notification —
  bewusst kein stilles Mutieren im Lohnlauf (Dokumentationspflicht).
- Views/Menüs (Personalverrechnung Bgld. unter Payroll), Security auf
  hr_payroll-Gruppen, Employee-Form-Anbindung in payroll_group.
- Tests (Rechenfälle AP1): Seed-Werte inkl. Quellenanomalie kb1a/6,
  Stichtags-Lookup, Jahresversionierung, Vorrückungstermin (BDA 15.03.2020
  -> 1.4.2028), Wizard-Anwendung mit Höchststufen-Skip.

Statische Validierung grün (py_compile, XML, Manifest, CSV-Integrität);
Runtime-Testlauf auf dem Dev-Host (gem360_dev) ausständig, wie im
Implementierungsplan M2 vorgesehen.
This commit is contained in:
2026-09-09 11:55:15 +02:00
parent 4e79c8b8b1
commit 30270f9877
15 changed files with 1159 additions and 10 deletions
@@ -0,0 +1,36 @@
id,code,schema,paragraph,bundesland,vorrueckungszeitraum_jahre
bgld_grp_i_gv1,gv1,I,57,bgld,4
bgld_grp_i_gv2,gv2,I,57,bgld,4
bgld_grp_i_gv3,gv3,I,57,bgld,4
bgld_grp_i_gv4,gv4,I,57,bgld,4
bgld_grp_i_gv5,gv5,I,57,bgld,4
bgld_grp_ii_gh1,gh1,II,58,bgld,4
bgld_grp_ii_gh2,gh2,II,58,bgld,4
bgld_grp_ii_gh3,gh3,II,58,bgld,4
bgld_grp_ii_gh4,gh4,II,58,bgld,4
bgld_grp_ii_gh5,gh5,II,58,bgld,4
bgld_grp_iia_bh1,bh1,IIa,133i,bgld,4
bgld_grp_iia_bh2,bh2,IIa,133i,bgld,4
bgld_grp_iia_bh3,bh3,IIa,133i,bgld,4
bgld_grp_iia_bh4,bh4,IIa,133i,bgld,4
bgld_grp_iia_bh5,bh5,IIa,133i,bgld,4
bgld_grp_ia_bv1,bv1,Ia,133g,bgld,4
bgld_grp_ia_bv2,bv2,Ia,133g,bgld,4
bgld_grp_ia_bv3,bv3,Ia,133g,bgld,4
bgld_grp_ia_bv4,bv4,Ia,133g,bgld,4
bgld_grp_ia_bv5,bv5,Ia,133g,bgld,4
bgld_grp_av_av1,av1,av,133u,bgld,4
bgld_grp_av_av2,av2,av,133u,bgld,4
bgld_grp_av_av3,av3,av,133u,bgld,4
bgld_grp_av_av4,av4,av,133u,bgld,4
bgld_grp_av_av5,av5,av,133u,bgld,4
bgld_grp_kb_kb1,kb1,kb,133j,bgld,4
bgld_grp_kb_kb1a,kb1a,kb,133j,bgld,4
bgld_grp_kb_kb2,kb2,kb,133j,bgld,4
bgld_grp_kb_kb3,kb3,kb,133j,bgld,4
bgld_grp__150c_l2b1,l2b1,§150c,150c,bgld,2
bgld_grp__150c_l3,l3,§150c,150c,bgld,2
bgld_grp__151_gb1,gb1,§151,151,bgld,2
bgld_grp__151_gb2,gb2,§151,151,bgld,2
bgld_grp__151c_gb1a,gb1a,§151c,151c,bgld,2
bgld_grp__151c_gb3,gb3,§151c,151c,bgld,2
1 id code schema paragraph bundesland vorrueckungszeitraum_jahre
2 bgld_grp_i_gv1 gv1 I 57 bgld 4
3 bgld_grp_i_gv2 gv2 I 57 bgld 4
4 bgld_grp_i_gv3 gv3 I 57 bgld 4
5 bgld_grp_i_gv4 gv4 I 57 bgld 4
6 bgld_grp_i_gv5 gv5 I 57 bgld 4
7 bgld_grp_ii_gh1 gh1 II 58 bgld 4
8 bgld_grp_ii_gh2 gh2 II 58 bgld 4
9 bgld_grp_ii_gh3 gh3 II 58 bgld 4
10 bgld_grp_ii_gh4 gh4 II 58 bgld 4
11 bgld_grp_ii_gh5 gh5 II 58 bgld 4
12 bgld_grp_iia_bh1 bh1 IIa 133i bgld 4
13 bgld_grp_iia_bh2 bh2 IIa 133i bgld 4
14 bgld_grp_iia_bh3 bh3 IIa 133i bgld 4
15 bgld_grp_iia_bh4 bh4 IIa 133i bgld 4
16 bgld_grp_iia_bh5 bh5 IIa 133i bgld 4
17 bgld_grp_ia_bv1 bv1 Ia 133g bgld 4
18 bgld_grp_ia_bv2 bv2 Ia 133g bgld 4
19 bgld_grp_ia_bv3 bv3 Ia 133g bgld 4
20 bgld_grp_ia_bv4 bv4 Ia 133g bgld 4
21 bgld_grp_ia_bv5 bv5 Ia 133g bgld 4
22 bgld_grp_av_av1 av1 av 133u bgld 4
23 bgld_grp_av_av2 av2 av 133u bgld 4
24 bgld_grp_av_av3 av3 av 133u bgld 4
25 bgld_grp_av_av4 av4 av 133u bgld 4
26 bgld_grp_av_av5 av5 av 133u bgld 4
27 bgld_grp_kb_kb1 kb1 kb 133j bgld 4
28 bgld_grp_kb_kb1a kb1a kb 133j bgld 4
29 bgld_grp_kb_kb2 kb2 kb 133j bgld 4
30 bgld_grp_kb_kb3 kb3 kb 133j bgld 4
31 bgld_grp__150c_l2b1 l2b1 §150c 150c bgld 2
32 bgld_grp__150c_l3 l3 §150c 150c bgld 2
33 bgld_grp__151_gb1 gb1 §151 151 bgld 2
34 bgld_grp__151_gb2 gb2 §151 151 bgld 2
35 bgld_grp__151c_gb1a gb1a §151c 151c bgld 2
36 bgld_grp__151c_gb3 gb3 §151c 151c bgld 2