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 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); }
// 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 ProtocoloLocalizacao ObterLocalizacao(int protocoloId, ProtocoloLocalizacao localizacao = null) { ProtocoloLocalizacao loc = null; try { loc = _busInterno.ObterLocalizacao(protocoloId, localizacao); } catch (Exception exc) { Validacao.AddErro(exc); } return(loc); }
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)); }