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

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

$uuidPago = $_REQUEST["doce_uuid"];
$uuidIngreso = $_REQUEST["uuidRecibe"];

$tDoce = getDoce($uuidPago);
$tIngreso = getDatosIngreso($uuidIngreso);

$tPagoIngreso = getPagoDocumentosRefIngreso($uuidPago,$uuidIngreso);
$tipocambio=$tIngreso;
$monto = 0.00;
$numparcialidad=1;
if($tPagoIngreso != 0){
	$tipocambio=$tPagoIngreso["tipocambio"];
	$monto = $tPagoIngreso["tipocambio"];
	$numparcialidad=$tPagoIngreso["numparcialidad"];
}

$tIngresoPagado = getTotalPagoAlIngreso($uuidIngreso);
$totalIngresoCompensado = getTotalCompensadoAlIngreso($uuidIngreso);

//Valido si la query me trae montos vacios, si es asi los seteo a ceros.
@$tPagoIngreso["tipocambio"] =(trim($tPagoIngreso["tipocambio"]) == "" || $tPagoIngreso["tipocambio"] == 0)? 0.00 : $tPagoIngreso["tipocambio"];
@$tPagoIngreso["monto"] =(trim($tPagoIngreso["monto"]) == "" || $tPagoIngreso["monto"] == 0)? 0.00 : $tPagoIngreso["monto"];

function getDoce($uuid){
	global $conexion;
	$queryDocs = "SELECT tipodocto,rfcemisor,serie,folio,adicionalA as uuid,total,tipocambio,moneda FROM doce
	WHERE adicionalA='$uuid'";
	if(!$rDocs = mysqli_query($conexion->CONEXION,$queryDocs)){
		?><script>$j_7.messager.alert("Error","Ocurrio un error al consultar el pago.<br/>Intente nuevamente.","error");</script><?exit;
	}
		
	if(mysqli_num_rows($rDocs) > 0){
		$tmpDocDoce = mysqli_fetch_assoc($rDocs);
		return $tmpDocDoce;
	}else{
		?><script>$j_7.messager.alert("Error","No se encontro el pago.<br/>Intente nuevamente.","error");</script><?exit;
	}
}
function getPagoDocumentosRefIngreso($uuidPago,$uuidRecibe){
	global $conexion;
	$queryDocs = "SELECT tipocambio,monto,numparcialidad FROM pago_documentos_ref
	WHERE doce_uuid='$uuidPago' and uuidcfdirelacionado='$uuidRecibe'";
	if(!$rTmp = mysqli_query($conexion->CONEXION,$queryDocs)){
		?><script>$j_7.messager.alert("Error","Ocurrio un error al consultar el pago de referencia.<br/>Intente nuevamente.","error");</script><?exit;
	}
	if(mysqli_num_rows($rTmp) > 0){
		$tmp = mysqli_fetch_assoc($rTmp);
		return $tmp;
	}else{
		return 0;
	}
}

function getTotalPagoAlIngreso($uuid){
	global $conexion;
	//TRAIGO LA SUMA TOTAL PAGADA AL DOCUMENTO DE INGRESO
	$qIngresoPagado="select sum(monto) as montoPagadoTotalIngreso from pago_documentos_ref
	where uuidcfdirelacionado='$uuid'";
	if(!$rIngresoPagado = mysqli_query($conexion->CONEXION,$qIngresoPagado)){
		?><script>$j_7.messager.alert("Error","Ocurrio un error al consultar el monto total compensado del egreso.<br/>Intente nuevamente.","error");</script><?exit;
	}
	if(mysqli_num_rows($rIngresoPagado) > 0){
		$tIngresoPagado = mysqli_fetch_assoc($rIngresoPagado);
		return $tIngresoPagado["montoPagadoTotalIngreso"];
	}else{
		return 0.00;
	}
}
function getDatosIngreso($uuid){
	global $conexion;
	//TRAIGO LOS DATOS DEL DOCUMENTO DE INGRESO.
	$qIngreso = "select nombreemi,serie,folio,uuid,total,tipomoneda,tipocambio from recibedoce where uuid='$uuid'";
	if(!$rIngreso = mysqli_query($conexion->CONEXION,$qIngreso)){
		?><script>$j_7.messager.alert("Error","Ocurrio un error al consultar el documento de ingreso.<br/>Intente nuevamente.","error");</script><?exit;
	}
	if(mysqli_num_rows($rIngreso) > 0){
		$tIngreso = mysqli_fetch_assoc($rIngreso);
		return $tIngreso;
	}else{?><script>$j_7.messager.alert("Informaci�n.","No se encontro el documento de ingreso.<br/>Intente nuevamente.","info");</script><?exit;}
}
function getTotalCompensadoAlIngreso($uuid){
	global $conexion;
	$qIngresoCompensado="select sum(monto_enmoneda_padre) as TotalCompensadoIngreso from recibedoce_compensacion
						where uuid_padre='$uuid'";
	if(!$rIngresoCompensado = mysqli_query($conexion->CONEXION,$qIngresoCompensado)){
		?><script>$j_7.messager.alert("Error","Ocurrio un error al consultar el monto total compensado del egreso.<br/>Intente nuevamente.","error");</script><?exit;
	}
	$suma=0.00;
	if(mysqli_num_rows($rIngresoCompensado) > 0){
		$tIngresoCompensado = mysqli_fetch_assoc($rIngresoCompensado);
		return $tIngresoCompensado["TotalCompensadoIngreso"];
	}
	return 0.00;
}
?>
<script>
$j_7(document).ready(function() {
		$j_7('#form, #fat, #form_compensar').submit(function() {
			$j_7("body").addClass("loading");
        $j_7.ajax({
            type: 'POST',
            url: $j_7(this).attr('action'),
            data: $j_7(this).serialize(),
            success: function(data) {
					$j_7('#result').html(data);
					$j_7('#loading').hide();
					$j_7("body").removeClass("loading");
            }
        })
        
        return false;
    });	
});

