<title>Reporte de ventas</title><div id="d_preocesando" align="center" style="margin-top:80px;"><img src="images/procesando.gif" width="137" height="75"></div>

<script language="javascript">

</script>



<?php
//include "procesos/creditos_formulas.php";
include("conexion.php");

error_reporting(0);

//session_start();
//include "verifica.php";


?>
<script src="assets/js/funciones.js"></script>
<script src="assets/js/numerosletras2.js"></script>

<style type="text/css">
<!--
.Estilo6 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	letter-spacing: 0px;
}
.Estilo8 {font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; font-stretch:condensed; }

.Estilo10 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; letter-spacing: -1px; }

.Estilo11 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: normal; letter-spacing: 0px; }

.Estilo9 {
	font-size: 16px;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
}
.Estilo16 {	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-stretch:condensed;
}
.Estilo17 {font-size: 11px; letter-spacing: -1px; font-family: Arial, Helvetica, sans-serif;}




-->
</style>
</head>

  <?php
  

	include("conexion.php");			
	include "procesos/validaciones.php";
	
	//$xcaja_estado = $vali->caja_estado($conexion);
			
	
	@$xaccion2=$_REQUEST['xaccion2'];
	@$xcriterio=$_REQUEST['xcriterio'];												
	
	@$xactivar_fechas=$_REQUEST['xactivar_fechas'];				
	
?>
	<script language="javascript">
//	alert('xactivar_fechas: <?php echo $xactivar_fechas; ?>');
	</script>			

