<?php 
session_start();
require_once($ruta."clases/covensol_cxc_c_cuentasxcobrar.php");
require_once('../shared/class_folder/JSON.php');
$json = new JSON();
$objcxc = new covensol_cxc_cuentasxcobrar();
$objcxc->io_conexiones->decodificar_post();
$opciones = $objcxc->io_conexiones->asignar_post();
$opcionesget = $objcxc->io_conexiones->asignar_get();
$objcxc->CargarFactDev = false;	
//echo date("H:m:s")."<br>";
//echo $_GET['tabla']."<br><br><br>";	 
switch($_GET['tabla']){
		
		case 'cajas':
		        $opcionesget['criterio']='por_listado';
				$resultado = $objcxc->consulta_caja($opcionesget);
		break;
		
		case 'estatus':
				$resultado = $objcxc->consulta_estfactura($opciones);
		break;
		
		case 'estcotped':
				$resultado = $objcxc->consulta_estcotped($opciones);
		break;
		
		case 'clientes':
		      $opciones['criterio']='por_listado';
		      $resultado = $objcxc->consulta_clientes($opciones);
		break;
		
		case 'clientesext':
		      $opcionesget['criterio']='por_listado';
		      $resultado = $objcxc->consulta_clientes($opcionesget);
		break;
		
		case 'transporte':
				$resultado = $objcxc->consulta_transporte($opciones);
		break;
		
		case 'vendedores':
				$resultado = $objcxc->consulta_vendedores($opciones);
		break;
		
		case 'moneda':
				$resultado = $objcxc->consulta_monedas($opciones);
		break;
		
		case 'condpago':		       
				$resultado = $objcxc->consulta_condpago($opciones);
		break;
		
		case 'detalle':		        
				if($opcionesget['id_fact']){$rsfact = $objcxc->extraerdatos_factura($opcionesget);}
				$opcionesget['criterio'] = 'por_detalle';							
				$resultado = $objcxc->consulta_detalles_fact($opcionesget);
		break;
		
		case 'detalle_cotped':		        	        
				if($opcionesget['id_cotped']){$rsfact = $objcxc->extraerdatos_cotped($opcionesget);}
				$opcionesget['criterio'] = 'por_detalle';							
				$resultado = $objcxc->consulta_detalles_cotped($opcionesget);
				$opcionesget['criterio'] = '';
		break;
		
		case 'detalle_fact_doc':		        
				if($opcionesget['id_fact']){$rsfact = $objcxc->extraerdatos_factura($opcionesget);}
				$objcxc->CargarFactDev = true;	
				$opcionesget['criterio'] = 'por_detalle_doc';							
				$resultado = $objcxc->consulta_detalles_fact($opcionesget);
		break;
		
		
		case 'detalle_doc':		        
				if($opcionesget['id_doc']){$rsfact = $objcxc->extraerdatos_documento($opcionesget);}				
				$param=$opcionesget;
				$param['criterio'] = 'por_detalle';							
				$resultado = $objcxc->consulta_detalles_doc($param);
		break;
		
		case 'CobrosFactDeContado':
				$param=$opcionesget;
				$param['criterio'] = 'CobrosFactDeContado';							
				$resultado = $objcxc->ConsultaMovCobros($param);
		break;
		
		case 'RetencionesFact':
				$param=$opcionesget;
				$param['criterio'] = 'por_factura';
				$objcxc->id_fact = $opcionesget['id_fact'];							
				$rs = $objcxc->ConsultaDetRet($param);
				$resultado['rs'] = $rs;
		break;
		
		
		case 'detalle_factura_dev':
		        if($opcionesget['id_fact']){$rsfact = $objcxc->extraerdatos_factura($opcionesget);}
				$objcxc->CargarFactDev = true;		        
				$opcionesget['criterio'] = 'por_detalle';							
				$resultado = $objcxc->consulta_detalles_fact($opcionesget);
		break;
		
		case 'factura':		         
				 if($opciones['id_fact']){$resultado = $objcxc->extraerdatos_factura($opciones);}		 
		break;
		
		case 'pedido':
		case 'cotizacion':
				 if($opciones['id_cotped']){$resultado = $objcxc->extraerdatos_cotped($opciones);}		 
		break;
		
		case 'enlacecotped':
				 if($opcionesget['id_ped']){
					$rs = $objcxc->BuscarEnlacePedCot($opcionesget); 
					$resultado['rs'] = $rs;
				 }	 
		break;
		
		case 'enlace_cotped_fact':
				 if($opcionesget['id_fact']){
					$rs = $objcxc->BuscarEnlaceCotPedFact($opcionesget); 
					$resultado['rs'] = $rs;
				 }	 
		break;
		
		case 'notcre':		         
				 if($opciones['id_doc']){$resultado = $objcxc->extraerdatos_documento($opciones);}		 
		break;
		
		case 'config':		         
				$resultado = $objcxc->cargar_config_cxc();		 
		break;
		
		case 'cargos':		         
				$resultado = $objcxc->SelectCargos();		 
		break;
		
		case 'bancoscxc':
		        $opciones['criterio'] = 'por_listado';
				$resultado = $objcxc->ConsultaBancosCxc($opciones);
		break;
		
		case 'bancosscb':
		        $opciones['criterio'] = 'por_listado';
				$resultado = $objcxc->ConsultaBancosScb($opciones);
		break;
		
		case 'ctabanco':
		        $opciones['criterio'] = 'por_listado';
				$resultado = $objcxc->ConsultaCtaBcoScb($opciones);
		break;
		
		case 'talonario':
		        $opcionesget['criterio'] = 'por_disponible';
				$resultado = $objcxc->ConsultaDetTalonario($opcionesget);
		break;
		
		case 'notas_credito':
		        $param['criterio'] = 'por_listado';
				$param['id_cliente'] = $opcionesget['id_cliente'];
				$param['id_fact'] = $opcionesget['id_fact'];
				$param['codtipdoc'] ='NC';
				if(!$param['id_fact']){$param['estdoccxc']='P';}
				if(!$param['id_cliente']){break;}
				$resultado = $objcxc->consulta_documentos($param);
		break;
		
		case 'movbanco':
		        $opcionesget['criterio'] = 'movbanco';
				$resultado = $objcxc->ConsultaMovBanco($opcionesget);				
				
		break;
		
		case 'movbancoasoc':		        
				$resultado = $objcxc->ConsultaMovBanAsoc($opcionesget);				
				
		break;
		
		case 'BuscaArticulo':	
		        $opciones['criterio'] = 'por_detalle';	        
				$resultado = $objcxc->consulta_articulos($opciones);				
				
		break;
		
		case 'BuscaServicio':	
		        $opciones['criterio'] = 'por_codigo';	        
				$resultado = $objcxc->ConsultaServicios($opciones);				
				
		break;
		
		case 'BuscaConceptoFact':	
		        $opciones['criterio'] = 'por_codigo';	        
				$resultado = $objcxc->consulta_conceptofac($opciones);				
				
		break;		
		
}


