]> wagnertech.de Git - SVBaL.git/commitdiff
pydev-s6 kassenschreiben2025
authorMichael Wagner <michael@wagnertech.de>
Mon, 24 Mar 2025 16:16:33 +0000 (17:16 +0100)
committerMichael Wagner <michael@wagnertech.de>
Mon, 24 Mar 2025 16:16:33 +0000 (17:16 +0100)
Test/etc/Export.csv
python/eh_util/eh_app/AWK/pdf_ersteller.py
python/eh_util/eh_app/qmodels.py

index bf985f711445cef51ff2554625919c340976f691..5819ab74e147d1777114ed62229afa35066f567c 100644 (file)
@@ -4,7 +4,7 @@ Herr;Horsti;Acktu;"Blombergstr. 30";"";81825;München;Deutschland;;;;"14963";25.
 Herr und Frau;Dr. Michael und Ingrid;Wagner;"Turfstr. 18 a";"";81929;München;Deutschland;;Jur. Person oder sächlich;;"14964";;01.04.2024;;;Lastschrift;DE54700905000004428285;GENODEF1S04;"4428285";"70090500";"Sparda-Bank München";Wagner Dr. Michael und Ingrid;"10255";"10255";Aktiv;;;;;;;;;;;;;;;;Zusatzgrundstück;01.04.2024;;Aktiv;;;;;;;;;;;;;;;;;;;;;;Partnernummer;"76736";VersichertesObjekt;"Gleiwitzer Str. 26, 81929 München";Zeitung;"Nein";;;;;
 Herr und Frau;Dr. Michael und Ingrid;Wagner;"Turfstr. 18 a";"";81929;München;Deutschland;;;;"14965";;01.04.2024;;;Lastschrift;DE54700905000004428285;GENODEF1S04;"4428285";"70090500";"Sparda-Bank München";Wagner Dr. Michael und Ingrid;"10256";"10256";Aktiv;;;;;;;;;;;;;;;;Zusatzgrundstück;01.04.2024;;Aktiv;;;;;;;;;;;;;;;;;;;;;;Partnernummer;"76736";VersichertesObjekt;"Finkenweg 5, 83556 Griesstätt";Zeitung;"Nein";;;;;
 Herr und Frau;Dr. Michael und Ingrid;Wagner;"Turfstr. 18 a";"";81929;München;Deutschland;;;;"76736";25.05.1965;01.12.2012;;;Lastschrift;DE54700905000004428285;GENODEF1S04;"4428285";"70090500";"Sparda-Bank München";Wagner Dr. Michael und Ingrid;"10218";"10218";Aktiv;;;;bonzius@vindelicia.de;"";"";;"99 75 94 94";;Standard;01.12.2012;;Aktiv;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"";VersichertesObjekt;"81929 München, Gleiwitzerstr. 28";Zeitung;"Ja";;;;;
-Frau;Elke;Söller;"Argula-von-Grumbach-Sr. 5";"";92345;Dietfurt;Deutschland;;;;"77912";08.05.1979;01.07.2008;;;;DE98760520800570713611;BYLADEM1NMA;"570713610";"76052080";"Sparkasse Neumarkt i d OPf-Parsberg";Söllner Elke;"10193";"10193";Aktiv;;;;;"";"";;"084 64 / 64 21 79";;Standard;01.07.2008;;Aktiv;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"";VersichertesObjekt;"92363 Breitenbrunn, Breitenegg 1 a";Zeitung;"Ja";;;;;
+Frau;Elke;Söller;"Argula-von-Grumbach-Sr. 5";"";92345;Dietfurt;Deutschland;;;;"77912";08.05.1979;01.07.2008;;;;;;;;;;"10193";"10193";Aktiv;;;;;"";"";;"084 64 / 64 21 79";;Standard;01.07.2008;;Aktiv;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"";VersichertesObjekt;"92363 Breitenbrunn, Breitenegg 1 a";Zeitung;"Ja";;;;;
 Frau;Marianne;Söller;"Böhmerbrunnenstr. 27";"";92345;Dietfurt;Deutschland;;;;"76441";;01.01.1995;;;;DE98760520800570713611;BYLADEM1NMA;"570713610";"76052080";"Sparkasse Neumarkt i d OPf-Parsberg";Söllner2 Marianne;"10249";"10249";Aktiv;;;;;;;;;;;;;;;;Zusatzgrundstück;01.01.1995;;Aktiv;;;;;;;;;;;;;;;;;;;;;;Partnernummer;"75987";;"";Zeitung;"Nein";;;;;
 Frau;Marianne;Söller;"Böhmerbrunnenstr. 27";"";92354;Dietfurt;Deutschland;;;;"75987";;01.01.1985;;;;DE98760520800570713611;BYLADEM1NMA;"570713610";"76052080";"Sparkasse Neumarkt i d OPf-Parsberg";Söllner Marianne;"10194";"10194";Aktiv;;;;;"";"";;"084 64 / 15 42";;Standard;01.01.1985;;Aktiv;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"";VersichertesObjekt;"92345 Dietfurt 2, Böhmerbrunnenstr. 21";Zeitung;"Ja";;;;;
 Frau;Marianne;Söller;"Böhmerbrunnenstr. 27";"";92345;Dietfurt;Deutschland;;;;"76491";;01.09.1992;;;;DE98760520800570713611;BYLADEM1NMA;"570713610";"76052080";"Sparkasse Neumarkt i d OPf-Parsberg";Söllner3 Marianne;"10250";"10250";Aktiv;;;;;;;;;;;;;;;;Zusatzgrundstück;01.09.1992;;Aktiv;;;;;;;;;;;;;;;;;;;;;;Partnernummer;"75987";VersichertesObjekt;"92363 Breitbrunn, Tannenweg 6";Zeitung;"Nein";;;;;
