public ActionResult ConsultarInformacoes(int id)
        {
            try
            {
                ListarTramitacaoFiltro filtro = new ListarTramitacaoFiltro();
                filtro.Protocolo.Id  = id;
                filtro.ProtocoloTipo = (int)eTipoProtocolo.Processo;

                ConsultarInformacaoVM vm = new ConsultarInformacaoVM();
                vm.Id = id;
                vm.MostrarInformacao(0, (_busTramitacao.FiltrarHistorico(filtro).Itens.Count > 0) || (_busProtocolo.FiltrarHistoricoAssociados(new ListarProtocoloFiltro()
                {
                    Id = id
                }).Itens.Count > 0));
                vm.MostrarInformacao(1, Convert.ToBoolean(new PdfAnalise().Existe(id)));
                vm.MostrarInformacao(2, new PdfProtocoloAssociado().Existe(id) > 0);
                vm.MostrarInformacao(3, new PdfTramitacaoArquivamento().Existe(id) > 0);

                int valor = new RelatorioEntregaDa().ExisteEntregaProtocolo(id);
                vm.MostrarInformacao(4, valor > 0, valor);
                vm.MostrarInformacao(5, true, id);

                Processo processo = _bus.ObterSimplificado(id);
                vm.ProcessoNumero = processo.Numero;
                vm.ProcessoTipo   = processo.Tipo.Texto;

                ProtocoloLocalizacao loc = _bus.ObterLocalizacao(id);
                if (loc.Localizacao == eLocalizacaoProtocolo.OrgaoExterno)
                {
                    vm.ProcessoLocalizacao = loc.OrgaoExternoNome;
                }
                else if (loc.Localizacao == eLocalizacaoProtocolo.Arquivado)
                {
                    vm.ProcessoLocalizacao = loc.ArquivoNome;
                }
                else if (loc.Localizacao == eLocalizacaoProtocolo.EnviadoParaSetor || loc.Localizacao == eLocalizacaoProtocolo.EnviadoParaFuncionario)
                {
                    vm.ProcessoLocalizacao = "Em tramitação";
                }
                else if (loc.ProcessoPaiId > 0 || loc.Localizacao == eLocalizacaoProtocolo.PosseFuncionario)
                {
                    vm.ProcessoLocalizacao = loc.SetorDestinatarioNome;
                    vm.ProcessoEnviadoPor  = loc.FuncionarioDestinatarioNome;
                    vm.LabelEnviadoPor     = "Em posse de";
                }
                if (Request.IsAjaxRequest())
                {
                    return(PartialView("ConsultarInformacoes", vm));
                }
                else
                {
                    return(View("ConsultarInformacoes", vm));
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
                return(RedirectToAction("Index", Validacao.QueryParamSerializer()));
            }
        }
        public Tramitacao ObterTramitacoes(int setorId, int funcionarioId)
        {
            //id do funcionário usa o passado pelo parametro, caso contrario obtem o logado
            int funcionario = funcionarioId > 0 ? funcionarioId : User.FuncionarioId;

            Tramitacao tramitacoes = null;

            tramitacoes = new Tramitacao();
            ListarTramitacaoFiltro filtro;

            #region Processo em minha posse
            filtro = new ListarTramitacaoFiltro()
            {
                EmposseId = funcionario, EmposseSetorId = setorId
            };

            if (funcionarioId != User.FuncionarioId)
            {
                filtro.RegistradorDestinatarioSetorId = User.FuncionarioId;
            }

            tramitacoes.ProtocolosPosse = FiltrarEmPosse(filtro).Itens;
            #endregion

            #region Enviados para mim

            filtro = new ListarTramitacaoFiltro()
            {
                DestinatarioId = funcionario, DestinatarioSetorId = setorId
            };

            tramitacoes.ProtocolosReceber = Filtrar(filtro).Itens;

            #endregion

            #region Enviados para o meu setor

            filtro = new ListarTramitacaoFiltro()
            {
                DestinatarioNulo = true, DestinatarioSetorId = setorId
            };

            filtro.FuncionarioSetorDestinoId   = User.FuncionarioId;
            tramitacoes.ProtocolosReceberSetor = Filtrar(filtro).Itens;

            #endregion

            #region Processo enviado por mim

            filtro = new ListarTramitacaoFiltro()
            {
                RemetenteId = funcionarioId, RemetenteSetorId = setorId
            };

            tramitacoes.ProtocolosEnviado = Filtrar(filtro).Itens;

            #endregion

            return(tramitacoes);
        }
        public Resultados <Tramitacao> FiltrarHistorico(ListarTramitacaoFiltro filtrosListar)
        {
            try
            {
                return(_da.FiltrarHistorico(new Filtro <ListarTramitacaoFiltro>(filtrosListar)));
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(new Resultados <Tramitacao>());
        }
        public ActionResult Historico(int id, int tipo)
        {
            HistoricoVM vm = new HistoricoVM();

            ListarTramitacaoFiltro filtro = new ListarTramitacaoFiltro();

            filtro.Protocolo.Id         = id;
            filtro.Protocolo.IsProcesso = (tipo == (int)eTipoProtocolo.Processo);

            Resultados <Tramitacao>         hstTramitacao = _bus.FiltrarHistorico(filtro);
            Resultados <HistoricoProtocolo> hstProtocolo;
            IProtocolo protocolo = new Protocolo();

            hstProtocolo = _busProtocolo.FiltrarHistoricoAssociados(new ListarProtocoloFiltro()
            {
                Id          = id,
                ProtocoloId = filtro.Protocolo.IsProcesso ? (int)eTipoProtocolo.Processo : (int)eTipoProtocolo.Documento
            });

            protocolo                  = _busProtocolo.ObterSimplificado(id);
            vm.TipoHistorico           = filtro.Protocolo.IsProcesso ? "Processo" : "documento";
            vm.TipoHistoricoId         = tipo;
            vm.AcaoHistoricoMostrarPdf = _bus.ObterHistoricoAcoesMostrarPdf();
            vm.CarregarHistorico(hstTramitacao.Itens, hstProtocolo, protocolo.Numero, protocolo.Tipo.Texto);

            ProtocoloLocalizacao loc = _busProtocolo.ObterLocalizacao(id);

            if (loc.Localizacao == eLocalizacaoProtocolo.OrgaoExterno)
            {
                vm.Localizacao = loc.OrgaoExternoNome;
            }
            else if (loc.Localizacao == eLocalizacaoProtocolo.Arquivado)
            {
                vm.Localizacao = loc.ArquivoNome;
            }
            else if (loc.Localizacao == eLocalizacaoProtocolo.EnviadoParaSetor || loc.Localizacao == eLocalizacaoProtocolo.EnviadoParaFuncionario)
            {
                vm.Localizacao = "Em tramitação";
            }
            else if (loc.ProcessoPaiId > 0 || loc.Localizacao == eLocalizacaoProtocolo.PosseFuncionario)
            {
                vm.Localizacao = loc.SetorDestinatarioNome;
            }

            return(PartialView("HistoricoPartial", vm));
        }
Beispiel #5
0
        public bool PreDesarquivar(ListarTramitacaoFiltro filtros)
        {
            if (filtros.ArquivoId <= 0)
            {
                Validacao.Add(Mensagem.Arquivamento.DesarquivarArquivoObrigatorio);
                return(Validacao.EhValido);
            }

            if (String.IsNullOrWhiteSpace(filtros.Protocolo.NumeroTexto))
            {
                Validacao.Add(Mensagem.Arquivamento.DesarquivarProtocoloNumeroObrigatorio);
                return(Validacao.EhValido);
            }
            else
            {
                if (!filtros.Protocolo.IsValido)
                {
                    Validacao.Add(Mensagem.Arquivamento.DesarquivarProtocoloNumeroInvalido);
                    return(Validacao.EhValido);
                }
            }

            IProtocolo proc = _busProtocolo.Obter(filtros.Protocolo.NumeroTexto);

            if (proc == null || proc.Id.GetValueOrDefault() <= 0)
            {
                Validacao.Add(Mensagem.Arquivamento.DesarquivarProtocoloNaoCadastrado);
            }
            else
            {
                if (filtros.Protocolo.IsValido)
                {
                    return(Validacao.EhValido);
                }

                int setorProtocolo = proc.SetorId > 0 ? proc.SetorId : proc.SetorCriacaoId;

                if (setorProtocolo != filtros.RemetenteSetorId)
                {
                    Validacao.Add(Mensagem.Arquivamento.DesarquivarProtocoloEmOutroSetor);
                }
            }

            return(Validacao.EhValido);
        }
        public Resultados <Tramitacao> ObterTramitacoes(ListarTramitacaoFiltro filtrosListar)
        {
            try
            {
                if (_validar.BuscarTramitacoesEmPosse(filtrosListar.EmposseSetorId))
                {
                    Resultados <Tramitacao> resultados = FiltrarEmPosse(filtrosListar);

                    if (_validar.BuscarTramitacoesEmPosse(filtrosListar.EmposseSetorId, resultados))
                    {
                        return(resultados);
                    }
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(new Resultados <Tramitacao>());
        }
        public Tramitacao ObterItem(int funcId, int funcSetorId, Protocolo protocolo)
        {
            try
            {
                ListarTramitacaoFiltro          dados  = new ListarTramitacaoFiltro();
                Filtro <ListarTramitacaoFiltro> filtro = new Filtro <ListarTramitacaoFiltro>(dados, new Paginacao());

                //dados.RemetenteId = User.FuncionarioId;

                dados.EmposseId = funcId;

                dados.EmposseSetorId = funcSetorId;

                //dados.DestinatarioSetorId = funcSetorId;

                if (!string.IsNullOrEmpty(protocolo.Numero))
                {
                    dados.Protocolo = new ProtocoloNumero(protocolo.Numero);
                }

                if (protocolo.Tipo.Id > 0)
                {
                    dados.ProtocoloTipo = protocolo.Tipo.Id;
                }

                Resultados <Tramitacao> resultado = _daTramitacao.FiltrarEmPosse(filtro);

                if (resultado.Itens != null && resultado.Itens.Count > 0)
                {
                    return(resultado.Itens[0]);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(null);
        }