<?
session_name('portal_absa');
session_start();
$arrHTTP = explode("?",trim(strtoupper($_SERVER['HTTP_REFERER'])));
$http = trim(strtoupper($arrHTTP[0]));

if(!isset($_SESSION['usuario_p_prov_absa']) || trim($_SESSION['usuario_p_prov_absa']) == "" || (trim(strtoupper($_SESSION["URL_PORTAL"]."FORMULARIOS/FORM_EXPEDIENTE_COMPLEMENTOPAGO.PHP")) != $http && trim(strtoupper($_SESSION["URL_PORTAL"]."FORMULARIOS/FORM_EXPEDIENTE_ICFDI.PHP")) != $http && trim(strtoupper($_SESSION["URL_PORTAL"]."FORMULARIOS/FORM_EXPEDIENTE_PAGO.PHP")) != $http)){
	?><script>window.close();</script><?
	exit;
}
require("../../conexion/conectar.php");
require("../../libs/funciones.php");

if(!$TOLERANCIA_COMPENSADO_PAGADO = getINI("../../config.ini","TOLERANCIA_COMPENSADO_PAGADO=")){
	$TOLERANCIA_COMPENSADO_PAGADO =.5;
}

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

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

$qUpdate="update recibedoce_pagos_docto_relacionado set doce_uuid='$doce_uuid' where recibedoce_pagos_id='$recibedoce_pagos_id'";
if(!mysqli_query($conexion->CONEXION,$qUpdate)){
	?><script>$j_7.messager.alert("Error","Ocurrio un error al crear la relación. Intente nuevamente.","error");</script><?exit;
}

setBitacora($conexion, $_SESSION['usuario_p_prov_absa'], $_SESSION['rfc_cliente_p_prov_absa'], "UPDATE", "tabla recibedoce_pagos_docto_relacionado: agrega complemento pago", $qUpdate);

$tPagoDetalle = getPagoDetalle($recibedoce_pagos_id,$doce_uuid);
if($tPagoDetalle == 0){
	?><script>$j_7.messager.alert("Advertencia","Se hizo la relación del pago al complemento pero no se pudo verificar la relación documento por documento,<br/>La consulta no regreso los documentos del complemento.","warn");recargaExpediente();</script><?exit;
}
$conError=0;
for($i=0; $i < count($tPagoDetalle); $i++){
	$qRel = "select doce_uuid from pago_documentos_ref where uuidcfdirelacionado='".$tPagoDetalle[$i]["uuidcfdirelacionado"]."' and doce_uuid='$doce_uuid'";
	if(!$rRel = mysqli_query($conexion->CONEXION,$qRel)){
		$conError++;
		continue;
	}
	if(mysqli_num_rows($rRel) > 0){
		continue;
	}
	$qInsertCFDIRel = "insert into pago_documentos_ref set doce_UUID='$doce_uuid', uuidCFDIRelacionado='".$tPagoDetalle[$i]["uuidcfdirelacionado"]."', 
	Monto=".$tPagoDetalle[$i]["imppagado"].", NumParcialidad=".$tPagoDetalle[$i]["numparcialidad"].", MetodoDePago='".$tPagoDetalle[$i]["metododepago"]."',
	Moneda='".$tPagoDetalle[$i]["monedadr"]."', TipoCambio=".$tPagoDetalle[$i]["tipocambiodr"];
	if(!mysqli_query($conexion->CONEXION,$qInsertCFDIRel)){
		$conError++;
		continue;
	}
	setBitacora($conexion, $_SESSION['usuario_p_prov_absa'], $_SESSION['rfc_cliente_p_prov_absa'], "INSERT", "tabla pago_documentos_ref: inserta complemento de pago", $qInsertCFDIRel);
	if(mysqli_affected_rows($conexion->CONEXION) <= 0){
		$conError++;
	}
}
if($conError > 0){
	?><script>$j_7.messager.alert("Advertencia","Se hizo la relación del pago al complemento pero ocurrieron <?=$conError?> problema(s) al relacionar documento por documento.","warn");recargaExpediente();</script><?exit;
}else{
	?><script>$j_7.messager.alert("Informaci&oacute;n","Se ha logrado crear la referencia.","info");recargaExpediente();</script><?
}

function getPagoDetalle($recibedoce_pagos_id,$doce_uuid){
	global $conexion;
	$qPCFDI = "select doce_uuid,imppagado,monedadr,tipocambiodr,numparcialidad,uuidcfdirelacionado,metododepago from recibedoce_pagos_docto_relacionado where recibedoce_pagos_id=$recibedoce_pagos_id and doce_uuid='$doce_uuid'";
	if(!$rPCFDI = mysqli_query($conexion->CONEXION,$qPCFDI)){
		?><script>$j_7.messager.alert("Advertencia","Se hizo la relación del pago al complemento pero no se pudo verificar la relación documento por documento,<br/>La consulta de documentos del complemento marco un error inesperado.","warn");recargaExpediente();</script><?exit;
	}
	if(mysqli_num_rows($rPCFDI) > 0){
		$rows = array();
		while($tmp = mysqli_fetch_array($rPCFDI,MYSQLI_ASSOC)){
			$rows[] = $tmp;
		}
		return $rows;
	}
	return 0;
}

?>