🚀 Initial commit: Versão atual do TrackSteel APP
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { supabase } from '@/integrations/supabase/client';
|
||||
|
||||
export interface OFConcluida {
|
||||
id: string;
|
||||
num_of: string;
|
||||
descritivo?: string;
|
||||
peso_total?: number;
|
||||
data_abertura?: string;
|
||||
data_prazo?: string;
|
||||
criterio_qualidade?: string;
|
||||
tratamento_final?: string;
|
||||
local_uf?: string;
|
||||
data_arquivamento?: string;
|
||||
status_detalhado: 'concluida' | 'entregue';
|
||||
ficha_tecnica_data?: any;
|
||||
}
|
||||
|
||||
export const useOFsConcluidas = () => {
|
||||
const query = useQuery({
|
||||
queryKey: ['ofs-concluidas'],
|
||||
queryFn: async () => {
|
||||
const { data, error } = await supabase
|
||||
.from('ofs_concluidas')
|
||||
.select('*')
|
||||
.order('data_arquivamento', { ascending: false });
|
||||
|
||||
if (error) throw error;
|
||||
return data as OFConcluida[];
|
||||
},
|
||||
});
|
||||
|
||||
const entregarOF = async (ofId: string) => {
|
||||
const { error } = await supabase.rpc('entregar_of', {
|
||||
of_concluida_id: ofId
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
query.refetch();
|
||||
};
|
||||
|
||||
const reverterEntregueParaConcluida = async (ofId: string) => {
|
||||
const { error } = await supabase.rpc('reverter_of_entregue_para_concluida', {
|
||||
of_concluida_id: ofId
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
query.refetch();
|
||||
};
|
||||
|
||||
const reverterConcluidaParaAtiva = async (ofId: string) => {
|
||||
const { error } = await supabase.rpc('reverter_of_concluida_para_ativa', {
|
||||
of_concluida_id: ofId
|
||||
});
|
||||
|
||||
if (error) throw error;
|
||||
query.refetch();
|
||||
};
|
||||
|
||||
// Separar OFs por status
|
||||
const ofsConcluidas = query.data?.filter(of => of.status_detalhado === 'concluida') || [];
|
||||
const ofsEntregues = query.data?.filter(of => of.status_detalhado === 'entregue') || [];
|
||||
|
||||
return {
|
||||
...query,
|
||||
ofsConcluidas,
|
||||
ofsEntregues,
|
||||
entregarOF,
|
||||
reverterEntregueParaConcluida,
|
||||
reverterConcluidaParaAtiva,
|
||||
refetch: query.refetch,
|
||||
loading: query.isLoading
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user