diff --git a/trunk/siprpWeb/contents/images/excel.png b/trunk/siprpWeb/contents/images/excel.png new file mode 100644 index 00000000..f5d51695 Binary files /dev/null and b/trunk/siprpWeb/contents/images/excel.png differ diff --git a/trunk/siprpWeb/contents/images/pdf.jpg b/trunk/siprpWeb/contents/images/pdf.jpg new file mode 100644 index 00000000..eea59969 Binary files /dev/null and b/trunk/siprpWeb/contents/images/pdf.jpg differ diff --git a/trunk/siprpWeb/contents/images/word.png b/trunk/siprpWeb/contents/images/word.png new file mode 100644 index 00000000..dc2b9bc3 Binary files /dev/null and b/trunk/siprpWeb/contents/images/word.png differ diff --git a/trunk/siprpWeb/contents/user.html b/trunk/siprpWeb/contents/user.html index 37d25d06..8da5f5f8 100644 --- a/trunk/siprpWeb/contents/user.html +++ b/trunk/siprpWeb/contents/user.html @@ -97,7 +97,7 @@
#if( $query == "trabalhador" ) - Funcionário: $!funcionario.nome -Data de Nascimento: $!funcionario.data_nascimento + Funcionário: $!funcionario.nome -Data de Nascimento: $!funcionario.data_nascimento #else Funcionário: #end @@ -112,6 +112,10 @@ #set( $listaTitle = "Empresas" ) #elseif( $query == "estabelecimentos" ) #set( $listaTitle = "Estabelecimentos" ) + #elseif( $query == "opcoes" ) + #set( $listaTitle = "Opções" ) + #elseif ( $query == "ficheiros" ) + #set( $listaTitle = "Ficheiros" ) #elseif( $query == "trabalhadores" || $query == "trabalhadores_tudo" || $query == "trabalhadores_pendentes" ) #set( $listaTitle = "Funcionários:" ) #set( $lista_funcionarios = 1 ) @@ -122,16 +126,45 @@ #if( $lista_funcionarios )
Funcionários: - todos - com ficha de aptidão - com pendências - imprimir + todos + com ficha de aptidão + com pendências + imprimir
#else
$listaTitle
#end - #if ($query == "trabalhador") + + #if ($query == "ficheiros") + + + + + + + + #foreach( $ficheiro in $v2 ) + + + + + #if( $ficheiro.Tipo == "pdf" ) + + #elseif ( $ficheiro.Tipo == "word" ) + + #elseif ( $ficheiro.Tipo == "excel" ) + + #end + + #end +
NomeDataComentáriosTipo
$ficheiro.Nome$ficheiro.Data$ficheiro.Comentario
+
+ Documento pdf
+ Documento word
+ Documento excel +
+ #elseif ($query == "trabalhador")
(*)ECD - Exames Complementares de Diagnóstico
@@ -214,6 +247,13 @@ #end
+ #elseif( $query == "estabelecimentos" ) + #foreach( $element in $v1 ) + #set ( $counter = $velocityCount - 1 ) +
$v2.get($counter)
+ #end +
Ficheiros
+
Ficheiros
#else #foreach( $element in $v1 ) #set ( $counter = $velocityCount - 1 ) @@ -229,4 +269,4 @@
- \ No newline at end of file + diff --git a/trunk/siprpWeb/dependenciesCache/dependencies.txt b/trunk/siprpWeb/dependenciesCache/dependencies.txt index 99b4dd4d..95a14766 100644 --- a/trunk/siprpWeb/dependenciesCache/dependencies.txt +++ b/trunk/siprpWeb/dependenciesCache/dependencies.txt @@ -167,6 +167,24 @@ java.lang.Integer com.evolute.siprp.pagina.siprpServlet java.sql.Connection java.lang.String +||:com.evolute.siprp.pagina.doGetFuncionariosFicheiros +javax.servlet.http.HttpSession +java.lang.StringBuilder +java.lang.StringBuffer +com.evolute.siprp.pagina.siprpServlet +java.util.List +javax.servlet.http.HttpServletRequest +javax.servlet.ServletOutputStream +java.util.LinkedList +java.util.HashMap +java.util.Map +java.sql.Connection +java.io.IOException +com.evolute.siprp.pagina.doGetFuncionariosFicheiros +com.evolute.siprp.pagina.SiprpWebLogger +java.lang.String +java.lang.Exception +javax.servlet.http.HttpServletResponse ||:com.evolute.siprp.pagina.GlobalConstants java.lang.Object com.evolute.siprp.pagina.GlobalConstants @@ -289,6 +307,76 @@ com.evolute.utils.network.proxy.EvoProxyObject java.lang.Object com.evolute.utils.error.ProjectsEnum java.lang.Exception +||:com.evolute.siprp.pagina.doGetListaFicheiros +java.lang.StringBuilder +java.text.SimpleDateFormat +java.sql.DriverManager +java.util.LinkedList +javax.servlet.http.HttpServletResponse +com.evolute.utils.arrays.ResultSet2DArray +java.lang.Class +java.util.List +java.util.Date +java.util.Map +java.sql.Statement +com.evolute.siprp.pagina.SiprpWebLogger +java.io.IOException +javax.servlet.ServletOutputStream +javax.servlet.http.HttpServletRequest +java.util.HashMap +java.lang.Exception +javax.servlet.http.HttpSession +java.lang.Integer +com.evolute.siprp.pagina.doGetListaFicheiros +com.evolute.siprp.pagina.siprpServlet +java.sql.Connection +java.lang.String +||:com.evolute.siprp.pagina.RelatorioServlet +javax.servlet.http.HttpSession +com.evolute.siprp.pagina.RelatorioServlet +org.apache.velocity.app.Velocity +javax.servlet.http.HttpServletRequest +javax.servlet.ServletOutputStream +java.util.Hashtable +java.io.StringWriter +java.io.IOException +java.util.Enumeration +org.apache.velocity.VelocityContext +com.evolute.siprp.pagina.SiprpWebLogger +java.lang.String +com.evolute.siprp.pagina.MailerServlet +javax.servlet.http.HttpServletResponse +java.lang.Exception +||:com.evolute.siprp.pagina.NewsServlet +com.evolute.utils.sql.Select +com.evolute.utils.db.SQLExecuter +java.lang.StringBuilder +org.apache.velocity.VelocityContext +javax.servlet.http.HttpServletResponse +com.evolute.utils.strings.StringConverter +com.evolute.utils.arrays.Virtual2DArray +com.evolute.utils.sql.Field +java.util.Map +com.evolute.siprp.pagina.SiprpWebLogger +javax.servlet.ServletContext +java.io.IOException +java.util.Iterator +javax.servlet.ServletOutputStream +com.evolute.siprp.pagina.GlobalConstants +java.util.Properties +javax.servlet.http.HttpServletRequest +com.evolute.utils.db.JDBCManager +java.util.HashMap +org.apache.velocity.app.Velocity +javax.servlet.http.HttpServlet +java.lang.Exception +com.evolute.utils.sql.SQLQuery +java.lang.Object +java.io.StringWriter +java.lang.String +com.evolute.siprp.pagina.NewsServlet +com.evolute.utils.db.DBManager +java.util.Set ||:com.evolute.siprp.pagina.siprpServlet java.util.Set java.lang.Class @@ -297,6 +385,7 @@ java.util.Vector java.util.Map java.io.IOException java.lang.String +com.evolute.siprp.pagina.doGetListaFicheiros java.lang.Exception java.sql.Statement org.apache.velocity.VelocityContext @@ -331,51 +420,27 @@ java.io.StringWriter java.io.PrintStream java.lang.StringBuffer org.apache.velocity.app.Velocity +com.evolute.siprp.pagina.doGetFicheiro javax.servlet.http.HttpServlet +com.evolute.siprp.pagina.doGetFuncionariosFicheiros java.util.Properties -||:com.evolute.siprp.pagina.NewsServlet -com.evolute.utils.sql.Select -com.evolute.utils.db.SQLExecuter +||:com.evolute.siprp.pagina.doGetFicheiro +java.sql.SQLException java.lang.StringBuilder -org.apache.velocity.VelocityContext +java.lang.System +java.sql.DriverManager javax.servlet.http.HttpServletResponse -com.evolute.utils.strings.StringConverter -com.evolute.utils.arrays.Virtual2DArray -com.evolute.utils.sql.Field -java.util.Map -com.evolute.siprp.pagina.SiprpWebLogger -javax.servlet.ServletContext +java.sql.PreparedStatement +java.lang.Class +java.io.File +java.io.OutputStream +java.io.PrintStream +javax.activation.MimetypesFileTypeMap java.io.IOException -java.util.Iterator -javax.servlet.ServletOutputStream -com.evolute.siprp.pagina.GlobalConstants -java.util.Properties javax.servlet.http.HttpServletRequest -com.evolute.utils.db.JDBCManager -java.util.HashMap -org.apache.velocity.app.Velocity -javax.servlet.http.HttpServlet -java.lang.Exception -com.evolute.utils.sql.SQLQuery -java.lang.Object -java.io.StringWriter -java.lang.String -com.evolute.siprp.pagina.NewsServlet -com.evolute.utils.db.DBManager -java.util.Set -||:com.evolute.siprp.pagina.RelatorioServlet -javax.servlet.http.HttpSession -com.evolute.siprp.pagina.RelatorioServlet -org.apache.velocity.app.Velocity -javax.servlet.http.HttpServletRequest -javax.servlet.ServletOutputStream -java.util.Hashtable -java.io.StringWriter -java.io.IOException -java.util.Enumeration -org.apache.velocity.VelocityContext -com.evolute.siprp.pagina.SiprpWebLogger +java.lang.ClassNotFoundException +java.sql.ResultSet +com.evolute.siprp.pagina.siprpServlet +java.sql.Connection java.lang.String -com.evolute.siprp.pagina.MailerServlet -javax.servlet.http.HttpServletResponse -java.lang.Exception +com.evolute.siprp.pagina.doGetFicheiro diff --git a/trunk/siprpWeb/dist/siprpWeb.war b/trunk/siprpWeb/dist/siprpWeb.war index b3a82197..defc95b3 100644 Binary files a/trunk/siprpWeb/dist/siprpWeb.war and b/trunk/siprpWeb/dist/siprpWeb.war differ diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFicheiro.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFicheiro.java new file mode 100644 index 00000000..6778c2e8 --- /dev/null +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFicheiro.java @@ -0,0 +1,40 @@ +package com.evolute.siprp.pagina; + + +import java.io.IOException; +import java.io.OutputStream; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +public class doGetFicheiro extends siprpServlet +{ + private static final long serialVersionUID = 1L; + + public doGetFicheiro(HttpServletRequest req, HttpServletResponse res, String query) throws IOException, SQLException, ClassNotFoundException + { + Class.forName( bdDriver ); + Connection con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword ); + res.addHeader( "Content-disposition", "attachment;filename=\"" + query + "\"" ); + res.setContentType("application/octet-stream"); + OutputStream os = res.getOutputStream(); + PreparedStatement ps = con.prepareStatement("SELECT file_data FROM fil_file where name='" + query + "'"); + ResultSet rs = ps.executeQuery(); + if(rs != null) + { + while(rs.next()) + { + byte[] b = rs.getBytes(1); + os.write(b); + } + } + os.flush(); + os.close(); + } +} \ No newline at end of file diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFuncionariosFicheiros.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFuncionariosFicheiros.java new file mode 100644 index 00000000..009a9434 --- /dev/null +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetFuncionariosFicheiros.java @@ -0,0 +1,86 @@ +package com.evolute.siprp.pagina; + +import java.io.IOException; +import java.sql.Connection; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + + +public class doGetFuncionariosFicheiros extends siprpServlet +{ + private static final long serialVersionUID = 1L; + + public doGetFuncionariosFicheiros( HttpServletRequest req, HttpServletResponse res ) throws IOException + { + ServletOutputStream out = res.getOutputStream(); + Connection con = null; + StringBuffer dbQuery, sBuffer; + String userRole, empresaId, estabelecimentoId; + HttpSession session = req.getSession( false ); + List< String > links = new LinkedList< String >(); + List< String > desc = new LinkedList< String >(); + try + { + userRole = ( String ) session.getAttribute( sessionUserRole ); + empresaId = ( String ) session.getAttribute( sessionEmpresaId ); + estabelecimentoId = ( String ) session.getAttribute( sessionEstabelecimentoId ); + + if ( userRole.equals( superUserRole ) || userRole.equals( empresaId ) ) + { + dbQuery = new StringBuffer(); + dbQuery.append( "/" + servletName + "/?" + empresaId + "/" + estabelecimentoId + "/func" ); // contruir url + links.add( dbQuery.toString() ); + desc.add( "Funcionários" ); + + dbQuery = new StringBuffer(); + dbQuery.append( "/" + servletName + "/?" + empresaId + "/" + estabelecimentoId + "/fich" ); // contruir url + links.add( dbQuery.toString() ); + desc.add( "Ficheiros" ); + + sBuffer = new StringBuffer(); + sBuffer.append( "" + nomeEmpresa( con, empresaId ) + "

" + nomeEstabelecimento( con, estabelecimentoId ) + "" ); + + if ( userRole.equals( "manager" ) ) + { + session.setAttribute( sessionCompanyName, nomeEmpresa( con, ( String ) session.getAttribute( sessionEmpresaId ) ) ); + } + else + { + session.setAttribute( sessionCompanyName, nomeEmpresa( con, userRole ) ); + } + + Map< String, Object > hmValues = new HashMap< String, Object >(); + hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) ); + hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) ); + hmValues.put( "estabelecimento_nome", nomeEstabelecimento( con, estabelecimentoId ) ); + 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, queryStringOpcoes ); + hmValues.put( templateVector1, links ); + hmValues.put( templateVector2, desc ); + hmValues.put( templateVector3, null ); + out.println( mergeTemplate( hmValues, authenticatedUserTemplate ) ); + } + else + { + out.println( mergeTemplate( msgAcessoNegado, userRole, errorTemplate ) ); + } + } + catch ( Exception e ) + { + SiprpWebLogger.logException( e ); + out.println( mergeTemplate( msgGenericError, errorTemplate ) ); + } + } + +} diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEmpresas.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEmpresas.java index 59252f02..d05378b9 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEmpresas.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEmpresas.java @@ -17,7 +17,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.evolute.utils.arrays.ResultSet2DArray; -import com.evolute.utils.error.ErrorLogger; public class doGetListaEmpresas extends siprpServlet { diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEstabelecimentos.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEstabelecimentos.java index 8fc8a9d8..1c829e8b 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEstabelecimentos.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaEstabelecimentos.java @@ -110,6 +110,7 @@ public class doGetListaEstabelecimentos extends siprpServlet hmValues.put( "estabelecimento_id", session.getAttribute( sessionEstabelecimentoId ) ); hmValues.put( "userRole", userRole ); hmValues.put( "userName", session.getAttribute( sessionUser ) ); + hmValues.put( "ficheirosUrl", "/" + servletName + "/?" + empresaId + "/fich"); hmValues.put( msgTemplate, sBuffer.toString() ); hmValues.put( templateUserRole, userRole ); hmValues.put( templateQuery, queryStringEstabelecimentos ); @@ -118,9 +119,6 @@ public class doGetListaEstabelecimentos extends siprpServlet hmValues.put( templateVector3, null ); out.println( mergeTemplate( hmValues, authenticatedUserTemplate ) ); - // out.println( mergeTemplate( sBuffer.toString(), userRole, - // super.queryStringEstabelecimentos, links, desc, null, - // super.authenticatedUserTemplate) ); stmt.close(); con.close(); } diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaFicheiros.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaFicheiros.java new file mode 100644 index 00000000..f71af936 --- /dev/null +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaFicheiros.java @@ -0,0 +1,119 @@ +package com.evolute.siprp.pagina; + +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import com.evolute.utils.arrays.ResultSet2DArray; + +public class doGetListaFicheiros extends siprpServlet +{ + private static final long serialVersionUID = 1L; + + public doGetListaFicheiros(HttpServletRequest req, HttpServletResponse res, boolean geral) throws IOException + { + ServletOutputStream out = res.getOutputStream(); + Connection con = null; + Statement stmt = null; + ResultSet2DArray rs, rsFich; + String dbQuery = null; + String userRole, empresaId, estabelecimentoId; + HttpSession session = req.getSession( false ); + List< String > links = new LinkedList< String >(); + List< Map< String, Object > > desc = new LinkedList< Map< String, Object > >(); + try + { + userRole = ( String ) session.getAttribute( sessionUserRole ); + empresaId = ( String ) session.getAttribute( sessionEmpresaId ); + estabelecimentoId = ( String ) session.getAttribute( sessionEstabelecimentoId ); + + if ( userRole.equals( superUserRole ) || userRole.equals( empresaId ) ) + { + Class.forName( bdDriver ); + con = DriverManager.getConnection( bdLocalUrl, bdLocalUsername, bdLocalPassword ); + + if(geral) + { + dbQuery = "SELECT file_id FROM fil_file_empresa WHERE empresa_id = '" + empresaId + "'"; + } + else + { + dbQuery = "SELECT file_id FROM fil_file_estabelecimento WHERE empresa_id = '" + empresaId + "' AND estabelecimento_id = '" + estabelecimentoId + "'"; + } + stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); + rsFich = new ResultSet2DArray( stmt.executeQuery( dbQuery ) ); + rsFich.getObjects(); + + for(int i = 0; i < rsFich.columnLength(); i++) + { + Integer ficheiroId = (Integer) rsFich.get(i, 0); + dbQuery = "SELECT name, mime_type, inserted_stamp, details FROM fil_file WHERE id = '" + ficheiroId + "'"; + stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); + rs = new ResultSet2DArray( stmt.executeQuery(dbQuery) ); + rs.getObjects(); + + Date data = (Date) rs.get(0, 2); + + String query = null; + if(geral) + { + query = "/" + servletName + "/?" + empresaId + "/fich/" + rs.get(0, 0); + } + else + { + query = "/" + servletName + "/?" + empresaId + "/" + estabelecimentoId + "/fich/" + rs.get(0, 0); + } + + SimpleDateFormat DDMMYYYY = new SimpleDateFormat( "dd-MM-yyyy" ); + Map< String, Object > ficheiro = new HashMap< String, Object >(); + ficheiro.put( "Link", query ); + ficheiro.put( "Nome", rs.get(0, 0) ); + ficheiro.put("Tipo", rs.get(0, 1)); + ficheiro.put("Data", DDMMYYYY.format(data)); + ficheiro.put("Comentario", rs.get(0, 3) == null ? "" : rs.get(0, 3) ); + + desc.add(ficheiro); + } + + Map< String, Object > hmValues = new HashMap< String, Object >(); + hmValues.put( "empresa_nome", session.getAttribute( sessionCompanyName ) ); + hmValues.put( "empresa_id", session.getAttribute( sessionEmpresaId ) ); + if(!geral) + { + hmValues.put( "estabelecimento_nome", nomeEstabelecimento( con, estabelecimentoId ) ); + } + hmValues.put( "estabelecimento_id", session.getAttribute( sessionEstabelecimentoId ) ); + hmValues.put( "userRole", userRole ); + hmValues.put( "userName", session.getAttribute( sessionUser ) ); + hmValues.put( templateUserRole, userRole ); + hmValues.put( templateQuery, queryStringFicheiros ); + hmValues.put( templateVector1, links ); + hmValues.put( templateVector2, desc ); + hmValues.put( templateVector3, null ); + out.println( mergeTemplate( hmValues, authenticatedUserTemplate ) ); + } + else + { + out.println( mergeTemplate( msgAcessoNegado, userRole, errorTemplate ) ); + } + } + catch ( Exception e ) + { + SiprpWebLogger.logException( e ); + out.println( mergeTemplate( msgGenericError, errorTemplate ) ); + } + } +} diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadores.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadores.java index 131f97bc..be95e212 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadores.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadores.java @@ -16,7 +16,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.evolute.utils.arrays.ResultSet2DArray; -import com.evolute.utils.error.ErrorLogger; public class doGetListaTrabalhadores extends siprpServlet { @@ -96,7 +95,7 @@ public class doGetListaTrabalhadores extends siprpServlet for ( int index = 0; index < max; index++ ) { Integer id = ( Integer ) rsTrab.get( index, 0 ); - String link = "/" + servletName + "/?" + empresaId + "/" + estabelecimentoId + "/" + id; + String link = "/" + servletName + "/?" + empresaId + "/" + estabelecimentoId + "/func/" + id; links.add( link ); Map< String, Object > trabalhador = new HashMap< String, Object >(); trabalhador.put( "Nome", ( String ) rsTrab.get( index, 1 ) ); diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresPendentes.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresPendentes.java index c8bf0f41..38c7ce13 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresPendentes.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresPendentes.java @@ -17,7 +17,6 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.evolute.utils.arrays.Virtual2DArray; -import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.sql.Select; /** @@ -130,7 +129,7 @@ public class doGetListaTrabalhadoresPendentes map.put( "estado_consulta_print", estado_print ); map.put( "motivo_consulta", motivo_string ); map.put( "motivo_consulta_print", motivo_string ); - map.put( "link_trabalhador", "/" + servletName + "/?" + empresaID + "/" + estabelecimentoID + "/" + trabalhadorID ); + map.put( "link_trabalhador", "/" + servletName + "/?" + empresaID + "/" + estabelecimentoID + "/func/" + trabalhadorID ); list.add( map ); } diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresTudo.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresTudo.java index 6800f49f..c3b7db1e 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresTudo.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/doGetListaTrabalhadoresTudo.java @@ -24,7 +24,6 @@ import javax.servlet.http.HttpSession; import com.evolute.utils.arrays.ResultSet2DArray; import com.evolute.utils.arrays.Virtual2DArray; -import com.evolute.utils.error.ErrorLogger; @@ -71,7 +70,7 @@ public class doGetListaTrabalhadoresTudo extends siprpServlet implements GlobalC Integer trabalhadorID = ( Integer ) array.get( i, 0 ); String trabalhadorNome = ( String ) array.get( i, 1 ); Date dataFicha = ( Date ) array.get( i, 2 ); - String trabalhadorLink = "/" + servletName + "/?" + empresaID + "/" + estabelecimentoID + "/" + trabalhadorID; + String trabalhadorLink = "/" + servletName + "/?" + empresaID + "/" + estabelecimentoID + "/func/" + trabalhadorID; Map< String, Object > worker = new HashMap< String, Object >(); worker.put( "trabalhador_id", trabalhadorID ); diff --git a/trunk/siprpWeb/src/com/evolute/siprp/pagina/siprpServlet.java b/trunk/siprpWeb/src/com/evolute/siprp/pagina/siprpServlet.java index b0471e2e..0d12cb0b 100644 --- a/trunk/siprpWeb/src/com/evolute/siprp/pagina/siprpServlet.java +++ b/trunk/siprpWeb/src/com/evolute/siprp/pagina/siprpServlet.java @@ -27,7 +27,6 @@ import com.evolute.utils.arrays.Virtual2DArray; import com.evolute.utils.db.DBManager; import com.evolute.utils.db.Executer; import com.evolute.utils.db.JDBCManager; -import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.sql.Select; public class siprpServlet extends HttpServlet implements GlobalConstants @@ -72,6 +71,8 @@ public class siprpServlet extends HttpServlet implements GlobalConstants public static final String queryStringErro = "erro"; public static final String queryStringEmpresas = "empresas"; public static final String queryStringEstabelecimentos = "estabelecimentos"; + public static final String queryStringOpcoes = "opcoes"; + public static final String queryStringFicheiros = "ficheiros"; public static final String queryStringTrabalhadores = "trabalhadores"; public static final String queryStringTrabalhador = "trabalhador"; @@ -179,7 +180,7 @@ public class siprpServlet extends HttpServlet implements GlobalConstants else // interpretar query string { - String empresa = null, estabelecimento = null, trabalhador = null; + String empresa = null, estabelecimentoOuFicheiros = null, opcao = null, trabalhador = null, ficheiro = null; String query = null; int checkInt; @@ -190,32 +191,54 @@ public class siprpServlet extends HttpServlet implements GlobalConstants if ( sToken.hasMoreElements() ) { - estabelecimento = sToken.nextToken(); // estabelecimento ID - checkInt = Integer.parseInt( estabelecimento ); // check - // int, - // NumberFormatException - if ( sToken.hasMoreElements() ) + estabelecimentoOuFicheiros = sToken.nextToken(); // estabelecimento ID + + if(!estabelecimentoOuFicheiros.equals("fich")) { - trabalhador = sToken.nextToken(); // trabalhador ID - try + checkInt = Integer.parseInt( estabelecimentoOuFicheiros ); // check + // int, + // NumberFormatException + if ( sToken.hasMoreElements() ) { - 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 ) + opcao = sToken.nextToken(); + if( sToken.hasMoreElements() ) { - throw nfex; + if(opcao.equals("fich")) + { + ficheiro = sToken.nextToken(); + } + else + { + 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; + } + } + } } } } + else + { + if ( sToken.hasMoreElements() ) + { + ficheiro = sToken.nextToken(); + } + } } - if ( estabelecimento == null ) // empresa query + if ( estabelecimentoOuFicheiros == null ) // empresa query { session.setAttribute( sessionEmpresaId, empresa ); // update // HTTP @@ -225,15 +248,46 @@ public class siprpServlet extends HttpServlet implements GlobalConstants // out.println( mergeTemplate ( empresa, loginTemplate ) ) ; } - else if ( trabalhador == null || query != null ) // estabelecimento - // query + else if ( opcao == null )//opcao query + { + session.setAttribute( sessionEmpresaId, empresa ); // update + // HTTP + // Session + session.setAttribute( sessionEstabelecimentoId, estabelecimentoOuFicheiros ); + + if(estabelecimentoOuFicheiros.equals("fich") && ficheiro != null) + { + new doGetFicheiro(req, res, ficheiro); + } + else if(estabelecimentoOuFicheiros.equals("fich")) + { + new doGetListaFicheiros(req, res, true); + } + else + { + new doGetFuncionariosFicheiros( req, res ); + } + } + else if ( trabalhador == null || query != null ) // estabelecimento query { session.setAttribute( sessionEmpresaId, empresa ); // update // HTTP // Session - session.setAttribute( sessionEstabelecimentoId, estabelecimento ); + session.setAttribute( sessionEstabelecimentoId, estabelecimentoOuFicheiros ); - new doGetListaTrabalhadores( req, res, query ); + //new doGetFuncionariosFicheiros( req, res ); + if(opcao.equals("func")) + { + new doGetListaTrabalhadores( req, res, query ); + } + else if(opcao.equals("fich") && ficheiro != null) + { + new doGetFicheiro(req, res, ficheiro); + } + else if(opcao.equals("fich")) + { + new doGetListaFicheiros(req, res, false); + } // out.println( mergeTemplate ( // " chama oGeHashtabletListaTrabalhadores", loginTemplate ) @@ -245,7 +299,7 @@ public class siprpServlet extends HttpServlet implements GlobalConstants session.setAttribute( sessionEmpresaId, empresa ); // update // HTTP // Session - session.setAttribute( sessionEstabelecimentoId, estabelecimento ); + session.setAttribute( sessionEstabelecimentoId, estabelecimentoOuFicheiros ); session.setAttribute( sessionTrabalhadorId, trabalhador ); new doGetTrabalhador( req, res ); @@ -574,7 +628,7 @@ public class siprpServlet extends HttpServlet implements GlobalConstants return null; } - public String nomeEstabelecimento( Connection con, java.lang.String estabelecimentoId ) + public String nomeEstabelecimento( Connection con, String estabelecimentoId ) { Statement stmt = null; Virtual2DArray rs;