function convertirMontos(elemento){
	if(elemento.value.trim() == ""){
		elemento.value = 0.00;
	}
	<?if($tDoce["moneda"] != $tIngreso["tipomoneda"]){?>
	var tipocambioingreso = $j_7("#tipocambioingreso").val();
	var tipocambiopago = $j_7("#tipocambiopago").val();
	<?}else{?>
	var tipocambioingreso = 1;
	var tipocambiopago = 1;
	<?}?>
	var monto_enmoneda_padre = $j_7("#monto_enmoneda_padre").val();
	var monto_enmoneda_pago = $j_7("#monto_enmoneda_pago").val();

	if(elemento.name=="monto_enmoneda_pago" || elemento.name=="monto_enmoneda_pago"){
		var montoPesos = parseFloat(monto_enmoneda_pago) * parseFloat(tipocambiopago);
		//console.log(montoPesos);
		var monedaPadre = '<?=$tIngreso["tipomoneda"]?>';
		if(monedaPadre.toUpperCase != "MXN"){
			if(tipocambioingreso <= 0){
				$j_7("#monto_enmoneda_padre").val(0.00);
				return false;
			}
			montoPesos = parseFloat(montoPesos) / parseFloat(tipocambioingreso);
		}
		$j_7("#monto_enmoneda_padre").val(montoPesos.toFixed(2));
	}else{
		var montoPesos = parseFloat(monto_enmoneda_padre) * parseFloat(tipocambioingreso);
		var monedaHijo = '<?=$tDoce["moneda"]?>';
		if(monedaHijo.toUpperCase != "MXN"){
			if(tipocambiopago <= 0){
				$j_7("#monto_enmoneda_pago").val(0.00);
				return false;
			}
			montoPesos = parseFloat(montoPesos) / parseFloat(tipocambiopago);
		}
		$j_7("#monto_enmoneda_pago").val(montoPesos.toFixed(2));
	}
}
function validaMontos(){
	$j_7("body").addClass("loading");
	$j_7.post("extras/validaPagoIngreso.php",{uuidPago: '<?=$uuidPago?>',uuidIngreso: '<?=$uuidIngreso?>',monto_enmoneda_padre: $j_7("#monto_enmoneda_padre").val(),
	monto_enmoneda_pago: $j_7("#monto_enmoneda_pago").val(),tipocambioingreso: $j_7("#tipocambioingreso").val(),numparcialidad: $j_7("#numparcialidad").val()},function(data){
		$j_7('#result').html(data);
		//console.log(data);
		$j_7("body").removeClass("loading");
	});
}
close_w();
</script>
<style>
.formInput{
	font-size: 12px; 
	border-color: #fbca93;
}
.formInput[readonly=true]{
	font-size: 12px; 
	border-color: #fbca93;
	background-color: #DDDDDD;
}
</style>
<center><font color="gray" style="font-size: 14px"><strong>Agregar CFDI relacionado al pago</strong></font><br/><br/></center>
<form action="guardar/alta_referencia.php" name="form_compensar" id="form_compensar">
		<input type="hidden" name="uuidPago" id="uuidPago" value="<?=$uuidPago?>"/>
		<input type="hidden" name="uuidIngreso" id="uuidIngreso" value="<?=$uuidIngreso?>"/>
