package vehiculosServlet;

import java.io.IOException;
import java.sql.PreparedStatement;
import java.util.Locale;

import javax.servlet.http.HttpSession;

import m05bBD.m05bVehiculos;
import m05bClasses.m05bComun;
import m05bClasses.m05bConexion;
import m05bClasses.m05bConstantes;
import m05bClasses.m05bFileLog;


/**
 * Inserte aquí la descripción del tipo.
 * Fecha de creación: (29/09/04)
 */
public class m05bGrabarVehEconServlet extends javax.servlet.http.HttpServlet {m05bFileLog miLog = new m05bFileLog();
/**
 * Process incoming HTTP POST requests
 *
 * @param request Object that encapsulates the request to the servlet
 * @param response Object that encapsulates the response from the servlet
 */
public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {

	performTask(request, response);

}
/**
 * Returns the servlet info string.
 */
public String getServletInfo() {

	return super.getServletInfo();

}
/**
 * Initializes the servlet.
 */
public void init() {
	// insert code to initialize the servlet here

}
/**
 * Process incoming requests for information
 *
 * @param request Object that encapsulates the request to the servlet
 * @param response Object that encapsulates the response from the servlet
 */
public void performTask(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) {

       String sMatricula;
       String sFechaBaja;
       String sDesBaj;
       String sImpBaj;
       String sMotBaj;
       String sViUtil;
       String sRegAdq;
       String sFecAdq;
       String sPrecio;
	   java.sql.Connection conn=null;
	   PreparedStatement pstmt = null;
	   m05bComun miComun = new m05bComun();
   m05bFileLog miLog = new m05bFileLog(); 
	   
       try

	{
       	HttpSession session = request.getSession(true);
		
       	
       	Locale idiomaLocal = (Locale)session.getAttribute("Local");
 		String idiomaSes = ((idiomaLocal.getLanguage()==null)?"es":idiomaLocal.getLanguage());	
 	
         String campoTexto="";
         String formatoFecha="dd/MM/yyyy";
         if(!idiomaSes.equals("es")){
 			campoTexto="E";
 			formatoFecha="yyyy/MM/dd";
         }
 			
		m05bVehiculos vehiculos = (m05bVehiculos)session.getAttribute("m05bVehiculos");
		sMatricula = request.getParameter("Matricula");
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sMatricula: " + sMatricula,m05bConstantes.LOG_NIVEL_BAJO);
		
		if (sMatricula != null)
			sMatricula = sMatricula.toUpperCase();
		sFechaBaja = request.getParameter("FechaBaja").toUpperCase();
         if ((sFechaBaja == null)||sFechaBaja.equals(""))
		     sFechaBaja = "";		
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sFechaBaja: " + sFechaBaja,m05bConstantes.LOG_NIVEL_BAJO);
		 
		sDesBaj=request.getParameter("DesBaj");
         if (sDesBaj == null)
		     sDesBaj = "";		
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sDesBaj: " + sDesBaj,m05bConstantes.LOG_NIVEL_BAJO);
		
		sImpBaj=request.getParameter("ImpBaja");
         if ((sImpBaj == null)||sImpBaj.equals(""))
		     sImpBaj = "0";	
		 else {
          sImpBaj=miComun.ImportesABasedatos(sImpBaj);
		 }	
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sImpBaj: " + sImpBaj,m05bConstantes.LOG_NIVEL_BAJO);
		
		sMotBaj=request.getParameter("MovBaj").toUpperCase();
         if (sMotBaj == null)
		     sMotBaj = "";		
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sMotBaj: " + sMotBaj,m05bConstantes.LOG_NIVEL_BAJO);
		sPrecio=request.getParameter("Precio").toUpperCase();
         if ((sPrecio == null)||sPrecio.equals(""))
		     sPrecio = "0";		
		 else {
          sPrecio=miComun.ImportesABasedatos(sPrecio);
		 }	
        miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sPrecio: " + sPrecio,m05bConstantes.LOG_NIVEL_BAJO);
		 
		sViUtil=request.getParameter("ViUtil").toUpperCase();
		 if (sViUtil == null)
		     sViUtil = "";		
		 else {
          sViUtil=miComun.ImportesABasedatos(sViUtil);
		 }
		miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sViUtil: " + sViUtil,m05bConstantes.LOG_NIVEL_BAJO);

		sRegAdq=request.getParameter("RegAdq");
		if (sRegAdq == null)
			sRegAdq= "";
		else
			sRegAdq = sRegAdq.toUpperCase();
		miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sRegAdq: " + sRegAdq,m05bConstantes.LOG_NIVEL_BAJO);
		
		sFecAdq=request.getParameter("FecAdq").toUpperCase();
		vehiculos.setVeh_vidautil(sViUtil);
		vehiculos.setVeh_impbaja(sImpBaj);
		vehiculos.setVeh_destino(sDesBaj);
		vehiculos.setVeh_impbaja(sImpBaj);
		vehiculos.setVeh_motbaja(sMotBaj);
		vehiculos.setVeh_fbaja(sFechaBaja);
		vehiculos.setVeh_precio(sPrecio);
		vehiculos.setVeh_regadq(sRegAdq);
		
		try{
			m05bConexion miConex = new m05bConexion();
			conn = miConex.getConnection();
			String sql="update " +m05bConstantes.TAB_VEHICULOS+
			" set "+m05bConstantes.COL_34_FADQUIS + " = to_date('" + sFecAdq + "','"+formatoFecha+"')" +
			" ,"+m05bConstantes.COL_34_VIDAUTIL + " = '" + sViUtil + "'" +
			" ,"+m05bConstantes.COL_34_PRECIO+ " = " + sPrecio  +
			" ,"+m05bConstantes.COL_34_FBAJA+ " = to_date('" + sFechaBaja + "','"+formatoFecha+"')" +
			" ,"+m05bConstantes.COL_34_DESTINO+ " = '" + sDesBaj + "'" +
			" ,"+m05bConstantes.COL_34_IMPBAJA+ " = " + sImpBaj +
			" ,"+m05bConstantes.COL_34_MOTIVBAJA+ " = '" + sMotBaj + "'" +
			" ,"+m05bConstantes.COL_34_REGADQUIS+ " = '" + sRegAdq + "'" +
			" where "+m05bConstantes.COL_34_MATRICULA+ " = '" + sMatricula + "'";
		
            miLog.addTraza("BEGO" , "Grabar VehEco:  " , "sql: " + sql,m05bConstantes.LOG_NIVEL_BAJO);
			//System.out.println(sql);
		    pstmt = conn.prepareStatement(sql);
			pstmt.executeUpdate();
			
		    conn.commit();
		    
			response.sendRedirect("m05bEconomicoJsp.jsp?Matricula="+sMatricula+ "&Mensaje="+m05bConstantes.MSG_GRABACION_OK);
			
		} catch (Exception SQLException) {
  			conn.rollback();  // Ha habido problemas, se deshacen todos los cambios
			miLog.addTraza(SQLException);
			response.sendRedirect("m05bError.jsp");
		} 	finally{
				if (pstmt != null)
					pstmt.close();
				if (conn != null)
					conn.close();
		}
	}
	catch(Throwable theException)
	{
		// uncomment the following line when unexpected exceptions
		// are occuring to aid in debugging the problem.
		miLog.addTraza(theException);
		try {
			response.sendRedirect("m05bError.jsp");
		} catch (IOException e) {
			// TODO Auto-generated catch block
			miLog.addTraza(e);
		}
	}
}
}
