#######
Preciso criar uma procedure para atualizar a lista de itens de uma venda seguindo o tipos de desconto abaixo.
#######
Leva X Paga Y:
O cliente compra uma quantidade específica de itens e paga por menos, ganhando um ou mais itens como bônus. Exemplo: compre 3 pastéis, pague 2 e ganhe o terceiro. A quantidade de itens a comprar é configurável na aba "condições".
********
Adicional com Desconto:
Compra de um item principal concede um desconto específico (em percentual) em um item adicional. Exemplo: compre um X-Bacon e ganhe 10% de desconto em um refrigerante Coca-Cola. O percentual de desconto é definido pelo usuário, e itens ou grupos podem ser adicionados/removidos.
******
Adicional de Brinde:
Compra de um item principal dá direito a um item adicional como brinde. Exemplo: compre um sanduíche natural e ganhe um refrigerante. A quantidade de itens comprados para ativar a promoção é configurável, mas o brinde é fixo em 1 unidade.
*******
Preço Fixo:
Define um preço promocional fixo para um item em datas e horários específicos. Exemplo: taça de vinho branco a R$ 3,00 às quartas-feiras, das 17h às 20h.
*******
Desconto em Percentual:
Aplica um desconto percentual a itens selecionados durante um período definido. Exemplo: sorvete com 5% de desconto no valor total.
******
Desconto em Valor: Aplica um desconto fixo em dinheiro a itens selecionados em um período definido. Exemplo: sorvete com R$ 5,00 de desconto no valor total.
***********Regras da promocao**********
regras da promocao:
-período de vigência: definir data e horário de início e término da promoção.
-Limite de quantidade: Estabelecer um limite ativacao por venda.
-Dias da semana: Selecionar os dias em que a promoção estará ativa pode usar numero (1,2,3).
-Ativação/desativação: Possibilidade de ativar ou desativar a promoção conforme necessário.
#######
Segue o layout da tabela de itens vendidos para aplicar promoções ***Não tenho nada relacionado a promocao no banco de dados.:
Create table vendaitens(
id integer not null,
vendaid integer,
codbarras varchar(50),
qtde integer,
unitario numeric(15,2),
subtotal numeric(15,2),
desconto_promo numeric(15,2), ---desconto da regra
desconto_rateado numeric(15,2), ---desconto do pedido
acrecimo numeric(15,2),
total numeric(15,2),
promocaoid integer, --recebera o id da promoção aplicada
promo_info varchar(160) --descrição da promocao
);
####
banco de dados firebird 2.5
preciso atualizar via procedure.
O responsavel irar analisar a forma mais pratica e rapida de implementar.
Referencia :
https://scanntech.cloud.xwiki.com/xwiki/wiki/di/view/apis/api-promotions-crm/05.%20Modelo%20JSON%20pelo%20tipo%20de%20promo%C3%A7%C3%A3o/
Contexto Geral do Projeto
Prazo de Entrega: Não estabelecido