Compare commits
5 Commits
20230616-1
...
20230620-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4387a1d00b | ||
|
|
c722af1091 | ||
|
|
92b3a76733 | ||
|
|
5adbc77555 | ||
|
|
1146ff01c7 |
@@ -16,6 +16,57 @@ class cls_Invoice:
|
|||||||
self.data = obj
|
self.data = obj
|
||||||
self.a_index = {"invoice": [], "intervention": [], "patient": [], "debtor": [], "articles": []}
|
self.a_index = {"invoice": [], "intervention": [], "patient": [], "debtor": [], "articles": []}
|
||||||
self.index_counter = 0
|
self.index_counter = 0
|
||||||
|
self.format_debitor_addr_2()
|
||||||
|
def format_debitor_addr_2(self):
|
||||||
|
debitor = self.Debtor
|
||||||
|
con = ""
|
||||||
|
concat_str = ""
|
||||||
|
if "name" in debitor.keys():
|
||||||
|
if debitor["name"] is not None:
|
||||||
|
concat_str += con + debitor["name"]
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
|
||||||
|
if debitor["gender"] is not None:
|
||||||
|
concat_str += con + "Monsieur" if debitor["gender"] == "Masculin" else con + "Madame"
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
if debitor["lastname"] is not None:
|
||||||
|
concat_str += con + self.ifNotNull(debitor["lastname"]) + " " + self.ifNotNull(
|
||||||
|
debitor["firstname"])
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
if debitor["complement"] is not None:
|
||||||
|
concat_str += con + debitor["complement"]
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
if debitor["street"] is not None:
|
||||||
|
concat_str += con + self.ifNotNull(debitor["street"]) + " " + self.ifNotNull(
|
||||||
|
debitor["street_number"])
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
if debitor["city"] is not None:
|
||||||
|
concat_str += con + self.ifNotNull(debitor["postal_code"]) + " " + self.ifNotNull(
|
||||||
|
debitor["city"])
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
if debitor["country_name"] != "Suisse":
|
||||||
|
concat_str += con + debitor["country_name"]
|
||||||
|
# con = "#chr(13)##chr(10)#"
|
||||||
|
con = "\n"
|
||||||
|
self.Patient["addr_2"] = concat_str
|
||||||
|
self.Patient["selfish"] = self.is_addr_2_selfish(self.Patient)
|
||||||
|
def is_addr_2_selfish(self, patient):
|
||||||
|
print(patient)
|
||||||
|
temp_addr_2 = str(patient["addr_2"]).replace("Monsieur","").replace("Madame","").replace("\n","").replace(" ","")
|
||||||
|
str_compare = self.ifNotNull(patient['lastname']).replace('.','') + self.ifNotNull(patient['firstname']).replace('.','') + self.ifNotNull(patient['complement']).strip()+ self.ifNotNull(patient['street']).strip() + self.ifNotNull(patient['street_number']).strip() + self.ifNotNull(patient['postal_code']).strip() +self.ifNotNull(patient['city']).strip()
|
||||||
|
str_compare = str_compare.replace(" ","")
|
||||||
|
print(f"is_addr_2_selfish ? {str_compare} <> {temp_addr_2} = {str_compare == temp_addr_2}")
|
||||||
|
return str_compare == temp_addr_2
|
||||||
|
def ifNotNull(self, value, ret=""):
|
||||||
|
if value == None or value == "None":
|
||||||
|
return ret
|
||||||
|
return value.strip()
|
||||||
|
|
||||||
class cls_Col:
|
class cls_Col:
|
||||||
data = []
|
data = []
|
||||||
|
|||||||
@@ -45,44 +45,9 @@ class Check_addresses_popup(Toplevel):
|
|||||||
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Complément:", str1=f"{item_1['complement'].strip()}", str2=item_2.street_cpl.strip())
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Complément:", str1=f"{item_1['complement'].strip()}", str2=item_2.street_cpl.strip())
|
||||||
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="NPA/Localité:", str1=f"{item_1['postal_code']} {item_1['city']}", str2=f"{item_2.npa} {item_2.city}")
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="NPA/Localité:", str1=f"{item_1['postal_code']} {item_1['city']}", str2=f"{item_2.npa} {item_2.city}")
|
||||||
|
|
||||||
con = ""
|
|
||||||
concat_str = ""
|
|
||||||
if "name" in debitor.keys():
|
|
||||||
if debitor["name"] is not None:
|
|
||||||
concat_str += con + debitor["name"]
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
|
|
||||||
|
if int(debitor["code"]) < 100:
|
||||||
if debitor["gender"] is not None:
|
self.add_compares_element(new_frame=lbf_addr_2_new, old_frame=lbf_addr_2_old, label="Adresse livraison:", str1=item_1["addr_2"],
|
||||||
concat_str += con + "Monsieur" if debitor["gender"] == "Masculin" else con + "Madame"
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
if debitor["lastname"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(debitor["lastname"]) + " " + self.ifNotNull(
|
|
||||||
debitor["firstname"])
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
if debitor["complement"] is not None:
|
|
||||||
concat_str += con + debitor["complement"]
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
if debitor["street"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(debitor["street"]) + " " + self.ifNotNull(
|
|
||||||
debitor["street_number"])
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
if debitor["city"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(debitor["postal_code"]) + " " + self.ifNotNull(
|
|
||||||
debitor["city"])
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
if debitor["country_name"] != "Suisse":
|
|
||||||
concat_str += con + debitor["country_name"]
|
|
||||||
#con = "#chr(13)##chr(10)#"
|
|
||||||
con = "\r\n"
|
|
||||||
|
|
||||||
self.add_compares_element(new_frame=lbf_addr_2_new, old_frame=lbf_addr_2_old, label="Adresse livraison:", str1=concat_str,
|
|
||||||
str2=self.ifNotNull(item_2.addr_2))
|
str2=self.ifNotNull(item_2.addr_2))
|
||||||
|
|
||||||
|
|
||||||
@@ -149,9 +114,9 @@ class Check_addresses_popup(Toplevel):
|
|||||||
con = "*"
|
con = "*"
|
||||||
|
|
||||||
Label(new_frame, text=str(label), font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
Label(new_frame, text=str(label), font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
||||||
Label(new_frame, text=con + str(str1) + con, fg=value_color).grid(row=self.x_row, column=1, sticky="W")
|
Label(new_frame, text=con + str(str1) + con, fg=value_color, anchor="w", justify=LEFT).grid(row=self.x_row, column=1, sticky="W")
|
||||||
Label(old_frame, text=str(label), font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
Label(old_frame, text=str(label), font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
||||||
Label(old_frame, text=con + str(str2) + con, fg=value_color).grid(row=self.x_row, column=1, sticky="W")
|
Label(old_frame, text=con + str(str2) + con, fg=value_color, anchor="w", justify=LEFT).grid(row=self.x_row, column=1, sticky="W")
|
||||||
|
|
||||||
self.x_row += 1
|
self.x_row += 1
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
20230616-1615
|
20230620-1453
|
||||||
56
main.py
56
main.py
@@ -303,7 +303,7 @@ class ClercAttrib2Biz():
|
|||||||
o_addresse.street_cpl =str( record["AD_RUE_1"])
|
o_addresse.street_cpl =str( record["AD_RUE_1"])
|
||||||
o_addresse.npa =str( record["AD_NPA"])
|
o_addresse.npa =str( record["AD_NPA"])
|
||||||
o_addresse.city = str(record["AD_VILLE"])
|
o_addresse.city = str(record["AD_VILLE"])
|
||||||
o_addresse.addr_2 = str(record["AD_ADR2"])
|
o_addresse.addr_2 = str(record["AD_ADR2"]).replace("\r\n","\n")
|
||||||
self.addresses.add_addresse(o_addresse)
|
self.addresses.add_addresse(o_addresse)
|
||||||
logging.warning(f"Chargement du fichier adresses.dbf terminé ! {len(self.addresses.items)} adresses trouvées ")
|
logging.warning(f"Chargement du fichier adresses.dbf terminé ! {len(self.addresses.items)} adresses trouvées ")
|
||||||
else:
|
else:
|
||||||
@@ -397,25 +397,37 @@ class ClercAttrib2Biz():
|
|||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def compare_old_and_new_adresses(self, new, old):
|
def compare_old_and_new_adresses(self, new, old, code):
|
||||||
|
|
||||||
if new['insurance_policy_number'].replace('.','') != old.AVS:
|
if new['insurance_policy_number'].replace('.','') != old.AVS:
|
||||||
|
print("compare adresse exit avs")
|
||||||
return False
|
return False
|
||||||
if new['lastname'].replace('.','') != old.lastName:
|
if new['lastname'].replace('.','') != old.lastName:
|
||||||
|
print("compare adresse exit lastname")
|
||||||
return False
|
return False
|
||||||
if new['firstname'].replace('.','') != old.firstName:
|
if new['firstname'].replace('.','') != old.firstName:
|
||||||
|
print("compare adresse exit firstname")
|
||||||
return False
|
return False
|
||||||
if datetime.strptime(new['birthdate'], "%Y-%m-%d").strftime("%d.%m.%Y") != old.birth:
|
if datetime.strptime(new['birthdate'], "%Y-%m-%d").strftime("%d.%m.%Y") != old.birth:
|
||||||
|
print("compare adresse exit date")
|
||||||
return False
|
return False
|
||||||
if f"{new['street'].strip()} {new['street_number'].strip()}" != f"{old.street.strip()}":
|
if f"{new['street'].strip()} {new['street_number'].strip()}" != f"{old.street.strip()}":
|
||||||
print(f"({new['street'].strip()} {new['street_number'].strip()}) != [" + old.street.strip()+"]")
|
print(f"compare adresse exit ({new['street'].strip()} {new['street_number'].strip()}) != [" + old.street.strip()+"]")
|
||||||
return False
|
return False
|
||||||
if f"{new['postal_code']} {new['city']}" != f"{old.npa} {old.city}":
|
if f"{new['postal_code']} {new['city']}" != f"{old.npa} {old.city}":
|
||||||
|
print("compare adresse exit city")
|
||||||
return False
|
return False
|
||||||
|
if new["addr_2"] != old.addr_2 and int(code) < 100:
|
||||||
|
if not new["selfish"]:
|
||||||
|
print(f"Exit selfish")
|
||||||
|
return False
|
||||||
|
elif old.addr_2 == None:
|
||||||
|
print(f"Exit addr_2 = {old.addr_2}/{new['selfish']}")
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def parseFile(self, data, filename):
|
def parseFile(self, data, filename):
|
||||||
self.progress_bar["value"] = 0
|
self.progress_bar["value"] = 0
|
||||||
self.index_counter += 1
|
self.index_counter += 1
|
||||||
@@ -545,7 +557,7 @@ class ClercAttrib2Biz():
|
|||||||
|
|
||||||
if self.check_addresses.get():
|
if self.check_addresses.get():
|
||||||
addresses_exist = self.addresses.get_item_by_AVS(data.Patient['insurance_policy_number'].replace(".", ""))
|
addresses_exist = self.addresses.get_item_by_AVS(data.Patient['insurance_policy_number'].replace(".", ""))
|
||||||
if addresses_exist is not None and not self.compare_old_and_new_adresses(new=data.Patient, old=addresses_exist):
|
if addresses_exist is not None and not self.compare_old_and_new_adresses(new=data.Patient, old=addresses_exist, code=data.Debtor['code']):
|
||||||
|
|
||||||
popup = Check_addresses_popup(self.fenetre, item_1=data.Patient, item_2=addresses_exist, debitor=data.Debtor, factureID=data.data['id'])
|
popup = Check_addresses_popup(self.fenetre, item_1=data.Patient, item_2=addresses_exist, debitor=data.Debtor, factureID=data.data['id'])
|
||||||
b_address_update = popup.show()
|
b_address_update = popup.show()
|
||||||
@@ -644,39 +656,7 @@ class ClercAttrib2Biz():
|
|||||||
print("NON mise à jour de l'adresse")
|
print("NON mise à jour de l'adresse")
|
||||||
|
|
||||||
if int(data.Debtor["code"]) > 1:
|
if int(data.Debtor["code"]) > 1:
|
||||||
con = ""
|
csv_col.data[42] = data.Patient["addr_2"].replace("\n", "#chr(13)##chr(10)#") #Adresse de livraison
|
||||||
concat_str = ""
|
|
||||||
if "name" in data.Debtor.keys():
|
|
||||||
if data.Debtor["name"] is not None:
|
|
||||||
concat_str += con + data.Debtor["name"]
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
else:
|
|
||||||
messagebox.showerror(title="Erreur nom débiteur", message=f"Le nom débiteur de la facture {data.data['id']} est faux: [{data.Debtor['name']}], merci de le corriger ")
|
|
||||||
|
|
||||||
|
|
||||||
if data.Debtor["gender"] is not None:
|
|
||||||
concat_str += con + "Monsieur" if data.Debtor["gender"] == "Masculin" else con + "Madame"
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
if data.Debtor["lastname"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(data.Debtor["lastname"]) + " " + self.ifNotNull(data.Debtor["firstname"])
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
if data.Debtor["complement"] is not None:
|
|
||||||
concat_str += con + data.Debtor["complement"]
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
if data.Debtor["street"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(data.Debtor["street"]) + " " + self.ifNotNull(data.Debtor["street_number"])
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
if data.Debtor["city"] is not None:
|
|
||||||
concat_str += con + self.ifNotNull(data.Debtor["postal_code"]) + " " + self.ifNotNull(data.Debtor["city"])
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
if data.Debtor["country_name"] != "Suisse":
|
|
||||||
concat_str += con + data.Debtor["country_name"]
|
|
||||||
con = "#chr(13)##chr(10)#"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
csv_col.data[42] = concat_str #Adresse de livraison
|
|
||||||
else:
|
else:
|
||||||
csv_col.data[19] = data.Debtor["code"] # Code adresse à récupérer dans recherche d'adresse automatisée
|
csv_col.data[19] = data.Debtor["code"] # Code adresse à récupérer dans recherche d'adresse automatisée
|
||||||
csv_col.data[22] = data.Debtor["lastname"]
|
csv_col.data[22] = data.Debtor["lastname"]
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
VERSION = "20230616-1615"
|
VERSION = "20230620-1453"
|
||||||
Reference in New Issue
Block a user