--- /dev/null
+'''
+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
+