package gcom.gui.cadastro; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.EmpresaCobrancaFaixa; import gcom.cadastro.empresa.EmpresaContratoCobranca; import gcom.cadastro.empresa.FiltroEmpresaCobrancaFaixa; import gcom.cadastro.empresa.FiltroEmpresaContratoCobranca; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.ManutencaoRegistroActionForm; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * @author Arthur Carvalho * @date 15/05/2008 */ public class RemoverEmpresaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ManutencaoRegistroActionForm manutencaoRegistroActionForm = (ManutencaoRegistroActionForm) actionForm; String[] ids = manutencaoRegistroActionForm.getIdRegistrosRemocao(); ActionForward retorno = actionMapping.findForward("telaSucesso"); Fachada fachada = Fachada.getInstancia(); if (ids == null || ids.length == 0) { throw new ActionServletException( "atencao.registros.nao_selecionados"); } if (ids != null && ids.length != 0) { // remove todas as unidade executoras informadas for (int i = 0; i < ids.length; i++) { // atribui a vari�vel "id" o c�digo da unidade executora para // remo��o int id = Integer.parseInt(ids[i]); FiltroEmpresaContratoCobranca filtroEmpresaCobranca = new FiltroEmpresaContratoCobranca(); filtroEmpresaCobranca.adicionarParametro(new ParametroSimples( FiltroEmpresaContratoCobranca.EMPRESA_ID, id)); Collection colecaoEmpresaCobranca = fachada.pesquisar( filtroEmpresaCobranca, EmpresaContratoCobranca.class.getName()); if (colecaoEmpresaCobranca != null && !colecaoEmpresaCobranca.isEmpty()) { EmpresaContratoCobranca empresaCobranca = (EmpresaContratoCobranca) colecaoEmpresaCobranca .iterator().next(); FiltroEmpresaCobrancaFaixa filtroEmpresaCobrancaFaixa = new FiltroEmpresaCobrancaFaixa(); filtroEmpresaCobrancaFaixa.adicionarParametro(new ParametroSimples( FiltroEmpresaCobrancaFaixa.EMPRESA_CONTRATO_COBRANCA_ID, empresaCobranca.getId())); Collection colecaoEmpresaCobrancaFaixa = fachada.pesquisar( filtroEmpresaCobrancaFaixa, EmpresaCobrancaFaixa.class.getName()); if (colecaoEmpresaCobrancaFaixa != null && !colecaoEmpresaCobrancaFaixa.isEmpty()) { Iterator iterator = colecaoEmpresaCobrancaFaixa.iterator(); while (iterator.hasNext()) { EmpresaCobrancaFaixa empresaCobrancaFaixa = (EmpresaCobrancaFaixa) iterator.next(); fachada.remover(empresaCobrancaFaixa); } } fachada.remover(empresaCobranca); } } } fachada.remover(ids, Empresa.class.getName(), null, null); if (retorno.getName().equalsIgnoreCase("telaSucesso")) { montarPaginaSucesso(httpServletRequest, ids.length + " Empresa(s) removida(s) com sucesso.", "Realizar outra Manuten��o de Empresa", "exibirFiltrarEmpresaAction.do?menu=sim"); } return retorno; } }