fix: resolucao definitiva da extracao e persistencia de comprimento de pecas e componentes

This commit is contained in:
2026-10-16 16:24:38 -03:00
parent ebcfe3c9d2
commit 1203650c2d
3 changed files with 51 additions and 32 deletions
+39 -28
View File
@@ -32,23 +32,28 @@ const CAMPOS_MONITORADOS: CampoConfig[] = [
* Suporta múltiplos aliases de importação (Bocad, Advance Steel, Excel, CSV) e formatações de string.
*/
export function extrairComprimentoSeguro(item: any): number | null {
if (!item) return null;
if (item === undefined || item === null || item === '' || item === '-') return null;
const raw =
item.comprimento ??
item.comprimento_ref ??
item.comprimentoRef ??
item.comprimentoMax ??
item.comprimento_max ??
item.comprimento_peca ??
item['Comprimento'] ??
item['Comprimento (mm)'] ??
item['Comprimento Ref. (mm)'] ??
item['Comprimento Max. (mm)'] ??
item['Comp. (mm)'] ??
item['Comp (mm)'] ??
item.compr ??
item.comp;
let raw: any;
if (typeof item === 'number' || typeof item === 'string') {
raw = item;
} else if (typeof item === 'object') {
raw =
item.comprimento ??
item.comprimento_ref ??
item.comprimentoRef ??
item.comprimentoMax ??
item.comprimento_max ??
item.comprimento_peca ??
item['Comprimento'] ??
item['Comprimento (mm)'] ??
item['Comprimento Ref. (mm)'] ??
item['Comprimento Max. (mm)'] ??
item['Comp. (mm)'] ??
item['Comp (mm)'] ??
item.compr ??
item.comp;
}
if (raw === undefined || raw === null || raw === '' || raw === '-') return null;
@@ -76,19 +81,25 @@ export function extrairComprimentoSeguro(item: any): number | null {
* Função utilitária resiliente para extrair o comprimento numérico de subcomponentes.
*/
export function extrairComprimentoComponenteSeguro(item: any): number | null {
if (!item) return null;
if (item === undefined || item === null || item === '' || item === '-') return null;
const raw =
item.comprimento_componente ??
item.comprimentoComponente ??
item.comprimento ??
item.comprimento_ref ??
item.compr ??
item.comp ??
item['Comprimento Componente'] ??
item['Comprimento (mm)'] ??
item['Comprimento'] ??
item['Comp. (mm)'];
let raw: any;
if (typeof item === 'number' || typeof item === 'string') {
raw = item;
} else if (typeof item === 'object') {
raw =
item.comprimento_componente ??
item.comprimentoComponente ??
item.comprimento ??
item.comprimento_ref ??
item.comprimentoRef ??
item.compr ??
item.comp ??
item['Comprimento Componente'] ??
item['Comprimento (mm)'] ??
item['Comprimento'] ??
item['Comp. (mm)'];
}
if (raw === undefined || raw === null || raw === '' || raw === '-') return null;