diff --git a/trunk/siprp/ficha/ExamePDF.java b/trunk/siprp/ficha/ExamePDF.java index 9b8f22b3..115b564a 100644 --- a/trunk/siprp/ficha/ExamePDF.java +++ b/trunk/siprp/ficha/ExamePDF.java @@ -10,7 +10,8 @@ import com.lowagie.text.pdf.*; import com.evolute.utils.*; import siprp.*; -public class ExamePDF { +public class ExamePDF implements FichaAptidaoConstants +{ private final Font FONT_BOLD = FontFactory.getFont( "Arial", 8, Font.BOLD ); private final Font FONT_NORMAL = FontFactory.getFont( "Arial", 8, Font.NORMAL ); private final Font FONT_ZAPFDINGBATS = new Font( Font.ZAPFDINGBATS , 12, Font.NORMAL, new Color( 0, 0, 0 ) ); @@ -105,11 +106,11 @@ public class ExamePDF { // medicos.nome // numero_cedula - ht.put( "trabalhadores.nome", "Trabalhador do com\u00e9rcio" ); - ht.put( "servico_saude_designacao", "Designacao servico saude" ); - ht.put( "servico_saude_tipo_externo", "" + Boolean.TRUE ); - ht.put( "tipo_periodico", "" + Boolean.TRUE ); - ht.put( "resultado_inapto_temp", "" + Boolean.TRUE ); + ht.put( TRABALHADORES_NOME, "Trabalhador do com\u00e9rcio" ); + ht.put( SERVICO_SAUDE_DESIGNACAO, "Designacao servico saude" ); + ht.put( SERVICO_SAUDE_TIPO_EXTERNO, "" + Boolean.TRUE ); + ht.put( TIPO_PERIODICO, "" + Boolean.TRUE ); + ht.put( RESULTADO_INAPTO_TEMP, "" + Boolean.TRUE ); FileOutputStream fos = new FileOutputStream( System.getProperty( "user.home" ) + "\\report.pdf" ); fos.write( new ExamePDF().createPDF( ht ) ); fos.close(); @@ -236,49 +237,49 @@ public class ExamePDF { table.addCell( new Phrase( "Empresa/Entidade", FONT_BOLD ) ); - StringBuffer texto = new StringBuffer(); + StringBuilder texto = new StringBuilder(); Phrase ph = new Phrase( 12f ); Cell cell = new Cell(); - texto.append( "DESIGNA\u00c7\u00c3O SOCIAL: " + values.get( "designacao_social" ) + "\n" ); - texto.append( "ESTABELECIMENTO: " + values.get( "estabelecimentos.nome" ) - + " LOCALIDADE: " + values.get( "estabelecimentos.localidade" ) + "\n" ); + texto.append( "DESIGNA\u00c7\u00c3O SOCIAL: " + values.get( DESIGNACAO_SOCIAL ) + "\n" ); + texto.append( "ESTABELECIMENTO: " + values.get( ESTABELECIMENTOS_NOME ) + + " LOCALIDADE: " + values.get( ESTABELECIMENTOS_LOCALIDADE ) + "\n" ); texto.append( "SERVI\u00c7O DE SA\u00DaDE: Tipo " ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); - texto = new StringBuffer( "Interno" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_saude_tipo_interno" ) != null ) ); + texto = new StringBuilder( "Interno" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_SAUDE_TIPO_INTERNO ) ) ); - texto = new StringBuffer( "Interempresas" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_saude_tipo_interempresas" ) != null, true ) ); + texto = new StringBuilder( "Interempresas" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_SAUDE_TIPO_INTEREMPRESAS ), true ) ); - texto = new StringBuffer( "Externo" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_saude_tipo_externo" ) != null, true ) ); + texto = new StringBuilder( "Externo" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_SAUDE_TIPO_EXTERNO ), true ) ); - texto = new StringBuffer( "Servi\u00e7o Nacional de Sa\u00fade\n" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_saude_tipo_sns" ) != null, true ) ); + texto = new StringBuilder( "Servi\u00e7o Nacional de Sa\u00fade\n" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_SAUDE_TIPO_SNS ), true ) ); - texto = new StringBuffer(); + texto = new StringBuilder(); - texto.append( "DESIGNA\u00c7\u00c3O: " + values.get( "servico_saude_designacao" ) + "\n" ); + texto.append( "DESIGNA\u00c7\u00c3O: " + values.get( SERVICO_SAUDE_DESIGNACAO ) + "\n" ); texto.append( "SERVI\u00c7O DE HIGIENE E SEGURAN\u00c7A: Tipo " ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); - texto = new StringBuffer( "Interno" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_higiene_tipo_interno" ) != null ) ); + texto = new StringBuilder( "Interno" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_HIGIENE_TIPO_INTERNO ) ) ); - texto = new StringBuffer( "Interempresas" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_higiene_tipo_interempresas" ) != null, true ) ); + texto = new StringBuilder( "Interempresas" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_HIGIENE_TIPO_INTEREMPRESAS ), true ) ); - texto = new StringBuffer( "Externo" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_higiene_tipo_externo" ) != null, true ) ); + texto = new StringBuilder( "Externo" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_HIGIENE_TIPO_EXTERNO ), true ) ); - texto = new StringBuffer( "Outro\n" ); - ph.add( doCheckedPhrase( texto.toString(), values.get( "servico_higiene_outro" ) != null, true ) ); + texto = new StringBuilder( "Outro\n" ); + ph.add( doCheckedPhrase( texto.toString(), values.get( SERVICO_HIGIENE_TIPO_OUTRO ), true ) ); - texto = new StringBuffer(); + texto = new StringBuilder(); - texto.append( "DESIGNA\u00c7\u00c3O: " + values.get( "servico_higiene_designacao" ) + "" ); + texto.append( "DESIGNA\u00c7\u00c3O: " + values.get( SERVICO_HIGIENE_DESIGNACAO ) + "" ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); @@ -295,19 +296,19 @@ public class ExamePDF { table.addCell( new Phrase( "Trabalhador", FONT_BOLD ) ); - texto = new StringBuffer(); - - texto.append( "NOME: " + values.get( "trabalhadores.nome" ) + "\n" ); - texto.append( "SEXO: " + values.get( "sexo" ) + " DATA DE NASCIMENTO: " - + values.get( "data_nascimento" ) + " NACIONALIDADE: " - + values.get( "nacionalidade" ) + "\n" ); - texto.append( "N\u00daMERO MECANOGR\u00c1FICO/OUTRO: " + values.get( "numero_mecanografico" ) - + " DATA DE ADMISS\u00c3O: " + values.get( "data_admissao" ) + "\n" ); - texto.append( "CATEGORIA PROFISSIONAL: " + values.get( "categoria" ) - + " LOCAL DE TRABALHO: " + values.get( "local_trabalho" ) + "\n" ); - texto.append( "FUN\u00c7\u00c3O PROPOSTA: " + values.get( "funcao_proposta" ) + texto = new StringBuilder(); + + texto.append( "NOME: " + values.get( TRABALHADORES_NOME ) + "\n" ); + texto.append( "SEXO: " + values.get( SEXO ) + " DATA DE NASCIMENTO: " + + values.get( DATA_NASCIMENTO ) + " NACIONALIDADE: " + + values.get( NACIONALIDADE ) + "\n" ); + texto.append( "N\u00daMERO MECANOGR\u00c1FICO/OUTRO: " + values.get( NUMERO_MECANOGRAFICO ) + + " DATA DE ADMISS\u00c3O: " + values.get( DATA_ADMISSAO ) + "\n" ); + texto.append( "CATEGORIA PROFISSIONAL: " + values.get( CATEGORIA ) + + " LOCAL DE TRABALHO: " + values.get( LOCAL_TRABALHO ) + "\n" ); + texto.append( "FUN\u00c7\u00c3O PROPOSTA: " + values.get( FUNCAO_PROPOSTA ) + " DATA DE ADMISS\u00c3O NA FUN\u00c7\u00c3O: " - + values.get( "data_admissao_funcao" ) + "" ); + + values.get( DATA_ADMISSAO_FUNCAO ) + "" ); table.addCell( new Phrase( 12f, texto.toString(), FONT_NORMAL ) ); document.add( table ); @@ -321,8 +322,8 @@ public class ExamePDF { table.addCell( new Phrase( "Observa\u00e7\u00f5es", FONT_BOLD ) ); - texto = new StringBuffer(); - texto.append( values.get( "observacoes" ) ); + texto = new StringBuilder(); + texto.append( values.get( OBSERVACOES ) ); table.addCell( new Phrase( 12f, texto.toString(), FONT_NORMAL ) ); document.add( table ); @@ -339,35 +340,35 @@ public class ExamePDF { cell.setColspan( 2 ); table.addCell( cell ); - texto = new StringBuffer(); + texto = new StringBuilder(); ph = new Phrase( 12f ); - texto.append( "DATA DO EXAME: " + values.get( "exames.data" ) + "\n" ); + texto.append( "DATA DO EXAME: " + values.get( EXAMES_DATA ) + "\n" ); texto.append( "TIPO\n" ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); - ph.add( doCheckedPhrase( "ADMISS\u00c3O\n", values.get( "tipo_admissao" ) != null ) ); + ph.add( doCheckedPhrase( "ADMISS\u00c3O\n", values.get( TIPO_ADMISSAO ) ) ); - ph.add( doCheckedPhrase( "PERI\u00d3DICO\n", values.get( "tipo_periodico" ) != null ) ); + ph.add( doCheckedPhrase( "PERI\u00d3DICO\n", values.get( TIPO_PERIODICO ) ) ); - ph.add( doCheckedPhrase( "OCASIONAL\n", values.get( "tipo_ocasional" ) != null ) ); + ph.add( doCheckedPhrase( "OCASIONAL\n", values.get( TIPO_OCASIONAL ) ) ); - ph.add( doCheckedPhrase( "AP\u00d3S DOEN\u00c7A\n", values.get( "tipo_apos_doenca" ) != null, true ) ); + ph.add( doCheckedPhrase( "AP\u00d3S DOEN\u00c7A\n", values.get( TIPO_APOS_DOENCA ), true ) ); - ph.add( doCheckedPhrase( "AP\u00d3S ACIDENTE\n", values.get( "tipo_apos_acidente" ) != null, true ) ); + ph.add( doCheckedPhrase( "AP\u00d3S ACIDENTE\n", values.get( TIPO_APOS_ACIDENTE ), true ) ); - ph.add( doCheckedPhrase( "A PEDIDO DO TRABALHADOR\n", values.get( "tipo_pedido_trabalhador" ) != null, true ) ); + ph.add( doCheckedPhrase( "A PEDIDO DO TRABALHADOR\n", values.get( TIPO_PEDIDO_TRABALHADOR ), true ) ); - ph.add( doCheckedPhrase( "A PEDIDO DO SERVI\u00c7O\n", values.get( "tipo_pedido_empresa" ) != null, true ) ); + ph.add( doCheckedPhrase( "A PEDIDO DO SERVI\u00c7O\n", values.get( TIPO_PEDIDO_EMPRESA ), true ) ); - ph.add( doCheckedPhrase( "POR MUDAN\u00c7A DE FUN\u00c7\u00c3O\n", values.get( "tipo_mudanca_funcao" ) != null, true ) ); + ph.add( doCheckedPhrase( "POR MUDAN\u00c7A DE FUN\u00c7\u00c3O\n", values.get( TIPO_MUDANCA_FUNCAO ), true ) ); - ph.add( doCheckedPhrase( "POR ALTERA\u00c7\u00c3O DAS CONDI\u00c7\u00d5ES DE TRABALHO\n", values.get( "tipo_trabalho" ) != null, true ) ); + ph.add( doCheckedPhrase( "POR ALTERA\u00c7\u00c3O DAS CONDI\u00c7\u00d5ES DE TRABALHO\n", values.get( TIPO_TRABALHO ), true ) ); - ph.add( doCheckedPhrase( "OUTRO\n", values.get( "tipo_outro" ) != null, true ) ); + ph.add( doCheckedPhrase( "OUTRO\n", values.get( TIPO_OUTRO ), true ) ); - texto = new StringBuffer(); + texto = new StringBuilder(); texto.append( " ESPECIFIQUE: " - + ( ( values.get( "tipo_outro" ) == null ) ? "" : values.get( "tipo_outro" ) ) + "" ); + + values.get( TIPO_OUTRO_TEXTO ) ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); @@ -375,24 +376,24 @@ public class ExamePDF { ph = new Phrase( 12f ); ph.add( new Chunk( "RESULTADO\n", FONT_NORMAL ) ); - ph.add( doCheckedPhrase( "APTO\n", values.get( "resultado_apto" ) != null ) ); + ph.add( doCheckedPhrase( "APTO\n", values.get( RESULTADO_APTO ) ) ); - ph.add( doCheckedPhrase( "APTO CONDICIONALMENTE\n\n", values.get( "resultado_apto_condicionalmente" ) != null ) ); + ph.add( doCheckedPhrase( "APTO CONDICIONALMENTE\n\n", values.get( RESULTADO_APTO_CONDICIONALMENTE ) ) ); - ph.add( doCheckedPhrase( "INAPTO TEMPORARIAMENTE\n", values.get( "resultado_inapto_temp" ) != null ) ); + ph.add( doCheckedPhrase( "INAPTO TEMPORARIAMENTE\n", values.get( RESULTADO_INAPTO_TEMP ) ) ); - ph.add( doCheckedPhrase( "INAPTO DEFINITIVAMENTE\n\n", values.get( "resultado_inapto_def" ) != null ) ); + ph.add( doCheckedPhrase( "INAPTO DEFINITIVAMENTE\n\n", values.get( RESULTADO_INAPTO_DEF ) ) ); - texto = new StringBuffer(); + texto = new StringBuilder(); texto.append( "OUTRAS FUN\u00c7\u00d5ES QUE PODE DESEMPENHAR\n" ); texto.append( " 1 " - + ( ( values.get( "outra_funcao_1" ) == null ) ? "" : values.get( "outra_funcao_1" ) ) + "\n" ); + + values.get( OUTRA_FUNCAO_1 ) + "\n" ); texto.append( " 2 " - + ( ( values.get( "outra_funcao_2" ) == null ) ? "" : values.get( "outra_funcao_2" ) ) + "\n" ); + + values.get( OUTRA_FUNCAO_2 ) + "\n" ); texto.append( " 3 " - + ( ( values.get( "outra_funcao_3" ) == null ) ? "" : values.get( "outra_funcao_3" ) ) + "\n" ); + + values.get( OUTRA_FUNCAO_3 ) + "\n" ); texto.append( " 4 " - + ( ( values.get( "outra_funcao_4" ) == null ) ? "" : values.get( "outra_funcao_4" ) ) + "" ); + + values.get( OUTRA_FUNCAO_4 ) + "\n" ); ph.add( new Chunk( texto.toString(), FONT_NORMAL ) ); table.addCell( ph ); @@ -407,13 +408,13 @@ public class ExamePDF { table.addCell( new Phrase( "Outras Recomenda\u00e7\u00f5es", FONT_BOLD ) ); - texto = new StringBuffer(); + texto = new StringBuilder(); if( ( (Boolean) Singleton.getInstance( SingletonConstants.FICHA_MARCA_EXAMES ) ).booleanValue() ) { System.out.println( "ficha marca exames" ); - texto.append( "PR\u00d3XIMO EXAME: " + values.get( "proximo_exame" ) + "\n" ); + texto.append( "PR\u00d3XIMO EXAME: " + values.get( PROXIMO_EXAME ) + "\n" ); } - texto.append( "" + values.get( "outras_recomendacoes" ) + "" ); + texto.append( "" + values.get( OUTRAS_RECOMENDACOES ) + "" ); table.addCell( new Phrase( 12f, texto.toString(), FONT_NORMAL ) ); document.add( table ); @@ -425,10 +426,10 @@ public class ExamePDF { table.setPadding( 5 ); table.setWidth( 100 ); - texto = new StringBuffer(); + texto = new StringBuilder(); texto.append( "M\u00c9DICO DO TRABALHO: " - + values.get( "medicos.nome" ) + " C.P. " + values.get( "numero_cedula" ) + "\n" ); + + values.get( MEDICOS_NOME ) + " C.P. " + values.get( NUMERO_CEDULA ) + "\n" ); texto.append( "ASSINATURA _____________________________________________________________________________________\n\n" ); texto.append( "TOMEI CONHECIMENTO ___________________________________________________________ DATA:____/____/________\n" ); texto.append( " O RESPONS\u00c1VEL DOS RECURSOS HUMANOS" ); @@ -446,8 +447,9 @@ public class ExamePDF { return bos.toByteArray(); } - private Phrase doCheckedPhrase( String text, boolean checked, boolean indent ) + private Phrase doCheckedPhrase( String text, String phrase, boolean indent ) { + boolean checked = SQUARE.equals( phrase ); Phrase p = new Phrase( 12f ); //p.add( new Chunk( ( indent ? " " : "" ) + ( char )( checked? 110: 111) + " ", FONT_ZAPFDINGBATS ) ); //System.out.println( "FAMILY: " + FONT_WINGDINGS.getFamilyname() ); @@ -457,8 +459,8 @@ public class ExamePDF { return p; } - private Phrase doCheckedPhrase( String text, boolean checked ) + private Phrase doCheckedPhrase( String text, String phrase ) { - return doCheckedPhrase( text, checked, false ); + return doCheckedPhrase( text, phrase, false ); } } \ No newline at end of file