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 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); }
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); }