Analisando propostas

Criar Procedure em Firebird para Aplicar Promoções Scantech

Publicado em 09 de Maio de 2025 dias na TI e Programação

Sobre este projeto

Aberto

#######
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

Referencia: https://bdc.gdoor.com.br/artigos/promocoes/

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por I. A.