/// <summary> /// Retorna a lista filtrada dos processos cadastrados. /// </summary> /// <param name="Filter"></param> /// <returns></returns> public List <ProcessoStruct> Lista_Processos(ProcessoFilter Filter) { Processo_Data obj = new Processo_Data(_connection); return(obj.Lista_Processos(Filter)); }
public ActionResult Processo_qryx(List <Processo2ViewModel> dados) { if (Request.Cookies["2uC*"] == null || Request.Cookies["2fN*"].Value == null) { return(RedirectToAction("Login", "Home")); } ProcessoFilter _filter = new ProcessoFilter() { }; string _numero_processo = ""; int _anoProc = 0, _numProc = 0; List <Processo2ViewModel> Lista_Proc = new List <Processo2ViewModel>(); if (!string.IsNullOrEmpty(dados[0].Numero_Processo)) { _numero_processo = dados[0].Numero_Processo; } int _endereco_codigo = dados[0].Endereco_Codigo; int _assunto_codigo = dados[0].Assunto_Codigo;; int _exercicio = dados[0].AnoProcesso; string _data_entrada = dados[0].Data_Entrada; int _endereco_numero = dados[0].Endereco_Numero; int _centro_custo = dados[0].Centro_Custo_Codigo; bool _interno = dados[0].Interno == "S" ? true : false; Processo_bll processoRepository = new Processo_bll(_connection); if (_numero_processo != "") { ProcessoNumero processoNumero = Functions.Split_Processo_Numero(_numero_processo); _anoProc = processoNumero.Ano; _numProc = processoNumero.Numero; int _dv = Functions.RetornaDvProcesso(_numProc); if (_dv != processoNumero.Dv) { Processo2ViewModel reg = new Processo2ViewModel() { Erro = "Digito verificador inválido!" }; Lista_Proc.Add(reg); return(new JsonResult { Data = Lista_Proc, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } _filter.Ano = _anoProc; _filter.Numero = _numProc; } if (Functions.IsDate(_data_entrada)) { _filter.DataEntrada = Convert.ToDateTime(_data_entrada); } if (_assunto_codigo > 0) { _filter.AssuntoCodigo = _assunto_codigo; } if (_exercicio > 0) { _filter.Ano = _exercicio; } if (_endereco_codigo > 0) { _filter.CodLogradouro = _endereco_codigo; _filter.NumEnd = _endereco_numero; } if (_centro_custo > 0) { _filter.Interno = _interno; _filter.Requerente = _centro_custo; } else { _filter.Requerente = 0; } if (_numero_processo == "" && !Functions.IsDate(_data_entrada) && _exercicio == 0) { Processo2ViewModel reg = new Processo2ViewModel() { Erro = "Selecione um exercício válido!" }; Lista_Proc.Add(reg); return(new JsonResult { Data = Lista_Proc, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } if (_numero_processo == "" && !Functions.IsDate(_data_entrada) && _assunto_codigo == 0 && _endereco_codigo == 0 && _centro_custo == 0) { Processo2ViewModel reg = new Processo2ViewModel() { Erro = "Selecione algum critério!" }; Lista_Proc.Add(reg); return(new JsonResult { Data = Lista_Proc, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); } List <ProcessoStruct> Lista = processoRepository.Lista_Processos_Web(_filter); foreach (ProcessoStruct item in Lista) { Processo2ViewModel reg = new Processo2ViewModel() { Numero_Processo = item.Numero.ToString("00000") + "-" + Functions.RetornaDvProcesso(item.Numero) + "/" + item.Ano.ToString(), Data_Entrada = Convert.ToDateTime(item.DataEntrada).ToString("dd/MM/yyyy"), Assunto_Nome = Functions.TruncateTo(item.Assunto, 35), Erro = "" }; if (!string.IsNullOrEmpty(item.CentroCustoNome)) { reg.Centro_Custo_Nome = item.CentroCustoNome ?? ""; } else { reg.Centro_Custo_Nome = item.NomeCidadao ?? ""; } reg.Centro_Custo_Nome = Functions.TruncateTo(reg.Centro_Custo_Nome, 35); bool _existe = false;//Avoid duplicate regs foreach (Processo2ViewModel t in Lista_Proc) { if (t.Numero_Processo == reg.Numero_Processo) { _existe = true; break; } } if (!_existe) { Lista_Proc.Add(reg); } } ; return(new JsonResult { Data = Lista_Proc, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
private void Fill_List() { gtiCore.Ocupado(this); //***Construção do filtro **** Processo_bll processo_Class = new Processo_bll(_connection); ProcessoFilter Reg = new ProcessoFilter(); if (!string.IsNullOrEmpty(NumeroProcesso.Text)) { Reg.Ano = processo_Class.ExtractAnoProcesso(NumeroProcesso.Text); Reg.Numero = processo_Class.ExtractNumeroProcessoNoDV(NumeroProcesso.Text); Reg.SNumProcesso = NumeroProcesso.Text; } else { Reg.Ano = 0; Reg.Numero = 0; Reg.SNumProcesso = ""; } Reg.AnoIni = AnoInicial.Text.Trim() == "" ? 0 : Convert.ToInt32(AnoInicial.Text); Reg.AnoFim = AnoFinal.Text.Trim() == "" ? 0 : Convert.ToInt32(AnoFinal.Text); if (gtiCore.IsDate(DataEntrada.Text)) { Reg.DataEntrada = Convert.ToDateTime(DataEntrada.Text); } Reg.Requerente = Requerente.Text.Trim() == "" ? 0 : Convert.ToInt32(Requerente.Text); if (FisicoList.SelectedIndex > 0) { Reg.Fisico = FisicoList.SelectedIndex == 1 ? true : false; } if (InternoList.SelectedIndex > 0) { Reg.Interno = InternoList.SelectedIndex == 1 ? true : false; } CustomListBoxItem selectedItem = (CustomListBoxItem)SetorList.SelectedItem; Reg.Setor = SetorList.SelectedIndex == 0 ? 0 : selectedItem._value; selectedItem = (CustomListBoxItem)AssuntoList.SelectedItem; Reg.AssuntoCodigo = AssuntoList.SelectedIndex == 0 ? 0 : selectedItem._value; Reg.Complemento = Complemento.Text.Trim(); if (Reg.Setor > 0) { Reg.Interno = true; } //******************************** List <ProcessoStruct> Lista = processo_Class.Lista_Processos(Reg); List <ProcessoNumero> aCount = new List <ProcessoNumero>(); //usado na totalização dos processos int _total = 0; if (aDatResult == null) { aDatResult = new List <ArrayList>(); } aDatResult.Clear(); foreach (var item in Lista) { //Array para totalizar os processos distintos, desta forma processos com mais de um endereço serão contados apenas 1 vez. bool bFind = false; for (int i = 0; i < aCount.Count; i++) { if (aCount[i].Ano == item.Ano && aCount[i].Numero == item.Numero) { bFind = true; break; } } if (!bFind) { aCount.Add(new ProcessoNumero { Ano = item.Ano, Numero = item.Numero }); _total++; } string _nome = item.Interno ? item.CentroCustoNome : item.NomeCidadao; //****************************************** ArrayList itemlv = new ArrayList { item.Ano.ToString(), item.Numero.ToString("00000") + "-" + processo_Class.DvProcesso(item.Numero), _nome ?? "", item.Assunto ?? "", Convert.ToDateTime(item.DataEntrada).ToString("dd/MM/yyyy") }; if (item.DataCancelado != null) { itemlv.Add(Convert.ToDateTime(item.DataCancelado).ToString("dd/MM/yyyy")); } else { itemlv.Add(""); } if (item.DataArquivado != null) { itemlv.Add(Convert.ToDateTime(item.DataArquivado).ToString("dd/MM/yyyy")); } else { itemlv.Add(""); } if (item.DataReativacao != null) { itemlv.Add(Convert.ToDateTime(item.DataReativacao).ToString("dd/MM/yyyy")); } else { itemlv.Add(""); } if (item.Interno) { itemlv.Add("S"); } else { itemlv.Add("N"); } if (item.Fisico) { itemlv.Add("S"); } else { itemlv.Add("N"); } string sEndereco = item.LogradouroNome ?? ""; string sNumero = item.LogradouroNumero ?? ""; if (sEndereco != "") { itemlv.Add(sEndereco + ", " + sNumero ?? ""); } else { itemlv.Add(""); } aDatResult.Add(itemlv); } MainListView.BeginUpdate(); MainListView.VirtualListSize = aDatResult.Count; MainListView.EndUpdate(); Total.Text = _total.ToString(); gtiCore.Liberado(this); if (MainListView.Items.Count == 0) { MessageBox.Show("Nenhum contribuinte coincide com os critérios especificados", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void GerarButton_Click(object sender, EventArgs e) { Processo_bll processo_Class = new Processo_bll(_connection); int _ano = 0, _numero = 0, _pos = 1; string _numero_processo, _assunto, _requerente, _data_entrada; if (aDatResult == null) { aDatResult = new List <ArrayList>(); } aDatResult.Clear(); gtiCore.Ocupado(this); ProcessoFilter Reg = new ProcessoFilter(); Reg.AnoIni = 2017; Reg.AnoFim = 2017; Reg.Arquivado = false; List <ProcessoStruct> ListaProcesso = processo_Class.Lista_Processos(Reg); int _total = ListaProcesso.Count; foreach (ProcessoStruct _processo in ListaProcesso) { if (_pos % 10 == 0) { PBar.Value = _pos * 100 / _total; PBar.Update(); System.Windows.Forms.Application.DoEvents(); break; } _ano = _processo.Ano; _numero = _processo.Numero; _numero_processo = _numero.ToString("00000") + "-" + processo_Class.DvProcesso(_numero).ToString(); _assunto = _processo.Complemento ?? ""; _requerente = _processo.NomeCidadao == null ? _processo.CentroCustoNome : _processo.NomeCidadao; _data_entrada = Convert.ToDateTime(_processo.DataEntrada).ToString("dd/MM/yyyy"); List <TramiteStruct> ListaTramite = processo_Class.DadosTramite((short)_ano, _numero, 0); string _ultimo_tramite = "", _ultimo_despacho = "", _proximo_tramite = ""; DateTime _data_envio = DateTime.Now; if (_numero == 180) { _ano = 23; } for (int i = ListaTramite.Count - 1; i >= 0; i--) { if (!string.IsNullOrWhiteSpace(ListaTramite[i].DataEntrada)) { if (string.IsNullOrWhiteSpace(ListaTramite[i].DataEnvio)) { if (i > 0) { if (string.IsNullOrWhiteSpace(ListaTramite[i - 1].DataEnvio)) { _data_envio = Convert.ToDateTime(ListaTramite[i].DataEntrada); } else { _data_envio = Convert.ToDateTime(ListaTramite[i - 1].DataEnvio); } _ultimo_tramite = ListaTramite[i - 1].CentroCustoNome; _ultimo_despacho = ListaTramite[i - 1].DespachoNome; } else { _data_envio = Convert.ToDateTime(ListaTramite[i].DataEntrada); _ultimo_tramite = ListaTramite[i].CentroCustoNome; _ultimo_despacho = ListaTramite[i].DespachoNome; } _proximo_tramite = ListaTramite[i].CentroCustoNome; } else { if (i == ListaTramite.Count - 1) { goto Proximo; } _data_envio = Convert.ToDateTime(ListaTramite[i].DataEnvio); _ultimo_tramite = ListaTramite[i].CentroCustoNome; _ultimo_despacho = ListaTramite[i].DespachoNome; _proximo_tramite = ListaTramite[i + 1].CentroCustoNome; } break; } } if (_ultimo_despacho.Length > 8 && _ultimo_despacho.Substring(0, 9) == "ARQUIVADO") { goto Proximo; } if (_proximo_tramite == "SETOR DE ARQUIVO" || _proximo_tramite == "SETOR DE PROTOCOLO E DISTRIBUIÇÃO") { goto Proximo; } TimeSpan t; double _numero_dias = 0; t = (DateTime.Now - _data_envio); _numero_dias = (int)t.TotalDays; if (_numero_dias <= 30) { goto Proximo; } ArrayList itemlv = new ArrayList(); itemlv.Add(_ano.ToString()); itemlv.Add(_numero_processo); itemlv.Add(_assunto); itemlv.Add(_requerente); itemlv.Add(_data_entrada); itemlv.Add(_ultimo_tramite); itemlv.Add(_ultimo_despacho); itemlv.Add(_numero_dias.ToString()); itemlv.Add(_proximo_tramite); aDatResult.Add(itemlv); Proximo: _pos++; } gtiCore.Liberado(this); MainListView.BeginUpdate(); MainListView.VirtualListSize = aDatResult.Count; MainListView.EndUpdate(); PBar.Value = 100; Gerar_Excel(); }