<%@ page import="java.util.*,javax.sql.*,java.sql.*,javax.naming.*,java.text.*,m05bClasses.*,m05bObjects.*" %>
<%
	// _______________________________XLNETs______________________________________
	// Evaluar variable de session que indica si esta conectado a XLNets
	if ((session.getAttribute("objetoSeguridad")) == null)  { 
		// Verificar que no ha transcurrido el tiempo de sesion (web.xml) %>
			<%@ include file="/m05bControlAcceso.inc"%>
<%
	} 
	String sUsuario = (String) session.getAttribute("persona");
%>
  
<%@ include file="/m05bIdioma.inc"%>
<HTML>
<HEAD>
	<title><%= resTit.getString("titLstKilometrajesYConsumos")%></title>
	<link rel="stylesheet" href="<%=m05bConstantesPaginas.PATH_ESTILOS%>/m05bestilos.css" type="text/css">
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
</HEAD>	
<%	 
    m05bFileLog miLog = new m05bFileLog();
    m05bConexion miConex = new m05bConexion();
	m05bComun miComun = new m05bComun();
	String sKilometrajes = ""; 
	sKilometrajes = miComun.leerPropiedad("PDF.Kilometrajes"); 	
%>

<BODY style="cursor: wait"  onload="document.body.style.cursor='default';document.all['general'].style.visibility='visible';document.all['general'].style.cursor='default';" onunload="document.body.style.cursor='wait';document.all['general'].style.cursor='wait';">
<div  id="general" style="POSITION: absolute;visibility:hidden;cursor: wait">
	
<form NAME="formSolicitud" METHOD="POST">
<%
      	 //Recogemos la situacion
	   String sSituacion = request.getParameter("SituacionTexto");
         //Recogemos el Grupo Rango
	   String sGRango = request.getParameter("GRango");
       if ((sGRango==null)||(sGRango.equals(""))||(sGRango.equals("***"))){
					sGRango="";}	   
	   String sGRango2 = request.getParameter("GRango");
      if ((sGRango2==null)||(sGRango2.equals(""))||(sGRango2.equals("***"))){
					sGRango2="";}		   
	   String sRango2 = request.getParameter("CodRango");
	   String sRango="";
         //Recogemos la Marca Modelo
	   String sMarca = request.getParameter("CodMarca");
       if ((sMarca==null)||(sMarca.equals(""))||(sMarca.equals("***"))){
					sMarca="";}	   
	   String sMarca2 = request.getParameter("CodMarca");
      if ((sMarca2==null)||(sMarca2.equals(""))||(sMarca2.equals("***"))){
					sMarca2="";}
	   String sModelo2 = request.getParameter("ModeloTexto");
	   	  //miLog.addTraza(sUsuario , "m05bConsumosPdf" , "sModelo2: " + sModelo2, m05bConstantes.LOG_NIVEL_BAJO);
	   String sModelo="";									   
	   String sModelo3="";		   
         //Recogemos Matricula
         String sMatricula=request.getParameter("Matricula");
            	if ((sMatricula==null)||(sMatricula.equals(""))){
					sMatricula="";}
		 String sMatricula2=sMatricula;
         long DifDiasDesdeHasta=0;
	   //Recogemos Fecha Desde:
	   
	   String sFecDesdeTmp=""; 
	   String sFecHastaTmp="";
         String sFecDesde=request.getParameter("FecDesde");
         String sFecDesde2=sFecDesde;
         if(idiomaSes.equals("es")){ 		
	         String AnoDesde=sFecDesde.split("/")[2];
	         String MesDesde=sFecDesde.split("/")[1];
	         if (MesDesde.length()==1)
	         {MesDesde="0"+MesDesde;}
	         
	         String DiaDesde=sFecDesde.split("/")[0];
	         if (DiaDesde.length()==1)
	         {DiaDesde="0"+DiaDesde;}
	         
	         sFecDesde=AnoDesde+ MesDesde+	 DiaDesde;
	         sFecDesdeTmp=AnoDesde+ MesDesde+DiaDesde;
	         }
         else{
        	 sFecDesde=request.getParameter("FecDesde").replaceAll("/","");
        	 sFecDesdeTmp=request.getParameter("FecDesde").replaceAll("/","");
         }
	     //Recogemos Fecha Hasta:
         String sFecHasta=request.getParameter("FecHasta");         
         String sFecHasta2=sFecHasta;
         if(idiomaSes.equals("es")){ 		
	         String AnoHasta=sFecHasta.split("/")[2];
	         String MesHasta=sFecHasta.split("/")[1];
	         if (MesHasta.length()==1)
	         {MesHasta="0"+MesHasta;}
	         
	         String DiaHasta=sFecHasta.split("/")[0];
	         if (DiaHasta.length()==1)
	         {DiaHasta="0"+DiaHasta;}
	         
	         sFecHasta=AnoHasta+ MesHasta+DiaHasta;
	         sFecHastaTmp=AnoHasta+ MesHasta+DiaHasta;
         }
         else{
        	 sFecHasta=request.getParameter("FecHasta").replaceAll("/","");
	         sFecHastaTmp=request.getParameter("FecHasta").replaceAll("/","");
         }
	     String srcPDF = sKilometrajes + "?Situacion="+sSituacion+"&GRango="+sGRango+"&Rango="+sRango2+"&FecDesde="+sFecDesde2+"&FecHasta="+sFecHasta2+"&Matricula="+sMatricula+"&CodMarca="+sMarca+"&CodModelo="+sModelo2;	     
         DifDiasDesdeHasta=miComun.getDiasEntreFechas(sFecDesde,sFecHasta);
         DifDiasDesdeHasta=DifDiasDesdeHasta / 2;
         String sDifDiasDesdeHasta=""+DifDiasDesdeHasta;
         ///////////////////////////////////
         String fFechaInicioRango="";
         ////////////////////////////////////
	     String sFIniKm="";
	     String sFIniKm2="";
	     
	     String sIniKm="";
	     
	     String sFFinKm="";
	     String sFFinKm2="";
	     
	     String sFinKm="";
         String sDifDias ="";
         String sDifKms ="";
         String sMediaKmsDias ="";
         String FechaBd="";
         String FechaBdComparar ="";  
         String FechaBdCompararAntInicio ="";        
         String FechaBdCompararAntFin ="";  
         String sFechaFinAnterior="";  
             
         long DifKms = 0, DifDias=0, MediaKmsDias=0, KmsFin = 0, KmsInicio = 0,
         		diasdiffInicioMin=1000, diasdiffFinMin=1000, diasdiffInicio=0, diasdiffFin=0,lDifFechaInicio=0,lDifFechaFin=0;
         String sSituacionBD="ALTA";
         String Fecha="";
         String sMatriculaAnt = "";
         String sRangoAnt = "";
	    java.sql.Connection conn=null;
	    PreparedStatement pstmt = null, pstmt2 = null, pstmt3 = null, pstmt4 = null,pstmtUpdate = null,pstmtBucle = null; 
	    ResultSet rs = null, rs2 = null, rs3 = null, rs4 = null, rsUpdate = null,rsBucle=null;
		String bVehiculoTransferido="false";	
		String bExisteVehiculoImporte="false";   
		String sBdMatriculaVeh="" ,sBdFecMatricVeh="", sBdPrecioVeh="", sBdVidaUtil="", sBdFecBajaVeh="", 
		sBdRangoVeh="",sBdSituacionVeh="";
		String sBdFecDesdeTrans="" ,sBdFecHastaTrans="", sBdImporteTrans="", sBdRangoTrans="";
		String sMatriculaAplic="",sRangoApli="",sFechaInicioRangoApli="",sFechaFinRangoApli="";
		String sMatriculaTrans="",sRangoTrans="",sFechaInicioRangoTrans="",sFechaFinRangoTrans="";
		String sFFinKmTmp="";
		//String sUsuario=persona;
		String sFecDesdeC=sFecDesde2,sFecHastaC=sFecHasta2;
		
		long nDiasRangoApli=0;
		long nDiasRango=0;
		
		long lDifDias=0;
		
		long nDiasEnRangoTrans=0;
		
		long lDifDiasDesdeTransDesde=0;
		long lDifDiasDesdeHastaTrans=0;
		               
		long lDifDiasDesdeTransHasta=0;
		long lDifDiasHastaHastaTrans=0;
		
		long lDifDiasDesdeDesdeTrans=0;
		//java.sql.Connection conn=null;
		///////////////////////////////////////////////////
		long diasPendAmort=0, lDias=0, diasCTK=0, diasAmort=0, diasHastaIniRango=0,diasPendientesAmortizar=0;
		
		String matricula="", fIni="", fFin="", fUnion="", rango="", matriculaAnt="", rangoAnt="",
		fIniAct="", fFinAct="", fIniAnt="";
		long diasDifIniMin = 10000, diasDifFinMin = 10000, difFechaIni=0, difFechaFin=0;
		double dias=0.0, mediaKm=0.0, km=0.0, kmIni=0.0, kmFin=0.0, kmRecor=0.0;
		boolean bHayKM = false;



		java.util.Date fInicio,  fDesdeCTK, fHastaCTK;
		Calendar calFInicioRango, calFFinRango, calFDesdeCTK, calFHastaCTK;
		String sql="",sqlAmortiz="", fdesde, fhasta,fhastaf, fmatric, fbaja,   clave="", situacion="", fHastaMatric="";
		double precio=0.0, importe= 0.0, importeBaja = 0.0;

		int vidautil=0;
		int vidaUtilAmortizar=0;
		int contRangos = 0;
		String matriculaSig = "";
		int contador = 0;
		boolean transferido = false;
		
	String  finiciorang="", ffinrang="", finicioAnt="",  total="", taller="";
	double porcent = 0.0, gastosTP=0.0, gastosTE=0.0, valorAmort=0.0, amortizacion=0.0, combustible=0.0;
	long diasRango = 0;
	int intervTP=0, intervTE=0;		
	
	 m05bKmCTK miObjKM;
	 
	ArrayList miArrayKm = new ArrayList();	 
