Files
SteelCheck/types.ts
T

92 lines
2.0 KiB
TypeScript

export interface IdentificationData {
product: string;
standards: string;
manufacturer: string;
certificateNumber: string;
certificateDate: string;
batches: string;
heats: string;
quantity: string;
}
export interface ComplianceItem {
property?: string;
element?: string;
test?: string;
norm: string;
certificate: string;
status: 'OK' | 'FALHA';
differencePercentage?: string;
}
export interface ComplianceData {
status: 'CONFORME' | 'NÃO CONFORME';
nonComplianceReason?: string;
mechanical: ComplianceItem[];
chemical: ComplianceItem[];
otherTests: ComplianceItem[];
}
export interface OverPerformanceItem {
property: string;
value: string;
}
export interface EquivalentItem {
system: string;
norm: string;
}
export interface ReportData {
confidence: number;
analysisSource?: string;
identification: IdentificationData;
compliance: ComplianceData;
overPerformance: OverPerformanceItem[];
equivalents: EquivalentItem[];
}
// --- NEW STANDARD DEFINITIONS ---
export interface ToleranciaTabela {
limite_corrida_ate?: number;
espessura_ate_mm?: number;
espessura_maior_que_mm?: number;
tolerancia_mais?: number;
tolerancia_menos?: number;
}
export interface RegraTolerancia {
regra?: string;
tabela?: ToleranciaTabela[];
tolerancia_mais?: number;
tolerancia_menos?: number;
}
export interface ToleranciasAnaliseProduto {
[elemento: string]: RegraTolerancia;
}
export interface LimitesQuimicos {
espessura_max_mm?: number;
grupos_astm_a6?: number[];
nota_exemplo?: string;
[elemento: string]: number | string | number[] | undefined;
}
export interface Standard {
id_norma: string;
codigo: string;
grau?: string;
produto_especifico?: string;
limites_quimicos_corrida?: {
[grupo_produto: string]: LimitesQuimicos[];
};
tolerancias_analise_produto_astma6?: ToleranciasAnaliseProduto;
parametros_controle?: {
mecanicos?: Record<string, number | null>;
quimicos?: Record<string, number | null>;
fisicos?: Record<string, number | null>;
};
}