diff --git a/class_debitors.py b/class_debitors.py index ab04cbe..f9c59cc 100644 --- a/class_debitors.py +++ b/class_debitors.py @@ -27,10 +27,13 @@ class cls_debitors: return None def get_names_by_code(self, code): + default = [] + if int(code) < 100: + return default for deb in self.items: if deb.code == int(code): return deb.names - return None + return default def is_in_debitor_name(self, code, search_name): names = self.get_names_by_code(code) diff --git a/dl_version b/dl_version index d96339e..84aaa52 100644 --- a/dl_version +++ b/dl_version @@ -1 +1 @@ -20230103-1514 \ No newline at end of file +20230103-1618 \ No newline at end of file diff --git a/main.py b/main.py index 36d93e2..6a770f4 100644 --- a/main.py +++ b/main.py @@ -457,10 +457,28 @@ class ClercAttrib2Biz(): self.logger.warn(f"Débiteur établissement facture N°: {data.data['id']} / {data.Patient['fip_number']} {data.Debtor['name']}") ''' - if int(data.Debtor["code"]) == 1 and data.Patient["lastname"] + data.Patient["firstname"] != data.Debtor["lastname"] + data.Debtor["firstname"]: - self.a_listings["to_check"].append(data.Patient["fip_number"]) - print(data.Patient["complement"]) - self.logger.warning(f"Débiteur différents: facture N°: {data.data['id']} / {data.Patient['fip_number']}") + if int(data.Debtor["code"]) == 1: + b_check_debitor = False + if data.Debtor["lastname"] == None: + b_check_debitor = True + data.Debtor["lastname"] = "" + messagebox.showerror(title="Erreur", + message=f"Le débiteur n'a pas de nom, vérifier la facture ATTRIB et vérifier le code débiteur: facture N°: {data.data['id']} / {data.Patient['fip_number']}") + if data.Debtor["firstname"] == None: + b_check_debitor = True + data.Debtor["firstname"] = "" + messagebox.showerror(title="Erreur", + message=f"Le débiteur n'a pas de prénom, vérifier la facture ATTRIB et vérifier le code débiteur: facture N°: {data.data['id']} / {data.Patient['fip_number']}") + if b_check_debitor: + debitor_popup = Check_debitor_popup(self.fenetre, data.Debtor, + self.o_debs.get_names_by_code(data.Debtor['code']), + data.data['id'], + data.Patient['fip_number'], object=self.o_debs) + data.Debtor["code"] = debitor_popup.show() + if data.Patient["lastname"] + data.Patient["firstname"] != data.Debtor["lastname"] + data.Debtor["firstname"]: + self.a_listings["to_check"].append(data.Patient["fip_number"]) + print(data.Patient["complement"]) + self.logger.warning(f"Débiteur différents: facture N°: {data.data['id']} / {data.Patient['fip_number']}") if int(data.Debtor["code"]) >= 100: if "name" not in data.Debtor.keys(): @@ -470,10 +488,7 @@ class ClercAttrib2Biz(): messagebox.showerror(title="Erreur", message=f"Débiteur > 100 sans nom de débiteur ou d'établissement, vérifier la facture ATTRIB et vérifier le code débiteur: facture N°: {data.data['id']} / {data.Patient['fip_number']}") self.a_listings["to_check"].append(data.Patient["fip_number"]) - debitor_popup = Check_debitor_popup(self.fenetre, data.Debtor, - self.o_debs.get_names_by_code(data.Debtor['code']), - data.data['id'], data.Patient['fip_number'], object=self.o_debs) - data.Debtor["code"] = debitor_popup.show() + if not self.o_debs.is_in_debitor_name(code=data.Debtor["code"],search_name=data.Debtor["name"]): #messagebox.showerror(title="Erreur code débiteur erroné", message=f"Information débiteur incohérente: facture N°: {data.data['id']} / {data.Patient['fip_number']}.\nCode débiteur: {data.Debtor['code']}\nNom du débiteur: {data.Debtor['name']}. \nAurait dû être: {self.o_debs.get_names_by_code(data.Debtor['code'])}") debitor_popup = Check_debitor_popup(self.fenetre,data.Debtor,self.o_debs.get_names_by_code(data.Debtor['code']),data.data['id'],data.Patient['fip_number'], object=self.o_debs) @@ -652,7 +667,7 @@ class ClercAttrib2Biz(): csv_col.data[40] = datetime.strptime(data.Patient["birthdate"], "%Y-%m-%d").strftime("%d.%m.%Y") else: csv_col.data[40] = "" - messagebox.showerror(title="Erreur date de naissance", message=f"La date de naissance de la facture {data.data['id']} est faux: [{data.Patient['birthdate']}], merci de le corriger ") + messagebox.showerror(title="Erreur date de naissance", message=f"La date de naissance de la facture {data.data['id']} ({data.Patient['lastname']}) est faux: [{data.Patient['birthdate']}], merci de le corriger ") csv_col.data[48] = 0 diff --git a/version.py b/version.py index 7b0277f..01d2975 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -VERSION = "20230103-1514" \ No newline at end of file +VERSION = "20230103-1618" \ No newline at end of file