diff --git a/src/components/auditoria/InconsistenciaDetalhesModal.tsx b/src/components/auditoria/InconsistenciaDetalhesModal.tsx index 9ccda99..fba64c3 100644 --- a/src/components/auditoria/InconsistenciaDetalhesModal.tsx +++ b/src/components/auditoria/InconsistenciaDetalhesModal.tsx @@ -6,11 +6,12 @@ import { Badge } from '@/components/ui/badge'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { AlertTriangle, Calendar, Hash, TrendingUp, ExternalLink } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; +import { InconsistenciaItem } from '@/hooks/useAuditoriaInconsistencias'; interface InconsistenciaDetalhesModalProps { open: boolean; onOpenChange: (open: boolean) => void; - inconsistencia: any; + inconsistencia: InconsistenciaItem | null; } export const InconsistenciaDetalhesModal: React.FC = ({ diff --git a/src/hooks/useAuditoriaInconsistencias.tsx b/src/hooks/useAuditoriaInconsistencias.tsx index 3f0ebfb..51804fc 100644 --- a/src/hooks/useAuditoriaInconsistencias.tsx +++ b/src/hooks/useAuditoriaInconsistencias.tsx @@ -3,7 +3,7 @@ import { useState, useCallback } from 'react'; import { supabase } from '@/integrations/supabase/client'; import { naturalSort } from '@/utils/naturalSort'; -interface InconsistenciaItem { +export interface InconsistenciaItem { marca: string; tipo: string; descricao: string; @@ -11,7 +11,7 @@ interface InconsistenciaItem { acaoSugerida?: string; } -interface ResultadoAuditoria { +export interface ResultadoAuditoria { inconsistencias: { processos: InconsistenciaItem[]; quantidades: InconsistenciaItem[]; diff --git a/src/pages/SolicitacaoCompras.tsx b/src/pages/SolicitacaoCompras.tsx index bb072bf..4aec61d 100644 --- a/src/pages/SolicitacaoCompras.tsx +++ b/src/pages/SolicitacaoCompras.tsx @@ -5,7 +5,7 @@ import { StandardCard } from '@/components/layout/StandardCard'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Plus, Printer, Edit, Trash2, Eye, RefreshCw, Check, ShoppingCart } from 'lucide-react'; -import { useSolicitacoesCompra } from '@/hooks/useSolicitacoesCompra'; +import { useSolicitacoesCompra, SolicitacaoCompra, ItemSolicitacao } from '@/hooks/useSolicitacoesCompra'; import { useUserFunction } from '@/hooks/useUserFunction'; import { SolicitacaoComprasModal } from '@/components/solicitacao-compras/SolicitacaoComprasModal'; import { SolicitacaoComprasPreviewModal } from '@/components/solicitacao-compras/SolicitacaoComprasPreviewModal'; @@ -25,7 +25,7 @@ const statusColors = { export default function SolicitacaoCompras() { const [isModalOpen, setIsModalOpen] = useState(false); const [isPreviewOpen, setIsPreviewOpen] = useState(false); - const [selectedSolicitacao, setSelectedSolicitacao] = useState(null); + const [selectedSolicitacao, setSelectedSolicitacao] = useState(null); const { isComprador } = useUserFunction(); const { solicitacoes, @@ -44,7 +44,7 @@ export default function SolicitacaoCompras() { isComprandoDireto } = useSolicitacoesCompra(); - const handlePrint = (solicitacao: any) => { + const handlePrint = (solicitacao: SolicitacaoCompra) => { try { const printContent = ` @@ -129,7 +129,7 @@ export default function SolicitacaoCompras() { - ${solicitacao.itens.map((item: any, index: number) => ` + ${solicitacao.itens.map((item: ItemSolicitacao, index: number) => ` ${item.material?.descricao || 'Material não encontrado'} ${item.material?.unidade || 'UN'} @@ -180,7 +180,7 @@ export default function SolicitacaoCompras() { } }; - const handleEdit = (solicitacao: any) => { + const handleEdit = (solicitacao: SolicitacaoCompra) => { if (!canEdit(solicitacao)) { alert('Você só pode editar suas próprias solicitações.'); return; @@ -189,12 +189,12 @@ export default function SolicitacaoCompras() { setIsModalOpen(true); }; - const handlePreview = (solicitacao: any) => { + const handlePreview = (solicitacao: SolicitacaoCompra) => { setSelectedSolicitacao(solicitacao); setIsPreviewOpen(true); }; - const handleDelete = (solicitacao: any) => { + const handleDelete = (solicitacao: SolicitacaoCompra) => { if (!canDelete(solicitacao)) { if (solicitacao.status !== 'Em planejamento') { alert('⚠️ PERMISSÃO NEGADA\n\nSolicitações com status diferente de "Em planejamento" só podem ser excluídas por compradores.'); @@ -209,25 +209,25 @@ export default function SolicitacaoCompras() { } }; - const handleRevisar = (solicitacao: any) => { + const handleRevisar = (solicitacao: SolicitacaoCompra) => { if (window.confirm(`Tem certeza que deseja enviar a solicitação ${solicitacao.numero_sc} para revisão?`)) { revisar({ id: solicitacao.id, created_by: solicitacao.created_by }); } }; - const handleAceitar = (solicitacao: any) => { + const handleAceitar = (solicitacao: SolicitacaoCompra) => { if (window.confirm(`Tem certeza que deseja aceitar a solicitação ${solicitacao.numero_sc}?`)) { aceitar({ id: solicitacao.id, created_by: solicitacao.created_by }); } }; - const handleComprar = (solicitacao: any) => { + const handleComprar = (solicitacao: SolicitacaoCompra) => { if (window.confirm(`Tem certeza que deseja marcar a solicitação ${solicitacao.numero_sc} como comprada?`)) { comprar({ id: solicitacao.id, created_by: solicitacao.created_by }); } }; - const handleComprarDireto = (solicitacao: any) => { + const handleComprarDireto = (solicitacao: SolicitacaoCompra) => { if (window.confirm(`Você deseja passar o status dessa SC ${solicitacao.numero_sc} para "Comprado"?`)) { comprarDireto({ id: solicitacao.id, created_by: solicitacao.created_by }); } diff --git a/src/pages/VerInconsistencias.tsx b/src/pages/VerInconsistencias.tsx index 91437d2..f58733d 100644 --- a/src/pages/VerInconsistencias.tsx +++ b/src/pages/VerInconsistencias.tsx @@ -7,7 +7,7 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/com import { Badge } from '@/components/ui/badge'; import { Search, Eye, Download, FileText, AlertTriangle, CheckCircle } from 'lucide-react'; import { useOFsAtivas } from '@/hooks/useOFsAtivas'; -import { useAuditoriaInconsistencias } from '@/hooks/useAuditoriaInconsistencias'; +import { useAuditoriaInconsistencias, InconsistenciaItem } from '@/hooks/useAuditoriaInconsistencias'; import { InconsistenciaDetalhesModal } from '@/components/auditoria/InconsistenciaDetalhesModal'; import { generateProfessionalPDF } from '@/utils/pdfGenerator'; import { toast } from '@/hooks/use-toast'; @@ -18,7 +18,7 @@ const VerInconsistencias = () => { const [selectedFase, setSelectedFase] = useState(''); const [selectedProcesso, setSelectedProcesso] = useState('todas'); const [fasesDaOF, setFasesDaOF] = useState([]); - const [detalhesModal, setDetalhesModal] = useState<{ open: boolean; inconsistencia: any }>({ + const [detalhesModal, setDetalhesModal] = useState<{ open: boolean; inconsistencia: InconsistenciaItem | null }>({ open: false, inconsistencia: null }); @@ -113,7 +113,7 @@ const VerInconsistencias = () => { const getTotalInconsistencias = () => { if (!resultadoAuditoria) return 0; - return Object.values(resultadoAuditoria.inconsistencias).reduce((total, categoria: any) => total + categoria.length, 0); + return Object.values(resultadoAuditoria.inconsistencias).reduce((total, categoria: InconsistenciaItem[]) => total + categoria.length, 0); }; return ( @@ -262,7 +262,7 @@ const VerInconsistencias = () => { Inconsistências de {categoria} - {(inconsistencias as any[]).length} + {(inconsistencias as InconsistenciaItem[]).length} @@ -274,7 +274,7 @@ const VerInconsistencias = () => { ) : (
- {(inconsistencias as any[]).map((item, index) => ( + {(inconsistencias as InconsistenciaItem[]).map((item, index) => (
{item.descricao}