Compare commits

..

10 Commits

Author SHA1 Message Date
Ambulance Clerc
1ce77f4e08 Débug des code débiteur saisi manuellement concidéré comme int à la place de str 2022-08-20 11:35:38 +02:00
Ambulance Clerc
7be1f15c63 Débug des code débiteur saisi manuellement concidéré comme int à la place de str 2022-08-20 11:30:17 +02:00
Ambulance Clerc
cdc7205ab7 Débug version 2022-08-13 07:00:40 +02:00
Ambulance Clerc
5b0f7a1119 Ajout de la date d'intervention dans chaque ligne article => But essayer d'envoyer la date d'intervention comme date Comptable 2022-08-10 18:16:27 +02:00
Ambulance Clerc
5c7f9c1f4e Ajout du commentaire dans référence client 2022-07-29 10:19:10 +02:00
Ambulance Clerc
975595b592 Ajout du commentaire dans référence client 2022-07-29 09:51:21 +02:00
Ambulance Clerc
1907632dca Ajout du pays dans adresse livraison si pas suisse 2022-07-29 09:37:05 +02:00
Ambulance Clerc
6d9b991c04 Changement dans les colonnes code présentation et méthode de payement toujours = 3
Prise en charge des EBILL pour code 101
2022-07-15 10:12:49 +02:00
Ambulance Clerc
e35a24030d Débug des rappels avec inversion de deux champs dans l'objet de facture 2022-07-08 10:16:09 +02:00
Ambulance Clerc
1a7d649651 Débug check adress 2022-07-05 16:07:29 +02:00
3 changed files with 41 additions and 16 deletions

View File

@@ -1 +1 @@
20220705-1341
20220820-1135

53
main.py
View File

