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) return mk_resp(data=person_data_li)
# Second round: Creating membership records from the Cvent Address Book export data # 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.
@router.post('/person_data_v2_membership', response_model=Resp_Body_Base) # All records should have an External ID.
async def importing_person_data_v2_membership( # 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, response: Response = Response,
): ):
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
log.info('Starting membership person data insert update...')
allow_insert_person = True allow_insert_person = True
allow_insert_contact = True allow_insert_contact = True
allow_insert_address = True allow_insert_address = True
@@ -543,14 +547,14 @@ async def importing_person_data_v2_membership(
# allow_update_membership = True # allow_update_membership = True
# allow_update_person_new_user = 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' 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) log.debug(df)
df_dict = df.to_dict(orient='records') df_dict = df.to_dict(orient='records')
# log.debug(df_dict) log.debug(df_dict)
person_data_li = [] person_data_li = []
for record in df_dict: for record in df_dict:
@@ -565,6 +569,12 @@ async def importing_person_data_v2_membership(
person_data = {} person_data = {}
person_data['account_id'] = account_id 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']: if record['external_import_id']:
person_data['external_import_id'] = record['external_import_id'] person_data['external_import_id'] = record['external_import_id']
else: else:
@@ -576,15 +586,23 @@ async def importing_person_data_v2_membership(
data = {} data = {}
data['account_id'] = account_id data['account_id'] = account_id
data['external_id'] = external_id
data['external_import_id'] = external_import_id data['external_import_id'] = external_import_id
sql = f""" sql = f"""
SELECT * SELECT *
FROM `v_person` AS `person` FROM `v_person` AS `person`
WHERE person.account_id = :account_id WHERE person.account_id = :account_id
AND person.external_import_id = :external_import_id AND person.external_id = :external_id
ORDER BY `person`.created_on DESC, `person`.updated_on DESC
LIMIT 1; 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): if person_rec_result := sql_select(data=data, sql=sql):
# Pull out IDs of existing person record # Pull out IDs of existing person record
log.debug('Found one record') log.debug('Found one record')
@@ -669,7 +687,6 @@ async def importing_person_data_v2_membership(
SELECT * SELECT *
FROM `v_membership_person` AS `membership_person` FROM `v_membership_person` AS `membership_person`
WHERE membership_person.id = :membership_person_id WHERE membership_person.id = :membership_person_id
ORDER BY `membership_person`.created_on DESC, `membership_person`.updated_on DESC
LIMIT 1; LIMIT 1;
""" """
if membership_person_rec_result := sql_select(data=data, sql=sql): if membership_person_rec_result := sql_select(data=data, sql=sql):