예제 #1
0
        /// <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));
        }
예제 #2
0
        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
            });
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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();
        }