package gcom.gui.faturamento;
import gcom.cadastro.localidade.FiltroLocalidade;
import gcom.cadastro.localidade.FiltroSetorComercial;
import gcom.cadastro.localidade.Localidade;
import gcom.cadastro.localidade.SetorComercial;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.operacional.FiltroFonteCaptacao;
import gcom.operacional.FiltroSistemaAbastecimento;
import gcom.operacional.FonteCaptacao;
import gcom.operacional.SistemaAbastecimento;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import java.util.Collection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
*
* @author Fl�vio
* @date 26/09/2007
*/
public class ExibirFiltrarQualidadeAguaAction extends GcomAction{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("filtrarQualidadeAgua");
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
FiltrarQualidadeAguaActionForm form = (FiltrarQualidadeAguaActionForm) actionForm;
// C�digo para checar ou n�o o ATUALIZAR
String primeiraVez = httpServletRequest.getParameter("menu");
if (primeiraVez != null && !primeiraVez.equals("")) {
sessao.setAttribute("indicadorAtualizar", "1");
form.setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL.toString());
}
String idLocalidade = form.getIdLocalidade();
String codigoSetor = form.getCodigoSetor();
// Verificar se o n�mero da Localidade n�o est� cadastrado
if (idLocalidade != null && !idLocalidade.trim().equals("")) {
// Filtro para descobrir id da Localidade
FiltroLocalidade filtroLocalidade = new FiltroLocalidade();
filtroLocalidade.adicionarParametro(
new ParametroSimples(
FiltroLocalidade.ID,
idLocalidade));
Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName());
if (colecaoLocalidade == null || colecaoLocalidade.isEmpty()) {
form.setIdLocalidade("");
form.setNomeLocalidade( "LOCALIDADE INEXISTENTE" );
httpServletRequest.setAttribute("idLocalidadeNaoEncontrado","exception");
httpServletRequest.setAttribute("nomeCampo","idLocalidade");
}else{
Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade);
form.setIdLocalidade(localidade.getId().toString());
form.setNomeLocalidade(localidade.getDescricao());
httpServletRequest.setAttribute("nomeCampo","codigoSetor");
}
}
// Verifica se o Setor Comercial n�o est� cadastrado
if (codigoSetor != null && !codigoSetor.trim().equals("")) {
// Filtro para descobrir o Setor Comercial relacionado � localidade.
FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial();
filtroSetorComercial.adicionarParametro(
new ParametroSimples(
FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,
codigoSetor));
filtroSetorComercial.adicionarParametro(
new ParametroSimples(
FiltroSetorComercial.ID_LOCALIDADE,
idLocalidade));
Collection colecaoSetor = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName());
if (colecaoSetor == null || colecaoSetor.isEmpty()) {
form.setCodigoSetor("");
form.setNomeSetor( "SETOR COMERCIAL INEXISTENTE" );
httpServletRequest.setAttribute("codigoSetorNaoEncontrado","exception");
httpServletRequest.setAttribute("nomeCampo","codigoSetor");
}else{
SetorComercial setorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoSetor);
form.setCodigoSetor(setorComercial.getCodigo() + "");
form.setNomeSetor(setorComercial.getDescricao());
httpServletRequest.setAttribute("nomeCampo","fonteCaptacao");
}
}
//Sistema Abastecimento
FiltroSistemaAbastecimento filtroSistemaAbastecimento = new FiltroSistemaAbastecimento();
// Verifica se os dados foram informados da tabela existem e joga numa
// colecao
Collection<SistemaAbastecimento> colecaoSistemaAbastecimento = fachada.pesquisar(filtroSistemaAbastecimento,
SistemaAbastecimento.class.getName());
if (colecaoSistemaAbastecimento == null || colecaoSistemaAbastecimento.isEmpty()) {
throw new ActionServletException(
"atencao.entidade_sem_dados_para_selecao", null,
"Tabela Sistema Abastecimento");
}
//Manda valores do Sistema de Abastecimento para Sess�o
httpServletRequest.setAttribute("colecaoSistemaAbastecimento", colecaoSistemaAbastecimento);
//pesquisa os dados do enter
pesquisarEnter(form, httpServletRequest,fachada);
return retorno;
}
private void pesquisarEnter(
FiltrarQualidadeAguaActionForm form,
HttpServletRequest httpServletRequest, Fachada fachada) {
// pesquisa enter de FONTE DE CAPTACAO
if (form.getFonteCaptacao() != null
&& !form.getFonteCaptacao().equals("")) {
FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao();
try {
filtroFonteCaptacao.adicionarParametro(new ParametroSimples(
FiltroFonteCaptacao.ID, new Integer(
form.getFonteCaptacao())));
} catch (NumberFormatException ex) {
throw new ActionServletException(
"atencao.campo_texto.numero_obrigatorio", null,
"Fonte de Capta��o");
}
filtroFonteCaptacao
.setCampoOrderBy(FiltroFonteCaptacao.DESCRICAO);
Collection colecaoFonteCaptacao = fachada.pesquisar(
filtroFonteCaptacao, FonteCaptacao.class.getName());
if (colecaoFonteCaptacao != null
&& !colecaoFonteCaptacao.isEmpty()) {
FonteCaptacao fonteCaptacao = (FonteCaptacao) Util.retonarObjetoDeColecao(colecaoFonteCaptacao);
form.setDescricaoFonteCaptacao(fonteCaptacao.getDescricao());
httpServletRequest.setAttribute("fonteCaptacaoEncontrada", true);
} else {
form.setFonteCaptacao("");
form.setDescricaoFonteCaptacao("FONTE DE CAPTAC�O INEXISTENTE");
}
}
}
}