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 Felipe Nobre
      boa noite galera
      Alguém sabe como corrigir esse erro? Eu consigo gerar o PDF normalmente quando o texto não inclui caracteres especiais ou 
      caracteres comuns como acentos etc..
      No app config pensei que fosse o UTF mas está como padrão UTF-8
      Creio que deve ser alguma renderização. PS: Estou utilizando a fonte padrão ARIAL no design do meu report. Minhas referencias com versão mais atual são essas


    • By lucas9
      Com base nos conceitos de reutilização de código e flexibilidade, você deve planejar uma classe de faturamento com o método faturar. Lembre-se que não é permitido reescrever métodos; no entanto, deve ser considerado que cada perfil de cliente tem uma regra de faturamento diferente. Veja:
      Cliente pessoa física recebe um desconto de 15% e tem 30 dias para pagar. Cliente pessoa jurídica recebe um desconto de 20% e tem 60 dias para pagar. Cliente governo não recebe desconto e deve pagar à vista. Use os comandos try e catch para tratar as possíveis exceções (por exemplo, tentar ler mais clientes do que existem).
    • By Estevão Alves Avelino
      Estou com duvidas de como pegar os dados digitados no DataGridView e jogar dentro de variáveis, se alguém souber uma maneira de fazer isso ficarei muito grato!
    • By Estevão Alves Avelino
      Estou com duvidas de como pegar os dados digitados no DataGridView e jogar dentro de variáveis, se alguém souber uma maneira de fazer isso ficarei muito grato!
    • By QBAX
      #include <iostream>
      #include <stdio.h>
      #include <stdlib.h>

      int main()
      {
          float alt, massa, IMC;
           printf("Digite sua Altura (Metros): ");
          scanf("%f",&alt);
           printf("Digite sua Massa (Kg): ");
          scanf("%f",&massa);
          IMC = (alt*alt);
          IMC = (massa/IMC);
          
          printf("-----------------------------------\n");
          printf("Seu IMC e: %0.2f\n",IMC);
          if(IMC<=17)
          {
              printf("Muito abaixo do peso.\n");
          }
          else
          {
              if(IMC>17 && IMC<=18.49)
              {
                  printf("Abaixo do peso.\n");
              }
              else
              {
                  if(IMC>=18.5 && IMC<=24.99)
                  {
                      printf("Peso normal.\n");
                  }
                  else
                  {
                      if(IMC>=25 && IMC<=29.99)
                      {
                          printf("Acima do peso.\n");
                      }
                      else
                      {
                          if(IMC>=30 && IMC<=34.99)
                          {
                              printf("voce esta Obeso.\n");
                          }
                          else
                          {
                              if(IMC>=35 && IMC<=39.99)
                              {
                                  printf("Obesidade Severa.\n");
                              }
                              else
                              {
                                  if (IMC>=40)
                                  {
                                      printf("voce esta em Obesidade MORBIDA.\n");
                                  }
                              }
                          }
                      }
                  }
              }
          }
          return 0;
      }
×

Important Information

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