<?
session_name('portal_absa');
session_start();
if(!isset($_SESSION['usuario_p_prov_absa']) || trim($_SESSION['usuario_p_prov_absa']) == "" || trim(strtoupper($_SESSION["URL_PORTAL"]."admin.php")) != trim(strtoupper($_SERVER['HTTP_REFERER']))){
	?><script>window.location.href="<?=$_SESSION["URL_PORTAL"]."index.php"?>"</script><?
	exit;
}
set_time_limit(300);
require("../../conexion/conectar.php");
require("../../libs/funciones.php");


$MOD_NP_STATUS_0 = trim(getINI("MOD_NP_STATUS_0=","../../config.ini"));
if($MOD_NP_STATUS_0 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_0 no configurada", "");exit;
}
$MOD_NP_STATUS_2 = trim(getINI("MOD_NP_STATUS_2=","../../config.ini"));
if($MOD_NP_STATUS_2 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_3 no configurada", "");exit;
}
$MOD_NP_STATUS_3 = trim(getINI("MOD_NP_STATUS_3=","../../config.ini"));
if($MOD_NP_STATUS_3 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_3 no configurada", "");exit;
}
$MOD_NP_STATUS_4 = trim(getINI("MOD_NP_STATUS_4=","../../config.ini"));
if($MOD_NP_STATUS_4 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_3 no configurada", "");exit;
}
$MOD_NP_STATUS_5 = trim(getINI("MOD_NP_STATUS_5=","../../config.ini"));
if($MOD_NP_STATUS_5 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_3 no configurada", "");exit;
}
$MOD_NP_STATUS_8 = trim(getINI("MOD_NP_STATUS_8=","../../config.ini"));
if($MOD_NP_STATUS_8 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_3 no configurada", "");exit;
}
$MOD_NP_STATUS_11 = trim(getINI("MOD_NP_STATUS_11=","../../config.ini"));
if($MOD_NP_STATUS_11 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_11 no configurada", "");exit;
}
$MOD_NP_STATUS_12 = trim(getINI("MOD_NP_STATUS_12=","../../config.ini"));
if($MOD_NP_STATUS_12 == ""){
	setBitacora($conexion, "AUTOMATICO", "" , "NOTIFICACION AUTOMATICA FALTANTES DE PAGO-TODOS", "Etiqueta MOD_NP_STATUS_11 no configurada", "");exit;
}

if(trim($_REQUEST['form_rfcemisor']) == ""){
	?><script>$j_6.messager.alert("Error","Debe de seleccionar un RFC.","error.");</script><?exit;
}
if(!$TOLERANCIA_COMPENSADO_PAGADO = getINI("../../config.ini","TOLERANCIA_COMPENSADO_PAGADO=")){
	$TOLERANCIA_COMPENSADO_PAGADO =.5;
}

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

//if(strtoupper(trim($_SESSION['usuario_p_prov_absa'])) == "ADMIN"){
	$rfcemisor = $_REQUEST['form_rfcemisor'];
/*}else{
	$rfcemisor = $_SESSION['RFC_RECEPTOR_PORTAL'];
}*/

if(!isset($_REQUEST["uuid"])){
	?><script>$j_6.messager.alert("Error","Faltan parametros","error.");</script><?exit;
}

//Extraigo Configuracion General de notificaciones
$notificar_fecha_inicio="";
$qConfig = "select notificar_dias,notificar_despuesde,notificar_repetirdias,notificar_correos,notificar_asunto,notificar_correos_cc,notificar_fecha_inicio,tolerancia_NPvsComplemento,tolerancia_NPvsFactura,tolerancia_FacturaPagada,tolerancia_CompensacionEgreso,tolerancia_tipoCambio, valida_fecha_pago,
date_format(fecha_valida_fecha_pago,'%Y%m%d%H%i%s') as formatFecha_valida_fecha_pago
from configpagina where rfc_receptor='".$rfcemisor."' limit 1";

if($rConfig = mysqli_query($conexion->CONEXION,$qConfig)){
	if(mysqli_num_rows($rConfig) > 0){
		$tConfig = mysqli_fetch_assoc($rConfig);
		$notificar_fecha_inicio = $tConfig["notificar_fecha_inicio"];
		$formatFecha_valida_fecha_pago = $tConfig["formatFecha_valida_fecha_pago"];
		$valida_fecha_pago = $tConfig["valida_fecha_pago"];
		$tConfig["tolerancia_NPvsComplemento"] = (float) $tConfig["tolerancia_NPvsComplemento"];
		$tConfig["tolerancia_NPvsFactura"] = (float) $tConfig["tolerancia_NPvsFactura"];
		$tConfig["tolerancia_FacturaPagada"] = (float) $tConfig["tolerancia_FacturaPagada"];
		$tConfig["tolerancia_CompensacionEgreso"] = (float) $tConfig["tolerancia_CompensacionEgreso"];
		$tConfig["tolerancia_tipoCambio"] = (float) $tConfig["tolerancia_tipoCambio"];
	}
}

