Ejemplo n.º 1
0
    public static int Atualizar(Tramitacao tra)
    {
        int erro = 0;

        try
        {
            IDbConnection objConexao;
            IDbCommand    objComando;
            objConexao = Mapped.Connection();

            string sql = "update tra_tramitacao set tra_localAtual=?localAtual, tra_localAnterior=?localAnterior, " +
                         "tra_localEnviado=?localAtual, tra_dataEnvio=?dataEnvio, fun_cod=?fun_cod, cod_fun=?cod_fun where tra_cod=?codigo;";

            objComando = Mapped.Command(sql, objConexao);
            objComando.Parameters.Add(Mapped.Parameter("?localAtual", tra.Tra_localAtual));
            objComando.Parameters.Add(Mapped.Parameter("?localAnterior", tra.Tra_localAnteriror));
            objComando.Parameters.Add(Mapped.Parameter("?dataEnvio", tra.Tra_dataEnvio));
            objComando.Parameters.Add(Mapped.Parameter("?fun_cod", tra.Funcionario.Fun_cod));
            objComando.Parameters.Add(Mapped.Parameter("?cod_fun", tra.Cod_fun));
            objComando.Parameters.Add(Mapped.Parameter("?codigo", tra.Tra_cod));
            objComando.ExecuteNonQuery();
            objComando.Dispose();
            objConexao.Dispose();
            objConexao.Close();
        }
        catch (Exception e)
        {
            erro = -2;
        }

        return(erro);
    }
Ejemplo n.º 2
0
        public Exception Receber_Processo(Tramitacao Reg)
        {
            Processo_Data obj = new Processo_Data(_connection);
            Exception     ex  = obj.Receber_Processo(Reg);

            return(ex);
        }
Ejemplo n.º 3
0
        public Exception Enviar_Processo(Tramitacao reg)
        {
            Processo_Data obj = new Processo_Data(_connection);
            Exception     ex  = obj.Enviar_Processo(reg);

            return(ex);
        }
Ejemplo n.º 4
0
        public ActionResult Receive(ProcessoViewModel model)
        {
            Processo_bll protocoloRepository = new Processo_bll(_connection);

            if (model.Despacho_Codigo == null)
            {
                model.Despacho_Codigo = 0;
            }

            if (Session["hashid"] != null)
            {
                if (model.Despacho_Codigo > 0)
                {
                    Tramitacao reg = new Tramitacao()
                    {
                        Ano      = (short)model.Ano,
                        Numero   = model.Numero,
                        Seq      = (byte)model.Seq,
                        Despacho = (short)model.Despacho_Codigo,
                        Userid   = Convert.ToInt32(Session["hashid"]),
                        Datahora = DateTime.Now,
                        Ccusto   = (short)model.CCusto_Codigo
                    };
                    Exception ex = protocoloRepository.Receber_Processo(reg);
                    if (ex != null)
                    {
                        ViewBag.Result = "Ocorreu um erro no recebimento do processo";
                    }
                }
            }
            model.Numero_Ano = model.Numero.ToString() + "-" + Functions.RetornaDvProcesso(model.Numero) + "/" + model.Ano.ToString();
            return(RedirectToAction("Tramite_Processo2", new { Ano = Functions.Encrypt(model.Ano.ToString()), Numero = Functions.Encrypt(model.Numero.ToString()) }));
        }
Ejemplo n.º 5
0
        public Exception Alterar_Tramite(Tramitacao Reg)
        {
            Processo_Data obj = new Processo_Data(_connection);
            Exception     ex  = obj.Alterar_Tramite(Reg);

            return(ex);
        }
Ejemplo n.º 6
0
        public ActionResult Obs(ProcessoViewModel model)
        {
            Processo_bll protocoloRepository = new Processo_bll(_connection);

            if (Session["hashid"] == null)
            {
                return(Json(Url.Action("Login_gti", "Home")));
            }

            Tramitacao reg = new Tramitacao()
            {
                Ano        = (short)model.Ano,
                Numero     = model.Numero,
                Seq        = (byte)model.Seq,
                Obs        = model.ObsGeral,
                Obsinterna = model.ObsInterna
            };
            Exception ex = protocoloRepository.Alterar_Obs(reg.Ano, reg.Numero, reg.Seq, reg.Obs, reg.Obsinterna);

            if (ex != null)
            {
                ViewBag.Result = "Ocorreu um erro na observação do trâmite";
            }

            model.Numero_Ano = model.Numero.ToString() + "-" + Functions.RetornaDvProcesso(model.Numero) + "/" + model.Ano.ToString();
            return(RedirectToAction("Tramite_Processo2", new { Ano = Functions.Encrypt(model.Ano.ToString()), Numero = Functions.Encrypt(model.Numero.ToString()) }));
        }
