diff --git a/trunk/PlanosActuacao/lib/avalon-framework-4.2.0.jar b/trunk/PlanosActuacao/lib/avalon-framework-4.2.0.jar
new file mode 100644
index 00000000..b1aa6d7c
Binary files /dev/null and b/trunk/PlanosActuacao/lib/avalon-framework-4.2.0.jar differ
diff --git a/trunk/PlanosActuacao/lib/batik.jar b/trunk/PlanosActuacao/lib/batik.jar
new file mode 100644
index 00000000..28c8bac0
Binary files /dev/null and b/trunk/PlanosActuacao/lib/batik.jar differ
diff --git a/trunk/PlanosActuacao/lib/jai_imageio.jar b/trunk/PlanosActuacao/lib/jai_imageio.jar
new file mode 100644
index 00000000..359551eb
Binary files /dev/null and b/trunk/PlanosActuacao/lib/jai_imageio.jar differ
diff --git a/trunk/PlanosActuacao/nbproject/build-impl.xml b/trunk/PlanosActuacao/nbproject/build-impl.xml
index 6ec6bc3c..dc686697 100644
--- a/trunk/PlanosActuacao/nbproject/build-impl.xml
+++ b/trunk/PlanosActuacao/nbproject/build-impl.xml
@@ -579,10 +579,22 @@ or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties f
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -620,6 +632,12 @@ or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties f
+
+
+
+
+
+
diff --git a/trunk/PlanosActuacao/nbproject/genfiles.properties b/trunk/PlanosActuacao/nbproject/genfiles.properties
index 58dcac6a..0f70cea2 100644
--- a/trunk/PlanosActuacao/nbproject/genfiles.properties
+++ b/trunk/PlanosActuacao/nbproject/genfiles.properties
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=3084e562
+build.xml.data.CRC32=78944a2b
build.xml.script.CRC32=fa3993b7
build.xml.stylesheet.CRC32=cfd7ba16
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=3084e562
-nbproject/build-impl.xml.script.CRC32=db27eab1
+nbproject/build-impl.xml.data.CRC32=78944a2b
+nbproject/build-impl.xml.script.CRC32=5dc756a4
nbproject/build-impl.xml.stylesheet.CRC32=8926891b
diff --git a/trunk/PlanosActuacao/nbproject/project.properties b/trunk/PlanosActuacao/nbproject/project.properties
index 6f0c69d4..6ba6e110 100644
--- a/trunk/PlanosActuacao/nbproject/project.properties
+++ b/trunk/PlanosActuacao/nbproject/project.properties
@@ -21,19 +21,25 @@ dist.javadoc.dir=${dist.dir}/javadoc
dist.war=${dist.dir}/${war.name}
file.reference.activation.jar=jars/activation.jar
file.reference.ashwood-1.1.jar=../common/lib/ashwood-1.1.jar
+file.reference.avalon-framework-4.2.0.jar=lib/avalon-framework-4.2.0.jar
+file.reference.batik.jar=lib/batik.jar
file.reference.cayenne-server-3.0M2.jar=../common/lib/cayenne-server-3.0M2.jar
file.reference.common-src=../common/src
file.reference.commons-collections-3.1.jar=../common/lib/commons-collections-3.1.jar
file.reference.commons-lang-2.1.jar=../common/lib/commons-lang-2.1.jar
file.reference.commons-logging-1.1.jar=../common/lib/commons-logging-1.1.jar
file.reference.evolute.jar=../common/lib/evolute.jar
+file.reference.fop.jar=lib/fop.jar
+file.reference.jai_imageio.jar=lib/jai_imageio.jar
file.reference.jcalendar-1.3.2.jar=../common/lib/jcalendar-1.3.2.jar
+file.reference.jdom.jar=lib/jdom.jar
file.reference.log4j-1.2.8.jar=../common/lib/log4j-1.2.8.jar
file.reference.mail.jar=jars/mail.jar
file.reference.mail.jar-1=../common/lib/mail.jar
file.reference.postgresql-8.0-315.jdbc3.jar=jars/postgresql-8.0-315.jdbc3.jar
file.reference.postgresql-8.1-407.jdbc3.jar=jars/postgresql-8.1-407.jdbc3.jar
file.reference.postgresql-8.2-506.jdbc4.jar=jars/postgresql-8.2-506.jdbc4.jar
+file.reference.SIPRP.jar=lib/SIPRP.jar
file.reference.TableLayout.jar=../common/lib/TableLayout.jar
j2ee.platform=1.5
j2ee.server.type=Tomcat60
@@ -58,7 +64,13 @@ javac.classpath=\
${file.reference.log4j-1.2.8.jar}:\
${file.reference.mail.jar-1}:\
${file.reference.TableLayout.jar}:\
- ${file.reference.ashwood-1.1.jar}
+ ${file.reference.ashwood-1.1.jar}:\
+ ${file.reference.SIPRP.jar}:\
+ ${file.reference.jdom.jar}:\
+ ${file.reference.fop.jar}:\
+ ${file.reference.avalon-framework-4.2.0.jar}:\
+ ${file.reference.batik.jar}:\
+ ${file.reference.jai_imageio.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.debug=true
diff --git a/trunk/PlanosActuacao/nbproject/project.xml b/trunk/PlanosActuacao/nbproject/project.xml
index e085a39b..33574ad4 100644
--- a/trunk/PlanosActuacao/nbproject/project.xml
+++ b/trunk/PlanosActuacao/nbproject/project.xml
@@ -7,101 +7,113 @@
PlanosActuacao
1.6
-
+
${libs.jsf12.classpath}
WEB-INF/lib
-
+
${libs.jstl11.classpath}
WEB-INF/lib
-
+
${libs.jsf12-support.classpath}
WEB-INF/lib
-
+
${libs.woodstock-components.classpath}
WEB-INF/lib
-
+
${libs.woodstock-theme-default.classpath}
WEB-INF/lib
-
+
${file.reference.activation.jar}
WEB-INF/lib
-
+
${file.reference.mail.jar}
WEB-INF/lib
-
+
${file.reference.postgresql-8.0-315.jdbc3.jar}
WEB-INF/lib
-
+
${file.reference.postgresql-8.1-407.jdbc3.jar}
WEB-INF/lib
-
+
${file.reference.postgresql-8.2-506.jdbc4.jar}
WEB-INF/lib
-
+
${file.reference.cayenne-server-3.0M2.jar}
WEB-INF/lib
-
+
${file.reference.commons-collections-3.1.jar}
WEB-INF/lib
-
+
${file.reference.commons-lang-2.1.jar}
WEB-INF/lib
-
+
${file.reference.commons-logging-1.1.jar}
WEB-INF/lib
-
+
${file.reference.evolute.jar}
WEB-INF/lib
-
+
${file.reference.jcalendar-1.3.2.jar}
WEB-INF/lib
-
+
${file.reference.log4j-1.2.8.jar}
WEB-INF/lib
-
+
${file.reference.mail.jar-1}
WEB-INF/lib
-
+
${file.reference.TableLayout.jar}
WEB-INF/lib
-
+
${file.reference.ashwood-1.1.jar}
WEB-INF/lib
-
+
${file.reference.SIPRP.jar}
WEB-INF/lib
-
+
${file.reference.jdom.jar}
WEB-INF/lib
-
+
${file.reference.fop.jar}
WEB-INF/lib
+
+ ${file.reference.avalon-framework-4.2.0.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.batik.jar}
+ WEB-INF/lib
+
+
+ ${file.reference.jai_imageio.jar}
+ WEB-INF/lib
+
-
+
${libs.exceptionhandler-runtime.classpath}
WEB-INF/lib
diff --git a/trunk/PlanosActuacao/src/java/global/Global.java b/trunk/PlanosActuacao/src/java/global/Global.java
index 805ee727..1870bb17 100644
--- a/trunk/PlanosActuacao/src/java/global/Global.java
+++ b/trunk/PlanosActuacao/src/java/global/Global.java
@@ -42,5 +42,6 @@ public class Global {
//public static final String ANALISE_ACIDENTES_URL = "http://192.168.111.24:8084/AnaliseAcidentesTrabalho/faces/"; //testes portatil
public static final String ANALISE_ACIDENTES_URL = "https://www.siprp.pt/AnaliseAcidentesTrabalho/faces/"; //real
- public static final String LOGOS_FOLDER = "/resources/images";
+ public static final String LOGOS_FOLDER = "/resources/images";
+ public static final String PDF_FOLDER_URL = "/resources/pdf";
}
diff --git a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
index 6f43ebf4..a665673d 100644
--- a/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
+++ b/trunk/PlanosActuacao/src/java/planosactuacao/ListaPlanos.java
@@ -10,16 +10,13 @@ import com.sun.data.provider.RowKey;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Table;
import com.sun.webui.jsf.component.TableRowGroup;
-import db.entidades.Area;
-import db.entidades.Medida;
import db.entidades.PlanoActuacao;
-import db.entidades.PostoTrabalho;
-import db.entidades.Risco;
import db.providers.UtilizadoresDataProvider;
import db.entidades.Utilizador;
-import db.entidades.Valor;
import db.providers.PlanosDataProvider;
import global.Global;
+import java.io.File;
+import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -27,7 +24,10 @@ import java.util.List;
import javax.faces.FacesException;
import javax.faces.component.html.HtmlPanelGrid;
import javax.faces.context.FacesContext;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletResponse;
import siprp.database.cayenne.providers.PlanoActuacaoDAO;
+import siprp.planoactuacao.print.PlanoActuacaoPDFCreator;
import tabledataproviders.PlanosActualDataProvider;
import tabledataproviders.PlanosConcluidosDataProvider;
import tabledataproviders.PlanosSeguimentoDataProvider;
@@ -283,9 +283,96 @@ public class ListaPlanos extends AbstractPageBean {
public String goImprimirPlano_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
+ PlanoActuacao p = getTableActivosRowData();
+ PlanoActuacaoPDFCreator pdfCreator = new PlanoActuacaoPDFCreator();
+ try
+ {
+ byte[] pdf = pdfCreator.createPDF(p.getId());
+ showPdf(pdf);
+ }
+ catch(Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
return null;
}
+ public String goImprimirPlanoFromSeguimento_action() {
+ // TODO: Process the action. Return value is a navigation
+ // case name where null will return to the same page.
+ PlanoActuacao p = getTableSeguimentoRowData();
+ PlanoActuacaoPDFCreator pdfCreator = new PlanoActuacaoPDFCreator();
+ try
+ {
+ byte[] pdf = pdfCreator.createPDF(p.getId());
+ showPdf(pdf);
+ }
+ catch(Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ return null;
+ }
+
+ public String goImprimirPlanoFromConcluidos_action() {
+ // TODO: Process the action. Return value is a navigation
+ // case name where null will return to the same page.
+ PlanoActuacao p = getTableConcluidosRowData();
+ PlanoActuacaoPDFCreator pdfCreator = new PlanoActuacaoPDFCreator();
+ try
+ {
+ byte[] pdf = pdfCreator.createPDF(p.getId());
+ showPdf(pdf);
+ }
+ catch(Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+
+ return null;
+ }
+
+ private void showPdf(byte[] pdf) throws Exception
+ {
+// FacesContext fc = getFacesContext();
+// HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
+// response.setContentType("application/pdf");
+// //response.getOutputStream().flush();
+// response.flushBuffer();
+// response.getOutputStream().write(pdf, 0, pdf.length);
+// fc.getResponseComplete();
+
+ System.out.println("PDF LEN : " + pdf.length);
+
+FacesContext context = FacesContext.getCurrentInstance();
+ HttpServletResponse response =
+(HttpServletResponse)context.getExternalContext().getResponse();
+
+ response.setHeader("Expires", "0");
+ response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
+//response.setHeader("Content-disposition","inline; filename=kiran.pdf");
+ response.setHeader("Pragma", "public");
+ response.setContentType( "application/pdf" );
+//response.setHeader("Content-Disposition", "attachment;filename=\"ContactList.pdf\"");
+ response.addHeader("Content-disposition", "attachment;filename=\"Plano.pdf\"");
+
+ //response.setHeader("Content-disposition", "filename=plano.pdf");
+ response.setContentLength(pdf.length);
+ //try {
+ response.getOutputStream().write(pdf);
+ response.getOutputStream().flush();
+ response.getOutputStream().close();
+ context.responseComplete();
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+ System.out.println("SHOW PDF");
+ }
+
+
private void initialize()
{
Utilizador u = getSessionBean1().getCurrentUser();
diff --git a/trunk/PlanosActuacao/src/java/utils/Logos.java b/trunk/PlanosActuacao/src/java/utils/Logos.java
index 079b5c2c..cbd641fc 100644
--- a/trunk/PlanosActuacao/src/java/utils/Logos.java
+++ b/trunk/PlanosActuacao/src/java/utils/Logos.java
@@ -36,13 +36,13 @@ public class Logos {
ServletContext context = (ServletContext) fc.getExternalContext().getContext();
File logoFolder = new File(context.getRealPath(Global.LOGOS_FOLDER));
- String logoFilename = logoFolder + "/logo_empresa.jpg";
+ String logoFilename = logoFolder + "/logo_empresa" + empresaId.toString() + ".jpg";
OutputStream outImej = new FileOutputStream(logoFilename);
outImej.write(logo, 0, len);
System.out.println("LOGO PATH : " + logoFilename);
outImej.close();
- return Global.LOGOS_FOLDER + "/logo_empresa.jpg";
+ return Global.LOGOS_FOLDER + "/logo_empresa" + empresaId.toString() + ".jpg";
}
catch(Exception ex)
{
diff --git a/trunk/PlanosActuacao/web/ListaPlanos.jsp b/trunk/PlanosActuacao/web/ListaPlanos.jsp
index bf6937d4..57544974 100644
--- a/trunk/PlanosActuacao/web/ListaPlanos.jsp
+++ b/trunk/PlanosActuacao/web/ListaPlanos.jsp
@@ -87,7 +87,7 @@
-
@@ -114,7 +114,7 @@
-
diff --git a/trunk/PlanosActuacao/web/resources/pdf/AAA.pdf b/trunk/PlanosActuacao/web/resources/pdf/AAA.pdf
new file mode 100644
index 00000000..9c205b33
Binary files /dev/null and b/trunk/PlanosActuacao/web/resources/pdf/AAA.pdf differ