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

Diff of /trunk/LST2008.py

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

revision 2 by wilde, Tue Jan 11 15:22:31 2005 UTC revision 3 by wilde, Tue Jan 11 17:10:26 2005 UTC
# Line 175  class LST: Line 175  class LST:
175          else:          else:
176              self._JBMG = self._LSTJAHR              self._JBMG = self._LSTJAHR
177          self._MSOLZ()          self._MSOLZ()
178  #        self._MSONST()          self._MSONST()
179  #        self._MVMT()          self._MVMT()
180                    
181      # Benutzte Unterprogramme:      # Benutzte Unterprogramme:
182      def _MRE4LZZ(self):      def _MRE4LZZ(self):
# Line 402  class LST: Line 402  class LST:
402              self._ST = floor(self._X * 0.42 - 7914)              self._ST = floor(self._X * 0.42 - 7914)
403          self._ST *= self._KZTAB          self._ST *= self._KZTAB
404    
405        def _MSONST(self):
406            if self.SONSTB > 0:
407                # ------------------------------
408                # Nicht im offiziellen Programm-
409                # ablaufplan: Attribute sichern
410                old_lzz = self.LZZ
411                old_vbez = self.VBEZ
412                old_re4 = self.RE4
413                # ------------------------------
414                self.LZZ = 1
415                self.VBEZ = self.JVBEZ
416                self.RE4 = self.JRE4
417                self._MRE4LZZ()
418                self._MRE4LZZ2()
419                self._MRE4()
420                self._MZTABFB()
421                self._MLSTJAHR()
422                self._LST1 = self._ST * 100
423                self.VBEZ = self.JVBEZ + self.VBS
424                self.RE4 = self.JRE4 + self.SONSTB
425                self._MRE4LZZ()
426                self._MRE4LZZ2()
427                self._MRE4()
428                self._MLSTJAHR()
429                self._LST2 = self._ST * 100
430                self.STS = self._LST2 - self._LST1
431                self.SOLZS = self.STS * 5.5 / 100
432                if self.R > 0:
433                    self.BKS = self.STS
434                else:
435                    self.BKS = 0
436                # ------------------------------
437                # Nicht im offiziellen Programm-
438                # ablaufplan: Attribute
439                # wiederherstellen
440                self.LZZ = old_lzz
441                self.VBEZ = old_vbez
442                self.RE4 = old_re4
443                # ------------------------------
444            else:
445                self.STS = 0
446                self.SOLZS = 0
447                self.BKS = 0
448    
449        def _MRE4LZZ2(self):
450            self._RE4LZZ = self.RE4 - self._FVB - self._ALTE \
451                           - self.JFREIB + self.JHINZU
452            self._RE4LZZV = self.RE4 - self._FVB - self._ALTE
453    
454        def _MVMT(self):
455            if self.VMT > 0:
456                # ------------------------------
457                # Nicht im offiziellen Programm-
458                # ablaufplan: Attribute sichern
459                old_lzz = self.LZZ
460                old_vbez = self.VBEZ
461                old_re4 = self.RE4
462                # ------------------------------  
463                self.LZZ = 1
464                self.VBEZ = self.JVBEZ + self.VBS
465                self.RE4 = self.JRE4 + self.SONSTB
466                self._MRE4LZZ()
467                self._MRE4LZZ2()
468                self._MRE4()
469                self._MZTABFB()
470                self._MLSTJAHR()
471                self._LST1 = self._ST * 100
472                self.RE4 = self.JRE4 + self.SONSTB + self.VMT
473                self._MRE4LZZ()
474                self._MRE4LZZ2()
475                self._MRE4()
476                self._KENNZ = 1
477                self._ZRE4VP1 = self._ZRE4VP
478                self._MLSTJAHR()
479                self._LST3 = self._ST * 100
480                self.RE4 = self.JRE4 + self.SONSTB
481                self._MRE4LZZ()
482                self.RE4 = self.JRE4 + self.SONSTB + self.VMT / 5
483                self._MRE4LZZ2()
484                self._MRE4()
485                self._MLSTJAHR()
486                self._LST2 = self._ST * 100
487                self.STV = (self._LST2 - self.LST1) * 5
488                self._LST3 -= self._LST1
489                if self._LST3 < self.STV:
490                    self.STV = self._LST3
491                self.SOLZV = floor(self.STV * 5.5 / 100)
492                if self.R > 0:
493                    self.BKV = self.STV
494                else:
495                    self.BKV = 0
496                # ------------------------------
497                # Nicht im offiziellen Programm-
498                # ablaufplan: Attribute
499                # wiederherstellen
500                self.LZZ = old_lzz
501                self.VBEZ = old_vbez
502                self.RE4 = old_re4
503                # ------------------------------
504            else:
505                self.STV = 0
506                self.SOLZV = 0
507                self.BKV = 0
508    
509      # Methoden zum gepr�ften setzen der Wert      # Methoden zum gepr�ften setzen der Wert
510      # FIX ME: Pr�fung _sehr_ unvollst�ndig      # FIX ME: Pr�fung _sehr_ unvollst�ndig
511      def Set_RE4(self, value):      def Set_RE4(self, value):
# Line 433  class LST: Line 537  class LST:
537          self.KRV = value          self.KRV = value
538                    
539      def Set_LZZ(self, value):      def Set_LZZ(self, value):
540          if value not in (1,2,3,4):          assert value in (1,2,3,4), "must be in range 1-4 (JAHR, MONAT, WOCHE, TAG)"
             raise ValueError  
541          self.LZZ = value          self.LZZ = value
542                    
543      def Set_R(self, value):      def Set_R(self, value):
# Line 444  class LST: Line 547  class LST:
547          self.SONSTB = value          self.SONSTB = value
548                    
549      def Set_STKL(self, value):      def Set_STKL(self, value):
550          if value not in (1,2,3,4,5,6):          assert value in (1,2,3,4,5,6), "must be in range 1-6 (I II III IV V VI)"
             raise ValueError  
551          self.STKL = value          self.STKL = value
552                    
553      def Set_VBEZ(self, value):      def Set_VBEZ(self, value):
# Line 472  class LST: Line 574  class LST:
574      def Set_ZMVB(self, value):      def Set_ZMVB(self, value):
575          self.ZMVB = value          self.ZMVB = value
576    
577      # --------------------------------------------------------------------  # --------------------------------------------------------------------
578      # Eine etwas sch�nere API:  # Eine etwas sch�nere API:
579      #  #
580    
581      def Set_Lohn(self, lohn):  class LStRechner2005(LST):
582        def __init__(self):
583            LST.__init__(self)
584        
585        def SetLohn(self, lohn):
586          self.Set_RE4(lohn * 100.0)          self.Set_RE4(lohn * 100.0)
587    
588      def Set_Zeitraum(self, lzz):      def SetZeitraum(self, lzz):
589          self.Set_LZZ(lzz)          self.Set_LZZ(lzz)
590    
591      def Set_Steuerklasse(self, stkl):      def SetSteuerklasse(self, stkl):
592          self.Set_STKL(stkl)          self.Set_STKL(stkl)
593    
594      def Get_Lohnsteuer(self):      def GetLohnsteuer(self):
595          return round(self.LSTLZZ / 100, 2)          return round(self.LSTLZZ / 100, 2)
       

Legend:
Removed from v.2  
changed lines
  Added in v.3

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26