Ejemplo n.º 7
0
        internal void Cancelar(Tramitacao tramitacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                #region Atualizar o tid para a nova ação

                Comando comando = bancoDeDados.CriarComando(@"update {0}tab_tramitacao c set c.situacao = :situacao, c.tid = :tid where c.id = :id", EsquemaBanco);
                comando.AdicionarParametroEntrada("id", tramitacao.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("situacao", (int)eTramitacaoSituacao.Tramitando, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                bancoDeDados.ExecutarNonQuery(comando);
                #endregion

                #region Histórico
                Historico.Gerar(tramitacao.Id, eHistoricoArtefato.tramitacao, eHistoricoAcao.cancelar, bancoDeDados);
                #endregion

                #region Cancelar tramitaçao de processo/documento

                comando = bancoDeDados.CriarComando(@"begin
					delete from {0}tab_tramitacao_arquivar e where e.tramitacao = :id;
					delete from {0}tab_tramitacao_externo e where e.tramitacao = :id;
					delete from {0}tab_tramitacao t where t.id = :id;
				end;"                , EsquemaBanco);
                comando.AdicionarParametroEntrada("id", tramitacao.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                bancoDeDados.Commit();
            }
        }
Ejemplo n.º 8
0
    protected void lnkDevolver_Click(object sender, EventArgs e)
    {
        FunMod fmp = (FunMod)Session["funcionario"];

        Funcionario fun = FuncionarioDB.Select(Convert.ToInt32(lblNumeroRedator.Text));

        Tramitacao tra = new Tramitacao();

        tra.Funcionario = new Funcionario();

        tra.Tra_cod            = Convert.ToInt32(lblTramitacao.Text);
        tra.Tra_localAtual     = fun.Setor.Set_nome;
        tra.Tra_localAnteriror = lblLocalAnterior.Text;
        string data = DateTime.Now.ToString();

        data = data.Substring(0, 10);
        tra.Tra_dataEnvio       = data;
        tra.Funcionario.Fun_cod = Convert.ToInt32(lblNumeroRedator.Text);
        tra.Cod_fun             = fmp.Funcionario.Fun_cod;

        switch (TramitacaoDB.Atualizar(tra))
        {
        case 0:
            Response.Redirect("../paginas/Process.aspx?pro=" + Request.QueryString["pro"].Replace(" ", "+"));
            break;

        case -2:
            break;
        }
    }
Ejemplo n.º 9
0
        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);
        }
        protected void btOkEnviar_Click(object sender, EventArgs e)
        {
            lblMsgEnviar.Text = "";
            if (DespachoListEnviar.SelectedIndex == 0)
            {
                lblMsgEnviar.Text = "Selecione um despacho!";
                return;
            }
            lblMsg.Text = "";
            Processo_bll processo_Class = new Processo_bll("GTIconnection");
            int          seq            = Convert.ToInt32(SeqEnviarLabel.Text);

            Tramitacao linha = processo_Class.Dados_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, seq);
            Tramitacao reg   = new Tramitacao()
            {
                Ano       = linha.Ano,
                Numero    = linha.Numero,
                Seq       = linha.Seq,
                Despacho  = Convert.ToInt16(DespachoListEnviar.SelectedValue),
                Datahora  = linha.Datahora,
                Userid    = linha.Userid,
                Ccusto    = linha.Ccusto,
                Dataenvio = DateTime.Now,
                Userid2   = gtiCore.pUserId
            };
            Exception ex = processo_Class.Enviar_Processo(reg);

            if (ex != null)
            {
                throw ex.InnerException;
            }
            divModalEnviar.Visible = false;
            Carrega_Grid();
        }
Ejemplo n.º 11
0
    public static void Enviar(string texto, int numero)
    {
        FunMod fmp    = (FunMod)HttpContext.Current.Session["funcionario"];
        int    codigo = fmp.Funcionario.Fun_cod;

        string pagina = Convert.ToString(HttpContext.Current.Request.Url);

        string data = DateTime.Now.ToString();

        data = data.Substring(0, 10);
        Observacao  obs = new Observacao();
        Funcionario fun = new Funcionario();
        Tramitacao  tra = new Tramitacao();

        obs.Funcionario = fun;
        obs.Tramitacao  = tra;

        obs.Obs_valor           = texto;
        obs.Obs_dataObservacao  = data;
        obs.Tramitacao.Tra_cod  = numero;
        obs.Funcionario.Fun_cod = codigo;

        if (texto != "")
        {
            ObservacaoDB.Insert(obs);
        }
    }
Ejemplo n.º 12
0
        public ActionResult Send(ProcessoViewModel model)
        {
            Processo_bll protocoloRepository = new Processo_bll(_connection);

            if (Session["hashid"] != null)
            {
                List <TramiteStruct> _regOld = protocoloRepository.DadosTramite((short)model.Ano, model.Numero, model.Seq);
                Tramitacao           reg     = new Tramitacao()
                {
                    Ano       = (short)model.Ano,
                    Numero    = model.Numero,
                    Seq       = (byte)model.Seq,
                    Despacho  = model.Despacho_Codigo == null?(short)999:    (short)model.Despacho_Codigo,
                    Userid    = _regOld[0].Userid1,
                    Datahora  = Convert.ToDateTime(_regOld[0].DataEntrada + " " + _regOld[0].HoraEntrada),
                    Ccusto    = _regOld[0].CentroCustoCodigo,
                    Dataenvio = DateTime.Now,
                    Userid2   = Convert.ToInt32(Session["hashid"])
                };
                Exception ex = protocoloRepository.Enviar_Processo(reg);
                if (ex != null)
                {
                    ViewBag.Result = "Ocorreu um erro no envio do processo";
                }
            }
            model.Numero_Ano = model.Numero.ToString() + "-" + Functions.RetornaDvProcesso(model.Numero) + "/" + model.Ano.ToString();
            return(RedirectToAction("Tramite_Processo2", new { Ano = Functions.Encrypt(model.Ano.ToString()), Numero = Functions.Encrypt(model.Numero.ToString()) }));
        }
Ejemplo n.º 13
0
 public ProtocoloJsonVM(Tramitacao tramitacao)
 {
     Id           = tramitacao.Protocolo.Id;
     IsProcesso   = tramitacao.Protocolo.IsProcesso;
     Numero       = tramitacao.Protocolo.Numero;
     HistorioId   = tramitacao.HistoricoId;
     TramitacaoId = tramitacao.Id;
 }
