Bom dia galera do fórum
Criei um relatório que abre em uma popup, gera o pdf, tudo bonitinho. Mas eu preciso emitir um alerta se a data pesquisada não existir.
O problema é que eu primeiro passo os dados para o popup novo e depois eu abro ele. Como que eu posso criar uma mensagem que não existe a data pesquisada e fechar este popup que eu abri? Fiquei pensando, mas não consegui chegar a lugar nenhum.
A chamada da popup é a seguinte:
<SCRIPT>
function abrir() {
window.open('faturamento.htm','popup','toolbar=yes,status=yes,scrollbars=yes,location=yes,menubar=yes,directories=yes,width=800,height=600');
}
</SCRIPT>
<html:button disabled="true" property="inserir" value=" Gerar Faturamento " styleClass="bto1" onclick="abrir()" />
Este tela “faturamento.htm” faz o seguinte processamento:
<HTML>
<HEAD>
<TITLE>Faturamento de Projeto</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function montarRelatorio() {
window.document.frmRelatorio.dtEspecifica.value = opener.document.relatorioForm.dtEspecifica.value;
window.document.frmRelatorio.dtInicial.value = opener.document.relatorioForm.dtInicial.value;
window.document.frmRelatorio.dtFinal.value = opener.document.relatorioForm.dtFinal.value;
submitTo(frmRelatorio, 'relatorio.do', 'pesquisar', '')
}
</SCRIPT>
</HEAD>
<BODY>
<form name="frmRelatorio" action="">
<input type="hidden" name="metodo"/>
<input type="hidden" name="path"/>
<input type="hidden" name="resetForm"/>
<input type="hidden" name="dtEspecifica"/>
<input type="hidden" name="dtInicial"/>
<input type="hidden" name="dtFinal"/>
</form>
</BODY>
<SCRIPT>montarRelatorio()</SCRIPT>
</HTML>
E meu método “pesquisar”, está na minha Action e está codificado da seguinte maneira:
public ActionForward pesquisar(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws WebActionException {
List listBeansRelatorio = new ArrayList();
BusinessDelegate bd = this.getBusinessDelegate();
DynaActionFormBean parcelaForm = (DynaActionFormBean) form;
String data = request.getParameter("dtEspecifica");
if (data.equals("") || data.equals(null))
{
pesquisaPorPeriodo(request, listBeansRelatorio, bd);
} else {
pesquisaPorData(listBeansRelatorio, bd, data);
}
private void pesquisaPorData(List listBeansRelatorio, BusinessDelegate bd, String data) {
try {
Collection listParcela = ((RelatorioBusinessDelegate) bd).buscarParcelaByData(DateUtils.convertToDate(data));
Iterator i = listParcela.iterator();
while(i.hasNext()) {
ParcelaVO parcelaVO = (ParcelaVO) i.next();
ProjetoVO projetoVO = new ProjetoVO();
projetoVO.setId(parcelaVO.getProjeto_id());
projetoVO = (ProjetoVO) ((RelatorioBusinessDelegate) bd).findById(projetoVO);
Integer qtdeParcelas = projetoVO.getQtdeParcelas();
Integer numParcela = parcelaVO.getNuParcela();
numParcela.intValue();
qtdeParcelas.intValue();
String quantidadeDias = projetoVO.getQtdeDias();
int qtdeDias = Integer.parseInt(quantidadeDias);
condicoesPagamento(parcelaVO, projetoVO, qtdeParcelas, numParcela, qtdeDias);
listBeansRelatorio.add(new RelatorioBean(parcelaVO, projetoVO));
}
} catch (GpbrException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
E a chamada BuscarParcelaByData, está no HibernateProxy assim:
public Collection buscarParcelaByData(Date dtFaturamento) throws GpbrPersistException {
Session session = SpringBeanFactoryComponent.getInstance().getSessionFactory().openSession();
Criteria criteria = session.createCriteria(ParcelaVO.class);
List results = criteria.add(Restrictions.between("dtFaturamento", DateUtils.getMinHourInDay(dtFaturamento), DateUtils.getMaxHourInDay(dtFaturamento))).list();
session.flush();
session.close();
return results;
}
Alguém pode me ajudar?
[]'s