/////////////////////////////////////////////////////////
PreparedStatement pstmtVehiculos = null, pstmtTransferencias=null, pstmtTmp = null; 
ResultSet rsVehiculos = null, rsTmp = null,rsTransferencias=null;
	   
String  sqlInsertTmp2=""; 
      try { 
	  conn = miConex.getConnection();
	  
        //BORRAR LA TABLA TEMPORAL DE CONSUMOS POR USUARIO
        String sqlDeleteTemporal = "DELETE  " + m05bConstantes.TAB_TMPVEHICULOS +" WHERE " + m05bConstantes.COL_90_USUARIO+ " = '" + sUsuario+"'";
        String sWhere="";
       //1 TABLA 1 de la join 
        String sqlVehiculos=" ";
        
sWhere=   " where " + m05bConstantes.COL_40_MATRICULA + " (+) = " + m05bConstantes.COL_34_MATRICULA + 
							//" and " + m05bConstantes.COL_34_RANGO + " NOT IN ('D2')" + 
							" and to_char(" + m05bConstantes.COL_34_FMATRIC + ",'yyyymmdd') <= '" + sFecHastaTmp + 
							"' and (" + m05bConstantes.COL_34_FBAJA + " IS NULL "  + 				
							" or to_char(" + m05bConstantes.COL_34_FBAJA + ",'yyyymmdd') >= '" + sFecDesdeTmp + "')" ;
if (!(sModelo2.equals(""))){
        sModelo3=miComun.ListaCaracteres(sModelo2);
        if (!(sWhere.equals(""))){        
    	  sWhere= sWhere + " AND " + m05bConstantes.COL_34_MODELO+ " in ("+sModelo3+")";
    	}else{
    	  sWhere= sWhere + " WHERE " + m05bConstantes.COL_34_MODELO+ " in ("+sModelo3+")";}}
else if (!(sMarca2.equals(""))){
        if (!(sWhere.equals(""))){        
    	 sWhere= sWhere + " AND " + m05bConstantes.COL_34_MARCA+ " = '"+sMarca+"'";
    	}else{
    	sWhere= sWhere + " WHERE " + m05bConstantes.COL_34_MARCA+ " = '"+sMarca+"'"  ;
}}
if (!(sMatricula2.equals(""))){
        if (!(sWhere.equals(""))){
    	      sWhere= sWhere + " AND " + m05bConstantes.COL_34_MATRICULA+ " = '"+sMatricula2+"'" ;
    	}else{
    	      sWhere= sWhere  + " WHERE "+ m05bConstantes.COL_34_MATRICULA+ " = '"+sMatricula2+"'" ;  
            }
  }
  
	sqlVehiculos = "select " + m05bConstantes.COL_34_MATRICULA + ", " + m05bConstantes.COL_34_RANGO + 
				   			", " + m05bConstantes.COL_34_FMATRIC + ", " + m05bConstantes.COL_34_FBAJA + 
				   			", " + m05bConstantes.COL_34_PRECIO + ", " + m05bConstantes.COL_34_VIDAUTIL + 
							", " + m05bConstantes.COL_34_SITUACION + 
				   			", " + m05bConstantes.COL_40_RANGO + ", " + m05bConstantes.COL_40_IMPORTE + 
				   			", " + m05bConstantes.COL_34_IMPBAJA + " " +
				   			", " + m05bConstantes.COL_40_FDESDE + ", " + m05bConstantes.COL_40_FHASTA +
					" from " + m05bConstantes.TAB_VEHICULOS  + ", " + m05bConstantes.TAB_TRANSFERENCIAS ;
							 
   sqlVehiculos=sqlVehiculos+sWhere +  " order by " + m05bConstantes.COL_34_MATRICULA + ", " + m05bConstantes.COL_40_FDESDE; 
      
	   //miLog.addTraza("PERSONA" , "sqlVehiculos" , "sqlVehiculos: " + sqlVehiculos, m05bConstantes.LOG_NIVEL_BAJO);
        
        
       //Definicion de la primera parte de la insert en la tabla temporal 90        
            
       String sqlInsertTmp="INSERT into " + 
                     m05bConstantes.TAB_TMPVEHICULOS+"("+
                     m05bConstantes.COL_90_USUARIO+","+ 
                     m05bConstantes.COL_90_MATRICULA+","+ 
                     m05bConstantes.COL_90_FINIRANGO+","+
                     m05bConstantes.COL_90_FFINRANGO+","+
                     m05bConstantes.COL_90_RANGO+","+
                     m05bConstantes.COL_90_DIAS+
                     ") VALUES (" ;
        
        //eJECUTAMOS EL BORRADO DE LA TABLA TEMPORAL
	    //miLog.addTraza("PERSONA" , "m05bKilometrosPDFVehiculo1" , "sqlDeleteTemporal: " + sqlDeleteTemporal, m05bConstantes.LOG_NIVEL_BAJO);
        
        pstmt = conn.prepareStatement(sqlDeleteTemporal);
        rs = pstmt.executeQuery();
		if (rs != null)
			rs.close();
		if (pstmt != null)
			pstmt.close();        
        //Vamosrecuperando los datos de la tabla 34
        
	    //miLog.addTraza("PERSONA" , "m05bKilometrosPDFVehiculo1" , "sqlVehiculos: " + sqlVehiculos, m05bConstantes.LOG_NIVEL_BAJO);
        
		pstmt = conn.prepareStatement(sqlVehiculos);
		int contadorRegistros = 0;
		int i = 0;
		rs = pstmt.executeQuery();
		while (rs.next()){
			contadorRegistros++;
		}
		 rs = pstmt.executeQuery();
		 diasCTK = miComun.getDiasEntreFechasInclude(sFecDesdeTmp,sFecHastaTmp);        
	    //miLog.addTraza("PERSONA" , "diasCTK" , "diasCTK: " + diasCTK, m05bConstantes.LOG_NIVEL_BAJO); 
		while (i!=contadorRegistros){
		    if(i==0){
			   rs.next();
			}
		i++;	
		diasRango=0;
		matricula = rs.getString(m05bConstantes.COL_34_MATRICULA);
						//if (matricula.equals("VI-7320-U"))
							//System.out.println("");
							
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** Matricula: " + matricula, m05bConstantes.LOG_NIVEL_MEDIO);
		fdesde = rs.getString(m05bConstantes.COL_40_FDESDE);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fdesde: " + fdesde, m05bConstantes.LOG_NIVEL_MEDIO);		
		fhasta = rs.getString(m05bConstantes.COL_40_FHASTA);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fhasta: " + fhasta, m05bConstantes.LOG_NIVEL_MEDIO);				
		fhastaf=miComun.formatearFechaBD(fhasta);
		fmatric = rs.getString(m05bConstantes.COL_34_FMATRIC);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fmatric: " + fmatric, m05bConstantes.LOG_NIVEL_MEDIO);				
		fmatric=miComun.formatearFechaBD(fmatric);
		fbaja = rs.getString(m05bConstantes.COL_34_FBAJA);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fbaja: " + fbaja, m05bConstantes.LOG_NIVEL_MEDIO);				
		fbaja=miComun.formatearFechaBD(fbaja);
		vidautil = rs.getInt(m05bConstantes.COL_34_VIDAUTIL);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** vidautil: " + vidautil, m05bConstantes.LOG_NIVEL_MEDIO);				
		situacion = rs.getString(m05bConstantes.COL_34_SITUACION);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** situacion: " + situacion, m05bConstantes.LOG_NIVEL_MEDIO);				
		precio = rs.getDouble(m05bConstantes.COL_34_PRECIO);
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** precio: " + precio, m05bConstantes.LOG_NIVEL_MEDIO);				
		fHastaMatric=""+(Integer.parseInt(fmatric.substring(0,4)) + vidautil) + 
					    						fmatric.substring(4,6) + 
					    						fmatric.substring(6,8);		
		//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fHastaMatric: " + fHastaMatric, m05bConstantes.LOG_NIVEL_MEDIO);				
          //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** fdesde: " + fdesde, m05bConstantes.LOG_NIVEL_MEDIO);						
 				if (fdesde == null)  {
				// NO  hay transferencias para ese vehiculo
							rango = rs.getString(m05bConstantes.COL_34_RANGO);
					        //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** rango: " + rango, m05bConstantes.LOG_NIVEL_MEDIO);											
							    if ( (fmatric != null ) && ( sFecDesdeTmp.compareTo(fmatric) < 0) )
					    			finiciorang = fmatric;
					    		else
					    			finiciorang = sFecDesdeTmp;
					    		
					    		if ( (fbaja == null ) || ( sFecHastaTmp.compareTo(fbaja) < 0 ) )
					    			ffinrang= sFecHastaTmp;
					    		else
					    			ffinrang = fbaja;
					    		diasRango = miComun.getDiasEntreFechasInclude(finiciorang,ffinrang);
					//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** diasRango: " + diasRango, m05bConstantes.LOG_NIVEL_MEDIO);											
		    					diasAmort = miComun.getDiasEntreFechas(fmatric.substring(0,4) + fmatric.substring(4,6) + fmatric.substring(6,8), fHastaMatric);
					//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " *** diasAmort: " + diasAmort, m05bConstantes.LOG_NIVEL_MEDIO);													    					
					    		if (diasRango > 0)  {
					    			diasCTK = miComun.getDiasEntreFechasInclude(sFecDesdeTmp,sFecHastaTmp);
									porcent = ((double) diasRango) / ((double) diasCTK);
									//valorAmort = precio / (365 * vidautil);
									
									diasHastaIniRango = miComun.getDiasEntreFechasInclude(fmatric,finiciorang);
									if (diasAmort >= diasHastaIniRango){
										if (diasAmort < (diasHastaIniRango + diasRango))  {
								  				// Se amortiza solo una parte de los dias en el rango
								   				diasRango = diasAmort - diasHastaIniRango;
										}  
									}

									if(!matriculaAnt.equals(matricula)){

										sqlInsertTmp2=sqlInsertTmp+"'"+ sUsuario+"','"+
                                        matricula+"',"+
                                        " to_date('" + finiciorang + "','YYYYMMDD'),"+
                                        " to_date('" + ffinrang + "','YYYYMMDD'),'"+
                                        rango+"',"+diasRango+")";
	   //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "sqlInsertTmp2 " + sqlInsertTmp2, m05bConstantes.LOG_NIVEL_BAJO);
	                                          
                                        pstmtTmp = conn.prepareStatement(sqlInsertTmp2);
                                        rsTmp = pstmtTmp .executeQuery();
        	                            if (pstmtTmp != null)
		                                    pstmtTmp .close();
                                        if (rsTmp != null)
                                            rsTmp .close();
										
									}	
									
								
						        }  // Fin (diasRango > 0)
					    		
					    	rs.next();
								
			    		}  else {
 				// SI  hay transferencias para ese vehiculo
			    			
			    			diasAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
			    			 //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "diasAmort " + diasAmort, m05bConstantes.LOG_NIVEL_BAJO);
							finiciorang = rs.getString(m05bConstantes.COL_40_FDESDE);
                            //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "finiciorang " + finiciorang, m05bConstantes.LOG_NIVEL_BAJO);							
					    			finiciorang=miComun.formatearFechaBD(finiciorang);

							ffinrang = rs.getString(m05bConstantes.COL_40_FHASTA);
                             //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "ffinrang " + ffinrang, m05bConstantes.LOG_NIVEL_BAJO);					    										
					    			ffinrang=miComun.formatearFechaBD(ffinrang);
									rango = rs.getString(m05bConstantes.COL_40_RANGO);		
	   //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "rango " + rango, m05bConstantes.LOG_NIVEL_BAJO);
	 												    			
									if(rango.equals("AR") || rango.equals("BR") || rango.equals("VR")){	
							    		fHastaMatric=""+(Integer.parseInt(fhastaf.substring(0,4)) + vidautil) + 
							    		fhastaf.substring(4,6) + 
							    		fhastaf.substring(6,8);										
												}
					    	// Chequear si las fechas de inicio y fin de rango estan dentro del periodo de calculo
							if (    ((sFecDesdeTmp.compareTo(finiciorang) >= 0) && (sFecDesdeTmp.compareTo(ffinrang) <= 0))
								||  ((sFecHastaTmp.compareTo(finiciorang) >= 0) && (sFecHastaTmp.compareTo(ffinrang) <= 0))
								||  ((sFecDesdeTmp.compareTo(finiciorang) >= 0) && (sFecHastaTmp.compareTo(ffinrang) <= 0))  
								||  ((sFecDesdeTmp.compareTo(ffinrang) >= 0))
								//bbbb||  ((ffinrang.compareTo(DesdeCTK) >= 0))
								||  ((sFecDesdeTmp.compareTo(finiciorang) <= 0) && (sFecHastaTmp.compareTo(ffinrang) >= 0))  )  {
									
									//	importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
								transferido = true;
	   //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "Tranferido ", m05bConstantes.LOG_NIVEL_BAJO);
	    								
									//Caso 1: Si la Fecha Inicio Periodo solicitado está entre las fechas Desde y Hasta del rango
									//Cálculo los datos para amortización
									if(sFecDesdeTmp.compareTo(ffinrang) >= 0){
//										bbbbbif(ffinrang.compareTo(DesdeCTK) >= 0){

										diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
										
										//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
										//valorAmort=0;
										//amortizacion =0;
										diasRango = 0;
										
									}
									//Caso 2 condicion 1: Si la Fecha Inicio Periodo solicitado está entre las fechas Desde y Hasta del rango
									//Cálculo de datos para amortización
									//Cálculo del periodo que está en el rango									
									//ElseIf rst("FechaDesde") <= FDesdeCTK _
					                //And rst("FechaHasta") >= FDesdeCTK And rst("FechaHasta") <= FHastaCTK Then
									else if(finiciorang.compareTo(sFecDesdeTmp) <= 0 && ffinrang.compareTo(sFecDesdeTmp) >= 0 && ffinrang.compareTo(sFecHastaTmp) <= 0){
										rango = rs.getString(m05bConstantes.COL_40_RANGO);
										finiciorang = sFecDesdeTmp;
										diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
									    //if (diasRango > 0)  {
												//porcent = ((double) diasRango) / ((double) diasCTK);
										//}
									    //diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
									    
									    
										//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
										//if (diasPendAmort == 0) {
											//valorAmort = 0;
											
										//} else {
											//valorAmort= importe / (double)diasPendAmort;
										//}
										//amortizacion = valorAmort * diasRango;
									
									}
									//Caso 3: Si la Fecha Fin del Periodo solicitado está etre las fechas Desde y Hasta del rango
									//Cálculo de datos para amortización
									//Cálculo del periodo que está en rango
									//lseIf rst("FechaDesde") >= FDesdeCTK And rst("FechaDesde") <= FHastaCTK _
					                //And rst("FechaHasta") >= FHastaCTK Then
									else if(finiciorang.compareTo(sFecDesdeTmp) >= 0 && finiciorang.compareTo(sFecHastaTmp) <= 0
											&& ffinrang.compareTo(sFecHastaTmp) >= 0){
										rango = rs.getString(m05bConstantes.COL_40_RANGO);
										ffinrang = sFecHastaTmp;
										diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
										//if (diasRango > 0)  {
										//		porcent = ((double) diasRango) / ((double) diasCTK);
										//}
									    //diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
										
										//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
										//if (diasPendAmort == 0) {
											//valorAmort = 0;	
										//} else {
										//			valorAmort= importe / (double)diasAmort;
										//}
										//amortizacion = valorAmort * diasRango;
									}
									//Caso 4: Si el Periodo solicitado esta completamente entre las fechas Desde y Hasta del rango
									//Cálculo de datos para amortización
									//Cálculo del periodo que está en el rango
									else if(sFecDesdeTmp.compareTo(finiciorang) >= 0 && sFecHastaTmp.compareTo(ffinrang) <= 0){
										rango = rs.getString(m05bConstantes.COL_40_RANGO);
										finiciorang= sFecDesdeTmp;
										ffinrang = sFecHastaTmp;
										diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
									    //if (diasRango > 0)  {
										//		porcent = ((double) diasRango) / ((double) diasCTK);
										//}
									   //diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
									    
										//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
										//if (diasPendAmort == 0) {
										//	valorAmort = 0;	
										//} else {
										//	valorAmort=importe / (double)diasAmort;
										//}
										//amortizacion = valorAmort * diasRango;
									}
									//Caso 5: Si el Periodo solicitado cubre completamente a las fechas Desde y Hasta del rango
									//Cálculo de datos para amortización
									//Cálculo del periodo que está en el rango
									else if(sFecDesdeTmp.compareTo(finiciorang) <= 0 && sFecHastaTmp.compareTo(ffinrang) >= 0){
										rango = rs.getString(m05bConstantes.COL_40_RANGO);
										diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
									    //if (diasRango > 0)  {
										//		porcent = ((double) diasRango) / ((double) diasCTK);
										//}
									    //diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
									   
										//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
										//if (diasPendAmort == 0) {
										//	valorAmort = 0;	
										//} else {
										//	valorAmort= importe / (double)diasAmort;
										//}
										//amortizacion = valorAmort * diasRango;
									}
									
									
									if (diasRango > 0)  {
										//if (ffinrang.compareTo(HastaCTK) == 0){
								    	//		total = "S";
										//}else{
								    	//		total = "N";
										//}
								    	//setGastosTaller(matricula, finiciorang, ffinrang);
										//if(!matriculaAnt.equals(matricula)){
								    	//if(rango.equals("AR") || rango.equals("BR") || rango.equals("VR")){
										//	amortizacion = 0;
										//}
											//insertarTemporal(persona);
										sqlInsertTmp2=sqlInsertTmp+"'"+ sUsuario+"','"+
                                        matricula+"',"+
                                        " to_date('" + finiciorang + "','YYYYMMDD'),"+
                                        " to_date('" + ffinrang + "','YYYYMMDD'),'"+
                                        rango+"',"+diasRango+")";
 //miLog.addTraza(sUsuario , "sqlInsertTmp2" , "sqlInsertTmp2 " + sqlInsertTmp2, m05bConstantes.LOG_NIVEL_BAJO);
	                                                
                                        pstmtTmp = conn.prepareStatement(sqlInsertTmp2);
                                        rsTmp = pstmtTmp .executeQuery();
        	                            if (pstmtTmp != null)
		                                    pstmtTmp .close();
                                        if (rsTmp != null)
                                            rsTmp .close();
										
											
										//}	
									}	
							}
								
							//Datos por si la última transferencia es anterior a la fecha fin del periodo solicitado
							//intervTP=0;gastosTP=0;intervTE=0;gastosTE=0;
							rango = rs.getString(m05bConstantes.COL_34_RANGO);
							matricula = rs.getString(m05bConstantes.COL_34_MATRICULA);
							if(ffinrang.compareTo(sFecDesdeTmp) < 0){
								finiciorang = sFecDesdeTmp;
							}else{
								finiciorang = ffinrang;
							}
							fbaja = rs.getString(m05bConstantes.COL_34_FBAJA);
					    	fbaja=miComun.formatearFechaBD(fbaja);
					    	
							if(fbaja != null && fbaja.compareTo(sFecDesdeTmp) >= 0 && fbaja.compareTo(sFecHastaTmp) <= 0){
								
								ffinrang = fbaja;
								diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
								//if (diasRango > 0)  {
								//	porcent = ((double) diasRango) / ((double) diasCTK);
								//}
								//diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
								
								//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
								//importeBaja = rs.getDouble(m05bConstantes.COL_34_IMPBAJA);
								//total = "N";
								//if (diasPendAmort == 0) {
									//	miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "importe: " + importe, m05bConstantes.LOG_NIVEL_BAJO);
									//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "diasPendAmort: " + diasPendAmort , m05bConstantes.LOG_NIVEL_BAJO);
									//valorAmort = 0;
								//} else {
	//										valorAmort=valorAmort = (importe - importeBaja) / (double)miComun.getDiasEntreFechasInclude(ffinrang.substring(0,4) + ffinrang.substring(5,7) + ffinrang.substring(8,10),fbaja);
									//valorAmort= importe / (double)diasPendAmort;
								//}
								//sqlAmortiz=" select "+ m05bConstantes.COL_39_IMPORTE+ ","+m05bConstantes.COL_39_FECHA+
								  //" from "+m05bConstantes.TAB_AMORTIZACION+
								  //" where "+
								  //m05bConstantes.COL_39_FECHA +" IN ( SELECT  max("+ m05bConstantes.COL_39_FECHA+
								  //") FROM "+m05bConstantes.TAB_AMORTIZACION+ " WHERE "+
								  //" to_char(" + m05bConstantes.COL_39_FECHA + ",'yyyymmdd') <= " + HastaCTK + 
								  //" and to_char(" + m05bConstantes.COL_39_FECHA + ",'yyyymmdd') >= " + DesdeCTK + 
								  //" and "+m05bConstantes.COL_39_MATRICULA +"= '"+matricula+"')";
							    //pstmtA = conn.prepareStatement(sqlAmortiz);
							    //rsA = pstmtA.executeQuery();
							    //if (rsA.next()){
							    	//amortizacion=rsA.getDouble(1);
							    	//total = "S";
							    //}
								//if (rsA != null)
									//rsA.close();
								//if (pstmtA != null)
									//pstmtA.close();
											
								//amortizacion = valorAmort * diasRango;
								//if(diasRango > 0){
									//setGastosTaller(matricula, finiciorang, ffinrang);
								//}	
							}else{
								ffinrang = sFecHastaTmp;
								diasRango = miComun.getDiasEntreFechasInclude(finiciorang, ffinrang);
								if(finiciorang.compareTo(ffinrang) == 0){
									diasRango = 0;
								}
								//if (diasRango > 0)  {
									//porcent = ((double) diasRango) / ((double) diasCTK);
								//}
								//diasPendAmort = miComun.getDiasEntreFechasInclude(fhasta.substring(0,4) + fhasta.substring(5,7) + fhasta.substring(8,10), fHastaMatric);
								//total = "S";
								//importe = rs.getDouble(m05bConstantes.COL_40_IMPORTE);
								//if (diasPendAmort == 0) {
									//valorAmort = 0;								
								//} else {
									//valorAmort= importe / (double)diasPendAmort;
								//}
								//amortizacion = valorAmort * diasRango;
								//if(diasRango > 0){
								//	setGastosTaller(matricula, finiciorang, ffinrang);
								//}	
							}	
							if(rs.next()){
								matriculaAnt = matricula;
								matriculaSig = rs.getString(m05bConstantes.COL_34_MATRICULA);
								if(!matriculaSig.equals(matriculaAnt)){
									if(transferido){
										if(diasRango > 0){
											//setGastosTaller(matricula, finiciorang, ffinrang);
											//if(rango.equals("AR") || rango.equals("BR") || rango.equals("VR")){
											//	amortizacion = 0;
											//}
											//insertarTemporal(persona);
										sqlInsertTmp2=sqlInsertTmp+"'"+ sUsuario+"','"+
                                        matricula+"',"+
                                        " to_date('" + finiciorang + "','YYYYMMDD'),"+
                                        " to_date('" + ffinrang + "','YYYYMMDD'),'"+
                                        rango+"',"+diasRango+")";
                                        	    //miLog.addTraza("PERSONA" , "m05bKilometrosPDFVehiculo1" , "sqlInsertTmp2: " + sqlInsertTmp2, m05bConstantes.LOG_NIVEL_BAJO);
       
                                        pstmtTmp = conn.prepareStatement(sqlInsertTmp2);
                                        rsTmp = pstmtTmp .executeQuery();
        	                            if (pstmtTmp != null)
		                                    pstmtTmp .close();
                                        if (rsTmp != null)
                                            rsTmp .close();
											matriculaAnt = matricula;
										}
										transferido = false;
									}	
								}
							}else{
									if(transferido){
										if(diasRango > 0){
											//setGastosTaller(matricula, finiciorang, ffinrang);
											//if(rango.equals("AR") || rango.equals("BR") || rango.equals("VR")){
											//	amortizacion = 0;
											//}
											//insertarTemporal(persona);
										sqlInsertTmp2=sqlInsertTmp+"'"+ sUsuario+"','"+
                                        matricula+"',"+
                                        " to_date('" + finiciorang + "','YYYYMMDD'),"+
                                        " to_date('" + ffinrang + "','YYYYMMDD'),'"+
                                        rango+"',"+diasRango+")";
                                       //miLog.addTraza("PERSONA" , "m05bKilometrosPDFVehiculo1" , "sqlInsertTmp2: " + sqlInsertTmp2, m05bConstantes.LOG_NIVEL_BAJO);
       
                                        pstmtTmp = conn.prepareStatement(sqlInsertTmp2);
                                        rsTmp = pstmtTmp .executeQuery();
        	                            if (pstmtTmp != null)
		                                    pstmtTmp .close();
                                        if (rsTmp != null)
                                            rsTmp .close();
										}
									}
							}
							
							
			    		} 
						
						
						// Fin else fecha desde nula
						//matriculaAnt = matricula;
						//rangoAnt = rango;
						
							

				}  // Fin while								
 
        //BORRAR LA TABLA TEMPORAL DE CONSUMOS POR USUARIO
        //sqlDeleteTemporal = "DELETE  " + m05bConstantes.TAB_TMPKILOMETROS +" WHERE " + m05bConstantes.COL_94_USUARIO+ " = '" + sUsuario+"'";
        String sqlMedia ="";
        String sqlUpdate="";
       //0
       String sqlConsultaKilometros="SELECT MATRICULA,FECHA,KM,FECHA2,"+
       m05bConstantes.COL_90_RANGO+","+m05bConstantes.COL_90_DIAS+",TO_CHAR("+
       m05bConstantes.COL_90_FINIRANGO+",'yyyymmdd'),abs(TO_DATE(TO_CHAR(FECHA3,'yyyymmdd'),'yyyymmdd')-TO_DATE('"+
       sFecDesdeTmp+"','yyyymmdd')) as DifFechaInicio,TO_CHAR("+
       m05bConstantes.COL_90_FFINRANGO+",'yyyymmdd'),abs(TO_DATE(TO_CHAR(FECHA3,'yyyymmdd'),'yyyymmdd')-TO_DATE('"+
       sFecHastaTmp+"','yyyymmdd')) as DifFechaFin,TO_CHAR("+
       m05bConstantes.COL_90_FINIRANGO+",'yyyymmdd') from(";
       //1
       sqlConsultaKilometros=sqlConsultaKilometros+"SELECT " + 
	   m05bConstantes.COL_01_MATRICULA +" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_01_FDESDE + ",'yyyymmdd') as FECHA," +
	   m05bConstantes.COL_01_KMSALIDA+" as KM,TO_CHAR("+ 
       m05bConstantes.COL_01_FDESDE + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_01_FDESDE  +" as FECHA3  FROM "+
       m05bConstantes.TAB_ASIGNACION +" WHERE ((( " +
       m05bConstantes.COL_01_KMSALIDA + ") Is Not Null) AND (( " +
       m05bConstantes.COL_01_FDESDE + ") Is Not Null) AND ( " +
       m05bConstantes.COL_01_KMSALIDA + " <> '0')";
       	   
       if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_01_MATRICULA+"='"+sMatricula2 +"')";
       }
       //2	   
       sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " + 
       m05bConstantes.COL_01_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_01_FDEVOL + ",'yyyymmdd') as FECHA," +
       m05bConstantes.COL_01_KMLLEGADA+" as KM,TO_CHAR("+ 
       m05bConstantes.COL_01_FDEVOL + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_01_FDEVOL  +" as FECHA3 FROM "+
       m05bConstantes.TAB_ASIGNACION + " WHERE ((( "+
       m05bConstantes.COL_01_KMLLEGADA + ") Is Not Null) AND (( " +
       m05bConstantes.COL_01_FDEVOL+ ") Is Not Null) AND ( " +
       m05bConstantes.COL_01_KMLLEGADA + " <> '0')";

       if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_01_MATRICULA+"='"+sMatricula2 +"')";
       }
       
       //3
        sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " + 
       m05bConstantes.COL_09_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_09_FECHA + ",'yyyymmdd') as FECHA," +
       m05bConstantes.COL_09_KMGASTO +" as KM,TO_CHAR("+ 
       m05bConstantes.COL_09_FECHA + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_09_FECHA  +" as FECHA3 FROM "+
	   m05bConstantes.TAB_GASTOS + " WHERE ((( " +
	   m05bConstantes.COL_09_KMGASTO +") Is Not Null)" + 
	   " AND ( " +   m05bConstantes.COL_09_KMGASTO + " <> '0')"+
	   " AND (("+
	   m05bConstantes.COL_09_FECHA+") Is Not Null)" ;
       
       if (sMatricula!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_09_MATRICULA+"='"+sMatricula +"')";
       }
       //4
       sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " +
       m05bConstantes.COL_18_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_18_FECHA + ",'yyyymmdd') as FECHA,TO_CHAR("+
       m05bConstantes.COL_18_KM+") as KM,TO_CHAR("+ 
       m05bConstantes.COL_18_FECHA + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_18_FECHA  +" as FECHA3 FROM "+
       m05bConstantes.TAB_OPEBANCOS + " WHERE ((( " +
       m05bConstantes.COL_18_KM +") Is Not Null) AND (("+
       m05bConstantes.COL_18_FECHA+") Is Not Null) AND ( " +
       m05bConstantes.COL_18_KM +"<> 0)";
       if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_18_MATRICULA+"='"+sMatricula +"')";
       }
       //5
       sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " +
       m05bConstantes.COL_20_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_20_FENTRADA + ",'yyyymmdd') as FECHA,TO_CHAR("+
       m05bConstantes.COL_20_KM_ENTRADA+") as KM,TO_CHAR("+ 
       m05bConstantes.COL_20_FENTRADA + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_20_FENTRADA  +" as FECHA3 FROM "+
       m05bConstantes.TAB_ORDENESTRAB + " WHERE ((( " +
       m05bConstantes.COL_20_KM_ENTRADA +") Is Not Null) AND (("+
       m05bConstantes.COL_20_FENTRADA+") Is Not Null) AND ("+
       m05bConstantes.COL_20_KM_ENTRADA+" <> 0)" ;
       if (sMatricula!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_20_MATRICULA+"='"+sMatricula2 +"')";
       }
       
       
       //6
       sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " +
	   m05bConstantes.COL_20_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_20_FSALIDA + ",'yyyymmdd') as FECHA,TO_CHAR("+
	   m05bConstantes.COL_20_KM_SALIDA+") as KM,TO_CHAR("+ 
       m05bConstantes.COL_20_FSALIDA + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_20_FSALIDA  +" as FECHA3 FROM " +
	   m05bConstantes.TAB_ORDENESTRAB + " WHERE ((( " +
	   m05bConstantes.COL_20_KM_SALIDA +") Is Not Null) AND (("+
	   m05bConstantes.COL_20_FSALIDA+") Is Not Null) AND ("+
	   m05bConstantes.COL_20_KM_SALIDA+" <> 0 )";
       if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_20_MATRICULA+"='"+sMatricula2 +"')";
       }
       //7
       sqlConsultaKilometros=sqlConsultaKilometros+") UNION SELECT " +
       m05bConstantes.COL_35_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_35_FECHA + ",'yyyymmdd') as FECHA,TO_CHAR("+
       m05bConstantes.COL_35_KMRE+") as KM,TO_CHAR("+ 
       m05bConstantes.COL_35_FECHA + ",'yyyymmdd') as FECHA2 , "+m05bConstantes.COL_35_FECHA  +" as FECHA3 FROM " +
       m05bConstantes.TAB_REVISIONES + " WHERE ((( " +
       m05bConstantes.COL_35_KMRE +") Is Not Null) AND ( " +
       m05bConstantes.COL_35_KMRE +" <> 0) AND (("+
       m05bConstantes.COL_35_FECHA+") Is Not Null)";
       if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_35_MATRICULA+"='"+sMatricula2 +"')";
       }
       
      //8
      sqlConsultaKilometros=sqlConsultaKilometros+ ") UNION SELECT " +
      m05bConstantes.COL_34_MATRICULA+" as MATRICULA,TO_CHAR("+ 
       m05bConstantes.COL_34_FKMACT + ",'yyyymmdd') as FECHA,TO_CHAR("+
      m05bConstantes.COL_34_KMACTUALES+") as KM,TO_CHAR("+ 
       m05bConstantes.COL_34_FKMACT + ",'yyyymmdd') as FECHA2, "+m05bConstantes.COL_34_FKMACT  +" as FECHA3 FROM " +
      m05bConstantes.TAB_VEHICULOS  + " WHERE ((( " +
      m05bConstantes.COL_34_KMACTUALES+") Is Not Null) AND ("+m05bConstantes.COL_34_KMACTUALES+" <> 0 ) AND (("+
      m05bConstantes.COL_34_FKMACT+") Is Not Null)";
      if (sMatricula2!=""){
           sqlConsultaKilometros=sqlConsultaKilometros+" AND ("+
                               m05bConstantes.COL_34_MATRICULA+"='"+sMatricula2 +"')";
      }

      sqlConsultaKilometros=sqlConsultaKilometros+")),"+m05bConstantes.TAB_TMPVEHICULOS+
	  " where MATRICULA="+m05bConstantes.COL_90_MATRICULA+ " AND "+ m05bConstantes.COL_90_USUARIO+"='"+sUsuario+ "'"+
	  //"' AND  fecha3>= "+ m05bConstantes.COL_90_FINIRANGO +" and  fecha3<="+m05bConstantes.COL_90_FFINRANGO+
	  " ORDER BY MATRICULA,"+m05bConstantes.COL_90_FINIRANGO+","+m05bConstantes.COL_90_RANGO+",FECHA,KM ASC";	
	   //miLog.addTraza(sUsuario , "sqlKilometrosPdfVehiculos" , "sqlConsultaKilometros " + sqlConsultaKilometros, m05bConstantes.LOG_NIVEL_BAJO);
	  
        //eJECUTAMOS EL BORRADO DE LA TABLA TEMPORAL
        int cont=0;
        pstmt = conn.prepareStatement(sqlConsultaKilometros);
        rs = pstmt.executeQuery();
              diasdiffInicioMin = 10000;
              diasdiffFinMin = 10000;

				while (rs.next()) {
					
					   bHayKM= true;
					// Recoger valores del rs
					   matricula = rs.getString(1);
					   //if (matricula.equals("6994 FFG"))
						   //bHayKM= true;
					   try{
					   	dias=(rs.getString(6)==null)?new Double("0.0").doubleValue():rs.getDouble(6);
					   }catch(Exception e){
						 	//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"Error para el vehículo "+ matricula + " con dias INCORRECTOS. Mirar en BD (Posiblemente una coma)", m05bConstantes.LOG_NIVEL_BAJO);
							miLog.addTraza(e);
							String diasString = rs.getString(2);
							if(diasString.indexOf(",")!=-1){
								diasString = diasString.replaceAll(",","");
								dias=new Double(diasString).doubleValue();
							}
					   }
					   
					   fUnion=rs.getString(2);
//
					   rango=rs.getString(5);	
//
					   //if (matricula.equals("5266 CDT")){
						   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fUnion"+ fUnion , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                           //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"rango"+ rango , m05bConstantes.LOG_NIVEL_BAJO);					   					   					   				 
					   //}
					 try{
					   km=(rs.getString(3)==null)?new Double("0.0").doubleValue():new Double(rs.getString(3)).doubleValue();
					   //if (matricula.equals("5266 CDT")){
						   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"km"+ km , m05bConstantes.LOG_NIVEL_BAJO);					   					   
					   //}
					 }catch(Exception e){
					 	//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"Error para el vehículo "+ matricula + " con km INCORRECTOS. Mirar en BD (Posiblemente una coma)", m05bConstantes.LOG_NIVEL_BAJO);
						miLog.addTraza(e);
						String kmString = rs.getString(5);
						if(kmString.indexOf(",")!=-1){
							kmString = kmString.replaceAll(",","");
							km=new Double(kmString).doubleValue();
						}
					 }
					   fIni=rs.getString(7);
