320 lines
7.8 KiB
JSON
320 lines
7.8 KiB
JSON
{
|
|
"timestamp": "2024-12-19T10:30:00.000Z",
|
|
"fleetKPIs": {
|
|
"totalVehicles": 45,
|
|
"activeVehicles": 38,
|
|
"maintenanceVehicles": 4,
|
|
"availableVehicles": 3,
|
|
"utilizationRate": 84.4,
|
|
"averageKmPerVehicle": 287.5,
|
|
"fuelEfficiencyAverage": 8.2,
|
|
"trends": {
|
|
"utilizationRate": 5.2,
|
|
"fuelEfficiency": -2.1,
|
|
"availability": 3.8
|
|
}
|
|
},
|
|
"routesKPIs": {
|
|
"totalRoutes": 156,
|
|
"completedRoutes": 142,
|
|
"inProgressRoutes": 12,
|
|
"delayedRoutes": 2,
|
|
"completionRate": 91.0,
|
|
"onTimeDeliveryRate": 87.2,
|
|
"averageRouteTime": 4.7,
|
|
"loadUtilizationRate": 78.9,
|
|
"todayRoutes": {
|
|
"completed": 23,
|
|
"total": 28,
|
|
"completionRate": 82.1
|
|
},
|
|
"trends": {
|
|
"completionRate": 2.3,
|
|
"onTimeDelivery": -1.5,
|
|
"loadUtilization": 4.1
|
|
}
|
|
},
|
|
"financialKPIs": {
|
|
"totalRevenue": 487650.00,
|
|
"totalCosts": 312420.00,
|
|
"profitMargin": 35.9,
|
|
"costPerKm": 2.85,
|
|
"revenuePerRoute": 3126.28,
|
|
"fuelCosts": 89450.00,
|
|
"maintenanceCosts": 45780.00,
|
|
"fleetROI": 24.7,
|
|
"monthlyTarget": 550000.00,
|
|
"trends": {
|
|
"revenue": 8.5,
|
|
"costs": 3.2,
|
|
"profitMargin": 1.8,
|
|
"roi": 2.1
|
|
}
|
|
},
|
|
"driversKPIs": {
|
|
"totalDrivers": 52,
|
|
"activeDrivers": 38,
|
|
"averageProductivity": 8.7,
|
|
"accidentRate": 0.12,
|
|
"averageDrivingScore": 82.5,
|
|
"overtimeHours": 156.5,
|
|
"trainingCompliance": 94.2,
|
|
"trends": {
|
|
"productivity": 3.4,
|
|
"drivingScore": 1.8,
|
|
"accidentRate": -15.2,
|
|
"trainingCompliance": 2.1
|
|
}
|
|
},
|
|
"topDrivers": [
|
|
{
|
|
"id": "dr_001",
|
|
"name": "João Silva",
|
|
"deliveries": 45,
|
|
"kilometers": 2850,
|
|
"score": 95,
|
|
"efficiency": 98.2
|
|
},
|
|
{
|
|
"id": "dr_002",
|
|
"name": "Maria Santos",
|
|
"deliveries": 42,
|
|
"kilometers": 2650,
|
|
"score": 92,
|
|
"efficiency": 96.8
|
|
},
|
|
{
|
|
"id": "dr_003",
|
|
"name": "Carlos Oliveira",
|
|
"deliveries": 38,
|
|
"kilometers": 2420,
|
|
"score": 89,
|
|
"efficiency": 94.5
|
|
},
|
|
{
|
|
"id": "dr_004",
|
|
"name": "Ana Costa",
|
|
"deliveries": 36,
|
|
"kilometers": 2280,
|
|
"score": 87,
|
|
"efficiency": 92.1
|
|
},
|
|
{
|
|
"id": "dr_005",
|
|
"name": "Pedro Lima",
|
|
"deliveries": 34,
|
|
"kilometers": 2150,
|
|
"score": 85,
|
|
"efficiency": 90.3
|
|
}
|
|
],
|
|
"delayedRoutes": [
|
|
{
|
|
"id": "rt_delayed_001",
|
|
"routeNumber": "RT-2024-001234",
|
|
"driverName": "Roberto Ferreira",
|
|
"driverId": "dr_015",
|
|
"destination": "Shopping Eldorado - São Paulo",
|
|
"delayMinutes": 45,
|
|
"reason": "Trânsito intenso",
|
|
"estimatedArrival": "2024-12-19T11:15:00.000Z",
|
|
"currentLocation": {
|
|
"lat": -23.5505,
|
|
"lng": -46.6333
|
|
}
|
|
},
|
|
{
|
|
"id": "rt_delayed_002",
|
|
"routeNumber": "RT-2024-001235",
|
|
"driverName": "Luiza Mendes",
|
|
"driverId": "dr_027",
|
|
"destination": "Centro de Distribuição Guarulhos",
|
|
"delayMinutes": 30,
|
|
"reason": "Problema mecânico",
|
|
"estimatedArrival": "2024-12-19T12:00:00.000Z",
|
|
"currentLocation": {
|
|
"lat": -23.4538,
|
|
"lng": -46.5333
|
|
}
|
|
}
|
|
],
|
|
"criticalAlerts": [
|
|
{
|
|
"id": "alert_001",
|
|
"type": "MAINTENANCE",
|
|
"severity": "critical",
|
|
"title": "Manutenção Urgente",
|
|
"message": "Veículo TAS4J92 precisa de manutenção imediata - Problema no sistema de freios",
|
|
"timestamp": "2024-12-19T09:45:00.000Z",
|
|
"vehicleId": "vh_008",
|
|
"vehiclePlate": "TAS4J92"
|
|
},
|
|
{
|
|
"id": "alert_002",
|
|
"type": "DELAY",
|
|
"severity": "warning",
|
|
"title": "Rota Atrasada",
|
|
"message": "Rota RT-2024-001234 está 45 minutos atrasada",
|
|
"timestamp": "2024-12-19T10:15:00.000Z",
|
|
"routeId": "rt_delayed_001"
|
|
},
|
|
{
|
|
"id": "alert_003",
|
|
"type": "FUEL",
|
|
"severity": "warning",
|
|
"title": "Combustível Baixo",
|
|
"message": "Veículo SGK3A07 com combustível abaixo de 20%",
|
|
"timestamp": "2024-12-19T10:00:00.000Z",
|
|
"vehicleId": "vh_003",
|
|
"vehiclePlate": "SGK3A07"
|
|
},
|
|
{
|
|
"id": "alert_004",
|
|
"type": "ROUTE",
|
|
"severity": "info",
|
|
"title": "Nova Rota Disponível",
|
|
"message": "Rota de alta prioridade disponível para São Paulo - Campinas",
|
|
"timestamp": "2024-12-19T09:30:00.000Z"
|
|
}
|
|
],
|
|
"activeRoutes": [
|
|
{
|
|
"id": "rt_active_001",
|
|
"routeNumber": "RT-2024-001230",
|
|
"driverName": "João Silva",
|
|
"currentLocation": {
|
|
"lat": -23.5505,
|
|
"lng": -46.6333
|
|
},
|
|
"destination": "Av. Paulista, 1000",
|
|
"status": "inProgress",
|
|
"progress": 65
|
|
},
|
|
{
|
|
"id": "rt_active_002",
|
|
"routeNumber": "RT-2024-001231",
|
|
"driverName": "Maria Santos",
|
|
"currentLocation": {
|
|
"lat": -22.9068,
|
|
"lng": -43.1729
|
|
},
|
|
"destination": "Centro - Rio de Janeiro",
|
|
"status": "inProgress",
|
|
"progress": 42
|
|
},
|
|
{
|
|
"id": "rt_active_003",
|
|
"routeNumber": "RT-2024-001232",
|
|
"driverName": "Carlos Oliveira",
|
|
"currentLocation": {
|
|
"lat": -19.9191,
|
|
"lng": -43.9386
|
|
},
|
|
"destination": "Savassi - Belo Horizonte",
|
|
"status": "inProgress",
|
|
"progress": 78
|
|
}
|
|
],
|
|
"chartData": {
|
|
"fleetUtilization": {
|
|
"labels": ["Em Operação", "Manutenção", "Disponível"],
|
|
"data": [38, 4, 3],
|
|
"backgroundColor": ["#28a745", "#ffc107", "#6c757d"]
|
|
},
|
|
"routesPerformance": {
|
|
"labels": ["13/12", "14/12", "15/12", "16/12", "17/12", "18/12", "19/12"],
|
|
"datasets": [
|
|
{
|
|
"label": "Rotas Completadas",
|
|
"data": [22, 28, 25, 30, 27, 32, 23],
|
|
"borderColor": "#28a745",
|
|
"backgroundColor": "rgba(40, 167, 69, 0.1)"
|
|
},
|
|
{
|
|
"label": "Rotas Atrasadas",
|
|
"data": [3, 2, 4, 1, 3, 2, 2],
|
|
"borderColor": "#dc3545",
|
|
"backgroundColor": "rgba(220, 53, 69, 0.1)"
|
|
}
|
|
]
|
|
},
|
|
"costsBreakdown": {
|
|
"labels": ["Combustível", "Manutenção", "Pneus", "Pedágio", "Seguros", "Outros"],
|
|
"data": [89450, 45780, 28500, 15600, 32400, 12690],
|
|
"backgroundColor": [
|
|
"#007bff",
|
|
"#28a745",
|
|
"#ffc107",
|
|
"#17a2b8",
|
|
"#6f42c1",
|
|
"#fd7e14"
|
|
]
|
|
}
|
|
},
|
|
"mapCenter": {
|
|
"lat": -23.5505,
|
|
"lng": -46.6333
|
|
},
|
|
"mapZoom": 10,
|
|
"realtimeStats": {
|
|
"vehiclesOnRoad": 38,
|
|
"routesInProgress": 12,
|
|
"deliveriesToday": 23,
|
|
"kmTodayTotal": 3420,
|
|
"fuelConsumedToday": 415.5,
|
|
"averageSpeed": 45.2,
|
|
"trafficAlerts": 3,
|
|
"weatherCondition": "Parcialmente nublado"
|
|
},
|
|
"weeklyTrends": {
|
|
"revenue": [68500, 72800, 69200, 75400, 71900, 82600, 69400],
|
|
"costs": [44200, 46800, 45100, 48900, 46700, 52400, 45300],
|
|
"routes": [28, 32, 30, 35, 31, 38, 28],
|
|
"efficiency": [85.2, 87.1, 86.5, 88.9, 87.3, 89.2, 86.8]
|
|
},
|
|
"monthlyTargets": {
|
|
"revenue": {
|
|
"target": 550000,
|
|
"current": 487650,
|
|
"progress": 88.7
|
|
},
|
|
"routes": {
|
|
"target": 180,
|
|
"current": 156,
|
|
"progress": 86.7
|
|
},
|
|
"efficiency": {
|
|
"target": 90,
|
|
"current": 87.2,
|
|
"progress": 96.9
|
|
},
|
|
"costs": {
|
|
"target": 320000,
|
|
"current": 312420,
|
|
"progress": 97.6
|
|
}
|
|
},
|
|
"predictiveAnalytics": {
|
|
"nextWeekRevenue": 495000,
|
|
"maintenanceScheduled": 6,
|
|
"fuelCostProjection": 92000,
|
|
"routeOptimizationSavings": 15500,
|
|
"riskFactors": [
|
|
{
|
|
"type": "weather",
|
|
"impact": "medium",
|
|
"description": "Chuva prevista para sexta-feira"
|
|
},
|
|
{
|
|
"type": "traffic",
|
|
"impact": "high",
|
|
"description": "Obras na Marginal Tietê"
|
|
},
|
|
{
|
|
"type": "maintenance",
|
|
"impact": "low",
|
|
"description": "2 veículos em manutenção preventiva"
|
|
}
|
|
]
|
|
}
|
|
} |