package gcom.gui.cobranca;
import gcom.cobranca.FiltroResolucaoDiretoria;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.util.ConstantesSistema;
import gcom.util.Util;
import gcom.util.filtro.ComparacaoTexto;
import gcom.util.filtro.ParametroSimples;
import java.util.Date;
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;
public class FiltrarResolucaoDiretoriaAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) {
ActionForward retorno = actionMapping.findForward("manterResolucaoDiretoria");
FiltrarResolucaoDiretoriaActionForm form = (FiltrarResolucaoDiretoriaActionForm) actionForm;
HttpSession sessao = request.getSession(false);
String numero = "";
String assunto = "";
String dataInicio = "";
String dataFim = "";
String indicadorParcelamentoUnico = "";
String indicadorUtilizacaoLivre = "";
String indicadorDescontoFaixaReferenciaConta = "";
String indicadorDescontoSancoes = "";
String indicadorParcelasEmAtraso = "";
String idParcelasEmAtraso = "";
String indicadorParcelamentoEmAndamento = "";
String idParcelamentoEmAndamento = "";
String indicadorNegociacaoSoAVista = "";
String indicadorDescontoSoEmContaAVista = "";
String indicadorParcelamentoLojaVirtual = "";
if (request.getParameter("page.offset") == null) {
numero = form.getNumero();
sessao.setAttribute("numero", numero);
assunto = form.getAssunto();
sessao.setAttribute("assunto", assunto);
dataInicio = form.getDataInicio();
sessao.setAttribute("dataInicio", dataInicio);
dataFim = form.getDataFim();
sessao.setAttribute("dataFim", dataFim);
indicadorParcelamentoUnico = form.getIndicadorParcelamentoUnico();
sessao.setAttribute("indicadorParcelamentoUnico", indicadorParcelamentoUnico);
indicadorUtilizacaoLivre = form.getIndicadorUtilizacaoLivre();
sessao.setAttribute("indicadorUtilizacaoLivre", indicadorUtilizacaoLivre);
indicadorDescontoFaixaReferenciaConta = form.getIndicadorDescontoFaixaReferenciaConta();
sessao.setAttribute("indicadorDescontoFaixaReferenciaConta", indicadorDescontoFaixaReferenciaConta);
indicadorDescontoSancoes = form.getIndicadorDescontoSancoes();
sessao.setAttribute("indicadorDescontoSancoes", indicadorDescontoSancoes);
indicadorParcelasEmAtraso = form.getIndicadorParcelasEmAtraso();
sessao.setAttribute("indicadorParcelasEmAtraso", indicadorParcelasEmAtraso);
idParcelasEmAtraso = form.getIdParcelasEmAtraso();
sessao.setAttribute("idParcelasEmAtraso", idParcelasEmAtraso);
indicadorParcelamentoEmAndamento = form.getIndicadorParcelamentoEmAndamento();
sessao.setAttribute("indicadorParcelamentoEmAndamento", indicadorParcelamentoEmAndamento);
idParcelamentoEmAndamento = form.getIdParcelamentoEmAndamento();
sessao.setAttribute("idParcelamentoEmAndamento", idParcelamentoEmAndamento);
indicadorNegociacaoSoAVista = form.getIndicadorNegociacaoSoAVista();
sessao.setAttribute("indicadorNegociacaoSoAVista", indicadorNegociacaoSoAVista);
indicadorDescontoSoEmContaAVista = form.getIndicadorDescontoSoEmContaAVista();
sessao.setAttribute("indicadorDescontoSoEmContaAVista", indicadorDescontoSoEmContaAVista);
indicadorParcelamentoLojaVirtual = form.getIndicadorParcelamentoLojaVirtual();
sessao.setAttribute("indicadorParcelamentoLojaVirtual", indicadorParcelamentoLojaVirtual);
} else {
numero = (String) sessao.getAttribute("numero");
assunto = (String) sessao.getAttribute("assunto");
dataInicio = (String) sessao.getAttribute("dataInicio");
dataFim = (String) sessao.getAttribute("dataFim");
indicadorParcelamentoUnico = (String) sessao.getAttribute("indicadorParcelamentoUnico");
indicadorUtilizacaoLivre = (String) sessao.getAttribute("indicadorUtilizacaoLivre");
indicadorDescontoFaixaReferenciaConta = (String) sessao.getAttribute("indicadorDescontoFaixaReferenciaConta");
indicadorDescontoSancoes = (String) sessao.getAttribute("indicadorDescontoSancoes");
indicadorParcelasEmAtraso = (String) sessao.getAttribute("indicadorParcelasEmAtraso");
if (sessao.getAttribute("idParcelasEmAtraso") != null) {
idParcelasEmAtraso = (String) sessao.getAttribute("idParcelasEmAtraso");
}
indicadorParcelamentoEmAndamento = (String) sessao.getAttribute("indicadorParcelamentoEmAndamento");
if (sessao.getAttribute("idParcelamentoEmAndamento") != null) {
idParcelamentoEmAndamento = (String) sessao.getAttribute("idParcelamentoEmAndamento");
}
indicadorNegociacaoSoAVista = (String) sessao.getAttribute("indicadorNegociacaoSoAVista");
indicadorDescontoSoEmContaAVista = (String) sessao.getAttribute("indicadorDescontoSoEmContaAVista");
indicadorParcelamentoLojaVirtual = (String) sessao.getAttribute("indicadorParcelamentoLojaVirtual");
}
FiltroResolucaoDiretoria filtro = new FiltroResolucaoDiretoria();
filtro.setCampoOrderBy("numeroResolucaoDiretoria");
if (dataInicio != null && !dataInicio.trim().equals("") && dataFim != null && !dataFim.trim().equals("")) {
if ((Util.converteStringParaDate(dataInicio)).compareTo(Util.converteStringParaDate(dataFim)) >= 0) {
throw new ActionServletException("atencao.termino_vigencia.anterior.inicio_vigencia");
}
}
boolean peloMenosUmParametroInformado = false;
if (numero != null && !numero.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.NUMERO, numero));
}
if (assunto != null && !assunto.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
filtro.adicionarParametro(new ComparacaoTexto(FiltroResolucaoDiretoria.DESCRICAO, assunto));
}
if (dataInicio != null && !dataInicio.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
Date dataInicioFormatada = Util.converteStringParaDate(dataInicio);
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.DATA_VIGENCIA_INICIO, dataInicioFormatada));
}
if (dataFim != null && !dataFim.trim().equalsIgnoreCase("")) {
peloMenosUmParametroInformado = true;
Date dataFimFormatada = Util.converteStringParaDate(dataFim);
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.DATA_VIGENCIA_FIM, dataFimFormatada));
}
if (!form.getIndicadorParcelamentoUnico().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_PARCELAMENTO_UNICO, form.getIndicadorParcelamentoUnico()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorUtilizacaoLivre().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_UTILIZACAO_LIVRE, form.getIndicadorUtilizacaoLivre()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorDescontoFaixaReferenciaConta().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_DESCONTO_FAIXA_REFERENCIA_CONTA, form.getIndicadorDescontoFaixaReferenciaConta()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorDescontoSancoes().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_DESCONTOS_SANCOES, form.getIndicadorDescontoSancoes()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorParcelasEmAtraso().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_PARCELAS_EM_ATRASO, form.getIndicadorParcelasEmAtraso()));
peloMenosUmParametroInformado = true;
if (form.getIdParcelasEmAtraso().equals(ConstantesSistema.SIM.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.ID_RD_PARCELAS_EM_ATRASO, form.getIdParcelasEmAtraso()));
}
}
if (!form.getIndicadorParcelamentoEmAndamento().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_PARCELAMENTO_EM_ANDAMENTO, form.getIndicadorParcelamentoEmAndamento()));
peloMenosUmParametroInformado = true;
if (form.getIdParcelamentoEmAndamento().equals(ConstantesSistema.SIM.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.ID_RD_PARCELAMENTO_EM_ANDAMENTO, form.getIdParcelamentoEmAndamento()));
}
}
if (!form.getIndicadorNegociacaoSoAVista().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_NEGOCIACAO_SO_A_VISTA, form.getIndicadorNegociacaoSoAVista()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorDescontoSoEmContaAVista().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_DESCONTO_SO_EM_CONTA_A_VISTA, form.getIndicadorDescontoSoEmContaAVista()));
peloMenosUmParametroInformado = true;
}
if (!form.getIndicadorParcelamentoLojaVirtual().equals(ConstantesSistema.TODOS.toString())) {
filtro.adicionarParametro(new ParametroSimples(FiltroResolucaoDiretoria.INDICADOR_PARCELAMENTO_LOJA_VIRTUAL, form.getIndicadorParcelamentoLojaVirtual()));
peloMenosUmParametroInformado = true;
}
if (!peloMenosUmParametroInformado) {
throw new ActionServletException("atencao.filtro.nenhum_parametro_informado");
}
if (form.getAtualizar() != null && form.getAtualizar().equalsIgnoreCase("1")) {
request.setAttribute("atualizar", form.getAtualizar());
}
sessao.setAttribute("filtroResolucaoDiretoria", filtro);
return retorno;
}
}