<?php		
	
	
	@$xfecha_inicio=$_REQUEST['xfecha_inicio'];	
	@$xfecha_fin=$_REQUEST['xfecha_fin'];				
	
	if(!isset($xfecha_inicio)){
	
		$xfecha_inicio = date("Y-m-d");
		$xfecha_fin = date("Y-m-d");
	}
	
	@$xactivar_pendientes=$_REQUEST['xactivar_pendientes'];							
	@$xactivar_documento=$_REQUEST['xactivar_documento'];										
	
	@$xpagodocumento_criterio=$_REQUEST['xpagodocumento_criterio'];
	
	
	@$xempresa_criterio=$_REQUEST['xempresa_criterio'];						
	@$xactivar_empresa=$_REQUEST['xactivar_empresa'];
	


	@$xid=$_REQUEST['xid'];
	@$xaccion2=$_REQUEST['xaccion2'];
	@$xcriterio=$_REQUEST['xcriterio'];	
	
	
	@$xs_empresa=$_SESSION['s_empresa'];																								


  ?>
  
  

  <?php
	$nfila=8;
	$nfila_inicial=0;

	$xemp_nom ="";
	
	if($xactivar_empresa != 1){
		$xempresa_criterio = $xs_empresa;
	}
	
	if($xempresa_criterio!=NULL and trim($xempresa_criterio!="")){
		$r_empresa = mysqli_query($conexion, "SELECT * FROM empresas e WHERE emp_codi=$xempresa_criterio;");
		while($row_empresa = mysqli_fetch_array($r_empresa)){
			$xemp_nom = $row_empresa['emp_nom'];	
		}
	}	

	if($xactivar_empresa == 1){
		if($xempresa_criterio!=NULL and trim($xempresa_criterio!="")){	
			$xemp_nom = $xemp_nom;		
		}else{
			$xemp_nom ="TODOS";
		}
		//$xcretip_nombre ="";		
	}else{
		//$xemp_nom ="TODOS";
		$xemp_nom = $xemp_nom;		
	}
	

	@$xs_empresa=$_SESSION['s_empresa'];																									




	if($xactivar_documento == 1 and trim($xpagodocumento_criterio)!=""){
		//$xcretip_nombre ="";		
	}else{
		$xdoc_nom ="TODOS";
	}
	

	$xdoc_nom ="";
	
	if($xpagodocumento_criterio!=NULL and trim($xpagodocumento_criterio!="")){
		$r_documento = mysqli_query($conexion, "select * from documento_pago WHERE docpag_codi=$xpagodocumento_criterio;");
		while($row_documento = mysqli_fetch_array($r_documento)){
			$xdoc_nom = $row_documento['docpag_nombre'];
	
		}
	}	

	if($xactivar_documento == 1 and trim($xpagodocumento_criterio)!=""){
		//$xcretip_nombre ="";		
	}else{
		$xdoc_nom ="TODOS";
	}


	/** PHPspreadsheet */
	//require "phpspreadsheet/vendor/autoload.php";
	//use PhpOffice\PhpSpreadsheet\Spreadsheet;
	//use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
	
	//$spreadsheet = new Spreadsheet();
	//$sheet = $spreadsheet->getActiveSheet();	
	/** PHPspreadsheet */
	
											
	/** PHPExcel */
	require_once 'excel/Classes/PHPExcel.php';
	
	// Creamos nueva instancia de PHPExcel 
	$objPHPExcel = new PHPExcel();
	
	//Seleccionando la fuente a utilizar
	$objPHPExcel->getActiveSheet()->setName('Arial');
	$objPHPExcel->getActiveSheet()->setSize(10);
	
	//combinando celdas
	//$objPHPExcel->getActiveSheet()->mergeCells('A1:F1');  
	//$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
	//$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
	
	
	
	
	// Escribiendo los datos 
	
	$objPHPExcel->getActiveSheet()->setCellValue('A1','REPORTE DE VENTAS');
	
	$objPHPExcel->getActiveSheet()->setCellValue('A2','FECHA DE REPORTE:');
	$objPHPExcel->getActiveSheet()->setCellValue('A3','CRITERIO DE FILTRO:');
	
	$objPHPExcel->getActiveSheet()->setCellValue('B2',date("d/m/Y") );
	$objPHPExcel->getActiveSheet()->setCellValue('B3','RANGO DE FECHAS:');
	$objPHPExcel->getActiveSheet()->setCellValue('B4','TIPO DE DOCUMENTO:');
	$objPHPExcel->getActiveSheet()->setCellValue('B5','EMPRESA (SUCURSAL):');
	
	$objPHPExcel->getActiveSheet()->setCellValue('C3','Desde '.date("d/m/Y",strtotime($xfecha_inicio)).' hasta '.date("d/m/Y",strtotime($xfecha_fin))  );  
	$objPHPExcel->getActiveSheet()->setCellValue('C4',$xdoc_nom);
	$objPHPExcel->getActiveSheet()->setCellValue('C5',$xemp_nom);
	
	

  
  ?>

  
                <?php 
				
				
		$nfila_cabecera = 7;		
		
		//$nfila_cabecera = $nfila - 1;
		
		//$nfila_ano_mes = $nfila_cabecera - 1;