<table width="100%">
	<tr>
		<td colspan="6">
			<font style="font-size: 12px; border-color: #fbca93; font-weight: bold">I CFDI 3.3:</font>
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Emisor:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" value="<?=$tIngreso["nombreemi"]?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Serie:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" value="<?=$tIngreso["serie"]?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Folio:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" style="text-align: right" size="15" value="<?=$tIngreso["folio"]?>" />
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Moneda:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" value="<?=$tIngreso["tipomoneda"]?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Tipo cambio:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" style="text-align: right" value="<?=number_format($tIngreso["tipocambio"],2,".",",")?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Total:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" style="text-align: right" value="<?=$tIngreso["total"]?>" />
		</td>
	</tr>
	<tr>
		<td colspan="6">
			<font style="font-size: 12px; border-color: #fbca93; font-weight: bold">NOTIFICACI&Oacute;N DE PAGO:</font>
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Serie:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" value="<?=$tDoce["serie"]?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Folio:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" style="text-align: right" size="15" value="<?=$tDoce["folio"]?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Moneda:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" value="<?=$tDoce["moneda"]?>" />
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Tipo cambio:</font>
		</td>
		<td>
			<input class="formInput" id="tipocambiopago" name="tipocambiopago" readonly="true" type="text" style="text-align: right" size="15" value="<?=number_format($tDoce["tipocambio"],2,".",",")?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Total:</font>
		</td>
		<td>
			<input class="formInput" readonly="true" type="text" size="15" style="text-align: right" value="<?=$tDoce["total"]?>" />
		</td>
	</tr>
	<tr>
		<td colspan="6">
		<font style="font-size: 12px; border-color: #fbca93; font-weight: bold">En moneda del Pago:</font>
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Importe:</font>
		</td>
		<td>
			<input class="formInput" onBlur="convertirMontos(this);" onkeyup="onlyNumsAndOneDotAndLimitDecimals(this,6)" type="text" size="15" 
			style="text-align: right" value="<?=round((($tPagoIngreso["monto"] * $tPagoIngreso["tipocambio"]) / $tDoce["tipocambio"]),2,PHP_ROUND_HALF_UP)?>" name="monto_enmoneda_pago" id="monto_enmoneda_pago"/>
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Parcialidad:</font>
		</td>
		<td>
			<input class="formInput" onkeyup="onlyNums(this)" type="text" size="15" 
			style="text-align: right" value="<?=$tPagoIngreso["numparcialidad"]?>" name="numparcialidad" id="numparcialidad"/>
		</td>
	</tr>
	<tr>
		<td colspan="6">
		<font style="font-size: 12px; border-color: #fbca93; font-weight: bold">En moneda del Ingreso:</font>
		</td>
	</tr>
	<tr>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Tipo de Cambio:</font>
		</td>
		<?
		$readonlyTipoCambio = "readonly"; if($tDoce["moneda"] != $tIngreso["tipomoneda"]){
			$readonlyTipoCambio="";
		}?>
		<td>
			<input <?=$readonlyTipoCambio?> <?if($readonlyTipoCambio == ""){?>onkeyup="onlyNumsAndOneDotAndLimitDecimals(this,6)" onBlur="convertirMontos(this);"<?}?> 
			name="tipocambioingreso" id="tipocambioingreso" class="formInput" type="text" size="15" style="text-align: right" 
			value="<?=number_format((($tPagoIngreso["tipocambio"] <= 0)? $tIngreso["tipocambio"] : $tPagoIngreso["tipocambio"]),2,".","")?>" />
		</td>
		<td>
			<font style="font-size: 12px; border-color: #fbca93">Importe:</font>
		</td>
		<td>
			<input class="formInput" onkeyup="onlyNumsAndOneDotAndLimitDecimals(this,6)" onBlur="convertirMontos(this);" type="text" size="15" 
			style="text-align: right" name="monto_enmoneda_padre" id="monto_enmoneda_padre" value="<?=round($tPagoIngreso["monto"],2,PHP_ROUND_HALF_UP)?>" />
		</td>
	</tr>
	<tr>
		<td colspan="6"><input type="submit" value="Guardar" id="guardarPago"/></td>
	</tr>
	<tr>
		<th style="text-align: left" colspan="5">Total Compensado Ingreso:</th>
		<td id="totalDetalle" style="text-align: right"><?=round($totalIngresoCompensado,2,PHP_ROUND_HALF_UP)?></td>
	</tr>
	<tr>
		<th style="text-align: left" colspan="5">Total Pagado Ingreso:</th>
		<td id="totalDetalle" style="text-align: right"><?=round($tIngresoPagado,2,PHP_ROUND_HALF_UP)?></td>
	</tr>
</table>
</form>
<div id="result"></div>
