<?
session_name('portal_absa');
session_start();
require("../../conexion/conectar.php");
require("../../libs/funciones.php");

$conexion = new CONDB();
$conexion->conectar();

if(!isset($_REQUEST["uuid"])){
	?><script>$j_6.messager.alert("Error","Faltan parametros","error.");</script><?exit;
}
$completaQueryPagos = "";
if($_REQUEST["serie"] != ""){$completaQueryPagos = " and serie='".$_REQUEST["serie"]."'";}
if($_REQUEST["folio"] != ""){$completaQueryPagos .= " and folio='".$_REQUEST["folio"]."'";}
if($_REQUEST["uuid"] != ""){$completaQueryPagos .= " and uuid='".$_REQUEST["uuid"]."'";}
if($_REQUEST["fecha_emision_inicio"] != ""){$completaQueryPagos .= " and fechadocto > '".$_REQUEST["fecha_emision_inicio"]."'";}
if($_REQUEST["fecha_emision_final"] != ""){$completaQueryPagos .= " and fechadocto < '".$_REQUEST["fecha_emision_final"]."'";}
if($_REQUEST["emisor_nombre"] != ""){$completaQueryPagos .= " and nombreemi like '%".$_REQUEST["emisor_nombre"]."%'";}
if($_REQUEST["emisor_rfc"] != ""){$completaQueryPagos .= " and rfcemisor < '".$_REQUEST["emisor_rfc"]."'";}

