} elseif ($subfrommin > "30" && $subfrommin <= "45") { $subfrommin1 = "45"; $subfromtih1 = $subfromtih; } else { $subfrommin1 = 00; $subfromtih1 = $subfromtih + 1; } $fromtime2 = $subfromtih1 . "." . $subfrommin1; $from_time1[] = $fromtime2; //print_r($fromtim); } else { $from_time1[] = "00.00"; } $to_time1[] = 23.45; $time_interval1[] = 15; $count = count($from_time1); $n = 0; for ($n = 0; $count > $n; $n++) { $fromtime[$n] = h2m($from_time1[$n]); $totime[$n] = h2m($to_time1[$n]); $interval[$n] = $time_interval1[$n]; $difmin[$n] = $totime[$n] - $fromtime[$n]; $intervalmin[$n] = $difmin[$n] / $interval[$n]; for ($i = 0; $i < $intervalmin[$n]; $i++) { $fromtime[$n] = $fromtime[$n] + $interval[$n]; $time = m2h($fromtime[$n]); $currentDate = strtotime($time); $timing[] = date("h:i A", $currentDate); } } echo json_encode($timing);
function buscaPrecoPagar($objPreco, $minutos) { $objConexao = new fla_conexao(); $des_justificativa = ""; $arrPreco = array(); $SQL = "SELECT\r\n\t\t\t\t\tpre.cod_preco\r\n\t\t\t\t\t, pre.val_minimo\r\n\t\t\t\t\t, pre.val_hora\r\n\t\t\t\t\t, pre.val_fracao\r\n\t\t\t\t\t, pre.val_diaria\r\n\t\t\t\t\t, pre.tip_cobranca\t\t\t\t\r\n\t\t\t\t\t, pre.cod_preco\r\n\t\t\t\t\t, pre.tem_tolerancia\r\n\t\t\t\t\t, pre.tem_diaria\r\n\t\t\t\t\t, pre.tem_minimo\r\n\t\t\t\tFROM\r\n\t\t\t\t\tfla_precos pre\r\n\t\t\t\tWHERE pre.cod_preco = " . $objPreco->get_cod_preco(); $rsPreco = $objConexao->prepare($SQL); $rsPreco->execute(); if ($rsPreco != false) { if ($rsPreco->rowCount() > 0) { while ($preco = $rsPreco->fetch(PDO::FETCH_ASSOC)) { $cod_preco = $preco['cod_preco']; $tem_tolerancia = $preco['tem_tolerancia']; $tem_diaria = $preco['tem_diaria'] * 60; $tem_minimo = $preco['tem_minimo']; $val_hora = $preco['val_hora']; $val_minimo = $preco['val_minimo']; $val_fracao = $preco['val_fracao']; $val_diaria = $preco['val_diaria']; $tip_cobranca = $preco['tip_cobranca']; } if ($tip_cobranca == "H") { $tempo_permanencia = m2h($minutos); $tempo_tolerancia_primeira_hora = 60 + $tem_tolerancia; // Se o cliente ficou menos que o tempo minimo, cobra o valor minimo if ($minutos <= $tem_minimo) { $val_total = str_pad($val_minimo, 4, "0"); } else { // Verifica se será cobrado diária if ($minutos >= $tem_diaria) { $val_total = $val_diaria; $des_justificativa = "Cobrado diaria"; } else { if ($minutos > $tem_minimo && $minutos <= $tempo_tolerancia_primeira_hora) { $val_total = str_pad($val_hora, 4, "0"); } else { // Senão cobra o valor normal do rotativo $minutos = number_format($minutos / 60, 2); $arrTempoPermanencia = explode('.', $minutos); $tempo_horas = $arrTempoPermanencia[0] - 1; $val_horas = $val_hora + $tempo_horas * $val_fracao; // Verificando se o cliente ficou além do tempo de tolerância de cada hora, se sim, calcula o valor a mais if (round($arrTempoPermanencia[1]) >= $tem_tolerancia) { $val_total = $val_horas + $val_fracao; $val_total = str_pad($val_total, 1, "0"); } else { $val_total = $val_horas; $val_total = str_pad($val_total, 1, "0"); } } } } } else { $hora_saida = date('H:i:s'); //$minutos = calculaMinutos($hor_entrada,$hora_saida); $tempo_permanencia = m2h($minutos); $val_total = sprintf("%01.2f", $val_minimo); } $val_total = number_format($val_total, 2, ',', ' '); $arrPreco['cod_preco'] = $cod_preco; $arrPreco['val_total'] = $val_total; $arrPreco['tempo_permanencia'] = $tempo_permanencia; $arrPreco['des_justificativa'] = $des_justificativa; } } return $arrPreco; }