//		$objPHPExcel->getActiveSheet()->mergeCells('A'.$nfila_ano_mes.':F'.$nfila_ano_mes);  
//		$objPHPExcel->getActiveSheet()->getStyle('A'.$nfila_ano_mes)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
//		$objPHPExcel->getActiveSheet()->getStyle('A'.$nfila_ano_mes)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//		$objPHPExcel->getActiveSheet()->setCellValue('A'.$nfila_ano_mes, $cmes." - ".$xn);
		
		// Escribiendo los datos 
		$objPHPExcel->getActiveSheet()->setCellValue('A'.$nfila_cabecera,'NRO.VENTA');
		
		$objPHPExcel->getActiveSheet()->setCellValue('B'.$nfila_cabecera,'FECHA DE EMISION DEL COMPROBANTE DE PAGO O DOCUMENTO');
		$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila_cabecera,'FECHA DE VENCIMIENTO O FECHA DE PAGO');
		$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila_cabecera,'TIPO');
		$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila_cabecera,'NRO.SERIE/NRO.SERIE MAQ REGIS');
		$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila_cabecera,'NUMERO');
		$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila_cabecera,'TIPO DOCUMENTO IDENTIDAD');
		
		$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila_cabecera,'NUMERO DOCUMENTO IDENTIDAD');
		$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila_cabecera,'APELLIDOS Y NOMBRES, DENOMINACION O RAZON SOCIAL');		
		$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila_cabecera,'VALOR FACTURADO DE LA EXPORTACION');		
		$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila_cabecera,'BASE IMPONIBLE DE LA OPERACION GRAVADA');				
		$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila_cabecera,'EXONERADA');		
		$objPHPExcel->getActiveSheet()->setCellValue('M'.$nfila_cabecera,'INAFECTA');		
		$objPHPExcel->getActiveSheet()->setCellValue('N'.$nfila_cabecera,'ISC');
		
		$objPHPExcel->getActiveSheet()->setCellValue('O'.$nfila_cabecera,'IGV Y/O IPM');
		$objPHPExcel->getActiveSheet()->setCellValue('P'.$nfila_cabecera,'OTROS TRIBUTOS Y CARGOS QUE NO FORMAN PARTE DE LA BASE IMPONIBLE');
		$objPHPExcel->getActiveSheet()->setCellValue('Q'.$nfila_cabecera,'IMPORTE TOTAL');
		$objPHPExcel->getActiveSheet()->setCellValue('R'.$nfila_cabecera,'TIPO DE CAMBIO');
				
		$objPHPExcel->getActiveSheet()->setCellValue('S'.$nfila_cabecera,'FECHA REFERENCIA');
		$objPHPExcel->getActiveSheet()->setCellValue('T'.$nfila_cabecera,'TIPO REFERENCIA');
		$objPHPExcel->getActiveSheet()->setCellValue('U'.$nfila_cabecera,'SERIE REFERENCIA');
		$objPHPExcel->getActiveSheet()->setCellValue('V'.$nfila_cabecera,'NRO. REFERENCIA');	
		
		$objPHPExcel->getActiveSheet()->setCellValue('W'.$nfila_cabecera,'IGV PORCENTAJE');											


												$xsql_empresa = "";
												
												if(isset($xaccion2)){
																								
													if(@$xactivar_empresa==1){																										
														if(trim($xempresa_criterio)==""){
															$xsql_empresa = "";
														}else{	
															$xsql_empresa = " o.emp_codi_fk=$xempresa_criterio AND ";
														}	
													}else{													
														$xsql_empresa = " o.emp_codi_fk=$xs_empresa AND ";																			
													}
														

													if(@$xactivar_documento==1){																										
														if(trim($xpagodocumento_criterio)==0){
															$xsql_documento = " (o.docpag_codi_fk=2 or  o.docpag_codi_fk=3) AND ";
														}else{	
															if(trim($xpagodocumento_criterio)==1){
																$xsql_documento = " o.docpag_codi_fk=1 AND ";
															}else{	
																if(trim($xpagodocumento_criterio)==2){
																	$xsql_documento = " o.docpag_codi_fk=2 AND ";
																}else{	
																	if(trim($xpagodocumento_criterio)==3){
																		$xsql_documento = " o.docpag_codi_fk=3 AND ";
																	}else{	
																		$xsql_documento = " ";
																	}	
																}	
															}	
														}	
													}else{													
														$xsql_documento = " ";																			
													}																																										
																								
													//echo "xactivar_fechas::: ".$xactivar_fechas;
												
													if($xactivar_fechas==1){
																										
														$result1=mysqli_query($conexion,"SELECT o.*, p.*, dp.*, pt.*,
														SUM((ordpeddet_precio * ordpeddet_cantidad) + (ordpeddet_icbper_monto_unitario * ordpeddet_cantidad)) AS monto														
														FROM orden_pedido o
														INNER JOIN personas p ON o.per_codi_fk=p.per_codi
														INNER JOIN orden_pedido_detalle opd ON opd.ordped_codi_fk=o.ordped_codi
														INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk	
														INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi 													
														WHERE ".$xsql_empresa.$xsql_documento."												
														o.ordped_fecha<='$xfecha_fin' and
														o.ordped_fecha>='$xfecha_inicio' 
														GROUP BY o.ordped_codi
														ORDER BY o.ordped_fecha DESC, ordped_numero DESC;");
													
													}else{													
														
														$result1=mysqli_query($conexion,"SELECT o.*, p.*, dp.*, pt.*, 														
														SUM((ordpeddet_precio * ordpeddet_cantidad) + (ordpeddet_icbper_monto_unitario * ordpeddet_cantidad)) AS monto
														FROM orden_pedido o
														INNER JOIN personas p ON o.per_codi_fk=p.per_codi
														INNER JOIN orden_pedido_detalle opd ON opd.ordped_codi_fk=o.ordped_codi
														INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk		
														INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi																										
														WHERE ".$xsql_empresa.$xsql_documento."	
														1=1													
														GROUP BY o.ordped_codi
														ORDER BY o.ordped_fecha DESC, ordped_numero DESC;");													
														
													}
																																																				
												}else{
																																						
													$result1=mysqli_query($conexion,"SELECT o.*, p.*, dp.*, pt.*, 
													SUM((ordpeddet_precio * ordpeddet_cantidad) + (ordpeddet_icbper_monto_unitario * ordpeddet_cantidad)) AS monto
													FROM orden_pedido o
													INNER JOIN personas p ON o.per_codi_fk=p.per_codi
													INNER JOIN orden_pedido_detalle opd ON opd.ordped_codi_fk=o.ordped_codi
													INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk													
													INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi													
													WHERE ".$xsql_empresa.$xsql_documento."
													1=1
													GROUP BY o.ordped_codi
													ORDER BY o.ordped_fecha DESC, ordped_numero DESC;");										
													
												}
												
												$nregistros = mysqli_num_rows($result1);
												$nn=0;
												$xtotal_pendiente=0;
												$xtotal_amortizado=0;
												$xtotal_monto=0;
												
												$nr=0;
												
												while($row1=mysqli_fetch_array($result1)){

													$nn=$nn+1;
													
													$xamortizado=0;
													$xordped_codi=$row1['ordped_codi'];
													

													$xmonto = $row1['monto'];
													
													$xfecha_referencia = "";
													$xtipo_referencia = "";
													$xserie_referencia = "";
													$xnumero_referencia = "";																																							
													$r_nota_credito = mysqli_query($conexion,"SELECT * FROM nota_credito WHERE ordped_codi_fk = $xordped_codi;");
													while($row_nota_credito = mysqli_fetch_array($r_nota_credito)){
														$xfecha_referencia = date("d/m/Y",strtotime($row_nota_credito['notcre_fecha']));
														$xtipo_referencia = $row_nota_credito['notcretip_codi_fk'];
														$xserie_referencia = substr(trim($row_nota_credito['notcre_numero']),0,4);
														$xnumero_referencia = substr(trim($row_nota_credito['notcre_numero']),5,10);		
													}
																					
																																							
													$xordped_numero = $row1['ordped_numero'];
													$xordped_docpagnum = $row1['ordped_docpagnum'];
													$xserie = substr(trim($xordped_docpagnum),0,4);
													$xncomprobante = substr(trim($xordped_docpagnum),5,10);	
													
													$xordped_igv_porcentaje = $row1['ordped_igv_porcentaje'];
													
																																																																						
																		
					$objPHPExcel->getActiveSheet()->setCellValue('A'.$nfila,trim($xordped_numero) );					
					$objPHPExcel->getActiveSheet()->etCellValue('B'.$nfila,date("d/m/Y",strtotime($row1['ordped_fechahora'])) );
					$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila,date("d/m/Y",strtotime($row1['ordped_fechahora'])) );
					$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila,$row1['comtip_codigo_fk']);
					$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila,$xserie);
					
					$xncomprobante = "=\"" . $xncomprobante . "\"";
					$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila,$xncomprobante);
					$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila,$row1['per_ruc_dni_tipo']);
					
					$xruc = "=\"" . utf8_encode($row1['per_ruc']) . "\"";
					$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila,$xruc);
					$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila,utf8_encode($row1['per_nombre_comercial']));
					$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila,'');
					
					$xbase_imponible = $row1['monto'] / (1 + ($row1['ordped_igv_porcentaje'] / 100));
					$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila,number_format($xbase_imponible,2,'.','') );
					
					$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila,'');
					$objPHPExcel->getActiveSheet()->setCellValue('M'.$nfila,'');
					$objPHPExcel->getActiveSheet()->setCellValue('N'.$nfila,'');
					
					$xigv = $row1['monto'] - $xbase_imponible;
					$objPHPExcel->getActiveSheet()->setCellValue('O'.$nfila,number_format($xigv,2,'.',''));					
					
					$objPHPExcel->getActiveSheet()->setCellValue('P'.$nfila,'');																								
					
					$objPHPExcel->getActiveSheet()->setCellValue('Q'.$nfila,number_format($row1['monto'],2,'.','') );					
					$objPHPExcel->getActiveSheet()->setCellValue('R'.$nfila,'');					
					
					$objPHPExcel->getActiveSheet()->setCellValue('S'.$nfila,$xfecha_referencia );
					$objPHPExcel->getActiveSheet()->setCellValue('T'.$nfila,$xtipo_referencia);
					$objPHPExcel->getActiveSheet()->setCellValue('U'.$nfila,$xserie_referencia);					
					$objPHPExcel->getActiveSheet()->setCellValue('V'.$nfila,$xnumero_referencia);																														
					
					$objPHPExcel->getActiveSheet()->setCellValue('W'.$nfila,$xordped_igv_porcentaje);					
										
					$nfila = $nfila + 1;																		
				}
				
				
				$nfila_inicial = 8;
				$nfila_final = $nfila - 1;
							
				$nfila = $nfila + 4;
				
				
				
				
				?>

  
