Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -151,6 +151,7 @@ def save_to_salesforce(df, reminders_df):
|
|
| 151 |
reminder_device_ids = set(reminders_df['device_id']) if not reminders_df.empty else set()
|
| 152 |
logging.info(f"Processing {len(df)} records for Salesforce")
|
| 153 |
|
|
|
|
| 154 |
for idx, row in df.iterrows():
|
| 155 |
status = str(row['status']).lower()
|
| 156 |
log_type = str(row['log_type']).lower()
|
|
@@ -183,6 +184,29 @@ def save_to_salesforce(df, reminders_df):
|
|
| 183 |
}
|
| 184 |
records.append(record)
|
| 185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
if records:
|
| 187 |
batch_size = 100
|
| 188 |
for i in range(0, len(records), batch_size):
|
|
|
|
| 151 |
reminder_device_ids = set(reminders_df['device_id']) if not reminders_df.empty else set()
|
| 152 |
logging.info(f"Processing {len(df)} records for Salesforce")
|
| 153 |
|
| 154 |
+
# Process all records from filtered_df
|
| 155 |
for idx, row in df.iterrows():
|
| 156 |
status = str(row['status']).lower()
|
| 157 |
log_type = str(row['log_type']).lower()
|
|
|
|
| 184 |
}
|
| 185 |
records.append(record)
|
| 186 |
|
| 187 |
+
# Process reminders_df explicitly to ensure AMC reminders are saved
|
| 188 |
+
if not reminders_df.empty:
|
| 189 |
+
logging.info(f"Processing {len(reminders_df)} AMC reminder records for Salesforce")
|
| 190 |
+
for idx, row in reminders_df.iterrows():
|
| 191 |
+
status = str(row['status']).lower()
|
| 192 |
+
log_type = str(row['log_type']).lower()
|
| 193 |
+
status_mapped = picklist_mapping['Status__c'].get(status, status_values[0] if status_values else 'Active')
|
| 194 |
+
log_type_mapped = picklist_mapping['Log_Type__c'].get(log_type, log_type_values[0] if log_type_values else 'Smart Log')
|
| 195 |
+
|
| 196 |
+
amc_date_str = row['amc_date'].strftime('%Y-%m-%d') if pd.notna(row['amc_date']) else None
|
| 197 |
+
if amc_date_str:
|
| 198 |
+
record = {
|
| 199 |
+
'Device_Id__c': str(row['device_id'])[:50],
|
| 200 |
+
'Log_Type__c': log_type_mapped,
|
| 201 |
+
'Status__c': status_mapped,
|
| 202 |
+
'Timestamp__c': row['timestamp'].isoformat() if pd.notna(row['timestamp']) else None,
|
| 203 |
+
'Usage_Hours__c': float(row['usage_hours']) if pd.notna(row['usage_hours']) else 0.0,
|
| 204 |
+
'Downtime__c': float(row['downtime']) if pd.notna(row['downtime']) else 0.0,
|
| 205 |
+
'AMC_Date__c': amc_date_str
|
| 206 |
+
}
|
| 207 |
+
records.append(record)
|
| 208 |
+
logging.info(f"Added AMC reminder for Device ID {row['device_id']} with AMC Date {amc_date_str}")
|
| 209 |
+
|
| 210 |
if records:
|
| 211 |
batch_size = 100
|
| 212 |
for i in range(0, len(records), batch_size):
|