();
private Validator validator;
private Result result;
private ServletContext application;
@@ -89,7 +96,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
HashDao hashDao = new HashDao();
questionario = new Questionario();
questionario = hashDao.verificarHash(path, valorHash);
- String nomeExtensaoPlanoTrabalho = filePlano.getFileName();
+ String nomeExtensaoPlanoTrabalho = filePlano.getContentType();
if (questionario != null && questionario.getDtInicioQuestionario() != null) {
PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao();
@@ -97,9 +104,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
planoTrabalho =
planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
- if (planoTrabalho.getArquivoPlanoTrabalho() == null) {
+ if (planoTrabalho.getIdPlanoTrabalho() == 0) {
if (planoTrabalhoDao.salvarPlanoTrabalho(path, filePlano.getFile(), questionario,
- nomeExtensaoPlanoTrabalho)) {
+ filePlano.getFileName(), nomeExtensaoPlanoTrabalho)) {
mensagemPlano = "Plano de trabalho anexado com sucesso!";
statusPlano = true;
} else {
@@ -107,7 +114,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
}
} else {
if (planoTrabalhoDao.atualizarPlanoTrabalho(path, filePlano.getFile(), questionario,
- planoTrabalho.getIdPlanoTrabalho(), nomeExtensaoPlanoTrabalho)) {
+ planoTrabalho.getIdPlanoTrabalho(), filePlano.getFileName(),nomeExtensaoPlanoTrabalho)) {
mensagemPlano = "Plano de trabalho anexado com sucesso!";
statusPlano = true;
} else {
@@ -156,7 +163,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
HashDao hashDao = new HashDao();
questionario = new Questionario();
questionario = hashDao.verificarHash(path, valorHash);
- String nomeExtensaoRelatorio = fileRelatorio.getFileName();
+ String nomeExtensaoRelatorio = fileRelatorio.getContentType();
if (questionario != null && questionario.getDtInicioQuestionario() != null) {
PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao();
@@ -164,9 +171,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
- if (planoTrabalho.getArquivoRelatorioAss() == null) {
+ if (planoTrabalho.getIdPlanoTrabalho() == 0) {
if (planoTrabalhoDao.salvarRelatorioAss(path, fileRelatorio.getFile(), questionario,
- nomeExtensaoRelatorio)) {
+ fileRelatorio.getFileName(), nomeExtensaoRelatorio)) {
mensagemRelatorio = "Relatório anexado com sucesso!";
statusRelatorio = true;
} else {
@@ -174,7 +181,7 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
}
} else {
if (planoTrabalhoDao.atualizarRelatorioAss(path, fileRelatorio.getFile(), questionario,
- planoTrabalho.getIdPlanoTrabalho(), nomeExtensaoRelatorio)) {
+ planoTrabalho.getIdPlanoTrabalho(), fileRelatorio.getFileName(), nomeExtensaoRelatorio)) {
mensagemRelatorio = "Relatório anexado com sucesso!";
statusRelatorio = true;
} else {
@@ -222,9 +229,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
if (questionario != null && questionario.getIdQuestionario() > 0) {
planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
- if (planoTrabalho != null) {
+ if (planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null) {
try {
- String nome = planoTrabalho.getNomeExtensaoPlanoTrabalho();
+ String nome = planoTrabalho.getNomePlanoTrabalho();
dados = planoTrabalho.getArquivoPlanoTrabalho();
response.setContentType("inline/download");
String arq = "attachment;filename=" + nome;
@@ -237,6 +244,16 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
}
}
+ else
+ {
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario();
+ }
+ }
+ else
+ {
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario();
}
}
@@ -253,9 +270,9 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
if (questionario != null && questionario.getIdQuestionario() > 0) {
planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
- if (planoTrabalho != null) {
+ if (planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null) {
try {
- String nome = planoTrabalho.getNomeExtensaoRelatorioAss();
+ String nome = planoTrabalho.getNomeRelatorioAss();
dados = planoTrabalho.getArquivoRelatorioAss();
response.setContentType("inline/download");
String arq = "attachment;filename=" + nome;
@@ -268,6 +285,179 @@ public class PlanoTrabalhoController extends DefaultMultipartConfig {
}
}
+ else
+ {
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario();
+ }
+ }
+ else
+ {
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(QuestionarioController.class).listaQuestionario();
}
}
+
+ @Path("/enviar-relatorio-plano-trabalho")
+ public void enviarRelatorioPlanoTrabalho() {
+
+ }
+
+ private void enviarEmail(Questionario questionario) {
+ QuestionarioDao questionarioDao;
+
+ StringBuffer mensagemMPF = new StringBuffer();
+ StringBuffer mensagemOrgao = new StringBuffer();
+ String assuntoMPF = "";
+ String assuntoOrgao = "";
+
+ PlanoTrabalho planoTrabalho = new PlanoTrabalho();
+ PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao();
+
+ planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
+
+ if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null && planoTrabalho.getArquivoRelatorioAss() != null)
+ {
+ DataHandler dataHandlerRelatorio;
+ DataHandler dataHandlerPlano;
+
+ dataHandlerRelatorio =
+ new DataHandler(planoTrabalho.getArquivoRelatorioAss(),
+ planoTrabalho.getNomeExtensaoRelatorioAss());
+ dataHandlerPlano =
+ new DataHandler(planoTrabalho.getArquivoPlanoTrabalho(),
+ planoTrabalho.getNomeExtensaoPlanoTrabalho());
+
+ Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties");
+
+ EnvioEmailSemAutenticacao envioEmailSemAutenticacao =
+ new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort()));
+
+ assuntoMPF = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao();
+
+ mensagemMPF.append("À Procuradoria Federal dos Diretos do Cidadão,
");
+ mensagemMPF.append("Conforme Portaria Interministerial xxxx/2016 do Ministério da Justiça e Cidadania e do");
+ mensagemMPF.append(" Ministério do Planejamento, Desenvolvimento e Gestão, o(a) " + questionario.getNoOrgao());
+ mensagemMPF.append(" encaminha o Relatório Circunstanciado relativo aos ambientes digitais desta");
+ mensagemMPF.append(" instituição.
");
+ mensagemMPF.append("Dados do Responsável:
");
+ mensagemMPF.append("Nome: " + questionario.getResponsavel() +"
");
+ mensagemMPF.append("Cargo: "+ questionario.getCargoResponsavel() + "
");
+ mensagemMPF.append("Telefone: " + questionario.getTelefone() + "
");
+ mensagemMPF.append("email: "+ questionario.getEmailDestinoOrgao() + "
");
+
+
+ String mensagemRetornoMPF =
+ envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(),
+ email.getAnexosTo(), assuntoMPF, mensagemMPF.toString(), email.getAuth(), email.getAuthUser(),
+ email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeRelatorioAss(),
+ dataHandlerPlano, planoTrabalho.getNomePlanoTrabalho());
+
+
+
+ if (mensagemRetornoMPF.equalsIgnoreCase("")) {
+
+
+ assuntoOrgao = "Registro de Encaminhamento do Relatório Circunstanciado de Acessibilidade Digital - " + questionario.getNoOrgao();
+
+ mensagemOrgao.append("Prezado(a) "+ questionario.getResponsavel() +", "+ questionario.getCargoResponsavel() +" do "+ questionario.getNoOrgao() +", você concluiu com sucesso o processo de ");
+ mensagemOrgao.append("envio do Relatório Circunstanciado (Formulário Eletrônico de Acessibilidade Digital e ");
+ mensagemOrgao.append("Plano de Trabalho) à Procuradoria Federal dos Direitos do Cidadão do Ministério ");
+ mensagemOrgao.append("Público Federal.
");
+ mensagemOrgao.append("Conforme previsto na portaria interministerial xxx/2016 do Ministério da Justiça e ");
+ mensagemOrgao.append("Cidadania e do Ministério do Planejamento, Desenvolvimento e Gestão, além do ");
+ mensagemOrgao.append("envio, o relatório circunstanciado deverá ser publicado no portal do órgão/entidade e ");
+ mensagemOrgao.append("o seu reporte , na forma de síntese, deverá ser registrado na seção ");
+ mensagemOrgao.append("\"Medidas Relativas à Acessibilidade\" do Relatório de Gestão referente a 2016 e, nos ");
+ mensagemOrgao.append("anos subsequentes, indicar nessa seção o monitoramento das metas propostas nos ");
+ mensagemOrgao.append("planos de trabalho.
");
+ mensagemOrgao.append("Em caso de dúvida acesse http://fad.governoeletronico.gov.br/fad/contato/contato-site.
");
+ mensagemOrgao.append("Brasília, "+ DateUtil.dataHoraAtual() +".
");
+ mensagemOrgao.append("Encaminhado por:
");
+ mensagemOrgao.append("http://fad.governoeletronico.gov.br
");
+ mensagemOrgao.append("Coordenação-Geral de Padrões de Governo Digital
");
+ mensagemOrgao.append("Departamento de Governo Digital
");
+ mensagemOrgao.append("Secretaria de Tecnologia da Informação
");
+ mensagemOrgao.append("Ministério do Planejamento, Desenvolvimento e Gestão
");
+
+ //questionario.getEmailDestinoOrgao()
+ String mensagemRetornoOrgao =
+ envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(),
+ "gibransodre@hotmail.com", assuntoOrgao, mensagemOrgao.toString(), email.getAuth(),
+ email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio,
+ planoTrabalho.getNomeRelatorioAss(), dataHandlerPlano,
+ planoTrabalho.getNomePlanoTrabalho());
+
+
+ if (mensagemRetornoOrgao.equalsIgnoreCase("")) {
+
+ questionarioDao = new QuestionarioDao();
+
+ if (questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario())) {
+ result.include("mensagemEnvio",
+ "Mensagem enviada com Sucesso, você recebeu um email com os anexos!");
+ result.include("statusEnvio", true);
+ }
+ }
+ } else {
+ result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!");
+ result.include("statusEnvio", false);
+ }
+ }else
+ {
+ result.include("mensagemEnvio", "É preciso ter o Relatório e o Plano de Trabalho anexados!");
+ result.include("statusEnvio", false);
+ }
+
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).confirmacaoEnvioEmailMPF();
+ }
+
+ @Path("/enviar-email-mpf-alternativo")
+ public void enviarEmailMPFAlternativo(String valorHash) {
+
+ Validacao validacao = new Validacao();
+ mensagemValidacaoCampos = new ArrayList();
+ mensagemValidacaoCampos = validacao.validarHash(path, valorHash);
+
+ if (mensagemValidacaoCampos.size() > 0) {
+ result.include("mensagemValidacaoCampos", mensagemValidacaoCampos);
+ this.validator.add(new ValidationMessage("", ""));
+ this.validator.onErrorUsePageOf(PlanoTrabalhoController.class).enviarRelatorioPlanoTrabalho();
+ }
+
+ HashDao hashDao = new HashDao();
+ Questionario questionario = new Questionario();
+ questionario = hashDao.verificarHash(path, valorHash);
+
+
+
+ if (questionario != null && questionario.getIdQuestionario() > 0) {
+
+ enviarEmail(questionario);
+
+ }
+
+ }
+
+
+ @Path("/enviar-email-mpf")
+ public void enviarEmailMPF() {
+ Questionario questionario = new Questionario();
+
+ questionario =
+ (Questionario) VRaptorRequestHolder.currentRequest().getServletContext()
+ .getAttribute("questionario");
+
+ if (questionario != null && questionario.getIdQuestionario() > 0) {
+
+ enviarEmail(questionario);
+
+ }
+
+ }
+
+ public void confirmacaoEnvioEmailMPF() {
+
+ }
}
diff --git a/src/br/com/controller/QuestionarioController.java b/src/br/com/controller/QuestionarioController.java
index 6586c12..3f2bd22 100644
--- a/src/br/com/controller/QuestionarioController.java
+++ b/src/br/com/controller/QuestionarioController.java
@@ -10,6 +10,8 @@ import java.util.Properties;
import javax.servlet.ServletContext;
+import org.apache.jasper.tagplugins.jstl.core.ForEach;
+
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
@@ -51,6 +53,38 @@ public class QuestionarioController {
QuestionarioDao questionarioDao = new QuestionarioDao();
List lsquestionario = new ArrayList();
lsquestionario = questionarioDao.retornarListaQuestionario(path);
+
+
+ int relatorioRespondido = 0;
+ int planoTrabalhoAnexado = 0;
+ int relatorioAnexado = 0;
+ int relatorioEnviado = 0;
+
+ for (Questionario questionario : lsquestionario) {
+
+ if(questionario.getDataRespostaQuestionario() != null)
+ {
+ relatorioRespondido++;
+ }
+ if(questionario.isPlanoTrabalhoAnexado())
+ {
+ planoTrabalhoAnexado++;
+ }
+ if(questionario.isRelatorioAnexado())
+ {
+ relatorioAnexado++;
+ }
+ if(questionario.isFlagEnviado())
+ {
+ relatorioEnviado++;
+ }
+
+ }
+
+ result.include("totalRelatorioRespondido", relatorioRespondido);
+ result.include("totalPlanoTrabalhoAnexado", planoTrabalhoAnexado);
+ result.include("totalRelatorioAnexado", relatorioAnexado);
+ result.include("totalRelatorioEnviado", relatorioEnviado);
result.include("lsquestionario", lsquestionario);
result.include("totalSolicitacoes", lsquestionario.size());
}
@@ -62,18 +96,19 @@ public class QuestionarioController {
@Path("/lista-questionario")
public void listaQuestionario() {
- listarQuestionarioComFiltro("todos", "todos","");
+ listarQuestionarioComFiltro("todos", "todos","todos", "");
}
@Path("/listar-questionario")
- public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) {
+ public void listarQuestionarioComFiltro(String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) {
QuestionarioDao questionarioDao = new QuestionarioDao();
List lsquestionario = new ArrayList();
- lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, nomeOrgao);
+ lsquestionario = questionarioDao.retornarListaQuestionarioComFiltro(path, statusRelatorio, statusPlanoTrabalho, relatorioAnexado, nomeOrgao);
result.include("lsquestionario", lsquestionario);
result.include("totalSolicitacoes", lsquestionario.size());
result.include("statusRel", statusRelatorio.equalsIgnoreCase("todos")? "" :statusRelatorio);
+ result.include("relatorioAnex", relatorioAnexado.equalsIgnoreCase("todos")? "" :relatorioAnexado);
result.include("statusPlanoTrab", statusPlanoTrabalho.equalsIgnoreCase("todos")? "" :statusPlanoTrabalho);
result.include("nomeOrgao", nomeOrgao != null? nomeOrgao:"");
diff --git a/src/br/com/controller/relatorioController.java b/src/br/com/controller/relatorioController.java
index 8f22bb0..685118f 100644
--- a/src/br/com/controller/relatorioController.java
+++ b/src/br/com/controller/relatorioController.java
@@ -81,87 +81,9 @@ public class relatorioController {
}
}
- @Path("/enviar-email-mpf")
- public void enviarEmailMPF() {
- Questionario questionario = new Questionario();
- QuestionarioDao questionarioDao;
-
- UploadedFile fileRelatorio;
+
- String mensagemMPF = "";
- String mensagemOrgao = "";
- String assuntoMPF = "";
- String assuntoOrgao = "";
- questionario =
- (Questionario) VRaptorRequestHolder.currentRequest().getServletContext()
- .getAttribute("questionario");
-
- fileRelatorio =
- (UploadedFile) VRaptorRequestHolder.currentRequest().getServletContext()
- .getAttribute("fileRelatorio");
-
- PlanoTrabalho planoTrabalho = new PlanoTrabalho();
- PlanoTrabalhoDao planoTrabalhoDao = new PlanoTrabalhoDao();
-
- planoTrabalho = planoTrabalhoDao.recuperarPlanoTrabalho(path, questionario);
-
- DataHandler dataHandlerRelatorio;
- DataHandler dataHandlerPlano;
-
- dataHandlerRelatorio =
- new DataHandler(planoTrabalho.getArquivoRelatorioAss(), fileRelatorio.getContentType());
- dataHandlerPlano =
- new DataHandler(planoTrabalho.getArquivoPlanoTrabalho(), fileRelatorio.getContentType());
-
- Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties");
-
- EnvioEmailSemAutenticacao envioEmailSemAutenticacao =
- new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort()));
-
-
- String mensagemRetornoMPF =
- envioEmailSemAutenticacao.sendMailComAnexo(questionario.getEmailDestinoOrgao(),
- email.getAnexosTo(), assuntoMPF, mensagemMPF, email.getAuth(), email.getAuthUser(),
- email.getAuthPass(), dataHandlerRelatorio, planoTrabalho.getNomeExtensaoRelatorioAss(),
- dataHandlerPlano, planoTrabalho.getNomeExtensaoPlanoTrabalho());
-
- if (mensagemRetornoMPF.equalsIgnoreCase("")) {
- String mensagemRetornoOrgao =
- envioEmailSemAutenticacao.sendMailComAnexo(email.getFrom(),
- questionario.getEmailDestinoOrgao(), assuntoOrgao, mensagemOrgao, email.getAuth(),
- email.getAuthUser(), email.getAuthPass(), dataHandlerRelatorio,
- planoTrabalho.getNomeExtensaoRelatorioAss(), dataHandlerPlano,
- planoTrabalho.getNomeExtensaoPlanoTrabalho());
-
-
- if (mensagemRetornoOrgao.equalsIgnoreCase("")) {
-
- questionarioDao = new QuestionarioDao();
-
- if(questionarioDao.atualizarFlagEnviado(path, questionario.getIdQuestionario()))
- {
- result.include("mensagemEnvio", "Mensagem enviada com Sucesso, você recebeu um email com os anexos!");
- result.include("statusEnvio", true);
- }
- }
- }
- else
- {
- result.include("mensagemEnvio", "Não foi possível enviar o email com os anexos!");
- result.include("statusEnvio", false);
- }
-
- this.validator.add(new ValidationMessage("", ""));
- this.validator.onErrorUsePageOf(relatorioController.class).confirmacaoEnvioEmailMPF();
- }
-
- public void confirmacaoEnvioEmailMPF()
- {
-
- }
-
-
@Get("/relatorio-imprimir/{id}")
public void relatorioImprimir(String id) {
if (id != null) {
diff --git a/src/br/com/dao/PlanoTrabalhoDao.java b/src/br/com/dao/PlanoTrabalhoDao.java
index d8a8a2a..5921445 100644
--- a/src/br/com/dao/PlanoTrabalhoDao.java
+++ b/src/br/com/dao/PlanoTrabalhoDao.java
@@ -13,7 +13,7 @@ import br.com.model.entity.Questionario;
public class PlanoTrabalhoDao {
- public int verificaPlanoTrabalho(String path, Integer idQuestionario)
+ public PlanoTrabalho verificaPlanoTrabalho(String path, Integer idQuestionario)
{
@@ -23,6 +23,7 @@ public class PlanoTrabalhoDao {
ResultSet rset = null;
//boolean existePlanoTrabalho = false;
int idPlanoTrabalho = -1;
+ PlanoTrabalho planoTrabalho = new PlanoTrabalho();
try {
@@ -33,8 +34,17 @@ public class PlanoTrabalhoDao {
rset = estado.executeQuery(sql);
- while (rset.next()) {
- idPlanoTrabalho = rset.getInt("id_plano_trabalho");
+ while (rset.next()) {
+ planoTrabalho.setIdPlanoTrabalho(rset.getInt("id_plano_trabalho"));
+ planoTrabalho.setArquivoPlanoTrabalho(rset.getBytes("arquivo_plano_trabalho"));
+ planoTrabalho.setArquivoRelatorioAss(rset.getBytes("arquivo_relatorio_ass"));
+ planoTrabalho.setNomeExtensaoPlanoTrabalho(rset.getString("extensao_plano_trabalho"));
+ planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass"));
+ planoTrabalho.setNomePlanoTrabalho(rset.getString("nome_plano_trabalho"));
+ planoTrabalho.setNomeRelatorioAss(rset.getString("nome_relatorio_ass"));
+
+ Questionario quest = new Questionario(path, idQuestionario);
+ planoTrabalho.setQuestionario(quest);
}
} catch (SQLException e) {
@@ -51,10 +61,10 @@ public class PlanoTrabalhoDao {
}
}
- return idPlanoTrabalho;
+ return planoTrabalho;
}
- public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario, String nomeExtensao)
+ public boolean salvarPlanoTrabalho(String path, InputStream file, Questionario questionario, String nomeArquivo,String nomeExtensao)
{
StringBuffer sql = new StringBuffer();
@@ -66,13 +76,14 @@ public class PlanoTrabalhoDao {
try {
sql = new StringBuffer();
- sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho, extensao_plano_trabalho) VALUES (?, ?, ?); ");
+ sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho, nome_plano_trabalho,extensao_plano_trabalho) VALUES (?, ?, ?, ?); ");
estado = con.prepareStatement(sql.toString());
estado.setInt(1, questionario.getIdQuestionario());
estado.setBinaryStream(2, file);
- estado.setString(3, nomeExtensao);
+ estado.setString(3, nomeArquivo);
+ estado.setString(4, nomeExtensao);
resultado = estado.executeUpdate();
@@ -91,7 +102,7 @@ public class PlanoTrabalhoDao {
return salvoComSucesso;
}
- public boolean salvarRelatorioAss(String path, InputStream file, Questionario questionario, String nomeExtensao)
+ public boolean salvarRelatorioAss(String path, InputStream file, Questionario questionario, String nomeArquivo, String nomeExtensao)
{
StringBuffer sql = new StringBuffer();
@@ -103,13 +114,14 @@ public class PlanoTrabalhoDao {
try {
sql = new StringBuffer();
- sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_relatorio_ass, extensao_relatorio_ass) VALUES (?, ?, ?); ");
+ sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_relatorio_ass, nome_relatorio_ass, extensao_relatorio_ass) VALUES (?, ?, ?, ?); ");
estado = con.prepareStatement(sql.toString());
estado.setInt(1, questionario.getIdQuestionario());
estado.setBinaryStream(2, file);
- estado.setString(3, nomeExtensao);
+ estado.setString(3, nomeArquivo);
+ estado.setString(4, nomeExtensao);
resultado = estado.executeUpdate();
@@ -128,7 +140,7 @@ public class PlanoTrabalhoDao {
return salvoComSucesso;
}
- public boolean atualizarPlanoTrabalho(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeExtensao)
+ public boolean atualizarPlanoTrabalho(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeArquivo, String nomeExtensao)
{
StringBuffer sql = new StringBuffer();
@@ -143,6 +155,7 @@ public class PlanoTrabalhoDao {
//sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); ");
sql.append(" UPDATE public.plano_trabalho");
sql.append(" SET arquivo_plano_trabalho=?,");
+ sql.append( " nome_plano_trabalho =?, ");
sql.append( " extensao_plano_trabalho =? ");
sql.append(" WHERE id_plano_trabalho=?;");
@@ -150,8 +163,10 @@ public class PlanoTrabalhoDao {
//estado.setInt(1, questionario.getIdQuestionario());
estado.setBinaryStream(1, file);
- estado.setString(2, nomeExtensao);
- estado.setInt(3, idPlanoTrabalho);
+ estado.setString(2, nomeArquivo);
+ estado.setString(3, nomeExtensao);
+ estado.setInt(4, idPlanoTrabalho);
+
resultado = estado.executeUpdate();
@@ -170,7 +185,7 @@ public class PlanoTrabalhoDao {
return salvoComSucesso;
}
- public boolean atualizarRelatorioAss(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeExtensao)
+ public boolean atualizarRelatorioAss(String path, InputStream file, Questionario questionario, int idPlanoTrabalho, String nomeArquivo, String nomeExtensao)
{
StringBuffer sql = new StringBuffer();
@@ -185,6 +200,7 @@ public class PlanoTrabalhoDao {
//sql.append(" INSERT INTO public.plano_trabalho(id_questionario, arquivo_plano_trabalho) VALUES (?, ?); ");
sql.append(" UPDATE public.plano_trabalho");
sql.append(" SET arquivo_relatorio_ass=?,");
+ sql.append( " nome_relatorio_ass =?, ");
sql.append( " extensao_relatorio_ass =? ");
sql.append(" WHERE id_plano_trabalho=?;");
@@ -192,8 +208,9 @@ public class PlanoTrabalhoDao {
//estado.setInt(1, questionario.getIdQuestionario());
estado.setBinaryStream(1, file);
- estado.setString(2, nomeExtensao);
- estado.setInt(3, idPlanoTrabalho);
+ estado.setString(2, nomeArquivo);
+ estado.setString(3, nomeExtensao);
+ estado.setInt(4, idPlanoTrabalho);
resultado = estado.executeUpdate();
@@ -240,7 +257,9 @@ public class PlanoTrabalhoDao {
planoTrabalho.setArquivoPlanoTrabalho(rset.getBytes("arquivo_plano_trabalho"));
planoTrabalho.setNomeExtensaoPlanoTrabalho(rset.getString("extensao_plano_trabalho"));
planoTrabalho.setArquivoRelatorioAss(rset.getBytes("arquivo_relatorio_ass"));
- planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass"));
+ planoTrabalho.setNomeExtensaoRelatorioAss(rset.getString("extensao_relatorio_ass"));
+ planoTrabalho.setNomePlanoTrabalho(rset.getString("nome_plano_trabalho"));
+ planoTrabalho.setNomeRelatorioAss(rset.getString("nome_relatorio_ass"));
planoTrabalho.setQuestionario(questionario);
}
diff --git a/src/br/com/dao/QuestionarioDao.java b/src/br/com/dao/QuestionarioDao.java
index 7f7f03c..255558f 100644
--- a/src/br/com/dao/QuestionarioDao.java
+++ b/src/br/com/dao/QuestionarioDao.java
@@ -16,6 +16,7 @@ import java.util.Date;
import java.util.List;
import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
+import br.com.model.entity.PlanoTrabalho;
import br.com.model.entity.Questionario;
import br.com.util.DateUtil;
import br.com.util.GeradorCodigoHash;
@@ -66,10 +67,34 @@ public class QuestionarioDao {
questionario.setDtRespostaEmail(dataRespostaQuestionario);
}
+ PlanoTrabalho planoTrabalho = new PlanoTrabalho();
+
+ planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario"));
questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario")));
- questionario.setPlanoTrabalhoEnviado( planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")) > -1 ? true : false);
+
+ //verifica se foi anexado plano de trabalho
+ if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null)
+ {
+ questionario.setPlanoTrabalhoAnexado(true);
+ }
+ else
+ {
+ questionario.setPlanoTrabalhoAnexado(false);
+ }
+
+
+ //verifica se anexado Relatório assinado
+ if(planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null)
+ {
+ questionario.setRelatorioAnexado(true);
+ }
+ else
+ {
+ questionario.setRelatorioAnexado(false);
+ }
+
listaQuestionario.add(questionario);
}
@@ -80,7 +105,7 @@ public class QuestionarioDao {
return listaQuestionario;
}
- public List retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String nomeOrgao) {
+ public List retornarListaQuestionarioComFiltro(String path, String statusRelatorio, String statusPlanoTrabalho, String relatorioAnexado, String nomeOrgao) {
List listaQuestionario = new ArrayList();
@@ -114,6 +139,7 @@ public class QuestionarioDao {
questionario.setFlagEnviado(rset.getBoolean("flag_enviado"));
dataRespostaQuestionario = rset.getString("data_resposta_email");
+
if(dataRespostaQuestionario != null)
{
questionario.setDtRespostaEmail(DateUtil.dataHoraFormatadaDiaMesAnoComParametro(dataRespostaQuestionario));
@@ -126,21 +152,75 @@ public class QuestionarioDao {
questionario.setDataRespostaQuestionario(respostaQuestionarioDao.verificaRespostaQuestionario(path, rset.getInt("id_questionario")));
- questionario.setPlanoTrabalhoEnviado( planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario")) > -1 ? true : false);
- if(statusPlanoTrabalho.equalsIgnoreCase("todos"))
+ PlanoTrabalho planoTrabalho = new PlanoTrabalho();
+
+ planoTrabalho = planoTrabalhoDao.verificaPlanoTrabalho(path, rset.getInt("id_questionario"));
+
+ //verifica se foi anexado plano de trabalho
+ if(planoTrabalho != null && planoTrabalho.getArquivoPlanoTrabalho() != null)
{
- listaQuestionario.add(questionario);
+ questionario.setPlanoTrabalhoAnexado(true);
+ }
+ else
+ {
+ questionario.setPlanoTrabalhoAnexado(false);
+ }
+ //verifica se foi anexado o Relatório
+ if(planoTrabalho != null && planoTrabalho.getArquivoRelatorioAss() != null)
+ {
+ questionario.setRelatorioAnexado(true);
}
else
{
- if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoEnviado())
+ questionario.setRelatorioAnexado(false);
+ }
+
+
+ if(statusPlanoTrabalho.equalsIgnoreCase("todos") && relatorioAnexado.equalsIgnoreCase("todos"))
+ {
+ listaQuestionario.add(questionario);
+ }
+ else
+ {
+ if(statusPlanoTrabalho.equalsIgnoreCase("sim") && questionario.isPlanoTrabalhoAnexado())
{
- listaQuestionario.add(questionario);
+ if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ }
+ else if(relatorioAnexado.equalsIgnoreCase("todos"))
+ {
+ listaQuestionario.add(questionario);
+ }
+ else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ }
}
- else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoEnviado())
+ else if(statusPlanoTrabalho.equalsIgnoreCase("nao") && !questionario.isPlanoTrabalhoAnexado())
+ {
+ if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ } else if(relatorioAnexado.equalsIgnoreCase("todos"))
+ {
+ listaQuestionario.add(questionario);
+ }
+ else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ }
+ }else if(statusPlanoTrabalho.equalsIgnoreCase("todos"))
{
- listaQuestionario.add(questionario);
+ if(relatorioAnexado.equalsIgnoreCase("sim") && questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ }
+ else if(relatorioAnexado.equalsIgnoreCase("nao") && !questionario.isRelatorioAnexado())
+ {
+ listaQuestionario.add(questionario);
+ }
}
}
diff --git a/src/br/com/model/entity/PlanoTrabalho.java b/src/br/com/model/entity/PlanoTrabalho.java
index e792513..55006dc 100644
--- a/src/br/com/model/entity/PlanoTrabalho.java
+++ b/src/br/com/model/entity/PlanoTrabalho.java
@@ -7,6 +7,8 @@ public class PlanoTrabalho {
private String nomeExtensaoPlanoTrabalho;
private byte[] arquivoRelatorioAss;
private String nomeExtensaoRelatorioAss;
+ private String nomePlanoTrabalho;
+ private String nomeRelatorioAss;
private Questionario questionario;
public int getIdPlanoTrabalho() {
@@ -47,5 +49,19 @@ public class PlanoTrabalho {
public void setNomeExtensaoRelatorioAss(String nomeExtensaoRelatorioAss) {
this.nomeExtensaoRelatorioAss = nomeExtensaoRelatorioAss;
}
+ public String getNomePlanoTrabalho() {
+ return nomePlanoTrabalho;
+ }
+ public void setNomePlanoTrabalho(String nomePlanoTrabalho) {
+ this.nomePlanoTrabalho = nomePlanoTrabalho;
+ }
+ public String getNomeRelatorioAss() {
+ return nomeRelatorioAss;
+ }
+ public void setNomeRelatorioAss(String nomeRelatorioAss) {
+ this.nomeRelatorioAss = nomeRelatorioAss;
+ }
+
+
}
diff --git a/src/br/com/model/entity/Questionario.java b/src/br/com/model/entity/Questionario.java
index 8213c66..b34a156 100644
--- a/src/br/com/model/entity/Questionario.java
+++ b/src/br/com/model/entity/Questionario.java
@@ -22,7 +22,8 @@ public class Questionario {
private String dtRecebimentoEmail;
private String dtRespostaEmail;
private String dataRespostaQuestionario;
- private boolean planoTrabalhoEnviado;
+ private boolean planoTrabalhoAnexado;
+ private boolean RelatorioAnexado;
private boolean flagEnviado;
@@ -174,12 +175,12 @@ public class Questionario {
this.dataRespostaQuestionario = dataRespostaQuestionario;
}
- public boolean isPlanoTrabalhoEnviado() {
- return planoTrabalhoEnviado;
+ public boolean isPlanoTrabalhoAnexado() {
+ return planoTrabalhoAnexado;
}
- public void setPlanoTrabalhoEnviado(boolean planoTrabalhoEnviado) {
- this.planoTrabalhoEnviado = planoTrabalhoEnviado;
+ public void setPlanoTrabalhoAnexado(boolean planoTrabalhoAnexado) {
+ this.planoTrabalhoAnexado = planoTrabalhoAnexado;
}
public boolean isFlagEnviado() {
@@ -190,6 +191,14 @@ public class Questionario {
this.flagEnviado = flagEnviado;
}
+ public boolean isRelatorioAnexado() {
+ return RelatorioAnexado;
+ }
+
+ public void setRelatorioAnexado(boolean relatorioAnexado) {
+ RelatorioAnexado = relatorioAnexado;
+ }
+
}
--
libgit2 0.21.2