fix(ifc): correção no motor de extração de OF, Fase e Marca
This commit is contained in:
@@ -455,6 +455,7 @@ export async function loadAndAuditIFC(
|
|||||||
section: string;
|
section: string;
|
||||||
description: string;
|
description: string;
|
||||||
phase: string;
|
phase: string;
|
||||||
|
ofNumber: string;
|
||||||
} {
|
} {
|
||||||
const props = elementPropertiesMap.get(expressID) || {};
|
const props = elementPropertiesMap.get(expressID) || {};
|
||||||
|
|
||||||
@@ -563,6 +564,7 @@ export async function loadAndAuditIFC(
|
|||||||
|
|
||||||
// Extração inteligente de Fase
|
// Extração inteligente de Fase
|
||||||
let chosenPhase = extractPhaseFromMark(assemblyMark || finalMark);
|
let chosenPhase = extractPhaseFromMark(assemblyMark || finalMark);
|
||||||
|
let chosenOF = extractOFFromMark(assemblyMark || finalMark);
|
||||||
|
|
||||||
if (!chosenPhase) {
|
if (!chosenPhase) {
|
||||||
const phaseCandidates = [
|
const phaseCandidates = [
|
||||||
@@ -614,7 +616,8 @@ export async function loadAndAuditIFC(
|
|||||||
cleanAssemblyMark: cleanAssemblyMark || clean || '',
|
cleanAssemblyMark: cleanAssemblyMark || clean || '',
|
||||||
section,
|
section,
|
||||||
description: rawDesc,
|
description: rawDesc,
|
||||||
phase: chosenPhase
|
phase: chosenPhase,
|
||||||
|
ofNumber: chosenOF
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -647,8 +650,8 @@ export async function loadAndAuditIFC(
|
|||||||
childrenIDs: children,
|
childrenIDs: children,
|
||||||
connectedMeshIDs: children,
|
connectedMeshIDs: children,
|
||||||
section: markInfo.section,
|
section: markInfo.section,
|
||||||
phase: markInfo.phase || extractPhaseFromMark(markInfo.mark),
|
phase: markInfo.phase,
|
||||||
ofNumber: extractOFFromMark(markInfo.mark)
|
ofNumber: markInfo.ofNumber
|
||||||
};
|
};
|
||||||
|
|
||||||
if (markInfo.mark !== 'indefinido') {
|
if (markInfo.mark !== 'indefinido') {
|
||||||
@@ -769,8 +772,11 @@ export async function loadAndAuditIFC(
|
|||||||
type: 'ELEMENT',
|
type: 'ELEMENT',
|
||||||
pieceMark: markInfo.mark,
|
pieceMark: markInfo.mark,
|
||||||
cleanMark: markInfo.cleanMark,
|
cleanMark: markInfo.cleanMark,
|
||||||
|
assemblyMark: markInfo.assemblyMark,
|
||||||
|
cleanAssemblyMark: markInfo.cleanAssemblyMark,
|
||||||
section: markInfo.section,
|
section: markInfo.section,
|
||||||
phase: markInfo.phase,
|
phase: markInfo.phase,
|
||||||
|
ofNumber: markInfo.ofNumber,
|
||||||
material: materialName,
|
material: materialName,
|
||||||
connectedMeshIDs: connectedGroup,
|
connectedMeshIDs: connectedGroup,
|
||||||
mesh: mesh3
|
mesh: mesh3
|
||||||
@@ -868,8 +874,11 @@ export function extractPhaseFromMark(mark: string): string {
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractOFFromMark(mark: string): string {
|
export function extractOFFromMark(mark: string): string {
|
||||||
|
if (!mark || mark === 'indefinido') return '';
|
||||||
const parts = mark.split('-');
|
const parts = mark.split('-');
|
||||||
if (parts.length >= 1) return parts[0];
|
if (parts.length > 1) {
|
||||||
|
return parts[0].trim();
|
||||||
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user