<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($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 and trim($xactivar_empresa)!=""){
		//$xcretip_nombre ="";		
	}else{
		$xemp_nom ="TODOS";
	}
	

	@$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,'N.PEDIDO');
		$objPHPExcel->getActiveSheet()->setCellValue('B'.$nfila_cabecera,'DOCUMENTO');
		$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila_cabecera,'NRO. DOCUMENTO');
		$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila_cabecera,'CODIGO CLIENTE');
		$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila_cabecera,'CLIENTE');
		$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila_cabecera,'FECHA REGISTRO');
		
		$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila_cabecera,'TIPO PAGO');		
		$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila_cabecera,'ENTREGA');		
		$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila_cabecera,'EMPRESA');				
		$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila_cabecera,'PENDIENTE');		
		$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila_cabecera,'AMORTIZADO');		
		$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila_cabecera,'MONTO');				


												$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.*, pt.*, dp.*, e.*, 
														SUM(ordcomdet_precio * ordcomdet_cantidad) AS monto, 
														SUM(ordcomdet_cantidad) AS cantidad_total
														FROM orden_compra o 
														INNER JOIN personas p ON o.per_codi_fk=p.per_codi 
														INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi 
														INNER JOIN orden_compra_detalle opd ON opd.ordcom_codi_fk=o.ordcom_codi 
														INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk  
														INNER JOIN empresas e ON o.emp_codi_fk=e.emp_codi 
														WHERE  ".$xsql_empresa."  
														o.ordcom_estado=1 and
														o.ordcom_fecha<='$xfecha_fin' and 
														o.ordcom_fecha>='$xfecha_inicio' and  
														(o.ordcom_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 
														pt.pagtip_nombre like '%$xcriterio%' OR 
														o.ordcom_anotaciones like '%$xcriterio%' OR 
														o.ordcom_docpagnum like '%$xcriterio%' OR 
														p.per_codigo like '%$xcriterio%') 
														GROUP BY o.ordcom_codi 
														ORDER BY o.ordcom_fecha DESC, ordcom_numero DESC");													
													
													}else{

														$result1=mysqli_query($conexion,"SELECT o.*, p.*, pt.*, dp.*, e.*, 
														SUM(ordcomdet_precio * ordcomdet_cantidad) AS monto,  
														SUM(ordcomdet_cantidad) AS cantidad_total
														FROM orden_compra o 
														INNER JOIN personas p ON o.per_codi_fk=p.per_codi 
														INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi 
														INNER JOIN orden_compra_detalle opd ON opd.ordcom_codi_fk=o.ordcom_codi 
														INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk   
														INNER JOIN empresas e ON o.emp_codi_fk=e.emp_codi 
														WHERE ".$xsql_empresa." 
														o.ordcom_estado=1 and														
														(o.ordcom_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 
														pt.pagtip_nombre like '%$xcriterio%' OR 
														o.ordcom_anotaciones like '%$xcriterio%' OR 
														o.ordcom_docpagnum like '%$xcriterio%' OR 
														dp.docpag_nombre like '%$xcriterio%' OR 
														o.ordcom_docpagnum like '%$xcriterio%' OR 
														p.per_codigo like '%$xcriterio%') 
														GROUP BY o.ordcom_codi 
														ORDER BY o.ordcom_fecha DESC, ordcom_numero DESC;");													
														
													}
														
																										
													?>
													<script language="javascript">
													parent.document.getElementById('d_buscar_producto_resultado').style.display="block";
													</script>
													<?php		
												
												}else{
																																						
													$result1=mysqli_query($conexion,"SELECT o.*, p.*, pt.*, dp.*, e.*, 
													SUM(ordcomdet_precio * ordcomdet_cantidad) AS monto,  
													SUM(ordcomdet_cantidad) AS cantidad_total  
													FROM orden_compra o 
													INNER JOIN personas p ON o.per_codi_fk=p.per_codi 
													INNER JOIN pago_tipo pt ON o.pagtip_codi_fk=pt.pagtip_codi 
													INNER JOIN orden_compra_detalle opd ON opd.ordcom_codi_fk=o.ordcom_codi 
													INNER JOIN documento_pago dp ON dp.docpag_codi=o.docpag_codi_fk   
													INNER JOIN empresas e ON o.emp_codi_fk=e.emp_codi 
													WHERE ".$xsql_empresa." 
													o.ordcom_estado=1
													GROUP BY o.ordcom_codi 
													ORDER BY o.ordcom_fecha DESC, ordcom_codi DESC;");										
													
												}
												
												$nregistros = mysqli_num_rows($result1);
												?>
																						  <script language="javascript">
												parent.document.getElementById('d_nregistros').innerHTML="<?php echo $nregistros;?> productos encontrados";
																						</script>
																						  <?php
												$nn=0;
												$xtotal_pendiente=0;
												$xtotal_amortizado=0;
												$xtotal_monto=0;
												
												$nr=0;
												
												while($row1=mysqli_fetch_array($result1)){

													$nn=$nn+1;
													
													$xamortizado=0;
													$xordcom_codi=$row1['ordcom_codi'];
													
													$r_amortizado=mysqli_query($conexion,"SELECT SUM(oc.opecaj_monto) as amortizado FROM operacion_caja oc INNER JOIN orden_compra_caja opc ON oc.opecaj_codi=opc.opecaj_codi_fk WHERE ordcom_codi_fk=$xordcom_codi AND oc.opecaj_estado=1;");																																				
													while($row_amortizado=mysqli_fetch_array($r_amortizado)){													
														$xamortizado=$row_amortizado['amortizado'];
													}
													
													$xdeuda = $row1['monto'] - $xamortizado;

													
													/*** 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['ordcom_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_compra_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.ordcom_codi_fk=$xordcom_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";
																										
													}												

																							
													//$xdias_vencidos = $row1['dias_vencidos'];									
													//$xdias_vencidos_ampliacion = $row1['dias_vencidos_ampliacion'];									
												
													/*
													if($xdias_vencidos_ampliacion < $xdias_vencidos){
														$xdias_vencidos2 = $xdias_vencidos_ampliacion;
													}else{
														$xdias_vencidos2 = $xdias_vencidos;
													}
													*/
													
													$nr = $nr + 1;
													
													if($nr % 2 == 1){
														$xcolor_linea = "#FFFFFF";
													}else{
														$xcolor_linea = "#E9E9E9";					
													}													
													
																		
					
					$objPHPExcel->getActiveSheet()->setCellValue('A'.$nfila,$row1['ordcom_numero']);
					$objPHPExcel->getActiveSheet()->setCellValue('B'.$nfila,$row1['docpag_nombre']);
					$objPHPExcel->getActiveSheet()->setCellValue('C'.$nfila,$row1['ordcom_docpagnum']);
					$objPHPExcel->getActiveSheet()->setCellValue('D'.$nfila,$row1['per_codigo']);
					$objPHPExcel->getActiveSheet()->setCellValue('E'.$nfila,$row1['per_nombre_comercial']);
					$objPHPExcel->getActiveSheet()->setCellValue('F'.$nfila,date("d/m/Y H:i:s",strtotime($row1['ordcom_fechahora'])) );
					
					$objPHPExcel->getActiveSheet()->setCellValue('G'.$nfila,$row1['pagtip_nombre']);		
					$objPHPExcel->getActiveSheet()->setCellValue('H'.$nfila,$xentrega);		
					$objPHPExcel->getActiveSheet()->setCellValue('I'.$nfila,$row1['emp_nom']);				
					
					
					$ypendiente = number_format( number_format($row1['monto'],2,'.','') - number_format($xamortizado,2,'.','')  ,2,'.',''); 
					$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila,$ypendiente);		
					
					$yamortizado = number_format($xamortizado,2,'.','');
					$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila,$yamortizado);		
					
					$ymonto =number_format($row1['monto'],2,'.','');
					$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila,$ymonto);				
								
					
					$nfila = $nfila + 1;																										
													
						
				?>
						
				<?php
				}
				
				
				$nfila_inicial = 8;
				$nfila_final = $nfila - 1;
				
				$objPHPExcel->getActiveSheet()->setCellValue('J'.$nfila,'=SUM(J'.$nfila_inicial.':J'.$nfila_final.')');				
				$objPHPExcel->getActiveSheet()->setCellValue('K'.$nfila,'=SUM(K'.$nfila_inicial.':K'.$nfila_final.')');
				$objPHPExcel->getActiveSheet()->setCellValue('L'.$nfila,'=SUM(L'.$nfila_inicial.':L'.$nfila_final.')');
				
				$nfila = $nfila + 4;
				
				
				
				
				?>

  
<?php


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


// 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_compras_consultas'.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>	

