Jump to content
rtavix

[Resolvido] Pegar o último Numero de uma coluna Excel

Recommended Posts

Boa Tarde Pessoal, tenho uma consulta de processo judicial e gravação do mesmo dentro do método da thread. Gostaria de saber se existe a possibilidade de pegar pelo ultimo numero do processo judicial em ordem? 

 

Índice 2.

 

Coluna C

NUMERO JUDICIAL
000021367.2017.8.08.0048
000638185.2017.8.08.0048
001049737.2017.8.08.0048
001133917.2017.8.08.0048
001542883.2017.8.08.0048
001929402.2017.8.08.0048
002028223.2017.8.08.0048
002149042.2017.8.08.0048
002257733.2017.8.08.0048
002330052.2017.8.08.0048
003441427.2016.8.08.0014
002186638.2015.8.08.0035
000169323.2014.8.08.0004
000462858.2013.8.08.0008
000719472.2016.8.08.0008
000437297.2013.8.08.0014
000073242.2016.8.08.0027
000418944.2014.8.08.0030
001558009.2017.8.08.0024
001751436.2016.8.08.0024
002317848.2016.8.08.0024
003026033.2016.8.08.0024

 

 

Meu código:

 

private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam, int i, Usuario usuarioLogado)
        {
            
            //usuarioLogado = aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login);
            i = 4;
            i++;
            
            Action<object> processamento = (dados) =>
            {
                /*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
                NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());
                //Tentativa de ordenação por linha dentro do foreach direto no método da thread.
                //foreach (var linha in ((IEnumerable<DataRow>)dados).OrderBy(linha => linha["indice"]))
                foreach (var linha in (IEnumerable<DataRow>)dados)
                {

                    List<Processo> listaProcessoExistente = new List<Processo>();
                    Processo processo = null;
                    Interessado interessado = new Interessado();

                    //busca o processo pelo nº judicial anterior ou atual
                    if (!linha.ItemArray[1].ToString().Equals(""))
                        processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[1].ToString());
                    if (processo == null)
                    {
                        if (!linha.ItemArray[2].ToString().Equals(""))
                            processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[2].ToString());
                        processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[2].ToString().OrderBy());
                    }

                    //busca o interessado por cpf/cnpj
                    if (linha.ItemArray[7].ToString().Length == 14)
                        interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCPF(linha.ItemArray[7].ToString()));

                    if (linha.ItemArray[7].ToString().Length == 18)
                        interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCNPJ(linha.ItemArray[7].ToString()));

                    if (processo != null)
                    {
                        
                        //se o processo não for nulo busco todos procinter relacionados a ele
                        List<ProcessoInteressado> listaprocinter = aplProcessoInteressado.consultarPorIdProcesso(processo.Codigo);
                        if (listaprocinter.Exists(o => o.Interessado == interessado))
                            log.Append("O interessado informado na linha " + (linha["indice"]) + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        //log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        // log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        setProcInter(processo, interessado, linha, i);
                    }

                    else
                    {
                        //Novo Processo - 6.3
                        processo = new Processo();
                        processo.Interessado = interessado;
                        processo.NumProcessoJudicial = linha.ItemArray[2].ToString().Trim();
                        processo.RenunciaCredito = "N";
                        processo.Situacao = new AplSituacao().ConsultarPorId(1);
                        processo.HonorarioDativo = "S";
                        processo.Reclamado = new AplReclamado().buscaItem(2);
                        processo.TipoDocumento = new AplTipoDocumento().buscaItem(4);
                        processo.TipoProcesso = "O";
                        if (linha.ItemArray[5].ToString().Contains("juizado"))
                            processo.Tribunal = new AplTribunal().buscaItem(71);
                        else
                            processo.Tribunal = new AplTribunal().buscaItem(3);
                        processo.NaturezaDespeza = new AplNaturezadeDespesa().buscaItem(3);

                        VaraExecucao vara = new VaraExecucao();
                        if (!linha.ItemArray[3].ToString().Equals("") && !linha.ItemArray[5].ToString().Equals(""))
                        {
                            List<VaraExecucao> listaVaraComarca = aplVaraExecucao.Consultar---omeVaraNomeComarca(linha.ItemArray[5].ToString().Trim(), linha.ItemArray[3].ToString().Trim());
                            if (listaVaraComarca.Count != 0)
                            {
                                if (linha.ItemArray[4].ToString().Equals(""))
                                {
                                    vara = listaVaraComarca.Find(o => o.NumeroVara == null);
                                }
                                else
                                {
                                    vara = listaVaraComarca.Find(o => o.NumeroVara == int.Parse(linha.ItemArray[4].ToString().Trim()));
                                }
                            }
                        }
                        if (vara != null && vara.Codigo != 0)
                        {
                            processo.VaraExecucao = vara;
                        }
                        aplProcesso.gravar(processo);
                        //aplLog.LogarAtividade(aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login), "Importação do processo de número judicial: " + processo.NumProcessoJudicial
                        aplLog.LogarAtividade(usuarioLogado, "Importação do processo de número judicial: " + processo.NumProcessoJudicial
                                                + ". Interessado: " + processo.Interessado.Nome + " - " + processo.Interessado.CPF_CNPJ + ". Tribunal "
                                                + processo.Tribunal.NomeTribunal + ".", DateTime.Now);
                        //log.Append("O processo " + processo.NumProcessoJudicial + " informado na linha " + (i + 1) + " foi cadastrado com sucesso. <br>");

                        setProcInter(processo, interessado, linha, i);
                    }

                }//Fim Foreach

                //ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '60%';</script>");

                logimportacao.Visible = true;
                loglbl.Text = log.ToString();
                //ClientScript.RegisterStartupScript(Page.GetType(), "Carregando...", "<script>document.getElementById('progresso').style.width = '100%';</script>");
                ClientScript.RegisterStartupScript(typeof(string), "Alerta", "<script>alert('Arquivo importado com sucesso. Verifique o log na tela. ')</script>");
                
            };


            ISession sessao = ThreadStaticSessionContext.Unbind(NhibernateHelper.HelpThreading());
            if (sessao != null)
            {
                if (sessao.Transaction != null && sessao.Transaction.IsActive)
                {
                    sessao.Transaction.Rollback();
                }
                else
                {
                    sessao.Flush();
                }
                sessao.Close();

            }
            //Tarefas baseadas de forma assíncrona
            System.Threading.Tasks.Task tarefa_executar = new System.Threading.Tasks.Task(processamento, dadosparam);

            return tarefa_executar;
        }

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Leon Martin
      Boa tarde pessoal, preciso de uma ajuda urgente. Vcs tem alguma ideia de como eu faço esse programa? 
       
      Enunciado:
      Na teoria dos sistemas define-se o elemento MINMAX de uma matriz como sendo o maior elemento da linha onde se encontra o menor elemento da matriz. Faça um programa que carregue uma matriz 4 x 7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna).
       
      Exemplo: int MAT[4][7]
      Min elemento da matriz esta na MAT[1][3] = -19 (Linha Posição 1; Coluna Posição 3)
      Max elemento da linha onde esta o min elemento da matriz esta na MAT[1][5] = 101 (Linha Posição 1; Coluna Posição 5)
       
        0
      1
      2
      3
      4
      5
      6
      0
      3
      33
      9
      2
      15
      3
      22
      1
      5
      4
      76
      -19
      93
      101
      32
      2
      3
      -1
      43
      1
      554
      21
      53
      3
      55
      34
      1231
      212
      664
      234
      13413
       
    • By guiarodrigues1
      Alguém poderia me ajudar em como colocar calculo de dilatação linear / superficial / volumétrica e de sólidos no DevC?
      Não estou conseguindo sair do lugar.
       
      Caso alguém queira mais informações segue em anexo link para baixar.
      Grato.
      Baixar PDF.
    • By Neto Dinizz
      Olá Neto Nível: InicianteMINHA CONTA Perfil Minha Assinatura Meus Cursos Favoritos Logout  Indique um amigo Mostrar menu WebAPI CRUD .NET
      11/06/2019
      1
      Entity Framework.NETASP.NET Web APIC#CRUD
      Boa noite,

      Tenho uma aplicação webapi c# utilizando entity framework CRUD, utilizando o models para montar meu json, como no models só trago os campos que vem da tabela, Tenho dúvida em como receber um parâmetro que não existe na minha tabela via parâmetro ex:

      Localhost/api/clientes?id=2&idcat=4&nome=teste

      Onde (nome) seria um parâmetro que não tenho em minha tabela, porém se existir os 2 primeiros parâmetros irei fazer um POST na tabela.

      Muito obrigado
    • By Neto Dinizz
      Bom dia,

      Poderiam me dar uma ajuda por favor,

      Estou com uma dúvida, tenho um método GET que espera o id do cliente pela url http://localhost/api/cliente/(codigo_cliente)
      estou com um problema para acessar um cliente pelo id, através de um select, gostaria de receber o id e fazer um select no banco trazendo os dados do cliente, poderiam me ajudar a incrementar o códido abaixo por favor, segue meu GET:

      // GET: api/Cliente/5
      [ResponseType(typeof(Cliente))]
      public IHttpActionResult GetCliente(int id)
      {
      Cliente cliente = db.Clientes.Find(id);
      if (cliente == null)
      {
      return NotFound();
      }

      return Ok(cliente);
    • By guiarodrigues1
      Faça uma procedure que recebe, por parâmetro, um valor N e calcula e escreve a tabuada de 1 até N. Mostre a tabuada na forma:

      1 x N = N 2 x N = 2N ... N x N = N2
       
      Alguém me salva ai? Grato.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.