[Lohnrechner-commits] r47 - /
scm-commit at wald.intevation.org
scm-commit at wald.intevation.org
Wed Jan 18 15:02:36 CET 2006
Author: wilde
Date: 2006-01-18 15:02:35 +0100 (Wed, 18 Jan 2006)
New Revision: 47
Modified:
LST2006.py
Log:
Neue Variablen und LUT nach Programmablaufplan 2006 eingef?\195?\188gt.
Modified: LST2006.py
===================================================================
--- LST2006.py 2005-11-28 09:33:45 UTC (rev 46)
+++ LST2006.py 2006-01-18 14:02:35 UTC (rev 47)
@@ -4,7 +4,7 @@
# $Id$
# --------------------------------------------------------------------
#
-# Copyright (c) 2005 by Intevation GmbH
+# Copyright (c) 2005, 2006 by Intevation GmbH
# Authors:
# Sascha Wilde <wilde at intevation.de>
#
@@ -51,7 +51,7 @@
class LST:
def __init__(self,
- RE4=0,
+ AJAHR =0,
ALTER1=0,
HINZUR=0,
JFREIB=0,
@@ -61,17 +61,21 @@
KRV =0,
LZZ =2,
R =0,
+ RE4 =0,
SONSTB=0,
+ STERBE=0,
STKL =1,
VBEZ =0,
VBEZM =0,
VBEZS =0,
VBS =0,
+ VJAHR =0,
+ VKAPA =0,
VMT =0,
WFUNDF=0,
ZKF =0,
ZMVB =0):
- self.Set_RE4(RE4)
+ self.Set_AJAHR(AJAHR)
self.Set_ALTER1(ALTER1)
self.Set_HINZUR(HINZUR)
self.Set_JFREIB(JFREIB)
@@ -81,12 +85,16 @@
self.Set_KRV(KRV)
self.Set_LZZ(LZZ)
self.Set_R(R)
+ self.Set_RE4(RE4)
self.Set_SONSTB(SONSTB)
+ self.Set_STERBE(STERBE)
self.Set_STKL(STKL)
self.Set_VBEZ(VBEZ)
self.Set_VBEZM(VBEZM)
self.Set_VBEZS(VBEZS)
self.Set_VBS(VBS)
+ self.Set_VJAHR(VJAHR)
+ self.Set_VKAPA(VKAPA)
self.Set_VMT(VMT)
self.Set_WFUNDF(WFUNDF)
self.Set_ZKF(ZKF)
@@ -117,8 +125,11 @@
self._EFA = 0
self._FVB = 0
self._FVBZ = 0
+ self._HFVB = 0
+ self._J = 0
self._JBMG = 0
self._JW = 0
+ self._K = 0
self._KENNZ = 0
self._KFB = 0
self._KZTAB = 1
@@ -137,6 +148,155 @@
self._ST = 0
self._ST1 = 0
self._ST2 = 0
+ self._TAB1=(None, # 1 als erstes Element, wie im PAP
+ 0.400, # bis 2005
+ 0.384, # 2006
+ 0.368, # 2007
+ 0.352, # 2008
+ 0.336, # 2009
+ 0.320, # 2010
+ 0.304, # 2011
+ 0.288, # 2012
+ 0.272, # 2013
+ 0.256, # 2014
+ 0.240, # 2015
+ 0.224, # 2016
+ 0.208, # 2017
+ 0.192, # 2018
+ 0.176, # 2019
+ 0.160, # 2020
+ 0.152, # 2021
+ 0.144, # 2022
+ 0.136, # 2023
+ 0.128, # 2024
+ 0.120, # 2025
+ 0.112, # 2026
+ 0.104, # 2027
+ 0.096, # 2028
+ 0.088, # 2029
+ 0.080, # 2030
+ 0.072, # 2031
+ 0.064, # 2032
+ 0.056, # 2033
+ 0.048, # 2034
+ 0.040, # 2035
+ 0.032, # 2036
+ 0.024, # 2037
+ 0.016, # 2038
+ 0.008, # 2039
+ 0.000) # 2040
+ self._TAB2=(None, # 1 als erstes Element, wie im PAP
+ 3000, # bis 2005
+ 2880, # 2006
+ 2760, # 2007
+ 2640, # 2008
+ 2520, # 2009
+ 2400, # 2010
+ 2280, # 2011
+ 2160, # 2012
+ 2040, # 2013
+ 1920, # 2014
+ 1800, # 2015
+ 1680, # 2016
+ 1560, # 2017
+ 1440, # 2018
+ 1320, # 2019
+ 1200, # 2020
+ 1140, # 2021
+ 1080, # 2022
+ 1020, # 2023
+ 960, # 2024
+ 900, # 2025
+ 840, # 2026
+ 780, # 2027
+ 720, # 2028
+ 660, # 2029
+ 600, # 2030
+ 540, # 2031
+ 480, # 2032
+ 420, # 2033
+ 360, # 2034
+ 300, # 2035
+ 240, # 2036
+ 180, # 2037
+ 120, # 2038
+ 60, # 2039
+ 0) # 2040
+ self._TAB3=(None, # 1 als erstes Element, wie im PAP
+ 900, # bis 2005
+ 864, # 2006
+ 828, # 2007
+ 792, # 2008
+ 756, # 2009
+ 720, # 2010
+ 684, # 2011
+ 648, # 2012
+ 612, # 2013
+ 576, # 2014
+ 540, # 2015
+ 504, # 2016
+ 468, # 2017
+ 432, # 2018
+ 396, # 2019
+ 360, # 2020
+ 342, # 2021
+ 324, # 2022
+ 306, # 2023
+ 288, # 2024
+ 270, # 2025
+ 252, # 2026
+ 234, # 2027
+ 216, # 2028
+ 198, # 2029
+ 180, # 2030
+ 162, # 2031
+ 144, # 2032
+ 126, # 2033
+ 108, # 2034
+ 90, # 2035
+ 72, # 2036
+ 54, # 2037
+ 36, # 2038
+ 18, # 2039
+ 0) # 2040
+ self._TAB4=self._TAB1
+ self._TAB5=(None, # 1 als erstes Element, wie im PAP
+ 1900, # bis 2005
+ 1824, # 2006
+ 1748, # 2007
+ 1672, # 2008
+ 1596, # 2009
+ 1520, # 2010
+ 1444, # 2011
+ 1368, # 2012
+ 1292, # 2013
+ 1216, # 2014
+ 1140, # 2015
+ 1064, # 2016
+ 988, # 2017
+ 912, # 2018
+ 836, # 2019
+ 760, # 2020
+ 722, # 2021
+ 684, # 2022
+ 646, # 2023
+ 608, # 2024
+ 570, # 2025
+ 532, # 2026
+ 494, # 2027
+ 456, # 2028
+ 418, # 2029
+ 380, # 2030
+ 342, # 2031
+ 304, # 2032
+ 266, # 2033
+ 228, # 2034
+ 190, # 2035
+ 152, # 2036
+ 114, # 2037
+ 76, # 2038
+ 38, # 2039
+ 0) # 2040
self._VBEZB = 0
self._VHB = 0
self._VSP = 0.0 # 2 Dezimalstellen
@@ -155,6 +315,7 @@
self._ZRE4VP = 0.0 # 2 Dezimalstellen
self._ZRE4VP1 = 0.0 # 2 Dezimalstellen
self._ZTABFB = 0
+ self._ZVBEZ = 0
self._ZVE = 0
self._ZX = 0
self._ZZX = 0
@@ -183,7 +344,7 @@
self._MSOLZ()
self._MSONST()
self._MVMT()
-
+
# Benutzte Unterprogramme:
def _MRE4LZZ(self):
if self.VBEZ == 0:
@@ -236,7 +397,7 @@
if self.RE4 > self.VBEZ:
self._ANP += 920
else:
- self._ANP = 0
+ self._ANP = 0
if self.STKL == 1:
self._SAP = 36
self._KFB = self.ZKF * 5808
@@ -260,7 +421,7 @@
if self.STKL < 5:
self._UPEVP()
else:
- self._VSP = 0.0
+ self._VSP = 0.0
self._ZVE = self._ZRE4 - self._ZTABFB - self._VSP
if self._ZVE < 1:
self._ZVE = self._X = 0.0
@@ -388,7 +549,7 @@
self._ANTEIL2 = ceil(self._JW * 7 / 360.0)
else:
self._ANTEIL1 = floor(self._JW / 360.0)
- self._ANTEIL2 = ceil(self._JW / 360.0)
+ self._ANTEIL2 = ceil(self._JW / 360.0)
def _UPTAB05(self):
if self._X < 7665:
@@ -465,7 +626,7 @@
old_lzz = self.LZZ
old_vbez = self.VBEZ
old_re4 = self.RE4
- # ------------------------------
+ # ------------------------------
self.LZZ = 1
self.VBEZ = self.JVBEZ + self.VBS
self.RE4 = self.JRE4 + self.SONSTB
@@ -514,51 +675,58 @@
# Methoden zum geprüften setzen der Wert
# FIX ME: Prüfung _sehr_ unvollständig
- def Set_RE4(self, value):
- assert value >= 0, "must not be negative"
- self.RE4 = value
+ def Set_AJAHR(self, value):
+ self.HINZUR = value
+
def Set_ALTER1(self, value):
assert value in (0,1), "must be 0 or 1"
self.ALTER1 = value
-
+
def Set_HINZUR(self, value):
self.HINZUR = value
-
+
def Set_JFREIB(self, value):
self.JFREIB = value
-
+
def Set_JHINZU(self, value):
self.JHINZU = value
-
+
def Set_JRE4(self, value):
self.JRE4 = value
-
+
def Set_JVBEZ(self, value):
self.JVBEZ = value
-
+
def Set_KRV(self, value):
assert value in (0,1), "must be 0 or 1"
self.KRV = value
-
+
def Set_LZZ(self, value):
assert value in (1,2,3,4), \
"must be in range 1-4 (JAHR, MONAT, WOCHE, TAG)"
self.LZZ = value
-
+
def Set_R(self, value):
assert value >= 0.0 and value <= 100.0, \
"must be in range 0.0-100.0 (Percent)"
self.R = value
-
+
+ def Set_RE4(self, value):
+ assert value >= 0, "must not be negative"
+ self.RE4 = value
+
def Set_SONSTB(self, value):
self.SONSTB = value
-
+
+ def Set_STERBE(self, value):
+ self.STERBE = value
+
def Set_STKL(self, value):
assert value in (1,2,3,4,5,6), \
"must be in range 1-6 (I II III IV V VI)"
self.STKL = value
-
+
def Set_VBEZ(self, value):
self.VBEZ = value
@@ -571,6 +739,12 @@
def Set_VBS(self, value):
self.VBS = value
+ def Set_VJAHR(self, value):
+ self.VJAHR = value
+
+ def Set_VKAPA(self, value):
+ self.VKAPA = value
+
def Set_VMT(self, value):
self.VMT = value
@@ -582,7 +756,7 @@
value >= 0, \
"must be positive, and must not have more than one decimal digit"
self.ZKF = value
-
+
def Set_ZMVB(self, value):
self.ZMVB = value
@@ -596,7 +770,7 @@
class LStRechner2005(LST):
def __init__(self):
LST.__init__(self)
-
+
def SetLohn(self, lohn):
"""Setzt Lohn in Euro.Cent"""
self.Set_RE4(round (lohn * 100.0))
More information about the Lohnrechner-commits
mailing list