Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -112,6 +112,10 @@ def process_equipment_utilization(equip, proj, use_h, idle_h, move_f, cost_h, la
|
|
| 112 |
if value is None or np.isnan(value):
|
| 113 |
raise ValueError(f"Invalid value for {field}: {value}. Must be a valid number.")
|
| 114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 115 |
summary = {
|
| 116 |
"Equipment Name": equip,
|
| 117 |
"Project": proj,
|
|
@@ -294,6 +298,10 @@ def batch_upload(csv_file):
|
|
| 294 |
if df[col].isna().any():
|
| 295 |
raise ValueError(f"Column '{col}' contains missing values. Please ensure all rows have valid equipment and project names.")
|
| 296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 297 |
# Validate ai_suggestion if provided
|
| 298 |
if 'ai_suggestion' in df.columns:
|
| 299 |
df['ai_suggestion'] = df['ai_suggestion'].apply(
|
|
@@ -304,11 +312,14 @@ def batch_upload(csv_file):
|
|
| 304 |
csv_files = []
|
| 305 |
for idx, row in df.iterrows():
|
| 306 |
try:
|
|
|
|
|
|
|
|
|
|
| 307 |
rec = process_equipment_utilization(
|
| 308 |
row['equipment_name'], row['project_name'],
|
| 309 |
row['usage_hours'], row['idle_hours'],
|
| 310 |
row['movement_frequency'], row['cost_per_hour'],
|
| 311 |
-
|
| 312 |
)
|
| 313 |
ids.append(rec['Salesforce_Record_Id'])
|
| 314 |
csv_files.append(rec['CSV_Report_Link'])
|
|
|
|
| 112 |
if value is None or np.isnan(value):
|
| 113 |
raise ValueError(f"Invalid value for {field}: {value}. Must be a valid number.")
|
| 114 |
|
| 115 |
+
# Ensure last_maint is a string or None
|
| 116 |
+
if last_maint is None or pd.isna(last_maint):
|
| 117 |
+
last_maint = "N/A"
|
| 118 |
+
|
| 119 |
summary = {
|
| 120 |
"Equipment Name": equip,
|
| 121 |
"Project": proj,
|
|
|
|
| 298 |
if df[col].isna().any():
|
| 299 |
raise ValueError(f"Column '{col}' contains missing values. Please ensure all rows have valid equipment and project names.")
|
| 300 |
|
| 301 |
+
# Handle NaN in last_maintenance column
|
| 302 |
+
if 'last_maintenance' in df.columns:
|
| 303 |
+
df['last_maintenance'] = df['last_maintenance'].apply(lambda x: "N/A" if pd.isna(x) else str(x))
|
| 304 |
+
|
| 305 |
# Validate ai_suggestion if provided
|
| 306 |
if 'ai_suggestion' in df.columns:
|
| 307 |
df['ai_suggestion'] = df['ai_suggestion'].apply(
|
|
|
|
| 312 |
csv_files = []
|
| 313 |
for idx, row in df.iterrows():
|
| 314 |
try:
|
| 315 |
+
last_maint = row.get('last_maintenance', 'N/A')
|
| 316 |
+
if pd.isna(last_maint):
|
| 317 |
+
last_maint = "N/A"
|
| 318 |
rec = process_equipment_utilization(
|
| 319 |
row['equipment_name'], row['project_name'],
|
| 320 |
row['usage_hours'], row['idle_hours'],
|
| 321 |
row['movement_frequency'], row['cost_per_hour'],
|
| 322 |
+
last_maint, row.get('ai_suggestion', '')
|
| 323 |
)
|
| 324 |
ids.append(rec['Salesforce_Record_Id'])
|
| 325 |
csv_files.append(rec['CSV_Report_Link'])
|