Working on IDAA data imports
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user