//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fIni "+ fIni , m05bConstantes.LOG_NIVEL_BAJO);					   					   
					   fFin=rs.getString(9);
//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fFin "+ fFin , m05bConstantes.LOG_NIVEL_BAJO);					   					   
					   //if (matricula.equals("5266 CDT")){
						  // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fIni"+ fIni , m05bConstantes.LOG_NIVEL_BAJO);					   					   
						  // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fFin"+ fFin , m05bConstantes.LOG_NIVEL_BAJO);					   					   						   
					   //}
					// Meter informacion al objeto cuando cambie de matrícula y rango
						  // se mete lo del anterior
					   if ( (!(matricula.equals(matriculaAnt)) || !(rango.equals(rangoAnt)) )
					   				&& !(matriculaAnt.equals("")) && !(rangoAnt.equals(""))  ) {
					   	   //cargarObjeto(matriculaAnt, fIniAnt, fIniAct,fFinAct, kmIni, kmFin, kmRecor,dias);
			              //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto1:  ", m05bConstantes.LOG_NIVEL_BAJO);				    					   	   
					   	   	 miObjKM = new m05bKmCTK();
			               // poner valores en objeto
			               //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto:  " + matricula + " : " + fIni + " Km: " + km, m05bConstantes.LOG_NIVEL_BAJO);
			               miObjKM.setKmCTK_matricula(matriculaAnt);
			               miObjKM.setKmCTK_fDesde(fIniAnt);
			               miObjKM.setKmCTK_fIniAct(fIniAct);
			               miObjKM.setKmCTK_fFinAct(fFinAct);
			               miObjKM.setKmCTK_kmIni(kmIni);
			               miObjKM.setKmCTK_kmFin(kmFin);
			               miObjKM.setKmCTK_kmRecorridos(kmRecor);
			               double numDias=(double) miComun.getDiasEntreFechasInclude(fIniAct,fFinAct);
			               //double media = recorrido /numDias; //  19-04-2006 - Cambiado por peticion de P. Durán a A. García
			               double media = kmRecor; // 19-04-2006 - Cambiado por peticion de P. Durán a A. García
			               miObjKM.setKmCTK_kmMedia(media);
			               //añadir en la ultima posicion del array
			               miArrayKm.add(miObjKM);
					  }
					// Calcular valores
					   if (!(matricula.equals(matriculaAnt)) || !(rango.equals(rangoAnt)) ) {
			              //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto2:  ", m05bConstantes.LOG_NIVEL_BAJO);				    					   	   					   
					   	   // Cambia la matrícula
						   diasDifIniMin = 10000;
						   diasDifFinMin = 10000;
						   kmIni= 0; kmFin=0; kmRecor=0; mediaKm=0;
					   }
	                   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto3:  ", m05bConstantes.LOG_NIVEL_BAJO);				    					  					   
					   difFechaIni=miComun.getDiasEntreFechas(fIni,fUnion);
					   if (difFechaIni < 0) 
							difFechaIni=difFechaIni*(-1);
						//if (matricula.equals("BI-1070-CP")){
						   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fIni"+ fIni , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                           //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fUnion"+ fUnion , m05bConstantes.LOG_NIVEL_BAJO);		
                           //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"difFechaIni"+ difFechaIni , m05bConstantes.LOG_NIVEL_BAJO);					   					                            			   					   					   				 
					   //}
					   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " --- FFIN: " + fFin + " - FUNION:  " + fUnion, m05bConstantes.LOG_NIVEL_BAJO);
					   difFechaFin=miComun.getDiasEntreFechas(fFin,fUnion);
						//if (matricula.equals("BI-1070-CP")){
						  // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fFin"+ fFin , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fUnion"+ fUnion , m05bConstantes.LOG_NIVEL_BAJO);		
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"difFechaFin"+ difFechaFin , m05bConstantes.LOG_NIVEL_BAJO);					   					                            			   					   					   				 
					   //}					   
					   if (difFechaFin < 0)
							difFechaFin=difFechaFin*(-1);
					   if (difFechaIni == diasDifIniMin) { 
						    if (km <= kmIni){
						    	kmIni=km;
						    }
				       }
					   if (difFechaIni < diasDifIniMin)  {
							//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " ---DIF INI: " + difFechaIni + " - " + diasDifIniMin, m05bConstantes.LOG_NIVEL_BAJO);
							diasDifIniMin=difFechaIni;
							fIniAct=fUnion;
							kmIni=km;								
							//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "    INICIO: " + fIniAct + " - " + kmIni, m05bConstantes.LOG_NIVEL_BAJO);
						//if (matricula.equals("BI-1070-CP")){
						  // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fIniAct"+ fIniAct , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"kmIni"+ kmIni , m05bConstantes.LOG_NIVEL_BAJO);		
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"diasDifIniMin"+ diasDifIniMin , m05bConstantes.LOG_NIVEL_BAJO);					   					                            			   					   					   				 
					   //}									
					   }
					   if (difFechaFin <= diasDifFinMin)  {
							//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "    DIF FIN: " + difFechaFin + " - " + diasDifFinMin, m05bConstantes.LOG_NIVEL_BAJO);
							diasDifFinMin=difFechaFin;
							fFinAct=fUnion;
							kmFin=km;
							//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "    FIN: " + fFinAct + " - " + kmFin, m05bConstantes.LOG_NIVEL_BAJO);
						// if (matricula.equals("BI-1070-CP")){
						   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fFinAct"+ fFinAct , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                           //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"kmFin"+ kmFin , m05bConstantes.LOG_NIVEL_BAJO);		
                           //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"diasDifFinMin"+ diasDifFinMin , m05bConstantes.LOG_NIVEL_BAJO);					   					                            			   					   					   				 
					   //}								
					   }
					   kmRecor=kmFin-kmIni;
					 // Guardar el valor para ver si cambia
					   matriculaAnt=matricula;
					   rangoAnt=rango;
					   fIniAnt=fIni;
							//miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "    FIN: " + fFinAct + " - " + kmFin, m05bConstantes.LOG_NIVEL_BAJO);
						//if (matricula.equals("BI-1070-CP")){
						  // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"kmRecor"+ kmRecor , m05bConstantes.LOG_NIVEL_BAJO);					   					   
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"rangoAnt"+ rangoAnt , m05bConstantes.LOG_NIVEL_BAJO);		
                          // miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"fIniAnt"+ fIniAnt , m05bConstantes.LOG_NIVEL_BAJO);					   					                            			   					   					   				 
					   //}						   
					   
				} // Fin bucle while
				if (bHayKM == true) {
					// Meter último elemento al objeto
				    //cargarObjeto(matriculaAnt, fIni, fIniAct, fFinAct, kmIni, kmFin, kmRecor,dias);
			        //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto:  ", m05bConstantes.LOG_NIVEL_BAJO);				    
					miObjKM = new m05bKmCTK();
			        // poner valores en objeto
			        //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "Cargar Objeto:  " + matricula + " : " + fIni + " Km: " + km, m05bConstantes.LOG_NIVEL_BAJO);
			        miObjKM.setKmCTK_matricula(matriculaAnt);
			        miObjKM.setKmCTK_fDesde(fIni);
			        miObjKM.setKmCTK_fIniAct(fIniAct);
			        miObjKM.setKmCTK_fFinAct(fFinAct);
			        miObjKM.setKmCTK_kmIni(kmIni);
			        miObjKM.setKmCTK_kmFin(kmFin);
			        miObjKM.setKmCTK_kmRecorridos(kmRecor);
			        double numDias=(double) miComun.getDiasEntreFechasInclude(fIniAct,fFinAct);
			        //double media = recorrido /numDias; //  19-04-2006 - Cambiado por peticion de P. Durán a A. García
			        double media = kmRecor; // 19-04-2006 - Cambiado por peticion de P. Durán a A. García
			        miObjKM.setKmCTK_kmMedia(media);
			        //añadir en la ultima posicion del array
			        miArrayKm.add(miObjKM);				    
					// Recorrer array y grabar en BD
		            Iterator iter = miArrayKm.iterator();
					miObjKM=null;
					String sKmIni="";
					String sKmFin="";
					
		            while(iter.hasNext()){
		                        miObjKM = (m05bKmCTK) iter.next();
							   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"---KM-matricula: " + miObjKM.getKmCTK_matricula(), m05bConstantes.LOG_NIVEL_BAJO);
							   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"---KM-fecha: " + miObjKM.getKmCTK_fIniAct(), m05bConstantes.LOG_NIVEL_BAJO);
							   //miLog.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC,"---KM-km: " + miObjKM.getKmCTK_kmIni(), m05bConstantes.LOG_NIVEL_BAJO);
								dias=(double)miComun.getDiasEntreFechas(miObjKM.getKmCTK_fIniAct(),miObjKM.getKmCTK_fFinAct());
								kmRecor=miObjKM.getKmCTK_kmRecorridos();
								sKmIni=""+miObjKM.getKmCTK_kmIni();
								sKmFin=""+miObjKM.getKmCTK_kmFin();
					             sqlUpdate = "UPDATE " + m05bConstantes.TAB_TMPVEHICULOS + 
                         " SET "   + m05bConstantes.COL_90_FINIKM + "  = to_date('" + miObjKM.getKmCTK_fIniAct() + "','yyyymmdd')" +
                         "," + m05bConstantes.COL_90_INIKM	+ "= " + sKmIni +
                         "," + m05bConstantes.COL_90_FFINKM  + "= to_date('" + miObjKM.getKmCTK_fFinAct() + "','yyyymmdd')" +
                         "," + m05bConstantes.COL_90_FINKM + "= " + sKmFin +
                         "," + m05bConstantes.COL_90_DIFKM + " = "  + kmRecor+
                         " WHERE (("+m05bConstantes.COL_90_MATRICULA+")='" +miObjKM.getKmCTK_matricula() + "')  and to_char(" + m05bConstantes.COL_90_FINIRANGO+ ",'yyyymmdd') = '" + miObjKM.getKmCTK_fDesde() + "' AND " +m05bConstantes.COL_90_USUARIO+"='"+
                          sUsuario+"'";
	                     //miLog.addTraza(sUsuario , "sqlKilometrosPdfVehiculos111111111111111" , "sqlUpdate " + sqlUpdate, m05bConstantes.LOG_NIVEL_BAJO);
             
                         pstmtUpdate = conn.prepareStatement(sqlUpdate);
                         rsUpdate = pstmtUpdate.executeQuery();
				         if (rsUpdate != null)
					         rsUpdate.close();
            			 if (pstmtUpdate != null)
					         pstmtUpdate.close();
		            } // Fin de bucle while
		        }  // Fin if bHayKM								
    //Acutalizar a Null todos los datos de Kms que tengan diferencia de 
    //días encontrado cero o menor
     sqlUpdate ="DELETE "+ m05bConstantes.TAB_TMPVEHICULOS + " WHERE (" +m05bConstantes.COL_90_DIFKM+ "<1 OR "+m05bConstantes.COL_90_DIFKM +" is NULL) AND " +m05bConstantes.COL_90_USUARIO+"='"+
             sUsuario+"'";
     
     	   //miLog.addTraza(sUsuario , "sqlKilometrosPdfVehiculos" , "sqlUpdate " + sqlUpdate, m05bConstantes.LOG_NIVEL_BAJO);
	  
             pstmtUpdate = conn.prepareStatement(sqlUpdate);
             rsUpdate = pstmtUpdate.executeQuery();
     	 
				if (pstmtUpdate != null)
					pstmtUpdate.close();
				if (rsUpdate != null)
					rsUpdate.close();