function Formatos($fila){
		
		global $opcionesget,$objcxc;
		
		if($fila['fecregcliente']){ $fila['fecregcliente'] = $objcxc->io_conexiones->formatea_fecha_normal($fila['fecregcliente']);}
		
		switch($_GET['tabla']){
				
				
				
				case 'detalle_cotped':
				             if($_GET['form']=='factura'){$fila = $objcxc->RecalcularItemsCotPed($fila);}										
				             $fila = $objcxc->formatear_detalle_grilla_cotped($fila);
							 break;
				case 'detalle':
				case 'detalle_fact_doc':			 
				case 'detalle_doc':										
				             if(($opcionesget['criterio']=='por_detalle' or $opcionesget['criterio']=='por_detalle_doc')){			        
								$fila = $objcxc->formatear_detalle_grilla($fila);				
							 }
							 else{	
							 	$fila = $objcxc->formatear_detalle_grilla_doc($fila);
							 }
							 break;
				
				case 'CobrosFactDeContado':										
				             $fila = $objcxc->FormatPresentDetCobrosFact($fila);
							 break;
							 
				case 'RetencionesFact':										
				             $fila = $objcxc->FormatdatosRetFactPresent($fila);
							 break;
							 
				case 'notas_credito':										
				             if($_GET['id_fact']){
								$fila['monaplicarnc']=$fila['saldoapl'];
							}			        
							$fila = $objcxc->FormatDatosDocPresent($fila);
							 break;
							 
				case 'config':										
				             $fila['entry'] = trim($fila['entry']); 
							 $fila['seccion'] = trim($fila['seccion']);
							 $fila['value'] = trim($fila['value']);
							 $fila['codemp'] = trim($fila['codemp']);
							 $fila['codsis'] = trim($fila['codsis']);
							 break;
				
							 
				case 'notcre':										
				          $fila = $objcxc->FormatDatosDocPresent($fila);   
						  break;
						  
			    case 'detalle_factura_dev':
				case 'factura':										
				          $fila = $objcxc->FormatDatosFactPresent($fila);   
						  break;
				
				case 'cotizacion':
				case 'pedido':										
				             $fila = $objcxc->FormatDatosCotPedPresent($fila); 
							 break;
				
				case 'movbancoasoc':			 
				case 'movbanco':										
				          $fila = $objcxc->FormatDatosMovBanco($fila);      
						  break;
				case 'BuscaArticulo':
				case 'BuscaServicio':
				case 'BuscaConceptoFact':				
						  $fila = $objcxc->FormatDatosDetalleFact($fila);
				 		  break;
						 
		}
		
		return $fila;
}



$cantidad='0';
$output='[]';
if($resultado['rs']){

		foreach($resultado['rs'] as $fila){				
			
			$fila = Formatos($fila);		
			$data[] = $fila;		
		
		}
		
		$cantidad = $resultado['rs']->RecordCount();
		$output = $json->encode($data);		
		$output_extjs = "{total:".$cantidad.",datos:".$output."}";
		if($opciones['codificacion']=='jquery'){$output_extjs = $output;}		
}


echo $output_extjs;

?>
