This commit is contained in:
Jake Kasper
2025-08-27 10:47:26 -04:00
parent a5f64b26a9
commit 9aa5dcd221

View File

@@ -220,15 +220,27 @@ const ApplicationExecutionModal = ({ application, propertyDetails, onClose, onCo
const validSectionId = sections.length > 0 ? sections[0].id : null; const validSectionId = sections.length > 0 ? sections[0].id : null;
const validEquipmentId = planDetails?.equipment?.id; const validEquipmentId = planDetails?.equipment?.id;
const validProducts = planDetails?.products && planDetails.products.length > 0 ? const validProducts = planDetails?.products && planDetails.products.length > 0 ?
planDetails.products.map(product => ({ planDetails.products.map(product => {
productId: product.productId && !isNaN(parseInt(product.productId)) ? parseInt(product.productId) : null, const productData = {
userProductId: product.userProductId && !isNaN(parseInt(product.userProductId)) ? parseInt(product.userProductId) : null, rateAmount: product.rateAmount,
rateAmount: product.rateAmount, rateUnit: product.rateUnit,
rateUnit: product.rateUnit, actualProductAmount: product.actualProductAmount || product.calculatedProductAmount,
actualProductAmount: product.actualProductAmount || product.productAmount, actualWaterAmount: product.actualWaterAmount || product.calculatedWaterAmount,
actualWaterAmount: product.actualWaterAmount || product.waterAmount, actualSpeedMph: Math.max(averageSpeed, 0.1) // Ensure positive speed
actualSpeedMph: Math.max(averageSpeed, 0.1) // Ensure positive speed };
})).filter(product => product.productId || product.userProductId) : []; // Ensure at least one ID is valid
// Only include productId if it's a valid number
if (product.productId && !isNaN(parseInt(product.productId))) {
productData.productId = parseInt(product.productId);
}
// Only include userProductId if it's a valid number
if (product.userProductId && !isNaN(parseInt(product.userProductId))) {
productData.userProductId = parseInt(product.userProductId);
}
return productData;
}).filter(product => product.productId || product.userProductId) : []; // Ensure at least one ID is valid
// Validate required fields // Validate required fields
if (!validSectionId) { if (!validSectionId) {
@@ -248,7 +260,7 @@ const ApplicationExecutionModal = ({ application, propertyDetails, onClose, onCo
planId: application.id, planId: application.id,
lawnSectionId: validSectionId, lawnSectionId: validSectionId,
equipmentId: validEquipmentId, equipmentId: validEquipmentId,
completedDate: endTime.toISOString(), // Try completedDate instead date: endTime.toISOString(), // Try date field
gpsTrack: { gpsTrack: {
points: gpsTrack, points: gpsTrack,
totalDistance: totalDistance, totalDistance: totalDistance,