String sSentencia=" SELECT 1 "+
" FROM "+
    m05bConstantes.TAB_DESCRIPCIONES+"  R,"+
    m05bConstantes.TAB_VEHICULOS+","+
    m05bConstantes.TAB_TMPVEHICULOS+
" WHERE " +
    m05bConstantes.COL_34_MATRICULA+"="+m05bConstantes.COL_90_MATRICULA+ " AND "+ 
    m05bConstantes.COL_99_CODTABLA+"='"+m05bConstantes.DESC_RANGOS + "' AND "+ 		
    m05bConstantes.COL_34_RANGO+"= R."+m05bConstantes.COL_99_CODDESC +" AND "+
    m05bConstantes.COL_90_USUARIO+"='"+sUsuario + "'"+
     " AND ( (("+ m05bConstantes.COL_90_FINIKM + "<= TO_DATE('"+sFecDesde2+"','"+formatoFecha+"'))"+
		    " AND ("+ m05bConstantes.COL_90_FFINKM + ">= TO_DATE('"+sFecDesde2+"','"+formatoFecha+"'))) OR (("+
		    m05bConstantes.COL_90_FINIKM + ">= TO_DATE('"+sFecDesde2+"','"+formatoFecha+"')) AND (" +
		     m05bConstantes.COL_90_FFINKM + "<= TO_DATE('"+sFecHasta2+"','"+formatoFecha+"')))OR (("+
		    m05bConstantes.COL_90_FFINKM + ">= TO_DATE('"+sFecHasta2+"','"+formatoFecha+"')) AND (" +
		     m05bConstantes.COL_90_FINIKM + "<= TO_DATE('"+sFecHasta2+"','"+formatoFecha+"'))))";
	   
