//ACESSA O BANCO DE DADOS heman
//PARA INSERIR UM NOVO CHAMADO
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.gjt.mm.mysql.Connection;
import org.gjt.mm.mysql.Statement;
import org.gjt.mm.mysql.Driver;
import org.gjt.mm.mysql.ResultSet;
import org.gjt.mm.mysql.ResultSetMetaData;


public class CallInsert extends HttpServlet {

   Connection con;  
   Statement stmt;
   private static final String QUERY  =  "select id from chamado;";


   public void init(ServletConfig conf) throws ServletException {

      super.init(conf);	 
      String username = "root";
      String password = "mysql";
      String url = "jdbc:mysql://localhost:3306/heman";
	
	try {
	    Class.forName("org.gjt.mm.mysql.Driver");
	    con = (Connection) DriverManager.getConnection(url, username, password);
	} 
	catch (Exception e) {
		System.err.println(e.getMessage());
               	e.printStackTrace();
	 }
   }//de init
  

 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
    

      response.setContentType("text/html");
      PrintWriter out = response.getWriter();       
      out.println("<HTML>");
      out.println("<BODY bgcolor=\"#FFFFFF\">");    

       try{
        Statement stmt = (Statement) con.createStatement();
        ResultSet results =  (ResultSet) stmt.executeQuery(QUERY);

	int linenCount = 0;
        Calendar data = Calendar.getInstance();
        String mes = putmes(data);
	while (results.next()) linenCount++;

        int prioridade = setPrioridade(request.getParameter("prior"));        

      if(
        (!request.getParameter("nome").equals("")) &
        (!request.getParameter("divisao").equals("")) &
        (!request.getParameter("descricao").equals("")) 
        )
        {
        stmt.executeUpdate("insert into chamado values ('"
              + data.get(Calendar.DAY_OF_MONTH)   + "','"
              + mes                               + "','"
              + data.get(Calendar.YEAR)           + "','"
              + linenCount                        + "','"
              + request.getParameter ("nome")     + "','"
              + request.getParameter ("divisao")  + "','"
              + request.getParameter ("secao")    + "','"
              + request.getParameter ("ramal")    + "','"
              + "Veja o item descricao!"          + "','"
	      + "Nenhuma providência foi tomada até o momento." + "','"
              + "D-EIF"                           + "','"
              + "Espera"                          + "','"
              + request.getParameter ("descricao")+ "','"
              + Integer.toString(data.get(Calendar.YEAR))         + "-"    +
                Integer.toString(data.get(Calendar.MONTH)+1)      + "-"    +
                Integer.toString(data.get(Calendar.DAY_OF_MONTH)) + "',"   +
                prioridade + ") "
	 );
         out.print("<STRONG><FONT SIZE=+1 color=\"0000FF\">");
         out.println("Ok, "+ request.getParameter ("nome") + " !</FONT></STRONG><BR><BR>");
         out.println("Seu pedido foi cadastrado!<BR><BR>");
         out.println("Logo estaremos trabalhando para resolver o seu problema.");
        }
        else{
         out.print("<STRONG><FONT SIZE=+1 color=\"red\">");
         out.println("Ha campos obrigatorios nao preenchidos ...");

        }

        out.print("</BODY></HTML>");
        out.close();
        stmt.close();
       }
       catch(java.sql.SQLException e){
          System.out.println(e.toString());
          System.err.println(e.getMessage());
       }
  
  }// doPost

    public int setPrioridade(String parametro){
        int prioridade = 2;
      	 if(parametro.equals("Alta")) prioridade = 3;
	 if(parametro.equals("Normal")) prioridade = 2;
	 if(parametro.equals("Baixa")) prioridade = 1;
	return prioridade;
     }   

	//METODO PARA TRADUZIR O INT MONTH PARA A STRING MES
	public static String putmes(Calendar data){
         String mes="null";

         if (data.get(Calendar.MONTH) == 0) mes = "Janeiro";
	 else
         if (data.get(Calendar.MONTH) == 1) mes = "Fevereiro";
         else
         if (data.get(Calendar.MONTH) == 2) mes = "Março";
         else
         if (data.get(Calendar.MONTH) == 3) mes = "Abril";
	 else
         if (data.get(Calendar.MONTH) == 4) mes = "Maio";
	 else
         if (data.get(Calendar.MONTH) == 5) mes = "Junho";
	 else
         if (data.get(Calendar.MONTH) == 6) mes = "Julho";
         else
         if (data.get(Calendar.MONTH) == 7) mes = "Agosto";
         else
         if (data.get(Calendar.MONTH) == 8) mes = "Setembro";
         else
         if (data.get(Calendar.MONTH) == 9) mes = "Outubro";
	 else
         if (data.get(Calendar.MONTH) == 10) mes = "Novembro";
	 else
         if (data.get(Calendar.MONTH) == 11) mes = "Dezembro";

         return mes;
	}//de putmes


}// MMDBPost

