]> wagnertech.de Git - SVBaL.git/commitdiff
gitarre
authorMichael Wagner <michael@wagnertech.de>
Mon, 9 Dec 2024 08:51:18 +0000 (09:51 +0100)
committerMichael Wagner <michael@wagnertech.de>
Mon, 9 Dec 2024 08:51:18 +0000 (09:51 +0100)
python/eh_util/eh_app/models.py
python/eh_util/eh_app/qmodels.py [new file with mode: 0644]

index 3682c7643f9ef80de250bb3d83a896fbcbe15d9a..ff9d39ae784122aac5b6458a3019c1defaabb80a 100644 (file)
@@ -10,3 +10,5 @@ class ConfigData(models.Model):
     verein = models.CharField(max_length=100)
     key    = models.CharField(max_length=50)
     value  = models.CharField(max_length=200)
+
+    
\ No newline at end of file
diff --git a/python/eh_util/eh_app/qmodels.py b/python/eh_util/eh_app/qmodels.py
new file mode 100644 (file)
index 0000000..8a2521b
--- /dev/null
@@ -0,0 +1,108 @@
+'''
+Created on 04.12.2024
+
+@author: sparky2021
+'''
+from qif import QIF
+from .AWK import config
+
+class MitgliederQuery:
+    def __init__(self):
+        self.data_source = QIF({"d" : ";", "H" : 1})
+        '''
+            d (separator)  : ;
+            H (header line): yes
+        '''
+        self.file_name = None
+        self.att_list = "Anrede, Vorname, Nachname, Strasse, PLZ, Ort, Geburtsdatum, Eintrittsdatum, Austrittsdatum, Zahlungsart, Iban, Bic, Kontoinhaber, Mandatsreferenz, Debitorenkontonr, Status, Email, Abteilung_1, Abteilungseintritt_1, Abteilungsaustritt_1, Freifeldname_1, Freifeldwert_1, Freifeldname_2, Freifeldwert_2, Freifeldname_3, Freifeldwert_3"
+        
+    def all(self):
+        if self.file_name == None:
+            self.file_name = config.getInstance().requireConfig("DataFile")
+            
+        data_set = self.data_source.request(f"SELECT {self.att_list} FROM {self.file_name}")
+        for data in data_set:
+            m = Mitglied()
+            m.anrede = data[0]
+            m.vorname = data[1]
+            m.nachname = data[2]
+            m.strasse  = data[3]
+            # "Zusatzadresse"
+            m.plz      = data[4]
+            m.ort      = data[5]
+            # "Land"
+            # "Titel"
+            # "Geschlecht"
+            # "Familienstand"
+            m.mitgliedsnr    = data[6]
+            m.geburtsdatum   = data[7]
+            m.eintrittsdatum = data[8]
+            m.austrittsdatum = data[9]
+            # "Austrittsgrund"
+            m.zahlungsart    = data[16]
+            m.iban           = data[17]
+            m.bic            = data[18]
+            # "Kontonummer"
+            # "Bankleitzahl"
+            # "Kreditinstitut"
+            m.kontoinhaber   = data[22]
+            m.mandatsreferenz = data[23]
+            m.debitorenkontonr = data[24]
+            m.status           = data[25]
+            # "Branche"
+            # "Notfallnummer"
+            # "Notfallkontakt"
+            m.email            = data[29] # "KommE-Mail_P1"
+            # "KommFax_P1"
+            # "KommMobil_P1"
+            # "KommWeb_P1"
+            # "KommTelefon_P1"
+            # "KommSkype_P1"
+            m.abteilung_1      = data[35]
+            m.abteilungseintritt_1 = data[36]
+            m.abteilungsaustritt_1 = data[37]
+            # "Abteilungsstatus_1"
+            # "Abteilungsstatus DFB_1"
+            # "Abteilungsaustrittsgrund_1"
+            # "Abteilung_2"
+            # "Abteilungseintritt_2"
+            # "Abteilungsaustritt_2"
+            # "Abteilungsstatus_2"
+            # "Abteilungsstatus DFB_2"
+            # "Abteilungsaustrittsgrund_2"
+            # "Beitragsbezeichnung_1_1"
+            # "Beitragsstart_1_1"
+            # "Beitragsende_1_1"
+            # "BeitragBerechnetBis_1_1"
+            # "BeitragZahlweise_1_1"
+            # "BeitragFÀlligkeitsdatum_1_1"
+            # "BeitragVariabel_1_1"
+            # "BeitragFormel_1_1"
+            # "BeitragGrundbetrag1_1_1"
+            # "BeitragGB1Gesperrt_1_1"
+            # "BeitragGrundbetrag2_1_1"
+            # "BeitragGB2Gesperrt_1_1"
+            # "BeitragGrundbetrag3_1_1"
+            # "BeitragGB3Gesperrt_1_1"
+            # "BeitragGrundbetrag4_1_1"
+            # "BeitragGB4Gesperrt_1_1"
+            # "BeitragGrundbetrag5_1_1"
+            # "BeitragGB5Gesperrt_1_1"
+            # "BeitragZahlweiseGesperrt_1_1"
+            # "Freifeldname_1"
+            if data[67] == '""':
+                m.stammnummer = 0
+            else:
+                m.stammnummer       = int(m.rd_opt_qval(data[67]))
+            # "Freifeldname_2"
+            m.ver_grund           = m.rd_opt_qval(data[69])
+            if len(m.ver_grund) == 0:
+                m.ver_grund = f"{m.strasse}, {m.plz} {m.ort}"
+            # "Freifeldname_3"
+            m.zeitung             = data[71]
+        
+class Mitglied:
+    objects = MitgliederQuery()
+    def __init__(self):
+        pass
+