Compare commits
26 Commits
202200606-
...
20220606-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
714f6101ff | ||
|
|
075ab7cee7 | ||
|
|
16cb31d859 | ||
|
|
b3c4ab9e0b | ||
|
|
bb57b3edff | ||
|
|
ab248478c0 | ||
|
|
2a1fcd7437 | ||
| 49297d23ef | |||
|
|
8995d412f9 | ||
|
|
b8bca94f65 | ||
|
|
e3c4ee9d3e | ||
|
|
80fa01633e | ||
|
|
d8fea135a9 | ||
|
|
ccb2b73d51 | ||
|
|
fd776244b9 | ||
|
|
393e9c844d | ||
|
|
dbc0bab3e2 | ||
|
|
66da1c212a | ||
|
|
22a0ed46f6 | ||
|
|
44197d446b | ||
|
|
2c1b77b65f | ||
|
|
cd3f8d3f50 | ||
|
|
37486aede9 | ||
|
|
6af89ff67a | ||
|
|
852acc1749 | ||
|
|
fb0eebff07 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/update.exe
|
||||||
39
auto_update.py
Normal file
39
auto_update.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
from version import *
|
||||||
|
import urllib.request
|
||||||
|
import ssl
|
||||||
|
import io
|
||||||
|
|
||||||
|
class auto_updater:
|
||||||
|
dl_version = 0
|
||||||
|
temp_dir = ""
|
||||||
|
|
||||||
|
def clean(self, str):
|
||||||
|
str = str.replace('/','')
|
||||||
|
str = str.replace(':', '')
|
||||||
|
str = str.replace('{', '')
|
||||||
|
str = str.replace('(', '')
|
||||||
|
str = str.replace("\\", '')
|
||||||
|
return str
|
||||||
|
|
||||||
|
def new_update_available(self):
|
||||||
|
ret = False
|
||||||
|
ctx = ssl.create_default_context()
|
||||||
|
ctx.check_hostname = False
|
||||||
|
ctx.verify_mode = ssl.CERT_NONE
|
||||||
|
|
||||||
|
data = urllib.request.urlopen("https://gitea.prod.resk-u.ch/CLERC/AttribWinbiz/raw/branch/master/dl_version", context=ctx)
|
||||||
|
self.dl_version = str(data.read()).replace('b', '').replace("'", "")
|
||||||
|
|
||||||
|
ssl._create_default_https_context = ssl._create_unverified_context
|
||||||
|
if self.dl_version != VERSION:
|
||||||
|
print(f"Version différente trouvée {self.dl_version} téléchargement en cours => {self.temp_dir}update.exe")
|
||||||
|
try:
|
||||||
|
urllib.request.urlretrieve(url=f"https://gitea.prod.resk-u.ch/CLERC/AttribWinbiz/releases/download/{self.clean(self.dl_version)}/Clercattrib2Biz_setup.exe", filename=f"{self.temp_dir}update.exe")
|
||||||
|
except:
|
||||||
|
print("ERREUR de téléchargement mise à jours")
|
||||||
|
return "ERROR"
|
||||||
|
ret = True
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1
dl_version
Normal file
1
dl_version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
20220606-1821
|
||||||
205
main.py
205
main.py
@@ -3,6 +3,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import shutil
|
import shutil
|
||||||
|
import subprocess
|
||||||
import textwrap
|
import textwrap
|
||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
@@ -11,6 +12,7 @@ from datetime import datetime
|
|||||||
|
|
||||||
import tkinter.filedialog
|
import tkinter.filedialog
|
||||||
from tkinter import *
|
from tkinter import *
|
||||||
|
from tkinter import font
|
||||||
from tkinter import messagebox
|
from tkinter import messagebox
|
||||||
from tkinter.ttk import Progressbar
|
from tkinter.ttk import Progressbar
|
||||||
from tkinter.scrolledtext import ScrolledText
|
from tkinter.scrolledtext import ScrolledText
|
||||||
@@ -18,12 +20,14 @@ from threading import *
|
|||||||
|
|
||||||
from class_invoices import *
|
from class_invoices import *
|
||||||
from class_addresses import *
|
from class_addresses import *
|
||||||
|
from auto_update import *
|
||||||
|
|
||||||
VERSION = "202200602 - 1700"
|
from version import *
|
||||||
#test master 2
|
#test master 2
|
||||||
|
|
||||||
src_dir = os.getenv('APPDATA') + "\Attrib2Biz\src"
|
src_dir = os.getenv('APPDATA') + "\Attrib2Biz\src"
|
||||||
dest_dir = os.getenv('APPDATA') + "\Attrib2Biz\output"
|
dest_dir = os.getenv('APPDATA') + "\Attrib2Biz\output"
|
||||||
|
temp_dir = os.getenv('APPDATA') + '\Attrib2Biz\.temp'
|
||||||
file_path ="" #os.path.dirname(__file__)
|
file_path ="" #os.path.dirname(__file__)
|
||||||
|
|
||||||
Elements = []
|
Elements = []
|
||||||
@@ -37,15 +41,20 @@ if not os.path.exists(src_dir):
|
|||||||
if not os.path.exists(dest_dir):
|
if not os.path.exists(dest_dir):
|
||||||
os.makedirs(dest_dir)
|
os.makedirs(dest_dir)
|
||||||
|
|
||||||
|
if not os.path.exists(temp_dir):
|
||||||
|
os.makedirs(temp_dir)
|
||||||
|
|
||||||
|
|
||||||
class SuggestionPopup(Toplevel):
|
class SuggestionPopup(Toplevel):
|
||||||
def __init__(self, parent, item_1=None, item_2=None):
|
x_row = 0
|
||||||
|
no_selection_possible = False
|
||||||
|
def __init__(self, parent, item_1=None, item_2=None, debitor=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
self.geometry("400x475")
|
self.geometry(f"700x300+{parent.winfo_x() + 25 }+{parent.winfo_y() +25 }")
|
||||||
self.resizable(True,True)
|
self.resizable(True,True)
|
||||||
self.iconbitmap("./logo_clerc_03X_icon.ico")
|
self.iconbitmap("./logo_clerc_03X_icon.ico")
|
||||||
self.title("Choix de l'adresse à conserver 1")
|
self.title(f"Choix de l'adresse à conserver {item_1['fip_number']}. Code débiteur: {debitor['code']}")
|
||||||
|
|
||||||
self.columnconfigure(0, weight=1)
|
self.columnconfigure(0, weight=1)
|
||||||
self.columnconfigure(1, weight=1)
|
self.columnconfigure(1, weight=1)
|
||||||
@@ -53,24 +62,87 @@ class SuggestionPopup(Toplevel):
|
|||||||
lbf_new = LabelFrame(self, text="Nouveau patient")
|
lbf_new = LabelFrame(self, text="Nouveau patient")
|
||||||
lbf_new.grid(row=0, column=0, sticky='WE', padx=5, pady=5)
|
lbf_new.grid(row=0, column=0, sticky='WE', padx=5, pady=5)
|
||||||
|
|
||||||
Label(lbf_new, text=f"N° AVS de l'adresse \t {item_1['insurance_policy_number'].replace('.','')}").grid(row=0, column=0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lbf_old = LabelFrame(self, text="Ancien patient")
|
lbf_old = LabelFrame(self, text="Ancien patient")
|
||||||
lbf_old.grid(row=0, column=1, sticky='NSEW', padx=5, pady=5)
|
lbf_old.grid(row=0, column=1, sticky='NSEW', padx=5, pady=5)
|
||||||
|
|
||||||
Label(lbf_old, text=f"N° AVS de l'adresse \t {item_2.AVS}").grid(row=0, column=0)
|
str_address_1 = ""
|
||||||
|
|
||||||
self.listbox = Listbox(self, height=10, width=20)
|
fonts = []
|
||||||
self.listbox.grid(row=1,column=0, columnspan= 2, pady=15)
|
|
||||||
|
|
||||||
self.btn = Button(self, text="Confirm selection", command=self.select)
|
self.x_row = 0
|
||||||
self.btn.grid(row=2, pady=10)
|
self.add_compares_element(new_frame=lbf_new,old_frame=lbf_old,label="N° AVS de l'adresse:",str1=item_1['insurance_policy_number'].replace('.',''), str2=item_2.AVS)
|
||||||
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Nom:", str1=item_1['lastname'], str2=item_2.lastName)
|
||||||
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Prénom:", str1=item_1['firstname'], str2=item_2.firstName)
|
||||||
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Date de naissance:", str1=datetime.strptime(item_1['birthdate'], "%Y-%m-%d").strftime("%d.%m.%Y"), str2=item_2.birth)
|
||||||
|
self.add_compares_element(new_frame=lbf_new, old_frame=lbf_old, label="Adresse:", str1=f"{item_1['street']} {item_1['street_number']}", str2=item_2.street)
|
||||||
|
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}")
|
||||||
|
|
||||||
|
|
||||||
|
str_address_1 += item_1['insurance_policy_number'].replace('.', '')
|
||||||
|
str_address_1 += item_1['lastname'].strip()
|
||||||
|
str_address_1 += item_1['firstname'].strip()
|
||||||
|
str_address_1 += datetime.strptime(item_1['birthdate'], "%Y-%m-%d").strftime("%d.%m.%Y")
|
||||||
|
str_address_1 += f"{item_1['street']} {item_1['street_number']}"
|
||||||
|
str_address_1 += f"{item_1['postal_code']} {item_1['city']}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
str_address_2 = ""
|
||||||
|
|
||||||
|
str_address_2 += item_2.AVS
|
||||||
|
str_address_2 += item_2.lastName
|
||||||
|
str_address_2 += item_2.firstName
|
||||||
|
str_address_2 += item_2.birth
|
||||||
|
str_address_2 += f"{item_2.street.strip()}"
|
||||||
|
str_address_2 += f"{item_2.npa} {item_2.city}"
|
||||||
|
|
||||||
|
self.listbox = Listbox(self, height=3, width=35)
|
||||||
|
self.listbox.grid(row=1,column=0, columnspan= 2, pady=15,padx=15, sticky='NSEW')
|
||||||
|
|
||||||
|
self.btn = Button(self, text="Valider", command=self.select)
|
||||||
|
self.btn.grid(row=2,columnspan=2 , pady=10,padx=10, sticky='NSEW')
|
||||||
|
|
||||||
for (idd, info) in ((0, "Ancienne"), (1, "Nouvelle")) :
|
for (idd, info) in ((0, "Ancienne"), (1, "Nouvelle")) :
|
||||||
self.listbox.insert(END, info)
|
self.listbox.insert(END, info)
|
||||||
|
|
||||||
|
if int(debitor["code"]) >= 100:
|
||||||
|
self.listbox.delete(0,END)
|
||||||
|
self.listbox.delete(0, END)
|
||||||
|
|
||||||
|
self.listbox.insert(END, f"Aucun changement possible, code débiteur {debitor['code']}")
|
||||||
|
self.listbox.configure(state='disabled')
|
||||||
|
self.no_selection_possible = True
|
||||||
|
|
||||||
|
|
||||||
|
if int(debitor["code"]) == 1:
|
||||||
|
if str_address_1 == str_address_2:
|
||||||
|
self.listbox.selection_set(0)
|
||||||
|
print("adresse identique")
|
||||||
|
else:
|
||||||
|
self.listbox.selection_set(1)
|
||||||
|
print(f"adresse différente [{str_address_1}] ({str_address_2})")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def add_compares_element(self,new_frame, old_frame,str1, str2, label):
|
||||||
|
label_font = font.Font(weight='bold', size=9)
|
||||||
|
|
||||||
|
value_color = "black"
|
||||||
|
con = ""
|
||||||
|
if str1 != str2:
|
||||||
|
value_color = "red"
|
||||||
|
con = "*"
|
||||||
|
|
||||||
|
Label(new_frame, text=label, font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
||||||
|
Label(new_frame, text=con + str1 + con, fg=value_color).grid(row=self.x_row, column=1, sticky="W")
|
||||||
|
Label(old_frame, text=label, font=label_font).grid(row=self.x_row, column=0, sticky="W")
|
||||||
|
Label(old_frame, text=con + str2 + con, fg=value_color).grid(row=self.x_row, column=1, sticky="W")
|
||||||
|
|
||||||
|
self.x_row += 1
|
||||||
|
|
||||||
self.selection = None
|
self.selection = None
|
||||||
def destroy(self):
|
def destroy(self):
|
||||||
if self.selection is None:
|
if self.selection is None:
|
||||||
@@ -81,7 +153,10 @@ class SuggestionPopup(Toplevel):
|
|||||||
selection = self.listbox.curselection()
|
selection = self.listbox.curselection()
|
||||||
if selection:
|
if selection:
|
||||||
self.selection = self.listbox.get(selection[0])
|
self.selection = self.listbox.get(selection[0])
|
||||||
self.destroy()
|
self.selection = True if self.selection == "Nouvelle" else False
|
||||||
|
self.destroy()
|
||||||
|
if self.no_selection_possible:
|
||||||
|
self.destroy()
|
||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
self.deiconify()
|
self.deiconify()
|
||||||
@@ -128,18 +203,20 @@ class ClercAttrib2Biz():
|
|||||||
self.prompt = None
|
self.prompt = None
|
||||||
self.b_prompt_open = False
|
self.b_prompt_open = False
|
||||||
|
|
||||||
|
self.check_addresses = BooleanVar(self.fenetre)
|
||||||
self.delete_after_parse = BooleanVar(self.fenetre)
|
self.delete_after_parse = BooleanVar(self.fenetre)
|
||||||
self.export_format_biz = BooleanVar(self.fenetre)
|
self.export_format_biz = BooleanVar(self.fenetre)
|
||||||
self.export_one_file = BooleanVar(self.fenetre)
|
self.export_one_file = BooleanVar(self.fenetre)
|
||||||
self.run_excel_after_export = BooleanVar(self.fenetre)
|
self.run_excel_after_export = BooleanVar(self.fenetre)
|
||||||
|
|
||||||
|
self.check_addresses.set(True)
|
||||||
self.export_one_file.set(True)
|
self.export_one_file.set(True)
|
||||||
self.run_excel_after_export.set(False)
|
self.run_excel_after_export.set(False)
|
||||||
self.export_format_biz.set(True)
|
self.export_format_biz.set(True)
|
||||||
|
|
||||||
self.draw_mainWindows()
|
self.draw_mainWindows()
|
||||||
self.refresh_ui()
|
self.refresh_ui()
|
||||||
#self.read_addresses()
|
self.read_addresses()
|
||||||
|
|
||||||
self.timer = self.fenetre.after(1000, self.main_timer_fn)
|
self.timer = self.fenetre.after(1000, self.main_timer_fn)
|
||||||
|
|
||||||
@@ -236,11 +313,12 @@ class ClercAttrib2Biz():
|
|||||||
lbf_3 = LabelFrame(self.fenetre, text="Options")
|
lbf_3 = LabelFrame(self.fenetre, text="Options")
|
||||||
lbf_3.grid(row=0, column=1, rowspan=2, sticky='NSEW', padx=5, pady=5)
|
lbf_3.grid(row=0, column=1, rowspan=2, sticky='NSEW', padx=5, pady=5)
|
||||||
|
|
||||||
Checkbutton(lbf_3, text="Supprimer fichiers après conversion", variable= self.delete_after_parse, onvalue=True, offvalue=False).grid(row=0, sticky='W')
|
Checkbutton(lbf_3, text="Vérifier les Adresses", variable=self.check_addresses, onvalue=True, offvalue=False).grid(row=0, sticky='W')
|
||||||
Checkbutton(lbf_3, text="Export au format .biz", variable= self.export_format_biz, onvalue=True, offvalue=False, command=self.refresh_ui).grid(row=1, sticky='W')
|
Checkbutton(lbf_3, text="Supprimer fichiers après conversion", variable= self.delete_after_parse, onvalue=True, offvalue=False).grid(row=1, sticky='W')
|
||||||
Checkbutton(lbf_3, text="Export en 1 seul fichier", variable= self.export_one_file, onvalue=True, offvalue=False, command=self.refresh_ui).grid(row=2, sticky='W')
|
Checkbutton(lbf_3, text="Export au format .biz", variable= self.export_format_biz, onvalue=True, offvalue=False, command=self.refresh_ui).grid(row=2, sticky='W')
|
||||||
|
Checkbutton(lbf_3, text="Export en 1 seul fichier", variable= self.export_one_file, onvalue=True, offvalue=False, command=self.refresh_ui).grid(row=3, sticky='W')
|
||||||
self.cb_run = Checkbutton(lbf_3, text="Lancer la conversion excel", variable=self.run_excel_after_export, onvalue=True, offvalue=False)
|
self.cb_run = Checkbutton(lbf_3, text="Lancer la conversion excel", variable=self.run_excel_after_export, onvalue=True, offvalue=False)
|
||||||
self.cb_run.grid(row=3, sticky='W')
|
self.cb_run.grid(row=4, sticky='W')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -250,58 +328,21 @@ class ClercAttrib2Biz():
|
|||||||
|
|
||||||
self.thread = Thread(target=self.start_parsing)
|
self.thread = Thread(target=self.start_parsing)
|
||||||
|
|
||||||
def draw_addressesWindows(self):
|
auto_update = auto_updater()
|
||||||
|
auto_update.temp_dir = temp_dir + '\\'
|
||||||
|
update_available = auto_update.new_update_available()
|
||||||
|
if update_available == True:
|
||||||
|
self.logger.warning(f"Nouvelle version du script disponible. {auto_update.dl_version}")
|
||||||
|
if messagebox.askyesno(title="Nouvelle version trouvée", message=f"Une nouvelle version a été trouvée, vous pouvez l'installer dès maintenant !", ):
|
||||||
|
subprocess.call(temp_dir + "\\update.exe")
|
||||||
|
self.fenetre.destroy()
|
||||||
|
elif update_available == "ERROR":
|
||||||
|
messagebox.showerror(title="ERREUR téléchargement", message="Erreur lors du téléchargement de la nouvelle mise à jour")
|
||||||
|
|
||||||
# Init de la fenêtre addresses prompt
|
|
||||||
|
|
||||||
self.fenetre.iconbitmap("./logo_clerc_03X_icon.ico")
|
|
||||||
self.fenetre.title("Clerc Attrib2Biz v" + str(VERSION))
|
|
||||||
self.fenetre.resizable(True, True)
|
|
||||||
self.fenetre.geometry("700x475")
|
|
||||||
|
|
||||||
self.fenetre.columnconfigure(0, weight=3)
|
|
||||||
self.fenetre.columnconfigure(1, weight=1)
|
|
||||||
self.fenetre.rowconfigure(3, weight=1)
|
|
||||||
def disable_prompt(self):
|
def disable_prompt(self):
|
||||||
self.prompt.destroy()
|
self.prompt.destroy()
|
||||||
self.b_prompt_open = False
|
self.b_prompt_open = False
|
||||||
|
|
||||||
def draw_test(self, item_1=None, item_2=None):
|
|
||||||
return None
|
|
||||||
self.b_prompt_open = True
|
|
||||||
self.prompt = Toplevel()
|
|
||||||
self.prompt.geometry("400x275")
|
|
||||||
self.prompt.iconbitmap("./logo_clerc_03X_icon.ico")
|
|
||||||
self.prompt.title("Choix de l'adresse à conserver ")
|
|
||||||
self.prompt.protocol("WM_DELETE_WINDOW", self.disable_prompt)
|
|
||||||
|
|
||||||
self.prompt.columnconfigure(0, weight=1)
|
|
||||||
self.prompt.columnconfigure(1, weight=1)
|
|
||||||
|
|
||||||
lbf_new = LabelFrame(self.prompt, text="Nouveau patient")
|
|
||||||
lbf_new.grid(row=0,column=0,sticky='WE', padx=5, pady=5)
|
|
||||||
|
|
||||||
Label(lbf_new, text=f"N° AVS de l'adresse").grid(row=0,column=0)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lbf_old = LabelFrame(self.prompt, text="Ancien patient")
|
|
||||||
lbf_old.grid(row=0, column=1, sticky='NSEW', padx=5, pady=5)
|
|
||||||
|
|
||||||
Label(lbf_old, text=f"N° AVS de l'adresse").grid(row=0, column=0)
|
|
||||||
|
|
||||||
'''a = StringVar()
|
|
||||||
Label(root, text='enter something').pack()
|
|
||||||
Entry(root, textvariable=a).pack()
|
|
||||||
Button(root, text='Ok', command=lambda: self.DoSomethingWithInput(a.get, root)).pack()'''
|
|
||||||
def DoSomethingWithInput(self,var,root):
|
|
||||||
print("var")
|
|
||||||
root.destroy()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def refresh_ui(self):
|
def refresh_ui(self):
|
||||||
print("pass refresh UI")
|
print("pass refresh UI")
|
||||||
if self.export_one_file.get() and not self.export_format_biz.get():
|
if self.export_one_file.get() and not self.export_format_biz.get():
|
||||||
@@ -327,7 +368,7 @@ class ClercAttrib2Biz():
|
|||||||
o_addresse.lastName = row[9]
|
o_addresse.lastName = row[9]
|
||||||
o_addresse.firstName = row[10]
|
o_addresse.firstName = row[10]
|
||||||
o_addresse.birth = row[38]
|
o_addresse.birth = row[38]
|
||||||
o_addresse.street = row[11]
|
o_addresse.street = row[12]
|
||||||
o_addresse.npa = row[13]
|
o_addresse.npa = row[13]
|
||||||
o_addresse.city = row[15]
|
o_addresse.city = row[15]
|
||||||
self.addresses.add_addresse(o_addresse)
|
self.addresses.add_addresse(o_addresse)
|
||||||
@@ -337,7 +378,7 @@ class ClercAttrib2Biz():
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
messagebox.showwarning(title="Impossible d'ouvrir le fichier d'adresse existantes", message=f"Le fichier {file_addresses_path} est introuvable. Aucune vérification des adresses possible")
|
messagebox.showwarning(title="Impossible d'ouvrir le fichier d'adresse existantes", message=f"Le fichier {file_addresses_path} est introuvable. Aucune vérification des adresses possible")
|
||||||
#messagebox.showerror(title="Erreur fichier déjà ouvert", message=f"Le fichier {self.export_filename} est déjà ouvert. Veuillez le fermer et recommencer")
|
|
||||||
|
|
||||||
|
|
||||||
def start_parsing(self):
|
def start_parsing(self):
|
||||||
@@ -409,6 +450,7 @@ class ClercAttrib2Biz():
|
|||||||
x = 70
|
x = 70
|
||||||
|
|
||||||
for ele in data["invoices"]:
|
for ele in data["invoices"]:
|
||||||
|
b_address_update = True
|
||||||
data = cls_Invoice()
|
data = cls_Invoice()
|
||||||
data.parse_item(ele)
|
data.parse_item(ele)
|
||||||
|
|
||||||
@@ -460,12 +502,15 @@ class ClercAttrib2Biz():
|
|||||||
if data.Patient['insurance_policy_number'] == None:
|
if data.Patient['insurance_policy_number'] == None:
|
||||||
data.Patient['insurance_policy_number'] = f"{uuid.uuid4()}"[:15]
|
data.Patient['insurance_policy_number'] = f"{uuid.uuid4()}"[:15]
|
||||||
|
|
||||||
addresses_exist = self.addresses.get_item_by_AVS(data.Patient['insurance_policy_number'].replace(".", ""))
|
if self.check_addresses.get():
|
||||||
if addresses_exist is not None:
|
addresses_exist = self.addresses.get_item_by_AVS(data.Patient['insurance_policy_number'].replace(".", ""))
|
||||||
pass
|
if addresses_exist is not None:
|
||||||
#popup = SuggestionPopup(self.fenetre, item_1=data.Patient, item_2=addresses_exist)
|
popup = SuggestionPopup(self.fenetre, item_1=data.Patient, item_2=addresses_exist, debitor=data.Debtor)
|
||||||
#result = popup.show()
|
b_address_update = popup.show()
|
||||||
#print(f"Result Popup: {result}")
|
print(f"Result Popup: {b_address_update}")
|
||||||
|
else:
|
||||||
|
b_address_update = True
|
||||||
|
|
||||||
#self.draw_test(item_1=data.Patient, item_2=addresses_exist)
|
#self.draw_test(item_1=data.Patient, item_2=addresses_exist)
|
||||||
#messagebox.showerror(title="AVS Trouvé", message=f"Le code AVS de l'adresse {data.Patient['insurance_policy_number']} est déjà existant: [{data.Debtor['code']}], merci de le corriger ")
|
#messagebox.showerror(title="AVS Trouvé", message=f"Le code AVS de l'adresse {data.Patient['insurance_policy_number']} est déjà existant: [{data.Debtor['code']}], merci de le corriger ")
|
||||||
|
|
||||||
@@ -523,7 +568,7 @@ class ClercAttrib2Biz():
|
|||||||
con = ", "
|
con = ", "
|
||||||
concat_str += con + self.ifNotNull(data.Intervention["site_postal_code"]) + " " + self.ifNotNull(data.Intervention["site_city"])
|
concat_str += con + self.ifNotNull(data.Intervention["site_postal_code"]) + " " + self.ifNotNull(data.Intervention["site_city"])
|
||||||
csv_col.data[18] = concat_str # Adresse PEC
|
csv_col.data[18] = concat_str # Adresse PEC
|
||||||
print(f'debug id:{data.data["id"]} code: {data.Debtor["code"]}')
|
print(f'debug FIP:{data.Patient["fip_number"]} id:{data.data["id"]} code: {data.Debtor["code"]}')
|
||||||
if int(data.Debtor["code"]) < 100:
|
if int(data.Debtor["code"]) < 100:
|
||||||
csv_col.data[19] = data.Patient['insurance_policy_number'].replace(".","")
|
csv_col.data[19] = data.Patient['insurance_policy_number'].replace(".","")
|
||||||
csv_col.data[22] = data.Patient["lastname"]
|
csv_col.data[22] = data.Patient["lastname"]
|
||||||
@@ -538,7 +583,13 @@ class ClercAttrib2Biz():
|
|||||||
csv_col.data[41] = "Monsieur" if data.Patient["gender"] == "Masculin" else "Madame"
|
csv_col.data[41] = "Monsieur" if data.Patient["gender"] == "Masculin" else "Madame"
|
||||||
csv_col.data[44] = csv_col.data[41]
|
csv_col.data[44] = csv_col.data[41]
|
||||||
|
|
||||||
csv_col.data[46] = 0 # Maj adresse
|
#csv_col.data[46] = 0 # Maj adresse
|
||||||
|
if b_address_update:
|
||||||
|
csv_col.data[46] = 0 # Maj adresse ajoute ou met à jour l'adresse
|
||||||
|
print("mise à jour de l'adresse")
|
||||||
|
else:
|
||||||
|
csv_col.data[46] = 1 # Maj adresse, ajoute, mais ne met pas à jour l'adresse si elle existe
|
||||||
|
print("NON mise à jour de l'adresse")
|
||||||
|
|
||||||
if int(data.Debtor["code"]) > 1:
|
if int(data.Debtor["code"]) > 1:
|
||||||
con = ""
|
con = ""
|
||||||
@@ -577,7 +628,7 @@ class ClercAttrib2Biz():
|
|||||||
if data.Debtor["country_name"] != "Suisse":
|
if data.Debtor["country_name"] != "Suisse":
|
||||||
csv_col.data[29] = data.Debtor["country_name"]
|
csv_col.data[29] = data.Debtor["country_name"]
|
||||||
|
|
||||||
csv_col.data[46] =1 # Maj adresse
|
csv_col.data[46] =1 # Maj adresse, ajoute, mais ne met pas à jour l'adresse si elle existe
|
||||||
|
|
||||||
if "name" in data.Debtor.keys():
|
if "name" in data.Debtor.keys():
|
||||||
csv_col.data[21] = self.ifNotNull(data.Debtor["name"])
|
csv_col.data[21] = self.ifNotNull(data.Debtor["name"])
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
202200606 - 1107
|
|
||||||
1
version.py
Normal file
1
version.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
VERSION = "20220606-1821"
|
||||||
Reference in New Issue
Block a user