<?php

// Nombramos la hoja 
$objPHPExcel->getActiveSheet()->setTitle('VENTAS');
// Activamos para que al abrir el excel nos muestre la primer hoja
$objPHPExcel->setActiveSheetIndex(0);
// Guardamos el archivo, en este caso lo guarda con el mismo nombre del php
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
//$xnombre_archivo = 'excel_archivos/reporte_pedidos_consultas_contasis'.time().'.xlsx';
$xnombre_archivo = 'excel_archivos/REPORTE_VENTAS_'.$xfechahora.'.xlsx';	
$objWriter->save($xnombre_archivo);


/*
$sheet->setTitle('VENTAS');		
$writer = new Xlsx($spreadsheet);
//$writer->save('C:\xampp\ejemplo.xlsx');
$xnombre_archivo = 'excel_archivos/REPORTE_VENTAS_'.$xfechahora.'.xlsx';	
$writer->save($xnombre_archivo);  	
*/

?>

<script language="javascript">
document.getElementById('d_preocesando').innerHTML="<img src='images/completado.png' width='50' height='50'> <div style='margin-top:10px;'>PROCESO COMPLETADO.</div>";
</script>
  
<script language="javascript">
//function abrir_excel(archivo){
	
	//document.getElementById('d_preocesando').innerHTML="<img src='images/completado.png' width='50' height='50'> <div style='margin-top:10px;'>PROCESO COMPLETADO.</div>";
	location.href = "<?php echo $xnombre_archivo ?>";
	
//}
</script>
  
  

<script language="javascript">
//covertirNumLetras("<?php echo $xtotal_venta;?>","tnumeros");
</script>	

