/[lohnrechner]/trunk/lohnrechner2007.py
ViewVC logotype

Diff of /trunk/lohnrechner2007.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 71 by wilde, Fri Jan 26 10:38:26 2007 UTC revision 72 by wilde, Fri Jan 26 11:23:49 2007 UTC
# Line 28  class Lohnrechner(LST2007.LStRechner2007 Line 28  class Lohnrechner(LST2007.LStRechner2007
28          LST2007.LStRechner2007.__init__(self)          LST2007.LStRechner2007.__init__(self)
29    
30          # Land, Kirchensteuersatz, Pflegeversicherung AG-Anteil          # Land, Kirchensteuersatz, Pflegeversicherung AG-Anteil
31          self.laender = [("Baden-W�rttemberg", 8, 0.0085),          self.laender = [("Baden-W�rttemberg", 8, 0.0085, 5250),
32                          ("Bayern", 8, 0.0085),                          ("Bayern", 8, 0.0085, 5250),
33                          ("Berlin", 9, 0.0085),                          ("Berlin (ost)", 9, 0.0085, 4550),
34                          ("Brandenburg", 9, 0.0085),                          ("Berlin (west)", 9, 0.0085, 5250),
35                          ("Bremen", 9, 0.0085),                          ("Brandenburg", 9, 0.0085, 4550),
36                          ("Bremerhaven", 9, 0.0085),                          ("Bremen", 9, 0.0085, 5250),
37                          ("Hamburg", 9, 0.0085),                          ("Bremerhaven", 9, 0.0085, 5250),
38                          ("Hessen", 9, 0.0085),                          ("Hamburg", 9, 0.0085, 5250),
39                          ("Mecklenburg-Vorpommern", 9, 0.0085),                          ("Hessen", 9, 0.0085, 5250),
40                          ("Niedersachsen" ,9, 0.0085),                          ("Mecklenburg-Vorpommern", 9, 0.0085, 4550),
41                          ("Nordrhein-Westfalen", 9, 0.0085),                          ("Niedersachsen" ,9, 0.0085, 5250),
42                          ("Rheinland-Pfalz", 9, 0.0085),                          ("Nordrhein-Westfalen", 9, 0.0085, 5250),
43                          ("Saarland", 9, 0.0085),                          ("Rheinland-Pfalz", 9, 0.0085, 5250),
44                          ("Sachsen", 9, 0.0135),                          ("Saarland", 9, 0.0085, 5250),
45                          ("Sachsen-Anhalt", 9, 0.0085),                          ("Sachsen", 9, 0.0135, 4550),
46                          ("Schleswig-Holstein", 9, 0.0085),                          ("Sachsen-Anhalt", 9, 0.0085, 4550),
47                          ("Th�ringen", 9, 0.0085)]                          ("Schleswig-Holstein", 9, 0.0085, 5250),
48                            ("Th�ringen", 9, 0.0085, 4550)]
49                    
50          self.root = root          self.root = root
51    
# Line 99  class Lohnrechner(LST2007.LStRechner2007 Line 100  class Lohnrechner(LST2007.LStRechner2007
100          self.kfb.bind("<Return>", self.NewInput)          self.kfb.bind("<Return>", self.NewInput)
101          self.kfb.grid(row=4, column=1, sticky=W)          self.kfb.grid(row=4, column=1, sticky=W)
102    
103          Label(frame, text="Bundesland:").grid(row=5, sticky=NE)          Label(frame, text="Kinder:").grid(row=5, sticky=E)
104            self.kinder = IntVar()
105            self.kinderradio = Checkbutton(frame, onvalue=1, offvalue=0,
106                                           command=self.NewInput,
107                                           variable=self.kinder)
108            self.kinderradio.grid(row=5, column=1, sticky=W)
109            
110            Label(frame, text="Bundesland:").grid(row=6, sticky=NE)
111          landframe = Frame(frame)          landframe = Frame(frame)
112          scrollbar = Scrollbar(landframe, orient=VERTICAL)          scrollbar = Scrollbar(landframe, orient=VERTICAL)
113          self.landbox = Listbox(landframe, height=4, selectmode=SINGLE,          self.landbox = Listbox(landframe, height=4, selectmode=SINGLE,
# Line 111  class Lohnrechner(LST2007.LStRechner2007 Line 119  class Lohnrechner(LST2007.LStRechner2007
119          self.landbox.pack(side=RIGHT, fill=Y)          self.landbox.pack(side=RIGHT, fill=Y)
120          scrollbar.config(command=self.landbox.yview)          scrollbar.config(command=self.landbox.yview)
121          scrollbar.pack(side=LEFT, fill=BOTH, expand=1)          scrollbar.pack(side=LEFT, fill=BOTH, expand=1)
122          landframe.grid(row=5, rowspan=4, column=1, sticky=W)          landframe.grid(row=6, rowspan=4, column=1, sticky=W)
123                    
124          Label(frame, text="Lohnsteuer:").grid(row=0, column=2, sticky=E)          Label(frame, text="Lohnsteuer:").grid(row=0, column=2, sticky=E)
125          self.lst = Entry(frame)          self.lst = Entry(frame)
# Line 130  class Lohnrechner(LST2007.LStRechner2007 Line 138  class Lohnrechner(LST2007.LStRechner2007
138          self.netto1.grid(row=3, column=3, sticky=W)          self.netto1.grid(row=3, column=3, sticky=W)
139    
140          # Sozialversicherung Ein/Ausgabe          # Sozialversicherung Ein/Ausgabe
141          Label(frame, text="Sozialversicherung:").grid(row=9, sticky=E)          Label(frame, text="Sozialversicherung:").grid(row=10, sticky=E)
142          self.sozv = IntVar()          self.sozv = IntVar()
143          sozvradio = Checkbutton(frame, onvalue=1, offvalue=0,          sozvradio = Checkbutton(frame, onvalue=1, offvalue=0,
144                                  command=self.NewInput, variable=self.sozv)                                  command=self.NewInput, variable=self.sozv)
145          sozvradio.select()          sozvradio.select()
146          sozvradio.grid(row=9, column=1, sticky=W)          sozvradio.grid(row=10, column=1, sticky=W)
147    
148          Label(frame, text="Krankenkassenbeitrag:").grid(row=10, sticky=E)          Label(frame, text="Krankenkassenbeitrag:").grid(row=11, sticky=E)
149          self.kvsatz = Entry(frame)          self.kvsatz = Entry(frame)
150          self.kvsatz.bind("<Return>", self.NewInput)          self.kvsatz.bind("<Return>", self.NewInput)
151          self.kvsatz.grid(row=10, column=1, sticky=W)          self.kvsatz.grid(row=11, column=1, sticky=W)
152    
153          Label(frame, text="Krankenkassenzuschlag (0.9%):").grid(row=11, sticky=E)          Label(frame, text="Krankenkassenzuschlag (0.9%):").grid(row=12, sticky=E)
154          self.kvsoli = IntVar()          self.kvsoli = IntVar()
155          kvsoliradio = Checkbutton(frame, onvalue=1, offvalue=0,          kvsoliradio = Checkbutton(frame, onvalue=1, offvalue=0,
156                                  command=self.NewInput, variable=self.kvsoli)                                    command=self.NewInput, variable=self.kvsoli)
157          kvsoliradio.select()          kvsoliradio.select()
158          kvsoliradio.grid(row=11, column=1, sticky=W)          kvsoliradio.grid(row=12, column=1, sticky=W)
159    
160    
161          Label(frame, text="Rentenversicherung:").grid(row=4, column=2, sticky=E)          Label(frame, text="Rentenversicherung:").grid(row=4, column=2, sticky=E)
# Line 173  class Lohnrechner(LST2007.LStRechner2007 Line 181  class Lohnrechner(LST2007.LStRechner2007
181    
182          # Allgemeine UI Elemente          # Allgemeine UI Elemente
183          buttons = Frame(frame)          buttons = Frame(frame)
184          buttons.grid(row=10, column=2, rowspan=2, columnspan=2)          buttons.grid(row=10, column=2, rowspan=3, columnspan=2)
185          Button(buttons, text="Quit", command=self.root.quit).pack(side=LEFT)          Button(buttons, text="Quit", command=self.root.quit).pack(side=LEFT)
186          Button(buttons, text="Info", command=self.Info).pack(side=LEFT)          Button(buttons, text="Info", command=self.Info).pack(side=LEFT)
187          Button(buttons, text="Berechnen", command=self.CalcOutput).pack(side=LEFT)          Button(buttons, text="Berechnen", command=self.CalcOutput).pack(side=LEFT)
# Line 184  class Lohnrechner(LST2007.LStRechner2007 Line 192  class Lohnrechner(LST2007.LStRechner2007
192          # zwangsselektiert:          # zwangsselektiert:
193          # FIX ME: eigendlich w�re das ein Fall f�r ein custom widget!          # FIX ME: eigendlich w�re das ein Fall f�r ein custom widget!
194          if len(self.landbox.curselection()) == 0:          if len(self.landbox.curselection()) == 0:
195              self.landbox.select_set(self.land)                          self.landbox.select_set(self.land)
196            if float(self.kfb.get()) > 0.0:
197                self.kinderradio.select()
198          self.CalcOutput()          self.CalcOutput()
199    
200      def UpdateLand(self):      def UpdateLand(self):
# Line 294  Dieses Programm verwendet LST2007 %s" % Line 304  Dieses Programm verwendet LST2007 %s" %
304          # PVsatz ist in self.laender definiert!          # PVsatz ist in self.laender definiert!
305          self.PVkinderlose = 0.0025          self.PVkinderlose = 0.0025
306          self.BMG1 = 3562.5          self.BMG1 = 3562.5
307          self.BMG2 = 5250          # BMG2 f�r RV und ALV ist in self.laender definiert!
308    
309      def SetKV(self, value):      def SetKV(self, value):
310          assert value >= 0.0 and value <= 100.0, \          assert value >= 0.0 and value <= 100.0, \
# Line 303  Dieses Programm verwendet LST2007 %s" % Line 313  Dieses Programm verwendet LST2007 %s" %
313    
314      def GetAV(self):      def GetAV(self):
315          lohn = self.GetLohn()          lohn = self.GetLohn()
316          if lohn > self.BMG2 : lohn = self.BMG2          BMG2 = self.laender[self.land][3]
317            if lohn > BMG2 : lohn = BMG2
318          return round(self.sozv.get() * self.AVsatz * lohn, 2)          return round(self.sozv.get() * self.AVsatz * lohn, 2)
319    
320      def GetRV(self):      def GetRV(self):
321          lohn = self.GetLohn()          lohn = self.GetLohn()
322          if lohn > self.BMG2 : lohn = self.BMG2          BMG2 = self.laender[self.land][3]
323            if lohn > BMG2 : lohn = BMG2
324          return round(self.sozv.get() * self.RVsatz * lohn, 2)          return round(self.sozv.get() * self.RVsatz * lohn, 2)
325    
326      def GetPV(self):      def GetPV(self):
# Line 316  Dieses Programm verwendet LST2007 %s" % Line 328  Dieses Programm verwendet LST2007 %s" %
328          lohn = self.GetLohn()          lohn = self.GetLohn()
329          if lohn > self.BMG1 : lohn = self.BMG1          if lohn > self.BMG1 : lohn = self.BMG1
330          PV =  self.PVsatz * lohn          PV =  self.PVsatz * lohn
331          if float(self.kfb.get()) == 0.0 :          if self.kinder.get() == 0 :
332              PV += lohn * self.PVkinderlose              PV += lohn * self.PVkinderlose
333          return round(self.sozv.get() * PV, 2)          return round(self.sozv.get() * PV, 2)
334    

Legend:
Removed from v.71  
changed lines
  Added in v.72

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26