finished pricebook2 & pricebookentry

This commit is contained in:
Rene Kaßeböhmer
2025-04-17 10:32:35 +02:00
parent 94d81669d8
commit 8485b38dba
13 changed files with 119 additions and 16 deletions

View File

@ -10,6 +10,8 @@ read_df = pd.read_csv('../1_extract_data/results/SCInstalledBaseLocation__c.csv'
read_df_ib = pd.read_csv('../1_extract_data/results/SCInstalledBase__c.csv', header=0, keep_default_na=False, dtype=str)
read_df_product2 = pd.read_csv('../1_extract_data/results/Product2.csv', header=0, keep_default_na=False, dtype=str)
read_df_ibr = pd.read_csv('../1_extract_data/results/SCInstalledBaseRole__c.csv', header=0, keep_default_na=False, dtype=str)
read_df_pricelist = pd.read_csv('../1_extract_data/results/SCPriceList__c.csv', header=0, keep_default_na=False, dtype=str)
read_df_pricelistitem = pd.read_csv('../1_extract_data/results/SCPriceListItem__c.csv', header=0, keep_default_na=False, dtype=str)
for row in read_df.to_dict('records'):
try:
@ -31,13 +33,19 @@ reindex_columns_product2 = ['Id','Main_Product_Group__c','Family','MaterialType_
#reindex_columns_product2 = ['EAN_Product_Code__c','Family','Id','Main_Product_Group__c','MaterialType__c','Name','Product_Code__c','ProductCode']
#"Id","InstalledBaseLocation__c","Role__c","ValidFrom__c","ValidTo__c","Account__c"
reindex_columns_ibr = ['Id', 'InstalledBaseLocation__c', 'Role__c', 'ValidFrom__c', 'ValidTo__c', 'Account__c']
reindex_columns_pricelist = ['Id', 'Name', 'Brand__r.Name', 'Country__c']
reindex_columns_pricelistitem = ['Id', 'Article__r.Name', 'Article__r.EANCode__c', 'Price__c', 'PriceUnit__c', 'Pricelist__c', 'ValidFrom__c', 'ValidTo__c', 'Pricelist__r.Brand__r.Name', 'Pricelist__r.Country__c']
# Reindex the columns to match the desired format
df = read_df.reindex(reindex_columns, axis=1)
df_ib = read_df_ib.reindex(reindex_columns_ib, axis=1)
df_product2 = read_df_product2.reindex(reindex_columns_product2, axis=1)
df_ibr = read_df_ibr.reindex(reindex_columns_ibr, axis=1)
df_pricelist = read_df_pricelist.reindex(reindex_columns_pricelist, axis=1)
df_pricelistitem = read_df_pricelistitem.reindex(reindex_columns_pricelistitem, axis=1)
#creating street column
# Concatenate 'Street__c' and 'HouseNo__c' to create the 'Street' column
df['Street'] = (
df['Street__c'].astype(str) + ' ' +
df['HouseNo__c'].astype(str)
@ -246,14 +254,55 @@ for index, row in tqdm(merged_df_ib.iterrows(), total=len(merged_df_ib)):
if product_group not in valid_groups:
merged_df_ib.loc[index, 'Kind_of_Energy__c'] = None # or set to empty string
print(merged_df_ib)
# Pricelist to Pricebook2
columns_pricebook2 = ['Id', 'Name', 'Brand__c', 'Country__c']
df_pricelist.columns = columns_pricebook2
df_pricelist.insert(0, 'IsActive', 'true')
df_pricelist.insert(0, 'IsStandard', 'false')
df_pricelist.insert(0, 'Business_Type__c', 'Service')
df_pricelist['Name'] = (
df_pricelist['Country__c'].astype(str).fillna('').str.upper() + ' ' +
df_pricelist['Brand__c'].astype(str).fillna('').str.upper() + ' ' +
df_pricelist['Business_Type__c'].astype(str).fillna('').str.upper()
)
df_pricelist = df_pricelist.drop('Id', axis=1)
df_pricelistitem['Pricebook2.Name'] = (
df_pricelistitem['Pricelist__r.Country__c'].astype(str).fillna('').str.upper() + ' ' +
df_pricelistitem['Pricelist__r.Brand__r.Name'].astype(str).fillna('').str.upper() + ' ' +
'SERVICE'
)
df_pricelistitem = df_pricelistitem.drop('Id', axis=1)
df_pricelistitem = df_pricelistitem.drop('PriceUnit__c', axis=1)
df_pricelistitem = df_pricelistitem.drop('Pricelist__c', axis=1)
df_pricelistitem = df_pricelistitem.drop('ValidFrom__c', axis=1)
df_pricelistitem = df_pricelistitem.drop('ValidTo__c', axis=1)
df_pricelistitem = df_pricelistitem.drop('Pricelist__r.Country__c', axis=1)
df_pricelistitem = df_pricelistitem.drop('Pricelist__r.Brand__r.Name', axis=1)
df_pricelistitem.insert(0, 'IsActive', 'true')
print(df_pricelistitem)
columns_pricebookentry = ['IsActive', 'Product2.Product_Code__c', 'Product2.EAN_Product_Code__c', 'UnitPrice', 'Pricebook2.Name']
df_pricelistitem.columns = columns_pricebookentry
# Write each DataFrame to a separate CSV file
address_df.to_csv('../3_upsert_address_and_parent_location/Address.csv', index=False)
parent_df.to_csv('../3_upsert_address_and_parent_location/Location.csv', index=False)
child_df.to_csv('../5_upsert_child_location/Location.csv', index=False)
merged_df_ib.to_csv('../7_upsert_assets/Asset.csv', index=False)
df_ibr.to_csv('../9_upsert_associated_location/AssociatedLocation.csv', index=False)
df_ibr.to_csv('../10_upsert_associated_location/AssociatedLocation.csv', index=False)
df_pricelist.to_csv('../11_insert_pricebook2/Pricebook2.csv', index=False)
df_pricelistitem.to_csv('../11_insert_pricebook2/PricebookEntry.csv', index=False)
## end mapping

View File

@ -1 +1 @@
python .\LocationScript.py
python .\TransformScript.py