if (!(sSituacion.equals(""))){
        sSituacion=miComun.ListaCaracteres(sSituacion);
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_34_SITUACION+ " in ("+sSituacion+")";}
if (!(sRango2.equals(""))){
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_90_RANGO+ " = '"+sRango2+"'" ;}
else if (!(sGRango2.equals(""))){
    	String sSentenciaGrupo=" SELECT "+ m05bConstantes.COL_36_RANGOS+
    	                " FROM " + m05bConstantes.TAB_GRUPOS + 
    	                " WHERE " + m05bConstantes.COL_36_CODIGO + " = '" +sGRango2+"'";

    	
    	pstmt = conn.prepareStatement(sSentenciaGrupo);
		rs = pstmt.executeQuery();
        if (rs.next()){
		    sGRango=rs.getString(1)==null ? "":rs.getString(1);	
            sGRango=miComun.ListaCaracteres(sGRango);
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_90_RANGO+ " in ( "+sGRango + ")";
            }
            				if (rs != null)
					rs.close();
				if (pstmt != null)
					pstmt.close();
}
if (!(sModelo2.equals(""))){
        sModelo2=miComun.ListaCaracteres(sModelo2);
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_34_MODELO+ " in ("+sModelo2+")";}
else if (!(sMarca2.equals(""))){
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_34_MARCA+ " = '"+sMarca+"'"  ;
}
if (!(sMatricula2.equals(""))){
    	sSentencia= sSentencia + " AND " + m05bConstantes.COL_34_MATRICULA+ " = '"+sMatricula2+"'" ;}
	    //miLog.addTraza(sUsuario , "sqlKilometrosPdfVehiculos" , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);
 //miLog.addTraza(sUsuario , "sqlKilometrosPdfVehiculos" , "sSentencia: " + sSentencia, m05bConstantes.LOG_NIVEL_BAJO);    	      	
    pstmt2 = conn.prepareStatement(sSentencia);
   // System.out.println(sSentencia);
    rs2 = pstmt2.executeQuery();
 
 
        

    	%>
