maintenance plan first draft without rights test
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@ -39,4 +39,6 @@ successful_records.csv
|
|||||||
server.key
|
server.key
|
||||||
server.crt
|
server.crt
|
||||||
AssetWarranty.csv
|
AssetWarranty.csv
|
||||||
FSL_Asset_Maintenance_Information__c.csv
|
FSL_Asset_Maintenance_Information__c.csv
|
||||||
|
MaintenancePlan.csv
|
||||||
|
MaintenancePlan_beforetransform.csv
|
1
prepared_steps/19_create_maintenance_plan/command.txt
Normal file
1
prepared_steps/19_create_maintenance_plan/command.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
python fill_fields_and_insert.py --context qa2 --csv MaintenancePlan.csv
|
16
prepared_steps/19_create_maintenance_plan/export.json
Normal file
16
prepared_steps/19_create_maintenance_plan/export.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"allOrNone": true,
|
||||||
|
"objects": [
|
||||||
|
{
|
||||||
|
"query": "SELECT Id FROM ServiceContract WHERE IsTemplate__c = true",
|
||||||
|
"operation": "Readonly",
|
||||||
|
"externalId": "Id",
|
||||||
|
"master": false
|
||||||
|
},{
|
||||||
|
"query": "SELECT Id, TemplateId__c FROM ServiceContract",
|
||||||
|
"operation": "Update",
|
||||||
|
"externalId": "Id",
|
||||||
|
"useSourceCSVFile": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,62 @@
|
|||||||
|
import pandas as pd
|
||||||
|
import argparse
|
||||||
|
from sys import path
|
||||||
|
path.append('../..')
|
||||||
|
from utils import bulk_insert_records
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Insert MaintenancePlan records via Bulk API')
|
||||||
|
parser.add_argument('--context', type=str, required=True,
|
||||||
|
help='Salesforce org context (e.g., "qa2", "prod")')
|
||||||
|
parser.add_argument('--csv', type=str, default='MaintenancePlan.csv',
|
||||||
|
help='CSV file to process (default: MaintenancePlan.csv)')
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
#read_df_sc = pd.read_csv('../16_insert_servicecontract/successful_records.csv', header=0, keep_default_na=False, dtype=str)
|
||||||
|
read_df_mp = pd.read_csv('./MaintenancePlan_beforetransform.csv', header=0, keep_default_na=False, dtype=str)
|
||||||
|
|
||||||
|
#"sf__Id","sf__Created",PKey__c,BillingCountryCode,Term,EndDate,StartDate,AccountId,Service_Recipient__c,IoT_Registration_Status__c,Name,Pricebook2Id,TemplateId__c
|
||||||
|
#reindex_columns_sc = ['sf__Id','sf__Created','PKey__c', 'BillingCountryCode', 'Term', 'EndDate', 'StartDate', 'AccountId', 'Service_Recipient__c', 'IoT_Registration_Status__c', 'Name', 'Pricebook2Id', 'TemplateId__c']
|
||||||
|
#ServiceContract.PKey__c,StartDate,EndDate,AccountId,MaintenanceWindowEndDays,MaintenanceWindowStartDays,GenerationTimeframe,Frequency,GenerationTimeframeType,WorkTypeId
|
||||||
|
reindex_columns_mp = ['ServiceContract.PKey__c', 'StartDate', 'EndDate', 'AccountId', 'MaintenanceWindowEndDays', 'MaintenanceWindowStartDays', 'GenerationTimeframe', 'Frequency', 'GenerationTimeframeType', 'WorkTypeId']
|
||||||
|
|
||||||
|
|
||||||
|
# Reindex the columns to match the desired format
|
||||||
|
#df_sc = read_df_sc.reindex(reindex_columns_sc, axis=1)
|
||||||
|
df_mp = read_df_mp.reindex(reindex_columns_mp, axis=1)
|
||||||
|
|
||||||
|
|
||||||
|
# Only load 'sf__Id' and 'PKey__c' from the ServiceContract CSV
|
||||||
|
df_sc = pd.read_csv('../16_insert_servicecontract/successful_records.csv', usecols=['sf__Id', 'PKey__c'])
|
||||||
|
|
||||||
|
print(df_sc)
|
||||||
|
print(df_mp)
|
||||||
|
#
|
||||||
|
# Merge df_mp with df_sc including Id based on PKey__c
|
||||||
|
merged_df_mp = pd.merge(df_mp,
|
||||||
|
df_sc[['sf__Id', 'PKey__c']],
|
||||||
|
left_on='ServiceContract.PKey__c',
|
||||||
|
right_on='PKey__c',
|
||||||
|
how='left')
|
||||||
|
|
||||||
|
print(merged_df_mp)
|
||||||
|
|
||||||
|
# Rename only 'old_name' to 'new_name'
|
||||||
|
merged_df_mp = merged_df_mp.rename(columns={'sf__Id': 'ServiceContractId'})
|
||||||
|
|
||||||
|
merged_df_mp = merged_df_mp.drop('ServiceContract.PKey__c', axis=1)
|
||||||
|
merged_df_mp = merged_df_mp.drop('PKey__c', axis=1)
|
||||||
|
|
||||||
|
#transform values into int
|
||||||
|
merged_df_mp['MaintenanceWindowEndDays'] = pd.to_numeric(merged_df_mp['MaintenanceWindowEndDays'], errors='coerce').fillna(0).astype(int)
|
||||||
|
merged_df_mp['MaintenanceWindowStartDays'] = pd.to_numeric(merged_df_mp['MaintenanceWindowStartDays'], errors='coerce').fillna(0).astype(int)
|
||||||
|
merged_df_mp['GenerationTimeframe'] = pd.to_numeric(merged_df_mp['GenerationTimeframe'], errors='coerce').fillna(0).astype(int)
|
||||||
|
merged_df_mp['Frequency'] = pd.to_numeric(merged_df_mp['Frequency'], errors='coerce').fillna(0).astype(int)
|
||||||
|
|
||||||
|
#safe csv
|
||||||
|
merged_df_mp.to_csv('./MaintenancePlan.csv', index=False)
|
||||||
|
|
||||||
|
|
||||||
|
bulk_insert_records(args.context, 'MaintenancePlan', args.csv)
|
||||||
|
|
@ -606,10 +606,11 @@ df_servicecontract['Term'] = df_servicecontract['Term'].fillna(0).astype(int)
|
|||||||
##--------------------------------------------------------------------------##
|
##--------------------------------------------------------------------------##
|
||||||
## MaintenancePlan, MaintenanceAsset
|
## MaintenancePlan, MaintenanceAsset
|
||||||
##--------------------------------------------------------------------------##
|
##--------------------------------------------------------------------------##
|
||||||
|
print(df_maintenanceplan.columns)
|
||||||
|
|
||||||
df_maintenanceplan.columns = ['ServiceContract.PKey__c', 'StartDate', 'AccountId', 'MaintenancePriceInclusionOfVAT__c',
|
df_maintenanceplan.columns = ['ServiceContract.PKey__c', 'StartDate', 'EndDate', 'AccountId', 'MaintenancePriceInclusionOfVAT__c',
|
||||||
'MaintenanceWindowEndDays', 'MaintenanceWindowStartDays', 'GenerationTimeframe',
|
'MaintenanceWindowEndDays', 'MaintenanceWindowStartDays', 'GenerationTimeframe',
|
||||||
'MaintenanceCreationShiftFactor__c', 'MaintenanceDuration__c', 'Frequency', 'MaintenancePriceRequired__c',
|
'MaintenanceCreationShiftFactor__c', 'MaintenanceDuration__c', 'MaintenanceFirstDate__c', 'MaintenanceLastDate__c', 'Frequency', 'MaintenancePriceRequired__c',
|
||||||
'util_MaintenancePrice__c', 'util_MaintenanceDuration__c', 'util_MaintenanceNextDate__c']
|
'util_MaintenancePrice__c', 'util_MaintenanceDuration__c', 'util_MaintenanceNextDate__c']
|
||||||
|
|
||||||
# Add 'Days' to the 'GenerationTimeframe' column
|
# Add 'Days' to the 'GenerationTimeframe' column
|
||||||
@ -630,6 +631,9 @@ maintenance_worktype_id = df_worktype[df_worktype['Name'] == 'Planned Maintenanc
|
|||||||
# Add WorkTypeId to maintenance plan
|
# Add WorkTypeId to maintenance plan
|
||||||
df_maintenanceplan['WorkTypeId'] = maintenance_worktype_id
|
df_maintenanceplan['WorkTypeId'] = maintenance_worktype_id
|
||||||
|
|
||||||
|
print(df_maintenanceplan)
|
||||||
|
|
||||||
|
|
||||||
##--------------------------------------------------------------------------##
|
##--------------------------------------------------------------------------##
|
||||||
## Skills
|
## Skills
|
||||||
##--------------------------------------------------------------------------##
|
##--------------------------------------------------------------------------##
|
||||||
@ -654,6 +658,7 @@ df_servicecontracttemplates.to_csv('../14_insert_servicecontracttemplates_dummie
|
|||||||
df_servicecontract.to_csv('../16_insert_servicecontract/ServiceContract_beforetransform.csv', index=False)
|
df_servicecontract.to_csv('../16_insert_servicecontract/ServiceContract_beforetransform.csv', index=False)
|
||||||
df_assetwarranty_save.to_csv('../9_upsert_assets/AssetWarranty.csv', index=False)
|
df_assetwarranty_save.to_csv('../9_upsert_assets/AssetWarranty.csv', index=False)
|
||||||
df_maintenance.to_csv('../9_upsert_assets/FSL_Asset_Maintenance_Information__c.csv', index=False)
|
df_maintenance.to_csv('../9_upsert_assets/FSL_Asset_Maintenance_Information__c.csv', index=False)
|
||||||
|
df_maintenanceplan.to_csv('../19_create_maintenance_plan/MaintenancePlan_beforetransform.csv', index=False)
|
||||||
## end mapping
|
## end mapping
|
||||||
|
|
||||||
print('Data has been successfully transformed and saved to CSV files.')
|
print('Data has been successfully transformed and saved to CSV files.')
|
Reference in New Issue
Block a user