fix: correcao do insert em diario_obra_rdo eliminando erro 400 no apontamento de montagem

This commit is contained in:
2026-09-21 23:34:17 +00:00
parent 58ca0a20ab
commit db76f87ef9
@@ -112,11 +112,11 @@ export const SmartMontagemFlow: React.FC<SmartMontagemFlowProps> = ({
}; };
}); });
// Ordenar: primeiro os com saldo > 0 // Ordenar: primeiro os com saldo > 0 e com ordenação alfanumérica natural
lista.sort((a, b) => { lista.sort((a, b) => {
if (a.saldo_disponivel > 0 && b.saldo_disponivel === 0) return -1; if (a.saldo_disponivel > 0 && b.saldo_disponivel === 0) return -1;
if (a.saldo_disponivel === 0 && b.saldo_disponivel > 0) return 1; if (a.saldo_disponivel === 0 && b.saldo_disponivel > 0) return 1;
return a.marca.localeCompare(b.marca); return a.marca.localeCompare(b.marca, undefined, { numeric: true, sensitivity: 'base' });
}); });
setItens(lista); setItens(lista);
@@ -148,20 +148,26 @@ export const SmartMontagemFlow: React.FC<SmartMontagemFlowProps> = ({
return rdoExistente.id; return rdoExistente.id;
} }
// Criar novo RDO para o dia const nomeOperador = user?.email?.split('@')[0] || 'Operador Smart';
// Criar novo RDO para o dia com campos do schema real
const { data: novoRDO, error } = await supabase const { data: novoRDO, error } = await supabase
.from('diario_obra_rdo') .from('diario_obra_rdo')
.insert({ .insert({
of_number: obra.of_number, of_number: obra.of_number,
data: hoje, data: hoje,
responsavel_obra: user?.email || 'Operador Smart', usuario_nome: nomeOperador,
status: 'Em andamento', usuario_rdo: user?.id || null,
observacoes: 'Criado via Modo Smart', observacoes_gerais: 'Apontamento de montagem via Modo Smart',
finalizado: false,
}) })
.select('id') .select('id')
.single(); .single();
if (error) throw error; if (error) {
console.error('Erro ao criar RDO no banco:', error);
throw error;
}
return novoRDO.id; return novoRDO.id;
}; };