223 lines
10 KiB
Python
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_AVS = self.get_value_from_attrib(data=data, obj="patient", key="AVS")
|
|
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
|