private void PrintButton_Click(object sender, EventArgs e) { CustomListBoxItem _item = (CustomListBoxItem)LocalList.SelectedItem; int _local = _item._value; Processo_bll processoRepository = new Processo_bll(_connection); List <Processogti> _lista = processoRepository.Lista_Processos_CCusto(_local); TextWriter tw = new StreamWriter("d:\\tmp\\lista.txt"); List <Rel> _listaRel = new List <Rel>(); int _pos = 1, _total = _lista.Count; foreach (Processogti reg in _lista) { Local_Tramite lt = processoRepository.Verificar_Processo(reg.Ano, reg.Numero); DateTime _data = lt.Data_Evento; if (_data == DateTime.MinValue) { _data = reg.Dataentrada; } bool _find = false; if (lt.Local_Codigo == _local) { foreach (Rel check in _listaRel) { if (check.Ano == reg.Ano && check.Numero == reg.Numero) { _find = true; } } if (!_find) { short ret = Convert.ToInt16(processoRepository.DvProcesso(reg.Numero)); string _row = reg.Numero + "-" + ret.ToString() + "/" + reg.Ano.ToString(); tw.WriteLine(_row); Rel _r = new Rel() { Ano = reg.Ano, Numero = reg.Numero }; _listaRel.Add(_r); } } if (_pos % 10 == 0) { PBar.Value = _pos * 100 / _total; PBar.Update(); System.Windows.Forms.Application.DoEvents(); } _pos++; } tw.Close(); MessageBox.Show("Fim"); }
private short RetornaDV() { short ret = 0; if (DVText.Text == "") { DVText.Text = "0"; } int Numero = Convert.ToInt32(DVText.Text); if (Dv1Option.Checked) { Processo_bll clsProcesso = new Processo_bll(_connection); ret = Convert.ToInt16(clsProcesso.DvProcesso(Numero)); } else { Tributario_bll clsTributario = new Tributario_bll(_connection); ret = Convert.ToInt16(clsTributario.DvDocumento(Numero)); } return(ret); }
public ActionResult ProcessoqryC(ProcessoViewModel model) { if (Session["hashid"] == null) { return(RedirectToAction("Login", "Home")); } Processo_bll processoRepository = new Processo_bll(_connection); bool _filterN = false; if (!string.IsNullOrEmpty(model.Numero_Ano)) { _filterN = true; } int _ano = 0, _numero = 0; List <ProcessoLista> _lista = new List <ProcessoLista>(); model.Lista_Processo = _lista; if (_filterN) { ProcessoNumero processoNumero = Functions.Split_Processo_Numero(model.Numero_Ano); string _numStr = model.Numero_Ano; _numero = processoNumero.Numero; _ano = processoNumero.Ano; short _dv = processoRepository.ExtractDvProcesso(_numStr); short _realdv = Convert.ToInt16(processoRepository.DvProcesso(_numero)); if (_dv != _realdv) { ViewBag.Result = "Nº de processo inválido."; return(View(model)); } bool _existe = processoRepository.Existe_Processo(_ano, _numero); if (!_existe) { ViewBag.Result = "Nº de processo não cadastrado."; return(View(model)); } } string _nome = model.Requerente; string _endereco = model.Endereco; if (!string.IsNullOrEmpty(_nome)) { if (_nome.Length < 5) { ViewBag.Result = "Digite ao menos 5 caracteres do nome."; return(View(model)); } } if (!string.IsNullOrEmpty(_endereco)) { if (_endereco.Length < 5) { ViewBag.Result = "Digite ao menos 5 caracteres do endereco."; return(View(model)); } } List <ProcessoStruct> ListaProcesso = processoRepository.Lista_Processos(_ano, _numero, model.Requerente, model.Endereco, model.EnderecoNumero); if (ListaProcesso.Count == 0) { ViewBag.Result = "Não foi localizado nenhum processo com este requerente."; return(View(model)); } foreach (ProcessoStruct item in ListaProcesso) { ProcessoLista reg = new ProcessoLista() { AnoNumero = item.Numero.ToString("00000") + "-" + Functions.RetornaDvProcesso(item.Numero).ToString() + "/" + item.Ano.ToString(), Requerente = Functions.TruncateTo(item.NomeCidadao, 30), Assunto = Functions.TruncateTo(item.Assunto, 30), Endereco = string.IsNullOrEmpty(item.LogradouroNome) ? "" : item.LogradouroNome }; if (reg.Endereco != "") { reg.Endereco += ", " + item.LogradouroNumero.ToString(); reg.Endereco = Functions.TruncateTo(reg.Endereco, 32); } _lista.Add(reg); } model.Lista_Processo = _lista; return(View(model)); }
private void GerarButton_Click(object sender, EventArgs e) { MainListView.Items.Clear(); string _d1 = DataInicioMask.Text; string _d2 = DataFinalMask.Text; if (!gtiCore.IsDate(_d1)) { MessageBox.Show("Data inicial inválida!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!gtiCore.IsDate(_d2)) { MessageBox.Show("Data final inválida!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } DateTime _dataInicio = Convert.ToDateTime(_d1); DateTime _dataFinal = Convert.ToDateTime(_d2); if (_dataInicio > _dataFinal) { MessageBox.Show("Data inicial maior que a data final!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } gtiCore.Ocupado(this); Processo_bll processoRepository = new Processo_bll(_connection); List <ProcessoAnoNumero> Lista = processoRepository.Lista_Processos_Atraso(_dataInicio, _dataFinal); int _total = Lista.Count(); if (_total == 0) { gtiCore.Liberado(this); MessageBox.Show("Nenhum processo em atraso no período informado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int _pos = 0; List <Local_Tramite> _listaProcessos = new List <Local_Tramite>(); foreach (ProcessoAnoNumero item in Lista) { short _ano = item.Ano; int _numero = item.Numero; Local_Tramite lt = processoRepository.Verificar_Processo(_ano, _numero); DateTime? _data = lt.Data_Evento; if (_data == DateTime.MinValue) { _data = lt.Data_Entrada; } int Local_Codigo = lt.Local_Codigo; DateTime Data_Evento = Convert.ToDateTime(_data); bool Arquivado = lt.Arquivado; bool Suspenso = lt.Suspenso; string Local_Nome = ""; string _assunto = lt.Assunto_Nome; int NumDias = lt.Dias; if (Arquivado) { Local_Nome = lt.Local_Nome; } else { if (Suspenso) { Local_Nome = "PROCESSO SUSPENSO/CANCELADO"; } else { Local_Nome = lt.Local_Nome; } } if (!Arquivado && !Suspenso) { Tuple <short, string> Secretaria = processoRepository.Retorna_Vinculo_Top_CentroCusto((short)Local_Codigo); int secretaria_codigo = Secretaria.Item1; string secretaria_nome = Secretaria.Item2; Local_Tramite reg = new Local_Tramite() { Ano = _ano, Numero = _numero, Secretaria_Codigo = secretaria_codigo, Secretaria_Nome = secretaria_nome, Local_Codigo = Local_Codigo, Local_Nome = Local_Nome, Data_Evento = Data_Evento, Dias = NumDias, Assunto_Nome = _assunto }; _listaProcessos.Add(reg); } if (_pos % 10 == 0) { pBar.Value = _pos * 100 / _total; pBar.Update(); Refresh(); } _pos++; } pBar.Value = 0; pBar.Update(); Refresh(); List <Secretaria> listaSecretaria = processoRepository.Lista_Secretaria(); foreach (Local_Tramite reg in _listaProcessos) { short _cod2 = 0; for (int i = 0; i < listaSecretaria.Count; i++) { if (listaSecretaria[i].Codigocc == reg.Local_Codigo) { _cod2 = listaSecretaria[i].Codigo; break; } } string _processo = reg.Numero.ToString() + "-" + processoRepository.DvProcesso(reg.Numero).ToString() + "/" + reg.Ano.ToString(); ListViewItem lvi = new ListViewItem(_processo); lvi.SubItems.Add(reg.Local_Codigo.ToString("000")); lvi.SubItems.Add(_cod2.ToString("000")); lvi.SubItems.Add(reg.Local_Nome); lvi.SubItems.Add(reg.Secretaria_Codigo.ToString("000")); lvi.SubItems.Add(reg.Secretaria_Nome); lvi.SubItems.Add(reg.Data_Evento.ToString("dd/MM/yyyy")); lvi.SubItems.Add(reg.Dias.ToString()); lvi.SubItems.Add(reg.Assunto_Nome); MainListView.Items.Add(lvi); } gtiCore.Liberado(this); }
static void Main(string[] args) { string _connection = gtiCore.Connection_Name(); string _path = "C:\\WORK\\GTI\\PROCESSO_EMAIL\\" + DateTime.Now.Year.ToString(); //DateTime Data1 = Convert.ToDateTime("01/10/2021"); //DateTime Data2 = Convert.ToDateTime("04/10/2021"); DateTime Data1 = Convert.ToDateTime("01/01/2021"); DateTime Data2 = Convert.ToDateTime(DateTime.Now.Date); Processo_bll processoRepository = new Processo_bll(_connection); Print("Buscando Processos: "); int _total = 0; List <ProcessoAnoNumero> Lista = processoRepository.Lista_Processos_Atraso(Data1, Data2); _total = Lista.Count(); Console.SetCursorPosition(Console.CursorLeft, Console.CursorTop); Print("Localizados " + _total.ToString() + " Processos."); BreakLine(); List <short> listaSecretariaRel = new List <short>(); int _pos = 0; List <Local_Tramite> _listaProcessos = new List <Local_Tramite>(); Print("Carregando: "); using (var progress = new ProgressBar()) { foreach (ProcessoAnoNumero item in Lista) { progress.Report((double)_pos / _total); short _ano = item.Ano; int _numero = item.Numero; Local_Tramite lt = processoRepository.Verificar_Processo(_ano, _numero); DateTime? _data = lt.Data_Evento; if (_data == DateTime.MinValue) { _data = lt.Data_Entrada; } int Local_Codigo = lt.Local_Codigo; DateTime Data_Evento = Convert.ToDateTime(_data); bool Arquivado = lt.Arquivado; bool Suspenso = lt.Suspenso; string _assunto = lt.Assunto_Nome; int NumDias = lt.Dias; if (NumDias < 6) { goto Proximo; } if (!Arquivado && !Suspenso) { Tuple <short, string> Secretaria = processoRepository.Retorna_Vinculo_Top_CentroCusto((short)Local_Codigo); int secretaria_codigo = Secretaria.Item1; string secretaria_nome = Secretaria.Item2; Local_Tramite reg = new Local_Tramite() { Ano = _ano, Numero = _numero, Secretaria_Codigo = secretaria_codigo, Secretaria_Nome = secretaria_nome, Local_Codigo = Local_Codigo, Local_Nome = lt.Local_Nome, Data_Evento = Data_Evento, Dias = NumDias, Assunto_Nome = _assunto }; _listaProcessos.Add(reg); bool _find = false; for (int i = 0; i < listaSecretariaRel.Count; i++) { if (listaSecretariaRel[i] == secretaria_codigo) { _find = true; break; } } if (!_find) { listaSecretariaRel.Add((short)secretaria_codigo); } } Proximo :; _pos++; } } Print("OK"); BreakLine(); Print("Secretarias encontradas: " + listaSecretariaRel.Count.ToString()); BreakLine(); Console.WriteLine("ENVIANDO E-MAILS PARA AS SECRETARIAS"); Console.WriteLine("------------------------------------"); for (int z = 0; z < listaSecretariaRel.Count; z++) { Secretaria _secretaria = processoRepository.Retorna_Secretaria(listaSecretariaRel[z]); Console.WriteLine(_secretaria.Nome); int _qtde = 0; short _seq = processoRepository.Retorna_Seq_Processo_Secretaria_Remessa(listaSecretariaRel[z]); string _filename = "REL" + listaSecretariaRel[z].ToString("000") + _seq.ToString("00") + ".TXT"; string _fullpath = Path.Combine(_path, _filename); StreamWriter sw = new StreamWriter(_fullpath); sw.WriteLine("RELATÓRIO DE PROCESSOS QUE SE ENCONTRAM A MAIS DE 5 DIAS NA SECRETARIA"); sw.WriteLine(""); sw.WriteLine(_secretaria.Nome); sw.WriteLine(""); sw.WriteLine("Nº PROCESSO LOCAL ONDE O PROCESSO DE ENCONTRA ASSUNTO DO PROCESSO DIAS"); sw.WriteLine("==================================================================================================="); sw.WriteLine(""); foreach (Local_Tramite item in _listaProcessos.Where(p => p.Secretaria_Codigo == listaSecretariaRel[z]).OrderBy(h => h.Local_Nome).ThenByDescending(m => m.Dias)) { string _processo = item.Numero.ToString("00000") + "-" + processoRepository.DvProcesso(item.Numero) + "/" + item.Ano.ToString(); sw.WriteLine(_processo + " " + gtiCore.TruncateTo(item.Local_Nome.PadRight(40), 40) + " " + gtiCore.TruncateTo(item.Assunto_Nome.PadRight(40), 40) + " " + item.Dias.ToString("000")); _qtde++; } sw.WriteLine(""); sw.WriteLine("==============================="); sw.WriteLine("QTDE DE PROCESSOS ==> " + _qtde.ToString()); sw.WriteLine("RELATÓRIO GERADO EM " + DateTime.Now); sw.WriteLine("GESTÃO DE TIBUTAÇÃO MUNICIPAL INTEGRADA (G.T.I.)"); sw.Close(); //Enviar Email MailAddress from = new MailAddress("*****@*****.**", "Sistema GTI"); MailAddress to = new MailAddress("*****@*****.**", "Eduardo"); using (MailMessage emailMessage = new MailMessage()) { string Body = File.ReadAllText("C:\\WORK\\GTI\\PROCESSO_EMAIL\\AccessTemplate.htm"); Body = Body.Replace("#$$$#", _secretaria.Nome); emailMessage.From = from; emailMessage.To.Add(to); emailMessage.Attachments.Add(new Attachment(_fullpath)); emailMessage.Subject = "Relatório dos processos quem encontram-se na secretaria a mais de 5 dias"; emailMessage.Body = Body; emailMessage.IsBodyHtml = true; using (SmtpClient MailClient = new SmtpClient("smtp.gmail.com", 587)) { MailClient.DeliveryMethod = SmtpDeliveryMethod.Network; MailClient.EnableSsl = true; MailClient.Credentials = new NetworkCredential("*****@*****.**", "esnssgzxxjcdjrpk"); MailClient.Send(emailMessage); } } //Gravar remessa na tabela Secretaria_processo_remessa reg = new Secretaria_processo_remessa() { Codigo = listaSecretariaRel[z], Data = DateTime.Now.Date, Seq = _seq, Qtde = _qtde }; Exception ex = processoRepository.Incluir_Secretaria_Processo_Remessa(reg); } Console.WriteLine(""); Console.WriteLine("Processo finalizado, aperte uma tecla para finalizar"); Console.ReadLine(); }
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(); }