diff --git a/src/components/pecas/ImportarPecasModal.tsx b/src/components/pecas/ImportarPecasModal.tsx
index 9fe5e23..534a18c 100644
--- a/src/components/pecas/ImportarPecasModal.tsx
+++ b/src/components/pecas/ImportarPecasModal.tsx
@@ -123,12 +123,7 @@ export function ImportarPecasModal({ open, onOpenChange, onImport, pecasExistent
});
convertedData[field] = 0;
} else {
- // Para peso_unitario e peso_total, arredondar para integer
- if (field === 'peso_unitario' || field === 'peso_total') {
- convertedData[field] = Math.round(numValue);
- } else {
- convertedData[field] = numValue;
- }
+ convertedData[field] = numValue;
}
} else {
convertedData[field] = field.includes('componente') ? 0 : (field === 'quantidade' ? 1 : 0);
diff --git a/src/components/pecas/table/TableRow.tsx b/src/components/pecas/table/TableRow.tsx
index fcff295..e5b66f4 100644
--- a/src/components/pecas/table/TableRow.tsx
+++ b/src/components/pecas/table/TableRow.tsx
@@ -77,7 +77,7 @@ export function TableRow({
- {(peca.quantidade * peca.peso_unitario).toFixed(2)} kg
+ {(peca.peso_total || (peca.quantidade * peca.peso_unitario)).toFixed(2)} kg
diff --git a/src/hooks/usePecas.tsx b/src/hooks/usePecas.tsx
index d00086b..1d8943d 100644
--- a/src/hooks/usePecas.tsx
+++ b/src/hooks/usePecas.tsx
@@ -363,8 +363,8 @@ export function usePecas() {
marca: item.marca || '',
descricao: item.descricao || '',
quantidade: Number(item.quantidade) || 0,
- peso_unitario: Math.round(Number(item.peso_unitario) || 0),
- peso_total: Math.round(Number(item.peso_total) || 0),
+ peso_unitario: Number(item.peso_unitario) || 0,
+ peso_total: Number(item.peso_total) || 0,
tratamento_superficial: item.tratamento_superficial || '',
material: item.material || '',
perfil_principal: item.perfil_principal || '',
diff --git a/src/hooks/usePecasTable.tsx b/src/hooks/usePecasTable.tsx
index 908d446..d49bfe2 100644
--- a/src/hooks/usePecasTable.tsx
+++ b/src/hooks/usePecasTable.tsx
@@ -177,7 +177,10 @@ export const usePecasTable = (pecas: Peca[]) => {
}
return pecasParaCalcular.reduce((total, peca) => {
- return total + (peca.peso_total || 0);
+ const pTotal = (peca.peso_total && peca.peso_total > 0)
+ ? peca.peso_total
+ : (peca.quantidade || 1) * (peca.peso_unitario || 0);
+ return total + pTotal;
}, 0);
}, [filteredAndSortedPecas, selectedPecas]);