🚀 Auto-deploy: TrackSteelAPP atualizado em 21/08/2026 17:53:04
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { useState, useEffect } from 'react';
|
import { useState, useEffect, useCallback } from 'react';
|
||||||
import { supabase } from '@/integrations/supabase/client';
|
import { supabase } from '@/integrations/supabase/client';
|
||||||
import { toast } from 'sonner';
|
import { toast } from 'sonner';
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
|||||||
const [dashboardData, setDashboardData] = useState<DashboardDataOtimizado | null>(null);
|
const [dashboardData, setDashboardData] = useState<DashboardDataOtimizado | null>(null);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
const fetchDashboardData = async () => {
|
const fetchDashboardData = useCallback(async () => {
|
||||||
if (!ofNumber) {
|
if (!ofNumber) {
|
||||||
setDashboardData(null);
|
setDashboardData(null);
|
||||||
return;
|
return;
|
||||||
@@ -207,7 +207,7 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
|||||||
if (!cronogramaOf?.processos_cronograma) return 0;
|
if (!cronogramaOf?.processos_cronograma) return 0;
|
||||||
|
|
||||||
const hoje = new Date();
|
const hoje = new Date();
|
||||||
let processoCronograma = null;
|
let processoCronograma;
|
||||||
|
|
||||||
// Mapear nomes dos processos para os do cronograma
|
// Mapear nomes dos processos para os do cronograma
|
||||||
if (nomeProcesso.toLowerCase().includes('corte') || nomeProcesso.toLowerCase().includes('solda')) {
|
if (nomeProcesso.toLowerCase().includes('corte') || nomeProcesso.toLowerCase().includes('solda')) {
|
||||||
@@ -291,7 +291,7 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
|||||||
const progressoEsperado = calcularProgressoEsperado(processo.nome);
|
const progressoEsperado = calcularProgressoEsperado(processo.nome);
|
||||||
|
|
||||||
// Determinar status baseado na comparação entre progresso real e esperado
|
// Determinar status baseado na comparação entre progresso real e esperado
|
||||||
let status: 'verde' | 'amarelo' | 'vermelho' | 'azul' = 'verde';
|
let status: 'verde' | 'amarelo' | 'vermelho' | 'azul';
|
||||||
|
|
||||||
// Se o progresso esperado chegou a 100% (passou da data fim), usar cor vermelha na barra
|
// Se o progresso esperado chegou a 100% (passou da data fim), usar cor vermelha na barra
|
||||||
if (progressoEsperado >= 100) {
|
if (progressoEsperado >= 100) {
|
||||||
@@ -330,7 +330,7 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
|||||||
let dataFimProcesso: Date | null = null;
|
let dataFimProcesso: Date | null = null;
|
||||||
|
|
||||||
if (cronogramaOf?.processos_cronograma) {
|
if (cronogramaOf?.processos_cronograma) {
|
||||||
let processoCronograma = null;
|
let processoCronograma;
|
||||||
|
|
||||||
// Mapear nomes dos processos para os do cronograma
|
// Mapear nomes dos processos para os do cronograma
|
||||||
if (processo.nome.toLowerCase().includes('corte') || processo.nome.toLowerCase().includes('solda')) {
|
if (processo.nome.toLowerCase().includes('corte') || processo.nome.toLowerCase().includes('solda')) {
|
||||||
@@ -524,11 +524,11 @@ export const useDashboardProducaoOtimizado = (ofNumber: string) => {
|
|||||||
} finally {
|
} finally {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
}
|
}
|
||||||
};
|
}, [ofNumber]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetchDashboardData();
|
fetchDashboardData();
|
||||||
}, [ofNumber]);
|
}, [fetchDashboardData]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
dashboardData,
|
dashboardData,
|
||||||
|
|||||||
Reference in New Issue
Block a user