Ejemplo n.º 14
0
        internal void Desarquivar(Tramitacao tramitacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();

                #region Atualiza a tabela transacional

                Comando comando = bancoDeDados.CriarComando(@"update {0}tab_tramitacao t set t.situacao = :situacao, t.remetente = null, t.data_envio = null, t.objetivo = null,
					t.remetente_setor = t.destinatario_setor, t.destinatario = :destinatario,  t.destinatario_setor = :destinatario_setor where t.id = :id "                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", tramitacao.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("situacao", (int)eTramitacaoSituacao.Tramitando, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario", tramitacao.Destinatario.Id > 0 ? (int?)tramitacao.Destinatario.Id : null, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario_setor", tramitacao.DestinatarioSetor.Id > 0 ? (int?)tramitacao.DestinatarioSetor.Id : null, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Histórico

                Historico.Gerar(tramitacao.Id, eHistoricoArtefato.tramitacao, eHistoricoAcao.desarquivar, bancoDeDados);

                #endregion

                #region Atualizar o id da ultima tramitação no protocolo

                comando = bancoDeDados.CriarComando(@"begin "
                                                    + " update {0}tab_protocolo p set p.tramitacao = (select max(id) id from {0}hst_tramitacao h where h.protocolo_id = :protocolo), "
                                                    + " p.setor = :setor, p.emposse = :emposse where p.id = :protocolo;"
                                                    + " update {0}lst_protocolo p set p.tramitacao = (select max(id) id from {0}hst_tramitacao h where h.protocolo_id = :protocolo), "
                                                    + " p.setor_id = :setor, p.emposse_id = :emposse where p.protocolo_id = :protocolo; end;", EsquemaBanco);

                comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("setor", tramitacao.DestinatarioSetor.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("emposse", tramitacao.Destinatario.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Finalizar a tramitaçao de processo/documento

                List <String> lista = new List <string>();
                lista.Add("delete from {0}tab_tramitacao_arquivar e where e.tramitacao = :id;");
                lista.Add("delete from {0}tab_tramitacao t where t.id = :id;");
                comando = bancoDeDados.CriarComando(@"begin " + string.Join(" ", lista) + "end;", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", tramitacao.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                bancoDeDados.Commit();
            }
        }
Ejemplo n.º 15
0
        public async Task <Tramitacao> criarTramitacao(Tramitacao tramit)
        {
            if (tramit != null)
            {
                _contexto.Update(tramit);
                await _contexto.SaveChangesAsync();
            }

            return(tramit);
        }
Ejemplo n.º 16
0
        internal bool Arquivar(Tramitacao tramitacao)
        {
            // Valida se processo está apensado/juntado
            if (_busProtocolo.VerificarProtocoloAssociado(tramitacao.Protocolo.Id.Value))
            {
                Validacao.Add(tramitacao.Protocolo.IsProcesso?Mensagem.Arquivamento.ArquivarProcessoApensadoNaoPodeSerArquivado:Mensagem.Arquivamento.ArquivarDocumentoJuntadoNaoPodeSerArquivado);
            }

            return(Validacao.EhValido);
        }
Ejemplo n.º 17
0
        internal void EnviarExterno(Tramitacao tramitacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Enviar processos/documentos

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao a (id, protocolo, tipo, objetivo, situacao, despacho,
				executor, remetente, remetente_setor, destinatario, destinatario_setor, tid, data_envio) values ({0}seq_tramitacao.nextval, :protocolo, :tipo, :objetivo, 
				:situacao, :despacho, :executor, :remetente, :remetente_setor, :destinatario, :destinatario_setor, :tid, sysdate) returning a.id into :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("tipo", tramitacao.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("objetivo", tramitacao.Objetivo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("situacao", tramitacao.SituacaoId, DbType.Int32);
                comando.AdicionarParametroEntClob("despacho", tramitacao.Despacho);
                comando.AdicionarParametroEntrada("executor", tramitacao.Executor.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("remetente", tramitacao.Remetente.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("remetente_setor", tramitacao.RemetenteSetor.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario", tramitacao.Destinatario.Id > 0 ? (int?)tramitacao.Destinatario.Id : null, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario_setor", tramitacao.DestinatarioSetor.Id > 0 ? (int?)tramitacao.DestinatarioSetor.Id : null, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                int id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #region Enviar tramitação externa

                comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao_externo t (id, tramitacao, orgao, funcionario, tid) 
				values ({0}seq_tramitacao_externo.nextval, :tramitacao, :orgao, :funcionario, :tid) "                , EsquemaBanco);

                comando.AdicionarParametroEntrada("tramitacao", id, DbType.Int32);
                comando.AdicionarParametroEntrada("orgao", tramitacao.OrgaoExterno.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("funcionario", tramitacao.Destinatario.Nome, DbType.String);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #endregion

                #region Histórico

                Historico.Gerar(id, eHistoricoArtefato.tramitacao, eHistoricoAcao.enviarexterno, bancoDeDados);

                #endregion

                bancoDeDados.Commit();
            }
        }
Ejemplo n.º 18
0
        public void SetorOrigem(Tramitacao tramitacao)
        {
            if (_da.ObterSetorProtocolo(tramitacao.Protocolo.Id.Value) != tramitacao.RemetenteSetor.Id)
            {
                Validacao.Add(Mensagem.Tramitacao.SetorInvalido(tramitacao.Protocolo.Numero));
            }

            if (!_busProtocolo.EmPosse(tramitacao.Protocolo.Id.Value, tramitacao.Remetente.Id))
            {
                Validacao.Add(Mensagem.Tramitacao.FuncionarioNaoPossuiPosseProtocolo(tramitacao.Protocolo.Numero));
            }
        }
Ejemplo n.º 19
0
 public void Cancelar(Tramitacao tramitacao, bool permissaoTramitar)
 {
     tramitacao = Obter(tramitacao.Id);
     if (_validar.Cancelar(tramitacao, permissaoTramitar))
     {
         GerenciadorTransacao.ObterIDAtual();
         using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
         {
             bancoDeDados.IniciarTransacao();
             _da.Cancelar(tramitacao);
         }
     }
 }
Ejemplo n.º 20
0
        public bool ValidarRedirecionamentoReceber(Tramitacao tramitacao, bool permissaoTramitar)
        {
            bool registro = false;

            _validar.RegraSetor(tramitacao.DestinatarioSetor.Id, permissaoTramitar);

            if (_da.ObterTipoSetor(tramitacao.DestinatarioSetor.Id) == 2)
            {
                if (_da.Registrador(User.FuncionarioId, tramitacao.DestinatarioSetor.Id))
                {
                    registro = true;
                }
            }

            return(registro);
        }
Ejemplo n.º 21
0
        public bool Cancelar(Tramitacao tramitacao, bool permissaoTramitar)
        {
            if (!tramitacao.Protocolo.Id.HasValue)
            {
                Validacao.Add(Mensagem.Tramitacao.ProtocoloJaTramitado(tramitacao.Protocolo.IsProcesso ? "processo" : "documento", tramitacao.Protocolo.Numero, "cancelado"));
                return(Validacao.EhValido);
            }

            if (tramitacao.Executor.Id != tramitacao.Remetente.Id && !_da.Registrador(User.FuncionarioId, tramitacao.RemetenteSetor.Id))
            {
                Validacao.Add(Msg.CancelarTramitacaoRegistro);
                return(Validacao.EhValido);
            }

            RegraSetor(tramitacao.RemetenteSetor.Id, permissaoTramitar);

            return(Validacao.EhValido);
        }
Ejemplo n.º 22
0
        public JsonResult Receber(int Ano, int Numero, int Seq, int Despacho, int CentroCusto)
        {
            Processo_bll protocoloRepository = new Processo_bll(_connection);
            int          _user = Convert.ToInt32(Functions.Decrypt(Request.Cookies["2uC*"].Value));
            Tramitacao   reg   = new Tramitacao()
            {
                Ano      = (short)Ano,
                Numero   = Numero,
                Seq      = (byte)Seq,
                Despacho = (short)Despacho,
                Userid   = _user,
                Datahora = DateTime.Now,
                Ccusto   = (short)CentroCusto
            };

            Exception ex         = protocoloRepository.Receber_Processo(reg);
            string    Numero_Ano = Numero.ToString() + "-" + Functions.RetornaDvProcesso(Numero) + "/" + Ano.ToString();

            return(Json(Url.Action("Processo_trm", "Processo", new { p = Functions.Encrypt(Numero_Ano) })));
        }
Ejemplo n.º 23
0
    protected void lnkTramitar_Click(object sender, EventArgs e)
    {
        FunMod fmp = (FunMod)Session["funcionario"];

        int codigo = Convert.ToInt32(ddlLocal.SelectedValue), fun_cod = 0;

        DataSet ds = new DataSet();

        ds = TramitacaoDB.ConsultaUsuario(codigo);

        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            fun_cod = Convert.ToInt32(dr["fun_cod"]);
        }

        Tramitacao tra = new Tramitacao();

        tra.Funcionario = new Funcionario();

        string data = DateTime.Now.ToString();

        data = data.Substring(0, 10);

        tra.Tra_cod             = Convert.ToInt32(lblTramitacao.Text);
        tra.Funcionario.Fun_cod = fun_cod;
        tra.Cod_fun             = fmp.Funcionario.Fun_cod;
        tra.Tra_localAtual      = ddlLocal.SelectedItem.Text;
        tra.Tra_dataEnvio       = data;
        tra.Tra_localAnteriror  = lblLocalAnterior.Text;

        switch (TramitacaoDB.Atualizar(tra))
        {
        case 0:
            break;

        case -2:
            break;
        }
    }
Ejemplo n.º 24
0
        public async Task <IActionResult> Inserir(
            [FromServices] ITramitacaoDal tramitacaoDal,
            [FromBody] Tramitacao body
            )
        {
            try
            {
                Tramitacao retorno = await tramitacaoDal.criarTramitacao(body);

                if (retorno.IdTramitacao != 0)
                {
                    return(Ok(retorno));
                }
                else
                {
                    return(Ok(new { message = "Nenhuma tramitação inserida." }));
                }
            }
            catch (System.Exception ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
        protected void btOkReceber_Click(object sender, EventArgs e)
        {
            lblMsg.Text = "";
            Processo_bll processo_Class = new Processo_bll("GTIconnection");
            int          ccusto;
            int          seq = Convert.ToInt32(SeqReceberLabel.Text);

            bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, seq);

            if (_existeTramite)
            {
                Tramitacao linha = processo_Class.Dados_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, seq);
                ccusto = linha.Ccusto;
            }
            else
            {
                ccusto = processo_Class.Retorna_CCusto_TramiteCC(_numeroProcesso.Ano, _numeroProcesso.Numero, seq);
            }
            Tramitacao reg = new Tramitacao()
            {
                Ano      = (short)_numeroProcesso.Ano,
                Numero   = _numeroProcesso.Numero,
                Seq      = Convert.ToByte(SeqReceberLabel.Text),
                Despacho = Convert.ToInt16(DespachoListReceber.SelectedValue),
                Datahora = DateTime.Now,
                Userid   = gtiCore.pUserId,
                Ccusto   = (short)ccusto
            };
            Exception ex = processo_Class.Receber_Processo(reg);

            if (ex != null)
            {
                throw ex.InnerException;
            }
            divModalReceber.Visible = false;
            Carrega_Grid();
        }
        protected void grdMain_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
        {
            short        ccusto                = 0;
            int          Seq                   = Convert.ToInt32(e.CommandArgument) + 1;
            Processo_bll processo_Class        = new Processo_bll("GTIconnection");
            int          _ccusto               = processo_Class.Retorna_CCusto_TramiteCC(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
            List <UsuariocentroCusto> _listaCC = processo_Class.ListaCentrocustoUsuario(Convert.ToInt32(gtiCore.pUserId));
            bool _find = false;

            foreach (UsuariocentroCusto item in _listaCC)
            {
                if (item.Codigo == _ccusto)
                {
                    _find = true;
                    break;
                }
            }
            if (!_find && e.CommandName != "cmdObs")
            {
                lblMsg.Text = "Você não tem permissão para tramitar neste local.";
                return;
            }

            if (e.CommandName == "cmdReceber")
            {
                if (Seq > 1)
                {
                    bool _existeTramiteAnterior = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq - 1);
                    if (!_existeTramiteAnterior)
                    {
                        lblMsg.Text = "Local anterior não tramitado.";
                        return;
                    }
                    else
                    {
                        Tramitacao linha = processo_Class.Dados_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq - 1);
                        if (linha.Dataenvio == null)
                        {
                            lblMsg.Text = "Local anterior não tramitado.";
                            return;
                        }
                    }
                    bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                    if (_existeTramite)
                    {
                        lblMsg.Text = "Este local já foi tramitado.";
                        return;
                    }
                }
                else
                {
                    bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                    if (_existeTramite)
                    {
                        lblMsg.Text = "Este local já foi tramitado.";
                        return;
                    }
                }
                List <Despacho> Lista = processo_Class.Lista_Despacho();
                DespachoListReceber.DataSource     = Lista;
                DespachoListReceber.DataTextField  = "Descricao";
                DespachoListReceber.DataValueField = "Codigo";
                DespachoListReceber.DataBind();

                SeqReceberLabel.Text    = Seq.ToString();
                divModalReceber.Visible = true;
            }
            else
            {
                if (e.CommandName == "cmdEnviar")
                {
                    bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                    if (!_existeTramite)
                    {
                        lblMsg.Text = "Este processo ainda não foi recebido neste local.";
                        return;
                    }
                    else
                    {
                        Tramitacao linha = processo_Class.Dados_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                        ccusto = (short)linha.Despacho;
                        if (linha.Datahora == null)
                        {
                            lblMsg.Text = "Este processo ainda não foi recebido neste local.";
                            return;
                        }
                        else
                        {
                            if (linha.Dataenvio != null)
                            {
                                lblMsg.Text = "Processo já enviado deste local.";
                                return;
                            }
                        }
                    }
                    List <Despacho> Lista = processo_Class.Lista_Despacho();
                    DespachoListEnviar.DataSource     = Lista;
                    DespachoListEnviar.DataTextField  = "Descricao";
                    DespachoListEnviar.DataValueField = "Codigo";
                    DespachoListEnviar.DataBind();
                    try {
                        DespachoListEnviar.SelectedValue = ccusto.ToString();
                    } catch (Exception) {
                    }

                    SeqEnviarLabel.Text    = Seq.ToString();
                    divModalEnviar.Visible = true;
                }
                else
                {
                    if (e.CommandName == "cmdAcima")
                    {
                        if (Seq == 1)
                        {
                            return;
                        }
                        else
                        {
                            bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                            if (_existeTramite)
                            {
                                lblMsg.Text = "Este local já foi tramitado.";
                                return;
                            }
                            else
                            {
                                _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq - 1);
                                if (_existeTramite)
                                {
                                    lblMsg.Text = "O local anterior já foi tramitado.";
                                    return;
                                }
                                else
                                {
                                    Exception ex = processo_Class.Move_Sequencia_Tramite_Acima(_numeroProcesso.Numero, _numeroProcesso.Ano, Seq);
                                    if (ex == null)
                                    {
                                        Response.Redirect(Request.RawUrl, true);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        if (e.CommandName == "cmdAbaixo")
                        {
                            if (Seq > grdMain.Rows.Count - 1)
                            {
                                return;
                            }
                            else
                            {
                                bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                                if (_existeTramite)
                                {
                                    lblMsg.Text = "Este local já foi tramitado.";
                                    return;
                                }
                                else
                                {
                                    Exception ex = processo_Class.Move_Sequencia_Tramite_Abaixo(_numeroProcesso.Numero, _numeroProcesso.Ano, Seq);
                                    if (ex == null)
                                    {
                                        Response.Redirect(Request.RawUrl, true);
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (e.CommandName == "cmdInserir")
                            {
                                if (Seq > grdMain.Rows.Count - 1)
                                {
                                    return;
                                }
                                else
                                {
                                    bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq + 1);
                                    if (_existeTramite)
                                    {
                                        lblMsg.Text = "O próximo local já foi tramitado.";
                                        return;
                                    }
                                    else
                                    {
                                        List <Centrocusto> Lista = processo_Class.Lista_Local(true, false);
                                        LocalListInserir.DataSource     = Lista;
                                        LocalListInserir.DataTextField  = "Descricao";
                                        LocalListInserir.DataValueField = "Codigo";
                                        LocalListInserir.DataBind();
                                        SeqInserirLabel.Text    = Seq.ToString();
                                        divModalInserir.Visible = true;
                                    }
                                }
                            }
                            else
                            {
                                if (e.CommandName == "cmdRemover")
                                {
                                    bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                                    if (_existeTramite)
                                    {
                                        lblMsg.Text = "Este local já foi tramitado e não pode ser removido.";
                                    }
                                    else
                                    {
                                        Exception ex = processo_Class.Remover_Local(_numeroProcesso.Numero, _numeroProcesso.Ano, Seq);
                                        Response.Redirect(Request.RawUrl, true);
                                    }
                                }
                                else
                                {
                                    if (e.CommandName == "cmdObs")
                                    {
                                        bool _existeTramite = processo_Class.Existe_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                                        if (!_existeTramite)
                                        {
                                            lblMsg.Text = "Este local ainda não foi tramitado.";
                                        }
                                        else
                                        {
                                            foreach (UsuariocentroCusto item in _listaCC)
                                            {
                                                if (item.Codigo == _ccusto)
                                                {
                                                    _find = true;
                                                    break;
                                                }
                                            }
                                            Tramitacao _tramite = processo_Class.Dados_Tramite(_numeroProcesso.Ano, _numeroProcesso.Numero, Seq);
                                            ObsGeralText.Text   = _tramite.Obs ?? "";
                                            ObsInternoText.Text = _tramite.Obsinterna ?? "";

                                            btOkObs.Enabled        = _find;
                                            SeqObsLabel.Text       = Seq.ToString();
                                            ObsGeralText.Visible   = true;
                                            ObsInternoText.Visible = false;
                                            divModalObs.Visible    = true;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        internal Resultados <Tramitacao> FiltrarHistorico(Filtro <ListarTramitacaoFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Tramitacao> retorno = new Resultados <Tramitacao>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                string  esquema   = (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".");
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                #region Filtros de protocolo

                comandtxt += comando.FiltroAnd("t.protocolo_id", "protocolo_id", filtros.Dados.Protocolo.Id);

                comandtxt += comando.FiltroAnd("t.protocolo", "protocolo", filtros.Dados.ProtocoloTipo);

                comandtxt += comando.FiltroAnd("t.protocolo_numero", "numero", filtros.Dados.Protocolo.Numero);

                comandtxt += comando.FiltroAnd("t.protocolo_ano", "ano", filtros.Dados.Protocolo.Ano);

                #endregion

                comandtxt += comando.FiltroAnd("t.remetente_id", "remetente_id", filtros.Dados.RemetenteId);

                comandtxt += comando.FiltroAnd("t.remetente_setor_id", "remetente_setor_id", filtros.Dados.RemetenteSetorId);

                comandtxt += comando.FiltroAnd("t.destinatario_id", "destinatario_id", filtros.Dados.DestinatarioId);

                comandtxt += comando.FiltroAnd("t.destinatario_setor_id", "destinatario_setor_id", filtros.Dados.DestinatarioSetorId);

                comandtxt += comando.FiltroIn("t.destinatario_setor_id", String.Format("select s.setor from {0}tab_funcionario_setor s where s.funcionario = :funcionario_setor_destino", esquema),
                                              "funcionario_setor_destino", filtros.Dados.FuncionarioSetorDestinoId);

                comandtxt += comando.FiltroIn("t.destinatario_setor_id", String.Format("select s.setor from {0}tab_funcionario_setor s, {0}tab_tramitacao_setor_func fs where fs.funcionario = s.funcionario and s.funcionario = :registrador_setor", esquema),
                                              "registrador_setor", filtros.Dados.RegistradorDestinatarioSetorId);

                comandtxt += comando.FiltroIn("t.destinatario_setor_id", String.Format(@"select s.setor from {0}tab_funcionario_setor s, {0}tab_tramitacao_setor_func fs where fs.funcionario = s.funcionario and s.funcionario = :emposse_registrador", esquema),
                                              "emposse_registrador", filtros.Dados.RegistradorDestinatarioId, "or t.destinatario_id = :emposse_registrador");

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "protocolo_numero,protocolo_ano", "protocolo", "data_envio", "objetivo_texto"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("protocolo_numero,protocolo_ano");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format(@"select count(*) from {0}lst_hst_tramitacao t where t.id > 0" + comandtxt, esquema);

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.DbCommand.CommandText = String.Format(@"select t.id, t.tid, t.tramitacao_id, t.tramitacao_hst_id, t.protocolo, t.protocolo_id, t.protocolo_numero, t.protocolo_ano, 
				t.protocolo_numero_completo, t.protocolo_tipo_texto, t.remetente_id, t.remetente_tid, t.remetente_nome, t.remetente_setor_id, 
				t.remetente_setor_sigla, t.remetente_setor_nome, t.destinatario_id, t.destinatario_tid, t.destinatario_nome, t.destinatario_setor_id, 
				t.destinatario_setor_sigla, t.destinatario_setor_nome, t.objetivo_id, t.objetivo_texto, t.situacao_id, t.situacao_texto, 
				t.acao_executada, (select aa.texto from {0}lov_historico_artefatos_acoes a, {0}lov_historico_acao aa where a.acao = aa.id and a.id =  t.acao_executada) acao_executada_texto,
				t.data_envio, t.data_execucao data_recebimento from {0}lst_hst_tramitacao t where t.id > 0"
                                                              + comandtxt + DaHelper.Ordenar(colunas, ordenar), esquema);

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Tramitacao tramitacao;

                    while (reader.Read())
                    {
                        tramitacao             = new Tramitacao();
                        tramitacao.Id          = Convert.ToInt32(reader["tramitacao_id"]);
                        tramitacao.HistoricoId = Convert.ToInt32(reader["tramitacao_hst_id"]);

                        tramitacao.DataEnvio.Data    = Convert.IsDBNull(reader["data_envio"]) ? null : (DateTime?)Convert.ToDateTime(reader["data_envio"]);
                        tramitacao.DataRecebido.Data = Convert.IsDBNull(reader["data_recebimento"]) ? null : (DateTime?)Convert.ToDateTime(reader["data_recebimento"]);
                        tramitacao.DataExecucao.Data = tramitacao.DataRecebido.Data;

                        tramitacao.Tid = reader["tid"].ToString();

                        if (reader["objetivo_id"] != null && !Convert.IsDBNull(reader["objetivo_id"]))
                        {
                            tramitacao.Objetivo.Id    = Convert.ToInt32(reader["objetivo_id"]);
                            tramitacao.Objetivo.Texto = Convert.ToString(reader["objetivo_texto"]);
                        }

                        if (reader["remetente_id"] != null && !Convert.IsDBNull(reader["remetente_id"]))
                        {
                            tramitacao.Remetente.Id = Convert.ToInt32(reader["remetente_id"]);
                        }

                        tramitacao.Remetente.Nome = reader["remetente_nome"].ToString();

                        if (reader["remetente_setor_id"] != null && !Convert.IsDBNull(reader["remetente_setor_id"]))
                        {
                            tramitacao.RemetenteSetor.Id = Convert.ToInt32(reader["remetente_setor_id"]);
                        }

                        tramitacao.RemetenteSetor.Sigla = Convert.ToString(reader["remetente_setor_sigla"]);
                        tramitacao.RemetenteSetor.Nome  = Convert.ToString(reader["remetente_setor_nome"]);


                        if (reader["destinatario_id"] != null && !Convert.IsDBNull(reader["destinatario_id"]))
                        {
                            tramitacao.Destinatario.Id = Convert.ToInt32(reader["destinatario_id"]);
                        }

                        tramitacao.Destinatario.Nome = Convert.ToString(reader["destinatario_nome"]);

                        if (reader["destinatario_setor_id"] != null && !Convert.IsDBNull(reader["destinatario_setor_id"]))
                        {
                            tramitacao.DestinatarioSetor.Id = Convert.ToInt32(reader["destinatario_setor_id"]);
                        }

                        tramitacao.DestinatarioSetor.Sigla = Convert.ToString(reader["destinatario_setor_sigla"]);
                        tramitacao.DestinatarioSetor.Nome  = Convert.ToString(reader["destinatario_setor_nome"]);

                        tramitacao.IsExisteHistorico         = (reader["tramitacao_hst_id"] != null && !Convert.IsDBNull(reader["tramitacao_hst_id"]));
                        tramitacao.Protocolo.IsProcesso      = (reader["protocolo"] != null && reader["protocolo"].ToString() == "1");
                        tramitacao.Protocolo.Id              = Convert.ToInt32(reader["protocolo_id"]);
                        tramitacao.Protocolo.NumeroProtocolo = Convert.ToInt32(reader["protocolo_numero"]);
                        tramitacao.Protocolo.Ano             = Convert.ToInt32(reader["protocolo_ano"]);
                        tramitacao.Protocolo.Tipo.Texto      = reader["protocolo_tipo_texto"].ToString();

                        if (reader["acao_executada"] != null && !Convert.IsDBNull(reader["acao_executada"]))
                        {
                            tramitacao.AcaoId        = Convert.ToInt32(reader["acao_executada"]);
                            tramitacao.AcaoExecutada = reader["acao_executada_texto"].ToString();
                        }

                        retorno.Itens.Add(tramitacao);
                    }

                    reader.Close();

                    #endregion
                }
            }
            return(retorno);
        }
Ejemplo n.º 28
0
        internal void Arquivar(Tramitacao tramitacao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Enviar processos/documentos

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao a (id, protocolo, tipo, objetivo, situacao, despacho,
				executor, remetente, remetente_setor, destinatario_setor, tid, data_envio) values ({0}seq_tramitacao.nextval, :protocolo, :tipo, :objetivo, 
				:situacao, :despacho, :executor, :remetente, :remetente_setor, :destinatario_setor, :tid, sysdate) returning a.id into :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("tipo", tramitacao.Tipo, DbType.Int32);
                comando.AdicionarParametroEntrada("objetivo", tramitacao.Objetivo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("situacao", tramitacao.SituacaoId, DbType.Int32);
                comando.AdicionarParametroEntClob("despacho", tramitacao.Despacho);
                comando.AdicionarParametroEntrada("executor", tramitacao.Executor.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("remetente", tramitacao.Remetente.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("remetente_setor", tramitacao.RemetenteSetor.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("destinatario_setor", tramitacao.DestinatarioSetor.Id > 0 ? (int?)tramitacao.DestinatarioSetor.Id : null, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroSaida("id", DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                int id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #region Arquivar

                comando = bancoDeDados.CriarComando(@"insert into {0}tab_tramitacao_arquivar(id, tramitacao, arquivo, estante, prateleira, tid)
				values ({0}seq_tramitacao_arquivar.nextval, :tramitacao, :arquivo, :estante, :prateleira, :tid)"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("tramitacao", id, DbType.Int32);
                comando.AdicionarParametroEntrada("arquivo", tramitacao.Arquivamento.ArquivoId, DbType.Int32);
                comando.AdicionarParametroEntrada("estante", tramitacao.Arquivamento.EstanteId, DbType.Int32);
                comando.AdicionarParametroEntrada("prateleira", tramitacao.Arquivamento.PrateleiraId, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                #region Atualizar Posse
                comando = bancoDeDados.CriarComandoPlSql(@"begin 
					update {0}tab_protocolo p set p.setor = null, p.emposse = null where p.id = :protocolo; 
					update {0}lst_protocolo p set p.setor_id = null, p.emposse_id = null where p.protocolo_id = :protocolo; 
				end;"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("protocolo", tramitacao.Protocolo.Id, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);
                #endregion

                #endregion

                #region Histórico

                Historico.Gerar(id, eHistoricoArtefato.tramitacao, eHistoricoAcao.arquivar, bancoDeDados);

                #endregion

                bancoDeDados.Commit();
            }
        }
Ejemplo n.º 29
0
        private void BtOKEnvRec_Click(object sender, EventArgs e)
        {
            Exception    ex            = null;
            bool         bReceber      = lblEnvRec.Text == "Recebimento de Processo" ? true : false;
            Processo_bll clsProcesso   = new Processo_bll(_connection);
            int          Ano           = clsProcesso.ExtractAnoProcesso(lblNumProc.Text);
            int          Numero        = clsProcesso.ExtractNumeroProcessoNoDV(lblNumProc.Text);
            int          Seq           = Convert.ToInt16(lvMain.SelectedItems[0].SubItems[1].Text);
            short        CCusto        = Convert.ToInt16(lvMain.SelectedItems[0].SubItems[2].Text);
            DateTime     Data          = Convert.ToDateTime(lblData.Text);
            DateTime     Hora          = Convert.ToDateTime(lblHora.Text);
            DateTime     DataHora      = new DateTime(Data.Year, Data.Month, Data.Day, Hora.Hour, Hora.Second, Hora.Second);
            short?       CodDespacho   = cmbDespacho2.SelectedIndex == -1 ? Convert.ToInt16(0) : Convert.ToInt16(cmbDespacho2.SelectedValue);
            Sistema_bll  Sistema_Class = new Sistema_bll(_connection);

            Tramitacao reg = new Tramitacao {
                Ano      = Convert.ToInt16(Ano),
                Numero   = Numero,
                Seq      = Convert.ToByte(Seq),
                Ccusto   = CCusto,
                Datahora = DataHora,
                Despacho = CodDespacho == 0 ? null : CodDespacho
            };

            if (bReceber)
            {
                if (cmbFuncionario.SelectedIndex == -1)
                {
                    MessageBox.Show("Selecione um funcionário", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    GtiTypes.CustomListBoxItem selectedItem = (GtiTypes.CustomListBoxItem)cmbFuncionario.SelectedItem;
                    reg.Userid = selectedItem._value;
                    if (reg.Userid < 999)
                    {
                        reg.Userid = Sistema_Class.Retorna_User_LoginId("F" + Convert.ToInt32(reg.Userid).ToString("000"));
                    }
                    else
                    {
                        reg.Userid = Sistema_Class.Retorna_User_LoginId(gtiCore.Retorna_Last_User());
                    }

                    ex = clsProcesso.Excluir_Tramite(Ano, Numero, Seq);
                    if (ex != null)
                    {
                        ErrorBox eBox = new ErrorBox("Erro!", ex.Message, ex);
                        eBox.ShowDialog();
                    }
                    ex = clsProcesso.Incluir_Tramite(reg);
                    if (ex != null)
                    {
                        ErrorBox eBox = new ErrorBox("Erro!", ex.Message, ex);
                        eBox.ShowDialog();
                    }
                }
            }
            else
            {
                if (CodDespacho == 0)
                {
                    MessageBox.Show("Selecione um despacho para o trâmite.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                reg.Dataenvio = DataHora;
                GtiTypes.CustomListBoxItem selectedItem = (GtiTypes.CustomListBoxItem)cmbFuncionario.SelectedItem;
                reg.Userid2 = selectedItem._value;

                if (reg.Userid2 < 999)
                {
                    reg.Userid2 = Sistema_Class.Retorna_User_LoginId("F" + Convert.ToInt32(reg.Userid2).ToString("000"));
                }
                else
                {
                    reg.Userid2 = Sistema_Class.Retorna_User_LoginId(gtiCore.Retorna_Last_User());
                }

                ex = clsProcesso.Alterar_Tramite(reg);
                if (ex != null)
                {
                    ErrorBox eBox = new ErrorBox("Erro!", ex.Message, ex);
                    eBox.ShowDialog();
                }
            }

            CarregaTramite();
            LockForm(true);
            SetButtonState();
            pnlEnvRec.Hide();
            lvMain.Enabled = true;
        }
Ejemplo n.º 30
0
        internal Tramitacao Obter(int id, BancoDeDados banco = null)
        {
            Tramitacao tramitacao = new Tramitacao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Tramitacao

                Comando comando = bancoDeDados.CriarComando(@"select t.tramitacao_hst_id, t.tramitacao_id id, t.protocolo, t.protocolo_id, t.protocolo_tid, 
				t.protocolo_numero, t.protocolo_ano, t.protocolo_numero_completo, t.protocolo_numero_autuacao, t.protocolo_tipo_id, t.protocolo_tipo_texto, 
				t.remetente_id, t.remetente_tid, t.remetente_nome, t.remetente_setor_id, t.remetente_setor_sigla, t.remetente_setor_nome, t.destinatario_id, 
				t.destinatario_tid, t.destinatario_nome, t.destinatario_setor_id, t.destinatario_setor_sigla, t.destinatario_setor_nome, t.objetivo_id, 
				t.objetivo_texto, t.situacao_id, t.situacao_texto, t.data_execucao data_recebimento, t.data_envio, t.data_execucao, t.despacho, t.remetente_municipio_nome,
				t.remetente_estado_sigla, t.destinatario_municipio_nome,t.destinatario_estado_sigla, t.orgao_externo_id, t.orgao_externo_nome, a.executor, t.tid 
				from {0}tab_tramitacao a, {0}lst_hst_tramitacao t where a.tid = t.tid and a.id = t.tramitacao_id and a.id = :id"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        tramitacao.Id = id;

                        if (reader["tramitacao_hst_id"] != null && !Convert.IsDBNull(reader["tramitacao_hst_id"]))
                        {
                            tramitacao.HistoricoId = Convert.ToInt32(reader["tramitacao_hst_id"]);
                        }

                        tramitacao.Tid                       = reader["tid"].ToString();
                        tramitacao.DataEnvio.Data            = Convert.IsDBNull(reader["data_envio"]) ? null : (DateTime?)Convert.ToDateTime(reader["data_envio"]);
                        tramitacao.Despacho                  = reader["despacho"].ToString();
                        tramitacao.Protocolo.NumeroProtocolo = Convert.ToInt32(reader["protocolo_numero"]);
                        tramitacao.Protocolo.Ano             = Convert.ToInt32(reader["protocolo_ano"]);
                        tramitacao.Protocolo.Tipo.Texto      = reader["protocolo_tipo_texto"].ToString();

                        if (reader["protocolo_id"] != null && !Convert.IsDBNull(reader["protocolo_id"]))
                        {
                            tramitacao.Protocolo.Id         = Convert.ToInt32(reader["protocolo_id"]);
                            tramitacao.Protocolo.IsProcesso = reader["protocolo"].ToString() == "1";
                        }

                        if (reader["objetivo_id"] != null && !Convert.IsDBNull(reader["objetivo_id"]))
                        {
                            tramitacao.Objetivo.Id    = Convert.ToInt32(reader["objetivo_id"]);
                            tramitacao.Objetivo.Texto = reader["objetivo_texto"].ToString();
                        }

                        if (reader["remetente_id"] != null && !Convert.IsDBNull(reader["remetente_id"]))
                        {
                            tramitacao.Remetente.Id = Convert.ToInt32(reader["remetente_id"]);
                        }
                        tramitacao.Remetente.Nome = reader["remetente_nome"].ToString();

                        if (reader["destinatario_id"] != null && !Convert.IsDBNull(reader["destinatario_id"]))
                        {
                            tramitacao.Destinatario.Id = Convert.ToInt32(reader["destinatario_id"]);
                        }
                        tramitacao.Destinatario.Nome = reader["destinatario_nome"].ToString();

                        if (reader["remetente_setor_id"] != null && !Convert.IsDBNull(reader["remetente_setor_id"]))
                        {
                            tramitacao.RemetenteSetor.Id = Convert.ToInt32(reader["remetente_setor_id"]);
                        }
                        tramitacao.RemetenteSetor.Nome = reader["remetente_setor_nome"].ToString();

                        if (reader["destinatario_setor_id"] != null && !Convert.IsDBNull(reader["destinatario_setor_id"]))
                        {
                            tramitacao.DestinatarioSetor.Id = Convert.ToInt32(reader["destinatario_setor_id"]);
                        }
                        tramitacao.DestinatarioSetor.Nome = reader["destinatario_setor_nome"].ToString();

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            tramitacao.SituacaoId = Convert.ToInt32(reader["situacao_id"]);
                        }

                        if (reader["orgao_externo_id"] != null && !Convert.IsDBNull(reader["orgao_externo_id"]))
                        {
                            tramitacao.OrgaoExterno.Id = Convert.ToInt32(reader["orgao_externo_id"]);
                        }
                        tramitacao.OrgaoExterno.Texto = reader["orgao_externo_nome"].ToString();

                        if (reader["executor"] != null && !Convert.IsDBNull(reader["executor"]))
                        {
                            tramitacao.Executor.Id = Convert.ToInt32(reader["executor"]);
                        }
                    }

                    reader.Close();
                }

                #endregion
            }
            return(tramitacao);
        }