Working on IDAA data imports

This commit is contained in:
Scott Idem
2021-10-04 19:59:30 -04:00
parent b1a4386de4
commit b816d3dbb1

View File

@@ -522,14 +522,18 @@ async def ins_up_person_contact_address_user_data(
return mk_resp(data=person_data_li)
# Second round: Creating membership records from the Cvent Address Book export data
@router.post('/person_data_v2_membership', response_model=Resp_Body_Base)
async def importing_person_data_v2_membership(
# Based on the Cvent Address Book Contacts export data. New External IDs should already be added in Cvent and updated in Aether as well. Use importing_update_w_external_id() endpoint function. Person contact address user data needs to be updated. Use ins_up_person_contact_address_user_data() endpoint function.
# All records should have an External ID.
# Updated 2021-10-04
@router.get('/ins_up_membership_person_data', response_model=Resp_Body_Base)
async def ins_up_membership_person_data(
response: Response = Response,
):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
log.info('Starting membership person data insert update...')
allow_insert_person = True
allow_insert_contact = True
allow_insert_address = True
@@ -543,14 +547,14 @@ async def importing_person_data_v2_membership(
# allow_update_membership = True
# allow_update_person_new_user = True
account_id = 99
account_id = 13
full_file_path = 'admin/temp/import_person_contact_address_user_data.xlsx'
df = pandas.read_excel(full_file_path, na_filter=False, dtype={'external_import_id':str, 'phone_home':str, 'phone_mobile':str, 'city':str, 'state_province':str, 'address_postal_code':str, 'country':str})
df = pandas.read_excel(full_file_path, na_filter=False, dtype={'external_id':str, 'external_import_id':str, 'phone_home':str, 'phone_mobile':str, 'city':str, 'state_province':str, 'address_postal_code':str, 'country':str})
log.debug(df)
df_dict = df.to_dict(orient='records')
# log.debug(df_dict)
log.debug(df_dict)
person_data_li = []
for record in df_dict:
@@ -565,6 +569,12 @@ async def importing_person_data_v2_membership(
person_data = {}
person_data['account_id'] = account_id
if record['external_id']: # This is now required for the membership portion 2021-10-04
external_id = record['external_id']
else: continue # external_id = None
log.info(f'External ID: {external_id}')
if record['external_import_id']:
person_data['external_import_id'] = record['external_import_id']
else:
@@ -576,15 +586,23 @@ async def importing_person_data_v2_membership(
data = {}
data['account_id'] = account_id
data['external_id'] = external_id
data['external_import_id'] = external_import_id
sql = f"""
SELECT *
FROM `v_person` AS `person`
WHERE person.account_id = :account_id
AND person.external_import_id = :external_import_id
ORDER BY `person`.created_on DESC, `person`.updated_on DESC
AND person.external_id = :external_id
LIMIT 1;
"""
# sql = f"""
# SELECT *
# FROM `v_person` AS `person`
# WHERE person.account_id = :account_id
# AND person.external_import_id = :external_import_id
# ORDER BY `person`.created_on DESC, `person`.updated_on DESC
# LIMIT 1;
# """
if person_rec_result := sql_select(data=data, sql=sql):
# Pull out IDs of existing person record
log.debug('Found one record')
@@ -669,7 +687,6 @@ async def importing_person_data_v2_membership(
SELECT *
FROM `v_membership_person` AS `membership_person`
WHERE membership_person.id = :membership_person_id
ORDER BY `membership_person`.created_on DESC, `membership_person`.updated_on DESC
LIMIT 1;
"""
if membership_person_rec_result := sql_select(data=data, sql=sql):