package gcom.gui.cobranca;
import gcom.cadastro.empresa.Empresa;
import gcom.cobranca.CobrancaGrupo;
import gcom.cobranca.FiltroCobrancaGrupo;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.util.Util;
import gcom.util.filtro.ParametroSimples;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
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 Arthur Carvalho
* @date 14/08/2009
*/
public class ExibirAtualizarCobrancaGrupoAction extends GcomAction {
/**
* M�todo responsavel por responder a requisicao
*
* @param actionMapping
* Descri��o do par�metro
* @param actionForm
* Descri��o do par�metro
* @param httpServletRequest
* Descri��o do par�metro
* @param httpServletResponse
* Descri��o do par�metro
* @return Descri��o do retorno
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("cobrancaGrupoAtualizar");
AtualizarCobrancaGrupoActionForm form = (AtualizarCobrancaGrupoActionForm) actionForm;
Fachada fachada = Fachada.getInstancia();
HttpSession sessao = httpServletRequest.getSession(false);
String id = null;
if (httpServletRequest.getParameter("idRegistroAtualizacao") != null){
id = httpServletRequest.getParameter("idRegistroAtualizacao");
} else if (sessao.getAttribute("cobrancaGrupo") != null) {
id = ((CobrancaGrupo) sessao.getAttribute("cobrancaGrupo")).getId().toString();
} else {
id = ((CobrancaGrupo) sessao.getAttribute("atualizarCobrancaGrupo")).getId().toString();
}
if (httpServletRequest.getParameter("manter") != null) {
sessao.setAttribute("manter", true);
} else if (httpServletRequest.getParameter("filtrar") != null) {
sessao.removeAttribute("manter");
}
if (id == null) {
if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null) {
id = (String) sessao.getAttribute("idRegistroAtualizacao");
} else {
id = (String) httpServletRequest.getAttribute(
"idRegistroAtualizacao").toString();
}
} else {
sessao.setAttribute("i", true);
}
CobrancaGrupo cobrancaGrupo = new CobrancaGrupo();
if (id != null && !id.trim().equals("") && Integer.parseInt(id) > 0) {
FiltroCobrancaGrupo filtroCobrancaGrupo= new FiltroCobrancaGrupo();
filtroCobrancaGrupo.adicionarParametro(
new ParametroSimples(FiltroCobrancaGrupo.ID, id));
Collection colecaoCobrancaGrupo = fachada.pesquisar(
filtroCobrancaGrupo, CobrancaGrupo.class.getName());
if (colecaoCobrancaGrupo != null && !colecaoCobrancaGrupo.isEmpty()) {
cobrancaGrupo = (CobrancaGrupo) Util.retonarObjetoDeColecao(colecaoCobrancaGrupo);
}
Collection<Empresa> collectionEmpresa = fachada.pesquisarEmpresasContratoServico();
httpServletRequest.setAttribute("collectionEmpresa", collectionEmpresa);
List colecaoHelper = null;
Integer idEmpresa = null;
if (httpServletRequest.getParameter("carregarContrato") != null && httpServletRequest.getParameter("carregarContrato").equals("NAO")) {
// caso tenha sido selecionada nenhuma empresa, remover cole��o de contratos
sessao.removeAttribute("collectionContrato");
} else if (httpServletRequest.getParameter("carregarContrato") != null && httpServletRequest.getParameter("carregarContrato").equals("SIM")){
// caso tenha sido selecionada alguma empresa, carregar contratos
idEmpresa = new Integer(httpServletRequest.getParameter("empresa"));
} else if (cobrancaGrupo.getContratoEmpresaServico() != null) {
idEmpresa = cobrancaGrupo.getContratoEmpresaServico().getEmpresa().getId();
form.setEmpresa(cobrancaGrupo.getContratoEmpresaServico().getEmpresa().getId().toString());
form.setIdNumeroContrato(cobrancaGrupo.getContratoEmpresaServico().getId().toString());
form.setId(cobrancaGrupo.getId().toString());
form.setDescricao(cobrancaGrupo.getDescricao());
form.setDescricaoAbreviada(cobrancaGrupo.getDescricaoAbreviada());
form.setAnoMesReferencia( Util.formatarAnoMesParaMesAno( cobrancaGrupo.getAnoMesReferencia() ));
form.setIndicadorUso(cobrancaGrupo.getIndicadorUso());
form.setEmailResponsavel(cobrancaGrupo.getEmailResponsavel());
form.setIndicadorExecucaoAutomatica(cobrancaGrupo.getIndicadorExecucaoAutomatica());
}
if (idEmpresa != null) {
colecaoHelper = new ArrayList();
colecaoHelper = fachada.obterDadosItensContratoServico(idEmpresa);
if(colecaoHelper != null && colecaoHelper.size() > 0){
sessao.setAttribute("collectionContrato", colecaoHelper);
}
} else if (httpServletRequest.getParameter("carregarContrato") == null
|| httpServletRequest.getParameter("carregarContrato").equals("")){
form.setId(cobrancaGrupo.getId().toString());
form.setDescricao(cobrancaGrupo.getDescricao());
form.setDescricaoAbreviada(cobrancaGrupo.getDescricaoAbreviada());
form.setAnoMesReferencia( Util.formatarAnoMesParaMesAno( cobrancaGrupo.getAnoMesReferencia() ));
form.setIndicadorUso(cobrancaGrupo.getIndicadorUso());
form.setEmailResponsavel(cobrancaGrupo.getEmailResponsavel());
form.setIndicadorExecucaoAutomatica(cobrancaGrupo.getIndicadorExecucaoAutomatica());
if (cobrancaGrupo.getContratoEmpresaServico() == null) {
sessao.removeAttribute("collectionContrato");
form.setEmpresa("");
form.setIdNumeroContrato("");
}
}
if (httpServletRequest.getParameter("carregarContrato") == null
|| httpServletRequest.getParameter("carregarContrato").equals("")) {
form.setEmailResponsavel(cobrancaGrupo.getEmailResponsavel());
form.setIndicadorExecucaoAutomatica(cobrancaGrupo.getIndicadorExecucaoAutomatica());
}
sessao.setAttribute("atualizarCobrancaGrupo", cobrancaGrupo);
if (sessao.getAttribute("colecaoCobrancaGrupo") != null) {
sessao.setAttribute("caminhoRetornoVoltar",
"/gsan/filtrarCobrancaGrupoAction.do");
} else {
sessao.setAttribute("caminhoRetornoVoltar",
"/gsan/exibirFiltrarCobrancaGrupoAction.do");
}
}
return retorno;
}
}