Cálculo entre períodos com categorias valores diferentes
Fala pessoal, tou quebrando a cabeça aqui com algo que deve ser simples.
Seguinte, eu tenho um site que calcula o valor de uma tarifa quando o usuário preenche a data(período).
A questão é que não consigo chegar ao resultado correto por que envolve alguns critérios.
Vou explicar passo a passo e mostrar meus códigos.
Se alguém puder me dar uma luz, agradeço muitooooo.
Eu tenho uma tabela de tarifas:
Tarifa_Id = Tarifa_Tipo = Tarifa_Titulo = Tarifa_Inicio = Tarifa_FIm = Tarifa_Valor
02 padrao R$150,00
02 pacote Natal 2018-12-22 2018-12-26 R$2.000
03 pacote Ano Novo 2018-12-28 2019-01-03 R$4.000
02 temporada Janeiro 2019-01-01 2019-01-31 R$300,00
As regras são assim:
Pacote - Tarifa Unica - ou seja se ficar 2 dias vai ser este valor.
Temporada - Conforme os dias, mais são contabilizados os dias FORA de outros pacotes.
Padrão - Quando a data não pega nenhuma das outras tarifas.
Ex: O usuário digita 20/12/2018 até 05/01/2019.
São dois pacote - Natal e Ano Novo mais alguns dias da alta temporada.
Acho que deu para entender né..rs.
$dataChegada e $dataSaida = data que o usuário digitou.
$tarifa_start e $tarifa_end = data da tabela tarifa no BD.
Para saber os dias :
if ($dataChegada >= $tarifa_end):
$diferenca_dias = strtotime($dataChegada) - strtotime($tarifa_end);
$dias = floor($diferenca_dias / (60 * 60 * 24));
elseif ($dataSaida <= $tarifa_end):
$diferenca_dias = strtotime($dataSaida) - strtotime($tarifa_end);
$dias = floor($diferenca_dias / (60 * 60 * 24));
endif;
Para calcular o valor total do pacote:
if ($tarifa_tipo == 'pacote'):
$valor_pacote += (float) $tarifa_valor;
elseif ($tarifa_tipo == 'temporada'):
$valor_temp = $tarifa_valor;
endif;
Agora preciso fazer a soma dos dias x valor que estão na temporada mais fora dos demais pacotes.Discussão (0)
Carregando comentários...