forked from Coded/SIPRP
git-svn-id: https://svn.coded.pt/svn/SIPRP@689 bb69d46d-e84e-40c8-a05a-06db0d633741
parent
aa33b59737
commit
dffe0e1d75
@ -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" );
|
||||
// <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
|
||||
// <DataAvaliacao>
|
||||
// <DataRevisao>
|
||||
// <PeriodoIncapacidade>
|
||||
// <Inicio>
|
||||
// <Ano>
|
||||
// <Mes>
|
||||
// <Dia>
|
||||
// <Fim>
|
||||
// <Ano>
|
||||
// <Mes>
|
||||
// <Dia>
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue