Compare commits

...

7 Commits

Author SHA1 Message Date
Ambulance Clerc
e430117d40 Changement de la longueur de l'HUID de 15 à 10 en raison de bug Winbiz 2023-03-01 18:56:40 +01:00
Ambulance Clerc
5060490ac4 Ajout d'un script pour compter les caractères du projet 2023-03-01 18:55:34 +01:00
Ambulance Clerc
d4e5ff6f1b nettoyage du code débiteur 2023-01-24 16:12:08 +01:00
Ambulance Clerc
894a8bbfbb nettoyage du code débiteur 2023-01-24 15:47:51 +01:00
Ambulance Clerc
4d2e2f2351 supression de "(facturation)" 2023-01-24 15:10:03 +01:00
Ambulance Clerc
6f09de76ab Divers débug sur erreur de saisi lors d'un code débiteur 3 et si code débiteur pas encore connu 2023-01-03 16:18:16 +01:00
Ambulance Clerc
eee31f3a1d Ajout d'une captation de bug si débiteur n'existe pas. 2023-01-03 15:15:11 +01:00
5 changed files with 65 additions and 10 deletions

View File

@@ -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)

16
counter.py Normal file
View File

@@ -0,0 +1,16 @@
import os
def count_chars_in_folder(folder_path):
total_chars = 0
for filename in os.listdir(folder_path):
filepath = os.path.join(folder_path, filename)
if os.path.isfile(filepath):
with open(filepath, 'r') as file:
content = file.read()
total_chars += len(content)
print(f"fichier {filepath} = { len(content)}")
return total_chars
folder_path = '.' # mettre le chemin absolu vers le dossier ici
total_chars = count_chars_in_folder(folder_path)
print(f"Le nombre total de caractères dans les fichiers du dossier {folder_path} est : {total_chars}")

View File

@@ -1 +1 @@
20220907-1810
20230301-1856

44
main.py
View File

@@ -1,4 +1,5 @@
import csv
import re
import json
import os
import logging
@@ -353,6 +354,14 @@ class ClercAttrib2Biz():
data.Debtor["street"] = data.Debtor["street"].strip()
if data.data["comments"] is not None:
data.data["comments"] = data.data["comments"].strip().replace("\n",'')
if data.Debtor["code"] is not None:
data.Debtor["code"] = data.Debtor["code"].strip()
data.Debtor["code"] = re.sub(r'[^0-9]', '', data.Debtor["code"])
if "name" in data.Debtor.keys() and data.Debtor["name"] is not None:
data.Debtor["name"] = data.Debtor["name"].replace("(facturation)","")
data.Debtor["name"] = data.Debtor["name"].strip()
def check_code_validity(self, code,data):
ret = True
@@ -457,17 +466,44 @@ 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"]:
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():
data.Debtor["name"] = "Invalide"
self.logger.warning(
f"Débiteur > 100 sans nom, vérifier la facture ATTRIB et vérifier le code débiteur: facture N°: {data.data['id']} / {data.Patient['fip_number']}")
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"])
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)
data.Debtor["code"] = debitor_popup.show()
if data.Debtor["code"] is None or '.' in data.Debtor["code"]:
messagebox.showerror(title="Erreur Critique",
message=f"Les informations de la factures [{data.data['id']}] comportes trop d'erreur arrêt du processus ")
@@ -640,7 +676,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
@@ -805,8 +841,8 @@ class ClercAttrib2Biz():
self.logger.warning(f"Complément 22 patient: facture N°: {data.data['id']} / {data.Patient['fip_number']}")
if data.Patient['insurance_policy_number'] == None:
data.Patient['insurance_policy_number'] = f"{uuid.uuid4()}"[:15]
if data.Patient['insurance_policy_number'] == None:#Génération d'un code UUID pour remplacer le numéro AVS pour les patients étranger ou AVS inconu
data.Patient['insurance_policy_number'] = f"{uuid.uuid4()}"[:10]

View File

@@ -1 +1 @@
VERSION = "20220907-1810"
VERSION = "20230301-1856"