@@ -353,6 +353,23 @@ class ClercAttrib2Biz():
return ret
def compare_old_and_new_adresses(self, new, old):
if new['insurance_policy_number'].replace('.','') != old.AVS:
return False
if new['lastname'].replace('.','') != old.lastName:
return False
if new['firstname'].replace('.','') != old.firstName:
return False
if datetime.strptime(new['birthdate'], "%Y-%m-%d").strftime("%d.%m.%Y") != old.birth:
return False
if f"{new['street']} {new['street_number']}" != old.street:
return False
if f"{new['postal_code']} {new['city']}" != f"{old.npa} {old.city}":
return False
return True
def parseFile(self, data, filename):
self.index_counter += 1
@@ -377,18 +394,18 @@ class ClercAttrib2Biz():
self.trim_all_data(data)
print(f"Code débiteur => {data.data['id']}: {data.Debtor['code']}")
if data.Debtor["code"] is None or '.' in str(data.Debtor["code"]):
if data.Debtor["code"] is None or '.' in data.Debtor["code"]:
print("ERROR code débiteur #1")
messagebox.showerror(title="Erreur code débiteur", message=f"Le code débiteur de la facture {data.data['id']} est faux: [{data.Debtor['code']}], merci de le corriger ")
inp_popup = Input_popup(self.fenetre, default=data.Debtor["code"], factureID=data.data['id'], fip=data.Patient['fip_number'])
data.Debtor["code"] = int(inp_popup.show())
data.Debtor["code"] = str(inp_popup.show())
if data.Debtor["code"] == 1:
if int(data.Debtor["code"]) == 1:
if not self.check_code_validity(data.Debtor["code"],data):
return False
if int(data.Debtor["code"]) != "1" and data.Debtor["code"] != None and int(data.Debtor["code"]) < 100:
if data.Debtor["code"] != "1" and data.Debtor["code"] != None and int(data.Debtor["code"]) < 100:
if data.Patient["fip_number"] not in self.a_listings["to_check"]:
self.a_listings["to_check"].append(data.Patient["fip_number"])
self.logger.warning(f"Vérifier facture N°: {data.data['id']} / {data.Patient['fip_number']} {data.Debtor['code']} {data.Debtor['lastname']} {data.Debtor['firstname']}")
@@ -421,7 +438,7 @@ class ClercAttrib2Biz():
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"] = int(debitor_popup.show())
data.Debtor["code"] = debitor_popup.show()
@@ -436,7 +453,7 @@ class ClercAttrib2Biz():
if self.check_addresses.get():
addresses_exist = self.addresses.get_item_by_AVS(data.Patient['insurance_policy_number'].replace(".", ""))
if addresses_exist is not None:
if addresses_exist is not None and not self.compare_old_and_new_adresses(new=data.Patient, old=addresses_exist):
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()
print(f"Result Popup: {b_address_update}")
@@ -478,6 +495,7 @@ class ClercAttrib2Biz():
csv_col.data[139] = "COND-30" # Conditions de payement à 30, COND-30 selon config dans winbiz
if "without_transportation" in data.Intervention.keys() and data.Intervention["without_transportation"] == True:
csv_col.data[15] = "Sans transport"
print(f"->NO DEST** {data.data['id']}")
@@ -555,6 +573,10 @@ class ClercAttrib2Biz():
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)#"
@@ -632,15 +654,18 @@ class ClercAttrib2Biz():
csv_col.data[72] = "BU - 73 - aff"
csv_col.data[73] = 0
csv_col.data[115] = self.ifNotNull(data.Patient["lastname"]) + " " + self.ifNotNull(data.Patient["firstname"])
csv_col.data[108] = data.Patient["complement"]
#Objet facture
csv_col.data[108] = self.ifNotNull(data.Patient["lastname"]) + " " + self.ifNotNull(data.Patient["firstname"])
csv_col.data[115] = data.Patient["complement"]
csv_col.data[109] = datetime.strptime(data.Patient["birthdate"], "%Y-%m-%d").strftime("%d.%m.%Y") if data.Patient["birthdate"] is not None else ""
if data.Patient["insurance_policy_number"] is not None and '-' not in data.Patient["insurance_policy_number"]:
csv_col.data[109] += ", " + data.Patient["insurance_policy_number"]
csv_col.data[110] = data.Patient["insurance_name"]
csv_col.data[111] = datetime.strptime(data.Intervention["start_time"], "%Y-%m-%dT%H:%M:%S%z").strftime(
"%d.%m.%Y") # Date PEC
date_PEC = datetime.strptime(data.Intervention["start_time"], "%Y-%m-%dT%H:%M:%S%z").strftime(
"%d.%m.%Y")
csv_col.data[51] = date_PEC # Date de ligne articles
csv_col.data[111] =date_PEC # Date PEC
csv_col.data[111] += " - " + datetime.strptime(data.Intervention["start_time"], "%Y-%m-%dT%H:%M:%S%z").strftime(
"%H:%M") # Heure START PEC
@@ -660,8 +685,8 @@ class ClercAttrib2Biz():
csv_col.data[116] = self.ifNotNull(data.Patient["category"]) + " - " + self.ifNotNull(data.Intervention["type"])
csv_col.data[118] = data.Intervention["kilometers"]
csv_col.data[135] = data.Intervention["base_name"]
csv_col.data[136] = 2 if data.Intervention["base_name"] == "Uvrier" else 3
csv_col.data[146] = csv_col.data[136]
csv_col.data[136] = 3 if data.Debtor["code"] != "101" else "EBILL" #code présentation de facture
csv_col.data[146] = 3 #Code méthode de payement définit à 3
csv_col.data[168] = 1 if data.Intervention["team_name"] == "Planification" else 2
csv_col.data[169] = data.Patient['insurance_policy_number']
@@ -681,7 +706,7 @@ class ClercAttrib2Biz():
self.a_index["global"].append(key)
obj.data.append(data)
def convertFile(self, data, filename):
def convertFile(self, data, filename): #à utiliser pour un export avec fichier excel de Thomas
self.count_facture += len(data["invoices"])
self.a_listings["to_check"] = []
@@ -696,7 +721,7 @@ class ClercAttrib2Biz():
b_update_debitor = True
print(f"Code débiteur => {data.data['id']}: {data.Debtor['code']}" )
if data.Debtor["code"] == "None" or '.' in str(data.Debtor["code"]):
if data.Debtor["code"] == "None" or '.' in data.Debtor["code"]:
print("ERROR code débiteur")
messagebox.showerror(title="Erreur code débiteur", message=f"Le code débiteur de la facture {data.data['id']} est faux: [{data.Debtor['code']}], merci de le corriger ")
inp_popup = Input_popup(self.fenetre,default=data.Debtor["code"],factureID=data.data['id'], fip=data.Patient['fip_number'])

View File

@@ -1 +1 @@
VERSION = "20220705-1341"
VERSION = "20220820-1135"