]> wagnertech.de Git - SVBaL.git/blob - python/eh_util/eh_app/qmodels.py
pydev-s6git
[SVBaL.git] / python / eh_util / eh_app / qmodels.py
1 '''
2 Created on 04.12.2024
3
4 @author: sparky2021
5 '''
6 from qif import QIF
7 from .AWK import config
8
9 class MitgliederQuery:
10     def __init__(self):
11         self.data_source = QIF({"d" : ";", "H" : 1})
12         '''
13             d (separator)  : ;
14             H (header line): yes
15         '''
16         self.file_name = config.getInstance().requireConfig("DataFile")
17         self.att_list = "Mitglieds-Nr, Anrede, Vorname, Nachname, Strasse, PLZ, Ort, Geburtsdatum, Eintrittsdatum, Austrittsdatum, Zahlungsart, Iban, Bic, Kontoinhaber, Mandatsreferenz, Email, "
18         #               0              1        2         3        4    5    6             7               8               9            10    11   12            13               14     15           
19     def all(self):
20         data_set = self.data_source.request(f"SELECT {self.att_list} FROM {self.file_name} WHERE Abteilung_1 = 'Standard' AND Eintrittsdatum < NOW AND Austrittsdatum > NOW")
21         for data in data_set:
22             m = Mitglied()
23             m.mitgliedsnr    = data[0]
24             m.anrede = data[0]
25             m.vorname = data[1]
26             m.nachname = data[2]
27             m.strasse  = data[3]
28             # "Zusatzadresse"
29             m.plz      = data[4]
30             m.ort      = data[5]
31             # "Land"
32             # "Titel"
33             # "Geschlecht"
34             # "Familienstand"
35             # m.geburtsdatum   = data[7]
36             # "Austrittsgrund"
37             m.zahlungsart    = data[16]
38             m.iban           = data[17]
39             m.bic            = data[18]
40             # "Kontonummer"
41             # "Bankleitzahl"
42             # "Kreditinstitut"
43             m.kontoinhaber   = data[22]
44             m.mandatsreferenz = data[23]
45             m.debitorenkontonr = data[24]
46             # m.status           = data[25]
47             # "Branche"
48             # "Notfallnummer"
49             # "Notfallkontakt"
50             m.email            = data[29] # "KommE-Mail_P1"
51             # "KommFax_P1"
52             # "KommMobil_P1"
53             # "KommWeb_P1"
54             # "KommTelefon_P1"
55             # "KommSkype_P1"
56             m.abteilung_1      = data[35]
57             m.abteilungseintritt_1 = data[36]
58             m.abteilungsaustritt_1 = data[37]
59             if data[67] == '""':
60                 m.stammnummer = 0
61             else:
62                 m.stammnummer       = int(m.rd_opt_qval(data[67]))
63             # "Freifeldname_2"
64             m.ver_grund           = m.rd_opt_qval(data[69])
65             if len(m.ver_grund) == 0:
66                 m.ver_grund = f"{m.strasse}, {m.plz} {m.ort}"
67             # "Freifeldname_3"
68             m.zeitung             = data[71]
69     def VersicherteGrundstucke(self, mitglied_id):
70         data_set = self.data_source.request(f"SELECT Freifeldwert_1 FROM {self.file_name} WHERE ")
71         
72         
73 class Mitglied:
74     # TODO: In property verwandeln 
75     objects = MitgliederQuery()
76     def __init__(self):
77         pass
78     
79     def VersicherteGrundstucke(self):
80         return self.objects.VersicherteGrundstucke(self.mitgliedsnr)
81