<?php
function MID($StrCad,$iI,$iLen){
	$iI=$iI - 1;
	return substr($StrCad,$iI,$iLen);
}
//
function P()
{
	$r="";
	$na = func_num_args();
	if($na>0){
		for($i=0;$i<$na;$i++){
			$data=func_get_arg($i);
			$r=$r.$data;
		}
	}
	return $r;
}
//
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);
}
//
function GEN_DOC_ELE($ID,&$TXT,&$TOT_SUM){
        $TOT_SUM=0;
	$TXT="";
	$_FX="|";
	$SEP="~";
	//
	$r=gr("vventas_fe","ID=$ID");	
	$EMP=$r['EMPC'];
        $CLI_ID=$r['ID_CLI'];
	$SUN_DOC_COD=gs("SUN_DOC_COD","vclientes","ID=$CLI_ID");
	//
	if($EMP=="ZH"){
		$LQ_RUC="20601600286";		
		$LQ_TIP_DOC="06";//06=RUC,01=DNI
		$LQ_RS="ZI HAO IMPORT EXPORT S.A.C.";
		$LQ_UBIGEO="150101";
		$LQ_DIR="JR. PUNO NRO. 626 INT. 207 LIMA - LIMA - LIMA";
		$LQ_URB="";
	}
       if($EMP=="LQ"){
		$LQ_RUC="20562683161";
		$LQ_TIP_DOC="06";//06=RUC,01=DNI
		$LQ_RS="L & Q IMPORT EXPORT SOCIEDAD ANONIMA CERRADA";
		$LQ_UBIGEO="150101";
		$LQ_DIR="JR. PUNO NRO. 626 INT. 207 (208) LIMA - LIMA - LIMA";
		$LQ_URB="";
	}
        if($EMP=="BAO"){
		$LQ_RUC="20603651155";
		$LQ_TIP_DOC="06";//06=RUC,01=DNI
		$LQ_RS="BAOMA E.I.R.L.";
		$LQ_UBIGEO="150101";
		$LQ_DIR="JR. PUNO NRO. 632 INT. 205 LIMA - LIMA - LIMA";
		$LQ_URB="";
	}
	$TXT=$LQ_RUC;
	//
	$COM=MID($r['COM'],1,1);
	$TIPO=$COM;	
	//
	$FEC_ED="FEC_ED:".$r['FEC_FE'].$_FX;
	$RUC_EMISOR="RUC_EMISOR:".$LQ_RUC.$_FX;
	$TIP_DOC_EMISOR="TIP_DOC_EMISOR:".$LQ_TIP_DOC.$_FX;
	$APAMNO_RAZON_SOCIAL_EMISOR="APAMNO_RAZON_SOCIAL_EMISOR:".$LQ_RS.$_FX;
	$UBIGEO_EMISOR="UBIGEO_EMISOR:".$LQ_UBIGEO.$_FX;
	$DIRECCION_EMISOR="DIRECCION_EMISOR:".$LQ_DIR.$_FX;
	$URBANIZACION_EMISOR="URBANIZACION_EMISOR:".$LQ_URB.$_FX;
	$DEPARTAMENTO_EMISOR="DEPARTAMENTO_EMISOR:LIMA".$_FX;
	$DEPARTAMENTO_EMISOR="DEPARTAMENTO_EMISOR:LIMA".$_FX;
	$PROVINCIA_EMISOR="PROVINCIA_EMISOR:LIMA".$_FX;
	$DISTRITO_EMISOR="DISTRITO_EMISOR:LIMA".$_FX;
	$CODIGO_PAIS_EMISOR="CODIGO_PAIS_EMISOR:PE".$_FX;
	$NOMBRE_COMERCIAL_EMISOR="NOMBRE_COMERCIAL_EMISOR:".$LQ_RS.$_FX;
	if($TIPO=="F"){
		$TXT=$TXT."-01";
		$TIP_DOC="TIP_DOC:01".$_FX;//++ 01-FACTURA/03-BOLETA
		$NRO_SERIE="NRO_SERIE:F".vbr("000".$r['SER'],3).$_FX;				
	}else{
		$TXT=$TXT."-03";
		$TIP_DOC="TIP_DOC:03".$_FX;//++ 01-FACTURA/03-BOLETA
		$NRO_SERIE="NRO_SERIE:B".vbr("000".$r['SER'],3).$_FX;
		
	}	
	$TXT=$TXT."-".vbr("000".$r['SER'],3)."-".vbr("00000000".$r['NUM'],8).".txt";
	$NRO_DOC="NRO_DOC:".vbr("00000000".$r['NUM'],8).$_FX;
	//
	if($TIPO=="F"){
		$NRO_DOC_ADQUIRIENTE="NRO_DOC_ADQUIRIENTE:".$r['RUC'].$_FX;
		$TIP_DOC_ADQUIRIENTE="TIP_DOC_ADQUIRIENTE:06".$_FX;//06=RUC,01=DNI
	}else{
		$NRO_DOC_ADQUIRIENTE="NRO_DOC_ADQUIRIENTE:".$r['DNI'].$_FX;
		$TIP_DOC_ADQUIRIENTE="TIP_DOC_ADQUIRIENTE:".$SUN_DOC_COD.$_FX;//06=RUC,01=DNI
	}	
	$APAMNO_RAZON_SOCIAL_ADQUIRIENTE="APAMNO_RAZON_SOCIAL_ADQUIRIENTE:".trim(MID($r['CLI'],1,100)).$_FX;
	$MONEDA="MONEDA:PEN".$_FX;
	$TOTAL_OPERACIONES_GRAV="TOTAL_OPERACIONES_GRAV:".NF(round($r['ST'],2),2).$_FX;
	$TOTAL_OPERACIONES_INF="TOTAL_OPERACIONES_INF:0.00".$_FX;
	$TOTAL_OPERACIONES_EXONERADAS="TOTAL_OPERACIONES_EXONERADAS:0.00".$_FX;
	$TOTAL_OPERACIONES_EXPORTACION="TOTAL_OPERACIONES_EXPORTACION:0.00".$_FX;
	$MONTO_TOTAL_OPERACIONES_GRAT="MONTO_TOTAL_OPERACIONES_GRAT:0.00".$_FX;
	$MONTO_DESCUENTOS_GLOBALES="MONTO_DESCUENTOS_GLOBALES:0.00".$_FX;
	$MONTO_TOTAL_IGV="MONTO_TOTAL_IGV:".NF(round($r['IGV'],2),2).$_FX;
	$MONTO_TOTAL_ISC="MONTO_TOTAL_ISC:0.00".$_FX;
	$MONTO_PAGAR="MONTO_PAGAR:".NF(round($r['TOT'],2),2).$_FX;
	$MONTO_PERCEPCION="MONTO_PERCEPCION:0.00".$_FX;
	$MONTO_TOTAL_PERCEP="MONTO_TOTAL_PERCEP:0.00".$_FX;
	$LEYENDA="LEYENDA:".n2l($r['TOT']).$_FX;
	if(strlen($r['EMAIL'])==0){
		$CORREO_CLIENTE="CORREO_CLIENTE:marco_sayas@hotmail.com".$_FX;	
	}else{
		$CORREO_CLIENTE="CORREO_CLIENTE:".$r['EMAIL'].$_FX;	
	}
	$VENTA_EMISOR_ITINERANTE="VENTA_EMISOR_ITINERANTE:0".$_FX;
	$ORDEN_COMPRA="ORDEN_COMPRA:".$_FX;
	if(strlen(trim($r['GIA']))==0){
		$NRO_SERIE_GUIA_REL="NRO_SERIE_GUIA_REL:".$_FX;
		$NRO_DOCUMENTO_GUIA_REL="NRO_DOCUMENTO_GUIA_REL:".$_FX;
	}else{
		$GIA=trim($r['GIA']);
		$SN=explode("-",$GIA);
		if(count($SN)==1){
			$NRO_SERIE_GUIA_REL="NRO_SERIE_GUIA_REL:".$_FX;
			$NRO_DOCUMENTO_GUIA_REL="NRO_DOCUMENTO_GUIA_REL:".$_FX;
		}else{
			$NRO_SERIE_GUIA_REL="NRO_SERIE_GUIA_REL:".$SN[0].$_FX;
			$NRO_DOCUMENTO_GUIA_REL="NRO_DOCUMENTO_GUIA_REL:".$SN[1].$_FX;
		}
	}
	$TIPO_OPERACION="TIPO_OPERACION:0101".$_FX;
	$IA_26="IA_26:".$r['DIR'].$_FX;
	if($r['TDP']=="CO"){
		$IA_27="IA_27:CONTADO".$_FX;
		//$IA_28="IA_28:".$r['FEC_FE'].$_FX;
		$IA_28="IA_28:".$_FX;
	}else{
		$IA_27="IA_27:CREDITO".$_FX;
		$IA_28="IA_28:".$r['FVCTO'].$_FX;
	}
	$IA_29="IA_29:";
	//
	$DETALLE="";
	$CX=0;
	$rs="SELECT * FROM pri_ven_det WHERE ID=$ID ORDER BY CX";
	$rs = grs($rs);			
	while ($r = $rs->fetch_assoc()){
		$CX++;
		$ID_ITEM="ID_ITEM:".$CX.$_FX;
		$COD_PROD_SERV_ITEM="COD_PROD_SERV_ITEM:".$r['COD'].$_FX;
		$DESCRIP_ITEM="DESCRIP_ITEM:".$r['COD']."x".$r['PIE']." ".$r['DES'].$_FX;
		$COD_UNIDAD_MEDIDA_ITEM="COD_UNIDAD_MEDIDA_ITEM:BX".$_FX;
		$INDICADOR_PS_ITEM="INDICADOR_PS_ITEM:P".$_FX;
		$INDICADOR_TRANS_GRAT="INDICADOR_TRANS_GRAT:0".$_FX;
		$INDICADOR_AFECTACION_ITEM="INDICADOR_AFECTACION_ITEM:10".$_FX;
			$PRE_UNI_C_IGV=NF(round($r['PRE']*$r['PIE'],2),2);
			$PRE_UNI_S_IGV=NF(round((($PRE_UNI_C_IGV/118)*100),2),2);
		$VALOR_VENTA_UNITARIA="VALOR_VENTA_UNITARIA:".$PRE_UNI_S_IGV.$_FX;
			//$PVU=NF(round($r['CAN']*$PRE_UNI_C_IGV,1),2);
                          $PVU=NF(round($PRE_UNI_C_IGV,1),2);
		$PRECIO_VENTA_UNITARIO_ITEM="PRECIO_VENTA_UNITARIO_ITEM:".$PVU.$_FX;
		$CANTIDAD_ITEM="CANTIDAD_ITEM:".$r['CAN'].$_FX;
		$DESCUENTO_ITEM="DESCUENTO_ITEM:0.00".$_FX;
			$VAL_ITEM=NF(round($r['CAN']* $PRE_UNI_S_IGV,2),2);
		$VALOR_ITEM="VALOR_ITEM:".$VAL_ITEM.$_FX;
                //
                $PVU=NF(round($r['CAN']*$PRE_UNI_C_IGV,2),2);
		$IGV_TOTAL_ITEM="IGV_TOTAL_ITEM:".NF(round($PVU - $VAL_ITEM,2),2).$_FX;
		$ISC_TOTAL_ITEM="ISC_TOTAL_ITEM:0.00".$_FX;
		$SISTEMA_CALCULO_ISC="SISTEMA_CALCULO_ISC:0.00".$_FX;
                //                
		$TOTAL_ITEM="TOTAL_ITEM:".$PVU;
		$DETALLE=$DETALLE.P($ID_ITEM,$COD_PROD_SERV_ITEM,
				 $DESCRIP_ITEM,$COD_UNIDAD_MEDIDA_ITEM,
				 $INDICADOR_PS_ITEM,$INDICADOR_TRANS_GRAT,
				 $INDICADOR_AFECTACION_ITEM,$VALOR_VENTA_UNITARIA,
				 $PRECIO_VENTA_UNITARIO_ITEM,$CANTIDAD_ITEM,
				 $DESCUENTO_ITEM,$VALOR_ITEM,
				 $IGV_TOTAL_ITEM,$ISC_TOTAL_ITEM,
				 $SISTEMA_CALCULO_ISC,$TOTAL_ITEM)."^";
$TOT_SUM=$TOT_SUM + $PVU;
	}
	//
	if(strlen($DETALLE)>0){
		$DETALLE=trim(MID($DETALLE,1,strlen($DETALLE)-1));
	}
	$DATA="ACTION:Registrar~";
	$DATA=P($DATA.$FEC_ED,$RUC_EMISOR,$TIP_DOC_EMISOR,$APAMNO_RAZON_SOCIAL_EMISOR,
			$UBIGEO_EMISOR,$DIRECCION_EMISOR,$URBANIZACION_EMISOR,$DEPARTAMENTO_EMISOR,
			$PROVINCIA_EMISOR,$DISTRITO_EMISOR,$CODIGO_PAIS_EMISOR,$NOMBRE_COMERCIAL_EMISOR,
			$TIP_DOC,$NRO_SERIE,$NRO_DOC,$NRO_DOC_ADQUIRIENTE,$TIP_DOC_ADQUIRIENTE,
			$APAMNO_RAZON_SOCIAL_ADQUIRIENTE,$MONEDA,$TOTAL_OPERACIONES_GRAV,
			$TOTAL_OPERACIONES_INF,$TOTAL_OPERACIONES_EXONERADAS,
			$TOTAL_OPERACIONES_EXPORTACION,$MONTO_TOTAL_OPERACIONES_GRAT,
			$MONTO_DESCUENTOS_GLOBALES,$MONTO_TOTAL_IGV,
			$MONTO_TOTAL_ISC,$MONTO_PAGAR,$MONTO_PERCEPCION,$MONTO_TOTAL_PERCEP,$LEYENDA,
			$CORREO_CLIENTE,$VENTA_EMISOR_ITINERANTE,$ORDEN_COMPRA,$NRO_SERIE_GUIA_REL,$NRO_DOCUMENTO_GUIA_REL,
			$TIPO_OPERACION,$IA_26,$IA_27,$IA_28,$IA_29)."~".$DETALLE;
	return $DATA;
}
/*
$T_OK=0;
$T_ER=0;
$s="SELECT ID,ST FROM vventas_fe WHERE YEAR(FEC)=2019 AND MONTH(FEC)=2 ORDER BY ID LIMIT 0,50";
$rs = grs($s);
while($r=$rs->fetch_assoc()){
	$ID=$r['ID'];
	$TXT="";
	$STR_TXT=GEN_DOC_ELE($ID,$TXT);
	if(file_exists($TXT)){
		unlink($TXT);
	}	
	CREATE_FILE($TXT,$STR_TXT);
}
*/

?>