$completaQueryPagos = "";
if($_REQUEST["serie"] != ""){$completaQueryPagos = " and d.serie='".$_REQUEST["serie"]."'";}
if($_REQUEST["folio"] != ""){$completaQueryPagos .= " and d.folio='".$_REQUEST["folio"]."'";}
if($_REQUEST["uuid"] != ""){$completaQueryPagos .= " and d.adicionalA='".$_REQUEST["uuid"]."'";}
if($_REQUEST["fecha_emision_inicio"] != ""){$completaQueryPagos .= " and d.fecha >= '".$_REQUEST["fecha_emision_inicio"]."T00:00:00'";}
if($_REQUEST["fecha_emision_final"] != ""){$completaQueryPagos .= " and d.fecha <= '".$_REQUEST["fecha_emision_final"]."T23:59:59'";}
if($_REQUEST["emisor_nombre"] != ""){$completaQueryPagos .= " and d.nombrerec like '%".$_REQUEST["emisor_nombre"]."%'";}
if($_REQUEST["emisor_rfc"] != ""){$completaQueryPagos .= " and d.rfcreceptor = '".$_REQUEST["emisor_rfc"]."'";}
if($_REQUEST["status"] != ""){
	$st = "";
	switch($_REQUEST["status"]){
		case "SINRELACION": $st = 5;break;
		case "NOCOMPLETOS": $st = 0;break;
		case "COMPLETOS": $st = 4;break;
		case "INCORRECTOS": $st = 3;break;
		default :
	}
	if($st != ""){
		$completaQueryPagos .= " and dstatus.status = '$st'";
	}
}

if($_SESSION['todo_RFC_p_prov_absa'] == "SI"){
	$complementoQuery="";
	$permisosComplemento=$_SESSION['permisos_c_prov_absa'];
}else{
	if(trim(strtoupper($_SESSION['RFC_RECEPTOR_PORTAL'])) != trim(strtoupper($_SESSION['rfc_cliente_p_prov_absa']))){
		$complementoQuery="and rfcreceptor='".$_SESSION['rfc_cliente_p_prov_absa']."'";
	}
}

//Valido la fecha
$completaQueryValidacionFechaInicio = "";
if($notificar_fecha_inicio != ""){
	$completaQueryValidacionFechaInicio = "fecha >= '".$tConfig['notificar_fecha_inicio']."' and ";
}


//CONSULTO NOTIFICACION DE PAGO DEL RECEPTOR
$qPagos = "select d.rfcreceptor,d.serie,d.folio,d.adicionalA as uuid,d.rfcemisor,d.moneda,d.tipocambio,d.nombrerec,d.total,
dstatus.totalPPD as totalPorMetodoDePagoPPD,dstatus.totalPUE as totalPorMetodoDePagoPUE,
d.con_complemento_correcto,d.adicionalB as formadepago, d.fechaPago,d.fecha, dstatus.status, date_format(d.fechaPago,'%Y%m%d%H%i%s') as formatFechaPago
from doce d inner join recibecfd_doce_status dstatus
ON d.adicionalA=dstatus.uuid
where $completaQueryValidacionFechaInicio d.tipodocto='NOTIFICACION DE PAGO' and d.rfcemisor='$rfcemisor' $completaQueryPagos $complementoQuery $permisosComplemento
group by d.adicionalA";

/*$qPagos = "select d.rfcreceptor,d.serie,d.folio,d.adicionalA as uuid,d.rfcemisor,d.moneda,d.tipocambio,d.nombrerec,d.total,sum(if(r.MetodoDePago = 'PPD',pdr.Monto,0)) as totalPorMetodoDePagoPPD,sum(if(r.MetodoDePago = 'PUE',pdr.Monto,0)) as totalPorMetodoDePagoPUE,d.con_complemento_correcto,d.adicionalB as formadepago,pdr.MetodoDePago as MetodoDePago
from doce d left join pago_documentos_ref pdr
on d.adicionalA = pdr.doce_uuid
left join recibedoce r
ON r.uuid = pdr.uuidcfdirelacionado
where $completaQueryValidacionFechaInicio d.tipodocto='NOTIFICACION DE PAGO' and d.rfcemisor='$rfcemisor' $completaQueryPagos $complementoQuery $permisosComplemento
group by d.adicionalA";*/
// echo $qPagos;exit;

