<?
/*
Autor: Lic. Carlos Alberto Vaca Coronado
Version: 3.3.0
Cambio: Se valida si ya esta como pagado el documento, si es asi, se copia el XML y PDF a una ruta en especifico
		configurada en el config.ini
*/
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;
}
require("../../conexion/conectar.php");
require("../../libs/funciones.php");

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

if(!$BLOQUEAR_STATUS_PAGADA=trim(getINI("BLOQUEAR_STATUS_PAGADA=","../../config.ini"))){
	$BLOQUEAR_STATUS_PAGADA="NO";
}
	
if(!$COPIAR_ARCHIVOS_PAGADOS=trim(getINI("COPIAR_ARCHIVOS_PAGADOS=","../../config.ini"))){
	$COPIAR_ARCHIVOS_PAGADOS="NO";
}

$rfcemisor=$_REQUEST['rfcemisor'];
$tipodocto=$_REQUEST['tipodocto'];
$serie=$_REQUEST['serie'];
$folio=$_REQUEST['folio'];
$uuid=$_REQUEST['uuid'];
$id=$_REQUEST['id'];
$idunico=$_REQUEST['idunico'];

$fecha=$_REQUEST['fecha_pago'];
$concepto_pago=$_REQUEST['concepto_pago'];
$referencia=$_REQUEST['referencia'];
$monto=$_REQUEST['monto'];


		
	$qFile = "select fechadocto,archivoxml,archivopdf,rfc_receptor,fecharecibido,id,total from recibedoce 
	where rfcemisor='$rfcemisor' and tipodocto='$tipodocto' and serie='$serie' and folio='$folio' and uuid='$uuid' limit 1";
	
	
	$resultDatos = mysqli_query($conexion->CONEXION,$qFile);
	$totalFactura=0;
	if(mysqli_num_rows($resultDatos) > 0){
		$tmpDatos=mysqli_fetch_array($resultDatos,MYSQLI_ASSOC);
		//$fechadocto=$tmpDatos["fecharecibido"];
		$fechaRecibido = $tmpDatos["fecharecibido"];
		$fechadocto=$fecha;
		$archivoxml=$tmpDatos["archivoxml"];
		$archivopdf=$tmpDatos["archivopdf"];
		$rfc_receptor=$tmpDatos["rfc_receptor"];
		$totalFactura=(double) $tmpDatos["total"];
		$idDoc=$tmpDatos["id"];
		
		$stDoc="";
		
		if(substr($tmpDatos["fechadocto"],0,4) < substr($fecha,0,4)){
			$stDoc="_EJERCICIOANT";
		}else if(substr($tmpDatos["fechadocto"],5,2) < substr($fecha,5,2)){
			$stDoc="_MESANT";
		}
		
		$info = pathinfo($archivoxml);
		$aXML = basename($archivoxml,'.'.$info['extension']).$stDoc."_".$idDoc.".xml";
		$info = pathinfo($archivopdf);
		$aPDF = basename($archivopdf,'.'.$info['extension']).$stDoc."_".$idDoc.".pdf";

	}
	
	$qSuma = "select sum(monto) as suma from pago_doc_detalle 
	where rfcemisor='$rfcemisor' and tipodocto='$tipodocto' and serie='$serie' and folio='$folio' and uuid='$uuid'";
	
	$resultSuma = mysqli_query($conexion->CONEXION,$qSuma);
	
	$suma=0;
	$totalSuma=0;
	if(mysqli_num_rows($resultSuma) > 0){
		$tmpSuma=mysqli_fetch_array($resultSuma,MYSQLI_ASSOC);
		$suma = $tmpSuma['suma'];
	}
	
	$totalSuma = ((double) $monto)+((double) $suma);
	
	$resta = $totalSuma-$totalFactura;
	
	if(round($resta, 6) > 0.000000){
		{?><script>alert('ERROR: A sobrepasado el total de la factura.');</script><?exit;}
	}


if(trim($fecha) == "")
{?><script>alert('ERROR: Debe de indicar la fecha de pago.');</script><?exit;}
if(trim($referencia) == "")
{?><script>alert('ERROR: Debe de indicar una referencia.');</script><?exit;}
if(trim($monto) == "")
{?><script>alert('ERROR: Debe de indicar un monto.');</script><?exit;}
if(trim($concepto_pago) == "")
{?><script>alert('ERROR: Debe de indicar el concepto de pago.');</script><?exit;}


if($id == ""){
	$query="insert into pago_doc_detalle set rfcemisor='$rfcemisor',tipodocto='$tipodocto',serie='$serie',folio='$folio',uuid='$uuid',fecha_pago='$fecha',referencia='$referencia',concepto_pago='$concepto_pago',monto='$monto'";
}else{
	$query="Update pago_doc_detalle set fecha_pago='$fecha',referencia='$referencia',concepto_pago='$concepto_pago',monto='$monto' where rfcemisor='$rfcemisor' and tipodocto='$tipodocto' and serie='$serie' and folio='$folio' and uuid='$uuid' and id=$id";
}
if(!mysqli_query($conexion->CONEXION,$query)){?>
	<script>alert('ERROR: No fue posible guardar los cambios, intente nuevamente.<?="error: ".mysqli_error($conexion->CONEXION)?>');</script>
<?exit;}

$status_pago="R";
if(round($resta, 6) == 0.000000){
	$status_pago="P";
}else{
	$status_pago="R";
}

$query="Update recibedoce set status_pago='$status_pago' where rfcemisor='$rfcemisor' and tipodocto='$tipodocto' and serie='$serie' and folio='$folio' and uuid='$uuid'";
	if(!mysqli_query($conexion->CONEXION,$query)){?>
	<script>alert('ERROR: No fue posible guardar los cambios, intente nuevamente.<?="error: ".mysqli_error($conexion->CONEXION)?>');</script>
	<?exit;}

if($COPIAR_ARCHIVOS_PAGADOS=="SI"){
	//if($totalSuma == $totalFactura){
		if(!$RUTA_ALMACEN_PAGADAS=trim(getINI("RUTA_ALMACEN_PAGADAS=","../../config.ini"))){
			echo "Falta una configuracion en el sistema.<br/>Llame al administrador del sistema";exit;
		}
		
		$qFile = "select rutaXML_P,rutaPDF_P,usarRutaDistribuida from tdoctos_r t, receptor r where tipodocto='$tipodocto' and r.idreceptor = t.idreceptor and r.rfc='$rfc_receptor' limit 1";
		
		$resultTipo = mysqli_query($conexion->CONEXION,$qFile);
		
		if(mysqli_num_rows($resultTipo) > 0){
			$tmpRuta=mysqli_fetch_array($resultTipo,MYSQLI_ASSOC);
			$rutaXML_P=$tmpRuta["rutaXML_P"];
			$rutaPDF_P=$tmpRuta["rutaPDF_P"];
			$usarRutaDistribuida=$tmpRuta["usarRutaDistribuida"];
		}
		
		$arrVars = array("<<RFCRECEPTOR>>","<<RFCEMISOR>>","<<TIPODOCTO>>","<<ANIO>>","<<MES>>","<<DIA>>");
		
		$arrVals = array($rfc_receptor,$rfcemisor,$tipodocto,substr($fechadocto,0,4),substr($fechadocto,5,2),substr($fechadocto,8,2));
		
		$RUTA_ALMACEN_PAGADAS=str_replace($arrVars,$arrVals,$RUTA_ALMACEN_PAGADAS);
		
		if(!is_dir(trim($RUTA_ALMACEN_PAGADAS))){
			mkdir($RUTA_ALMACEN_PAGADAS,755,true);
		}
		
		if($usarRutaDistribuida=="SI"){
			$rutaXML_P=$rutaXML_P.substr($fechaRecibido,0,4)."/".substr($fechaRecibido,5,2)."/".$archivoxml;
			$rutaPDF_P=$rutaPDF_P.substr($fechaRecibido,0,4)."/".substr($fechaRecibido,5,2)."/".$archivopdf;
		}else{
			$rutaXML_P=$rutaXML_P.$archivoxml;
			$rutaPDF_P=$rutaPDF_P.$archivopdf;
		}
		
		//echo $RUTA_ALMACEN_PAGADAS.$aXML;exit;
		if(is_file($rutaXML_P)){
			if(!copy($rutaXML_P,$RUTA_ALMACEN_PAGADAS.$aXML)){
				echo "Hubo un error al copiar el XML a pagadas. Intente nuevamente.";
				exit;
			}
		}
		if(is_file($rutaPDF_P)){
			if(!copy($rutaPDF_P,$RUTA_ALMACEN_PAGADAS.$aPDF)){
				echo "Hubo un error al copiar el PDF a pagadas. Intente nuevamente";
				exit;
			}
		}
	//}
}


?>
<script>
cargaPagos();cancelarPago();
$j_6("#totalDetalle").html('<?=$totalFactura?>');
$j_6("#diferencia").html('<?=round($totalFactura-$totalSuma,6)?>');
<?if($status_pago=="R"){?>
	document.getElementById('icono_pago_<?=$idunico?>').src="Imagenes/pendiente_pago.png";
<?}else if($status_pago=="P"){?>
	document.getElementById('icono_pago_<?=$idunico?>').src="Imagenes/vobo.png";
<?}?>
</script>