LÓGICA - PROMO?ÕES
Pessoal, qual a lógica de um módulo de promoções para mercados ?, pensei em criar uma tabela com código,descrição e perÃodo de validade, e outra com os itens ( código dos produtos e preços de promoção), linkar com a tabla produtos, e na venda monitorar o perÃodo, identificando com um campo no cadastro de produtos, se ele esta em promoção ou não, assim, não preciso pesquisar todos os itens na tabela de promoções, apenas os que estiveram com o status ativo ( pensei nesta opção para não sobrecarregar e fazer querys desnecessárias), e assim que o produto sair da promoção ou terminar o prazo de validade, qual seria o procedimento ?
Bom, acho que isto é uma coisa muito pessoal, que pode variar de sistema para sistema. Pois bem, vou dar a minha ideia.
Se você vai vender o produto, por consequência irá realizar uma pesquisa no banco de dados, para trazer suas informações básicas. Partindo deste princÃpio, não seria mais lógico criar um campo para checar se está na promoção, data inicial e final da promoção e valor da promoção para este produto? Desta forma, você pode trazer no próprio retorno da venda do produto, e verificar se está na promoção, e a data vigente da mesma.
Se você vai vender o produto, por consequência irá realizar uma pesquisa no banco de dados, para trazer suas informações básicas. Partindo deste princÃpio, não seria mais lógico criar um campo para checar se está na promoção, data inicial e final da promoção e valor da promoção para este produto? Desta forma, você pode trazer no próprio retorno da venda do produto, e verificar se está na promoção, e a data vigente da mesma.
Sim, seria por ai, pensei em criar uma tabela para não criar esses campos na tabela de produtos, pois como se trata de supermercado, pode-se criar mais de uma promoção usando o mesmo produto, é lógico que com datas de validades diferentes, para que não entrem no ar juntas. Mas a dúvida de lógica maior, seria ao final da promoção, se necessário fazer uma checagem para exibir algum aviso no PDV, sobre carga de preços nas balanças....estou analisando os casos, e aceitando sugestões...
Thiago, é isso mesmo que estou montando, ou quase parecido, mas quando termina a promoção, é executada alguma rotina, ou esses dados ficam guardados como histórico ?, eu acho que nem vou criar campo no cadastro do produto, ao vender no pdv , faço uma consulta left join, e caso o produto esteja na tabela promoção com validade, pega o preço da promoção, senão pega o preço de venda normal, se bem que tem o tratamento da validade tbm....
Tópico encerrado , respostas não são mais permitidas