if(!$rPago = mysqli_query($conexion->CONEXION,$qPagos)){
	echo mysqli_error($conexion->CONEXION);
	?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar los pagos.","error.");</script><?exit;
}
if(mysqli_num_rows($rPago) <= 0){
	?><script>$j_6.messager.alert("Error","No se encontraron documentos de pago.","error.");</script><?exit;
}
?>
<?if(trim($_SESSION["sesion_editar_expediente"]) == "1"){?>
<script>
function cambiaStatusConComplemento(uuid){
	var img = $j_6("#img_"+uuid).attr("src");
	if(img.indexOf("ok.png") != -1){
		$j_6.messager.confirm("Confirmar.","<?=utf8_encode("�")?>Esta seguro de marcar el pago como incorrecto?",function(r){
			if(r){
				$j_6.post("formularios/extras/cambia_status_con_complemento.php",{uuid: uuid,status:0},function(data){
					$j_6("#result").html(data);
				});
			}else{
				return false;
			}
		});
	}else{
		$j_6.messager.confirm("Confirmar.","<?=utf8_encode("�")?>Esta seguro de marcar el pago como correcto?",function(r){
			if(r){
				$j_6.post("formularios/extras/cambia_status_con_complemento.php",{uuid: uuid,status:1},function(data){
					$j_6("#result").html(data);
				});
			}else{
				return false;
			}
		});
	}
}
</script>

<?}?>
<?
//ITERO TODOS LOS PAGOS
while($tPago = mysqli_fetch_array($rPago)){
		$codigo = '$tPago["status"] = $MOD_NP_STATUS_'.$tPago["status"].';';
		eval($codigo);
		$tablePago = "";
		$validarTipoCambio = true;


		$tablePago = '<table width="98%" bgcolor="white" style="border: 5px #DDDDDD solid;" id="Pago_'.$tPago["uuid"].'">
			<tr>
				<th style="background-color: #DDDDDD; text-align: center" colspan="11">Pago</th>
			</tr>
			<tr style="background-color: #DDDDDD; text-align: center">
				<td>Status</td>
				<td>Serie</td>
				<td>Folio</td>
				<td>Total PUE</td>
				<td>Total PPD</td>
				<td>Total</td>
				<td>Moneda</td>
				<td>Tipo Cambio</td>
				<td>Forma de Pago</td>
				<td>Proveedor</td>
				<td>Fecha de Pago</td>
			</tr>
			<tr>
				<td>'.$tPago["status"].'</td>
				<td>'.$tPago["serie"].'</td>
				<td>'.$tPago["folio"].'</td>
				<td id="'.$tPago["uuid"].'">'.$tPago["totalPorMetodoDePagoPUE"].'</td>
				<td style="ESTILOTOTALNPVSREP" id="totalpago_'.$tPago["uuid"].'">'.$tPago["totalPorMetodoDePagoPPD"].'</td>
				<td id="'.$tPago["uuid"].'">'.$tPago["total"].'</td>
				<td>'.$tPago["moneda"].'</td>
				<td>'.$tPago["tipocambio"].'</td>
				<td>'.$tPago["formadepago"].'</td>
				<td>'.$tPago["nombrerec"].'</td>
				<td>'.$tPago["fechaPago"].'</td>
			</tr>';

		$qPagoRecibePago = "select pdr.uuidcfdirelacionado,
		r1.serie,r1.folio,
		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,r1.MetodoDePago as MetodoDePagoDoc,rpdr.MetodoDePago as MetodoDePagoRPDR,pdr.MetodoDePago as MetodoDePagoPDR, r1.nombreemi,r1.total as totalCFDI, rdp.MonedaP as RDPmoneda,rdp.Monto as RDPmonto,rdp.recibedoce_UUID,
	rdp.TipoCambioP as RDPtipocambio,rdp.formadepago, rdp.FechaPago as RDPFechaPago, date_format(rdp.FechaPago,'%Y%m%d%H%i%s') as formatRDPFechaPago, rcomplemento.status as statusComplemento,rcomplemento.uuid as RepUUID,rcomplemento.serie as RepSerie,rcomplemento.folio as RepFolio,
	rdt.totalPagoDocumentosRef, rdt.totalIngresoCompensado, rdt.ImpPagadoComplemento, rdt.FechaNP, rdt.numReferenciasPagoDocumentosRef,
	(select count(*) from pago_documentos_ref where uuidcfdirelacionado=pdr.uuidcfdirelacionado and numparcialidad=pdr.numparcialidad) as numParcialidadDuplicada
	from pago_documentos_ref pdr
	left join recibedoce r1
	ON pdr.uuidcfdirelacionado = r1.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
	left join recibedoce_totales rdt
	ON rdt.uuid=r.uuid
	left join recibedoce rcomplemento on rdp.recibedoce_UUID = rcomplemento.uuid
	where pdr.doce_uuid='".$tPago["uuid"]."' and rcomplemento.status IN ('A','S','W','WS')";

	$qMoneda = "select moneda from pago_documentos_ref where doce_uuid = '".$tPago["uuid"]."' group by moneda";
	if(!$rMoneda = mysqli_query($conexion->CONEXION,$qMoneda)){
		?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar las monedas de la NP <?php echo $tPago["serie"].$tPago["folio"];?>","error.");</script><?exit;
	}
	if(mysqli_num_rows($rMoneda) > 0){
		if(mysqli_num_rows($rMoneda) == 1){
			$qMoneda = "select moneda from pago_documentos_ref where doce_uuid = '".$tPago["uuid"]."' group by moneda limit 1";
			if(!$rMoneda = mysqli_query($conexion->CONEXION,$qMoneda)){
				?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar la moneda detalle de la NP <?php echo $tPago["serie"].$tPago["folio"];?>","error.");</script><?exit;
			}
			$tMoneda = mysqli_fetch_assoc($rMoneda);
			if(trim(strtoupper($tMoneda["moneda"])) == trim(strtoupper($tPago["moneda"]))){
				$validarTipoCambio = false;
			}
		}
	}else{
		?><script>$j_6.messager.alert("Error","No se encontraron las monedas de pago de la NP <?php echo $tPago["serie"].$tPago["folio"];?>","error.");</script><?exit;
	}





	// where pdr.doce_uuid='".$tPago["uuid"]."' and r1.MetodoDePago='PPD'";

	// echo $qPagoRecibePago."<br/>"."<br/>"."<br/>";continue;


		if(!$rPagoRecibePago = mysqli_query($conexion->CONEXION,$qPagoRecibePago)){
			?><script>$j_6.messager.alert("Error","Ocurrio un error al consultar los documentos de referencia de pagos.","error.");</script><?exit;
		}

		if(mysqli_num_rows($rPagoRecibePago) <= 0){

			$tablePago.='<tr>
				<td colspan="10" style="padding: 20px 20px 20px 20px">
					<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>
			</tr>
			</table>';
			if($_REQUEST["status"] == "SINRELACION"){
				if($tPago["con_complemento_correcto"] != "1"){
					echo $tablePago;
					continue;
				}
			}
			if($_REQUEST["status"] == "" ){
					echo $tablePago;
					continue;
			}
			continue;
		}
		//Si es una NP sin PPDs la ignoro
		if($tPago["totalPorMetodoDePagoPPD"] == 0){
			continue;
		}

		$con=0;

		$tablePago .='<tr id="tr_'.$tPago["uuid"].'">
				<td colspan="11" style="padding: 20px 20px 20px 20px">
					<table width="100%" bgcolor="white" style="border: 2px #DDDDDD solid">
						<tr style="color: #FFFFFF">
							<th style="background-color: #2476af; text-align: center" colspan="10">Pago / ICFDI 3.3</th>
							<th style="background-color: #000000; text-align: center" colspan="10">Complemento / ICFDI 3.3</th>
						</tr>
						<tr style="color: #FFFFFF">
							<td width="5%" style="background-color: #2476af">Serie</td>
							<td width="10%" style="background-color: #2476af">Folio</td>
							<td width="5%" style="background-color: #2476af">UUID</td>
							<td width="5%" style="background-color: #2476af">Metodo de Pago CFDI</td>
							<td width="5%" style="background-color: #2476af">Metodo de Pago NP</td>
							<td width="5%" style="background-color: #2476af">Parcialidad</td>
							<td width="5%" style="background-color: #2476af">Fecha de Pago</td>
							<td width="5%" style="background-color: #2476af">Moneda</td>
							<td width="5%" style="background-color: #2476af">T. Cambio</td>
							<td width="5%" style="background-color: #2476af">Monto</td>



							<td width="5%" style="background-color: #000000">Metodo de Pago REP</td>
							<td width="5%" style="background-color: #000000">Parcialidad</td>
							<td width="5%" style="background-color: #000000">Fecha de Pago</td>
							<td width="5%" style="background-color: #000000">Moneda</td>
							<td width="5%" style="background-color: #000000">T. Cambio</td>
							<td width="5%" style="background-color: #000000">Forma de Pago</td>
							<td width="5%" style="background-color: #000000">Monto</td>
							<td width="5%" style="background-color: #000000">REP UUID</td>
							<td width="5%" style="background-color: #000000">REP Serie</td>
							<td width="5%" style="background-color: #000000">REP Folio</td>
						</tr>';

		$sumaMontoPago=0.00;
		$banIncorrecto=false;
		$banFaltante=false;
		$totalMontosFacturasNP=0.00;
		$statusNPvsCom = "";
		$banIncorrecto=false;
		$totalEncabezadoComplemento = 0.00;
		while($tPagoRecibePago = mysqli_fetch_array($rPagoRecibePago,MYSQLI_ASSOC)){
			//Si es una PUE la ignoro
			if(trim($tPagoRecibePago["MetodoDePagoDoc"]) == "PUE"){
				continue;
			}

			$totalEncabezadoComplemento = $tPagoRecibePago["RDPmonto"];

			$tdEstiloMonto = "";
			$tdEstiloTipoCambio = "";
			$tdEstiloMoneda = "";
			$tdEstiloFechaPago = "";
			$tdEstiloParcialidad = "";
			$tdEstiloFormaDePago = "";
			$tdEstiloMetodoDePago = "";
			$tdEstiloParcialidadPago = "";
			$tdEstiloMetodoDePagoCFDINP = "";



			if($tPago["con_complemento_correcto"] == "1"){
				$statusNPvsCom = "COMPLETOS";
			}elseif($tPagoRecibePago["statusComplemento"] == "C" || $tPagoRecibePago["statusComplemento"] == "R" || trim($tPagoRecibePago["RPDRimpagado"]) == ""){
				$tdEstiloMonto = "style='background-color: red'";
				$tdEstiloTipoCambio = "style='background-color: red'";
				$tdEstiloMoneda = "style='background-color: red'";
				$tdEstiloFechaPago = "style='background-color: red'";
				$tdEstiloParcialidad = "style='background-color: red'";
				$tdEstiloParcialidadPago = "style='background-color: red'";
				$tdEstiloFormaDePago = "style='background-color: red'";
				$tdEstiloMetodoDePago = "style='background-color: red'";
				$tPagoRecibePago["RPDRimpagado"] = "";
				$tPagoRecibePago["RPDRmoneda"]="";
				$tPagoRecibePago["RPDRtipocambio"]="";
				$tPagoRecibePago["formadepago"]="";
				$tPagoRecibePago["RPDRnumparcialidad"]="";
				$statusNPvsCom = "NOCOMPLETOS";
			}else{

							//Valido el metodo de pago CFDI vs NP en caso de que en CFDI sea PUE, si es PPD no hago esta validaci�n
							/*if(trim($tPagoRecibePago["MetodoDePagoDoc"]) == "PUE"){
								$banConPUES = true;
								// echo trim($tPagoRecibePago["MetodoDePagoPDR"])." != ".trim($tPagoRecibePago["MetodoDePagoDoc"]);exit;
								if(trim($tPagoRecibePago["MetodoDePagoPDR"]) != trim($tPagoRecibePago["MetodoDePagoDoc"])){
									$tdEstiloMetodoDePagoCFDINP = "style='background-color: red'";
									$tdEstiloMetodoDePago = "style='background-color: red'";
									$banIncorrecto=true;
								}else{
									if($tPagoRecibePago['MetodoDePagoRPDR'] == ""){
										continue;
									}
								}
							}*/

							$con++;
							$res = $con%2;
							$trEstilo="";
							if($res == 0)
								$trEstilo = "style='background-color: #999999'";

							//Valido el monto pagado al documento en NP vs Complemento
							if((float) $tPagoRecibePago["PDRmontoPago"] != (float) $tPagoRecibePago["RPDRimpagado"]){
								$diferencia = (float) $tPagoRecibePago["PDRmontoPago"] - (float) $tPagoRecibePago["RPDRimpagado"];
								if($diferencia < 0){
									$diferencia = $diferencia * -1;
								}

								if((float) $diferencia > (float) $tConfig["tolerancia_NPvsComplemento"]){
									$tdEstiloMonto = "style='background-color: red'";
									$banIncorrecto = true;
								}else{
									$tdEstiloMonto = "style='background-color: orange'";
								}
							}

							//Valido el tipo de cambio del pago al documento en NP vs Complemento
							if($validarTipoCambio == true){
								if((float) $tPagoRecibePago["PDRtipocambio"] != (float) $tPagoRecibePago["RPDRtipocambio"]){
									$diferencia = (float) $tPagoRecibePago["PDRtipocambio"] - (float) $tPagoRecibePago["RPDRtipocambio"];
									if($diferencia < 0){
										$diferencia = $diferencia * -1;
									}

									if((float) $diferencia > (float) $tConfig["tolerancia_tipoCambio"]){
										$tdEstiloTipoCambio = "style='background-color: red'";
										$banIncorrecto = true;
									}else{
										$tdEstiloTipoCambio = "style='background-color: orange'";
									}
								}
							}

							//Valido la moneda
							if($tPagoRecibePago["PDRmoneda"] != $tPagoRecibePago["RPDRmoneda"]){
								$tdEstiloMoneda = "style='background-color: red'";
								$banIncorrecto = true;
							}
							//Valido la fecha de pago
							if($valida_fecha_pago == "1"){
								if($tPago["formatFechaPago"] == ""){
									$tdEstiloFechaPago = "style='background-color: red'";
									$banIncorrecto = true;
								}else if(substr($tPago["formatFechaPago"],0,8) >= substr($formatFecha_valida_fecha_pago,0,8)){
									if(substr($tPagoRecibePago["formatRDPFechaPago"],8,6) != "120000"){
										if($tPago["formatFechaPago"] != $tPagoRecibePago["formatRDPFechaPago"]){
											$tdEstiloFechaPago = "style='background-color: red'";
											$banIncorrecto = true;
										}
									}
								}
							}
							//Valido el numero de parcialidad
							if($tPagoRecibePago["PDRnumparcialidad"] != $tPagoRecibePago["RPDRnumparcialidad"]){
								$tdEstiloParcialidad = "style='background-color: red'";
								$tdEstiloParcialidadPago = "style='background-color: red'";
								$banIncorrecto = true;
							}
							//Valido la forma de pago
							if(trim($tPagoRecibePago["formadepago"]) != trim($tPago["formadepago"])){
								$tdEstiloFormaDePago = "style='background-color: red'";
								$banIncorrecto = true;
							}


							//Valido el metodo de pago NP vs Complemento
							//echo trim($tPagoRecibePago["MetodoDePagoPDR"])." != ".trim($tPagoRecibePago["MetodoDePagoRPDR"]);exit;

							if(trim($tPagoRecibePago["MetodoDePagoPDR"]) != trim($tPagoRecibePago["MetodoDePagoRPDR"])){
								$tdEstiloMetodoDePago = "style='background-color: red'";
								$banIncorrecto = true;
							}

							//Valido que si es PUE, el pago haya sido por completo al total del CFDI
							/*if(trim($tPago["MetodoDePagoRPDR"]) == "PUE"){
								$totalCompensadoMasPagadoCom = $tPagoRecibePago["RPDRimpagado"]+$tPagoRecibePago["totalIngresoCompensado"];
								if($totalCompensadoMasPagadoCom != $tPagoRecibePago["totalCFDI"]){
									if($totalCompensadoMasPagadoCom > $tPagoRecibePago["totalCFDI"]){
										$diferencia = (float) $totalCompensadoMasPagadoCom - (float) $tPagoRecibePago["totalCFDI"];
									}
									if($totalCompensadoMasPagadoCom < $tPagoRecibePago["totalCFDI"]){
										$diferencia = (float) $tPagoRecibePago["totalCFDI"] - (float) $totalCompensadoMasPagadoCom;
									}
									if($diferencia < 0){
										$diferencia = $diferencia * -1;
									}
									if((float) $diferencia > (float) $tConfig["tolerancia_FacturaPagada"]){
										$tdEstiloMonto = "style='background-color: red'";
									}
								}
							}*/


							if($tPagoRecibePago["numParcialidadDuplicada"] > 1){
								$banIncorrecto = true;
								if($tdEstiloParcialidadPago != ""){
									$tdEstiloParcialidadPago = "class='tdParcialidadPago'";
								}else{
									$tdEstiloParcialidadPago = "style='background-color: yellow'";
								}
							}

			}
			//Sumo los importes pagados en REP
			// $sumaMontoPago += (trim($tPagoRecibePago["RPDRimpagado"]) == "")? 0.00 : trim($tPagoRecibePago["RPDRimpagado"]);
			$sumaMontoPago += (trim($tPagoRecibePago["RPDRimpagado"]) == "")? 0.00 : ((float) (trim($tPagoRecibePago["RPDRimpagado"]))) / (float) $tPagoRecibePago["RPDRtipocambio"];
			//Sumo los importes pagados en NP
			// $totalMontosFacturasNP = (float) $totalMontosFacturasNP + (float) $tPagoRecibePago["PDRmontoPago"];
			$totalMontosFacturasNP = (float) $totalMontosFacturasNP + (((float) $tPagoRecibePago["PDRmontoPago"]) / (float) $tPagoRecibePago["PDRtipocambio"]);

				$tablePago.='<tr '.$trEstilo.'>
					<td>'.$tPagoRecibePago["serie"].'</td>
					<td>'.$tPagoRecibePago["folio"].'</td>
					<td>'.$tPagoRecibePago["uuidcfdirelacionado"].'</td>
					<td '.$tdEstiloMetodoDePagoCFDINP.'>'.$tPagoRecibePago["MetodoDePagoDoc"].'</td>
					<td '.$tdEstiloMetodoDePago.'>'.$tPagoRecibePago["MetodoDePagoPDR"].'</td>
					<td '.$tdEstiloParcialidadPago.'>'.$tPagoRecibePago["PDRnumparcialidad"].'</td>
					<td '.$tdEstiloFechaPago.'>'.$tPago["fechaPago"].'</td>
					<td '.$tdEstiloMoneda.'>'.$tPagoRecibePago["PDRmoneda"].'</td>
					<td '.$tdEstiloTipoCambio.'>'.$tPagoRecibePago["PDRtipocambio"].'</td>
					<td '.$tdEstiloMonto.'>'.$tPagoRecibePago["PDRmontoPago"].'</td>


					<td '.$tdEstiloMetodoDePago.'>'.$tPagoRecibePago["MetodoDePagoRPDR"].'</td>
					<td '.$tdEstiloParcialidad.'>'.$tPagoRecibePago["RPDRnumparcialidad"].'</td>
					<td '.$tdEstiloFechaPago.'>'.$tPagoRecibePago["RDPFechaPago"].'</td>
					<td '.$tdEstiloMoneda.'>'.$tPagoRecibePago["RPDRmoneda"].'</td>
					<td '.$tdEstiloTipoCambio.'>'.$tPagoRecibePago["RPDRtipocambio"].'</td>
					<td '.$tdEstiloFormaDePago.'>'.$tPagoRecibePago["formadepago"].'</td>
					<td '.$tdEstiloMonto.'>'.$tPagoRecibePago["RPDRimpagado"].'</td>
					<td>'.$tPagoRecibePago["RepUUID"].'</td>
					<td>'.$tPagoRecibePago["RepSerie"].'</td>
					<td>'.$tPagoRecibePago["RepFolio"].'</td>

				</tr>	';

		}//While documentos pagados


		$tdEstiloPagoTotal="";
		$tdEstiloPagoTotalComplemento="";
		$tdEstiloTotalMontosFacturasNP="";


		//Valido el monto total de la Notificaci�n de Pago contra el monto total del complemento.
		//Multiplico por 1000000 para sacar la parte entera y poder comparar enteros, ya que con decimales hay problemas
		$totalEnPago1000000 = $tPago["totalPorMetodoDePagoPPD"] * 1000000;
		$sumaMontoPago1000000 = $sumaMontoPago * 1000000;
		$totalEncabezadoComplemento1000000 = $totalEncabezadoComplemento * 1000000;
		$arrTotalEnPago1000000 = explode(".",$totalEnPago1000000);
		$arrSumaMontoPago1000000 = explode(".",$sumaMontoPago1000000);
		$arrTotalEncabezadoComplemento1000000 = explode(".",$totalEncabezadoComplemento1000000);

		// if((float) $tPago["total"] != (float) $sumaMontoPago){
		if($arrTotalEnPago1000000[0] != $arrSumaMontoPago1000000[0]){
			$diferencia = (float) $tPago["totalPorMetodoDePagoPPD"] - (float) $sumaMontoPago;
			if($diferencia < 0){
				$diferencia = $diferencia * -1;
			}

			if((float) $diferencia > (float) $tConfig["tolerancia_NPvsComplemento"]){
				$tdEstiloPagoTotal = "style='text-align: right; background-color: red'";
				if($statusNPvsCom != "NOCOMPLETOS" && $statusNPvsCom != "COMPLETOS"){
					$banIncorrecto = true;
				}

			}else{
				$tdEstiloPagoTotal = "style='text-align: right; background-color: orange'";
			}
		}

		//Valido total encabezado complemento vs total en NP
		if($arrTotalEnPago1000000[0] != $arrTotalEncabezadoComplemento1000000[0]){
			$diferencia = (float) $tPago["totalPorMetodoDePagoPPD"] - (float) $totalEncabezadoComplemento;
			if($diferencia < 0){
				$diferencia = $diferencia * -1;
			}

			if((float) $diferencia > (float) $tConfig["tolerancia_NPvsComplemento"]){
				$tdEstiloPagoTotalComplemento = "style='text-align: right; background-color: red'";
				if($statusNPvsCom != "NOCOMPLETOS" && $statusNPvsCom != "COMPLETOS"){
					$banIncorrecto = true;
				}

			}else{
				$tdEstiloPagoTotalComplemento = "style='text-align: right; background-color: orange'";
			}
		}
		//Valido el monto total de la Notificaci�n de Pago contra el total de la suma de los montos de las facturas
		//Multiplico por 1000000 para sacar la parte entera y poder comparar enteros, ya que con decimales hay problemas
		$totalMontosFacturasNP1000000 = $totalMontosFacturasNP * 1000000;
		$arrTotalMontosFacturasNP1000000 = explode(".",$totalMontosFacturasNP1000000);
		if($arrTotalEnPago1000000[0] != $arrTotalMontosFacturasNP1000000[0]){
			$diferencia = (float) $tPago["totalPorMetodoDePagoPPD"] - (float) $totalMontosFacturasNP;
			if($diferencia < 0){
				$diferencia = $diferencia * -1;
			}
			if((float) $diferencia > (float) $tConfig["tolerancia_NPvsFactura"]){
				$tdEstiloTotalMontosFacturasNP = "style='text-align: right; background-color: red'";

				if($statusNPvsCom != "NOCOMPLETOS" && $statusNPvsCom != "COMPLETOS"){
					$banIncorrecto = true;
				}
			}else{
				$tdEstiloTotalMontosFacturasNP = "style='text-align: right; background-color: orange'";
			}
		}

		if($tdEstiloTotalMontosFacturasNP == ""){$tdEstiloTotalMontosFacturasNP = "style='text-align: right'";}
		if($tdEstiloPagoTotal == ""){$tdEstiloPagoTotal = "style='text-align: right'";}

					$tablePago .='	<tr>
							<th style="text-align: right" colspan="9">Total Pago</th>
							<th colspan="1" '.$tdEstiloTotalMontosFacturasNP.'>'.number_format(floor($totalMontosFacturasNP*1000000)/1000000, 6,".",",").'</th>
							<th style="text-align: right" colspan="6">Total Suma Complemento</th>
							<th colspan="1" '.$tdEstiloPagoTotal.'>'.number_format(floor($sumaMontoPago*1000000)/1000000, 6,".",",").'</th>
						</tr>
						<tr>
							<th style="text-align: right" colspan="16">Total Complemento</th>
							<th colspan="1" '.$tdEstiloPagoTotalComplemento.'>'.number_format(floor($totalEncabezadoComplemento*1000000)/1000000, 6,".",",").'</th>
						</tr>
					</table>
				</td>';



		if($banIncorrecto == true){
			$statusNPvsCom = "INCORRECTOS";
		}

			if($statusNPvsCom == "INCORRECTOS" || $statusNPvsCom == "NOCOMPLETOS"){
				$tablePago .= '<td>
						<table width="98%" bgcolor="white" style="border: 2px #DDDDDD solid">
							<tr>
								<th style="background-color: #fcfbe5; text-align: center"><img id="img_'.$tPago["uuid"].'" src="Imagenes/Attention_A.png"/></th>
							</tr>';
							if(trim($_SESSION["sesion_editar_expediente"]) == "1"){
							$tablePago .= '<tr>
								<td>
									<a href="#" id="lbl_'.$tPago["uuid"].'" onclick="cambiaStatusConComplemento(\''.$tPago["uuid"].'\')" >Marcar como correcto.</a>
								</td>
							</tr>';
							}
						$tablePago .= '</table>
					</td>';
			}elseif($statusNPvsCom == "COMPLETOS"){
					$tablePago .= '<td>
						<table width="98%" bgcolor="white" style="border: 2px #DDDDDD solid">
							<tr>
								<th style="background-color: #fcfbe5; text-align: center"><img id="img_'.$tPago["uuid"].'" src="Imagenes/ok.png"/></th>
							</tr>';
							if(trim($_SESSION["sesion_editar_expediente"]) == "1"){
								$tablePago .= '<tr>
								<td>
									<a href="#" id="lbl_'.$tPago["uuid"].'" onclick="cambiaStatusConComplemento(\''.$tPago["uuid"].'\')" >Marcar como NO correcto.</a>
								</td>
							</tr>';
							}
					$tablePago .= '	</table>
					</td>';
			}

			$tablePago .= '</tr>
		</table>';

			// Valido el total pago PPD de NP vs total pago PPD en REP
			if($arrTotalEnPago1000000[0] != $arrSumaMontoPago1000000[0]){
				$diferencia = (float) $tPago["totalPorMetodoDePagoPPD"] - (float) $sumaMontoPago;
				if($diferencia < 0){
					$diferencia = $diferencia * -1;
				}

				//Si paso la diferencia lo marco rojo, si no aplico tolerancia y lo marco naranja
				if((float) $diferencia > (float) $tConfig["tolerancia_NPvsComplemento"]){
					$tablePago = str_replace("ESTILOTOTALNPVSREP","background-color: red",$tablePago);
				}else{
					$tablePago = str_replace("ESTILOTOTALNPVSREP","background-color: orange",$tablePago);
				}
			}

			if($_REQUEST["status"] == ""){
				echo $tablePago;
				continue;
			}
			if($_REQUEST["status"] == $statusNPvsCom){
						echo $tablePago;
			}

}//while
?>