<TABLE class="general">
  <tr>
       <td width="90%" align="right">
       		<input type="button" class="boton" name="<%= res.getString("etBOT_RETORNAR")%>" value="<%= res.getString("etBOT_RETORNAR")%>" ONCLICK="JavaScript:fncRetornar();" onMouseOver="top.status='<%= res.getString("etBOT_STATUSRETORNAR")%>'; return false" onMouseOut="top.status=''; return false" />
       	</td>
  </tr>
  <tr>
    <td colspan="2">
    <% if (rs2.next() == true){ %>
      
		<embed name='pdfKilometros' src='<%=srcPDF%>' type="application/pdf" width='736' height='500'></embed>
    <%} else {%>
		<embed name='pdfKilometros' src='/parquemovil/SinDatos.pdf' type="application/pdf" width='736' height='500'></embed>
    <%}%>
	<%	} catch (Exception SQLException) {
	         //miLog.addTraza("PERSONA" , "m05bKilometrosPDFVehiculo4" , "sqlInsertTmp4: " + sqlInsertTmp2, m05bConstantes.LOG_NIVEL_BAJO);                                                                         
			miLog.addTraza(SQLException);
		} finally {
				if (rsTmp != null)
					rsTmp.close();
				if (pstmtTmp != null)
					pstmtTmp.close();
				if (rsVehiculos != null)
					rsVehiculos.close();
				if (pstmtVehiculos != null)
					pstmtVehiculos.close();
				if (rsTransferencias != null)
					rsTransferencias.close();
				if (pstmtTransferencias != null)
					pstmtTransferencias.close();
				if (rsUpdate != null)
					rsUpdate.close();
				if (pstmtUpdate != null)
					pstmtUpdate .close();
				if (rs != null)
					rs.close();
				if (pstmt != null)
					pstmt.close();
				if (rs2 != null)
					rs2.close();
				if (pstmt2 != null)
					pstmt2.close();
				if (rs3 != null)
					rs3.close();
				if (pstmt3 != null)
					pstmt3.close();
				if (rs4 != null)
					rs4.close();
				if (pstmt4 != null)
					pstmt4.close();
				if (conn != null)
					conn.close();}%>
  	</td>
  </tr>
</TABLE>
</form>
<script type="text/javascript" src="<%=m05bConstantesPaginas.PATH_SCRIPTS%>/m05bMsControl.js"></script>
 
</div>		
</body>
<SCRIPT language=JavaScript>
	function fncRetornar() {
		var docu = document.formSolicitud;
		docu.action="/m05bParqueMovilWar/m05bImpKmYConsumoJsp.jsp" ;
		docu.submit();
	}
</SCRIPT>
</html>