$qRecibeDoce = "select rfcemisor,serie,folio,uuid,tipomoneda as moneda,tipo_cambio as tipocambio,nombreemi,total from recibedoce where tipodocto='I CFDI 3.3' $completaQueryPagos";
if(!$rRecibeDoce = mysqli_query($conexion->CONEXION,$qRecibeDoce)){
	?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar los documentos.","error.");</script><?exit;
}
if(mysqli_num_rows($rRecibeDoce) <= 0){
	?><script>$j_6.messager.alert("Error","No se encontraron documentos.","error.");</script><?exit;
}
while($tRecibeDoce = mysqli_fetch_array($rRecibeDoce,MYSQLI_ASSOC)){
	
	$qMontosAplicados = "select d.serie as Dserie,d.folio as Dfolio,d.adicionalA as Duuid,d.total as Dtotal,pdr.uuidcfdirelacionado,pdr.monto as PDRmontoPago,pdr.numparcialidad as PDRnumparcialidad,pdr.tipocambio as PDRtipocambio,pdr.moneda as PDRmoneda,
	rpdr.tipocambiodr as RPDRtipocambio,rpdr.monedadr as RPDRmoneda,rpdr.imppagado as RPDRimpagado,rpdr.NumParcialidad as RPDRnumparcialidad,
	r.nombreemi,r.serie,r.folio,
	rdp.MonedaP as RDPmoneda,rdp.Monto as RDPmonto,rdp.recibedoce_UUID,rdp.TipoCambioP as RDPtipocambio
	from 
	doce d inner join
	pago_documentos_ref pdr ON d.adicionalA=pdr.doce_uuid
	left join recibedoce_pagos_docto_relacionado rpdr 
	ON pdr.doce_uuid = rpdr.doce_uuid and pdr.uuidcfdirelacionado = rpdr.uuidcfdirelacionado and (pdr.numparcialidad = rpdr.numparcialidad or pdr.numparcialidad <> rpdr.numparcialidad)
	left join recibedoce_pagos rdp ON rpdr.recibedoce_pagos_id = rdp.recibedoce_pagos_id 
	left join recibedoce r on rpdr.uuidcfdirelacionado = r.uuid where pdr.uuidCFDIRelacionado='".$tRecibeDoce["uuid"]."'";
	if(!$rMontosAplicados = mysqli_query($conexion->CONEXION,$qMontosAplicados)){
		?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar los documentos.","error.");</script><?exit;
	}
	if(mysqli_num_rows($rMontosAplicados) <= 0){
		continue;
	}
	$montoTotalCompensado = getMontoCompensado($tRecibeDoce["uuid"]);
	$sumaPagadoEnPago=0.00;
	$sumaPagadoEnComplemento=0.00;
	$totalAPagarEnPago=0.00;
	$totalAPagarEnComplemento=0.00;
	?><table width="98%" bgcolor="white" style="border: 5px #DDDDDD solid">
		<tr>
			<th style="background-color: #DDDDDD; text-align: center" colspan="7">I CFDI 3.3</th>
		</tr>
		<tr class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
			<td>Proveedor</td>
			<td>Serie</td>
			<td>Folio</td>
			<td>UUID</td>
			<td>Total</td>
			<td>Moneda</td>
			<td>TipoCambio</td>
		</tr>
		<tr class="ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-accordion-icons">
			<td></td>
			<td><?=$tRecibeDoce["nombreemi"]?></td>
			<td><?=$tRecibeDoce["serie"]?></td>
			<td><?=$tRecibeDoce["folio"]?></td>
			<td><?=$tRecibeDoce["uuid"]?></td>
			<td><?=$tRecibeDoce["moneda"]?></td>
			<td><?=$tRecibeDoce["tipocambio"]?></td>
			<td><?=$tRecibeDoce["total"]?></td>
		</tr>
		<tr>
			<td style="padding: 20px 20px 20px 20px" colspan="7">
				<table width="98%" bgcolor="white" style="border: 2px #DDDDDD solid">
					<tr>
						<th style="background-color: #DDDDDD; text-align: center" colspan="11">PAGOS AL DOCUMENTO</th>
					</tr>
					<tr>
						<th style="background-color: #DDDDDD; text-align: center" colspan="7">Pago</th>
						<th style="background-color: #DDDDDD; text-align: center" colspan="4">Complemento</th>
					</tr>
					<tr style="background-color: #000000; color: #FFFFFF">
						<td>Serie</td>
						<td>Folio</td>
						<td>UUID</td>
						<td>Monto</td>
						<td>Parcialidad</td>
						<td>Tipo Cambio</td>
						<td>Moneda</td>
						<td>Monto</td>
						<td>Parcialidad</td>
						<td>Tipo Cambio</td>
						<td>Moneda</td>
					</tr>
	<?
	$con=0;
	$tdEstiloPagoTotal="";
	$banIncorrecto=false;
	while($tMontosAplicados = mysqli_fetch_array($rMontosAplicados,MYSQLI_ASSOC)){
		$sumaPagadoEnComplemento+=$tMontosAplicados["RPDRimpagado"];
		$sumaPagadoEnPago+=$tMontosAplicados["PDRmontoPago"];
		$con++;
		$res = $con%2;
		$trEstilo="";
		if($res == 0)
			$trEstilo = "style='background-color: #999999'";
		
		$tdEstiloMonto = "";
		$tdEstiloTipoCambio = "";
		$tdEstiloMoneda = "";
		$tdEstiloParcialidad = "";
		
		if(round($tMontosAplicados["PDRmontoPago"],1,PHP_ROUND_HALF_UP) != round($tMontosAplicados["RPDRimpagado"],1,PHP_ROUND_HALF_UP)){
			$tdEstiloMonto="style='background-color: red'";
			$banIncorrecto=true;
		}
		if(round($tMontosAplicados["PDRtipocambio"],1,PHP_ROUND_HALF_UP) != round($tMontosAplicados["RPDRtipocambio"],1,PHP_ROUND_HALF_UP)){
			$tdEstiloTipoCambio="style='background-color: red'";
			$banIncorrecto=true;
		}
		if($tMontosAplicados["PDRmoneda"] != $tMontosAplicados["RPDRmoneda"]){
			$tdEstiloMoneda="style='background-color: red'";
			$banIncorrecto=true;
		}
		if($tMontosAplicados["PDRnumparcialidad"] != $tMontosAplicados["RPDRnumparcialidad"]){
			$tdEstiloParcialidad="style='background-color: red'";
			$banIncorrecto=true;
		}
		?>
					<tr <?=$trEstilo?>>
						<td><?=$tMontosAplicados["Dserie"]?></td>
						<td><?=$tMontosAplicados["Dfolio"]?></td>
						<td><?=$tMontosAplicados["Duuid"]?></td>
						<td><?=$tMontosAplicados["PDRmontoPago"]?></td>
						<td><?=$tMontosAplicados["PDRnumparcialidad"]?></td>
						<td><?=$tMontosAplicados["PDRtipocambio"]?></td>
						<td><?=$tMontosAplicados["PDRmoneda"]?></td>
						<td><?=$tMontosAplicados["RPDRimpagado"]?></td>
						<td><?=$tMontosAplicados["RPDRnumparcialidad"]?></td>
						<td><?=$tMontosAplicados["RPDRtipocambio"]?></td>
						<td><?=$tMontosAplicados["RPDRmoneda"]?></td>
					</tr>
			
		<?
		
		
	}
	if(round($sumaPagadoEnPago,1,PHP_ROUND_HALF_UP) != round($sumaPagadoEnComplemento,1,PHP_ROUND_HALF_UP)){
		$tdEstiloPagoTotal="style='background-color: red'";
		$banIncorrecto=true;
	}
	$totalAPagarEnPago = $tRecibeDoce["total"] - ($sumaPagadoEnPago - $montoTotalCompensado);
	$totalAPagarEnComplemento = $tRecibeDoce["total"] - ($sumaPagadoEnComplemento - $montoTotalCompensado);
	?>
					<tr>
						<th style="text-align: right" colspan="5">Total Pagado</th>
						<th style="text-align: right" colspan="2"<?=$tdEstiloPagoTotal?>><?=$sumaPagadoEnPago?></th>
						<th style="text-align: right" colspan="2">Total Pagado</th>
						<th style="text-align: right" colspan="2"<?=$tdEstiloPagoTotal?>><?=$sumaPagadoEnComplemento?></th>
					</tr>
					<tr>
						<th style="text-align: right" colspan="5">Total a Pagar</th>
						<th style="text-align: right" colspan="2"><?=$totalAPagarEnPago?></th>
						<th style="text-align: right" colspan="2">Total a Pagar</th>
						<th style="text-align: right" colspan="2"><?=$totalAPagarEnComplemento?></th>
					</tr>
				</table>
			</td>
			<?if($banIncorrecto == true){?>
				<td>
					<table width="98%" bgcolor="white" style="border: 2px #DDDDDD solid">
						<tr>
							<th style="background-color: #fcfbe5; text-align: center"><img src="Imagenes/Attention_A.png"/></th>
						</tr>
					</table>
				</td>
			<?}else{?>
				<td>
					<table width="98%" bgcolor="white" style="border: 2px #DDDDDD solid">
						<tr>
							<th style="background-color: #fcfbe5; text-align: center"><img src="Imagenes/ok.png"/></th>
						</tr>
					</table>
				</td>
			<?}?>
		</tr>
	</table><?
	
}
function getMontoCompensado($uuid){
	global $conexion;
	$qMontosCompensados = "select sum(monto_enmoneda_padre) as monto from recibedoce_compensacion where uuid_padre='$uuid' group by uuid_padre";
	if(!$rMontosCompensados = mysqli_query($conexion->CONEXION,$qMontosCompensados)){
		?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar los documentos.","error.");</script><?exit;
	}
	if(mysqli_num_rows($rMontosCompensados) <= 0){
		return 0.00;
	}
	$tMontosCompensados = mysqli_fetch_assoc($rMontosCompensados);
	return $tMontosCompensados["monto"];
	
}
?>











