Files
AttribWinbiz/cl_attriblink.py
Ambulance Clerc fac7a7a4b2 remove debug print
2024-11-09 17:30:43 +01:00

223 lines
10 KiB
Python

class cl_AttribLink():
def __init__(self):
self.invoice_ID = None
self.FIP = None
self.comments = None
self.km = None
self.invoice_date = None
self.debtor_code = None
self.debtor_name = None
self.debtor_lastname = None
self.debtor_firstname = None
self.debtor_addr_complement = None
self.debtor_street = None
self.debtor_street_number = None
self.debtor_postal_code = None
self.debtor_city = None
self.debtor_country = None
self.debtor_gender = None
self.patient_AVS = None
self.patient_category = None
self.patient_birthdate = None
self.patient_lastname = None
self.patient_firstname = None
self.patient_addr_complement = None
self.patient_addr_2 = None
self.patient_street = None
self.patient_street_number = None
self.patient_postal_code = None
self.patient_city = None
self.patient_country = None
self.patient_gender = None
self.patient_insurance_name = None
self.intervention_type = None
self.intervention_base = None
self.intervention_team = None
self.intervention_start_time = None
self.intervention_end_time = None
#Intervention DEST
self.intervention_dest_name = None
self.intervention_dest_street = None
self.intervention_dest_street_number = None
self.intervention_dest_postal_code = None
self.intervention_dest_city = None
#Intervention Site
self.intervention_site_name = None
self.intervention_site_street = None
self.intervention_site_street_number = None
self.intervention_site_postal_code = None
self.intervention_site_city = None
self.src_key_invoice = {
"id": ["id"],
"total_price": ["total_price"],
"date": ["date"],
"comments": ["comments"],
}
self.src_key_debtor = {
"code": ["code"],
"name": ["name"],
"lastname": ["lastname"],
"firstname": ["firstname"],
"addr_complement": ["complement"],
"street": ["street"],
"addr_2": ["addr_2"],
"street_number": ["street_number"],
"postal_code": ["postal_code"],
"city": ["city"],
"country_name": ["country","country_name"],
"gender_name": ["gender","gender_name"],
}
self.src_key_patient = {
"fip": ["fip_number"],
"category_name": ["category", "category_name"],
"birthdate": ["birthdate"],
"AVS": ["insurance_policy_number"],
"lastname": ["lastname"],
"firstname": ["firstname"],
"addr_complement": ["complement"],
"street": ["street"],
"addr_2": ["addr_2"],
"street_number": ["street_number"],
"postal_code": ["postal_code"],
"city": ["city"],
"country_name": ["country","country_name"],
"gender_name": ["gender","gender_name"],
"insurance_name": ["insurance","insurance_name"],
}
self.src_key_article = {
"price": ["price"],
"code": ["code"],
"line_1": ["line_1"],
"line_2": ["line_2"],
"quantity": ["quantity"],
"unit_price": ["unit_price"],
"unit": ["unit", "unit_name"],
"price": ["price"],
}
self.src_key_intervention = {
"date": ["date"],
"type": ["type"],
"kilometers": ["kilometers"],
"start_time": ["start_time"],
"end_time": ["end_time"],
"base_name": ["base", "base_name"],
"team_name": ["team", "team_name"],
"destination_name": ["destination", "destination_name"],
"destination_street": ["destination", "destination_street"],
"destination_street_number": ["destination_street_number"],
"destination_city": ["destination_city"],
"destination_postal_code": ["destination_postal_code"],
"site_name": ["site", "site_name"],
"site_street": ["site", "site_street"],
"site_street_number": ["site_street_number"],
"site_city": ["site_city"],
"site_postal_code": ["site_postal_code"],
}
def parse_data(self, data):
self.invoice_ID = self.get_value_from_attrib(data=data, obj="data", key="id")
self.comments = self.get_value_from_attrib(data=data, obj="data", key="comments")
self.invoice_date = self.get_value_from_attrib(data=data, obj="data", key="date")
self.debtor_code = self.get_value_from_attrib(data=data, obj="debtor", key="code")
self.debtor_name = self.get_value_from_attrib(data=data, obj="debtor", key="name")
self.debtor_lastname = self.get_value_from_attrib(data=data,obj="debtor",key="lastname")
self.debtor_firstname = self.get_value_from_attrib(data=data,obj="debtor",key="firstname")
self.debtor_addr_complement = self.get_value_from_attrib(data=data,obj="debtor",key="addr_complement")
self.debtor_street = self.get_value_from_attrib(data=data,obj="debtor",key="street")
self.debtor_street_number = self.get_value_from_attrib(data=data,obj="debtor",key="street_number")
self.debtor_postal_code = self.get_value_from_attrib(data=data,obj="debtor",key="postal_code")
self.debtor_city = self.get_value_from_attrib(data=data,obj="debtor",key="city")
self.debtor_gender = self.get_value_from_attrib(data=data,obj="debtor",key="gender_name")
self.debtor_country = self.get_value_from_attrib(data=data,obj="debtor",key="country_name")
self.FIP = self.get_value_from_attrib(data=data, obj="patient", key="fip")
self.patient_category = self.get_value_from_attrib(data=data, obj="patient", key="category_name")
self.patient_birthdate = self.get_value_from_attrib(data=data, obj="patient", key="birthdate")
self.patient_lastname = self.get_value_from_attrib(data=data, obj="patient", key="lastname")
self.patient_addr_2 = self.get_value_from_attrib(data=data, obj="patient", key="addr_2")
self.patient_firstname = self.get_value_from_attrib(data=data, obj="patient", key="firstname")
self.patient_addr_complement = self.get_value_from_attrib(data=data, obj="patient", key="addr_complement")
self.patient_street = self.get_value_from_attrib(data=data,obj="patient",key="street")
self.patient_street_number = self.get_value_from_attrib(data=data,obj="patient",key="street_number")
self.patient_postal_code = self.get_value_from_attrib(data=data,obj="patient",key="postal_code")
self.patient_city = self.get_value_from_attrib(data=data,obj="patient",key="city")
self.patient_gender = self.get_value_from_attrib(data=data,obj="patient",key="gender_name")
self.patient_country = self.get_value_from_attrib(data=data,obj="patient",key="country_name")
self.patient_insurance_name = self.get_value_from_attrib(data=data,obj="patient",key="insurance_name")
self.km = self.get_value_from_attrib(data=data, obj="intervention", key="kilometers")
self.intervention_start_time = self.get_value_from_attrib(data=data, obj="intervention", key="start_time")
self.intervention_end_time = self.get_value_from_attrib(data=data, obj="intervention", key="end_time")
self.intervention_base = self.get_value_from_attrib(data=data, obj="intervention", key="base_name")
self.intervention_team = self.get_value_from_attrib(data=data, obj="intervention", key="team_name")
self.intervention_type = self.get_value_from_attrib(data=data, obj="intervention", key="type")
self.intervention_dest_name = self.get_value_from_attrib(data=data, obj="intervention", key="destination_name")
self.intervention_dest_street = self.get_value_from_attrib(data=data, obj="intervention", key="destination_street")
self.intervention_dest_street_number = self.get_value_from_attrib(data=data, obj="intervention", key="destination_street_number")
self.intervention_dest_postal_code = self.get_value_from_attrib(data=data, obj="intervention", key="destination_postal_code")
self.intervention_dest_city = self.get_value_from_attrib(data=data, obj="intervention", key="destination_city")
self.intervention_site_name = self.get_value_from_attrib(data=data, obj="intervention", key="site_name")
self.intervention_site_street = self.get_value_from_attrib(data=data, obj="intervention", key="site_street")
self.intervention_site_street_number = self.get_value_from_attrib(data=data, obj="intervention", key="site_street_number")
self.intervention_site_postal_code = self.get_value_from_attrib(data=data, obj="intervention", key="site_postal_code")
self.intervention_site_city = self.get_value_from_attrib(data=data, obj="intervention", key="site_city")
def on_error_not_found(self, obj, key):
print(f"ERROR AttribLink => obi[{obj}] and key [{key}] not found.")
def get_value_from_attrib(self,data,obj, key):
#print(f"get value from {obj}=>{key}")
ret = False
t_obj = None
if obj == "data":
t_obj = data.data
key_src = self.src_key_invoice
elif obj == "debtor":
t_obj = data.Debtor
key_src = self.src_key_debtor
elif obj == "patient":
t_obj = data.Patient
key_src = self.src_key_patient
elif obj == "article":
t_obj = data
key_src = self.src_key_article
elif obj == "invoice":
t_obj = data
key_src = self.src_key_invoice
if obj == "intervention":
t_obj = data.Intervention
key_src = self.src_key_intervention
for t_key in key_src[key]:
if t_key in t_obj:
ret = t_obj[t_key]
if ret == False:
self.on_error_not_found(obj, key)
return None
else:
return ret