<?

$datetime1=new DateTime($fec11);
$datetime2=new DateTime($fec22);
$interval=$datetime2->diff($datetime1);
$months=$interval->format("%m")+($interval->format("%y")*12);
$days=$interval->format("%d");
$months=$months<4&&$days>0?($months+1):$months;

//********** CONSULTA PRESTACION ********************/
//$fechaInicio = $fec11 > date('2021-12-31') ? $fec11 : '2021-12-31';
$selectPrestacion = "SELECT IFNULL(monto_prestacion,0) AS mtoPrestacion, IFNULL(monto_dias,0) as mtoDias,  IFNULL(anticipo,0) as mtoAnticipo  FROM prestaciones WHERE cedula = '".$cedula."' AND id ='".$_SESSION['id_validar']."' AND ano='0000'";
$consultaPrestacion = mysql_query($selectPrestacion) or die ($selectPrestacion.mysql_error());
$inicioPrestacion=mysql_fetch_array($consultaPrestacion);
$mtoPrestacion = 0;
$mtoDias = 0;
$mtoAnticipo = 0;
$acumulado = 0;
echo "fec11".$fec11." fec22".$fec22;
if (mysql_num_rows($consultaPrestacion)!=0){
	$mtoPrestacion = $inicioPrestacion['mtoPrestacion'];
	$mtoDias = $inicioPrestacion['mtoDias'];
	$mtoAnticipo = $inicioPrestacion['mtoAnticipo'];
	$acumulado = $mtoPrestacion + $mtoDias - $mtoAnticipo;
}

$selectPrestacion="delete from prestaciones where id='".$_SESSION['id_validar']."' and cedula = '".$cedula."' and ano <> '0000'";
$eliminaPrestacion = mysql_query($selectPrestacion) or die ($selectPrestacion.':>'.mysql_error());


echo "prestacion ".$mtoPrestacion." Dias: ".$mtoDias." o: ".mysql_num_rows($inicioPrestacion);

