diff --git a/trunk/AnaliseAcidentesTrabalho/lib/shst.jar b/trunk/AnaliseAcidentesTrabalho/lib/shst.jar index d4c9869f..faf1bfbf 100644 Binary files a/trunk/AnaliseAcidentesTrabalho/lib/shst.jar and b/trunk/AnaliseAcidentesTrabalho/lib/shst.jar differ diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java index af34e432..104c6fea 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java @@ -908,7 +908,7 @@ public class GestaoUtilizadores extends AbstractPageBean { { UtilizadoresDataProvider udp = UtilizadoresDataProvider.getInstance(); List< Utilizador > listUtilizadores = udp.getUtilizadoresList( null, null, null, null, "y", isDirRh ); - // ArrayList list = udp.getUtilizadoresList(null, null, null, "y", isDirRh); +// List< Utilizador > listUtilizadores = udp.getUtilizadoresList( null, null, null, "y", isDirRh ); getSessionBean1().getUtilizadoresActivosListDataProvider().setList( listUtilizadores ); } catch(Exception ex) @@ -920,7 +920,7 @@ public class GestaoUtilizadores extends AbstractPageBean { { UtilizadoresDataProvider udp = UtilizadoresDataProvider.getInstance(); List< Utilizador > listUtilizadores = udp.getUtilizadoresList( null, null, null, null, "n", isDirRh ); - // ArrayList list = udp.getUtilizadoresList(null, null, null, "n", isDirRh); +// List< Utilizador > listUtilizadores = udp.getUtilizadoresList( null, null, null, "n", isDirRh ); getSessionBean1().getUtilizadoresInactivosListDataProvider().setList( listUtilizadores ); } catch(Exception ex) @@ -1129,6 +1129,7 @@ public class GestaoUtilizadores extends AbstractPageBean { UtilizadoresDataProvider udp = UtilizadoresDataProvider.getInstance(); getSessionBean1().setIsSearchingUtilizadores( true ); List< Utilizador > listUtilizadores = udp.getUtilizadoresList( por, nome, login, estabelecimento_id, "y", isDirRh ); +// List< Utilizador > listUtilizadores = udp.getUtilizadoresList( por, nome, estabelecimento_id, "y", isDirRh ); getSessionBean1().getUtilizadoresActivosListDataProvider().setList( listUtilizadores ); } catch(Exception ex) @@ -1142,6 +1143,7 @@ public class GestaoUtilizadores extends AbstractPageBean { UtilizadoresDataProvider udp = UtilizadoresDataProvider.getInstance(); getSessionBean1().setIsSearchingUtilizadores( true ); List< Utilizador > listUtilizadores = udp.getUtilizadoresList( por, nome, login, estabelecimento_id, "n", isDirRh ); +// List< Utilizador > listUtilizadores = udp.getUtilizadoresList( por, nome, estabelecimento_id, "n", isDirRh ); getSessionBean1().getUtilizadoresInactivosListDataProvider().setList( listUtilizadores ); } catch(Exception ex) diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/UtilizadoresDataProvider.java b/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/UtilizadoresDataProvider.java index 1c0e24a5..5efbaad4 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/UtilizadoresDataProvider.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/db/providers/UtilizadoresDataProvider.java @@ -18,9 +18,9 @@ import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.sql.Expression; import com.evolute.utils.sql.Field; import com.evolute.utils.sql.Select2; +import com.evolute.utils.sql.expression.Par; import com.evolute.utils.strings.StringPlainer; import com.sun.rave.web.ui.model.Option; -import db.data.siprp.outer.EstabelecimentosData; import db.data.siprp.outer.TiposUtilizadoresData; import db.data.siprp.outer.UtilizadoresData; import global.Global; @@ -259,34 +259,43 @@ public class UtilizadoresDataProvider extends GenericDataProvider { List< Utilizador > listUtilizadores = new LinkedList< Utilizador >(); - por = por == null ? "" : por; - nome = nome == null ? "" : StringPlainer.convertString( nome.replaceAll( " ", "%" ) ); - login = login == null ? "" : StringPlainer.convertString( login.replaceAll( " ", "%" ) ); +// por = por == null ? "" : por; + nome = nome == null ? null : StringPlainer.convertString( nome.replaceAll( " ", "%" ) ); + login = login == null ? null : StringPlainer.convertString( login.replaceAll( " ", "%" ) ); activo = activo == null ? "y" : activo; dirRH = dirRH == null ? "n" : dirRH; boolean isDirRH = "y".equals( dirRH ); - + Expression whereExpression = new Field( UtilizadoresData.APAGADO_FULL ).isEqual( "n" ); whereExpression = whereExpression.and( new Field( UtilizadoresData.ACTIVO_FULL ).isEqual( activo ) ); whereExpression = whereExpression.and( new Field( UtilizadoresData.TIPO_FULL ).isDifferent( Global.TIPO_UTILIZADOR_DIRECTOR_SIPRP ) ); - whereExpression = whereExpression.and( new Field( "plain( " + UtilizadoresData.NUMERO_MECANOGRAFICO_FULL + " )" ).isILike( "%" + por + "%" ) ); - whereExpression = whereExpression.and( new Field( "plain( " + UtilizadoresData.NOME_FULL + " )" ).isILike( "%" + nome + "%" ) ).or( - new Field( "plain_utf8( " + UtilizadoresData.NOME_FULL + " )" ).isILike( "%" + nome + "%" ) - ); - whereExpression = whereExpression.and( new Field( "plain( " + UtilizadoresData.LOGIN_FULL + " )" ).isILike( "%" + login + "%" ) ).or( - new Field( "plain_utf8( " + UtilizadoresData.LOGIN_FULL + " )" ).isILike( "%" + login + "%" ) - ); + if ( por != null ) + { + whereExpression = whereExpression.and( new Field( "plain( " + UtilizadoresData.NUMERO_MECANOGRAFICO_FULL + " )" ).isILike( "%" + por + "%" ) ); + } + if ( nome != null ) + { + Expression nomeExpression = new Field( "plain( " + UtilizadoresData.NOME_FULL + " )" ).isILike( "%" + nome + "%" ).or( + new Field( "plain_utf8( " + UtilizadoresData.NOME_FULL + " )" ).isILike( "%" + nome + "%" ) ); + whereExpression = whereExpression.and( new Par( nomeExpression ) ); + } + if ( login != null ) + { + Expression loginExpression = new Field( "plain( " + UtilizadoresData.LOGIN_FULL + " )" ).isILike( "%" + login + "%" ).or( + new Field( "plain_utf8( " + UtilizadoresData.LOGIN_FULL + " )" ).isILike( "%" + login + "%" ) ); + whereExpression = whereExpression.and( new Par( loginExpression ) ); + + } if ( estabelecimentoID != null ) { whereExpression = whereExpression.and( new Field( UtilizadoresData.ESTABELECIMENTO_ID_FULL ).isEqual( estabelecimentoID ) ); } Select2 query = new Select2( - new String[] { UtilizadoresData.TABLENAME, TiposUtilizadoresData.TABLENAME, EstabelecimentosData.TABLENAME }, - new Integer[] { Select2.JOIN_INNER, Select2.JOIN_LEFT_OUTER }, + new String[] { UtilizadoresData.TABLENAME, TiposUtilizadoresData.TABLENAME }, + new Integer[] { Select2.JOIN_INNER }, new Expression[] { - new Field( UtilizadoresData.TIPO_FULL ).isEqual( new Field( TiposUtilizadoresData.TIPO_FULL ) ), - new Field( UtilizadoresData.ESTABELECIMENTO_ID_FULL ).isEqual( new Field( EstabelecimentosData.ID_FULL ) ) + new Field( UtilizadoresData.TIPO_FULL ).isEqual( new Field( TiposUtilizadoresData.TIPO_FULL ) ) }, new String[] { UtilizadoresData.ID_FULL, UtilizadoresData.LOGIN_FULL, UtilizadoresData.PASSWORD_FULL, UtilizadoresData.EMAIL_FULL, @@ -296,15 +305,15 @@ public class UtilizadoresDataProvider extends GenericDataProvider UtilizadoresData.ACTIVO_FULL, UtilizadoresData.RESPONSAVEL_LOJA_FULL, UtilizadoresData.NUMERO_MECANOGRAFICO_FULL, UtilizadoresData.GESTOR_GERAL_FULL, UtilizadoresData.PRIMEIRO_LOGIN_FULL, UtilizadoresData.APAGADO_FULL, UtilizadoresData.DATA_PASSWORD_FULL, - EstabelecimentosData.NOME_FULL, TiposUtilizadoresData.DESCRICAO_FULL + TiposUtilizadoresData.DESCRICAO_FULL }, whereExpression, - new String[] { UtilizadoresData.NUMERO_MECANOGRAFICO_FULL, UtilizadoresData.TIPO_FULL, EstabelecimentosData.NOME_FULL }, + new String[] { UtilizadoresData.NUMERO_MECANOGRAFICO_FULL, UtilizadoresData.TIPO_FULL }, null, null, null ); - + System.out.println( "\nUtilizadores SQL : " + query.toString() ); Virtual2DArray array = getExecuter().executeQuery( query ); if ( array != null ) @@ -332,8 +341,17 @@ public class UtilizadoresDataProvider extends GenericDataProvider String apagado = array.get( i, 18 ); Date dataPassword = array.get( i, 19 ); java.sql.Date sqlDataPassword = dataPassword == null ? null : new java.sql.Date( dataPassword.getTime() ); - String nomeEstabelecimento = array.get( i, 20 ); - String categoria = array.get( i, 21 ); + String categoria = array.get( i, 20 ); + + String nomeEstabelecimento = ""; + try + { + nomeEstabelecimento = AnalisesDataProvider.getInstance().getEstabelecimentoNome( estabelecimento_ID ); + } + catch ( Exception e ) + { + ErrorLogger.logException( e ); + } Utilizador u = new Utilizador(); u.setId( userID ); @@ -347,7 +365,7 @@ public class UtilizadoresDataProvider extends GenericDataProvider u.setTipo( tipoTIPO ); u.setNumero_cedula( numeroCedula ); u.setCap( cap ); - u.setNome( Utils.unicodeToHTML( nomeUtilizador ) ); + u.setNome( Utils.htmlToText( Utils.unicodeToHTML( nomeUtilizador ) ) ); u.setMedico_id( medicoID ); u.setFuncionario_hst_id( funcionarioHSTID ); u.setActivo( activoUtilizador ); @@ -356,7 +374,7 @@ public class UtilizadoresDataProvider extends GenericDataProvider u.setNumero_mecanografico( numeroMecanografico ); u.setCategoria( categoria ); u.setApagado( apagado ); - u.setNome_estabelecimento( nomeEstabelecimento ); + u.setNome_estabelecimento( Utils.htmlToText( Utils.unicodeToHTML( nomeEstabelecimento ) ) ); listUtilizadores.add( u ); } @@ -508,6 +526,7 @@ public class UtilizadoresDataProvider extends GenericDataProvider // { // ErrorLogger.logException( e ); // } +// // if ( booDirRh.matches( "y" ) ) // { // int uType = u.getTipo().intValue(); diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java index 3778c6b6..beb22b16 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java @@ -197,7 +197,56 @@ public class Utils { return output; } - + + public static String htmlToText(String text) + { + String output = text; + if (output != null) + { + output = output.replaceAll("À", "À"); + output = output.replaceAll("Á", "Á"); + output = output.replaceAll("Â", "Â"); + output = output.replaceAll("Ã", "Ã"); + output = output.replaceAll("Ç", "Ç"); + output = output.replaceAll("È", "È"); + output = output.replaceAll("É", "É"); + output = output.replaceAll("Ó", "Ó"); + output = output.replaceAll("Ò", "Ò"); + + output = output.replaceAll("Ê", "Ê"); + output = output.replaceAll("Ì", "Ì"); + output = output.replaceAll("Í", "Í"); + output = output.replaceAll("Î", "Î"); + output = output.replaceAll("ò", "ò"); + output = output.replaceAll("ó", "ó"); + output = output.replaceAll("ô", "ô"); + output = output.replaceAll("õ", "õ"); + output = output.replaceAll("Ù", "Ù"); + output = output.replaceAll("Ú", "Ú"); + output = output.replaceAll("Û", "Û"); + + output = output.replaceAll("à", "à"); + output = output.replaceAll("á", "á"); + output = output.replaceAll("â", "â"); + output = output.replaceAll("ã", "ã"); + output = output.replaceAll("ç", "ç"); + output = output.replaceAll("è", "è"); + output = output.replaceAll("é", "é"); + output = output.replaceAll("ê", "ê"); + output = output.replaceAll("ì", "ì"); + output = output.replaceAll("í", "í"); + output = output.replaceAll("î", "î"); + output = output.replaceAll("ò", "ò"); + output = output.replaceAll("ó", "ó"); + output = output.replaceAll("ô", "ô"); + output = output.replaceAll("õ", "õ"); + output = output.replaceAll("ù", "ù"); + output = output.replaceAll("ú", "ú"); + output = output.replaceAll("û", "û"); + } + return output; + } + public static String getPageFrom(String referer) { String pageFrom = referer.substring(referer.lastIndexOf("/")+1);