示例#1
0
        public ProtocoloLocalizacao ObterLocalizacao(Documento doc, ProtocoloLocalizacao localizacao = null)
        {
            ProtocoloLocalizacao loc = localizacao == null ? new ProtocoloLocalizacao() : localizacao;

            if (loc.ProcessoPaiId <= 0)
            {
                ProtocoloNumero processoPai = ProtocoloAssociado(doc.Id.GetValueOrDefault()) ?? new ProtocoloNumero();
                if (processoPai.Id > 0)
                {
                    loc.ProcessoPaiId     = processoPai.Id;
                    loc.ProcessoPaiNumero = processoPai.NumeroTexto;
                    ProcessoBus _busProcesso = new ProcessoBus();
                    return(_busProcesso.ObterLocalizacao(loc.ProcessoPaiId, loc));
                }
            }

            TramitacaoBus _busTramitacao = new TramitacaoBus(new TramitacaoValidar());

            loc.Tramitacao.Id = _busTramitacao.ObterTramitacaoProtocolo(doc.Id.GetValueOrDefault());

            if (loc.Tramitacao.Id > 0)
            {
                loc.Tramitacao = _busTramitacao.Obter(loc.Tramitacao.Id);
                if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Arquivado)
                {
                    loc.Localizacao = eLocalizacaoProtocolo.Arquivado;
                    ArquivarBus _arquivarBus = new ArquivarBus();
                    Arquivar    arquivamento = _arquivarBus.ObterArquivamento(loc.Tramitacao.Id);
                    loc.ArquivoNome = arquivamento.ArquivoNome;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.ParaOrgaoExterno)
                {
                    loc.Localizacao      = eLocalizacaoProtocolo.OrgaoExterno;
                    loc.OrgaoExternoNome = loc.Tramitacao.OrgaoExterno.Texto;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Tramitando)
                {
                    if (loc.Tramitacao.Destinatario.Id == 0)
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaSetor;
                    }
                    else
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaFuncionario;
                        loc.FuncionarioDestinatarioNome = loc.Tramitacao.Destinatario.Nome;
                    }
                }
            }
            else             // se não existir tramitação, ele está na posse de algum funcionário
            {
                loc.Localizacao = eLocalizacaoProtocolo.PosseFuncionario;
                TramitacaoPosse posse = _busTramitacao.ObterProtocoloPosse(doc.Id.GetValueOrDefault());
                loc.FuncionarioDestinatarioNome = posse.FuncionarioNome;
                loc.SetorDestinatarioNome       = posse.SetorNome;
            }
            return(loc);
        }
