<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";
	}






												
		
	/** PHPExcel */
	require_once 'excel/Classes/PHPExcel.php';
	
	// Creamos nueva instancia de PHPExcel 
	$objPHPExcel = new PHPExcel();
	
	// Seleccionando la fuente a utilizar
	$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
	$objPHPExcel->getDefaultStyle()->getFont()->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,'FECHA DE EMISION DEL COMPROBANTE DE PAGO O DOCUMENTO');
		$objPHPExcel->getActiveSheet()->setCellValue('B'.$nfila_cabecera,'FECHA DE VENCIMIENTO O FECHA DE PAGO');
		$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila_cabecera,'TIPO');
		$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila_cabecera,'NRO.SERIE/NRO.SERIE MAQ REGIS');
		$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila_cabecera,'NUMERO');
		$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila_cabecera,'TIPO DOCUMENTO IDENTIDAD');
		
		$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila_cabecera,'NUMERO DOCUMENTO IDENTIDAD');
		$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila_cabecera,'APELLIDOS Y NOMBRES, DENOMINACION O RAZON SOCIAL');		
		$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila_cabecera,'VALOR FACTURADO DE LA EXPORTACION');		
		$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila_cabecera,'BASE IMPONIBLE DE LA OPERACION GRAVADA');				
		$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila_cabecera,'EXONERADA');		
		$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila_cabecera,'INAFECTA');		
		$objPHPExcel->getActiveSheet()->setCellValue('M'.$nfila_cabecera,'ISC');
		
		$objPHPExcel->getActiveSheet()->setCellValue('N'.$nfila_cabecera,'IGV Y/O IPM');
		$objPHPExcel->getActiveSheet()->setCellValue('O'.$nfila_cabecera,'OTROS TRIBUTOS Y CARGOS QUE NO FORMAN PARTE DE LA BASE IMPONIBLE');
		$objPHPExcel->getActiveSheet()->setCellValue('P'.$nfila_cabecera,'IMPORTE TOTAL DEL COMPROBANTE DE PAGO');
		$objPHPExcel->getActiveSheet()->setCellValue('Q'.$nfila_cabecera,'GLOSA');
		
		
						


												$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 ";
																			
													}
																								
													//echo "xactivar_fechas::: ".$xactivar_fechas;
												
													if($xactivar_fechas==1){
																										
														$result1=mysqli_query($conexion,"SELECT o.*, p.*, dp.*, pt.*,SUM(ordpeddet_precio * 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."
														o.ordped_estado=1 and
														o.ordped_fecha<='$xfecha_fin' and
														o.ordped_fecha>='$xfecha_inicio' and  
														(o.ordped_numero like '%$xcriterio%' OR 
														p.per_nombre_comercial like '%$xcriterio%' OR 
														p.per_razon_social like '%$xcriterio%' OR 
														p.per_ruc like '%$xcriterio%' OR 
														p.per_nombre like '%$xcriterio%' OR 
														p.per_apellido like '%$xcriterio%' OR 														
														o.ordped_anotaciones like '%$xcriterio%' OR 
														o.ordped_docpagnum like '%$xcriterio%' OR 
														p.per_codigo like '%$xcriterio%') 
														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) 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."
														o.ordped_estado=1 and
														(o.ordped_numero like '%$xcriterio%' OR 
														p.per_nombre_comercial like '%$xcriterio%' OR 
														p.per_razon_social like '%$xcriterio%' OR 
														p.per_ruc like '%$xcriterio%' OR 
														p.per_nombre like '%$xcriterio%' OR 
														p.per_apellido like '%$xcriterio%' OR 														
														o.ordped_anotaciones like '%$xcriterio%' OR 
														o.ordped_docpagnum like '%$xcriterio%' OR 
														p.per_codigo like '%$xcriterio%') 
														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) 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."
													o.ordped_estado=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'];
													
													$r_amortizado=mysqli_query($conexion,"SELECT SUM(oc.opecaj_monto) as amortizado FROM operacion_caja oc INNER JOIN orden_pedido_caja opc ON oc.opecaj_codi=opc.opecaj_codi_fk WHERE ordped_codi_fk=$xordped_codi AND oc.opecaj_estado=1;");																																				
													while($row_amortizado=mysqli_fetch_array($r_amortizado)){													
														$xamortizado=$row_amortizado['amortizado'];
													}
													
													$xdeuda = $row1['monto'] - $xamortizado;

													$xdeuda = number_format($xdeuda,1,'.','');
													
													/*** INICIO CONDICION PARA MOSTRAR SOLO PENDIENTES***/													
													if($xdeuda < 0.001 and @$xactivar_pendientes==1){
														continue;
													}
													/*** FIN CONDICION PARA MOSTRAR SOLO ***/													


													/*** INICIO CONDICION PARA MOSTRAR SOLO DOCUMENTO DE PAGO SELECCIONADO***/													
													if(@$xactivar_documento==1 and $row1['docpag_codi']!=@$xpagodocumento_criterio){
														continue;
													}
													/*** FIN CONDICION PARA MOSTRAR SOLO ***/													

													
													$xmonto = $row1['monto'];
													
													if($row1['ordped_estado']==1){
														$xtotal_monto = $xtotal_monto + $xmonto;
														$xtotal_pendiente = $xtotal_pendiente + $xdeuda;
														$xtotal_amortizado = $xtotal_amortizado + $xamortizado;													
													}	
													
													
													if($xdeuda > 0.001){
														$xcolor_pendiente ="#CC0000";
													
													}else{
														$xcolor_pendiente ="#009900";													
													
													}												
																					
													
													$xcantidad_despachada=0;
													$r_despachado=mysqli_query($conexion,"SELECT sum(oad.opealmdet_cantidad) as cantidad_despachada FROM orden_pedido_almacen o INNER JOIN operacion_almacen oa ON oa.opealm_codi=o.opealm_codi_fk INNER JOIN operacion_almacen_detalle oad ON oad.opealm_codi_fk=oa.opealm_codi  WHERE o.ordped_codi_fk=$xordped_codi and oa.opealm_estado=1;");
													while($row_despachado=mysqli_fetch_array($r_despachado)){
														$xcantidad_despachada=$row_despachado['cantidad_despachada'];
														
													}	
																										
													$cantidad_pendiente = $row1['cantidad_total'] - $xcantidad_despachada;

													if( $cantidad_pendiente <= 0 ){
														$xentrega="COMPLETA";													
														$xcolor_entrega ="#009900";													
													
													}else{
														$xentrega="PENDIENTE";													
														$xcolor_entrega ="#CC0000";
																										
													}		
													
													$xordped_docpagnum = $row1['ordped_docpagnum'];
													$xserie = substr(trim($xordped_docpagnum),0,4);
													$xncomprobante = substr(trim($xordped_docpagnum),5,10);																																																											
																		
					
					$objPHPExcel->getActiveSheet()->setCellValue('A'.$nfila,date("d/m/Y",strtotime($row1['ordped_fechahora'])) );
					$objPHPExcel->getActiveSheet()->setCellValue('B'.$nfila,date("d/m/Y",strtotime($row1['ordped_fechahora'])) );
					$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila,$row1['comtip_codigo_fk']);
					$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila,$xserie);
					
					$xncomprobante = "=\"" . $xncomprobante . "\"";
					$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila,$xncomprobante);
					$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila,$row1['per_ruc_dni_tipo']);
					
					$xruc = "=\"" . utf8_encode($row1['per_ruc']) . "\"";
					$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila,$xruc);
					$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila,utf8_encode($row1['per_nombre_comercial']));
					$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila,'');
					
					$xbase_imponible = $row1['monto'] / (1 + ($row1['ordped_igv_porcentaje'] / 100));
					$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila,number_format($xbase_imponible,2,'.','') );
					
					$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila,'');
					$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila,'');
					$objPHPExcel->getActiveSheet()->setCellValue('M'.$nfila,'');
					
					$xigv = $row1['monto'] - $xbase_imponible;
					$objPHPExcel->getActiveSheet()->setCellValue('N'.$nfila,number_format($xigv,2,'.',''));					
					
					$objPHPExcel->getActiveSheet()->setCellValue('O'.$nfila,'');																								
					
					$objPHPExcel->getActiveSheet()->setCellValue('P'.$nfila,number_format($row1['monto'],2,'.','') );
					
					$objPHPExcel->getActiveSheet()->setCellValue('Q'.$nfila,$row1['pagtip_nombre']);					
					
										
					$nfila = $nfila + 1;
													
													
													
						
				?>
						
				<?php
				}
				
				
				$nfila_inicial = 8;
				$nfila_final = $nfila - 1;
							
				$nfila = $nfila + 4;
				
				
				
				
				?>

  
<?php


// Nombramos la hoja 
$objPHPExcel->getActiveSheet()->setTitle('pedidos');


// 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';

$objWriter->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>	

