package gcom.gui.cobranca.spcserasa;
import gcom.cobranca.NegativadorRetornoMotivo;
import gcom.fachada.Fachada;
import gcom.gui.GcomAction;
import gcom.spcserasa.FiltroNegativadorRetornoMotivo;
import gcom.util.filtro.ParametroSimples;
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;
/**
* Action de exibir manter Negativador
* @author Thiago Vieira
* @created 22/12/2007
*/
public class ExibirAtualizarNegativadorRetornoMotivoAction extends GcomAction {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
//Inicializando Variaveis
ActionForward retorno = actionMapping.findForward("exibirAtualizarNegativadorRetornoMotivo");
AtualizarNegativadorRetornoMotivoActionForm form = (AtualizarNegativadorRetornoMotivoActionForm) actionForm;
HttpSession sessao = httpServletRequest.getSession(false);
Collection collectionNegativadorRetornoMotivo = null;
FiltroNegativadorRetornoMotivo filtroNegativadorRetornoMotivo = new FiltroNegativadorRetornoMotivo();
Fachada fachada = Fachada.getInstancia();
if (httpServletRequest.getParameter("reexibir") == null || !httpServletRequest.getParameter("reexibir").equals("true")){
// volta da msg de Contrato do Negativador j� utilizado, n�o pode ser
// alterado nem exclu�do.
String confirmado = httpServletRequest.getParameter("confirmado");
String idNegativadorRetornoMotivo = null;
if (httpServletRequest.getParameter("reload") == null
|| httpServletRequest.getParameter("reload").equalsIgnoreCase(
"") && (confirmado == null || confirmado.equals(""))) {
if (httpServletRequest.getParameter("idAtualizar") != null) {
idNegativadorRetornoMotivo = httpServletRequest.getParameter("idAtualizar");
httpServletRequest.setAttribute("voltar", "filtrar");
sessao.setAttribute("idRegistroAtualizacao", idNegativadorRetornoMotivo);
} else if (httpServletRequest.getParameter("idRegistroAtualizacao") == null) {
idNegativadorRetornoMotivo = (String) sessao.getAttribute("idRegistroAtualizacao");
httpServletRequest.setAttribute("voltar", "filtrar");
} else if (httpServletRequest.getParameter("idRegistroAtualizacao") != null) {
idNegativadorRetornoMotivo = httpServletRequest.getParameter("idRegistroAtualizacao");
httpServletRequest.setAttribute("voltar", "manter");
sessao.setAttribute("idRegistroAtualizacao", idNegativadorRetornoMotivo);
}
} else {
idNegativadorRetornoMotivo = (String) sessao.getAttribute("idRegistroAtualizacao");
}
filtroNegativadorRetornoMotivo.adicionarParametro(new ParametroSimples(FiltroNegativadorRetornoMotivo.ID, idNegativadorRetornoMotivo));
filtroNegativadorRetornoMotivo.adicionarCaminhoParaCarregamentoEntidade("negativador.cliente");
collectionNegativadorRetornoMotivo = fachada.pesquisar(filtroNegativadorRetornoMotivo, NegativadorRetornoMotivo.class.getName());
NegativadorRetornoMotivo negativadorRetornoMotivo = (NegativadorRetornoMotivo) ((List) collectionNegativadorRetornoMotivo).get(0);
form.setNomeCliente(negativadorRetornoMotivo.getNegativador().getCliente().getNome());
form.setCodigoMotivo(Short.toString(negativadorRetornoMotivo.getCodigoRetornoMotivo()));
form.setDescricaoRetornoMotivo(negativadorRetornoMotivo.getDescricaoRetornocodigo());
form.setIndicadorUso(Short.toString(negativadorRetornoMotivo.getIndicadorUso()));
form.setIndicadorRegistroAceito(Short.toString(negativadorRetornoMotivo.getIndicadorRegistroAceito()));
form.setOkCodigoMotivo("true");
form.setIdNegativadorRetornoMotivo(idNegativadorRetornoMotivo);
form.setTime(Long.toString(negativadorRetornoMotivo.getUltimaAlteracao().getTime()));
form.setIdNegativador(negativadorRetornoMotivo.getNegativador().getId().toString());
// carregar dados a partir das entradas do form.
}else {
// String idNegativador = (String) sessao.getAttribute("idRegistroAtualizacao");
//
// String idDigitadoEnterCliente = (String) form.getCodigoCliente();
// String idDigitadoEnterImovel = (String) form.getCodigoImovel();
// String idDigitadoEnterAgente = (String) form.getCodigoAgente();
//
// form.setOkAgente("false");
// form.setOkCliente("false");
// form.setOkImovel("false");
//
// // verifica se o codigo do cliente foi digitado
// if (idDigitadoEnterCliente != null
// && !idDigitadoEnterCliente.trim().equals("")
// && Integer.parseInt(idDigitadoEnterCliente) > 0) {
//
// FiltroCliente filtroCliente = new FiltroCliente();
//
// filtroCliente.adicionarParametro(new ParametroSimples(
// FiltroCliente.ID, idDigitadoEnterCliente));
// filtroCliente.adicionarParametro(new ParametroSimples(
// FiltroCliente.INDICADOR_USO,
// ConstantesSistema.INDICADOR_USO_ATIVO));
//
// Collection clienteEncontrado = fachada.pesquisar(filtroCliente,
// Cliente.class.getName());
//
// if (clienteEncontrado != null && !clienteEncontrado.isEmpty()) {
// // O Cliente foi encontrado
// if (((Cliente) ((List) clienteEncontrado).get(0))
// .getIndicadorUso().equals(ConstantesSistema.INDICADOR_USO_DESATIVO)) {
// throw new ActionServletException("atencao.cliente.inativo", null, ""
// + ((Cliente) ((List) clienteEncontrado).get(0)).getId());
// }
//
//
//
// //-------------------------------------------------------------------
//
// Cliente cliente = (Cliente) Util.retonarObjetoDeColecao(clienteEncontrado);
// FiltroNegativador filtroNegat = new FiltroNegativador();
// filtroNegat.adicionarCaminhoParaCarregamentoEntidade("cliente");
// filtroNegat.adicionarParametro(new ParametroSimples(
// FiltroNegativador.NEGATIVADOR_CLIENTE, cliente.getId()));
// filtroNegat.adicionarParametro(new ParametroSimplesDiferenteDe(
// FiltroNegativador.ID, idNegativador));
//
// Collection collNegativador = fachada.pesquisar(filtroNegat, Negativador.class.getName());
//
//// if(collNegativador != null && !collNegativador.isEmpty()){
//// Iterator i = collNegativador.iterator();
//// while(i.hasNext()){
//// Negativador negativador = (Negativador) i.next();
//// if (negativador.getCliente().getId().compareTo(new Integer(idDigitadoEnterCliente)) == 0 && negativador.getId() != new Integer(idNegativador)){
//// throw new ActionServletException("atencao.negativador_associado_cliente");
//// }
//// }
//// }
//
// if(collNegativador != null && !collNegativador.isEmpty()){
// throw new ActionServletException("atencao.negativador_associado_cliente");
// }
//
// //---------------------------------------------------------------------
//
//
// form.setCodigoCliente(((Cliente) ((List) clienteEncontrado)
// .get(0)).getId().toString());
// form.setNomeCliente(((Cliente) ((List) clienteEncontrado)
// .get(0)).getNome());
// form.setOkCliente("true");
// } else {
// httpServletRequest.setAttribute("corCliente","exception");
// form.setNomeCliente(ConstantesSistema.CODIGO_CLIENTE_INEXISTENTE);
// form.setCodigoCliente("");
// form.setOkCliente("false");
// }
// }
//
// if (idDigitadoEnterImovel != null && !idDigitadoEnterImovel.trim().equals("")) {
// // Pesquisa o imovel na base
//
// FiltroImovel filtroImovel = new FiltroImovel();
// filtroImovel.adicionarParametro(new ParametroSimples(
// FiltroImovel.ID, idDigitadoEnterImovel));
//
// Collection collImovel = fachada.pesquisar(filtroImovel,
// Imovel.class.getName());
//
// Imovel imovel = (Imovel) Util.retonarObjetoDeColecao(collImovel);
//
// if (imovel != null) {
// //-------------------------------------------------------------------
//
// FiltroNegativador filtroNegat = new FiltroNegativador();
// filtroNegat.adicionarParametro(new ParametroSimples(
// FiltroNegativador.NEGATIVADOR_IMOVEL, imovel.getId()));
// filtroNegat.adicionarCaminhoParaCarregamentoEntidade("imovel");
// filtroNegat.adicionarParametro(new ParametroSimplesDiferenteDe(
// FiltroNegativador.ID, idNegativador));
// Collection collNegativador = fachada.pesquisar(filtroNegat,
// Negativador.class.getName());
//
// if(collNegativador != null && !collNegativador.isEmpty()){
// throw new ActionServletException("atencao.negativador_associado_imovel");
// }
//
//// if(collNegativador != null && !collNegativador.isEmpty()){
//// Iterator i = collNegativador.iterator();
//// while(i.hasNext()){
//// Negativador negativador = (Negativador) i.next();
//// if (negativador.getImovel().getId() == new Integer(idDigitadoEnterImovel) && negativador.getId() != new Integer(idNegativador)){
//// throw new ActionServletException("atencao.negativador_associado_imovel");
//// }
//// }
//// }
//
//
// //------------------------------------------------------------------------------------------------
//
//
// String imovelEncontrado = fachada.pesquisarInscricaoImovel(new Integer(idDigitadoEnterImovel));
//
// if (imovelEncontrado != null && !imovelEncontrado.equalsIgnoreCase("")) {
// // O imovel foi encontrado
// form.setCodigoImovel(idDigitadoEnterImovel);
// form.setInscricaoImovel(imovelEncontrado);
// form.setOkImovel("true");
//
// }
//
// } else {
// httpServletRequest.setAttribute("corImovel","exception");
// form.setInscricaoImovel(ConstantesSistema.CODIGO_IMOVEL_INEXISTENTE);
// form.setCodigoImovel("");
// form.setOkImovel("false");
// }
// }
//
// if (idDigitadoEnterAgente != null && !idDigitadoEnterAgente.trim().equals("")){
// FiltroNegativador fNegativador = new FiltroNegativador();
// fNegativador.adicionarParametro(new ParametroSimples(FiltroNegativador.CODIGO_AGENTE, idDigitadoEnterAgente));
//
// Collection codigoAgenteEncontrado = Fachada.getInstancia().pesquisar(fNegativador, Negativador.class.getName());
//
// if (codigoAgenteEncontrado != null && !codigoAgenteEncontrado.isEmpty()) {
//
// if (((Negativador) ((List) codigoAgenteEncontrado).get(0)).getIndicadorUso()
// == ConstantesSistema.INDICADOR_USO_DESATIVO.shortValue()) {
// throw new ActionServletException("atencao.negativador.inativo",
// null, ""
// + ((Negativador) ((List) codigoAgenteEncontrado)
// .get(0)).getId());
// }
//
// form.setOkAgente("true");
// } else {
// form.setCodigoAgente("");
// httpServletRequest.setAttribute("corAgente","exception");
// form.setMensagemAgente(ConstantesSistema.CODIGO_AGENTE_NAO_CADASTRADO);
// form.setOkAgente("false");
// }
// }
}
// sessao.removeAttribute("idRegistroAtualizacao");
return retorno;
}
}