package gcom.gui.cobranca; import gcom.cobranca.CobrancaAcao; import gcom.cobranca.CobrancaAcaoAtividadeCronograma; import gcom.cobranca.CobrancaAtividade; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.bean.PesquisarQtdeRotasSemCriteriosParaAcoesCobranca; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.interceptor.RegistradorOperacao; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.OperacaoEfetuada; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import java.util.ArrayList; import java.util.Collection; 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; /** * [UC0243] Inserir Comando de A��o de Conbran�a - Tipo de Comando Cronograma * @author Rafael Santos * @since 24/01/2006 */ public class InserirComandoAcaoCobrancaCronogramaAction extends GcomAction{ /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("telaSucesso"); //Mudar isso quando implementar a parte de seguran�a HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); InserirComandoAcaoCobrancaCronogramaActionForm form = (InserirComandoAcaoCobrancaCronogramaActionForm) actionForm; // -- Validar se todas as rotas do grupo informado possui um criterio definido para a a�ao de cobran�a Collection<Integer> idsAcoesCobranca = new ArrayList<Integer>(); idsAcoesCobranca.add(new Integer(form.getCobrancaAcao())); PesquisarQtdeRotasSemCriteriosParaAcoesCobranca filtro = new PesquisarQtdeRotasSemCriteriosParaAcoesCobranca(); filtro.setIdGrupoCobranca(new Integer(form.getCobrancaGrupo())); filtro.setIdsAcoesCobranca(idsAcoesCobranca); Integer qtdeRotasSemCriterios = fachada.pesquisarQtdeRotasSemCriteriosParaAcoesCobranca(filtro); if (qtdeRotasSemCriterios != null && qtdeRotasSemCriterios.intValue() > 0) { throw new ActionServletException("atencao.rotas.sem.criterio.para.acao.cobranca"); } // --------- if(sessao.getAttribute("cobrancaAcaoAtividadeCronograma") != null){ CobrancaAcaoAtividadeCronograma cobrancaAcaoAtividadeCronograma = (CobrancaAcaoAtividadeCronograma) sessao.getAttribute("cobrancaAcaoAtividadeCronograma"); cobrancaAcaoAtividadeCronograma.setComando(new Date()); //------------ REGISTRAR TRANSA��O ---------------- RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_INSERIR_COMANDO_ACAO_COBRANCA_CRONOGRAMA, new UsuarioAcaoUsuarioHelper(Usuario.USUARIO_TESTE, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); Operacao operacao = new Operacao(); operacao.setId(Operacao.OPERACAO_INSERIR_COMANDO_ACAO_COBRANCA_CRONOGRAMA); OperacaoEfetuada operacaoEfetuada = new OperacaoEfetuada(); operacaoEfetuada.setOperacao(operacao); cobrancaAcaoAtividadeCronograma.setOperacaoEfetuada(operacaoEfetuada); cobrancaAcaoAtividadeCronograma.adicionarUsuario(Usuario.USUARIO_TESTE, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO); registradorOperacao.registrarOperacao(cobrancaAcaoAtividadeCronograma); //------------ REGISTRAR TRANSA��O ---------------- //atualizar a data e hora do comandoi fachada.atualizar(cobrancaAcaoAtividadeCronograma); } CobrancaGrupo cobrancaGrupo = null; if(sessao.getAttribute("cobrancaGrupo") != null ){ cobrancaGrupo = (CobrancaGrupo) sessao.getAttribute("cobrancaGrupo"); } CobrancaAcao cobrancaAcao = null; if(sessao.getAttribute("cobrancaAcao") != null ){ cobrancaAcao = (CobrancaAcao)sessao.getAttribute("cobrancaAcao"); } CobrancaAtividade cobrancaAtividade = null; if(sessao.getAttribute("cobrancaAtividade") != null ){ cobrancaAtividade = (CobrancaAtividade)sessao.getAttribute("cobrancaAtividade"); } montarPaginaSucesso(httpServletRequest, "A A��o " + cobrancaAcao.getDescricaoCobrancaAcao() + " do grupo " + cobrancaGrupo.getDescricao() + ", para a atividade " + cobrancaAtividade.getDescricaoCobrancaAtividade() + " comandada com sucesso.", "Inserir outro Comando de A��o de Cobran�a", "exibirInserirComandoAcaoCobrancaAction.do?menu=sim"); if(sessao.getAttribute("colecaoCobrancaGrupo") != null ){ sessao.removeAttribute("colecaoCobrancaGrupo"); } if(sessao.getAttribute("cobrancaGrupo") != null ){ sessao.removeAttribute("cobrancaGrupo"); } if(sessao.getAttribute("colecaoCobrancaGrupoCronogramaMensal") != null ){ sessao.removeAttribute("colecaoCobrancaGrupoCronogramaMensal"); } if(sessao.getAttribute("colecaoCobrancaAcao") != null ){ sessao.removeAttribute("colecaoCobrancaAcao"); } if(sessao.getAttribute("cobrancaAcao") != null ){ sessao.removeAttribute("cobrancaAcao"); } if(sessao.getAttribute("cobrancaAcaoCronogama") != null ){ sessao.removeAttribute("cobrancaAcaoCronogama"); } if(sessao.getAttribute("colecaoCobrancaAtividade") != null ){ sessao.removeAttribute("colecaoCobrancaAtividade"); } if(sessao.getAttribute("cobrancaAcaoAtividadeCronograma") != null ){ sessao.removeAttribute("cobrancaAcaoAtividadeCronograma"); } if(sessao.getAttribute("cobrancaAtividade") != null ){ sessao.removeAttribute("cobrancaAtividade"); } return retorno; } }