package gcom.gui.cobranca; import gcom.cadastro.cliente.Profissao; import gcom.cadastro.cliente.RamoAtividade; import gcom.cobranca.CobrancaSituacao; import gcom.cobranca.FiltroCobrancaSituacao; import gcom.faturamento.conta.ContaMotivoRevisao; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; public class InserirCobrancaSituacaoAction extends GcomAction { /** * Este caso de uso permite a inclus�o de uma Situacao de Cobranca * * [UC0858] Inserir Situacao de Cobranca * * @author Arthur Carvalho * @date 04/09/2008 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("telaSucesso"); InserirCobrancaSituacaoActionForm form = (InserirCobrancaSituacaoActionForm) actionForm; String descricao = form.getDescricao(); String contaMotivoRevisao = form.getContaMotivoRevisao(); Short indicadorExigenciaAdvogado = form.getIndicadorExigenciaAdvogado(); Short indicadorBloqueioParcelamento = form.getIndicadorBloqueioParcelamento(); Short indicadorBloqueioRetirada = form.getIndicadorBloqueioRetirada(); Short indicadorBloqueioInclusao = form.getIndicadorBloqueioInclusao(); Short indicadorSelecaoApenasComPermissao = form.getIndicadorSelecaoApenasComPermissao(); Integer indicadorPrescricaoImoveisParticulares = form.getIndicadorPrescricaoImoveisParticulares(); Integer indicadorNaoIncluirImoveisEmCobrancaResultado = form.getIndicadorNaoIncluirImoveisEmCobrancaResultado(); String profissao = form.getProfissao(); String ramoAtividade = form.getRamoAtividade(); CobrancaSituacao cobrancaSituacao = new CobrancaSituacao(); Collection colecaoPesquisa = null; FiltroCobrancaSituacao filtroCobrancaSituacao = new FiltroCobrancaSituacao(); filtroCobrancaSituacao.adicionarParametro( new ParametroSimples(FiltroCobrancaSituacao.DESCRICAO, descricao)); colecaoPesquisa = (Collection) this.getFachada().pesquisar(filtroCobrancaSituacao, CobrancaSituacao.class.getName()); if( colecaoPesquisa !=null && !colecaoPesquisa.isEmpty()){ throw new ActionServletException("atencao.descricao_existente", null, descricao); } //Descri��o if (!descricao.equals("")) { cobrancaSituacao.setDescricao(descricao); } else { throw new ActionServletException("atencao.required", null,"Descri��o"); } //Motivo de revisao da conta if(contaMotivoRevisao != null && !contaMotivoRevisao.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ ContaMotivoRevisao motivoRevisao = new ContaMotivoRevisao(); motivoRevisao.setId(new Integer(form .getContaMotivoRevisao())); cobrancaSituacao.setContaMotivoRevisao(motivoRevisao); } //Exige advogado if(indicadorExigenciaAdvogado != null && !indicadorExigenciaAdvogado.equals("")){ cobrancaSituacao.setIndicadorExigenciaAdvogado(indicadorExigenciaAdvogado); if ( indicadorExigenciaAdvogado == 1 ) { //Profissao if(profissao != null && profissao.equals("-1")){ throw new ActionServletException("atencao.required", null, "Profiss�o"); } //Ramo Atividade if(ramoAtividade != null && ramoAtividade.equals("-1")){ throw new ActionServletException("atencao.required", null, "Ramo Atividade"); } } } //Bloqueia Parcelamento if(indicadorBloqueioParcelamento != null && !indicadorBloqueioParcelamento.equals("")){ cobrancaSituacao.setIndicadorBloqueioParcelamento(indicadorBloqueioParcelamento); } else { throw new ActionServletException("atencao.required", null, "Indicador Bloqueio Parcelamento"); } //Profissao if(profissao != null && !profissao.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ Profissao prof = new Profissao(); prof.setId( new Integer( form.getProfissao() ) ); cobrancaSituacao.setProfissao(prof); } //Ramo Atividade if(ramoAtividade != null && !ramoAtividade.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ RamoAtividade ramoAtiv = new RamoAtividade(); ramoAtiv.setId( new Integer( form.getRamoAtividade() ) ); cobrancaSituacao.setRamoAtividade(ramoAtiv); } //Indicador Bloqueio Retirada if(indicadorBloqueioRetirada != null && !indicadorBloqueioRetirada.equals("")){ cobrancaSituacao.setIndicadorBloqueioRetirada(indicadorBloqueioRetirada); } else { throw new ActionServletException("atencao.required", null, "Indicador Bloqueio Retirada"); } //Indicador Bloqueio Inclusao if(indicadorBloqueioInclusao != null && !indicadorBloqueioInclusao.equals("")){ cobrancaSituacao.setIndicadorBloqueioInclusao(indicadorBloqueioInclusao); } else { throw new ActionServletException("atencao.required", null, "Indicador Bloqueio Inclusao"); } // Indicador de Sele��o da Situa��o Apenas pelos Usu�rios com Permiss�o Especial if(indicadorSelecaoApenasComPermissao != null && !indicadorSelecaoApenasComPermissao.equals("")){ cobrancaSituacao.setIndicadorSelecaoApenasComPermissao(indicadorSelecaoApenasComPermissao); } else { throw new ActionServletException("atencao.required", null, "Indicador de Sele��o da Situa��o Apenas pelos Usu�rios com Permiss�o Especial"); } // Indicador Prescricao Imoveis Particulares if(indicadorPrescricaoImoveisParticulares != null && !indicadorPrescricaoImoveisParticulares.equals("")){ cobrancaSituacao.setIndicadorPrescricaoImoveisParticulares(indicadorPrescricaoImoveisParticulares); }else{ throw new ActionServletException("atencao.required", null, "Indicador de Prescri��o para Im�veis Particulares"); } // Indicador de n�o inclus�o da cobran�a por resultado if(indicadorNaoIncluirImoveisEmCobrancaResultado != null && !indicadorNaoIncluirImoveisEmCobrancaResultado.equals("")){ cobrancaSituacao.setIndicadorNaoIncluirImoveisEmCobrancaResultado(indicadorNaoIncluirImoveisEmCobrancaResultado); }else{ throw new ActionServletException("atencao.required", null, "Indicador de n�o inclus�o da cobran�a por resultado"); } cobrancaSituacao.setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); cobrancaSituacao.setUltimaAlteracao(new Date()); Integer idCobrancaSituacao = (Integer) this.getFachada().inserir(cobrancaSituacao); montarPaginaSucesso(httpServletRequest, "Situa��o de Cobran�a " + descricao + " inserido com sucesso.", "Inserir outra Situa��o de Cobran�a", "exibirInserirCobrancaSituacaoAction.do?menu=sim", "exibirAtualizarCobrancaSituacaoAction.do?idRegistroAtualizacao=" + idCobrancaSituacao, "Atualizar Situa��o de Cobran�a Inserida"); return retorno; } }