internal bool Arquivamento(Arquivar arquivar) { if (arquivar.SetorId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarSetorOrigemObrigatorio); } if (arquivar.ObjetivoId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarObjetivoObrigatorio); } if (arquivar.ArquivoId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarArquivoObrigatorio); } if (arquivar.EstanteId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarEstanteObrigatorio); } if (arquivar.PrateleiraModoId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarPrateleiraObrigatorio); } if (arquivar.PrateleiraId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarIdentificacaoObrigatoria); } return(Validacao.EhValido); }
internal bool Arquivar(Arquivar arquivar, List <Tramitacao> tramitacoes) { if (arquivar.SetorId <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarSetorOrigemObrigatorio); return(Validacao.EhValido); } Arquivamento(arquivar); if (!Validacao.EhValido) { return(Validacao.EhValido); } if (tramitacoes.Count <= 0) { Validacao.Add(Mensagem.Arquivamento.ArquivarProtocoloObrigatorio); } foreach (Tramitacao tramitacao in tramitacoes) { Arquivar(tramitacao); } return(Validacao.EhValido); }
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); }
internal Arquivar ObterArquivamentoAutomatico(string despacho, int objetivoId, BancoDeDados banco = null) { Arquivar arquivar = new Arquivar(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@" select a.id arquivo_id, a.nome arquivo_nome, te.id estante_id, te.nome estante_nome, tp.id prateleira_id, tp.identificacao prateleira_nome, s.id setor_id, s.nome setor_nome from {0}tab_tramitacao_arquivo a, {0}tab_tramitacao_arq_estante te, {0}tab_tramitacao_arq_prateleira tp, {0}tab_setor s where te.arquivo = a.id and tp.arquivo = a.id and tp.estante = te.id and s.id = a.setor and a.arquivar_automatico = 1 and rownum = 1" , EsquemaBanco); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { arquivar.ArquivoId = Convert.ToInt32(reader["arquivo_id"]); arquivar.ArquivoNome = reader["arquivo_nome"].ToString(); arquivar.EstanteId = Convert.ToInt32(reader["estante_id"]); arquivar.EstanteNome = reader["estante_nome"].ToString(); arquivar.PrateleiraId = Convert.ToInt32(reader["prateleira_id"]); arquivar.PrateleiraModoId = arquivar.PrateleiraId; arquivar.PrateleiraNome = reader["prateleira_nome"].ToString(); arquivar.SetorId = Convert.ToInt32(reader["setor_id"]); arquivar.SetorNome = reader["setor_nome"].ToString(); arquivar.ObjetivoId = objetivoId; arquivar.Despacho = despacho; } reader.Close(); } } return(arquivar); }
public bool Arquivar(Arquivar arquivar, List <Tramitacao> tramitacoes) { try { arquivar.DataArquivamento.Data = DateTime.Today; arquivar.Funcionario.Id = User.FuncionarioId; foreach (Tramitacao tramitacao in tramitacoes) { tramitacao.Arquivamento = arquivar; tramitacao.Objetivo.Id = arquivar.ObjetivoId; tramitacao.Despacho = arquivar.Despacho; tramitacao.Tipo = (int)eTramitacaoTipo.Normal; tramitacao.SituacaoId = (int)eTramitacaoSituacao.Arquivado; tramitacao.Executor.Id = User.FuncionarioId; tramitacao.Remetente.Id = User.FuncionarioId; tramitacao.RemetenteSetor.Id = arquivar.SetorId; } if (_validar.Arquivar(arquivar, tramitacoes)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); foreach (Tramitacao tramitacao in tramitacoes) { _da.Arquivar(tramitacao); } bancoDeDados.Commit(); Validacao.Add(Mensagem.Arquivamento.ArquivarSucesso); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
internal Arquivar ObterArquivamento(int tramitacaoId, BancoDeDados banco = null) { Arquivar arquivar = new Arquivar(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@" select f.id funcionario_id, f.nome funcionario_nome, ta.tramitacao tamitacao_id, a.id arquivo_id, a.nome arquivo_nome, te.id estante_id, te.nome estante_nome, tp.id prateleira_id, tp.identificacao prateleira_nome, s.id setor_id, s.nome setor_nome from {0}tab_funcionario f, {0}tab_tramitacao t, {0}tab_tramitacao_arquivar ta, {0}tab_tramitacao_arquivo a, {0}tab_tramitacao_arq_estante te, {0}tab_tramitacao_arq_prateleira tp, {0}tab_setor s where te.id = ta.estante and tp.id = ta.prateleira and a.id = ta.arquivo and s.id = a.setor and t.id = ta.tramitacao and f.id = t.remetente and ta.tramitacao = :tramitacaoid" , EsquemaBanco); comando.AdicionarParametroEntrada("tramitacaoid", tramitacaoId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { arquivar.ArquivoId = Convert.ToInt32(reader["arquivo_id"]); arquivar.ArquivoNome = reader["arquivo_nome"].ToString(); arquivar.EstanteId = Convert.ToInt32(reader["estante_id"]); arquivar.EstanteNome = reader["estante_nome"].ToString(); arquivar.PrateleiraId = Convert.ToInt32(reader["prateleira_id"]); arquivar.PrateleiraNome = reader["prateleira_nome"].ToString(); arquivar.SetorId = Convert.ToInt32(reader["setor_id"]); arquivar.SetorNome = reader["setor_nome"].ToString(); arquivar.Funcionario.Id = Convert.ToInt32(reader["funcionario_id"]); arquivar.Funcionario.Nome = reader["funcionario_nome"].ToString(); } reader.Close(); } } return(arquivar); }