From dffe0e1d7548c3e41cd2911ce9249d20a96f0735 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Thu, 6 Mar 2008 15:01:20 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@689 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../src/java/pdf/PdfGenerator.java | 335 +++++++++++++++++- 1 file changed, 332 insertions(+), 3 deletions(-) diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/pdf/PdfGenerator.java b/trunk/AnaliseAcidentesTrabalho/src/java/pdf/PdfGenerator.java index 14f7a635..cab1f4ad 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/pdf/PdfGenerator.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/pdf/PdfGenerator.java @@ -1,22 +1,351 @@ package pdf; +import java.sql.Time; +import java.util.Calendar; +import java.util.Date; + import org.jdom.Element; import analiseacidentestrabalho.AnaliseAcidente; public class PdfGenerator { - public PdfGenerator() + protected final AnaliseAcidente analiseAcidente; + + public PdfGenerator( AnaliseAcidente analiseAcidente ) { + this.analiseAcidente = analiseAcidente; + } + + public byte[] generatePdf() + { + return null; } - public void generatePdf( AnaliseAcidente analiseAcidente ) + protected Element createXml() { Element rootElement = new Element( "AnaliseAcidente" ); Element numeroElement = new Element( "Numero" ); numeroElement.setText( analiseAcidente.getAnalise_nr() ); rootElement.addContent( numeroElement ); - Element dataElement = new Element( "Data" ); +//PERGUNTAR + Date data = new Date(); + rootElement.addContent( createDataElement( "Data", data ) ); + rootElement.addContent( createEntidadeEmpregadoraElement() ); + rootElement.addContent( createSeguroElement() ); + rootElement.addContent( createEmpresaSHSTElement() ); + rootElement.addContent( createAcidentadoElement() ); + return rootElement; + } + + protected Element createEntidadeEmpregadoraElement() + { + Element entidadeEmpregadoraElement = new Element( "EntidadeEmpregadora" ); + Element identificacaoElement = new Element( "IdentificacaoCompleta" ); + identificacaoElement.setText( "Companhia Portuguesa de Hipermercados, S.A., com sede na Travessa Teixeira J\u00fanior, 1 - 1300-553 Lisboa" ); + entidadeEmpregadoraElement.addContent( identificacaoElement ); + Element actividadeElement = new Element( "Actividade" ); + actividadeElement.setText( "Com\u00e9rcio a Retalho em Supermercados e Hipermercados" ); + entidadeEmpregadoraElement.addContent( actividadeElement ); + Element lojaElement = new Element( "Loja" ); +//PERGUNTAR + entidadeEmpregadoraElement.addContent( lojaElement ); + return entidadeEmpregadoraElement; + } + + protected Element createSeguroElement() + { + Element seguroElement = new Element( "Seguro" ); + Element empresaElement = new Element( "Empresa" ); + empresaElement.setText( "Mapfre Seguros Gerais, S.A." ); + seguroElement.addContent( empresaElement ); + Element apoliceElement = new Element( "Apolice" ); + apoliceElement.setText( "1500591100500" ); + seguroElement.addContent( apoliceElement ); + return seguroElement; + } + + protected Element createEmpresaSHSTElement() + { + Element empresaSHSTElement = new Element( "EmpresaSHST" ); + Element identificacaoElement = new Element( "IdentificacaoCompleta" ); + identificacaoElement.setText( + "SIPRP - Sociedade Ibérica de Prevenção de Riscos Profissionais Lda., " + + "com sede no Edifício Atrium Saldanha, Praça Duque de Saldanha, 1 - 9º G" + + " - 1050-094 Lisboa " ); + empresaSHSTElement.addContent( identificacaoElement ); + Element tecnicoSuperiorHSTElement = new Element( "TecnicoSuperiorHST" ); + + Element nomeTecnicoSuperiorHSTElement = new Element( "Nome" ); +//PERGUNTAR + nomeTecnicoSuperiorHSTElement.setText( "" ); + tecnicoSuperiorHSTElement.addContent( nomeTecnicoSuperiorHSTElement ); + Element capElement = new Element( "CAP" ); +//PERGUNTAR + capElement.setText( "" ); + tecnicoSuperiorHSTElement.addContent( capElement ); + empresaSHSTElement.addContent( tecnicoSuperiorHSTElement ); + Element medicoTrabalhoElement = new Element( "MedicoTrabalho" ); + Element nomeMedicoTrabalhoElement = new Element( "Nome" ); +//PERGUNTAR + nomeMedicoTrabalhoElement.setText( "" ); + medicoTrabalhoElement.addContent( nomeMedicoTrabalhoElement ); + Element cedulaElement = new Element( "Cedula" ); +//PERGUNTAR + cedulaElement.setText( "" ); + medicoTrabalhoElement.addContent( cedulaElement ); + empresaSHSTElement.addContent( medicoTrabalhoElement ); + return empresaSHSTElement; + } + + protected Element createAcidentadoElement() + { + Element acidentadoElement = new Element( "Acidentado" ); + Element nomeElement = new Element( "Nome" ); + nomeElement.setText( analiseAcidente.getNome_acidentado() ); + acidentadoElement.addContent( nomeElement ); + Element estabelecimentoOrigemElement = new Element( "EstabelecimentoOrigem" ); + Element nomeEstabelecimentoOrigemElement = new Element( "Nome" ); +//PERGUNTAR + nomeEstabelecimentoOrigemElement.setText( "" ); + estabelecimentoOrigemElement.addContent( nomeEstabelecimentoOrigemElement ); + acidentadoElement.addContent( estabelecimentoOrigemElement ); +//PERGUNTAR + Date dataNascimento = new Date(); + acidentadoElement.addContent( createDataElement( "DataNascimento", dataNascimento ) ); + Element biElement = new Element( "BilheteIdentidade" ); + Element numeroBiElement = new Element( "Numero" ); +//PERGUNTAR + numeroBiElement.setText( "" ); + biElement.addContent( numeroBiElement ); + acidentadoElement.addContent( biElement ); + Element moradaElement = new Element( "Morada" ); +//PERGUNTAR + moradaElement.setText( "" ); + acidentadoElement.addContent( moradaElement ); + Element telefoneElement = new Element( "Telefone" ); +//PERGUNTAR + telefoneElement.setText( "" ); + acidentadoElement.addContent( telefoneElement ); +//PERGUNTAR + Date dataAdmissao = new Date(); + acidentadoElement.addContent( createDataElement( "DataAdmissao", dataAdmissao ) ); + Element funcaoElement = new Element( "Funcao" ); +//PERGUNTAR + funcaoElement.setText( "" ); + acidentadoElement.addContent( funcaoElement ); + Element turnoElement = new Element( "Turno" ); +//PERGUNTAR + turnoElement.setText( "" ); + acidentadoElement.addContent( turnoElement ); + Element superiorElement = new Element( "Superior" ); + Element nomeSuperiorElement = new Element( "Nome" ); +//PERGUNTAR + nomeSuperiorElement.setText( "" ); + superiorElement.addContent( nomeSuperiorElement ); + Element emailSuperiorElement = new Element( "Email" ); +//PERGUNTAR + emailSuperiorElement.setText( "" ); + superiorElement.addContent( emailSuperiorElement ); + acidentadoElement.addContent( superiorElement ); + return acidentadoElement; + } + + protected Element createAcidenteElement() + { + Element acidenteElement = new Element( "Acidente" ); + Element averiguadorElement = new Element( "Averiguador" ); + Element nomeAveriguadorElement = new Element( "Nome" ); +//PERGUNTAR + nomeAveriguadorElement.setText( "" ); + averiguadorElement.addContent( nomeAveriguadorElement ); + acidenteElement.addContent( averiguadorElement ); +//PERGUNTAR + Date dataOcorrencia = new Date(); + acidenteElement.addContent( createDataElement( "DataOcorrencia", dataOcorrencia ) ); + Time horaOcorrencia = analiseAcidente.getHora_acidente(); + acidenteElement.addContent( createHoraElement( "HoraOcorrencia", horaOcorrencia ) ); + Element horasTrabalhadasElement = new Element( "HorasTrabalhadas" ); +//PERGUNTAR + horasTrabalhadasElement.setText( "" ); + acidenteElement.addContent( horasTrabalhadasElement ); + Element localElement = new Element( "Local" ); + Element seccaoElement = new Element( "Seccao" ); +//PERGUNTAR + seccaoElement.setText( "" ); + localElement.addContent( seccaoElement ); + Element localEspecificoElement = new Element( "LocalEspecifico" ); +//PERGUNTAR + localEspecificoElement.setText( "" ); + localElement.addContent( localEspecificoElement ); + acidenteElement.addContent( localElement ); + Element actividadeElement = new Element( "Actividade" ); + Element descricaoActividadeElement = new Element( "Descricao" ); +//PERGUNTAR + descricaoActividadeElement.setText( "" ); + actividadeElement.addContent( descricaoActividadeElement ); + Element objectosActividadeElement = new Element( "Objectos" ); +//PERGUNTAR + objectosActividadeElement.setText( "" ); + actividadeElement.addContent( objectosActividadeElement ); + Element condicoesActividadeElement = new Element( "Condicoes" ); +//PERGUNTAR + condicoesActividadeElement.setText( "" ); + actividadeElement.addContent( condicoesActividadeElement ); + acidenteElement.addContent( actividadeElement ); + Element testemunhasElement = new Element( "Testemunhas" ); +//PERGUNTAR + testemunhasElement.setText( "" ); + acidenteElement.addContent( testemunhasElement ); + Element causasElement = new Element( "Causas" ); +//perguntar + causasElement.setText( "" ); + acidenteElement.addContent( causasElement ); + Element descricaoElement = new Element( "Descricao" ); +//PERGUNTAR + descricaoElement.setText( "" ); + acidenteElement.addContent( descricaoElement ); + Element imagensElement = new Element( "Imagens" ); +//PERGUNTAR + String imagens[] = new String[]{}; + for( String imagem : imagens ) + { + Element imagemElement = new Element( "Imagem" ); + imagemElement.setText( imagem ); + imagensElement.addContent( imagemElement ); + } + acidenteElement.addContent( imagensElement ); + Element conclusoesElement = new Element( "Conclusoes" ); +//PERGUNTAR + conclusoesElement.setText( "" ); + acidenteElement.addContent( conclusoesElement ); + Element accoesTomadasElement = new Element( "AccoesTomadas" ); +//PERGUNTAR + accoesTomadasElement.setText( "" ); + acidenteElement.addContent( accoesTomadasElement ); + Element formacaoSHSTElement = new Element( "FormacaoSHST" ); + Element teveFormacaoSHSTElement = new Element( "TeveFormacao" ); +//PERGUNTAR + teveFormacaoSHSTElement.setText( "" ); + formacaoSHSTElement.addContent( teveFormacaoSHSTElement ); + Element motivoFormacaoSHSTElement = new Element( "Motivo" ); +//PERGUNTAR + motivoFormacaoSHSTElement.setText( "" ); + formacaoSHSTElement.addContent( motivoFormacaoSHSTElement ); + acidenteElement.addContent( formacaoSHSTElement ); + Element outrasOcorrenciasMesmoPostoElement = new Element( "OutrasOcorrenciasMesmoPosto" ); + Element quantidadeOutrasOcorrenciasMesmoPostoElement = new Element( "Quantidade" ); +//PERGUNTAR + quantidadeOutrasOcorrenciasMesmoPostoElement.setText( "" ); + outrasOcorrenciasMesmoPostoElement.addContent( quantidadeOutrasOcorrenciasMesmoPostoElement ); + Element relatoriosOutrasOcorrenciasMesmoPostoElement = new Element( "Relatorios" ); +//PERGUNTAR + String numerosRelatoriosOutrasOcorrenciasMesmoPosto[] = new String[]{}; + for( String numeroRelatorio : numerosRelatoriosOutrasOcorrenciasMesmoPosto ) + { + Element relatorioElement = new Element( "Relatorio" ); + relatorioElement.setText( numeroRelatorio ); + relatoriosOutrasOcorrenciasMesmoPostoElement.addContent( relatorioElement ); + } + outrasOcorrenciasMesmoPostoElement.addContent( relatoriosOutrasOcorrenciasMesmoPostoElement ); + acidenteElement.addContent( outrasOcorrenciasMesmoPostoElement ); + Element outrasOcorrenciasOutrosTrabalhadoresElement = new Element( "OutrasOcorrenciasOutrosTrabalhadores" ); + Element quantidadeOutrasOcorrenciasOutrosTrabalhadoresElement = new Element( "Quantidade" ); +//PERGUNTAR + quantidadeOutrasOcorrenciasOutrosTrabalhadoresElement.setText( "" ); + outrasOcorrenciasOutrosTrabalhadoresElement.addContent( quantidadeOutrasOcorrenciasOutrosTrabalhadoresElement ); + Element relatoriosOutrasOcorrenciasOutrosTrabalhadoresElement = new Element( "Relatorios" ); +//PERGUNTAR + String numerosRelatoriosOutrasOcorrenciasOutrosTrabalhadores[] = new String[]{}; + for( String numeroRelatorio : numerosRelatoriosOutrasOcorrenciasOutrosTrabalhadores ) + { + Element relatorioElement = new Element( "Relatorio" ); + relatorioElement.setText( numeroRelatorio ); + relatoriosOutrasOcorrenciasOutrosTrabalhadoresElement.addContent( relatorioElement ); + } + outrasOcorrenciasOutrosTrabalhadoresElement.addContent( relatoriosOutrasOcorrenciasOutrosTrabalhadoresElement ); + acidenteElement.addContent( outrasOcorrenciasOutrosTrabalhadoresElement ); + Element lesaoElement = new Element( "Lesao" ); + Element areasLesaoElement = new Element( "Areas" ); +//PERGUNTAR + String areasLesao[][] = new String[][]{}; + for( String area[] : areasLesao ) + { + Element areaLesaoElement = new Element( "Area" ); + Element nomeAreaLesaoElement = new Element( "Nome" ); + nomeAreaLesaoElement.setText( area[ 0 ] ); + areaLesaoElement.addContent( nomeAreaLesaoElement ); + Element detalheAreaLesaoElement = new Element( "Detalhe" ); + detalheAreaLesaoElement.setText( area[ 1 ] ); + areaLesaoElement.addContent( detalheAreaLesaoElement ); + areasLesaoElement.addContent( areaLesaoElement ); + } + lesaoElement.addContent( areasLesaoElement ); + Element tipoLesaoElement = new Element( "Tipo" ); +//PERGUNTAR + tipoLesaoElement.setText( "" ); + lesaoElement.addContent( tipoLesaoElement ); + acidenteElement.addContent( lesaoElement ); + Element incapacidadeElement = new Element( "Incapacidade" ); +// + Element tipoIncapacidadeElement = new Element( "Tipo" ); +//PERGUNTAR + tipoIncapacidadeElement.setText( "" ); + incapacidadeElement.addContent( tipoIncapacidadeElement ); + Element coeficienteIncapacidadeElement = new Element( "Coeficiente" ); +//PERGUNTAR + coeficienteIncapacidadeElement.setText( "" ); + incapacidadeElement.addContent( coeficienteIncapacidadeElement ); +//PERGUNTAR + Date +// +// +// +// +// +// +// +// +// +// +// + acidenteElement.addContent( incapacidadeElement ); + return acidenteElement; + } + + protected Element createDataElement( String nome, Date data ) + { + Element dataElement = new Element( nome ); + Calendar cal = Calendar.getInstance(); + cal.setTime( data ); + Element anoElement = new Element( "Ano" ); + anoElement.setText( "" + cal.get( Calendar.YEAR ) ); + dataElement.addContent( anoElement ); + Element mesElement = new Element( "Mes" ); + int mes = cal.get( Calendar.MONTH ) + 1; + mesElement.setText( mes > 9 ? ( "" + mes ) : ( "0" + mes ) ); + dataElement.addContent( mesElement ); + Element diaElement = new Element( "Dia" ); + int dia = cal.get( Calendar.DAY_OF_MONTH ); + diaElement.setText( dia > 9 ? ( "" + dia ) : ( "0" + dia ) ); + dataElement.addContent( diaElement ); + return dataElement; + } + + protected Element createHoraElement( String nome, Date hora ) + { + Element horaElement = new Element( nome ); + Calendar cal = Calendar.getInstance(); + cal.setTime( hora ); + Element horasElement = new Element( "Horas" ); + int horas = cal.get( Calendar.HOUR_OF_DAY ); + horasElement.setText( horas > 9 ? ( "" + horas ) : ( "0" + horas ) ); + horaElement.addContent( horasElement ); + Element minutosElement = new Element( "Minutos" ); + int minutos = cal.get( Calendar.MINUTE ); + minutosElement.setText( minutos > 9 ? ( "" + minutos ) : ( "0" + minutos ) ); + horaElement.addContent( minutosElement ); + return horaElement; } }