package gcom.gui.cobranca.cobrancaporresultado; import gcom.batch.Processo; import gcom.cobranca.ComandoEmpresaCobrancaConta; import gcom.cobranca.FiltroComandoEmpresaCobrancaConta; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.Map; 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; /** * [UC1167] Consultar Comandos de Cobran�a por Empresa * * @author Mariana Victor * @since 03/05/2011 */ public class ConsultarComandosContasCobrancaEmpresaAction extends ExibidorProcessamentoTarefaRelatorio { /** * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return * @throws IOException */ @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException { ActionForward retorno = actionMapping.findForward("telaSucesso"); ConsultarComandosContasCobrancaEmpresaActionForm form = (ConsultarComandosContasCobrancaEmpresaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); Integer idRegistro = new Integer(form.getIdRegistro()) ; String idEmpresa = form.getIdEmpresa(); HttpSession sessao = httpServletRequest.getSession(false); Usuario usuarioLogado = (Usuario) sessao.getAttribute("usuarioLogado"); FiltroComandoEmpresaCobrancaConta filtro = new FiltroComandoEmpresaCobrancaConta(); filtro.adicionarParametro(new ParametroSimples(FiltroComandoEmpresaCobrancaConta.ID, idRegistro)); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroComandoEmpresaCobrancaConta.COBRANCA_SITUACAO); Collection colecao = fachada.pesquisar(filtro, ComandoEmpresaCobrancaConta.class.getName()); if (colecao == null || colecao.isEmpty()) { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Comandos de Contas em Cobran�a"); } ComandoEmpresaCobrancaConta comando = (ComandoEmpresaCobrancaConta) Util.retonarObjetoDeColecao(colecao); if (httpServletRequest.getParameter("confirmado") != null && httpServletRequest.getParameter("confirmado").equalsIgnoreCase("ok")) { Map parametros = new HashMap(); parametros.put("idEmpresa", idEmpresa); parametros.put("idRegistro", idRegistro); parametros.put("idCobrancaSituacao", comando.getCobrancaSituacao().getId()); fachada.inserirProcessoIniciadoParametrosLivres(parametros, Processo.ENCERRAR_COMANDO_DE_COBRANCA_POR_EMPRESA, usuarioLogado); } else { if (comando.getDataEncerramento() != null) { throw new ActionServletException("atencao.comando.ja_encerrado", null, "Comandos de Contas em Cobran�a"); } if (comando.getIndicadorGeracaoTxt() == null || comando.getIndicadorGeracaoTxt().equals(new Integer(2))) { httpServletRequest.setAttribute("caminhoActionConclusao", "/gsan/consultarComandosContasCobrancaEmpresaAction.do"); // Monta a p�gina de confirma��o do wizard para perguntar se // o usu�rio quer confirmar o encerramento do comando // mesmo sem ter sido enviado para a empresa contratada return montarPaginaConfirmacao( "atencao.comando.nao_enviado.confirmacao", httpServletRequest, actionMapping); } Map parametros = new HashMap(); parametros.put("idEmpresa", idEmpresa); parametros.put("idRegistro", idRegistro); parametros.put("idCobrancaSituacao", comando.getCobrancaSituacao().getId()); fachada.inserirProcessoIniciadoParametrosLivres(parametros, Processo.ENCERRAR_COMANDO_DE_COBRANCA_POR_EMPRESA, usuarioLogado); } //montando p�gina de sucesso montarPaginaSucesso(httpServletRequest, "Encerramento do Comando de Cobran�a por Empresa Enviado para Processamento", "Voltar", "exibirConsultarComandosContasCobrancaEmpresaAction.do?menu=sim"); return retorno; } }