This commit is contained in:
Jake Kasper
2025-08-29 14:08:48 -04:00
parent d8bd41c5d4
commit 9d0372859e
2 changed files with 33 additions and 2 deletions

View File

@@ -1411,6 +1411,18 @@ router.post('/logs', validateRequest(applicationLogSchema), async (req, res, nex
// @access Private
router.get('/logs', async (req, res, next) => {
try {
const { planId } = req.query;
let whereConditions = ['p.user_id = $1'];
let queryParams = [req.user.id];
if (planId) {
whereConditions.push('al.plan_id = $2');
queryParams.push(planId);
}
const whereClause = whereConditions.join(' AND ');
const result = await pool.query(`
SELECT
al.*,
@@ -1424,9 +1436,9 @@ router.get('/logs', async (req, res, next) => {
JOIN properties p ON ls.property_id = p.id
JOIN user_equipment ue ON al.equipment_id = ue.id
LEFT JOIN equipment_types et ON ue.equipment_type_id = et.id
WHERE p.user_id = $1
WHERE ${whereClause}
ORDER BY al.application_date DESC, al.created_at DESC
`, [req.user.id]);
`, queryParams);
const logs = result.rows.map(row => ({
id: row.id,
@@ -1444,6 +1456,11 @@ router.get('/logs', async (req, res, next) => {
createdAt: row.created_at
}));
console.log(`GET /logs query with planId: ${planId}, found ${logs.length} logs`);
if (logs.length > 0) {
console.log('First log GPS track:', logs[0].gpsTrack);
}
res.json({
success: true,
data: {

View File

@@ -11,14 +11,22 @@ const ApplicationViewModal = ({ application, propertyDetails, onClose }) => {
// Calculate coverage percentage based on GPS tracking and equipment specifications
const calculateCoverage = (application, log) => {
console.log('calculateCoverage called with:', { application, log });
console.log('GPS track points:', log?.gpsTrack?.points?.length || 0);
console.log('GPS track structure:', log?.gpsTrack);
if (!log?.gpsTrack?.points || log.gpsTrack.points.length < 2) {
console.log('No GPS points or insufficient points for coverage calculation');
return 0; // No movement = no coverage
}
const totalDistance = log.gpsTrack.totalDistance || 0;
const plannedArea = application.totalSectionArea || 0;
console.log('Total distance:', totalDistance, 'Planned area:', plannedArea);
if (totalDistance === 0 || plannedArea === 0) {
console.log('Zero distance or area, returning 0 coverage');
return 0;
}
@@ -62,10 +70,16 @@ const ApplicationViewModal = ({ application, propertyDetails, onClose }) => {
// Try to fetch application logs to get GPS tracking data
try {
console.log('Fetching logs for planId:', application.id);
const logsResponse = await applicationsAPI.getLogs({ planId: application.id });
console.log('Logs response:', logsResponse);
const logs = logsResponse.data.data.logs;
console.log('Parsed logs:', logs);
if (logs && logs.length > 0) {
console.log('Setting application log to:', logs[0]);
setApplicationLog(logs[0]); // Get the most recent log
} else {
console.log('No logs found in response');
}
} catch (error) {
console.log('No application logs found:', error);