index 3ad438efbfa777104a770eec16f0d04804b56a4b..d86278e835ef100600b6a11d52fee5273fec393a 100644 (file)
@@ -10,11 +10,33 @@ class PdfErsteller(object):
         self.pfad     = pfad
         
     def erstellepdf(self, m):
-        tex_bearbeitet = self.template.render({"Anrede" : 'Frau', "Nachname" : 'Wagner'}, self.request)
+        gg      = m.VersicherteGrundstucke()
+        g1      = gg[0]
+        gn      = gg[1:]
+        beitrag = 39 + 32*len(gn)
+        konto   = None
+        if len(m.iban) > 0:
+            konto = m.iban[0:4]+" xxxx xxxx xxxx "+m.iban[-2:]
+        
+        tex_bearbeitet = self.template.render(
+            {"vorname"      : m.vorname, 
+             "nachname"     : m.nachname,
+             "strasse"      : m.strasse,
+             "plz"          : m.plz,
+             "ort"          : m.ort,
+             "anrede"       : m.anrede,
+             "grundstuck1"  : g1,
+             "basisbeitrag" : 39,
+             "g_weitere"    : gn,
+             "zusatzbeitrag": 32,
+             "beitrag"      : beitrag,
+             "konto"        : konto,
+             "m_nr"         : m.mitgliedsnr
+            }, self.request)
     
-        with open(f'{self.pfad}/{m.nachname}_brief.tex', 'w') as f: # öffnet ein neues Dokument mit dem Namen test.tex
+        with open(f'{self.pfad}/{m.nachname}_{m.mitgliedsnr}_brief.tex', 'w') as f: # öffnet ein neues Dokument mit dem Namen test.tex
             f.write(tex_bearbeitet) # schreibt in dieses neue Dokument
             
         # AUfruf PDF latex tex -> pdf
         import subprocess
-        subprocess.run(["bash", "../../bin/pdfersteller", f'{m.nachname}_brief.tex'])
+        subprocess.run(["bash", "../../bin/pdfersteller", f'{m.nachname}_{m.mitgliedsnr}_brief.tex'])
index b50354680b2f0538e55190d2b5d29bc910b92301..5aab591cf887b5ecd5c2f31c948370b93f0a0a3c 100644 (file)
@@ -46,7 +46,7 @@ class MitgliederQuery:
             # m.geburtsdatum   = data[7]
             # "Austrittsgrund"
             # m.zahlungsart    = data[16]
-            # m.iban           = data[17]
+            m.iban           = data[11]
             # m.bic            = data[18]
             # "Kontonummer"
             # "Bankleitzahl"
@@ -82,7 +82,7 @@ class MitgliederQuery:
     
     def VersicherteGrundstucke(self, mitglied):
         # Hole Basiseintrag
-        data_set = self.data_source.request(f"SELECT Freifeldwert_1 FROM {self.file_name} WHERE `Mitglieds-Nr` = {mitglied.mitgliedsnr}")
+        data_set = self.data_source.request(f"SELECT Freifeldwert_2 FROM {self.file_name} WHERE `Mitglieds-Nr` = {mitglied.mitgliedsnr}")
         if data_set[0][0]:
             gr = data_set[0][0]
         else:
@@ -92,7 +92,11 @@ class MitgliederQuery:
         # Suche nach weiteren Grunstücken
         data_set = self.data_source.request(f"SELECT Freifeldwert_2 FROM {self.file_name} WHERE Freifeldname_1 = 'Partnernummer' AND Freifeldwert_1 = {mitglied.mitgliedsnr}")
         for data in data_set:
-            gst.append(data[0])
+            if len(data[0]) > 0:
+                gst.append(data[0])
+            else:
+                gst.append(f"{mitglied.strasse}, {mitglied.plz} {mitglied.ort}")
+                
         return gst
     
 class Mitglied: