\n\n"; if( isset( $_GET["dp"] ) && isset( $_GET["hp"] ) && isset( $_GET["dc"] ) && isset( $_GET["hc"] ) && isset( $_GET["grupo"] ) && isset( $_GET["est"] ) ) { $result_100 = 0; $result_75 = 0; $result_50 = 0; $result_25 = 0; // trata os valores de data e hora $data = explode( "_", $_GET["dp"] ); $data_partida = "{$data[2]}-{$data[1]}-{$data[0]}"; $data = explode( "_", $_GET["dc"] ); $data_chegada = "{$data[2]}-{$data[1]}-{$data[0]}"; $hora_p = explode( "_", $_GET["hp"] ); $hora_partida = "{$hora_p[0]}:{$hora_p[1]}"; $hora_c = explode( "_", $_GET["hc"] ); $hora_chegada = "{$hora_c[0]}:{$hora_c[1]}"; // calcula quantas diarias 100% 75% etc $date_partida = "{$data_partida} {$hora_partida}"; $date_chegada = "{$data_chegada} {$hora_chegada}"; $time_partida .= strtotime( $date_partida ); $time_chegada .= strtotime( $date_chegada ); $diferenca = $time_chegada - $time_partida; $dif_original = $diferenca; if( $diferenca > 0 ) { // se fechar 24 horas eh 100% ( 60 * 60 * 24 ) $result_100 = floor( $diferenca / 86400 ); $diferenca -= $result_100 * 86400; $dif_horas = floor( $diferenca / ( 60 * 60 ) ); //verifica se deu algum de 12 horas ( 60 * 60 * 12 ) if( $diferenca >= 43200 ) { // tem 12 horas, verifica se foi na virada da noite (com pernoite eh 75% sem pernoite eh 50%) if( $hora_p[0] + $dif_horas >= 22 ) { $result_75++; // reduzimos 12 horas $diferenca -= 43200; } else { $result_50++; // reduzimos 12 horas $diferenca -= 43200; } } //verifica se deu algum de 11 horas ( 60 * 60 * 11 ) if( $diferenca >= 39600 ) { $result_50++; $diferenca -= 39600; } //verifica se deu algum de 11 horas ( 60 * 60 * 10 ) if( $diferenca >= 36000 ) { $result_50++; $diferenca -= 36000; } //verifica se deu algum de 11 horas ( 60 * 60 * 9 ) if( $diferenca >= 32400 ) { $result_50++; $diferenca -= 32400; } //verifica se deu algum de 11 horas ( 60 * 60 * 8 ) if( $diferenca >= 28800 ) { $result_50++; $diferenca -= 28800; } //verifica se deu algum de 11 horas ( 60 * 60 * 7 ) if( $diferenca >= 25200 ) { $result_50++; $diferenca -= 25200; } //verifica se deu algum de 11 horas ( 60 * 60 * 6 ) if( $diferenca >= 21600 ) { $result_50++; $diferenca -= 21600; } //verifica se deu algum de 11 horas ( 60 * 60 * 5 ) if( $diferenca >= 18000 ) { $result_25++; $diferenca -= 18000; } //verifica se deu algum de 4 horas ( 60 * 60 * 4 ) if( $diferenca >= 14400 ) { $result_25++; $diferenca -= 14400; } $db = new clsBanco(); $db->Consulta( "SELECT p100, p75, p50, p25 FROM pmidrh.diaria_valores WHERE ref_cod_diaria_grupo = '{$_GET["grupo"]}' AND estadual='{$_GET["est"]}' AND data_vigencia < '{$date_partida}' ORDER BY data_vigencia DESC LIMIT 1 OFFSET 0" ); if ( $db->ProximoRegistro() ) { list( $p100, $p75, $p50, $p25 ) = $db->Tupla(); } else { $db->Consulta( "SELECT p100, p75, p50, p25 FROM pmidrh.diaria_valores WHERE ref_cod_diaria_grupo = '{$_GET["grupo"]}' AND data_vigencia < '{$date_partida}' ORDER BY data_vigencia DESC LIMIT 1 OFFSET 0" ); $db->ProximoRegistro(); list( $p100, $p75, $p50, $p25 ) = $db->Tupla(); } $vl100 = $result_100 * $p100; $vl75 = $result_75 * $p75; $vl50 = $result_50 * $p50; $vl25 = $result_25 * $p25; echo " " . number_format( $vl100, 2, ",", "." ) . "\n"; echo " " . number_format( $vl75, 2, ",", "." ) . "\n"; echo " " . number_format( $vl50, 2, ",", "." ) . "\n"; echo " " . number_format( $vl25, 2, ",", "." ) . "\n"; } else { echo " erro!\n erro!\n erro!\n erro!\n"; } } else { echo " erro!\n erro!\n erro!\n erro!\n"; } echo ""; ?>