diff --git a/apps/web/src/cockpits/rep/NewOrderPage.tsx b/apps/web/src/cockpits/rep/NewOrderPage.tsx index cb1cf1c..6e58bb3 100644 --- a/apps/web/src/cockpits/rep/NewOrderPage.tsx +++ b/apps/web/src/cockpits/rep/NewOrderPage.tsx @@ -41,12 +41,10 @@ import type { FormaPagamento, Pauta, ProdutoSummary, - RegraVigente, TopProduto, } from '@sar/api-interface'; import { useClientList, useClientDetail, useClientTopProdutos } from '../../lib/queries/clients'; import { useCatalog, useFormasPagamento, usePautas } from '../../lib/queries/catalog'; -import { useRegrasVigentes } from '../../lib/queries/politicas'; import { useCondicoesComerciais } from '../../lib/condicoes-comerciais'; import { CondicaoTag } from '../../components/CondicaoTag'; import { apiFetch } from '../../lib/api-client'; @@ -1325,24 +1323,10 @@ export function NewOrderPage() { setClientSearch(''); } - // ── Regras de desconto vigentes (criadas pelo gerente para este rep) ── - const { data: regrasData } = useRegrasVigentes(); - - // Maior desconto liberado por regra vigente que casa com o grupo/subgrupo do - // produto. Regra sem grupo/subgrupo vale para qualquer produto. Pré-aplicado - // ao adicionar o item; o rep pode ajustar dentro da alçada. - const regraDescontoPct = (codGrupo: number | null, codSubgrupo: number | null): number => { - const regras: RegraVigente[] = regrasData?.regras ?? []; - return regras - .filter( - (r) => - (r.codGrupo == null || (codGrupo != null && r.codGrupo === codGrupo)) && - (r.codSubgrupo == null || (codSubgrupo != null && r.codSubgrupo === codSubgrupo)), - ) - .reduce((max, r) => Math.max(max, r.descPct), 0); - }; - // ── Handlers do carrinho ── + // Item entra SEM desconto mesmo quando há promoção/regra vigente (selo + // "Condição comercial" avisa o rep): a proposta é carta de negociação — o rep + // concede só se o cliente pedir, e a alçada no backend aceita até o % da regra. const addToCart = (p: ProdutoSummary, qty?: number) => { const lote = p.loteMulVenda ?? 1; const finalQty = qty ?? lote; @@ -1363,7 +1347,7 @@ export function NewOrderPage() { unidade: p.unidade ?? '', qtd: finalQty, precoUnitario: Number(p.vlPreco1), - descontoPerc: regraDescontoPct(p.codGrupo, p.codSubgrupo), + descontoPerc: 0, loteMulVenda: p.loteMulVenda, }, ]; @@ -1386,8 +1370,7 @@ export function NewOrderPage() { unidade: p.unidade ?? '', qtd: qty, precoUnitario: p.ultimoPreco, - // TopProduto não traz grupo/subgrupo — aplica só regra sem restrição - descontoPerc: regraDescontoPct(null, null), + descontoPerc: 0, loteMulVenda: null, }, ];