diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/GlobalConstants.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/GlobalConstants.java
deleted file mode 100644
index 5f145417..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/GlobalConstants.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * GlobalConstant.java
- *
- * Created on 27 de Abril de 2005, 18:20
- */
-
-package siprp.pagina;
-
-/**
- *
- * @author fpalma
- */
-public interface GlobalConstants
-{
- // BD
- public static final String bdHost = "127.0.0.1";
- public static final String bdPort = "5436";
- public static final String bdUsername = "siprp";
- public static final String bdPassword = "";
- public static final String bdDriver = "org.postgresql.Driver";
- public static final String bdUrl = "jdbc:postgresql://" + bdHost + ":" + bdPort + "/siprp";
-
- public static final String bdLocalHost = "127.0.0.1";
- public static final String bdLocalPort = "5436";
- public static final String bdLocalUsername = "siprp";
- public static final String bdLocalPassword = "";
- public static final String bdLocalDriver = "org.postgresql.Driver";
- public static final String bdLocalUrl = "jdbc:postgresql://" + bdHost + ":" + bdPort + "/siprp_local_3";
-
- public static final String DEFAULT_EMAIL = "geral@siprp.pt";
-
- public static final int TIPO_MARCACAO_EXAMES = 0;
- public static final int TIPO_MARCACAO_CONSULTA = 1;
-
- public static final Integer ESTADO_POR_REALIZAR = new Integer( 0 );
- public static final Integer ESTADO_PARCIALMENTE_REALIZADO = new Integer( 1 );
- public static final Integer ESTADO_REALIZADO = new Integer( 2 );
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/MailerServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/MailerServlet.java
deleted file mode 100644
index cbb306f1..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/MailerServlet.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * ServletAux.java
- *
- * Created on 10 de Março de 2005, 12:24
- */
-
-package siprp.pagina;
-
-import javax.activation.*;
-import java.io.*;
-import java.util.*;
-
-import javax.mail.*;
-import javax.mail.internet.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.sql.*;
-
-import org.apache.commons.mail.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-import com.evolute.utils.arrays.*;
-/**
- *
- * @author psantos
- */
-public class MailerServlet extends HttpServlet
- implements GlobalConstants
-{
- public static final String EMAIL = "email";
- public static final String EMAIL_MARCACAO = "email_marcacao";
- public static final String EMAIL_RECRUTAMENTO = "email_recrutamento";
-
- protected static Hashtable PROPERTIES;
-
- public void init()
- {
-
- try
- {
- String TEMPLATE_DIR = this.getServletContext().getRealPath( "/" ) + "html/";
-
- Properties props = new Properties();
- props.setProperty( "file.resource.loader.path", TEMPLATE_DIR );
- Velocity.init( props );
- if( PROPERTIES == null )
- {
- Class.forName(bdDriver);
- Connection con = DriverManager.getConnection( bdUrl, bdUsername, bdPassword );
- Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- ResultSet2DArray array = new ResultSet2DArray(
- stmt.executeQuery( "Select name, value FROM properties;" ) );
- PROPERTIES = new Hashtable();
- for( int n = 0; n < array.columnLength(); n++ )
- {
- PROPERTIES.put( array.get( n, 0 ), array.get( n, 1 ) );
- }
- con.close();
- }
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- }
-
- protected String createContent( Hashtable parameters, String[] form_fields, String template )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- for( int i = 0; i < form_fields.length; i++ )
- {
- context.put( form_fields[ i ], parameters.get( form_fields[ i ] ) );
- }
-
- Velocity.mergeTemplate( template, Velocity.ENCODING_DEFAULT, context, output );
-
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return null;
- }
-
- protected String showResultPage( boolean success, String success_template, String fail_template )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
- String template;
- if( success )
- {
- template = success_template;
- }
- else
- {
- template = fail_template;
- }
- try
- {
- Velocity.mergeTemplate( template, Velocity.ENCODING_DEFAULT, context, output );
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return null;
- }
-
- protected boolean sendMail( String from, String destination, String subject, String content, boolean html )
- {
- String smtp_server = "localhost";
- String mailer = "Evolute Mailer";
-
- Properties props = System.getProperties();
- props.put( "mail.smtp.host", smtp_server );
-
- String content_type = ( html ) ? "text/html" : "text/plain";
-
- Session session = Session.getInstance( props, null );
- Message msg = new MimeMessage( session );
- try
- {
- if( from != null )
- {
- msg.setFrom( new InternetAddress( from ) );
- }
- msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( destination, true ) );
- msg.setSubject( subject );
-
- msg.setContent( content.toString(), content_type );
-
- msg.setHeader( "X-Mailer", mailer );
- msg.setSentDate( new java.util.Date() );
- Transport.send( msg );
-
- return true;
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return false;
- }
-
- protected boolean sendMail( String from, String destination, String subject, String content, boolean html,
- String filename, byte attachment[], String type )
- {
- String smtp_server = "localhost";
- String mailer = "Evolute Mailer";
-
- Properties props = System.getProperties();
- props.put( "mail.smtp.host", smtp_server );
-
- String content_type = ( html ) ? "text/html" : "text/plain";
-
- Session session = Session.getInstance( props, null );
- Message msg = new MimeMessage( session );
- try
- {
- if( from != null )
- {
- msg.setFrom( new InternetAddress( from ) );
- }
- msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( destination, true ) );
- msg.setSubject( subject );
- msg.setHeader( "X-Mailer", mailer );
- msg.setSentDate( new java.util.Date() );
-
- Multipart multipart = new MimeMultipart();
- BodyPart messageBodyPart = new MimeBodyPart();
- messageBodyPart.setContent( content.toString(), content_type );
- multipart.addBodyPart(messageBodyPart);
-
- messageBodyPart = new MimeBodyPart();
-// messageBodyPart.setDataHandler(
-// new DataHandler( new ByteArrayDataSource( attachment, "/siprpWeb/test.txt" )));
- messageBodyPart.setContent( attachment, content_type );
- DataSource source = new ByteArrayDataSource(attachment, type);
- messageBodyPart.setDataHandler(
- new DataHandler(source));
- messageBodyPart.setFileName(filename);
-
- multipart.addBodyPart(messageBodyPart);
- msg.setContent(multipart);
-
- Transport.send( msg );
-
- return true;
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return false;
- }
-
- private String checkParameter( String parameter )
- {
- if( parameter != null && parameter.trim().length() > 0 )
- {
- return parameter.trim();
- }
-
- return null;
- }
-
- protected Hashtable parseParameters( Hashtable parameters )
- {
- Hashtable tmp = new Hashtable();
- String[] element;
- String key;
- String new_element;
- for( Enumeration e = parameters.keys(); e.hasMoreElements(); )
- {
- key = ( String ) e.nextElement();
- element = ( String[] ) parameters.get( key );
- if( element != null )
- {
- new_element = checkParameter( element[ 0 ] );
- if( new_element != null )
- {
- tmp.put( key, new_element );
- }
- }
- }
-
- return tmp;
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/NewsServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/NewsServlet.java
deleted file mode 100644
index 5122d6b2..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/NewsServlet.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * NewsServlet.java
- *
- * Created on 20 de Maio de 2005, 17:48
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.sql.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-import com.evolute.utils.*;
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.db.*;
-import com.evolute.utils.sql.*;
-import com.evolute.utils.strings.*;
-
-/**
- *
- * @author lflores
- */
-public class NewsServlet extends HttpServlet
- implements GlobalConstants
-{
- private static DBManager DBM = null;
-
- private static final Select SELECT = new Select( new String[]{ "not_noticias" },
- new String[]{"data", "noticia"}, new Field( "id" ).in(
- new Field( "( SELECT MAX( id ) FROM not_noticias )" ) ) );
-
- private SQLExecuter executer = null;
-
- private static boolean velocityInit = false;
-
- public void init()
- {
- if( !velocityInit )
- {
- try
- {
- String TEMPLATE_DIR = this.getServletContext().getRealPath( "/" ) + "html/";
-
- Properties props = new Properties();
- props.setProperty( "file.resource.loader.path", TEMPLATE_DIR );
- Velocity.init( props );
- }
- catch( Exception ex )
- {
- ex.printStackTrace();
- }
- velocityInit = true;
- }
-
- if( DBM != null )
- {
- return;
- }
-
- try
- {
- DBM = new JDBCManager( bdUrl + "?prepareThreshold=1",
- bdUsername, bdPassword , 8, 8, 0, new SQLQuery[] {} );
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- }
-
- private void close()
- {
- try
- {
- DBM.close();
- DBM = null;
- }
- catch( Exception ex )
- {
- // we come here after an error
- // so we discard this exception
- }
- }
-
- private String getNews()
- {
-//System.err.println( "NEWS: BEGIN" );
- try
- {
- if( executer == null )
- {
- executer = ( SQLExecuter )DBM.getSharedExecuter();
- }
- Virtual2DArray array = executer.executeQuery( SELECT );
- Object o[][] = array.getObjects();
- if( o != null && o.length > 0 )
- {
-//System.err.println( "NEWS: " + o[ 0 ][ 0 ].toString() );
- return
- //o[ 0 ][ 0 ].toString() +
- StringConverter.unicodeToHTML( o[ 0 ][ 1 ].toString() );
- }
- }
- catch( Exception ex )
- {
-//System.err.println( "NEWS: EX" );
- ex.printStackTrace();
- close();
- }
-//System.err.println( "NEWS: END" );
- return null;
- }
-
- public void doGet( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
-//System.err.println( "NEWS: GET BEGIN" );
- init();
-//System.err.println( "NEWS: AF INIT" );
- ServletOutputStream out = res.getOutputStream();
-// String queryString = req.getQueryString();
- res.setContentType( "text/html" );
- String news = getNews();
- Hashtable parameters = new Hashtable();
- if( news == null )
- {
- parameters.put( "noticias", "" );
- }
- else
- {
- parameters.put( "noticias", news );
- }
-//System.err.println( "NEWS: BF SHOW" );
- out.println( showPage( "noticias/mostrar_noticias.html", parameters ) );
- }
-
- private String showPage( String page, Hashtable parameters )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- if( parameters != null )
- {
- String key;
- for( Enumeration e = parameters.keys(); e.hasMoreElements(); )
- {
- key = ( String ) e.nextElement();
- context.put( key, parameters.get( key ) );
- }
- }
-
- Velocity.mergeTemplate( page, Velocity.ENCODING_DEFAULT, context, output );
-
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/RecruitServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/RecruitServlet.java
deleted file mode 100644
index e37dfc7d..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/RecruitServlet.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * RequestServlet.java
- *
- * Created on 4 de Março de 2005, 18:19
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.apache.commons.fileupload.*;
-
-/**
- *
- * @author psantos
- */
-public class RecruitServlet extends MailerServlet
-{
- private final static String REC_FUNCAO = "rec_funcao";
- private final static String REC_NOME = "rec_nome";
- private final static String REC_MORADA = "rec_morada";
- private final static String REC_TELEFONE = "rec_telefone";
- private final static String REC_EMAIL = "rec_email";
- private final static String REC_CV = "rec_cv";
-
- private final static String[] FORM_FIELDS = new String[]{
- REC_FUNCAO, REC_NOME, REC_MORADA,
- REC_TELEFONE, REC_EMAIL, REC_CV
- };
-
- public void doPost( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- Hashtable parameters;
- String fileName = "";
- String type = "";
- byte file[] = new byte[0];
- boolean isMultipart = FileUpload.isMultipartContent( req );
-
- ServletOutputStream out = res.getOutputStream();
- res.setContentType( "text/html" );
-
- if( isMultipart )
- {
- parameters = new Hashtable();
- DiskFileUpload upload = new DiskFileUpload();
- upload.setSizeThreshold(1000000);
- upload.setSizeMax(1000000);
- List items;
- try
- {
- items = upload.parseRequest(req);
- }
- catch( FileUploadException ex )
- {
- out.println( showResultPage( false, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) );
- return;
- }
- Iterator iter = items.iterator();
- while( iter.hasNext() )
- {
- FileItem item = (FileItem) iter.next();
-
- if (item.isFormField())
- {
- String name = item.getFieldName();
- String value = item.getString();
- parameters.put( name, value );
- }
- else
- {
- String fieldName = item.getFieldName();
- fileName = item.getName();
- file = item.get();
- if( file == null || file.length == 0 )
- {
- isMultipart = false;
- }
- type = item.getContentType();
- }
- }
- }
- else
- {
- parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
- }
- String content = createContent( parameters, FORM_FIELDS, "mail/envio_cv.txt" );
-
- String email = DEFAULT_EMAIL;
- if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL_RECRUTAMENTO ) )
- {
- email = ( String ) PROPERTIES.get( EMAIL_RECRUTAMENTO );
- }
- String from = email;
- String destination = email;
- String subject = "Envio de CV através do site www.siprp.pt";
- // manda mail
- boolean success;
- String nome = ( String ) parameters.get( REC_NOME );
- String telefone = ( String ) parameters.get( REC_TELEFONE );
- String mail = ( String ) parameters.get( REC_EMAIL );
- if( nome == null || nome.trim().length() == 0 || telefone == null || telefone.trim().length() == 0 ||
- mail == null || mail.trim().length() == 0 || mail.indexOf( '@' ) == -1 )
- {
-System.out.println( "nome: " + nome + " teefone: " + telefone + " email : " + email );
- success = false;
- }
- else if( isMultipart )
- {
-System.out.println( "Multipart" );
- success = sendMail( from, destination, subject, content, false, fileName, file, type );
- }
- else
- {
-System.out.println( "Normal" );
- success = sendMail( from, destination, subject, content, false );
- }
-
- // mostra pagina correspondente
-
- out.println( showResultPage( success, "mail/cv_enviado.html", "mail/cv_nao_enviado.html" ) );
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/RelatorioServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/RelatorioServlet.java
deleted file mode 100644
index 8ed2403f..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/RelatorioServlet.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * RelatorioServlet.java
- *
- * Created on 27 de Abril de 2005, 16:16
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-/**
- *
- * @author fpalma
- */
-public class RelatorioServlet extends MailerServlet
-{
- private final static String EMPRESA = "empresa";
- private final static String EMAIL_EMPRESA = "email_empresa";
- private final static String ANO = "ano";
-
- private final static String[] FORM_FIELDS = new String[]{
- EMPRESA, ANO, EMAIL_EMPRESA };
-
- public void doGet( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- String queryString = req.getQueryString();
- res.setContentType( "text/html" );
-
- Hashtable parameters = new Hashtable();
-
- // Ir buscar os parametros à sessão
- HttpSession session = req.getSession( false );
- if( session == null )
- {
- // timeout
- out.println( showPage( "relatorio/pedido_sessao_expirou.html", null ) );
- return;
- }
-
- out.println( showPage( "relatorio/pedido_relatorio.html", parameters ) );
- }
-
- public void doPost( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- String queryString = req.getQueryString();
- res.setContentType( "text/html" );
-
- // Info de marcacao
- // Dados que vem no pedido: marcacao_tipo, data, hora
- Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
-
- // Ir buscar o resto dos parametros à sessão
- HttpSession session = req.getSession( false );
- if( session == null )
- {
- // timeout
- out.println( showPage( "relatorio/pedido_sessao_expirou.html", null ) );
- return;
- }
-
- parameters.put( EMPRESA, session.getAttribute( siprpServlet.sessionCompanyName ) );
- String from = ( String ) session.getAttribute( siprpServlet.sessionCompanyEmail );
-
- String email = DEFAULT_EMAIL;
- if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL ) )
- {
- email = ( String ) PROPERTIES.get( EMAIL );
- }
- String destination = email;
- String subject = "Pedido de envio de relatorio via web";
- if( parameters.get( ANO ) == null )
- {
- parameters.put( ANO, "corrente" );
- }
- String content = createContent( parameters, FORM_FIELDS, "relatorio/pedido.html" );
- // manda mail
- boolean success = sendMail( from, destination, subject, content, true );
-
- // mostra pagina correspondente
- out.println( showResultPage( success, "relatorio/pedido_enviado.html", "relatorio/pedido_nao_enviado.html" ) );
- }
-
- private String showPage( String page, Hashtable parameters )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- if( parameters != null )
- {
- String key;
- for( Enumeration e = parameters.keys(); e.hasMoreElements(); )
- {
- key = ( String ) e.nextElement();
- context.put( key, parameters.get( key ) );
- }
- }
-
- Velocity.mergeTemplate( page, Velocity.ENCODING_DEFAULT, context, output );
-
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return null;
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/RequestServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/RequestServlet.java
deleted file mode 100644
index af514f89..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/RequestServlet.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * RequestServlet.java
- *
- * Created on 4 de Março de 2005, 18:19
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-/**
- *
- * @author psantos
- */
-public class RequestServlet extends MailerServlet
-{
- private final static String REQUEST_NAME = "request_name";
- private final static String REQUEST_PHONE = "request_phone";
- private final static String REQUEST_EMAIL = "request_email";
- private final static String REQUEST_DETAILS = "request_details";
-
- private final static String[] FORM_FIELDS = new String[]{
- REQUEST_NAME, REQUEST_PHONE,
- REQUEST_EMAIL, REQUEST_DETAILS
- };
-
- public void doPost( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- res.setContentType( "text/html" );
-
- /*
- parametros:
- request_name
- request_phone
- request_email
- request_details
- */
- // recebe info de contacto
- Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
-
- String content = createContent( parameters, FORM_FIELDS, "mail/pedido_informacao.txt" );
-
- String from = ( String ) parameters.get( REQUEST_EMAIL );
- String email = DEFAULT_EMAIL;
- if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL ) )
- {
- email = ( String ) PROPERTIES.get( EMAIL );
- }
- String destination = email;
- String subject = "Pedido de informação através do site www.siprp.pt";
- // manda mail
- boolean success = sendMail( from, destination, subject, content, false );
-
- // mostra pagina correspondente
- out.println( showResultPage( success, "mail/pedido_enviado.html", "mail/pedido_nao_enviado.html" ) );
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/ScheduleServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/ScheduleServlet.java
deleted file mode 100644
index 51feffb6..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/ScheduleServlet.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * ScheduleServlet.java
- *
- * Created on 10 de Março de 2005, 12:22
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-/**
- *
- * @author psantos
- */
-public class ScheduleServlet extends MailerServlet
-{
- private final static String EMPRESA = "empresa";
- private final static String ESTABELECIMENTO = "estabelecimento";
- private final static String FUNCIONARIO = "funcionario";
- private final static String MARCACAO_TIPO = "marcacao_tipo";
- private final static String DATA = "data";
- private final static String HORA = "hora";
- private final static String EMAIL_EMPRESA = "email_empresa";
-
- private final static String[] FORM_FIELDS = new String[]{
- EMPRESA, ESTABELECIMENTO, FUNCIONARIO,
- MARCACAO_TIPO, DATA, HORA, EMAIL_EMPRESA
- };
-
- public void doGet( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- String queryString = req.getQueryString();
- res.setContentType( "text/html" );
-
- Hashtable parameters = new Hashtable();
-
- // Ir buscar os parametros à sessão
- HttpSession session = req.getSession( false );
- if( session == null )
- {
- // timeout
- out.println( showPage( "marcacao/marcacao_sessao_expirou.html", null ) );
- return;
- }
-
- parameters.put( EMPRESA, session.getAttribute( siprpServlet.sessionCompanyName ) );
- parameters.put( ESTABELECIMENTO, session.getAttribute( "session_estabelecimento_nome" ) );
- parameters.put( FUNCIONARIO, session.getAttribute( "session_funcionario_nome" ) );
-
- String tokens[] = queryString.split( "[?]" );
- if( tokens.length > 0 && tokens[ tokens.length - 1 ].equals( "consulta" ) )
- {
- out.println( showPage( "marcacao/marcacao_consulta.html", parameters ) );
- }
- else
- {
- out.println( showPage( "marcacao/marcacao_exame.html", parameters ) );
- }
- }
-
- public void doPost( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- String queryString = req.getQueryString();
- res.setContentType( "text/html" );
-
- // Info de marcacao
- // Dados que vem no pedido: marcacao_tipo, data, hora
- Hashtable parameters = parseParameters( new Hashtable( req.getParameterMap() ) );
-
- // Ir buscar o resto dos parametros à sessão
- HttpSession session = req.getSession( false );
- if( session == null )
- {
- // timeout
- out.println( showPage( "marcacao/marcacao_sessao_expirou.html", null ) );
- return;
- }
-
- parameters.put( EMPRESA, session.getAttribute( siprpServlet.sessionCompanyName ) );
- parameters.put( ESTABELECIMENTO, session.getAttribute( "session_estabelecimento_nome" ) );
- parameters.put( FUNCIONARIO, session.getAttribute( "session_funcionario_nome" ) );
- //parameters.put( session.getAttribute( "session_funcionario_numero" ) );
-
- String from = ( String ) session.getAttribute( siprpServlet.sessionCompanyEmail );
-
- String marcacao_tipo = ( String )parameters.get( MARCACAO_TIPO );
-
- String email = DEFAULT_EMAIL;
- if( PROPERTIES != null && PROPERTIES.containsKey( EMAIL_MARCACAO ) )
- {
- email = ( String ) PROPERTIES.get( EMAIL_MARCACAO );
- }
- String destination = email;
- String subject = "Pedido de marca\u00e7\u00e3o de " + marcacao_tipo + " via web";
- String content = createContent( parameters, FORM_FIELDS, "marcacao/marcacao.html" );
- // manda mail
- boolean success = sendMail( from, destination, subject, content, true );
-
- // mostra pagina correspondente
- out.println( showResultPage( success, "marcacao/marcacao_enviada.html", "marcacao/marcacao_nao_enviada.html" ) );
- }
-
- private String showPage( String page, Hashtable parameters )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- if( parameters != null )
- {
- String key;
- for( Enumeration e = parameters.keys(); e.hasMoreElements(); )
- {
- key = ( String ) e.nextElement();
- context.put( key, parameters.get( key ) );
- }
- }
-
- Velocity.mergeTemplate( page, Velocity.ENCODING_DEFAULT, context, output );
-
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
-
- return null;
- }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEmpresas.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEmpresas.java
deleted file mode 100644
index 60303b2f..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEmpresas.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package siprp.pagina;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.strings.*;
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-public class doGetListaEmpresas extends siprpServlet{
-
- /** Creates a new instance of doGetListaEmpresas */
- public doGetListaEmpresas(HttpServletRequest req, HttpServletResponse res) throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery;
- String userRole="", temp="";
- HttpSession session = req.getSession(false);
- Vector links = new Vector();
- Vector desc = new Vector();
-String empresa_nome;
- try
- {
- userRole = (String)session.getAttribute(super.sessionUserRole);
-empresa_nome = ( String ) session.getAttribute( sessionCompanyName );
-
- if (userRole == null)
- {
- throw new IllegalStateException();
- }
-
- if ( userRole.equals ( super.superUserRole ) )
- {
-empresa_nome = null;
- Class.forName(super.bdDriver);
- con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT id, designacao_social, designacao_social_plain FROM empresas WHERE inactivo <> 'y' ORDER BY designacao_social_plain" );
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
- int index=0;
- int max = rs.columnLength();
-
- while ( index < max )
- {
- String str = (String)rs.get(index,1);
- if( str != null && str.trim().length() > 0 )
- {
- temp=""+rs.get(index,0); // converter de int para String
- dbQuery = new StringBuffer();
- dbQuery.append("/"+super.servletName+"/?"+temp); // contruir url
- links.add(dbQuery.toString());
- desc.add((String)rs.get(index,1));
- }
- ++index;
- }
- stmt.close();
- con.close();
-
-
-session.setAttribute( sessionEstabelecimentoId, null );
-
-HashMap hmValues = new HashMap();
-//hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
-hmValues.put( "empresa_nome", empresa_nome );
-hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
-hmValues.put( "estabelecimento_id", session.getAttribute( sessionEstabelecimentoId ) );
-hmValues.put( "userRole", userRole );
-hmValues.put( "userName", session.getAttribute( sessionUser ) );
-hmValues.put( msgTemplate , super.msgListaEmpresas ) ;
-hmValues.put( templateUserRole, userRole);
-hmValues.put( templateQuery, super.queryStringEmpresas );
-hmValues.put( templateVector1,links);
-hmValues.put( templateVector2,desc);
-hmValues.put( templateVector3,null);
-out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
-
-
- //out.println( mergeTemplate( super.msgListaEmpresas, userRole, super.queryStringEmpresas, links, desc, null, super.authenticatedUserTemplate) );
-
- }
- else
- {
- out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
- }
-
- }
- catch ( IllegalStateException e ) // session timeout
- {
- e.printStackTrace();
- out.println( mergeTemplate(msgSessionTimeout, super.errorTemplate) );
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , userRole, super.errorTemplate) );
- }
- }
-
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEstabelecimentos.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEstabelecimentos.java
deleted file mode 100644
index 4e8b9642..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaEstabelecimentos.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package siprp.pagina;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.strings.*;
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-public class doGetListaEstabelecimentos extends siprpServlet{
-
- /** Creates a new instance of doGetListaEstabelecimentos */
- public doGetListaEstabelecimentos(HttpServletRequest req, HttpServletResponse res) throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery, sBuffer;
- String userRole, empresaId, temp;
- HttpSession session = req.getSession(false);
- Vector links = new Vector();
- Vector desc = new Vector();
- try
- {
- userRole = (String)session.getAttribute(super.sessionUserRole);
- empresaId = (String)session.getAttribute(super.sessionEmpresaId);
-
- if ( userRole.equals ( super.superUserRole ) || userRole.equals ( empresaId ) )
- {
- Class.forName(super.bdDriver);
- con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
- dbQuery = new StringBuffer();
- dbQuery.append( " SELECT id, nome, nome_plain FROM estabelecimentos WHERE inactivo <> 'y' AND empresa_id = '"+empresaId+"' order by nome_plain" );
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
- int index=0;
- int max = rs.columnLength();
-
- while ( index < max )
- {
- temp=""+rs.get(index,0); // converter de int para String
- dbQuery = new StringBuffer();
- dbQuery.append("/"+super.servletName+"/?"+empresaId+"/"+temp); // contruir url
- links.add(dbQuery.toString());
- desc.add((String)rs.get(index,1));
- ++index;
- }
- sBuffer = new StringBuffer();
- sBuffer.append(""+super.nomeEmpresa(con,empresaId)+"");
-
-if( userRole.equals( "manager" ) )
-{
- session.setAttribute( sessionCompanyName, nomeEmpresa( con, ( String ) session.getAttribute( sessionEmpresaId ) ) );
-}
-else
-{
- session.setAttribute( sessionCompanyName, nomeEmpresa( con, userRole ) );
-}
-
-session.setAttribute( sessionCompanyEmail, emailEmpresa( con, empresaId ) );
-
-session.setAttribute( sessionEstabelecimentoId, null );
-
-HashMap hmValues = new HashMap();
-hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
-hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
-hmValues.put( "estabelecimento_id", session.getAttribute( sessionEstabelecimentoId ) );
-hmValues.put( "userRole", userRole );
-hmValues.put( "userName", session.getAttribute( sessionUser ) );
-hmValues.put( msgTemplate , sBuffer.toString() ) ;
-hmValues.put( templateUserRole, userRole);
-hmValues.put( templateQuery, super.queryStringEstabelecimentos );
-hmValues.put( templateVector1,links);
-hmValues.put( templateVector2,desc);
-hmValues.put( templateVector3,null);
-out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
-
-// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringEstabelecimentos, links, desc, null, super.authenticatedUserTemplate) );
- stmt.close();
- con.close();
- }
- else
- {
- out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
- }
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
- }
- }
-
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java
deleted file mode 100644
index f7d03c60..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadores.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package siprp.pagina;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.strings.*;
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-public class doGetListaTrabalhadores extends siprpServlet{
-
- /** Creates a new instance of doGetListaTrabalhadores */
- public doGetListaTrabalhadores(HttpServletRequest req, HttpServletResponse res, String query) throws IOException
- {
- boolean print = false;
- if( query != null )
- {
- print = query.indexOf( "_print" ) != -1;
- if( query.indexOf( "trabalhadores_tudo" ) == 0 )
- {
- new doGetListaTrabalhadoresTudo( req, res, print );
- return;
- }
- else if( query.indexOf( "trabalhadores_pendentes" ) == 0 )
- {
- new doGetListaTrabalhadoresPendentes( req, res, print );
- return;
- }
- }
- ServletOutputStream out = res.getOutputStream();
- Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs, rsTrab;
- StringBuffer sBuffer;
- String userRole, empresaId, estabelecimentoId, temp;
- HttpSession session = req.getSession(false);
- Vector links = new Vector();
- Vector desc = new Vector();
- Vector descAdicional = new Vector();
- java.util.Date today = new java.util.Date();
- try
- {
- userRole = (String)session.getAttribute(super.sessionUserRole);
- empresaId = (String)session.getAttribute(super.sessionEmpresaId);
- estabelecimentoId = (String)session.getAttribute(super.sessionEstabelecimentoId);
-
- if ( userRole.equals ( super.superUserRole ) || userRole.equals ( empresaId ) )
- {
- Class.forName(super.bdDriver);
- con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
- if ( super.verificaEstabelecimento(con, empresaId, estabelecimentoId) ) // estabelecimento pertence à empresa ??
- {
- //Class.forName(super.bdDriver);
- //con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
- String dbQuery = "SELECT id, nome, nome_plain FROM trabalhadores WHERE inactivo <> 'y' AND data_demissao IS NULL AND estabelecimento_id = '"+estabelecimentoId+"' ORDER BY nome_plain";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rsTrab = new ResultSet2DArray( stmt.executeQuery( dbQuery ) );
- rsTrab.getObjects();
- stmt.close();
-
- final int max = rsTrab.columnLength();
-
- for ( int index = 0; index < max; index++ )
- {
- Integer id = (Integer)rsTrab.get(index,0);
- String link = "/"+super.servletName+"/?"+empresaId+"/"+estabelecimentoId+"/"+id;
- links.add(link);
- HashMap trabalhador = new HashMap();
- trabalhador.put( "Nome", (String)rsTrab.get(index,1) );
-
-
- dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador "
- + "WHERE tipo = 1 and trabalhador_id = " + id
- + " ORDER BY data DESC";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery ) );
- rs.getObjects();
- stmt.close();
- if( rs.columnLength() > 0 )
- {
- java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
- Integer estado2 = ( Integer ) rs.get( 0, 2 );
- java.util.Date dataConsulta1;
- // java.util.Date dataRelatorio1;
- // java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 );
- Integer estado1;
- String realizada1 = "";
- String realizada2 = "";
- if( rs.columnLength() >= 2 )
- {
- dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 );
- estado1 = ( Integer ) rs.get( 1, 2 );
- // dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
- }
- else
- {
- dataConsulta1 = dataConsulta2;
- estado1 = estado2;
- // dataRelatorio1 = dataRelatorio2;
- }
- if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) )
- {
- trabalhador.put( "ultima_consulta", dataConsulta2 );
- if( estado2.equals( ESTADO_POR_REALIZAR ) )
- {
- realizada2 = "não";
- }
- else if( estado2.equals( ESTADO_REALIZADO ) )
- {
- realizada2 = "sim";
- }
- trabalhador.put( "realizada", realizada2 );
- trabalhador.put( "proxima_consulta", "" );
- }
- else
- {
- try
- {
- for( int c = 1; c < rs.columnLength(); c++ )
- {
- java.util.Date dataTemp = ( java.util.Date ) rs.get( c, 1 );
- dataConsulta1 = dataTemp;
- estado1 = ( Integer ) rs.get( c, 2 );
- if( dataTemp.after( today ) )
- {
- dataConsulta2 = dataTemp;
- }
- else
- {
- break;
- }
- }
- }
- catch( Exception ex )
- {
- ex.printStackTrace();
- }
- trabalhador.put( "proxima_consulta", dataConsulta2 );
-
- if( !dataConsulta2.equals( dataConsulta1 ) )
- {
- if( estado1.equals( ESTADO_POR_REALIZAR ) )
- {
- realizada1 = "não";
- }
- else if( estado1.equals( ESTADO_REALIZADO ) )
- {
- realizada1 = "sim";
- }
- trabalhador.put( "realizada", realizada1 );
- trabalhador.put( "ultima_consulta", dataConsulta1 );
- }
- else
- {
- trabalhador.put( "ultima_consulta", "" );
- trabalhador.put( "realizada", null );
- }
- }
- }
- else
- {
- trabalhador.put( "ultima_consulta", "" );
- trabalhador.put( "realizada", null );
- trabalhador.put( "proxima_consulta", "" );
- }
-
-
- dbQuery = "SELECT id, data, estado FROM marcacoes_trabalhador "
- + "WHERE tipo = 0 and trabalhador_id = " + id
- + " ORDER BY data DESC";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery ) );
- rs.getObjects();
- stmt.close();
- if( rs.columnLength() > 0 )
- {
- java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
- Integer estado2 = ( Integer ) rs.get( 0, 2 );
- Integer estado1;
- java.util.Date dataConsulta1;
- // java.util.Date dataRelatorio1;
- // java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 );
- String realizada1 = "";
- String realizada2 = "";
- if( rs.columnLength() >= 2 )
- {
- dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 );
- estado1 = ( Integer ) rs.get( 1, 2 );
- // dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
- }
- else
- {
- dataConsulta1 = dataConsulta2;
- estado1 = estado2;
- // dataRelatorio1 = dataRelatorio2;
- }
- if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) )
- {
- trabalhador.put( "ultimo_exame", dataConsulta2 );
- if( estado2.equals( ESTADO_POR_REALIZAR ) )
- {
- realizada2 = "não";
- }
- else if( estado2.equals( ESTADO_REALIZADO ) )
- {
- realizada2 = "sim";
- }
- trabalhador.put( "realizado", realizada2 );
- trabalhador.put( "proximo_exame", "" );
- }
- else
- {
- trabalhador.put( "proximo_exame", dataConsulta2 );
- if( !dataConsulta2.equals( dataConsulta1 ) )
- {
- if( estado1.equals( ESTADO_POR_REALIZAR ) )
- {
- realizada1 = "não";
- }
- else if( estado1.equals( ESTADO_REALIZADO ) )
- {
- realizada1 = "sim";
- }
- trabalhador.put( "realizado", realizada1 );
- trabalhador.put( "ultimo_exame", dataConsulta1 );
- }
- else
- {
- trabalhador.put( "ultimo_exame", "" );
- trabalhador.put( "realizado", null );
- }
- }
- }
- else
- {
- trabalhador.put( "ultimo_exame", "" );
- trabalhador.put( "realizado", null );
- trabalhador.put( "proximo_exame", "" );
- }
-
- desc.add( trabalhador );
- }
-
-
- sBuffer = new StringBuffer();
- sBuffer.append(""+super.nomeEmpresa(con,empresaId)+"
"
- +super.nomeEstabelecimento(con, estabelecimentoId)+"" );
-
- HashMap hmValues = new HashMap();
- hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
- hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
- hmValues.put( "estabelecimento_nome", super.nomeEstabelecimento( con, estabelecimentoId ) );
- hmValues.put( "estabelecimento_id", estabelecimentoId );
- hmValues.put( "userRole", userRole );
- hmValues.put( "userName", session.getAttribute( sessionUser ) );
- hmValues.put( msgTemplate , sBuffer.toString() ) ;
- hmValues.put( templateUserRole, userRole);
- hmValues.put( templateQuery, super.queryStringTrabalhadores );
- hmValues.put( templateVector1,links);
- hmValues.put( templateVector2,desc);
- hmValues.put( templateVector3,null);
- if( !print )
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
- }
- else
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserPrintTemplate));
- }
-// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhadores, links, desc, null, super.authenticatedUserTemplate) );
- }
- else // est não pertence à empresa
- {
- out.println( mergeTemplate( super.msgLinkFormatError , userRole, super.errorTemplate) );
- }
- con.close();
- }
- else // Role não permite ver esta informação
- {
- out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
- }
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
- }
- }
-
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresPendentes.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresPendentes.java
deleted file mode 100644
index d6dfde6e..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresPendentes.java
+++ /dev/null
@@ -1,879 +0,0 @@
-/*
- * doGetListaTrabalhadoresPendentes.java
- *
- * Created on 22 de Abril de 2005, 15:56
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.sql.*;
-import java.util.*;
-
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.data.*;
-import com.evolute.utils.db.*;
-import com.evolute.utils.sql.*;
-import com.evolute.utils.strings.*;
-
-/**
- *
- * @author fpalma
- */
-public class doGetListaTrabalhadoresPendentes
- extends siprpServlet
-{
- private static final long TRES_MESES = 3L * 30L * 24L * 60L * 60L * 1000L;
- private static final long CATORZE_DIAS = 14L * 24L * 60L * 60L * 1000L;
-
- protected static final int ESTADO_NAO_APLICAVEL = 0;
- protected static final int ESTADO_PENDENTE = 1;
- protected static final int ESTADO_MARCADO = 2;
- protected static final int ESTADO_TRATADO = 3;
-
- protected static int MOTIVO_ADMISSAO = 1;
- protected static int MOTIVO_PERIODICA = 2;
- protected static int MOTIVO_OCASIONAL = 3;
- protected static int MOTIVO_PERIODICA_INICIAL = 5;
-
- protected static final Hashtable CORES_ESTADOS = new Hashtable();
- protected static final Hashtable TEXTOS_ESTADOS = new Hashtable();
- static
- {
- CORES_ESTADOS.put( new Integer( ESTADO_NAO_APLICAVEL ), "white" );
- CORES_ESTADOS.put( new Integer( ESTADO_PENDENTE ), "red" );
- CORES_ESTADOS.put( new Integer( ESTADO_MARCADO ), "yellow" );
- CORES_ESTADOS.put( new Integer( ESTADO_TRATADO ), "green" );
-
- TEXTOS_ESTADOS.put( new Integer( ESTADO_NAO_APLICAVEL ), "n.a." );
- TEXTOS_ESTADOS.put( new Integer( ESTADO_PENDENTE ), "pendente" );
- TEXTOS_ESTADOS.put( new Integer( ESTADO_MARCADO ), "pendente" );
-// TEXTOS_ESTADOS.put( new Integer( ESTADO_TRATADO ), "green" );
- }
-
- protected java.sql.Date today;
- protected long todayMillis;
-
- /** Creates a new instance of doGetListaTrabalhadores */
-// public doGetListaTrabalhadoresPendentes(HttpServletRequest req, HttpServletResponse res, boolean print)
-// throws IOException
-// {
-// ServletOutputStream out = res.getOutputStream();
-// Connection con = null ;
-// Statement stmt = null ;
-// ResultSet2DArray rs;
-// StringBuffer dbQuery, sBuffer;
-// String userRole, empresaId, estabelecimentoId, temp;
-// HttpSession session = req.getSession(false);
-// Vector links = new Vector();
-// Vector desc = new Vector();
-// Vector descAdicional = new Vector();
-//// today = new java.util.Date();
-//// todayMillis = today.getTime();
-//
-// try
-// {
-// stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
-// rs = new ResultSet2DArray( stmt.executeQuery( "SELECT CURRENT_DATE" ) );
-// today = ( java.sql.Date ) rs.get( 0, 0 );
-// stmt.close();
-// todayMillis = today.getTime();
-//
-// userRole = (String)session.getAttribute(super.sessionUserRole);
-// empresaId = (String)session.getAttribute(super.sessionEmpresaId);
-// estabelecimentoId = (String)session.getAttribute(super.sessionEstabelecimentoId);
-//
-// if ( userRole.equals ( super.superUserRole ) || userRole.equals ( empresaId ) )
-// {
-// Class.forName(super.bdDriver);
-// con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
-// if ( super.verificaEstabelecimento(con, empresaId, estabelecimentoId) ) // estabelecimento pertence à empresa ??
-// {
-// //Class.forName(super.bdDriver);
-// //con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
-// dbQuery = new StringBuffer();
-// dbQuery.append( "SELECT trabalhadores.id, trabalhadores.nome, "
-// + "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
-// + " trabalhadores.nome_plain, marcacoes_trabalhador.motivo "
-// + "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id )"
-// + "WHERE estabelecimento_id = " + estabelecimentoId
-// + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
-// + " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
-// + "ORDER BY 6, 3, 4 DESC " );
-// // dbQuery.append( "SELECT id, nome, ( ultima_consulta IS NOT NULL AND realizada = 'y' ),"
-// // + " ( ultimo_exame IS NOT NULL AND realizado = 'y' ),"
-// // + " proxima_consulta IS NOT NULL, proximo_exame IS NOT NULL, "
-// // + " ( proxima_consulta IS NOT NULL AND proxima_consulta - current_date <= 14 ), "
-// // + " ( proximo_exame IS NOT NULL AND proximo_exame - current_date <= 14 )"
-// // + " FROM trabalhadores "
-// // + " WHERE estabelecimento_id = '"+estabelecimentoId+"'"
-// // + " AND ( ultima_consulta IS NULL OR realizada = 'n' OR"
-// // + " ( proxima_consulta IS NOT NULL AND proxima_consulta - current_date <= 14 )"
-// // + " OR ( proximo_exame IS NOT NULL AND proximo_exame - current_date <= 14 ) )"
-// // + " ORDER BY nome" );
-// stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
-// rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-//
-// int index=0;
-// int max = rs.columnLength();
-//
-// Integer trabalhadorID = new Integer( -1 );
-// String nomeTrabalhador = "";
-// Vector consultas = new Vector();
-// Vector exames = new Vector();
-//
-// for ( index = 0; index <= max; index++ )
-// {
-// Integer id = index < max ? ( Integer ) rs.get( index, 0 ) : new Integer( -1 );
-// if( !id.equals( trabalhadorID ) )
-// {
-// Object listaConsultas[][] = ( Object[][] ) consultas.toArray( new Object[consultas.size()][3] );
-// Object listaExames[][] = ( Object[][] ) exames.toArray( new Object[exames.size()][3] );
-// if( trabalhadorID.intValue() > -1 &&
-// verificarTrabalhador( listaConsultas, listaExames ) )
-// {
-// temp=""+rs.get(index - 1,0); // converter de int para String
-// dbQuery = new StringBuffer();
-// dbQuery.append("/"+super.servletName+"/?"+empresaId+"/"+estabelecimentoId+"/"+temp); // contruir url
-// links.add(dbQuery.toString());
-// desc.add( criarDadosTrabalhador( con, trabalhadorID, nomeTrabalhador, listaConsultas, listaExames ) );
-// }
-// exames.clear();
-// consultas.clear();
-// }
-// if( index == max )
-// {
-// break;
-// }
-// Integer tipo = ( Integer ) rs.get( index, 2 );
-//
-// String nome = ( String ) rs.get( index, 1 );
-// java.util.Date data = ( java.util.Date ) rs.get( index, 3 );
-// Integer estado = ( Integer ) rs.get( index, 4 );
-// Integer motivo = ( Integer ) rs.get( index, 6 );
-// trabalhadorID = id;
-// nomeTrabalhador = nome;
-// Object marcacao[] = new Object[]{ data, estado, motivo };
-// if( tipo == null )
-// {
-// continue;
-// }
-// switch( tipo.intValue() )
-// {
-// case TIPO_MARCACAO_EXAMES:
-// exames.add( marcacao );
-// break;
-//
-// case TIPO_MARCACAO_CONSULTA:
-// consultas.add( marcacao );
-// break;
-// }
-// }
-// stmt.close();
-//
-// sBuffer = new StringBuffer();
-// sBuffer.append(""+super.nomeEmpresa(con,empresaId)+"
"
-// +super.nomeEstabelecimento(con, estabelecimentoId)+"" );
-//
-// HashMap hmValues = new HashMap();
-// hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
-// hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
-// hmValues.put( "estabelecimento_nome", super.nomeEstabelecimento( con, estabelecimentoId ) );
-// hmValues.put( "estabelecimento_id", estabelecimentoId );
-// hmValues.put( "userRole", userRole );
-// hmValues.put( "userName", session.getAttribute( sessionUser ) );
-// hmValues.put( msgTemplate , sBuffer.toString() ) ;
-// hmValues.put( templateUserRole, userRole);
-// hmValues.put( templateQuery, "trabalhadores_pendentes" );
-// hmValues.put( templateVector1,links);
-// hmValues.put( templateVector2,desc);
-// hmValues.put( templateVector3,null);
-// if( !print )
-// {
-// out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
-// }
-// else
-// {
-// out.println( mergeTemplate( hmValues, super.authenticatedUserPrintTemplate));
-// }
-//// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhadores, links, desc, null, super.authenticatedUserTemplate) );
-// }
-// else // est não pertence à empresa
-// {
-// out.println( mergeTemplate( super.msgLinkFormatError , userRole, super.errorTemplate) );
-// }
-// con.close();
-// }
-// else // Role não permite ver esta informação
-// {
-// out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
-// }
-// }
-// catch ( SQLException e )
-// {
-// e.printStackTrace();
-// out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
-// }
-// catch ( Exception e )
-// {
-// e.printStackTrace();
-// out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
-// }
-// }
-
- public doGetListaTrabalhadoresPendentes(HttpServletRequest req, HttpServletResponse res, boolean print )
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- String userRole, empresaId, estabelecimentoId;
- HttpSession session = req.getSession(false);
- Vector links = new Vector();
- Vector desc = new Vector();
- Vector descAdicional = new Vector();
-// today = new java.util.Date();
-// todayMillis = today.getTime();
-
- try
- {
- Executer executer = getExecuter();
- Virtual2DArray array = executer.executeQuery( new Select( "SELECT CURRENT_DATE" ) );
- today = ( java.sql.Date ) array.get( 0, 0 );
- todayMillis = today.getTime();
-
- userRole = (String)session.getAttribute(sessionUserRole);
- empresaId = (String)session.getAttribute(sessionEmpresaId);
- estabelecimentoId = (String)session.getAttribute(sessionEstabelecimentoId);
-
- if ( userRole.equals ( superUserRole ) || userRole.equals ( empresaId ) )
- {
- if ( verificaEstabelecimento(null, empresaId, estabelecimentoId) ) // estabelecimento pertence à empresa ??
- {
- //Class.forName(super.bdDriver);
- //con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
- String query = "( SELECT trabalhadores.id, trabalhadores.nome, "
- + "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
- + " trabalhadores.nome_plain, marcacoes_trabalhador.motivo, marcacoes_trabalhador.data "
- + "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
- + "WHERE estabelecimento_id = " + estabelecimentoId
- + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
- + " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
- + " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_CONSULTA
- + " AND marcacoes_trabalhador.motivo <> " + MOTIVO_OCASIONAL + " )"
- + " UNION "
- + "( SELECT trabalhadores.id, trabalhadores.nome, "
- + "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
- + " trabalhadores.nome_plain, marcacoes_trabalhador.motivo, marcacoes_trabalhador.data + 90 "
- + "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
- + "WHERE estabelecimento_id = " + estabelecimentoId
- + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
- + " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
- + " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_EXAMES + " )"
- + "ORDER BY 6, 8, 3 DESC ";
- array = executer.executeQuery( new Select( query ) );
-
- query = "SELECT trabalhadores.id, trabalhadores.nome, "
- + "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
- + " trabalhadores.nome_plain, marcacoes_trabalhador.motivo, marcacoes_trabalhador.data "
- + "FROM trabalhadores LEFT JOIN marcacoes_trabalhador ON ( marcacoes_trabalhador.trabalhador_id = trabalhadores.id ) "
- + "WHERE estabelecimento_id = " + estabelecimentoId
- + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
- + " AND marcacoes_trabalhador.estado NOT IN ( 3, 4, 5) "
- + " AND marcacoes_trabalhador.tipo = " + TIPO_MARCACAO_CONSULTA
- + " AND marcacoes_trabalhador.motivo = " + MOTIVO_OCASIONAL
- + " ORDER BY 6, 8, 3 DESC";
- Virtual2DArray ocasionaisArray = executer.executeQuery( new Select( query ) );
-
- query = "SELECT trabalhadores.id, trabalhadores.nome "
- + "FROM trabalhadores "
- + "WHERE estabelecimento_id = " + estabelecimentoId
- + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL;";
- Virtual2DArray trabalhadoresArray = executer.executeQuery( new Select( query ) );
-
- Hashtable marcacoesPorID = new Hashtable();
- Hashtable ocasionaisPorID = new Hashtable();
- Hashtable nomesPorID = new Hashtable();
- for( int n = 0; n < trabalhadoresArray.columnLength(); n++ )
- {
- nomesPorID.put( trabalhadoresArray.get( n, 0 ), trabalhadoresArray.get( n, 1 ) );
- }
-
- preencherMarcacoes( array, nomesPorID, marcacoesPorID );
- preencherMarcacoes( ocasionaisArray, nomesPorID, ocasionaisPorID );
-
- Integer ids[] = ( Integer[] ) nomesPorID.keySet().toArray( new Integer[0] );
- IDObject trabalhadores[] = new IDObject[ ids.length ];
- for( int n = 0; n < ids.length; n++ )
- {
- trabalhadores[ n ] = new MappableObject( ids[ n ], nomesPorID.get( ids[ n ] ) );
- }
- Arrays.sort( trabalhadores, new Comparator(){
- public int compare( Object o1, Object o2 )
- {
- String nome1 = StringPlainer.convertString( o1.toString() );
- String nome2 = StringPlainer.convertString( o2.toString() );
- return nome1.compareTo( nome2 );
- }
- } );
-
- for( int n = 0; n < trabalhadores.length; n++ )
- {
- Object marcacoes[][];
- if( marcacoesPorID.containsKey( trabalhadores[ n ].getID() ) )
- {
- marcacoes = ( Object[][] ) ( ( Vector )marcacoesPorID.get( trabalhadores[ n ].getID() ) ).toArray( new Object[ 0 ][] );
- }
- else
- {
- marcacoes = new Object[0][];
- }
- Object ocasionais[][];
- if( ocasionaisPorID.containsKey( trabalhadores[ n ].getID() ) )
- {
- ocasionais = ( Object[][] ) ( ( Vector )ocasionaisPorID.get( trabalhadores[ n ].getID() ) ).toArray( new Object[ 0 ][] );
- }
- else
- {
- ocasionais = new Object[ 0 ][];
- }
- Object agrupadas[][] = agruparMarcacoes( marcacoes, ocasionais );
- acrescentarTrabalhador( empresaId, estabelecimentoId,
- trabalhadores[ n ], null,
- agrupadas, links, desc,
- perfilTemConsultas( trabalhadores[ n ].getID(), new Integer( empresaId ) ),
- perfilTemExames( trabalhadores[ n ].getID(), new Integer( empresaId ) ) );
- }
-
- HashMap hmValues = new HashMap();
- hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
- hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
- hmValues.put( "estabelecimento_nome", nomeEstabelecimento( null, estabelecimentoId ) );
- hmValues.put( "estabelecimento_id", estabelecimentoId );
- hmValues.put( "userRole", userRole );
- hmValues.put( "userName", session.getAttribute( sessionUser ) );
- hmValues.put( msgTemplate , ""+nomeEmpresa(null,empresaId)+"
"
- +nomeEstabelecimento(null, estabelecimentoId)+"" ) ;
- hmValues.put( templateUserRole, userRole);
- hmValues.put( templateQuery, "trabalhadores_pendentes" );
- hmValues.put( templateVector1,links);
- hmValues.put( templateVector2,desc);
- hmValues.put( templateVector3,null);
- if( !print )
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
- }
- else
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserPrintTemplate));
- }
-// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhadores, links, desc, null, super.authenticatedUserTemplate) );
- }
- else // est não pertence à empresa
- {
- out.println( mergeTemplate( super.msgLinkFormatError , userRole, super.errorTemplate) );
- }
- }
- else // Role não permite ver esta informação
- {
- out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
- }
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
- }
- }
-
- protected void preencherMarcacoes( Virtual2DArray array, Hashtable nomesPorID, Hashtable marcacoesPorID )
- {
- int max = array.columnLength();
- for( int index = 0; index < max; index++ )
- {
- Integer id = index < max ? ( Integer ) array.get( index, 0 ) : new Integer( -1 );
- Integer tipo = ( Integer ) array.get( index, 2 );
- String nome = ( String ) array.get( index, 1 );
- java.util.Date data = ( java.util.Date ) array.get( index, 3 );
- Integer estado = ( Integer ) array.get( index, 4 );
- Integer motivo = ( Integer ) array.get( index, 6 );
- if( !marcacoesPorID.containsKey( id ) )
- {
- nomesPorID.put( id, nome );
- marcacoesPorID.put( id, new Vector() );
- }
- if( data != null )
- {
- Object marcacao[] = new Object[]{ data, estado, motivo, tipo };
- ( ( Vector ) marcacoesPorID.get( id ) ).add( marcacao );
- }
- }
- }
-
- protected Object[][] agruparMarcacoes( Object marcacoes[][], Object ocasionais[][] )
- {
- long tresMeses = TRES_MESES;
- java.util.Date dataExame = null;
- Integer estadoExame = null;
- java.util.Date dataConsulta = null;
- Integer motivoConsulta = null;
- Integer estadoConsulta = null;
- Object grupo[] = null;
- Vector grupos = new Vector();
-
- if( marcacoes != null )
- {
- for( int n = 0; n < marcacoes.length; n++ )
- {
- if( grupo == null )
- {
- grupo = new Object[ 5 ];
- dataExame = null;
- estadoExame = null;
- dataConsulta = null;
- motivoConsulta = null;
- estadoConsulta = null;
- grupos.add( grupo );
- }
-
- java.util.Date data = ( java.util.Date ) marcacoes[ n ][ 0 ];
- Integer estado = ( Integer ) marcacoes[ n ][ 1 ];
- Integer motivo = ( Integer ) marcacoes[ n ][ 2 ];
- Integer tipo = ( Integer ) marcacoes[ n ][ 3 ];
- switch( tipo.intValue() )
- {
- case TIPO_MARCACAO_EXAMES:
- if( dataConsulta == null &&
- ( dataExame == null || estadoExame.intValue() < 2 ) )
- {
- dataExame = data;
- estadoExame = estado;
- }
- else if( dataConsulta != null && Math.abs( dataConsulta.getTime() - data.getTime() ) < tresMeses )
- {
- dataExame = data;
- estadoExame = estado;
- }
- else
- {
- grupo = null;
- n--;
- }
- if( grupo != null )
- {
- grupo[ 3 ] = dataExame;
- grupo[ 4 ] = estadoExame;
- }
- break;
-
- case TIPO_MARCACAO_CONSULTA:
- if( dataExame == null || Math.abs( dataExame.getTime() - data.getTime() ) < tresMeses )
- {
- dataConsulta = data;
- estadoConsulta = estado;
- motivoConsulta = motivo;
- }
- else
- {
- grupo = null;
- n--;
- }
- if( grupo != null )
- {
- grupo[ 0 ] = dataConsulta;
- grupo[ 1 ] = estadoConsulta;
- grupo[ 2 ] = motivoConsulta;
- }
- break;
- }
- }
- }
- if( ocasionais != null )
- {
- for( int n = 0; n < ocasionais.length; n++ )
- {
- grupo = new Object[ 5 ];
- for( int i = 0; i < 3; i++ )
- {
- grupo[ i ] = ocasionais[ n ][ i ];
- }
- grupos.add( grupo );
- }
- }
-
- Object agrupadas[][] = ( Object[][] ) grupos.toArray( new Object[ grupos.size() ][] );
- Arrays.sort( agrupadas, new Comparator(){
- public int compare( Object o1, Object o2 )
- {
- Object g1[] = ( Object[] ) o1;
- Object g2[] = ( Object[] ) o2;
- java.util.Date d1 = ( java.util.Date ) ( g1[ 0 ] != null ? g1[ 0 ] : g1[ 3 ] );
- java.util.Date d2 = ( java.util.Date ) ( g2[ 0 ] != null ? g2[ 0 ] : g2[ 3 ] );
- return d2.compareTo( d1 );
- }
- } );
- return agrupadas;
- }
-
- protected void acrescentarTrabalhador( String empresaID, String estabelecimentoID,
- IDObject trabalhador, java.util.Date dataFicha,
- Object marcacoes[][], Vector links, Vector dados,
- boolean perfilConsultas, boolean perfilExames )
- {
- int estado[] = new int[ 2 ];
- int index = 0;
- boolean pendente = false;
- if( marcacoes.length == 0 )
- {
- estado[ 0 ] = perfilConsultas ? ESTADO_PENDENTE : ESTADO_NAO_APLICAVEL;
- estado[ 1 ] = perfilExames ? ESTADO_PENDENTE : ESTADO_NAO_APLICAVEL;
- }
- else
- {
- java.util.Date dataConsulta;
- java.util.Date dataExame;
- index = -1;
- for( ; index + 1 < marcacoes.length; index++ )
- {
- int n = index + 1;
- dataConsulta = ( java.util.Date ) marcacoes[ n ][ 0 ];
- dataExame = ( java.util.Date ) marcacoes[ n ][ 3 ];
- boolean temConsulta = dataConsulta != null;
- boolean consultaAntiga = temConsulta && dataConsulta.before( today );
- boolean temExame = dataExame != null;
- boolean exameAntigo = temExame && dataExame.before( today );
-
- if( ( temConsulta && consultaAntiga && temExame && exameAntigo ) ||
- ( temConsulta && consultaAntiga && !temExame && !exameAntigo ) ||
- ( !temConsulta && !consultaAntiga && temExame && exameAntigo ) )
- {
- break;
- }
- }
- if( index == -1 )
- {
- index = 0;
- }
-// else if( index < marcacoes.length - 1 )
-// {
-// index = 0;
-// }
- for( ; index < marcacoes.length; index++ )
- {
- dataConsulta = ( java.util.Date ) marcacoes[ index ][ 0 ];
- dataExame = ( java.util.Date ) marcacoes[ index ][ 3 ];
- boolean temConsulta = dataConsulta != null;
- long diffConsulta = temConsulta ? dataConsulta.getTime() - today.getTime() : 0;
- boolean temExame = dataExame != null;
- long diffExame = temExame ? dataExame.getTime() - today.getTime() : 0;
- if( ( temConsulta && diffConsulta < CATORZE_DIAS ) || ( temExame && diffExame < CATORZE_DIAS ) )
- {
- break;
- }
- }
- if( index >= marcacoes.length )
- {
- index = marcacoes.length - 1;
- }
- else
- {
- if( marcacoes.length > 1 )
- {
- dataConsulta = ( java.util.Date ) marcacoes[ index ][ 0 ];
- dataExame = ( java.util.Date ) marcacoes[ index ][ 3 ];
- Calendar calToday = Calendar.getInstance();
- calToday.setTime( today );
- calToday.add( Calendar.YEAR, -2 );
- if( ( dataConsulta != null && dataConsulta.before( calToday.getTime() ) )
- || ( dataConsulta == null && dataExame != null && dataExame.before( calToday.getTime() ) ) )
- {
- if( index > 0 )
- {
- index--;
- }
- else
- {
- pendente = true;
- }
- }
- }
- }
- dataConsulta = ( java.util.Date ) marcacoes[ index ][ 0 ];
- Integer estadoConsulta = ( Integer ) marcacoes[ index ][ 1 ];
- Integer motivoConsulta = ( Integer ) marcacoes[ index ][ 2 ];
- dataExame = ( java.util.Date ) marcacoes[ index ][ 3 ];
- Integer estadoExame = ( Integer ) marcacoes[ index ][ 4 ];
- if( perfilConsultas )
- {
- if( dataConsulta == null || pendente )
- {
- estado[ 0 ] = ESTADO_PENDENTE;
- }
- else if( estadoConsulta == null || estadoConsulta.intValue() != 2 )
- {
- estado[ 0 ] = ESTADO_MARCADO;
- }
- else
- {
- estado[ 0 ] = ESTADO_TRATADO;
- }
- }
- else
- {
- estado[ 0 ] = ESTADO_NAO_APLICAVEL;
- }
- if( perfilExames )
- {
- if( dataExame == null || pendente )
- {
- if( motivoConsulta != null && motivoConsulta.intValue() != MOTIVO_OCASIONAL )
- {
- estado[ 1 ] = ESTADO_PENDENTE;
- }
- else
- {
- estado[ 1 ] = ESTADO_NAO_APLICAVEL;
- }
- }
- else if( estadoExame == null || estadoExame.intValue() != 2 )
- {
- estado[ 1 ] = ESTADO_MARCADO;
- }
- else
- {
- estado[ 1 ] = ESTADO_TRATADO;
- }
- }
- else
- {
- estado[ 1 ] = ESTADO_NAO_APLICAVEL;
- }
- }
- if( estado[ 0 ] == 1 || estado[ 0 ] == 2 ||
- estado[ 1 ] == 1 || estado[ 1 ] == 2 )
- {
- links.add( "/"+servletName+"/?"+empresaID+"/"+estabelecimentoID+"/"+trabalhador.getID() );
- HashMap dadosTrabalhador = new HashMap();
- dadosTrabalhador.put( "Nome", trabalhador.toString() );
- dadosTrabalhador.put( "Consulta", CORES_ESTADOS.get( new Integer( estado[ 0 ] ) ) );
- Object text = TEXTOS_ESTADOS.get( new Integer( estado[ 0 ] ) );
- dadosTrabalhador.put( "Consulta_estado", text != null ? text : marcacoes[ index ][ 0 ] );
- dadosTrabalhador.put( "Exame", CORES_ESTADOS.get( new Integer( estado[ 1 ] ) ) );
- text = TEXTOS_ESTADOS.get( new Integer( estado[ 1 ] ) );
- dadosTrabalhador.put( "Exame_estado", text != null ? text : marcacoes[ index ][ 3 ] );
- dados.add( dadosTrabalhador );
- }
- }
-
- protected boolean perfilTemConsultas( Integer trabalhadorID, Integer empresaID )
- throws Exception
- {
- Executer executer = getExecuter();
- String query = "SELECT a_consultas, b_consultas FROM empresas WHERE id = " + empresaID;
- Virtual2DArray array = executer.executeQuery( new Select( query ) );
- boolean consultas[] = new boolean[]{ "y".equals( array.get( 0, 0 ) ), "n".equals( array.get( 0, 0 ) ) };
- query = "SELECT perfil FROM trabalhadores WHERE id = " + trabalhadorID;
- array = executer.executeQuery( new Select( query ) );
- Integer perfil = ( Integer )array.get( 0, 0 );
- if( perfil != null )
- {
- return consultas[ perfil.intValue() - 1 ];
- }
- else
- {
- return false;
- }
- }
-
- protected boolean perfilTemExames( Integer trabalhadorID, Integer empresaID )
- throws Exception
- {
- Executer executer = getExecuter();
- String query = "SELECT a_exames, b_exames FROM empresas WHERE id = " + empresaID;
- Virtual2DArray array = executer.executeQuery( new Select( query ) );
- boolean consultas[] = new boolean[]{ "y".equals( array.get( 0, 0 ) ), "n".equals( array.get( 0, 0 ) ) };
- query = "SELECT perfil FROM trabalhadores WHERE id = " + trabalhadorID;
- array = executer.executeQuery( new Select( query ) );
- Integer perfil = ( Integer )array.get( 0, 0 );
- if( perfil != null )
- {
- return consultas[ perfil.intValue() - 1 ];
- }
- else
- {
- return false;
- }
- }
-
-// protected boolean verificarTrabalhador( Object consultas[][], Object exames[][] )
-// {
-// boolean estadoConsultas = false;
-// boolean estadoExames = ( exames.length == 0 ) || ( ( java.util.Date )exames[ 0 ][ 0 ] ).before(today) ||
-// ( ( ( ( java.util.Date )exames[ 0 ][ 0 ] ).getTime() - todayMillis ) / 86400000 > 14 );
-// if( consultas.length > 0 )
-// {
-// int anterior;
-// int proxima;
-// if( ( (java.util.Date) consultas[ 0 ][ 0 ] ).after( today ) )
-// {
-// proxima = 0;
-// if( consultas.length >= 2 )
-// {
-// anterior = 1;
-// }
-// else
-// {
-// anterior = -1;
-// }
-// }
-// else
-// {
-// proxima = -1;
-// anterior = 0;
-// }
-// estadoConsultas = anterior >= 0 && "y".equals( consultas[ anterior ][ 1 ] ) &&
-// ( proxima == -1 || ( ( ( java.util.Date )consultas[ proxima ][ 0 ] ).getTime() - todayMillis ) / 86400000 > 14 );
-// }
-// return !(estadoConsultas && estadoExames);
-// }
-
-// protected HashMap criarDadosTrabalhador( Integer id, String nome,
-// Object consultas[][], Object exames[][] )
-// throws Exception
-// {
-//// dbQuery.append( "SELECT id, nome, ( ultima_consulta IS NOT NULL AND realizada = 'y' ),"
-//// + " ( ultimo_exame IS NOT NULL AND realizado = 'y' ),"
-//// + " proxima_consulta IS NOT NULL, proximo_exame IS NOT NULL, "
-//// + " ( proxima_consulta IS NOT NULL AND proxima_consulta - current_date <= 14 ), "
-//// + " ( proximo_exame IS NOT NULL AND proximo_exame - current_date <= 14 )"
-//// + " FROM trabalhadores "
-//// + " WHERE estabelecimento_id = '"+estabelecimentoId+"'"
-//// + " AND ( ultima_consulta IS NULL OR realizada = 'n' OR"
-//// + " ( proxima_consulta IS NOT NULL AND proxima_consulta - current_date <= 14 )"
-//// + " OR ( proximo_exame IS NOT NULL AND proximo_exame - current_date <= 14 ) )"
-//// + " ORDER BY nome" );
-// HashMap trabalhador = new HashMap();
-// trabalhador.put( "Nome", nome );
-// boolean uc = false;
-// boolean ue = false;
-// boolean pc = false;
-// boolean pe = false;
-// boolean quase_c = false;
-// boolean quase_e = false;
-// java.util.Date consultaAnterior = null;
-// java.util.Date exameAnterior = null;
-// if( consultas.length > 0 )
-// {
-// int anterior;
-// int proxima;
-// if( ( (java.util.Date) consultas[ 0 ][ 0 ] ).after( today ) )
-// {
-// proxima = 0;
-// if( consultas.length >= 2 )
-// {
-// anterior = 1;
-// }
-// else
-// {
-// anterior = -1;
-// }
-// }
-// else
-// {
-// proxima = -1;
-// anterior = 0;
-// }
-// long diff = proxima > -1 ? ( ( ( java.util.Date )consultas[ proxima ][ 0 ] ).getTime() - todayMillis ) / 86400000 : 15;
-// uc = anterior > -1 && "y".equals( consultas[ anterior ][ 1 ] );
-// if( uc )
-// {
-// consultaAnterior = ( java.util.Date ) consultas[ anterior ][ 0 ];
-// }
-// pc = proxima > -1;
-// quase_c = pc && diff <= 14;
-// }
-//
-// if( exames.length > 0 )
-// {
-// int anterior;
-// int proximo;
-// if( ( (java.util.Date) exames[ 0 ][ 0 ] ).after( today ) )
-// {
-// proximo = 0;
-// if( exames.length >= 2 )
-// {
-// anterior = 1;
-// }
-// else
-// {
-// anterior = -1;
-// }
-// }
-// else
-// {
-// proximo = -1;
-// anterior = 0;
-// }
-// long diff = proximo > -1 ? ( ( ( java.util.Date )exames[ proximo ][ 0 ] ).getTime() - todayMillis ) / 86400000 : 15;
-// ue = anterior > -1 && "y".equals( exames[ anterior ][ 1 ] );
-// if( ue )
-// {
-// exameAnterior = ( java.util.Date ) exames[ anterior ][ 0 ];
-// }
-// pe = proximo > -1;
-// quase_e = pe && diff <= 14;
-// }
-//
-// if( quase_c )
-// {
-// trabalhador.put( "Consulta", "yellow" );
-// trabalhador.put( "Consulta_estado", "pendente" );
-// }
-// else if( uc )
-// {
-// trabalhador.put( "Consulta", "green" );
-// trabalhador.put( "Consulta_estado", consultaAnterior );
-// }
-// else if( pc )
-// {
-// trabalhador.put( "Consulta", "yellow" );
-// trabalhador.put( "Consulta_estado", "pendente" );
-// }
-// else
-// {
-// trabalhador.put( "Consulta", "red" );
-// trabalhador.put( "Consulta_estado", "pendente" );
-// }
-//
-// if( quase_e )
-// {
-// trabalhador.put( "Exame", "yellow" );
-// trabalhador.put( "Exame_estado", "pendente" );
-// }
-// else if( ue )
-// {
-// trabalhador.put( "Exame", "green" );
-// trabalhador.put( "Exame_estado", exameAnterior );
-// }
-// else if( pe )
-// {
-// trabalhador.put( "Exame", "yellow" );
-// trabalhador.put( "Exame_estado", "pendente" );
-// }
-// else
-// {
-// trabalhador.put( "Exame", "red" );
-// trabalhador.put( "Exame_estado", "pendente" );
-// }
-// return trabalhador;
-// }
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresTudo.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresTudo.java
deleted file mode 100644
index 2a6d5d28..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetListaTrabalhadoresTudo.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * doGetListaTrabalhadoresTudo.java
- *
- * Created on 21 de Abril de 2005, 17:35
- */
-
-package siprp.pagina;
-
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.db.*;
-import com.evolute.utils.sql.*;
-import com.evolute.utils.strings.*;
-/**
- *
- * @author fpalma
- */
-public class doGetListaTrabalhadoresTudo
- extends siprpServlet
- implements GlobalConstants
-{
- protected java.util.Date today;
- protected long todayMillis;
-
- /** Creates a new instance of doGetListaTrabalhadores */
- public doGetListaTrabalhadoresTudo(HttpServletRequest req, HttpServletResponse res, boolean print) throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery, sBuffer;
- String userRole, empresaId, estabelecimentoId, temp;
- HttpSession session = req.getSession(false);
- Vector links = new Vector();
- Vector desc = new Vector();
- Vector descAdicional = new Vector();
- today = new java.util.Date();
- todayMillis = today.getTime();
-
- try
- {
- userRole = (String)session.getAttribute(super.sessionUserRole);
- empresaId = (String)session.getAttribute(super.sessionEmpresaId);
- estabelecimentoId = (String)session.getAttribute(super.sessionEstabelecimentoId);
-
- if ( userRole.equals ( super.superUserRole ) || userRole.equals ( empresaId ) )
- {
- Class.forName(super.bdDriver);
- con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
- if ( super.verificaEstabelecimento(con, empresaId, estabelecimentoId) ) // estabelecimento pertence à empresa ??
- {
- //Class.forName(super.bdDriver);
- //con = DriverManager.getConnection( super.bdUrl, super.bdUsername, super.bdPassword );
- dbQuery = new StringBuffer();
-// dbQuery.append( "SELECT id, nome, data_ficha FROM trabalhadores "
-// + "WHERE estabelecimento_id = '"+estabelecimentoId+"'"
-// + " AND ultima_consulta IS NOT NULL AND realizada = 'y' AND"
-// + " ( proxima_consulta IS NULL OR proxima_consulta - current_date > 14 )"
-// + " AND ( proximo_exame IS NULL OR proximo_exame - current_date > 14 )"
-// + " ORDER BY nome" );
- dbQuery.append( "SELECT trabalhadores.id, trabalhadores.nome, "
- + "marcacoes_trabalhador.tipo, marcacoes_trabalhador.data, marcacoes_trabalhador.estado, "
- + " trabalhadores.nome_plain "
- + "FROM trabalhadores, marcacoes_trabalhador "
- + "WHERE estabelecimento_id = " + estabelecimentoId
- + " AND marcacoes_trabalhador.trabalhador_id = trabalhadores.id "
- + " AND trabalhadores.inactivo <> 'y' AND data_demissao IS NULL "
- + "ORDER BY 6, 3, 4 DESC " );
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
- int index=0;
- int max = rs.columnLength();
-
- Integer trabalhadorID = new Integer( -1 );
- String nomeTrabalhador = "";
- Vector consultas = new Vector();
- Vector exames = new Vector();
-
- for ( index = 0; index <= max; index++ )
- {
- Integer id = index < max ? ( Integer ) rs.get( index, 0 ) : new Integer( -1 );
- if( !id.equals( trabalhadorID ) )
- {
- Object listaConsultas[][] = ( Object[][] ) consultas.toArray( new Object[consultas.size()][2] );
- Object listaExames[][] = ( Object[][] ) exames.toArray( new Object[exames.size()][2] );
- if( trabalhadorID.intValue() > -1 &&
- verificarTrabalhador( listaConsultas, listaExames ) )
- {
- temp=""+rs.get(index - 1,0); // converter de int para String
- java.util.Date dataUltimaConsulta = null;
- for( int c = 0; c < listaConsultas.length; c++ )
- {
- if( new Integer( 2 ).equals( listaConsultas[ c ][ 1 ] ) )
- {
- dataUltimaConsulta = ( java.util.Date ) listaConsultas[ c ][ 0 ];
- break;
- }
- }
- HashMap dadosTrabalhador = criarDadosTrabalhador( trabalhadorID, nomeTrabalhador, dataUltimaConsulta );
- if( dadosTrabalhador != null )
- {
- dbQuery = new StringBuffer();
- dbQuery.append("/"+super.servletName+"/?"+empresaId+"/"+estabelecimentoId+"/"+temp); // construir url
- links.add(dbQuery.toString());
- desc.add( dadosTrabalhador );
- }
- }
- exames.clear();
- consultas.clear();
- }
- if( index == max )
- {
- break;
- }
- Integer tipo = ( Integer ) rs.get( index, 2 );
- String nome = ( String ) rs.get( index, 1 );
- java.util.Date data = ( java.util.Date ) rs.get( index, 3 );
- Integer estado = ( Integer ) rs.get( index, 4 );
- trabalhadorID = id;
- nomeTrabalhador = nome;
- Object marcacao[] = new Object[]{ data, estado };
- switch( tipo.intValue() )
- {
- case TIPO_MARCACAO_EXAMES:
- exames.add( marcacao );
- break;
-
- case TIPO_MARCACAO_CONSULTA:
- consultas.add( marcacao );
- break;
- }
- }
- stmt.close();
-
- sBuffer = new StringBuffer();
- sBuffer.append(""+super.nomeEmpresa(con,empresaId)+"
"
- +super.nomeEstabelecimento(con, estabelecimentoId)+"" );
-
- HashMap hmValues = new HashMap();
- hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
- hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
- hmValues.put( "estabelecimento_nome", super.nomeEstabelecimento( con, estabelecimentoId ) );
- hmValues.put( "estabelecimento_id", estabelecimentoId );
- hmValues.put( "userRole", userRole );
- hmValues.put( "userName", session.getAttribute( sessionUser ) );
- hmValues.put( msgTemplate , sBuffer.toString() ) ;
- hmValues.put( templateUserRole, userRole);
- hmValues.put( templateQuery, "trabalhadores_tudo" );
- hmValues.put( templateVector1,links);
- hmValues.put( templateVector2,desc);
- hmValues.put( templateVector3,null);
- if( !print )
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
- }
- else
- {
- out.println( mergeTemplate( hmValues, super.authenticatedUserPrintTemplate));
- }
-// out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhadores, links, desc, null, super.authenticatedUserTemplate) );
- }
- else // est não pertence à empresa
- {
- out.println( mergeTemplate( super.msgLinkFormatError , userRole, super.errorTemplate) );
- }
- con.close();
- }
- else // Role não permite ver esta informação
- {
- out.println( mergeTemplate( super.msgAcessoNegado , userRole, super.errorTemplate) );
- }
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
- }
- }
-
- protected boolean verificarTrabalhador( Object consultas[][], Object exames[][] )
- {
- boolean estadoConsultas = false;
- boolean estadoExames = ( exames.length == 0 ) || ( ( java.util.Date )exames[ 0 ][ 0 ] ).before(today) ||
- ( ( ( ( java.util.Date )exames[ 0 ][ 0 ] ).getTime() - todayMillis ) / 86400000 > 14 );
- if( consultas.length > 0 )
- {
- int anterior;
- int proxima;
- if( ( (java.util.Date) consultas[ 0 ][ 0 ] ).after( today ) )
- {
- proxima = 0;
- if( consultas.length >= 2 )
- {
- anterior = 1;
- }
- else
- {
- anterior = -1;
- }
- }
- else
- {
- proxima = -1;
- anterior = 0;
- }
- estadoConsultas = anterior >= 0 && new Integer( 2 ).equals( consultas[ anterior ][ 1 ] ) &&
- ( proxima == -1 || ( ( ( java.util.Date )consultas[ proxima ][ 0 ] ).getTime() - todayMillis ) / 86400000 > 14 );
- }
- return estadoConsultas && estadoExames;
- }
-
- protected HashMap criarDadosTrabalhador( Integer id, String nome, java.util.Date ultimaConsulta )
- throws Exception
- {
- Executer executer = getExecuter();
- HashMap trabalhador = new HashMap();
- trabalhador.put( "Nome", nome );
- Select select =
- new Select( new String[]{ "exames" }, new String[]{ "data" },
- new Field( "trabalhador_id" ).isEqual( id ).and(
- new Field( "data" ).isGreaterOrEqual( ultimaConsulta ) ),
- new String[]{ "data" }, null );
-
-// Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
-// ResultSet2DArray rs = new ResultSet2DArray( stmt.executeQuery( select.toString() ) );
- Virtual2DArray rs = executer.executeQuery( select );
- Object data_ficha = rs.columnLength() > 0 ? rs.get( 0, 0 ) : null;
-// stmt.close();
- if( data_ficha == null )
- {
- return null;
-// data_ficha = "";
- }
- trabalhador.put( "Data", data_ficha );
- return trabalhador;
- }
-}
-
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java
deleted file mode 100644
index 267421e7..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doGetTrabalhador.java
+++ /dev/null
@@ -1,324 +0,0 @@
-package siprp.pagina;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.strings.*;
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-public class doGetTrabalhador extends siprpServlet
-{
-
- /** Creates a new instance of doGetTrabalhador */
- public doGetTrabalhador(HttpServletRequest req, HttpServletResponse res) throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery, sBuffer;
- String userRole, empresaId, estabelecimentoId, trabalhadorId, temp;
- HttpSession session = req.getSession(false);
- Vector names = new Vector();
- Vector values = new Vector();
- java.util.Date today = new java.util.Date();
-
- try
- {
- userRole = (String)session.getAttribute(super.sessionUserRole);
- empresaId = (String)session.getAttribute(super.sessionEmpresaId);
- estabelecimentoId = (String)session.getAttribute(super.sessionEstabelecimentoId);
- trabalhadorId = (String)session.getAttribute(super.sessionTrabalhadorId);
-
- Class.forName(super.bdDriver);
- con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword );
-
- if ( ( userRole.equals ( super.superUserRole ) || userRole.equals ( empresaId ) )
- && super.verificaEstabelecimento(con, empresaId, estabelecimentoId)
- && super.verificaTrabalhador(con, estabelecimentoId, trabalhadorId) )
- {
-
- dbQuery = new StringBuffer();
- dbQuery.append( " SELECT sexo, categoria, data_nascimento, nome, numero_mecanografico "
- + "FROM trabalhadores where id='"+trabalhadorId+"'");
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
- // int index=0;
- // int max = super.trabalhadorDescFields.length;
-
- HashMap hmFuncionario = new HashMap();
- if( rs.columnLength() > 0 )
- {
- String tmp;
- hmFuncionario.put( "sexo", rs.get( 0, "sexo" ) );
- hmFuncionario.put( "categoria", rs.get( 0, "categoria" ) );
- hmFuncionario.put( "data_nascimento", rs.get( 0, "data_nascimento" ) );
- hmFuncionario.put( "nome", rs.get( 0, "nome" ) );
- hmFuncionario.put( "numero", rs.get( 0, "numero_mecanografico" ) );
- stmt.close();
-
- String query = "SELECT id, data, estado, data_relatorio FROM marcacoes_trabalhador "
- + "WHERE tipo = 0 and trabalhador_id = " + trabalhadorId
- + " ORDER BY data DESC";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- if( rs.columnLength() > 0 )
- {
- java.util.Date dataExame2 = ( java.util.Date ) rs.get( 0, 1 );
- Integer estado1;
- Integer estado2 = ( Integer ) rs.get( 0, 2 );
- java.util.Date dataExame1;
- String realizado1 = "";
- String realizado2 = "";
- if( rs.columnLength() > 1 )
- {
- dataExame1 = ( java.util.Date ) rs.get( 1, 1 );
- estado1 = ( Integer ) rs.get( 1, 2 );
- }
- else
- {
- dataExame1 = dataExame2;
- estado1 = estado2;
- }
- if( ESTADO_REALIZADO.equals( estado2 ) || ESTADO_PARCIALMENTE_REALIZADO.equals( estado2 )
- || today.after( dataExame2 ) )
- {
- hmFuncionario.put( "ultimo_exame", dataExame2 );
- if( estado2.equals( ESTADO_REALIZADO ) || estado2.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
- {
- realizado2 = "sim";
- }
- else
- {
- realizado2 = "não";
- }
- hmFuncionario.put( "realizado", realizado2 );
- hmFuncionario.put( "proximo_exame", null );
- }
- else
- {
- hmFuncionario.put( "proximo_exame", dataExame2 );
- if( !dataExame2.equals( dataExame1 ) )
- {
- hmFuncionario.put( "ultimo_exame", dataExame1 );
- if( estado1.equals( ESTADO_REALIZADO ) || estado1.equals( ESTADO_PARCIALMENTE_REALIZADO ) )
- {
- realizado1 = "sim";
- }
- else
- {
- realizado1 = "não";
- }
- hmFuncionario.put( "realizado", realizado1 );
- }
- else
- {
- hmFuncionario.put( "ultimo_exame", null );
- hmFuncionario.put( "realizado", null );
- }
- }
- }
- else
- {
- hmFuncionario.put( "ultimo_exame", null );
- hmFuncionario.put( "realizado", null );
- hmFuncionario.put( "proximo_exame", null );
- }
- stmt.close();
-
- query = "SELECT MAX(id) FROM exames WHERE trabalhador_id = " + trabalhadorId + " AND inactivo <> 'y'";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- Integer fichaId = null;
- if( rs.columnLength() > 0 )
- {
- fichaId = ( Integer ) rs.get( 0, 0 );
- }
- stmt.close();
-
- if( fichaId != null )
- {
- query = "SELECT data, resultado FROM exames WHERE id = " + fichaId;
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- Integer resultadoFicha = (Integer) rs.get( 0, 1 );
- stmt.close();
- if( resultadoFicha != null )
- {
- switch( resultadoFicha.intValue() )
- {
- case 1:
- hmFuncionario.put( "resultado", "Apto" );
- break;
- case 2:
- hmFuncionario.put( "resultado", "Apto Condicionalmente" );
- break;
- case 3:
- hmFuncionario.put( "resultado", "Inapto Temporariamente" );
- break;
- case 4:
- hmFuncionario.put( "resultado", "Inapto Definitivamente" );
- break;
- default:
- hmFuncionario.put( "resultado", null );
- }
- }
- else
- {
- hmFuncionario.put( "resultado", null );
- }
- }
- else
- {
- hmFuncionario.put( "resultado", null );
- }
-
- query = "SELECT id, data, estado FROM marcacoes_trabalhador "
- + "WHERE tipo = 1 and trabalhador_id = " + trabalhadorId
- + " ORDER BY data DESC";
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- if( rs.columnLength() > 0 )
- {
- java.util.Date dataConsulta2 = ( java.util.Date ) rs.get( 0, 1 );
- Integer estado1;
- Integer estado2 = ( Integer ) rs.get( 0, 2 );
- java.util.Date dataConsulta1;
-// java.util.Date dataRelatorio1;
-// java.util.Date dataRelatorio2 = (java.util.Date) rs.get( 0, 3 );
- String realizada1 = "";
- String realizada2 = "";
- if( rs.columnLength() >= 2 )
- {
- dataConsulta1 = ( java.util.Date ) rs.get( 1, 1 );
- estado1 = ( Integer ) rs.get( 1, 2 );
-// dataRelatorio1 = (java.util.Date) rs.get( 1, 3 );
- }
- else
- {
- dataConsulta1 = dataConsulta2;
- estado1 = estado2;
-// dataRelatorio1 = dataRelatorio2;
- }
- if( ESTADO_REALIZADO.equals( estado2 ) || today.after( dataConsulta2 ) )
- {
- hmFuncionario.put( "ultima_consulta", dataConsulta2 );
- if( estado2.equals( ESTADO_REALIZADO ) )
- {
- realizada2 = "sim";
- }
- else
- {
- realizada2 = "não";
- }
- hmFuncionario.put( "realizada", realizada2 );
- hmFuncionario.put( "proxima_consulta", null );
- }
- else
- {
- try
- {
- for( int c = 1; c < rs.columnLength(); c++ )
- {
- java.util.Date dataTemp = ( java.util.Date ) rs.get( c, 1 );
- dataConsulta1 = dataTemp;
- estado1 = ( Integer ) rs.get( c, 2 );
- if( dataTemp.after( today ) )
- {
- dataConsulta2 = dataTemp;
- }
- else
- {
- break;
- }
- }
- }
- catch( Exception ex )
- {
- ex.printStackTrace();
- }
- hmFuncionario.put( "proxima_consulta", dataConsulta2 );
- if( !dataConsulta2.equals( dataConsulta1 ) )
- {
- if( estado1.equals( ESTADO_REALIZADO ) )
- {
- realizada1 = "sim";
- }
- else
- {
- realizada1 = "não";
- }
- hmFuncionario.put( "realizada", realizada1 );
- hmFuncionario.put( "ultima_consulta", dataConsulta1 );
- }
- else
- {
- hmFuncionario.put( "ultima_consulta", null );
- hmFuncionario.put( "realizada", null );
- }
- }
- }
- else
- {
- hmFuncionario.put( "ultima_consulta", null );
- hmFuncionario.put( "realizada", null );
- hmFuncionario.put( "proxima_consulta", null );
- }
- stmt.close();
- }
-
- sBuffer = new StringBuffer();
- sBuffer.append(""+super.nomeEmpresa(con,empresaId)+"
"
- +super.nomeEstabelecimento(con, estabelecimentoId)+"" );
-
- HashMap hmValues = new HashMap();
- hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
- hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
- hmValues.put( "estabelecimento_nome", super.nomeEstabelecimento( con, estabelecimentoId ) );
-
- /*Dados para marcacao de consulta/exame*/
- session.setAttribute( "session_estabelecimento_nome", hmValues.get( "estabelecimento_nome" ) );
- session.setAttribute( "session_funcionario_nome", hmFuncionario.get( "nome" ) );
- session.setAttribute( "session_funcionario_numero", hmFuncionario.get( "numero" ) );
-
- hmValues.put( "estabelecimento_id", estabelecimentoId );
- hmValues.put( "userRole", userRole );
- hmValues.put( "userName", session.getAttribute( sessionUser ) );
- hmValues.put( msgTemplate , sBuffer.toString() ) ;
- hmValues.put( templateUserRole, userRole);
- hmValues.put( templateQuery, super.queryStringTrabalhador );
- hmValues.put( "funcionario", hmFuncionario );
- //hmValues.put( templateVector1,names);
- //hmValues.put( templateVector2,values);
- //hmValues.put( templateVector3,null);
- out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
-
- // out.println( mergeTemplate( sBuffer.toString(), userRole, super.queryStringTrabalhador, names, values, null, super.authenticatedUserTemplate) );
-
- }
- else
- {
- out.println( mergeTemplate( super.msgLinkFormatError , userRole, super.errorTemplate) );
- }
- con.close();
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgErroBd , super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( super.msgGenericError , super.errorTemplate) );
- }
-
- }
-
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/doPostLogin.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/doPostLogin.java
deleted file mode 100644
index e9c41eec..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/doPostLogin.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package siprp.pagina;
-
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.strings.*;
-import java.io.*;
-import java.util.*;
-import java.sql.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-public class doPostLogin extends siprpServlet
-{
-
- /** Creates a new instance of doPostLogin */
- public doPostLogin(HttpServletRequest req, HttpServletResponse res) throws IOException
- {
-System.out.println( "doPostLogin()" );
- ServletOutputStream out = res.getOutputStream();
- StringBuffer dbQuery;
- ResultSet2DArray rs;
- Connection con = null ;
- Statement stmt = null ;
- String user, userRole, password;
-
- try
- {
- user = req.getParameter("user");
- password = req.getParameter("password");
-
- if (user.equals(""))
- {
- out.println( mergeTemplate( msgErroNoUser, errorTemplate) );
- }
- else
- {
- Class.forName(bdDriver);
- con = DriverManager.getConnection( bdUrl, bdUsername, bdPassword );
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT password FROM users WHERE username = '"+user+"'");
-
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
-
-
- if ( rs.columnLength() > 0 && password.equals((String)rs.get(0,0)))
- {
- // Obter Role
-
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT role FROM roles WHERE username = '"+user+"'");
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
-
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
- userRole = (String)rs.get(0,0);
-
- // UPDATE HTTP SESSION
- HttpSession session = req.getSession(true);
- session.setMaxInactiveInterval(sessionTimeout);
-
- session.setAttribute(sessionUser, user);
- session.setAttribute(sessionUserRole, userRole);
- session.setAttribute(sessionPassword, password);
-
- HashMap hmValues = new HashMap();
- session.setAttribute( sessionEmpresaId, userRole );
- if( userRole.equals( "manager" ) )
- {
- // session.setAttribute( sessionCompanyName, nomeEmpresa( con, "" + session.getAttribute( sessionEmpresaId ) ) );
- session.setAttribute( sessionCompanyName, null );
- session.setAttribute( sessionEstabelecimentoId, null );
- //hmValues.put( templateQuery, super.queryStringEmpresas );
- new doGetListaEmpresas( req, res );
- }
- else
- {
- session.setAttribute( sessionCompanyName,
- nomeEmpresa( DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword ),
- userRole ) );
- session.setAttribute( sessionEstabelecimentoId, "-1" );
- //hmValues.put( templateQuery, super.queryStringEstabelecimentos );
- new doGetListaEstabelecimentos( req, res );
- }
- stmt.close();
- con.close();
-
- hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) );
- hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) );
- hmValues.put( "estabelecimento_id", session.getAttribute( sessionEstabelecimentoId ) );
- hmValues.put( "userRole", userRole );
- hmValues.put( "userName", user );
- //out.println( mergeTemplate( hmValues, super.authenticatedUserTemplate));
-
- //out.println( mergeTemplate( user, userRole, super.authenticatedUserTemplate));
- }
- else
- {
- out.println( mergeTemplate( msgErroAuthFail, super.errorTemplate) );
- }
- }
-
- }
- catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( msgErroBd , super.errorTemplate) );
- }
- catch ( IllegalStateException e ) // session timeout
- {
- e.printStackTrace();
- out.println( mergeTemplate(msgSessionTimeout, super.errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( msgGenericError , super.errorTemplate) );
- }
- }
-
-}
diff --git a/trunk/web/src/WEB-INF/classes/siprp/pagina/siprpServlet.java b/trunk/web/src/WEB-INF/classes/siprp/pagina/siprpServlet.java
deleted file mode 100644
index 3ca42675..00000000
--- a/trunk/web/src/WEB-INF/classes/siprp/pagina/siprpServlet.java
+++ /dev/null
@@ -1,648 +0,0 @@
-package siprp.pagina;
-
-import java.io.*;
-import java.lang.reflect.Array;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import java.sql.*;
-import java.util.*;
-
-import org.apache.velocity.*;
-import org.apache.velocity.app.*;
-
-import com.evolute.utils.*;
-import com.evolute.utils.arrays.*;
-import com.evolute.utils.db.*;
-import com.evolute.utils.sql.*;
-import com.evolute.utils.strings.*;
-
-public class siprpServlet extends HttpServlet
- implements GlobalConstants
-{
- // MSG
- public static final String msgErroNoUser = "Tem+de+especificar+um+utilizador.";
- public static final String msgErroAuthFail = "Utilizador+inexistente+e/ou+Password+errada.";
- public static final String msgErroBd = "Erro+na+ligaç&atiolde;o+à+base+de+dados.";
- public static final String msgGenericError = "Erro";
- public static final String msgListaEmpresas = "Empresas";
- public static final String msgAcessoNegado = "Acesso+Negado.";
- public static final String msgLinkFormatError ="URL+inválido.";
- public static final String msgLogin = "Login";
- public static final String msgNovaPasswordErrada="Erro+ao+criar+a+nova+password,+nova+password+inválida.";
- public static final String msgButtonNotSuported = "funcionalidade+ainda+não+suportada.";
- public static final String msgSessionTimeout = "Por+razões+de+segurança+o+tempo+da+sua+sessão+expirou
"
- + "Por+favor+efectue+novamente+o+seu+login.
";
-
- // Templates - Nomes e valores
- //public static final String loginTemplate = "login.html";
-
- public static final String indexTemplate = "index.html";
- public static final String authenticatedUserTemplate = "user.html";
- public static final String authenticatedUserPrintTemplate = "user_print.html";
- public static final String errorTemplate = "frame_erro.html";
- public static final String innerErrorTemplate = "erro.html";
-
- public static final String mainTemplate = "main.html";
- //public static final String criticalErrorTemplate = "critical.html";
- public static final String templateVector1 ="v1";
- public static final String templateVector2 ="v2";
- public static final String templateVector3 ="v3";
- public static final String templateUserRole ="userRole";
- public static final String msgTemplate ="msg";
- public static final String templateQuery ="query";
- public static final String buttonPressedTemplate ="buttonPressed";
-
- // Query Strings , usadas para na template do velocity saber o que mostar
- public static final String queryStringErro = "erro";
- public static final String queryStringEmpresas = "empresas";
- public static final String queryStringEstabelecimentos="estabelecimentos";
- public static final String queryStringTrabalhadores ="trabalhadores";
- public static final String queryStringTrabalhador ="trabalhador";
-
- //Botoes, saber qual o botao escholido, campo value dos forms
- public static final String botaoLogin = "Entrar";
- public static final String botaoMarcarProximoExame = "Marcar Exame";
-
- // Var da Session
- public static final String sessionUser="user";
- public static final String sessionUserRole="userRole";
- public static final String sessionPassword="password";
- public static final String sessionEmpresaId="empresaId";
- public static final String sessionEstabelecimentoId="estabelecimentoId";
- public static final String sessionTrabalhadorId="trabalhadorId";
- public static final String sessionCompanyName = "sessionCompanyName";
- public static final String sessionCompanyEmail = "sessionCompanyEmail";
- public static final int sessionTimeout = 3600; // segundos
-
- public static final String servletName="siprpWeb";
- public static final String superUserRole="manager";
-
-// // BD
-// public static final String bdHost = "127.0.0.1";
-// public static final String bdPort = "5436";
-// public static final String bdUsername = "siprp";
-// public static final String bdPassword = "";
-// public static final String bdDriver = "org.postgresql.Driver";
-// public static final String bdUrl = "jdbc:postgresql://" + bdHost + ":" + bdPort + "/siprp";
-
- public static final String bdEmpresaIdRef = "id"; // campo que contem id da empresa
- public static final String bdEmpresaNomeRef = "designacao_social"; // campo que contem nome da empresa
- public static final String bdEstIdRef = "id"; // campo que contem nome do estabelecimento
- public static final String bdEstNomeRef = "nome"; // campo que contem nome do estabelecimento
- public static final String bdTrabIdRef = "id"; // campo que contem id do trabalhador
- public static final String bdTrabNomeRef = "nome"; // campo que contem nome do trabalhador
- public static final String bdNullString = ""; // String a mostrar quando o campo lido da BD é null
- public static final String bdEmailEmpresa = "email"; // campo que contem email da empresa
-
- protected static ServletContext CONTEXT;
-
- // Arrays
- public static final String[][] trabalhadorDescFields = new String [][]
- { // nome que o user ve, nome do campo na tabela
- {"Nome", "nome"},
- {"Nº", "numero_mecanografico",},
- {"\u00DAltimo Exame", "ultimo_exame"},
- {"Realizado", "realizado"},
- {"Pr\u00F3ximo Exame", "proximo_exame"},
- {"\u00DAltima Consulta", "ultima_consulta"},
- {"Realizada", "realizada"},
- {"Pr\u00F3xima Consulta", "proxima_consulta"}
- };
-
- public void init()
- {
-
- try {
- CONTEXT = this.getServletContext();
- String TEMPLATE_DIR = this.getServletContext().getRealPath( "/" ) + "html/";
-System.out.println( "DIR: " + TEMPLATE_DIR );
- Properties props = new Properties();
- props.setProperty( "file.resource.loader.path", TEMPLATE_DIR );
- Velocity.init( props );
- Class.forName(bdDriver);
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- }
-
- public void doGet( HttpServletRequest req, HttpServletResponse res )
- throws IOException
- {
- String queryString = req.getQueryString();
- String backUri = req.getRequestURI();
- ServletOutputStream out = res.getOutputStream();
- res.setContentType( "text/html" );
- try
- {
-System.out.println( "query: " + queryString );
- HttpSession session = req.getSession(true);
- session.setMaxInactiveInterval(sessionTimeout);
-
- if ( queryString == null ) // Reload, 1º vez, etc ...
- {
- session.invalidate();
- out.println( mergeTemplate ( msgLogin, indexTemplate ) ) ;
- }
- else if ( session.isNew() && !( queryString.indexOf(queryStringErro) == 0 ) ) // session timeout
- {
- session.invalidate();
- out.println( mergeTemplate( msgGenericError , errorTemplate ) );
-// doErro(queryString, out);
- }
- else if ( queryString.equals(queryStringEmpresas) ) // Listar Empresas
- {
- new doGetListaEmpresas(req,res);
- }
- else if ( queryString.indexOf(queryStringErro) == 0 ) // Listar Empresas
- {
-// System.out.println( "entrou" );
- doErro(queryString, out);
- }
- else // interpretar query string
- {
- String empresa = null, estabelecimento=null, trabalhador=null;
- String query = null;
- int checkInt;
-
- StringTokenizer sToken = new StringTokenizer(queryString,"/") ;
- empresa = sToken.nextToken(); // empresa ID
- checkInt = Integer.parseInt(empresa); // check int, NumberFormatException
-
- if (sToken.hasMoreElements())
- {
- estabelecimento = sToken.nextToken(); // estabelecimento ID
- checkInt = Integer.parseInt(estabelecimento); // check int, NumberFormatException
- if (sToken.hasMoreElements())
- {
- trabalhador = sToken.nextToken(); // trabalhador ID
- try
- {
- checkInt = Integer.parseInt(trabalhador); // check int, NumberFormatException
- }
- catch( NumberFormatException nfex )
- {
- query = trabalhador;
- if( query.indexOf( "trabalhadores_tudo" ) != 0 && query.indexOf( "trabalhadores_pendentes" ) != 0 &&
- query.indexOf( "_print" ) == -1 )
- {
- throw nfex;
- }
- }
- }
- }
-
- if ( estabelecimento == null ) // empresa query
- {
- session.setAttribute(sessionEmpresaId, empresa); // update HTTP Session
-
- new doGetListaEstabelecimentos(req,res);
-
- //out.println( mergeTemplate ( empresa, loginTemplate ) ) ;
- }
- else if ( trabalhador == null || query != null ) // estabelecimento query
- {
- session.setAttribute(sessionEmpresaId, empresa); // update HTTP Session
- session.setAttribute(sessionEstabelecimentoId, estabelecimento);
-
- new doGetListaTrabalhadores(req,res, query);
-
- //out.println( mergeTemplate ( " chama oGetListaTrabalhadores", loginTemplate ) ) ;
- }
- else // trabalhador query
- {
- session.setAttribute(sessionEmpresaId, empresa); // update HTTP Session
- session.setAttribute(sessionEstabelecimentoId, estabelecimento);
- session.setAttribute(sessionTrabalhadorId, trabalhador);
-
- new doGetTrabalhador(req,res);
-
- //out.println( mergeTemplate ( trabalhador, loginTemplate ) ) ;
- }
- }
- }
- catch ( NumberFormatException e ) // argumentos invalidos
- {
- e.printStackTrace();
- out.println( mergeTemplate( msgLinkFormatError, backUri, errorTemplate) );
- }
- catch ( IllegalStateException e ) // session timeout
- {
- e.printStackTrace();
- out.println( mergeTemplate(msgSessionTimeout, errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
-// out.println( mergeTemplate( msgGenericError , backUri, errorTemplate ) );
- out.println( mergeTemplate( msgGenericError , errorTemplate ) );
- }
-// System.out.println( "fim - " + queryString + " bu " + backUri );
- }
-
- public void doPost(HttpServletRequest req, HttpServletResponse res)
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- //StringBuffer dbQuery;
- //ResultSet2DArray rs;
- //Connection con = null ;
- //Statement stmt = null ;
- //String user, userRole, password;
- String buttonPressed = req.getParameter("form");
-
- try
- {
- if ( buttonPressed.equals(botaoLogin))
- {
- new doPostLogin(req,res);
- }
- else
- {
- out.println( mergeTemplate( msgButtonNotSuported, errorTemplate) );
- }
- }
- /*catch ( SQLException e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( msgErroBd , criticalErrorTemplate) );
- }*/
- catch ( IllegalStateException e ) // session timeout
- {
- e.printStackTrace();
- out.println( mergeTemplate(msgSessionTimeout, errorTemplate) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- out.println( mergeTemplate( msgGenericError , errorTemplate) );
- }
- }
-
-
- public String mergeTemplate( HashMap values, String template )
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- for( Iterator i = values.keySet().iterator(); i.hasNext(); )
- {
- String key = ( String ) i.next();
- context.put ( key, values.get( key ) ) ;
- }
-
- Velocity.mergeTemplate(template, Velocity.ENCODING_DEFAULT, context, output );
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
-
-
- public String mergeTemplate (String msg, String template ) // #1
- {
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- context.put ( msgTemplate , msg ) ;
- Velocity.mergeTemplate(template, Velocity.ENCODING_DEFAULT, context, output );
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public String mergeTemplate (String msg, String userRole, String template ) // #1
- {
-
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- context.put ( msgTemplate , msg ) ;
- context.put ( templateUserRole, userRole);
- Velocity.mergeTemplate(template, Velocity.ENCODING_DEFAULT, context, output );
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public String mergeTemplate ( String msg, String userRole, String querySelected, Vector vector1, Vector vector2, Vector vector3, String template ) // #2
- {
-
- VelocityContext context = new VelocityContext();
- StringWriter output = new StringWriter();
-
- try
- {
- context.put ( msgTemplate , msg ) ;
- context.put ( templateUserRole, userRole);
- context.put ( templateQuery, querySelected );
- context.put ( templateVector1,vector1);
- context.put ( templateVector2,vector2);
- context.put ( templateVector3,vector3);
- Velocity.mergeTemplate(template, Velocity.ENCODING_DEFAULT, context, output );
- return output.toString();
- }
- catch( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public void destroy()
- {
- }
-
- public void handleSessionTimeout(HttpServletResponse res, String template)
- throws IOException
- {
- ServletOutputStream out = res.getOutputStream();
- try
- {
- out.println( mergeTemplate( msgSessionTimeout, template) );
- }
- catch ( Exception e )
- {
- e.printStackTrace();
-
- }
- }
-
- public boolean verificaEstabelecimento(Connection con, java.lang.String empresaId, java.lang.String estabelecimentoId)
- // verifica se o establecimento pertence à empresa
- {
- //Connection con = null ;
- Statement stmt = null ;
- Virtual2DArray rs;
- String query;
- try
- {
- //con = DriverManager.getConnection( bdUrl, bdUsername, bdPassword );
- query = "SELECT empresa_id FROM estabelecimentos where id='"+estabelecimentoId+"'";
- if( con != null )
- {
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- }
- else
- {
- rs = getExecuter().executeQuery( new Select( query ) );
- }
- String temp=""+rs.get(0,0); // converter de int para String
- if( con != null )
- {
- stmt.close();
- }
- if ( empresaId.equals(temp) ) // estabelecimento pertence à empresa
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return false;
- }
-
- public boolean verificaTrabalhador(Connection con, java.lang.String estabelecimentoId, java.lang.String trabalhadorId)
- // verifica se o trabalhador pertence ao estabelecimento
- {
- //Connection con = null ;
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery;
- try
- {
- //con = DriverManager.getConnection( bdUrl, bdUsername, bdPassword );
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT estabelecimento_id FROM trabalhadores where id='"+trabalhadorId+"'");
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
- String temp=""+rs.get(0,0); // converter de int para String
- stmt.close();
- if ( estabelecimentoId.equals(temp) ) // estabelecimento pertence à empresa
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return false;
- }
-
- public void closeSqlCon(Connection con)
- {
- try
- {
- if (con != null ) con.close();
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
-
- }
-
- public String emailEmpresa(Connection con, String empresaId)
- {
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery;
- String returnString;
-
- try
- {
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT email FROM empresas, contactos "
- + "WHERE empresas.id ='"+empresaId+"' AND empresas.contacto_1 = contactos.id");
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
- if( rs.columnLength() > 0 )
- {
- returnString = (String)rs.get(0,0);
- stmt.close();
- return returnString;
- }
- else
- {
- return null;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public String nomeEmpresa(Connection con, String empresaId)
- {
- Statement stmt = null ;
- Virtual2DArray rs;
- String returnString;
-
- try
- {
- String query = "SELECT designacao_social FROM empresas WHERE id ='"+empresaId+"'";
- if( con != null )
- {
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- }
- else
- {
- rs = getExecuter().executeQuery( new Select( query ) );
- }
- if( rs.columnLength() > 0 )
- {
- returnString = (String)rs.get(0,0);
- if( con != null )
- {
- stmt.close();
- }
- return returnString;
- }
- else
- {
- return null;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public String nomeEstabelecimento(Connection con, java.lang.String estabelecimentoId)
- {
- Statement stmt = null ;
- Virtual2DArray rs;
- StringBuffer dbQuery;
- String returnString;
-
- try
- {
- String query = "SELECT nome FROM estabelecimentos WHERE id ='"+estabelecimentoId+"'";
- if( con != null )
- {
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( query ) );
- }
- else
- {
- rs = getExecuter().executeQuery( new Select( query ) );
- }
- if( rs.columnLength() > 0 )
- {
- returnString = (String)rs.get(0,0);
- if( con != null )
- {
- stmt.close();
- }
- return returnString;
- }
- else
- {
- return null;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public String nomeTrabalhador(Connection con, java.lang.String trabalhadorId)
- {
- Statement stmt = null ;
- ResultSet2DArray rs;
- StringBuffer dbQuery;
- String returnString;
-
- try
- {
- dbQuery = new StringBuffer();
- dbQuery.append( "SELECT nome FROM trabalhadores where id='"+trabalhadorId+"'");
- stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
- rs = new ResultSet2DArray( stmt.executeQuery( dbQuery.toString()) );
- if( rs.columnLength() > 0 )
- {
- returnString = (String)rs.get(0,0);
- stmt.close();
- return returnString;
- }
- else
- {
- return null;
- }
- }
- catch ( Exception e )
- {
- e.printStackTrace();
- }
- return null;
- }
-
- public void doErro( String queryString, ServletOutputStream out )
- throws Exception
- {
- String split[] = queryString.split( "=" );
- String err;
- if( split.length > 1 )
- {
- err = split[ 1 ];
- }
- else
- {
- err = "Erro";
- }
- err = err.replace( '+', ' ' );
- out.println( mergeTemplate( err, innerErrorTemplate) );
- }
-
- protected Executer getExecuter()
- throws Exception
- {
- ServletContext context = CONTEXT;
- DBManager dbm = ( DBManager ) context.getAttribute( Singleton.DEFAULT_DBMANAGER );
- if( dbm == null )
- {
- dbm = new JDBCManager( bdLocalUrl, bdLocalUsername, bdLocalPassword , 500, 499, 1, null );
- context.setAttribute( Singleton.DEFAULT_DBMANAGER, dbm );
- }
- return dbm.getSharedExecuter();
- }
-}
-
diff --git a/trunk/web/src/WEB-INF/web.xml b/trunk/web/src/WEB-INF/web.xml
deleted file mode 100644
index bc00f63f..00000000
--- a/trunk/web/src/WEB-INF/web.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
- SIPRP WEB
- SIPRP WEB
-
- SIPRP WEB
- siprp.pagina.siprpServlet
-
-
- SIPRP WEB
- /index.html
-
-
-
- Request
- siprp.pagina.RequestServlet
-
-
- Request
- /request
-
-
-
- Schedule
- siprp.pagina.ScheduleServlet
-
-
- Schedule
- /schedule
-
-
-
- Relatorio
- siprp.pagina.RelatorioServlet
-
-
- Relatorio
- /relatorio
-
-
-