feat: sistema de deteccao de conflitos, conciliacao e ordem de intervencao fabril na importacao de pecas

This commit is contained in:
2026-10-16 15:27:30 -03:00
parent ac8bacc9e1
commit ec980cba05
10 changed files with 1975 additions and 11 deletions
+76
View File
@@ -0,0 +1,76 @@
export type NivelRiscoImportacao = 'nenhum' | 'baixo' | 'medio' | 'critico';
export interface DiffCampo {
campo: string;
label: string;
valorAntigo: any;
valorNovo: any;
isCritico: boolean;
}
export interface DiffComponente {
marca_componente: string;
descricao?: string;
perfil?: string;
tipo: 'adicionado' | 'removido' | 'modificado' | 'inalterado';
detalhe?: string;
quantidadeAntiga?: number;
quantidadeNova?: number;
comprimentoAntigo?: number | null;
comprimentoNovo?: number | null;
pesoUnitAntigo?: number | null;
pesoUnitNovo?: number | null;
}
export interface ProcessoApontado {
processoId: string;
processoNome: string;
ordem: number;
quantidadeProduzida: number;
}
export interface ApontamentoResumoPeca {
totalProduzido: number;
processos: ProcessoApontado[];
ultimoProcessoNome?: string;
temApontamento: boolean;
emRomaneio: boolean;
}
export interface ItemAnaliseImportacao {
key: string; // `${of_number}-${etapa_fase}-${marca}`
of_number: string;
etapa_fase: string;
marca: string;
descricao: string;
isNova: boolean;
isIdentica: boolean;
temDivergencias: boolean;
camposDivergentes: DiffCampo[];
componentesDivergentes: DiffComponente[];
dadosImportados: Record<string, any>;
dadosExistentes?: Record<string, any>;
pecaIdExistente?: string;
apontamentoResumo: ApontamentoResumoPeca;
nivelRisco: NivelRiscoImportacao;
// Ações de usuário selecionadas
sobrepor: boolean; // true para atualizar no banco, false para ignorar
atencaoEspecial: boolean; // true se deve gerar ordem de intervenção impressa
motivoAlerta?: string;
acaoRecomendadaFabril?: string;
}
export interface ResultadoAnaliseImportacao {
totalImportadas: number;
totalNovas: number;
totalIdenticas: number;
totalComDivergencia: number;
totalComApontamento: number;
totalCriticas: number;
itens: ItemAnaliseImportacao[];
}