示例#2
0
        // orgao externo
        // OU setor x
        // OU arquivo y
        // OU tramitando para setor j
        // OU tramitando para funcionario k no setor i
        // OU em posse do funcionario w no setor z
        // OU apensado/juntado a um processo
        public ProtocoloLocalizacao ObterLocalizacao(int processoId, ProtocoloLocalizacao localizacao = null)
        {
            ProtocoloLocalizacao loc  = localizacao == null ? new ProtocoloLocalizacao() : localizacao;
            Processo             proc = ObterSimplificado(processoId);

            if (loc.ProcessoPaiId <= 0)
            {
                int ApensadoEmProcessoId = ProcessoApensado(processoId);
                if (ApensadoEmProcessoId > 0)
                {
                    loc.ProcessoPaiId     = ApensadoEmProcessoId;
                    loc.ProcessoPaiNumero = ObterSimplificado(loc.ProcessoPaiId).Numero;
                    return(ObterLocalizacao(loc.ProcessoPaiId, loc));
                }
            }

            TramitacaoBus _busTramitacao = new TramitacaoBus();

            loc.Tramitacao.Id = _busTramitacao.ObterTramitacaoProtocolo(processoId);

            if (loc.Tramitacao.Id > 0)
            {
                loc.Tramitacao = _busTramitacao.Obter(loc.Tramitacao.Id);
                if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Arquivado)
                {
                    loc.Localizacao = eLocalizacaoProtocolo.Arquivado;
                    ArquivarBus _arquivarBus = new ArquivarBus();
                    Arquivar    arquivamento = _arquivarBus.ObterArquivamento(loc.Tramitacao.Id);
                    loc.ArquivoNome = arquivamento.ArquivoNome;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.ParaOrgaoExterno)
                {
                    loc.Localizacao      = eLocalizacaoProtocolo.OrgaoExterno;
                    loc.OrgaoExternoNome = loc.Tramitacao.OrgaoExterno.Texto;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Tramitando)
                {
                    if (loc.Tramitacao.Destinatario.Id == 0)
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaSetor;
                    }
                    else
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaFuncionario;
                        loc.FuncionarioDestinatarioNome = loc.Tramitacao.Destinatario.Nome;
                    }
                }
            }
            else             // se não existir tramitação, ele está na posse de algum funcionário
            {
                loc.Localizacao = eLocalizacaoProtocolo.PosseFuncionario;
                TramitacaoPosse posse = _busTramitacao.ObterProtocoloPosse(processoId);
                loc.FuncionarioDestinatarioNome = posse.FuncionarioNome;
                loc.SetorDestinatarioNome       = posse.SetorNome;
            }
            return(loc);
        }
 public ProcessoController()
 {
     _busProtocolo         = new ProtocoloBus();
     _busLista             = new ListaBus();
     _bus                  = new ProcessoBus();
     _validarJuntarApensar = new JuntarApensarValidar();
     _validar              = new ProcessoValidar();
     _busJuntarApensar     = new JuntarApensarBus();
     _busDoc               = new DocumentoBus();
     _busRequerimento      = new RequerimentoBus(new RequerimentoValidar());
     _busFuncionario       = new FuncionarioBus();
     _busTramitacao        = new TramitacaoBus();
     _busAtividade         = new AtividadeBus();
     _validarFiscalizacao  = new FiscalizacaoValidar();
     _busFiscalizacao      = new FiscalizacaoBus();
 }
        internal bool Excluir(int id)
        {
            if (Juntado(id))
            {
                return(false);
            }

            TramitacaoBus busTramitacao = new TramitacaoBus();

            if (busTramitacao.ExisteTramitacao(id))
            {
                Validacao.Add(Mensagem.Documento.EmTramitacao);
                return(Validacao.EhValido);
            }

            if (!_da.EmPosse(id))
            {
                Validacao.Add(Mensagem.Documento.PosseDocumentoNecessariaExcluir);
                return(Validacao.EhValido);
            }

            String processoPaiNumero = _da.ObterNumeroProcessoPai(id);

            if (!String.IsNullOrEmpty(processoPaiNumero))
            {
                Validacao.Add(Mensagem.Documento.NaoPossivelExcluirDocumentoFilho(processoPaiNumero));
            }

            VerificarPossuiAnalise(id);

            Documento documento = _da.Obter(id, true) as Documento;

            if (documento.Fiscalizacao.Id > 0)
            {
                VerificarPossuiAcompanhamentoFiscalizacao(documento.Fiscalizacao.Id);
            }

            VerificarAssociadoTitulo(id);

            VerificarPossuiCARSolicitacao(id);

            return(Validacao.EhValido);
        }
示例#5
0
        internal bool Excluir(int id)
        {
            try
            {
                if (!EmPosse(id))
                {
                    Validacao.Add(Mensagem.Processo.PosseProcessoNecessariaExcluir);
                    return(Validacao.EhValido);
                }

                String processoPaiNumero = _da.ObterNumeroProcessoPai(id);
                if (!String.IsNullOrEmpty(processoPaiNumero))
                {
                    Validacao.Add(Mensagem.Processo.ExcluirApensadoPai(processoPaiNumero));
                    return(Validacao.EhValido);
                }

                List <string> processosFilhos = _da.ObterNumeroProcessoFilhos(id);
                foreach (var item in processosFilhos)
                {
                    Validacao.Add(Mensagem.Processo.ExcluirApensadoFilho(item));
                }

                List <string> documentosFilhos = _da.ObterNumeroDocumentosFilhos(id);
                foreach (var item in documentosFilhos)
                {
                    Validacao.Add(Mensagem.Processo.ExcluirDocumentosJuntados(item));
                }

                List <string> documentosAssociados = _da.VerificarProtocoloAssociadoOutroProtocolo(id);
                foreach (var item in documentosAssociados)
                {
                    Validacao.Add(Mensagem.Processo.ProcessoAssociadoProtocolo(item));
                }

                TramitacaoBus busTramitacao = new TramitacaoBus();
                if (busTramitacao.ExisteTramitacao(id))
                {
                    Validacao.Add(Mensagem.Processo.EmTramitacao);
                }

                if (_da.VerificarPossuiAnalise(id))
                {
                    Validacao.Add(Mensagem.Processo.ExcluirAnalise);
                }

                Processo processo = _da.Obter(id, true) as Processo;
                if (processo.Fiscalizacao.Id > 0)
                {
                    if (processo.Fiscalizacao.SituacaoId >= 5)
                    {
                        Validacao.Add(Mensagem.Processo.FiscalizacaoAssociadaNaoPodeExluirSituacao(processo.Fiscalizacao.Id.ToString(), processo.Fiscalizacao.SituacaoTexto));
                    }
                    else
                    {
                        VerificarPossuiAcompanhamentoFiscalizacao(processo.Fiscalizacao.Id);
                    }
                }

                VerificarAssociadoTitulo(id);

                VerificarPossuiCARSolicitacao(id);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(Validacao.EhValido);
        }