Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rootzig

Calendário repetindo o dia 19

Recommended Posts

segue uma parte, o que gera:

 

     //gera o intervalo de data---------------------------------------------------------
 	$mes_ini = $mes; //mes inicial
$mes_fim = $mes1; //mes final

$dia_ini = $_POST['dia']; //dia inicial
$dia_fim = $_POST['dia1']; //dia final

$ano_ini = $_POST['ano']; //ano inicial
$ano_fim = $_POST['ano1']; //ano final

$dini = mktime(0,0,0,$mes_ini,$dia_ini,$ano_ini); // timestamp da data inicial
$dfim = mktime(0,0,0,$mes_fim,$dia_fim,$ano_fim); // timestamp da data final

       while($dini <= $dfim)//enquanto uma data for inferior a outra 
{      

	   //echo $dt."<br>"; //exibindo a data



	//loop com a quantidade de dias------------------------------------------------
	//for ($i=1;$i<=$tot_dias;$i++) {
	//
		$trataData1 = date("Y-m-d",$dini);//convertendo a data no formato dia/mes/ano
		$trataData  = explode("-",$trataData1);

		$data1 = date("Y-m-d", mktime(0,0,0, $trataData[1], $trataData[2],$trataData[0]));

		$sql = mysql_query("SELECT 
								* 
							from 
								ponto
							where 
								id_funcionario = $funcionario 
							and 
								data_hora	like '$data1%' 
							order by data_hora
							 ") or die(mysql_error());


	$tot = mysql_num_rows($sql);
	$dia_semana = get_dia($trataData[2], $trataData[1], $trataData[0]);

	//para ver quem está com falta

	$sqlFalta = mysql_query("SELECT 
								distinct falta,	data_hora
						  from 
								ponto
						 where 
								id_funcionario = $funcionario 
						 and 
							  data='$data1' 
						 order by data_hora
						 ") or die(mysql_error());

	$falta =  mysql_fetch_assoc($sqlFalta);


	$tot_horas = 0;
	$ultima_entrada = 0;
	//$dataAtual2 = data();
	$tot_horas_mes_show = NULL;

	echo "<tr>\n";
	echo 	"\t<td bgcolor=\"#FFEC8B\"><center>".date("d/m/Y", mktime(0,0,0, $trataData[1], $trataData[2], $trataData[0]))."</center></td>\n";
	echo	"\t<td bgcolor=\"#FFEC8B\"><center>".$dia_semana."</center></td>\n";

	//tipo = FA: faltas FO: folgas AT: atestado
  	//$tipoBatidas = $falta['falta'];

	//loop pegando as batidas do dia
	for ($k=0;$k<$tot;$k++)
	{
		   $reg = mysql_fetch_array($sql);
		   $tipo=$reg[2];


		   $hora=explode(" ",$reg[4]);

		   //$dataBanco = $hora[0];

		   $clock=explode(":",$hora[1]);
		   $hora=$clock[0];
		   $min=$clock[1];


		    if ($tipo==0) {
				$ultima_entrada = ($min + ($hora*60));
		    }else{
				$tot_horas += (($min + ($hora*60)) - $ultima_entrada);
			}

			//echo $tipoBatidas; 
			//echo $tot_horas;
			if($tipoBatidas == "AT"){
				echo "\t<td bgcolor=\"#DEB887\"><b><center>".$hora.":".$min."</center></b></td>\n";
			}else{
				echo "\t<td bgcolor=\"#CDCDC1\"><b><center>".$hora.":".$min."</center></b></td>\n";
			}

	}//fim

   //pega a Hora e o Resto da Divisão para o minuto	
   $hora = $tot_horas / 60;
   $min = $tot_horas % 60;

	//$horas_dia - hora de trabalho por dia, setado no cadastro-----------------------------------------------------------------------------------------------------------
   //$horad = explode(":",$horas_dia);

   $segSab = "outros";
   //$dia_semana = get_dia($trataData[2], $trataData[1], $trataData[0]);
   //echo "<h1>".$dia_semana."</h1>";

   //carga horaria para funcionarios que fazer de segunda a sexta: 8h e sabado: 4horas, valor para teste, o certo vira pelo banco
 	   if($segSab == "outros"){

		if($dia_semana == "SEG"){
			$hd = "8:00";
			$contaHorario = $contaHorario + 8;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 8;
			}
		}elseif ($dia_semana == "TER"){
			$hd = "8:00";
			$contaHorario = $contaHorario + 8;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 8;
			}
		}elseif ($dia_semana == "QUA"){
			$hd = "8:00";
			$contaHorario = $contaHorario + 8;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 8;
			}
		}elseif ($dia_semana == "QUI"){
			$hd = "8:00";
			$contaHorario = $contaHorario + 8;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 8;
			}
		}elseif ($dia_semana == "SEX"){
			$hd = "8:00";
			$contaHorario = $contaHorario + 8;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 8;
			}
		}elseif ($dia_semana == "SAB"){
			$hd = "4:00";
			$contaHorario = $contaHorario + 4;
			if($falta['falta'] == "FO"){
				$folga = $falta['data_hora'];
				$hdF = $hdF + 4;
			}	

		}else{
			$hd = "0:00";
		}
	//echo "<h1>".$hd."</h1>";
   }
   //$hd = "03:00";
   $horad = explode(":",$hd);
   $hora_dia = $horad[0];
   $min_dia = $horad[1];



   if ($tot_horas >= (($hora_dia * 60) + $min_dia))
   {
	  $extra_falta = $tot_horas - (($hora_dia * 60) + $min_dia);
	  $sinal = "+";
	  $cor = "#000000";
	  $font = "<font color=\"white\">";
	  $extraAtraso = "\t<td bgcolor=\"$cor\" >$font<center><b>".$sinal . date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]))."</center></b></td>\n";
	  $aeSim = date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]));

	  $aeSim = explode(":", $aeSim);
	  $aooo  += ($aeSim[1] + ($aeSim[0]*60));

	  $divide = $aooo/60;
	  $divide = explode(".",$divide);
	  $divide1 = $aooo%60;
	  $divide1 = $divide1 / 100;
	  $divide1 = $divide1 * 60;


	  if($divide1 <= 9){
		$mostraHora = $divide[0].":"."0".$divide1;
	  }else{
		$mostraHora = $divide[0].":".$divide1;
	  }

		  //($min + ($hora*60));			
		 $quebra1  =  explode(":",$mostraHora);
		 $quebra1  = ($quebra1[1] + ($quebra1[0]*60)); 	

		 echo "<h1>Extra: ".$quebra1."</h1>";

  }else
  {

	if($falta["falta"] != 'FO')
	{		

	 if($dia_semana == "SEG" || 
		$dia_semana == "TER" || 
		$dia_semana == "QUA" || 
		$dia_semana == "QUI" || 
		$dia_semana == "SEX" || 
		$dia_semana == "SAB")
		{

		  $extra_falta = (($hora_dia * 60) + $min_dia) - $tot_horas;
		  $sinal = " -";
		  $cor = "#CD950C";
		  $extraAtraso  = "\t<td bgcolor=\"$cor\" ><center>".$sinal . date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]))."</center></td>\n";
		  $negativo = date("H:i", mktime($extra_falta / 60 , $extra_falta % 60, $trataData[2], $trataData[1], $trataData[0]));
		  $deuCerto = explode(":", $negativo);
		  $blzera	+= ($deuCerto[1] + ($deuCerto[0]*60));
		  $pega	= $blzera/60;
		  $pega =  explode(".",$pega);
		  $pega1 = $blzera % 60;
		  $pega1 = $pega1 / 100;
		  $pega1 = $pega1 * 60;

			if($pega1 <= 9)
			{
				$mostraHora1 = $pega[0].":"."0".$paga1;
			  }else{
				$mostraHora1 = $pega[0].":".$pega1;
			}

			  //($min + ($hora*60));			
			  $quebra  =  explode(":",$mostraHora1);
			  $quebra  = ($quebra[1] + ($quebra[0]*60)); 	

			 echo "<h1>Atraso: ".$quebra."</h1>";
			}

  	}else{
	    $cor = "#FFFFFF";
		$extraAtraso  = "\t<td bgcolor=\"$cor\" ><center>00:00</center></td>\n";
	}

  }	
	//horas totais trabalhadas no dia-----------------------------------------------
	$horas_trabalhadas = date("H:i", mktime($hora, $min, 0 , $trataData[2], $trataData[1], $trataData[0]));		

	//coloca um fundo caso onde estiver sem registro--------------------------------
	$corSemRegistro = "#EEEEEE";

	//caso ainda não tenha registro coloca '--'-------------------------------------
	$msn = "<center>--</center>";

	//trata o numero de até 6 batidas no dia, colocando o texto na varivél $msn
	if($tot == 0){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}

	if($tot == 1){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";	
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}
	if($tot == 2){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}
	if($tot == 3){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}
	if($tot == 4){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n"; 
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}

	if($tot == 5){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}

	if($tot == 6){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}	
	if($tot == 7){
		echo "\t<td bgcolor=\"$corSemRegistro\">$msn</td>\n";
	}		
	//echo "\t<td bgcolor=\"#8B0000\"><center><font color=\"white\">".$horas_trabalhadas."</center></td>\n";
	echo "\t<td bgcolor=\"#EEDD82\"><center><font color=\"black\"><b>".$hd."</b></font></center></td>\n";
	echo "\t<td bgcolor=\"#EEDD82\"><center><font color=\"black\"><b>".$horas_trabalhadas."</b></font></center></td>\n";
	echo $extraAtraso;
	/*
	$somaExtra = array
	$strip 	   = explode(":",$extraAtraso);
	$somaExtra = $strip[1]  	
	*/
	if($falta['falta'] == 'F'){

		echo "\t<td bgcolor=\"#8B1A1A\"><center><font color=\"white\"><b>".$falta['falta']."</b></font></center></td>\n";

	}else{

		echo "\t<td bgcolor=\"#EEDD82\"><center><b>".$falta['falta']."</b></center></td>\n";

	}



	$tot_horas_mes+=$tot_horas;

	//adicionando mais 1 dia (em segundos) na data inicial, para continuar o loop
	$dini += 86400; 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.