From 7226a51436a133cce4f8e2c1e90559a103307bec Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Thu, 18 Dec 2008 17:54:50 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@853 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../print/PlanoActuacaoPrintDataProvider.java | 96 ++- .../print/PlanoActuacaoToPrint.java | 32 +- .../planoactuacao/print/RiscoToPrint.java | 50 +- .../siprp/planoactuacao/print/TestPrint.java | 31 +- .../src/siprp/planoactuacao/print/out.xml | 769 +++++++++++++----- .../planoactuacao/print/plano_actuacao.xsl | 148 ++-- .../siprp/planoactuacao/print/teste_input.xml | 15 +- 7 files changed, 796 insertions(+), 345 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoPrintDataProvider.java b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoPrintDataProvider.java index bd0a9862..da46cb12 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoPrintDataProvider.java +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoPrintDataProvider.java @@ -56,7 +56,8 @@ public class PlanoActuacaoPrintDataProvider new Expression[]{}, new String[]{ "empresa_id", "nome_empresa", "estabelecimento_id", "nome_estabelecimento", - "data_relatorio", "data_visita" }, + "data_relatorio", "data_visita", "observacoes_dl", + "observacoes_dns" }, new Field( "id" ).isEqual( id ), null, null, @@ -70,15 +71,19 @@ public class PlanoActuacaoPrintDataProvider Integer logoId = getLogotipoIdForEmpresaId( empresaId ); Date dataRelatorio = ( Date ) array.get( 0, 4 ); Date dataVisita = ( Date ) array.get( 0, 5 ); + String observacoesDl = ( String ) array.get( 0, 6 ); + String observacoesDns = ( String ) array.get( 0, 7 ); EmpresaToPrint empresa = new EmpresaToPrint( nomeEmpresa, "http://apdp/siprp/auchan_jumbo_lado.jpg", nomeEstabelecimento ); PlanoActuacaoToPrint plano = new PlanoActuacaoToPrint( empresa, - new DataToPrint( "data-relatorio", dataRelatorio ), - new DataToPrint( "data-hs", dataVisita ), + dataRelatorio != null ? new DataToPrint( "data-relatorio", dataRelatorio ) : null, + dataVisita != null ? new DataToPrint( "data-hs", dataVisita ) : null, getLegislacaoAplicavel( empresaId, estabelecimentoId ), - getAreasToPrintByPlanoId( id ) ); + getAreasToPrintByPlanoId( id ), + observacoesDl, + observacoesDns ); return plano; } @@ -127,7 +132,7 @@ public class PlanoActuacaoPrintDataProvider { Integer areaId = ( Integer ) array.get( n, 0 ); String areaDescricao = ( String ) array.get( n, 1 ); - areas.add( new AreaToPrint( areaDescricao, null ) ); + areas.add( new AreaToPrint( areaDescricao, getRiscosToPrintByAreaId( areaId ) ) ); } return areas; } @@ -135,14 +140,15 @@ public class PlanoActuacaoPrintDataProvider public Vector getRiscosToPrintByAreaId( Integer areaId ) throws Exception { - Vector areas = new Vector(); + Vector riscos = new Vector(); Select select = new Select2( new String[]{ "plano_riscos" }, new Integer[]{}, new Expression[]{}, new String[]{ "id", "descricao", "valor", "responsavel_execucao", - "recursos_necessarios", ""}, + "recursos_necessarios", "data_inicio", "data_fim", + "parecer_dl", "parecer_dns", "verificacao_siprp"}, new Field( "area_id" ).isEqual( areaId ).and( new Field( "activo" ).isEqual( "y" ) ), new String[]{ "id" }, @@ -152,7 +158,81 @@ public class PlanoActuacaoPrintDataProvider Virtual2DArray array = WEB_EXECUTER.executeQuery( select ); for( int n = 0; n < array.columnLength(); n++ ) { + Integer id = ( Integer ) array.get( n, 0 ); + String descricao = ( String ) array.get( n, 1 ); + Integer valor = ( Integer ) array.get( n, 2 ); + String responsavelExecucao = ( String ) array.get( n, 3 ); + String recursosNecessarios = ( String ) array.get( n, 4 ); + Date dataInicio = ( Date ) array.get( n, 5 ); + Date dataFim = ( Date ) array.get( n, 6 ); + String parecerDl = ( String ) array.get( n, 7 ); + String parecerDns = ( String ) array.get( n, 8 ); + String verificacaoSiprp = ( String ) array.get( n, 9 ); + riscos.add( + new RiscoToPrint( + descricao, + valor, + getMedidasToPrintByRiscoId( id ), + responsavelExecucao, + recursosNecessarios, + dataInicio != null ? new DataToPrint( "data-prevista-inicio", dataInicio ) : null, + dataFim != null ? new DataToPrint( "data-prevista-conclusao", dataFim ) : null, + parecerDl, + parecerDns, + verificacaoSiprp ) ); } - return areas; + return riscos; + } + + public Vector getMedidasToPrintByRiscoId( Integer riscoId ) + throws Exception + { + Vector medidas = new Vector(); + Select select = + new Select2( + new String[]{ "plano_medidas" }, + new Integer[]{}, + new Expression[]{}, + new String[]{ "id", "descricao" }, + new Field( "risco_id" ).isEqual( riscoId ), + new String[]{ "id" }, + null, + null, + null ); + Virtual2DArray array = WEB_EXECUTER.executeQuery( select ); + for( int n = 0; n < array.columnLength(); n++ ) + { + Integer id = ( Integer ) array.get( n, 0 ); + String descricao = ( String ) array.get( n, 1 ); + medidas.add( + new MedidaToPrint( + descricao, + getPostosToPrintByMedidaId( id ) ) ); + } + return medidas; + } + + public Vector getPostosToPrintByMedidaId( Integer medidaId ) + throws Exception + { + Vector postos = new Vector(); + Select select = + new Select2( + new String[]{ "plano_postos_trabalho" }, + new Integer[]{}, + new Expression[]{}, + new String[]{ "id", "descricao" }, + new Field( "medida_id" ).isEqual( medidaId ), + new String[]{ "id" }, + null, + null, + null ); + Virtual2DArray array = WEB_EXECUTER.executeQuery( select ); + for( int n = 0; n < array.columnLength(); n++ ) + { + String descricao = ( String ) array.get( n, 1 ); + postos.add( new PostoToPrint( descricao ) ); + } + return postos; } } diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoToPrint.java b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoToPrint.java index 8471f403..b3157b02 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoToPrint.java +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/PlanoActuacaoToPrint.java @@ -12,10 +12,12 @@ public class PlanoActuacaoToPrint protected DataToPrint dataHs; protected LegislacaoAplicavelToPrint legislacaoAplicavel; protected Vector areas; + protected String observacoesDl; + protected String observacoesDns; public PlanoActuacaoToPrint( EmpresaToPrint empresa, DataToPrint dataRelatorio, DataToPrint dataHs, LegislacaoAplicavelToPrint legislacaoAplicavel, - Vector areas ) + Vector areas, String observacoesDl, String observacoesDns ) { super(); this.empresa = empresa; @@ -23,6 +25,8 @@ public class PlanoActuacaoToPrint this.dataHs = dataHs; this.legislacaoAplicavel = legislacaoAplicavel; this.areas = areas; + this.observacoesDl = observacoesDl; + this.observacoesDns = observacoesDns; } public EmpresaToPrint getEmpresa() @@ -98,7 +102,33 @@ public class PlanoActuacaoToPrint } planoElement.addContent( conclusoesElement ); } + Element observacoesDlElement = new Element( "observacoes-dl" ); + observacoesDlElement.setText( observacoesDl ); + planoElement.addContent( observacoesDl ); + Element observacoesDnsElement = new Element( "observacoes-dns" ); + observacoesDnsElement.setText( observacoesDns ); + planoElement.addContent( observacoesDns ); return planoElement; } + public String getObservacoesDl() + { + return observacoesDl; + } + + public void setObservacoesDl( String observacoesDl ) + { + this.observacoesDl = observacoesDl; + } + + public String getObservacoesDns() + { + return observacoesDns; + } + + public void setObservacoesDns( String observacoesDns ) + { + this.observacoesDns = observacoesDns; + } + } diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/RiscoToPrint.java b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/RiscoToPrint.java index 42ce3d73..92d2ec69 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/RiscoToPrint.java +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/RiscoToPrint.java @@ -14,16 +14,14 @@ public class RiscoToPrint protected String recursos; protected DataToPrint dataPrevistaInicio; protected DataToPrint dataPrevistaConclusao; - protected DataToPrint dataPropostaDns; - protected DataToPrint dataConclusao; protected String parecerDl; protected String parecerDns; + protected String verificacaoSiprp; public RiscoToPrint( String descricao, Integer valor, Vector medidas, String responsavel, String recursos, DataToPrint dataPrevistaInicio, DataToPrint dataPrevistaConclusao, - DataToPrint dataPropostaDns, DataToPrint dataConclusao, - String parecerDl, String parecerDns ) + String parecerDl, String parecerDns, String verificacaoSiprp ) { super(); this.descricao = descricao; @@ -33,10 +31,9 @@ public class RiscoToPrint this.recursos = recursos; this.dataPrevistaInicio = dataPrevistaInicio; this.dataPrevistaConclusao = dataPrevistaConclusao; - this.dataPropostaDns = dataPropostaDns; - this.dataConclusao = dataConclusao; this.parecerDl = parecerDl; this.parecerDns = parecerDns; + this.verificacaoSiprp = verificacaoSiprp; } @Override @@ -67,20 +64,15 @@ public class RiscoToPrint { riscoElement.addContent( dataPrevistaConclusao.toJdomElement() ); } - if( dataPropostaDns != null ) - { - riscoElement.addContent( dataPropostaDns.toJdomElement() ); - } - if( dataConclusao != null ) - { - riscoElement.addContent( dataConclusao.toJdomElement() ); - } Element parecerDlElement = new Element( "parecer-dl" ); parecerDlElement.setText( parecerDl ); riscoElement.addContent( parecerDlElement ); Element parecerDnsElement = new Element( "parecer-dns" ); parecerDnsElement.setText( parecerDns ); riscoElement.addContent( parecerDnsElement ); + Element verificacaoSiprpElement = new Element( "verificacao-siprp" ); + verificacaoSiprpElement.setText( verificacaoSiprp ); + riscoElement.addContent( verificacaoSiprpElement ); return riscoElement; } @@ -159,26 +151,6 @@ public class RiscoToPrint this.dataPrevistaConclusao = dataPrevistaConclusao; } - public DataToPrint getDataPropostaDns() - { - return dataPropostaDns; - } - - public void setDataPropostaDns( DataToPrint dataPropostaDns ) - { - this.dataPropostaDns = dataPropostaDns; - } - - public DataToPrint getDataConclusao() - { - return dataConclusao; - } - - public void setDataConclusao( DataToPrint dataConclusao ) - { - this.dataConclusao = dataConclusao; - } - public String getParecerDl() { return parecerDl; @@ -199,4 +171,14 @@ public class RiscoToPrint this.parecerDns = parecerDns; } + public String getVerificacaoSiprp() + { + return verificacaoSiprp; + } + + public void setVerificacaoSiprp( String verificacaoSiprp ) + { + this.verificacaoSiprp = verificacaoSiprp; + } + } diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/TestPrint.java b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/TestPrint.java index 1b00e692..1d6422e5 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/TestPrint.java +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/TestPrint.java @@ -5,6 +5,12 @@ import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.InputStream; +import org.jdom.Document; +import org.jdom.output.Format; +import org.jdom.output.XMLOutputter; + +import siprp.planoactuacao.db.PlanoActuacaoDBInit; + import com.evolute.utils.fop.PDFCreator; import com.evolute.utils.xml.XSLTransformer; @@ -19,18 +25,31 @@ public class TestPrint public void test() throws Exception { + PlanoActuacaoDBInit.initDB( "postgres", "Typein" ); + PlanoActuacaoToPrint plano = PlanoActuacaoPrintDataProvider.getProvider().getPlanoToPrint( 6 ); + Document foDoc = new Document( plano.toJdomElement() ); + Format pretty = Format.getPrettyFormat(); + pretty.setIndent("\t"); + XMLOutputter outputter = new XMLOutputter(pretty); + ByteArrayOutputStream foBaos = new ByteArrayOutputStream(); + outputter.output( foDoc, foBaos ); + FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/in.xml" ); + fos.write( foBaos.toByteArray() ); + fos.close(); + byte fo[] = applyTemplate( - "siprp/planoactuacao/print/plano_actuacao.xsl", -// getClass().getClassLoader().getResourceAsStream( "siprp/planoactuacao/plano_actuacao.xsl" ), - "siprp/planoactuacao/print/teste_input.xml" ); +// "siprp/planoactuacao/print/plano_actuacao.xsl", + getClass().getClassLoader().getResourceAsStream( "siprp/planoactuacao/print/plano_actuacao.xsl" ), +// "siprp/planoactuacao/print/teste_input.xml" ); + new ByteArrayInputStream( foBaos.toByteArray() ) ); // new ByteArrayInputStream( "".getBytes() ) ); // System.out.println( new String( fo ) ); createPDFFile( fo, "/home/fpalma/Desktop/out.pdf" ); // createPDFFile( fo, "c:/Documents and Settings/Frederico/Ambiente de Trabalho/out.pdf" ); -// FileOutputStream fos = new FileOutputStream( "/home/fpalma/Desktop/out.xml" ); -// fos.write( fo ); -// fos.close(); + fos = new FileOutputStream( "/home/fpalma/Desktop/out.xml" ); + fos.write( fo ); + fos.close(); } public void createPDFFile( byte fo[], String path ) diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/out.xml b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/out.xml index 0b19338d..c2baa801 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/out.xml +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/out.xml @@ -112,7 +112,7 @@ font-weight="normal" margin-right="0in" text-indent="0in" text-align="center" margin-left="0.6in" space-before="0.0866in" margin-bottom="0in"> - Abril de 2008 + Dezembro de 2008 @@ -161,9 +161,7 @@ font-weight="bold" margin-right="0in" text-indent="0in" text-align="center" margin-left="0in" margin-top="0.1563in" margin-bottom="0in"> - COMPANHIA PORTUGUESA DE HIPERMERCADOS - - - ALVERCA   + EVOLUTE - SEDE     @@ -2068,34 +2066,6 @@ margin-left="0.1972in">   - - - - - Lei nº 99/2003 de 27 de Agosto regulamentada pela Lei nº - 35/2004 de 29 de Julho – Aprova o novo Código de - Trabalho ; - - - - - - Decreto-Lei n.º441/91 de 14 de Novembro, alterado pelo - Decreto-Lei n.º133/99 de 21 de Abril – Estabelece o - regime jurídico do enquadramento da segurança, higiene e - saúde do trabalho ; - - - - - - Decreto-Lei n.º26/94, de 1 de Fevereiro, alterado pela - Lei n.º7/95 de 29 de Março e pelo Decreto-Lei - n.º109/2000 – Regime de Organização e funcionamento dos - serviços da segurança, higiene e saúde do trabalho - - . -   @@ -2180,8 +2150,8 @@ A descrição completa dos mesmos consta da avaliação - de riscos laborais, realizada em 1 de Março de 2008 - . + de riscos laborais, realizada em 7 de Fevereiro de + 2006 .   @@ -2289,30 +2259,22 @@ - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - @@ -2324,7 +2286,7 @@ src="url('http://apdp/siprp/siprp_logo.jpg')" height="2cm" /> - @@ -2337,14 +2299,6 @@ height="2cm" /> - - -   - - - - -   - -   - - -   - - - + EMPRESA @@ -2404,43 +2342,43 @@ - COMPANHIA PORTUGUESA DE - HIPERMERCADOS - - – ALVERCA + EVOLUTE – SEDE   - - + + + +   - - + Data da avaliação: - 1 de Março de 2008 + 7 de Fevereiro de 2006   - @@ -2454,16 +2392,19 @@ Data do relatório: - 29 de Abril de 2008 + 4 de Dezembro de 2008   - - + + + +   @@ -2478,12 +2419,7 @@ -   - - - POSTO TRABALHO   + POSTO TRABALHO - -   - - RISCO   + RISCO - -   - - VALOR   + VALOR - -   - MEDIDAS A IMPLEMENTAR (Obrigações Legais - e Recomendações)   + e Recomendações) - - Responsável de execução   + Responsável de execução Recursos Necessários à implementação das - medidas   + medidas - - Data prevista de início   + Data prevista de início - Data prevista de conclusão   + Data prevista de conclusão - - Data proposta pelo DNS   + Data proposta pelo DNS - Data de Conclusão   + Data de Conclusão - Parecer DL   + Parecer DL - + padding-right="0.0493in" border-right="0.0139in solid #000000"> - Parecer DNS   - - - - -   + Parecer DNS @@ -2674,13 +2582,73 @@ + + + + + + + + + Direcçao + + + + + + + + + + + + + + + + - + + + + + + Tecnica + + + + + + + + + + + + + + + + - + - - Área Administrativa + Desenvolvimento @@ -2700,7 +2668,28 @@ - Areas comerciais + Planeador de informatica + + + + + Risco de falta de iluminaçao em + ambientes de escritorio + + + + + 1 - Risco de exposição a condições - inadequadas de iluminação + No caso da luz ser directa e nao ser + possivel mudar, deve aplicar-se um + filtro + + + + + + + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + border="0.0139in solid #000000" number-rows-spanned="6"> + + + @@ -2731,37 +2785,368 @@ - Cartazista + Planeador de informatica - - - - - - - - - - - - - - - - - + - Área Comercial + margin-bottom="0in"> + Planeador de informatica + + + + + Medida alterada + + + + + + + Planeador de informatica + + + + + + + Planeador de informatica + + + + + No caso da medida ser inferior, sera + necessario instalar mais iluminaçao, ou + mais adequada, de forma a se encontrar + dentro dos limites estabelecidos + + + + + + + Planeador de informatica + + + + + + + Programador + + + + + Risco 2 + + + + + 6 + + + + + mmmmmmmmmmmmmmmmmmmmmmmmmm + nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn + mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm + pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp + + + + + + + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + + + + + + + + + Programador + + + + + + + Programador + + + + + Risco de falta de iluminaçao em + ambientes de escritorio + + + + + 12 + + + + + nepia de acentos, nao ha (ou a) + + + + + + + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + NaN / NaN / + + + + + + + + + + + + + Programador + + + + + + + Programador + + + + + Medida extra + + + + + + + Programador diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/plano_actuacao.xsl b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/plano_actuacao.xsl index 5769d04c..8676c2aa 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/plano_actuacao.xsl +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/plano_actuacao.xsl @@ -123,7 +123,8 @@ text-align="center" margin-left="0.6in" space-before="0.0866in" margin-bottom="0in"> - + de @@ -2403,10 +2404,9 @@ - - + @@ -2440,7 +2440,7 @@ @@ -2454,7 +2454,7 @@ @@ -2467,7 +2467,7 @@ @@ -2496,20 +2496,20 @@ + text-align="start" margin-top="0.2in" margin-bottom="0in" + font-weight="bold">   @@ -2565,13 +2565,13 @@ + text-align="start" margin-top="0.2in" margin-bottom="0in" + font-weight="bold">   @@ -2683,9 +2683,9 @@ background-color="#ccffff" writing-mode="lr-tb" padding-right="0.0493in" border-right="none"> - Data proposta pelo DNS + text-align="start" line-height="115%" margin-top="0in" + margin-bottom="0.139in" color="#000000" font-weight="bold"> + Parecer DL + padding-right="0.0493in" + border-right="0.0139in solid #000000"> - Data de Conclusão + Parecer DNS - - Parecer DL - - - - Parecer DNS + Verificação SIPRP @@ -2765,13 +2753,12 @@ column-width="0.7875in" /> - - + - - - / - - / - - - - - - - - - - / - - / - - + + + + / + + / + + + - - - / - - / - - + + + + / + + / + + + - / - - / - + select="../../parecer-dl" /> + select="../../parecer-dns" /> + select="../../verificacao-siprp" /> diff --git a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/teste_input.xml b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/teste_input.xml index ab7d4ed2..9ac97fd1 100644 --- a/trunk/SIPRPSoft/src/siprp/planoactuacao/print/teste_input.xml +++ b/trunk/SIPRPSoft/src/siprp/planoactuacao/print/teste_input.xml @@ -77,24 +77,15 @@ Maio 1 - - 2008 - 5 - Maio - 1 - - - 2009 - 5 - Maio - 1 - OK OK + OK Área Comercial + 1 + 2 \ No newline at end of file