<?php
session_start();
include("cls_conexion.php");
$CNN=new ClsMySQL();
include("conexion23.php");
//error_reporting(1);
//+++++++++++++++++++++++++++++++++++++++++++++++
function CREATE_FILE($file, $string){
    $f=fopen($file, "wb");
    // $file="\xEF\xBB\xBF".$file; // UTF-8 <-- this is UTF8 BOM
    fputs($f, $string);
    fclose($f);
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
$CMD=V($_GET['CMD']);
$P01=V($_GET['P01']);
$P02=V($_GET['P02']);
$P03=V($_GET['P03']);
$P04=V($_GET['P04']);
$P05=V($_GET['P05']);
$P06=V($_GET['P06']);
$P07=V($_GET['P07']);
$P08=V($_GET['P08']);
$P08=V($_GET['P08']);
$P09=V($_GET['P09']);
$P10=V($_GET['P10']);
//++++++++++++++++++++++++++++++++++++
include("fe_kernel.php");
//include("fe_kernel_demo.php");
include("fe_factura.php");
include("fe_boleta.php");
include("fe_anular.php");
include("ventas_funciones.php");
include("fe_nota_de_credito.php");
//++++++++++++++++++++++++++++++++++++
include("sunat_funciones.php");
include("sunat_ce_boleta.php");
include("sunat_ce_factura.php");
include("sunat_ce_ndc.php");
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="ABC"){
    echo "ABC";
}
if($CMD=="LIBERAR"){
	$ID=vbval($P01);
	$USU=vbval($P02);
	//
	$r=gr("ventas","id_venta=".$ID);
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	if(!($r['id_com']==3 || $r['id_com']==4)){
		echo "|MS|Funcion solo valida para comprobantes electronicos|";return;
	}
	if($r['anu']=="S"){
		echo "|MS|*** No se puede proceder, la venta ha sido anulada ***|";
		return;
	}
	if($r['ven_fe_ge']!="S"){
		echo "|MS|Funcion valida solo para comprobantes electronicos generados|";
		return;
	}
	//
	$LIB_VEN_ID=$ID;
	$LIB_VEN_ID_COM=$r['id_com'];
	$LIB_VEN_SER=$r['ser'];
	$LIB_VEN_NUM=$r['num'];
	$LIB_VEN_HAS=$r['ven_hash'];
	$LIB_VEN_FEC=$r['fec'];
	//
	$SYS_FEC=date("Y-m-d");
	$SYS_HOR=GetHoraAP();
	$SYS_TIM=time();
	$LIB_ID=GenId("id_lib","liberados");
	$LIB_SQ="INSERT INTO liberados 
			 VALUES ($LIB_ID,'$SYS_FEC','$SYS_HOR',
			 $SYS_TIM,$LIB_VEN_ID,$LIB_VEN_ID_COM,
			 '$LIB_VEN_SER','$LIB_VEN_NUM','$LIB_VEN_HAS',$USU,'$LIB_VEN_FEC')";
	ejt($LIB_SQ);
	//BIT
	$_BIT_MOD_ID=$LIB_ID;
	$_BIT_SQL_CAB=$LIB_SQ;
	$_BIT_SQL_DET="";
	$_BIT_PHP="ventas.php";
	$_BIT_ID=BIT_ADD("VENTAS","VENTAS","LIBERAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
	BIT_DET_ADD($_BIT_ID,$LIB_SQ);
	//BIT	
	$s="UPDATE ventas SET ven_fe_ge='N',ven_hash='' WHERE id_venta=".$ID;
	ejt($s);
	BIT_DET_ADD($_BIT_ID,$s);
	echo "|OK|OK|";return;
	
}
//++++++++++++++++++++++++++++++++++++
if($CMD=="DESHACER"){
	$KOD=vbval($P01);
	//BIT
	$_BIT_MOD_ID="0";
	$_BIT_SQL_CAB="";
	$_BIT_SQL_DET="";
	$_BIT_PHP="ventas.php";
	$_BIT_ID=BIT_ADD("VENTAS","VENTAS","DESHACER COMPROBANTE",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
	BIT_DET_ADD($_BIT_ID,"");
	//BIT	
	echo VENTAS_DESHACER($KOD);	
	return;
}
//++++++++++++++++++++++++++++++++++++
if($CMD=="VAL_PDF"){
	$VEN_ID=vbval($P01);	
	$RET=VALIDAR_PDF($VEN_ID);
	if($RET=="|OK|OK|"){
		//++SUNAT
		$SUN_EMP_KOD=gn("ID_EMP","vis_fes_ventas","ID=$VEN_ID");
		$COM=gn("COM","vis_fes_ventas","ID=$VEN_ID");
		$SUN_EMP=gr("empresas","id_emp=$SUN_EMP_KOD");
		if($SUN_EMP['emp_fe_ele']!="SI"){
			echo "|MS|Empresa no habilitada para facturacion electronica";
			return;
		}
		if($SUN_EMP['emp_fe_proveedor']=="SUNAT"){
			echo "|OK|SUNAT|".$COM."|";
		}else{
			echo $RET;
		}
		//++SUNAT
	}else{
		echo $RET;
	}
	return;
}
//++++++++++++++++++++++++++++++++++++
function EFACT_NDD_ANULAR($VEN_ID){
	$RPT=NDD_SE_PUEDE_ANULAR($VEN_ID);
	$DAT=explode("|",$RPT);
	if($DAT[1]=="MS"){
		return $RPT;
	}
	//
	$r=gr("fe_ventaz","id_ven=".$VEN_ID);
	//5=NC. ELEC.
	//6=ND. ELEC.
	$FE_VEN_FOB=$r['fv_id_com'];
	$FE_VEN_FILE="";
	$FEC_HOY=date("Y-m-d");
	$FE_ANU_FILE="";	
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_FE_RUC","vis_fe_ventaz","ID=$VEN_ID");
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		return "|MS|".$DAT[2]."|";
	}else{
		if($DAT[1]=="OK"){
			//			
			$FE_ANU_FILE=ANULAR_GEN_JSON_NDD($VEN_ID,$FEC_HOY);
			if(!file_exists($FE_ANU_FILE)){
				return "|MS|Error al generar el archivo correspondiente|";
			}		
			$RPT=SEND_JSON($DAT[2],$FE_ANU_FILE);
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				return "|MS|".$DAT[2]."|";
			}else{
				if($DAT[1]=="OK"){
					ANULAR_ACT_SER_NUM($FEC_HOY,$VEN_ID,$FE_ANU_FILE);
					$FE_ANU_HASH=$DAT[2];
					return "|OK|OK|";
				}else{
					return "|MS|".$DAT[2]."|";
				}
			}
			//
		}else{
			return "|MS|Error de respuesta al generar el TOKEN|";
		}
	}	
}
//++++++++++++++++++++++++++++++++++++
function EFACT_NDC_ANULAR($VEN_ID){
	$RPT=NDC_SE_PUEDE_ANULAR($VEN_ID);
	$DAT=explode("|",$RPT);
	if($DAT[1]=="MS"){
		return $RPT;
	}
	//
	$r=gr("fe_ventaz","id_ven=".$VEN_ID);
	//5=NC. ELEC.
	//6=ND. ELEC.
	$FE_VEN_FOB=$r['fv_id_com'];
	$FE_VEN_FILE="";
	$FEC_HOY=date("Y-m-d");
	$FE_ANU_FILE="";	
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_FE_RUC","vis_fe_ventaz","ID=$VEN_ID");
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		return "|MS|".$DAT[2]."|";
	}else{
		if($DAT[1]=="OK"){
			//			
			$FE_ANU_FILE=ANULAR_GEN_JSON_NDC($VEN_ID,$FEC_HOY);
			if(!file_exists($FE_ANU_FILE)){
				return "|MS|Error al generar el archivo correspondiente|";
			}		
			$RPT=SEND_JSON($DAT[2],$FE_ANU_FILE);
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				return "|MS|".$DAT[2]."|";
			}else{
				if($DAT[1]=="OK"){
					ANULAR_ACT_SER_NUM($FEC_HOY,$VEN_ID,$FE_ANU_FILE);
					$FE_ANU_HASH=$DAT[2];
					return "|OK|OK|";
				}else{
					return "|MS|".$DAT[2]."|";
				}
			}
			//
		}else{
			return "|MS|Error de respuesta al generar el TOKEN|";
		}
	}	
}
//++++++++++++++++++++++++++++++++++++
if($CMD=="ANU_FE_NDC"){
	$VEN_ID=vbval($P01);
	$CX=gn("count(*)","fe_ventaz","id_ven=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Comprobante no registrada ***|";
		return;
	}
	//SUNAT++++++++++++++++++++++++++
	$FAC_GEN=gs("fv_gen","fe_ventaz","id_ven=".$VEN_ID);
	$FAC_ANU=gs("fv_anu","fe_ventaz","id_ven=".$VEN_ID);
	$EMP_KOD=gn("fv_id_emp","fe_ventaz","id_ven=".$VEN_ID);
	$EMP_PRV=gs("emp_fe_proveedor","empresas","id_emp=$EMP_KOD");
	if($EMP_PRV=="SUNAT"){
		if($FAC_GEN=="S"){
			echo "|MS|Empresa/Ruc no permite anular|";return;
		}
		if($FAC_GEN=="N"){
			echo "|MS|Comprobante aun no generado, intente modificar o eliminar|";return;
		}
	}
	//SUNAT++++++++++++++++++++++++++
	$ANU=gn("fv_anu","fe_ventaz","id_ven=$VEN_ID");
	if($ANU=="S"){
		echo "|MS|El comprobante ya se encuentra anulado|";
		return;
	}
	//5=NC / 6=ND
	$COM=gn("fv_id_com","fe_ventaz","id_ven=$VEN_ID");
	if(!($COM==5 || $COM==6)){		
		echo "|MS|*** Tipo de comprobante no valido ***|";
		return;
	}
	if($COM==5){
		$MSG=EFACT_NDC_ANULAR($VEN_ID);
		echo $MSG;return;
	}else{
		echo "|MS|*** Tipo de comprobante no valido ***|";
		return;
	}
	
}
//++++++++++++++++++++++++++++++++++++
if($CMD=="ANU_FE_NDD"){
	$VEN_ID=vbval($P01);
	$CX=gn("count(*)","fe_ventaz","id_ven=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Comprobante no registrado ***|";
		return;
	}
	$ANU=gn("fv_anu","fe_ventaz","id_ven=$VEN_ID");
	if($ANU=="S"){
		echo "|MS|El comprobante ya se encuentra anulado|";
		return;
	}
	//5=NC / 6=ND
	$COM=gn("fv_id_com","fe_ventaz","id_ven=$VEN_ID");
	if(!($COM==5 || $COM==6)){		
		echo "|MS|*** Tipo de comprobante no valido ***|";
		return;
	}
	if($COM==5){
		$MSG=EFACT_NDC_ANULAR($VEN_ID);
		echo $MSG;return;
	}else{
		echo "|MS|*** Tipo de comprobante no valido ***|";
		return;
	}
	
}
//++++++++++++++++++++++++++++++++++++
if($CMD=="ANU_FE"){
	$VEN_ID=vbval($P01);
	$CX=gn("count(*)","ventas","id_venta=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Venta no registrada ***|";
		return;
	}
	//SUNAT++++++++++++++++++++++++++
	$FAC_GEN=gs("ven_fe_ge","ventas","id_venta=".$VEN_ID);
	$FAC_ANU=gs("anu","ventas","id_venta=".$VEN_ID);
	$EMP_KOD=gn("ID_EMP","vis_fes_ventas","ID=".$VEN_ID);
	$EMP_PRV=gs("emp_fe_proveedor","empresas","id_emp=$EMP_KOD");
	if($EMP_PRV=="SUNAT"){
		if($FAC_GEN=="S"){
			echo "|MS|Empresa/Ruc no permite anular, emitir una nota de credito|";return;
		}
		if($FAC_GEN=="N"){
			echo "|MS|Comprobante aun no generado, intente modificar o eliminar|";return;
		}
	}
	//SUNAT++++++++++++++++++++++++++
	$RPT=VENTAS_SE_PUEDE_ANULAR($VEN_ID);
	$DAT=explode("|",$RPT);
	if($DAT[1]=="MS"){
		echo $RPT;return;
	}
	//
	$r=gr("ventas","id_venta=".$VEN_ID);
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	$FE_VEN_FOB=$r['id_com'];
	$FE_VEN_FILE="";
	$FEC_HOY=date("Y-m-d");
	$FE_ANU_FILE="";
	//
	if(!($r['id_com']==3 || $r['id_com']==4)){
		echo $RPT;return;
	}
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_FE_RUC","vventas_fe","ID=$VEN_ID");
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			//			
			$FE_ANU_FILE=ANULAR_GEN_JSON($VEN_ID,$FEC_HOY);
			if(!file_exists($FE_ANU_FILE)){
				echo "|MS|Error al generar el archivo correspondiente|";return;
			}		
			$RPT=SEND_JSON($DAT[2],$FE_ANU_FILE);
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					ANULAR_ACT_SER_NUM($FEC_HOY,$VEN_ID,$FE_ANU_FILE);
					$FE_ANU_HASH=$DAT[2];
					//BIT
					$_BIT_MOD_ID="0";
					$_BIT_SQL_CAB="";
					$_BIT_SQL_DET="";
					$_BIT_PHP="ventas.php";
					$_BIT_ID=BIT_ADD("VENTAS","VENTAS","ANULAR COMPROBANTE",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
					BIT_DET_ADD($_BIT_ID,"");
					//BIT	
					echo "|OK|OK|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}	
}
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="VAL_PDF_NDC"){
    /*
	$VEN_ID=vbval($P01);
	echo VALIDAR_PDF_NDC($VEN_ID);//->fe_kernel.php
	*/
	$VEN_ID=vbval($P01);
	$RET=VALIDAR_PDF_NDC($VEN_ID);//->fe_kernel.php
	if($RET=="|OK|OK|"){
		//echo "|MS|Impresion en proceso|";return;
		//++SUNAT
		$SUN_EMP_KOD=gn("ID_EMP","vis_fes_ndc","ID=$VEN_ID");
		$SUN_EMP=gr("empresas","id_emp=$SUN_EMP_KOD");
		if($SUN_EMP['emp_fe_ele']!="SI"){
			echo "|MS|Empresa no habilitada para facturacion electronica";
			return;
		}
		if($SUN_EMP['emp_fe_proveedor']=="SUNAT"){
			echo "|OK|SUNAT|NDC|";
		}else{
			echo $RET;
		}
		//++SUNAT
	}else{
		echo $RET;
	}
	return;
}
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="GEN_NDC"){
	$TXT="";
	$SYS_FEC=date("Y-m-d");
	$SYS_HOR=GetHoraAP();
	$SYS_TIM=time();
	$SYS_IP="0.0.0.0";
	//
	$VEN_ID=vbval($P01);
	$USU_ID=vbval($P02);
	//
	$CX=gn("count(*)","fe_ventaz","id_ven=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Nota no registrada ***|";
		return;
	}
	$r=gr("fe_ventaz","id_ven=".$VEN_ID);
	if($r['fv_id_com']==5 || $r['fv_id_com']==6){
		if($r['fv_anu']=="S"){
			echo "|MS|*** Error : La nota ha sido anulada ***|";
			return;
		}
		if($r['fv_gen']=="S" || strlen(trim($r['respuesta_sunat_zip']))){
			echo "|MS|*** El comprobante ya ha sido generado ***|";
			return;
		}
	}else{
		echo "|MS|*** Error : La nota no corresponde a un comprobante electronico ***|";
		return;
	}
	//SUNAT+++++++++++++++++++++++++++++++++++++++++++++++
	$SUN_EMP_KOD=gn("ID_EMP","vis_fes_ndc","ID=$VEN_ID");
	$SUN_EMP=gr("empresas","id_emp=$SUN_EMP_KOD");
	if($SUN_EMP['emp_fe_ele']!="SI"){
		echo "|MS|Empresa no habilitada para facturacion electronica";
		return;
	}
	if($SUN_EMP['emp_fe_proveedor']=="SUNAT"){
		$RET="OK";//SUNAT_PRE_VALIDAR($VEN_ID);
		if($RET=="OK"){
			if($r['fv_id_com']==5){
				$RET=CE_NDC($VEN_ID);
				if($RET=="OK"){
					echo "|OK|COMPROBANTE GENERADO|SUNAT|";
					return;
				}else{
					echo "|MS|".$RET."|";
					return;
				}				
			}else{
				echo "|MS|ID de comprobante no valido|";
				return;
			}
			
		}
		echo "|MS|".$RET."|";
		return;
	}
	//SUNAT+++++++++++++++++++++++++++++++++++++++++++++++
	$MODO="D";
	$r=gr("vis_fe_ventaz","ID=$VEN_ID");
	$EMP_RUC=$r['EMP_FE_RUC'];
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	//$TOK="|OK|123456|Bearer|600";
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			$FE_VEN_FILE=NDC_GEN_JSON($VEN_ID);
			if(!file_exists($FE_VEN_FILE)){
				echo "|MS|Error al generar el archivo correspondiente|";return;
			}			
			//
			$RPT=SEND_JSON($DAT[2],$FE_VEN_FILE);
			//$RPT="|OK|HASH|";
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					$FE_VEN_HASH=$DAT[2];
					ejt("UPDATE fe_ventaz SET fv_gen='S',fv_hash='".$FE_VEN_HASH."' WHERE id_ven=$VEN_ID");
					echo "|OK|COMPROBANTE GENERADO|".$DAT[2]."|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}
}
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="GEN_FE"){
    //echo "OK";
    //return;
	$ES_CREDITO=0;
	$VEN_ID=vbval($P01);
	$CX=gn("count(*)","ventas","id_venta=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Venta no registrada ***|";
		return;
	}	
	///////////////////////////////////////////////////////////
	$DATA=VENTA_VALIDAR_EX($VEN_ID);
	$BATA=explode("|",$DATA);
	if($BATA[1]=="MS"){
	    echo "|MS|".$BATA[2]."|";
		return;
	}
	///////////////////////////////////////////////////////////
	$KUO_CX=gn("count(*)","ventas_cuotas","id_venta=$VEN_ID");
	$KUO_SUM=gn("SUM(tot)","ventas_cuotas","id_venta=$VEN_ID");
	///////////////////////////////////////////////////////////
	$r=gr("ventas","id_venta=".$VEN_ID);
	$VEN_TDP=$r['id_tip_pag'];
	$VEN_ACU=$r['acuenta'];
	$VEN_TOT=$r['tot'];
	//
	if($r['id_com']==3 || $r['id_com']==4){
		if($r['anu']=="S"){
			echo "|MS|*** Error : La venta ha sido anulada ***|";
			return;
		}
		if( $r['ven_fe_ge']=="S" || strlen(trim($r['respuesta_sunat_zip']))>0){
			echo "|MS|*** El comprobante ya ha sido generado ***|";
			return;
		}
	}else{
		echo "|MS|*** Error : La venta no corresponde a un documento electronico ***|";
		return;
	}
	//SUNAT+++++++++++++++++++++++++++++++++++++++++++++++
	$SUN_EMP_KOD=gn("ID_EMP","vis_fes_ventas","ID=$VEN_ID");
	$SUN_EMP=gr("empresas","id_emp=$SUN_EMP_KOD");
	if($SUN_EMP['emp_fe_ele']!="SI"){
		echo "|MS|Empresa no habilitada para facturacion electronica";
		return;
	}
	if($SUN_EMP['emp_fe_proveedor']=="SUNAT"){
	    //echo "OK";
	    //error_reporting(1);
		$RET=SUNAT_PRE_VALIDAR($VEN_ID);
		if($RET=="OK"){
		    //++
			if($VEN_TDP=="CR"){
				if($r['id_com']!=3){
					echo "|MS|El tipo de pago CREDITO solo valido para Facturas electronicas";
					return;
				}
				if($VEN_ACU>0){
					echo "|MS|Para el tipo de pago CREDITO el a cuenta debe ser cero|";
					return;
				}
				if($KUO_CX==0){
					echo "|MS|Cero cuotas registradas|";
					return;
				}
				if($KUO_SUM!=$VEN_TOT){
					echo "|MS|La suma de las cuotas es distinto al total de la venta|";
					return;
				}
				$ES_CREDITO=1;
			}
			//++
			if($r['id_com']==4){
			    //echo "OK";
			    //return;
				$RET=CE_BOLETA($VEN_ID);
			}
			if($r['id_com']==3){
			    //echo "OKx";
			    //return;
				$RET=CE_FACTURA($VEN_ID);
			}
			if($RET=="OK"){
				echo "|OK|COMPROBANTE GENERADO|SUNAT|";
				return;
			}else{
				echo "|MS|".$RET."|";
				return;
			}
		}
		echo "|MS|".$RET."|";
		return;
	}
	//SUNAT+++++++++++++++++++++++++++++++++++++++++++++++
	if($VEN_TDP=="CR"){
		if($r['id_com']!=3){
			echo "|MS|El tipo de pago CREDITO solo valido para Facturas electronicas";
			return;
		}
		if($VEN_ACU>0){
			echo "|MS|Para el tipo de pago CREDITO el a cuanta debe ser cero|";
			return;
		}
		if($KUO_CX==0){
			echo "|MS|Cero cuotas registradas|";
			return;
		}
		if($KUO_SUM!=$VEN_TOT){
			echo "|MS|La suma de las cuotas es distinto al total de la venta|";
			return;
		}
		$ES_CREDITO=1;
	}
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	$FE_VEN_FOB=$r['id_com'];
	$FE_VEN_FILE="";	
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_FE_RUC","vventas_fe","ID=$VEN_ID");
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			//FACTURA
			if($FE_VEN_FOB==3){
				if($ES_CREDITO==0){
					$FE_VEN_FILE=FACTURA_GEN_JSON($VEN_ID);
				}else{
					$FE_VEN_FILE=FACTURA_GEN_JSON_CREDITO($VEN_ID);
				}
				if(!file_exists($FE_VEN_FILE)){
					echo "|MS|Error al generar el archivo correspondiente|";return;
				}				
			}
			//BOLETA
			if($FE_VEN_FOB==4){
				$FE_VEN_FILE=BOLETA_GEN_JSON($VEN_ID);
				if(!file_exists($FE_VEN_FILE)){
					echo "|MS|Error al generar el archivo correspondiente|";return;
				}				
			}
			//
			$RPT=SEND_JSON($DAT[2],$FE_VEN_FILE);
		    //$RPT="|MS|DEMO|";	
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					$FE_VEN_HASH=$DAT[2];
					$qqq=ejt("UPDATE ventas SET ven_fe_ge='S',ven_hash='".$FE_VEN_HASH."' WHERE id_venta=$VEN_ID");
					//BIT
					$_BIT_MOD_ID="0";
					$_BIT_SQL_CAB=$qqq;
					$_BIT_SQL_DET="";
					$_BIT_PHP="ventas.php";
					$_BIT_ID=BIT_ADD("VENTAS","VENTAS","GENERAR COMPROBANTE",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
					BIT_DET_ADD($_BIT_ID,$qqq);
					//BIT	
					echo "|OK|COMPROBANTE GENERADO|".$DAT[2]."|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}
}
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="GEN_NDD"){
	$TXT="";
	$SYS_FEC=date("Y-m-d");
	$SYS_HOR=GetHoraAP();
	$SYS_TIM=time();
	$SYS_IP="0.0.0.0";
	//
	$VEN_ID=vbval($P01);
	$USU_ID=vbval($P02);
	//
	$CX=gn("count(*)","fe_ventaz","id_ven=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Nota no registrada ***|";
		return;
	}
	$r=gr("fe_ventaz","id_ven=".$VEN_ID);
	if($r['fv_id_com']==5 || $r['fv_id_com']==6){
		if($r['fv_anu']=="S"){
			echo "|MS|*** Error : La nota ha sido anulada ***|";
			return;
		}
		if($r['fv_gen']=="S"){
			echo "|MS|*** El comprobante ya ha sido generado ***|";
			return;
		}
	}else{
		echo "|MS|*** Error : La nota no corresponde a un comprobante electronico ***|";
		return;
	}
	//
	//
	$MODO="D";
	$r=gr("vis_fe_ventaz","ID=$VEN_ID");
	$EMP_RUC=$r['EMP_FE_RUC'];
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	//$TOK="|OK|123456|Bearer|600";
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			$FE_VEN_FILE=NDD_GEN_JSON($VEN_ID);
			if(!file_exists($FE_VEN_FILE)){
				echo "|MS|Error al generar el archivo correspondiente|";return;
			}			
			//
			$RPT=SEND_JSON($DAT[2],$FE_VEN_FILE);
			//$RPT="|OK|HASH|";
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					$FE_VEN_HASH=$DAT[2];
					ejt("UPDATE fe_ventaz SET fv_gen='S',fv_hash='".$FE_VEN_HASH."' WHERE id_ven=$VEN_ID");
					echo "|OK|COMPROBANTE GENERADO|".$DAT[2]."|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}
}
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++
if($CMD=="VAL_PDF_NDD"){
	$VEN_ID=vbval($P01);	
	echo VALIDAR_PDF_NDD($VEN_ID);//->fe_kernel.php "|OK|OK|" // "|MS|XX|"
}
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
include("fe_guia.php");
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++
if($CMD=="GEN_GIA_ELECTRONICA"){
	$GIA_ID=vbval($P01);
	$CX=gn("count(*)","guias","id_guia=$GIA_ID");
	if($CX==0){
		echo "|MS|*** Error : Guia no registrada ***|";
		return;
	}
	$r=gr("guias","id_guia=".$GIA_ID);
	$CE_GEN=trim($r['xx_ce_gen']);
	if($CE_GEN=="S"){
		echo "|MS|*** La guia electronica ya ha sido generada ***|";
		return;
	}
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	if($r['id_comr']==3 || $r['id_comr']==4 || $r['id_comr']==-2){
		//TODO OK
	}else{
		echo "|MS|*** Error : Proceso solo valido para comprobantes electronicos ***|";
		return;
	}
	//
	
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_RUC","vguias_fe","ID=$GIA_ID");
	/*
	if(!(strcmp($EMP_RUC,"20610220593")==0 || strcmp($EMP_RUC,"20610441174")==0)){
		echo "|MS|*** Error : Procesos solo valido para el ruc emisor (20610220593 - DONATO STORE E.I.R.L.)  y el ruc 20610441174 (MARKET PERU HOGAR E.I.R.L.) ***|";
		return;
	}
    */
    if(strcmp($EMP_RUC,"20608115065")==0 || strcmp($EMP_RUC,"20610220593")==0 || 
       strcmp($EMP_RUC,"15604466927")==0 || strcmp($EMP_RUC,"20610441174")==0 || 
       strcmp($EMP_RUC,"20607998079")==0 || strcmp($EMP_RUC,"20613831216")==0 || 
       strcmp($EMP_RUC,"20613861531")==0 || strcmp($EMP_RUC,"20613183117")==0 ||
       strcmp($EMP_RUC,"20614090007")==0 || strcmp($EMP_RUC,"20614132613")==0 || 
       strcmp($EMP_RUC,"15614601059")==0 || strcmp($EMP_RUC,"15614760742")==0 || strcmp($EMP_RUC,"15610094578")==0 || strcmp($EMP_RUC,"15615008629")==0 ){
		//TODO_BIEN
	}else{
		echo "|MS|*** Error : Procesos solo valido para el ruc emisor (15615008629 , 15614601059 , 15614760742 , 15610094578 , 20608115065 , 20610220593 , 15604466927, 20607998079 , 20610441174 , 20613831216 , 20613861531 , 20613183117 , 20614090007 y 20614132613)  $EMP_RUC ***|";
		return;
	}
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	$CLI_RUC=trim(gs("des_ruc","guias","id_guia=$GIA_ID"));
	$CLI_DNI=trim(gs("des_dni","guias","id_guia=$GIA_ID"));
	if(strlen($CLI_RUC)>0){
		if(strlen($CLI_RUC)!=11){
			echo "|MS|El numero de ruc del destintario debe tener 11 digitos|";
			return;
		}
		$CLI_KOD=gn("count(*)","clientes","cli_ruc='$CLI_RUC'");
		if($CLI_KOD==0){
			echo "|MS|Cero clientes registrados con el numero de ruc $CLI_RUC|";
			return;
		}
	}else{
		if(strlen($CLI_DNI)>0){
			$CLI_KOD=gn("count(*)","clientes","cli_dni='$CLI_DNI'");
			if($CLI_KOD==0){
				echo "|MS|Cero clientes registrados con el numero de dni $CLI_DNI|";
				return;
			}
		}else{
			echo "|MS|El cliente debe tener un numero de ruc o dni|";
			return;
		}
	}
	$LQ_MOT=gs("MOT_COD","vguias_fe","ID=$GIA_ID");
	$LQ_KOD_REF=gn("idr","guias","id_guia=$GIA_ID");
	$LQ_COM_REF=gn("id_comr","guias","id_guia=$GIA_ID");
	if($LQ_MOT=="05"){
		//CONSIG
		if($LQ_COM_REF==-2){
			//GUIA INTERNA
			if($LQ_KOD_REF==0){
				echo "|MS|No se puede determinar el ID de la referencia|";
				return;
			}
		}else{
			echo "|MS|Motivo consignacion solo valido para guias internas|";
			return;
		}
	}else{
		if($LQ_MOT=="01"){
			//VENTA
			if($LQ_COM_REF==3 || $LQ_COM_REF==4){
				//BOL FAC
				if($LQ_KOD_REF==0){
					echo "|MS|No se puede determinar el ID de la referencia|";
					return;
				}
			}else{
				echo "|MS|Motivo venta solo valido para boletas y facturas electronicas|";
				return;
			}
		}else{
			if($LQ_MOT=="13"){
				//OTROS
				if($LQ_COM_REF==3 || $LQ_COM_REF==4){
					echo "|MS|Motivo otros no valido para boletas o facturas electronicas|";
					return;
				}
				if($LQ_COM_REF==-2){
					echo "|MS|Motivo otros no valido para guias internas|";
					return;
				}
			}
		}
	}	
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			$TIP_TRA=gs("xx_tip_tra","guias","id_guia=".$GIA_ID);
			if($TIP_TRA=="PUBLICO"){
				$FE_GIA_FILE=GUIA_GEN_JSON_EMP($GIA_ID);
			}else{
				if($TIP_TRA=="PRIVADO"){
					$FE_GIA_FILE=GUIA_GEN_JSON_CHO($GIA_ID);
				}else{
					$FE_GIA_FILE=GUIA_GEN_JSON_OTROS($GIA_ID);
				}
			}
			if(!file_exists($FE_GIA_FILE)){
				echo "|MS|Error al generar el archivo correspondiente|";return;
			}				
			//
			$RPT=SEND_JSON($DAT[2],$FE_GIA_FILE);
		    //$RPT="|MS|DEMO|";	
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					$FE_VEN_HASH=$DAT[2];
					$qqq=ejt("UPDATE guias SET xx_ce_gen='S',xx_ce_hash='".$FE_VEN_HASH."' WHERE id_guia=$GIA_ID");
					//VERIFICAR_CDR
					
					
					/*
					$LINK_GENERADO="";
					$XX_TOK=GET_TOKEN($EMP_RUC,$MODO);
	                $XX_DAT=explode("|",$XX_TOK);
					$RET=GEN_CDR($GIA_ID,$XX_DAT[2],$LINK_GENERADO);
					if($RET==false){
					    $qqq=ejt("UPDATE guias SET xx_ce_gen='N',xx_ce_hash='' WHERE id_guia=$GIA_ID");
						echo "|MS|Error al intentar validar el documento|";return;
					}else{
					    //TODO_OK
					}
					//VERIFICAR_CDR
					//$qqq=ejt("UPDATE guias SET xx_ce_gen='S',xx_ce_hash='".$FE_VEN_HASH."' WHERE id_guia=$GIA_ID");
					*/
					
					
					//BIT
					$_BIT_MOD_ID="0";
					$_BIT_SQL_CAB=$qqq;
					$_BIT_SQL_DET="";
					$_BIT_PHP="guias.php";
					$_BIT_ID=BIT_ADD("GUIA DE REMISION","GUIA DE REMISION","GENERAR COMPROBANTE",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
					BIT_DET_ADD($_BIT_ID,$qqq);
					//BIT	
					echo "|OK|COMPROBANTE GENERADO|".$DAT[2]."|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}
}
//
if($CMD=="GIA_IMPRIMIR_VALIDAR"){
	$GIA_ID=vbval($P01);
	$CX=gn("count(*)","guias","id_guia=$GIA_ID");
	if($CX==0){
		echo "|MS|*** Error : Guia no registrada ***|";
		return;
	}
	$r=gr("guias","id_guia=".$GIA_ID);
	$CE_GEN=trim($r['xx_ce_gen']);
	if($CE_GEN!="S"){
		echo "|MS|*** La guia electronica aun no ha sido generada ***|";
		//return;
	}
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	if($r['id_comr']==3 || $r['id_comr']==4 || $r['id_comr']==-2){
		//TODO OK
	}else{
		echo "|MS|*** Error : Proceso solo valido para comprobantes electronicos ***|";
		return;
	}
	//
	$XX_LINK=trim(gs("xx_link","guias","id_guia=$GIA_ID"));
	if(strlen($XX_LINK)==0){
		$MODO="D";
		$EMP_RUC=gs("EMP_RUC","vguias_fe","ID=$GIA_ID");
		//
		$LINK_GENERADO="";
		$XX_TOK=GET_TOKEN($EMP_RUC,$MODO);
		$XX_DAT=explode("|",$XX_TOK);
		$RET=GEN_CDR($GIA_ID,$XX_DAT[2],$LINK_GENERADO);
		if($RET==false){		
			echo "|MS|Documento aun no aceptado|";return;
		}else{
			$qqq=ejt("UPDATE guias SET xx_link='$LINK_GENERADO' WHERE id_guia=$GIA_ID");
		}	
		echo "|OK|OK|";return;
	}else{
		echo "|OK|OK|";return;
	}
}
//
if($CMD=="GIA_VAL_PDF"){
	$GIA_ID=vbval($P01);
	echo GIA_VALIDAR_PDF($GIA_ID);
	return;
}
//
///////////////////////////////////////////////////////////////
if($CMD=="ANU_PLUS"){
	$VEN_ID=vbval($P01);
	$CX=gn("count(*)","ventas","id_venta=$VEN_ID");
	if($CX==0){
		echo "|MS|*** Error : Venta no registrada ***|";
		return;
	}
	//SUNAT++++++++++++++++++++++++++
	$FAC_GEN=gs("ven_fe_ge","ventas","id_venta=".$VEN_ID);
	$FAC_ANU=gs("anu","ventas","id_venta=".$VEN_ID);
	$EMP_KOD=gn("ID_EMP","vis_fes_ventas","ID=".$VEN_ID);
	$EMP_PRV=gs("emp_fe_proveedor","empresas","id_emp=$EMP_KOD");
	if($EMP_PRV=="SUNAT"){
		if($FAC_GEN=="S"){
			echo "|MS|Empresa/Ruc no permite anular, emitir una nota de credito|";return;
		}
		if($FAC_GEN=="N"){
			echo "|MS|Comprobante aun no generado, intente modificar o eliminar|";return;
		}
	}
	//SUNAT++++++++++++++++++++++++++
	$RPT=VENTAS_SE_PUEDE_ANULAR_PLUS($VEN_ID);
	$DAT=explode("|",$RPT);
	if($DAT[1]=="MS"){
		echo $RPT;return;
	}
	//
	$r=gr("ventas","id_venta=".$VEN_ID);
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	$FE_VEN_FOB=$r['id_com'];
	$FE_VEN_FILE="";
	$FEC_HOY=date("Y-m-d");
	$FE_ANU_FILE="";
	//
	if(!($r['id_com']==3 || $r['id_com']==4)){
		echo $RPT;return;
	}
	//
	$MODO="D";
	$EMP_RUC=gs("EMP_FE_RUC","vventas_fe","ID=$VEN_ID");
	//
	$TOK=GET_TOKEN($EMP_RUC,$MODO);
	$DAT=explode("|",$TOK);
	if($DAT[1]=="MS"){
		echo "|MS|".$DAT[2]."|";return;
	}else{
		if($DAT[1]=="OK"){
			//			
			$FE_ANU_FILE=ANULAR_GEN_JSON($VEN_ID,$FEC_HOY);
			if(!file_exists($FE_ANU_FILE)){
				echo "|MS|Error al generar el archivo correspondiente|";return;
			}		
			$RPT=SEND_JSON($DAT[2],$FE_ANU_FILE);
			$DAT=explode("|",$RPT);
			if($DAT[1]=="MS"){
				echo "|MS|".$DAT[2]."|";return;
			}else{
				if($DAT[1]=="OK"){
					ANULAR_ACT_SER_NUM($FEC_HOY,$VEN_ID,$FE_ANU_FILE);
					$FE_ANU_HASH=$DAT[2];
					//BIT
					$_BIT_MOD_ID="0";
					$_BIT_SQL_CAB="";
					$_BIT_SQL_DET="";
					$_BIT_PHP="ventas.php";
					$_BIT_ID=BIT_ADD("VENTAS","VENTAS","ANULAR COMPROBANTE",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
					BIT_DET_ADD($_BIT_ID,"");
					//BIT	
					echo "|OK|OK|";return;
				}else{
					echo "|MS|".$DAT[2]."|";return;
				}
			}
			//
		}else{
			echo "|MS|Error de respuesta al generar el TOKEN|";return;
		}
	}	
}
//
if($CMD=="GIA_PARSE"){
	$GIA_ID=vbval($P01);
	$TICKET=gs("xx_ce_hash","guias","id_guia=".$GIA_ID);
	$ALM_KOD=gs("id_almacen","guias","id_guia=".$GIA_ID);
	$EMP_KOD=gs("alm_id_empresa","almacenes","id_almacen=".$ALM_KOD);
	$EMP_RUC=gs("emp_fe_ruc","empresas","id_emp=$EMP_KOD");
	$SER="T".vbr("00".gn("iser","guias","id_guia=".$GIA_ID),3);
	$NUM=gn("inum","guias","id_guia=".$GIA_ID);
	$FUL=$EMP_RUC."-09-".$SER."-".$NUM;
	//
	if(strlen($TICKET)==0){
		echo "|MS|Guia aun no generada, no se pudo obtener el ticket, intente primero generar la guia|";return;
	}
	//
	$RET=GET_TOKEN($EMP_RUC,"P");
	if(strlen($RET)==0){
		echo "|MS|No se pudo generar el token, reintente en un minuto|";
		return;
	}else{
		$ARR=explode("|",$RET);
		$TOK=$ARR[2];
		$DOC=$FUL;//"20613183117-09-T001-19";
		//echo "LIN="."http://serviciosredcotea.com/lq/lq.php?FUN=GET_TICKET&DOC=".$DOC."&TOK=".$TOK;
		//$DAT= file_get_contents("http://serviciosredcotea.com/lq/lq.php?FUN=GET_TICKET&DOC=".$DOC."&TOK=".$TOK);
		//echo $FUL_URL="https://ose.efact.pe/api-efact-ose/v1/ticket/".$DOC."<br>";
		$DAT=GET_TICKET($DOC,$TOK);
		if(strlen($DAT)==0){
			echo "|MS|Cero resultados|";return;
		}
		$BAT=explode("|",$DAT);
		if($BAT[1]=="MS"){
			echo "|MS|".$BAR[2]."|";return;
		}
		if($BAT[1]=="OK"){
			$JSON=$BAT[2];
			$data=json_decode($JSON, true);
			$CAN=count($data['tickets']);
			if($CAN==0){
				echo "|MS|Cero tickets registrados|";return;
			}
			if($CAN==1){
				if(strcmp($TICKET,$data['tickets'][0])==0){
					echo "|MS|Se procedio a la verificacion del ticket, todo esta correcto, si aun no puede generar el pdf o imprimir reintente en 2 minutos|";return;
				}else{
					$s="UPDATE guias SET xx_ce_hash='".$data['tickets'][0]."' WHERE id_guia=".$GIA_ID;
					ejt($s);
					echo "|MS|Se procedio a la actualizacion del ticket, intente generar el pdf o imprimir en un minuto|";return;
				}
				//echo "|OK|1|".$data['tickets'][0]."|";return;
			}else{
				$PRI=$data['tickets'][0];
				$ULT=$data['tickets'][$CAN-1];
				if(strcmp($TICKET,$ULT)==0){
					echo "|MS|Se procedio a la verificacion del ticket(2), todo esta correcto, si aun no puede generar el pdf o imprimir reintente en 2 minutos|";return;
				}else{
					$s="UPDATE guias SET xx_ce_hash='".$ULT."' WHERE id_guia=".$GIA_ID;
					ejt($s);
					echo "|MS|Se procedio a la actualizacion del ticket(2), intente generar el pdf o imprimir en un minuto|";return;
				}
				//echo "|OK|2|".$data['tickets'][0]."|".$data['tickets'][$CAN-1]."|";return;
			}
		}
		echo "|MS|Error desconocido|";return;
	}
	
}
//
//
if($CMD=="GIA_IMPRIMIR_VALIDAR_24"){
	$GIA_ID=vbval($P01);
	$CX=gn("count(*)","guias","id_guia=$GIA_ID");
	if($CX==0){
		echo "|MS|*** Error : Guia no registrada ***|";
		return;
	}
	$r=gr("guias","id_guia=".$GIA_ID);
	$CE_GEN=trim($r['xx_ce_gen']);
	if($CE_GEN!="S"){
		echo "|MS|*** La guia electronica aun no ha sido generada ***|";
		//return;
	}
	//3=FACT. ELEC.
	//4=BOL. ELEC.
	if($r['id_comr']==3 || $r['id_comr']==4 || $r['id_comr']==-2){
		//TODO OK
	}else{
		echo "|MS|*** Error : Proceso solo valido para comprobantes electronicos ***|";
		return;
	}
	//
	$XX_LINK=trim(gs("xx_link","guias","id_guia=$GIA_ID"));
	if(strlen($XX_LINK)==0){
		$MODO="D";
		$EMP_RUC=gs("EMP_RUC","vguias_fe","ID=$GIA_ID");
		//
		$LINK_GENERADO="";
		$XX_TOK=GET_TOKEN($EMP_RUC,$MODO);
		$XX_DAT=explode("|",$XX_TOK);
		$RET=GEN_CDR($GIA_ID,$XX_DAT[2],$LINK_GENERADO);
		if($RET==false){		
			echo "|MS|Documento aun no aceptado|";return;
		}else{
			$qqq=ejt("UPDATE guias SET xx_link='$LINK_GENERADO' WHERE id_guia=$GIA_ID");
		}	
		echo "|OK|$LINK_GENERADO|";return;
	}else{
		echo "|OK|$XX_LINK|";return;
	}
}
//


?>