//$fec11 = $fechaInicio;
while ($fec11<$fec22) {
    echo ""

			$cuantosmeses++;
			//====================== calcular años
			$anosx++;
			if ($anosx>12) {
				$anos++;
				$anosx=1;
			}

			//====================== mover fechas
			$a=substr($fec11x,0,4);
			$d=substr($fec11x,8,2);
			$m=substr($fec11x,5,2)+1;
			if ($m>12) {
				$m='01';
				$a=$a+1;
			} else $m=(strlen($m)==1?('0'.$m):$m);
			$fec11x=$a."-".$m."-".$d;

			//====================== ver cual periodo es
			$a=substr($fec11,0,4);
			$m=substr($fec11,5,2)+1;
			/*if ($m>12) {
				$m='01';
				$a=$a+1;
			} else $m=(strlen($m)==1?('0'.$m):$m);
			$fec11=$a."-".$m;*/

			$nuevafecha = strtotime ( '+1 month' , strtotime ( $fec11 ) ) ;
            $fec11 = date ( 'Y-m-d' , $nuevafecha );



			//===================== buscar dias de utilidades en historico
			$consulta=mysql_query("select dvac,duti from historico_parametro where id='".$_SESSION['id_validar']."' and anio='".$a."'") or die (mysql_error());
			if (mysql_num_rows($consulta)!=0) {
				$row=mysql_fetch_array($consulta);
				$dvacx=$row['dvac'];
				$dutix=$row['duti'];
			} else {
				$dvacx=$dvac;
				$dutix=$duti;
			}

			//====================== salto de tres en tres desde 05-2012
			if ($tri==1) {
				$salto++; $dias=0;
				if ($salto==3) {
					$salto=0;
					$dias=15;
				}
			} else {
				if ($fec11<='2012-04-01') {
					if ($fec11=='2012-04-01') $tri=1;
					$dias=5;
				} else {
					$tri=1;
					$salto++; $dias=0;
					if ($salto==3) {
						$salto=0;
						$dias=15;
					}
				}
			}

			//====================== agregado para revalidar dias

			//Agregado por cambios en dia de ingreso
            $fecAux=$fec11;
            $mostrar=true;
			if($fec11>=$fec22){
			   $fec11=$fec22;
			   if($egresado){
			       	/*if($dias==0){
			             if($cuantosmeses>3){
					         $dias=15;
				             $ultdias=true;
					    }
			        }*/
					 if($cuantosmeses>3){
					     $ultdias=true;
						 if($dias==0){
						    $dias=15;
						 }
					 }
			   }else{
			      if($cuantosmeses%3!=0){
				     $dias=0;
				  }
			   }
			}

			if($fecAux>$fec22&&!$egresado){
				$mostrar=false;
			}
			if($egresado){
			   if($months<4){
				     if($months==$cuantosmeses){
				         $dias=5*$months;
				     }else{
					     $dias=0;
					}
                 $ultdias=false;
			    }
			}
         if($mostrar){
			//====================== calcular inicio
			$inicio++;
			if ($inicio<=3 && $fec11<'2012-04-01') $dias=0;

			//============ datos de adelantos

			$consulta=mysql_query("select IFNULL(sum(monto),0) as total from prestacion_adelanto where id='".$_SESSION['id_validar']."' and substring(fecha,1,7)='".substr($fecAux,0,7)."' and cedula='".$cedula."'") or die (mysql_error());
			$row=mysql_fetch_array($consulta);
			$adelanto=$row['total'];


			$consulta=mysql_query("select IFNULL(sum(monto),0) as total from prestacion_interes where id='".$_SESSION['id_validar']."' and substring(fecha,1,7)='".substr($fecAux,0,7)."' and cedula='".$cedula."'") or die (mysql_error());
			$row=mysql_fetch_array($consulta);
			$adeinteres=$row['total'];

			//============ datos de sueldo
			$fec11ant = strtotime ( '-1 month' , strtotime ( $fec11 ) ) ;
				$fec11ant = date ( 'Y-m' , 	$fec11ant );

			$consulta=mysql_query("select SUM(sueldo) AS sueldo from personal_sueldo where id='".$_SESSION['id_validar']."' and substring(fec,1,7)='".substr($fec11ant,0,7)."' and codigo='".$cedula."' ") or die (mysql_error());



			//echo "select sueldo from personal_sueldo where id='".$_SESSION['id_validar']."' and substring(fec,1,7)='".$fec11."' and codigo='".$cedula."'<br>";
			$row=mysql_fetch_array($consulta);
			if (mysql_num_rows($consulta)!=0) {

				$sueldo=$row['sueldo'];
					if ($con01!='') {
						$consultax="select monto from constante_individual where id='".$_SESSION['id_validar']."' and codigo='".$con01."' and cedula='".$cedula."' and nomina='".$tiponomina."'";
						$resultadox = mysql_query($consultax) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysql_error());
						if (mysql_num_rows($resultadox)!=0) {
							$rowx=mysql_fetch_array($resultadox);
							if ($tipoclase==1) $sueldo=$sueldo + $rowx['monto']/7*30;
							//else if ($tipoclase==2) $sueldo=$sueldo + $rowx['monto']*2;
								else if ($tipoclase==2) $sueldo=$sueldo *2; //porque debe funcionar con nom,inas cerradas unciamente -- Miguelangel 26/04/22
								else $sueldo=$sueldo + $rowx['monto'];
						}
					}
					if ($con02!='') {
						$consultax="select monto from constante_individual where id='".$_SESSION['id_validar']."' and codigo='".$con02."' and cedula='".$cedula."' and nomina='".$tiponomina."'";
						$resultadox = mysql_query($consultax) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysql_error());
						if (mysql_num_rows($resultadox)!=0) {
							$rowx=mysql_fetch_array($resultadox);
							if ($tipoclase==1) $sueldo=$sueldo + $rowx['monto']/7*30;
							else if ($tipoclase==2) $sueldo=$sueldo + $rowx['monto']*2;
								else $sueldo=$sueldo + $rowx['monto'];
						}
					}
					/*if ($con03!='') {

						$consultax="select sum(monto) as total from historico where id='".$_SESSION['id_validar']."' and substring(desperiodo,1,7)='".$fec11."' and concepto='".$con03."' and cedula='".$cedula."' and nomina='".$tiponomina."'";
						//echo $consultax."<br>";
						$resultadox = mysql_query($consultax) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysql_error());
						$rowx=mysql_fetch_array($resultadox);
						$sueldo= $rowx['total'] + $sueldo;
					}*/
			} else {
					//====================== buscar monto conceptos acmulado
					 //echo $con04."<br>";
					if ($con04!='') {

						$consultax="select sum(monto) as total from historico where id='".$_SESSION['id_validar']."' and substring(desperiodo,1,7)='".substr($fec11,0,7)."' and substring(concepto,1,".strlen($con04).")='".$con04."' and cedula='".$cedula."' and nomina='".$tiponomina."'";
						$resultadox = mysql_query($consultax) or die('verificaci&oacute; del c&oacute;digo fall&oacute;: ' . mysql_error());
						$rowx=mysql_fetch_array($resultadox);
						if ($rowx['total']>0) $sueldo= ($rowx['total']<$sueldominimo ? $sueldominimo : $rowx['total']);
						else $sueldo= $sueldominimo;
						$consulta5=mysql_query("select codigo from personal_sueldo where id='".$_SESSION['id_validar']."' and substring(fec,1,7)='".substr($fec11,0,7)."' and codigo='".$cedula."'") or die (mysql_error());
						if (mysql_num_rows($consulta5)==0)
							$consulta5=mysql_query("insert into personal_sueldo (id,fec,codigo,sueldo) values ('".$_SESSION['id_validar']."','".(substr($fec11,0,7).'-01')."','".$cedula."','".$sueldo."')") or die (mysql_error());
					}
			}
			$alivac= ($dvacx/12*$sueldo/30/30);
			$aliuti= ($dutix/12*$sueldo/30/30);
			$integral = ($sueldo/30) + $alivac + $aliuti;

			//============ datos de interes
			if ($icon!=2) {
				$consulta=mysql_query("select mon as total from tab_interes where substring(fec,1,7)='".substr($fec11,0,7)."'");
				$row=mysql_fetch_array($consulta);
			}
			if ($row['total']==0) $tcolor='red';
			else $tcolor='black';
			$interes=($row['total']==0?$interes:$row['total']);

			//============ calculo
			$acumulado += $integral*$dias - $adelanto;
			$fechaPrestacion = substr($fec11,0,7).'-01';
			
			if ($_POST['tipo_salida']==1) {
				$color=!$color;
				$pdf->cell($ancho,5,$fec11,0,0,'C',$color);
				$pdf->cell(10,5,number_format($anos,0),0,0,'R',$color);
				$pdf->cell(10,5,number_format($anosx,0),0,0,'R',$color);
				$pdf->cell(10,5,number_format($dias,0),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($sueldo,2),0,0,'R',$color);
				$pdf->cell(15,5,number_format($alivac,2),0,0,'R',$color);
				$pdf->cell(15,5,number_format($aliuti,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($integral,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($integral*$dias,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($acumulado,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($adelanto,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($interes,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($prestaciones*$interes/100/12,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($interesganados,2),0,0,'R',$color);
				$pdf->cell($ancho,5,number_format($adeinteres,2),0,1,'R',$color);

			}
			if ($_POST['tipo_salida']==2) {
				echo "<tr>";
				echo "<td>$fec11</td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($anos,0)."</td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($anosx,0)."</td>";
				echo "<td bgcolor='#EEEFF3' align=right><b><font color=#36C1E2>".number_format($dias,0)."</b></font></td>";
				echo "<td bgcolor='#FCFCFC' align=right><b><font color=#84BE45>".number_format($sueldo,2)."</b></font></td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($alivac,2)."</td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($aliuti,2)."</td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($integral,2)."</td>";
				echo "<td bgcolor='#EEEFF3' align=right>".number_format($integral*$dias,2)."</td>";
				echo "<td align=right><b>".number_format($acumulado,2)."</b></td>";
				echo "<td align=right><b><font color=#E47470>".number_format($adelanto,2)."</font></b></td>";
				echo "<td bgcolor='#FCFCFC' align=right><b><font color=".$tcolor.">".number_format($interes,2)."</font></td>";
				echo "<td bgcolor='#FCFCFC' align=right>".number_format($prestaciones*$interes/100/12,2)."</td>";
				echo "<td bgcolor='#FCFCFC' align=right><b><font color=#36C1E2>".number_format($interesganados,2)."</b></font></td>";
				echo "<td bgcolor='#FCFCFC' align=right>".number_format($adeinteres,2)."</td>";
				echo "</tr>";
				
				

			}

			if ($prestaciones*$interes/100/12>0) {
				$interesganados += ($prestaciones*$interes/100/12)-$adeinteres;
			}

			//============ dia adicional
			if ($anosx==12 && $anos>=1) {
				$diaa = $anos*2;
				if ($diaa>30) {
					$diaa=30;
				}
				$acumulado += $integral*$diaa;
				if ($_POST['tipo_salida']==1) {
					$color=!$color;
					$pdf->cell($ancho+20,5,utf8_decode('Días Adicionales Anuales'),0,0,'C',$color);
					$pdf->cell(10,5,number_format($diaa,2),0,0,'R',$color);
					$pdf->cell($ancho,5,"",0,0,'R',$color);
					$pdf->cell(15,5,number_format($alivac,2),0,0,'R',$color);
					$pdf->cell(15,5,number_format($aliuti,2),0,0,'R',$color);
					$pdf->cell($ancho,5,number_format($integral,2),0,0,'R',$color);
					$pdf->cell($ancho,5,number_format($integral*$diaa,2),0,0,'R',$color);
					$pdf->cell($ancho,5,number_format($acumulado,2),0,0,'R',$color);
					$pdf->cell($ancho,5,number_format($adelanto,2),0,0,'R',$color);
					$pdf->cell($ancho*4,5,"",0,1,'R',$color);
				}
				if ($_POST['tipo_salida']==2) {
					echo "<tr>";
					echo "<td colspan=3 align=right>D&iacute;as Adicionales Anuales </td>";
					echo "<td align=right>".number_format($diaa,0)."</td>";
					echo "<td align=right colspan=3></td>";
					echo "<td align=right>".number_format($integral,2)."</td>";
					echo "<td align=right>".number_format($integral*$diaa,2)."</td>";
					echo "<td align=right><b>".number_format($acumulado,2)."</b></td>";
					echo "<td align=right><font color=red>".number_format($adelanto,2)."</font></td>";
					echo "<td align=right colspan=4></td>";
					echo "</tr>";
				}
				
		} else $diaa=0;

		if ($fechaPrestacion > '2021-12-31'){
	
		$valorSueldo = $sueldo ? $sueldo : 0;
		$crearRegistro = "INSERT INTO `prestaciones` (`ano`, `mes`, `cedula`, `nomina`, `id`, `sueldo`, `sueldo_integral`, `dias_base`, `monto_prestacion`, `dias_adionales`, `monto_dias`, `monto_interes`, `anticipo`, `anticipo_interes`, `fecha_desde`)
		 VALUES ('".$anos."','".$anosx."','".$cedula."','000','104',$valorSueldo,$integral,$dias,$integral*$dias,$diaa, $integral*$diaa, $acumulado*$interes/100/12,$adelanto, $adeinteres,'".$fechaPrestacion."')";
		$qpersonal = mysql_query($crearRegistro) or die ($crearRegistro.mysql_error());

		}

		$acumintpag+=$adeinteres;
		$acumanticp+=$adelanto;
		$tdias += $dias+$diaa;
		$prestaciones += ($integral*$dias)+($integral*$diaa)-$adelanto;
    }
}
?>
