private void Gera_Matriz(int _codigo_ini, int _codigo_fim, DateTime _data_vencto) { int _total = 0, _pos = 1, _numero_documento = 20018535; //20.003.042 até 20.030.000 DateTime _data_vencimento = Convert.ToDateTime("30/09/2022"); decimal _valor_honorario = 0; Exception ex = null; List <SpExtrato_carta> Lista_Resumo = new List <SpExtrato_carta>(); List <SpExtrato_carta> Lista_Final = new List <SpExtrato_carta>(); //Exclui a remessa se já existir Tributario_bll tributario_Class = new Tributario_bll(_connection); Sistema_bll sistema_Class = new Sistema_bll(_connection); Imovel_bll imovel_Class = new Imovel_bll(_connection); Empresa_bll empresa_Class = new Empresa_bll(_connection); Cidadao_bll cidadao_Class = new Cidadao_bll(_connection); decimal _valor_AR = tributario_Class.Retorna_Valor_Tributo(DateTime.Now.Year, 667); List <int> _lista_codigos = tributario_Class.Lista_Codigo_Carta(_codigo_ini, _codigo_fim, _data_vencto); PBar.Value = 0; //ex = tributario_Class.Excluir_Carta_Cobranca(_remessa); //if (ex != null) { // ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex); // eBox.ShowDialog(); //} _total = _lista_codigos.Count; _lista_codigos.Sort(); foreach (int _codigo_atual in _lista_codigos) { if (_stop) { break; } if (_pos % 2 == 0) { PBar.Value = _pos * 100 / _total; PBar.Update(); Refresh(); Application.DoEvents(); } if (_codigo_atual > 100000 && _codigo_atual < 300000) { if (empresa_Class.EmpresaSuspensa(_codigo_atual)) { goto Proximo; } } List <SpExtrato_carta> Lista_Extrato_Tributo = tributario_Class.Lista_Extrato_Tributo_Carta(Codigo: _codigo_atual, Data_Atualizacao: _data_vencimento); if (Lista_Extrato_Tributo.Count == 0) { goto Proximo; } List <SpExtrato_carta> Lista_Extrato_Parcela = tributario_Class.Lista_Extrato_Parcela_Carta(Lista_Extrato_Tributo); Lista_Resumo.Clear(); List <string> _lista_lancamento = new List <string>(); string _descricao_lancamento = ""; bool _find = false; foreach (SpExtrato_carta item in Lista_Extrato_Parcela) { //if ( item.Codlancamento!=5 && item.Codlancamento!=11 && item.Datavencimento <= _data_vencto) { if (item.Codlancamento != 11 && item.Datavencimento <= _data_vencto) { Lista_Resumo.Add(item); _find = false; foreach (string lanc in _lista_lancamento) { if (lanc == item.Desclancamento) { _find = true; break; } } if (!_find) { _descricao_lancamento += item.Desclancamento + ", "; _lista_lancamento.Add(item.Desclancamento); } } } _descricao_lancamento = _descricao_lancamento.Length == 0?"": _descricao_lancamento.Substring(0, _descricao_lancamento.Length - 2); if (Lista_Resumo.Count == 0) { goto Proximo; } Lista_Final.Clear(); // int nPercDesconto = 1; foreach (SpExtrato_carta item in Lista_Resumo) { _find = false; int _index = 0; foreach (SpExtrato_carta item2 in Lista_Final) { if (item.Anoexercicio == item2.Anoexercicio) { _find = true; break; } _index++; } decimal _valor_juros = 0; decimal _valor_multa = 0; //decimal _valor_juros = item.Valorjuros * nPercDesconto; //decimal _valor_multa = item.Valormulta * nPercDesconto; if (_find) { Lista_Final[_index].Valortributo += item.Valortributo; Lista_Final[_index].Valorjuros += _valor_juros; Lista_Final[_index].Valormulta += _valor_multa; Lista_Final[_index].Valorcorrecao += item.Valorcorrecao; Lista_Final[_index].Valortotal += item.Valortributo + _valor_juros + _valor_multa + item.Valorcorrecao; } else { SpExtrato_carta reg = new SpExtrato_carta(); reg.Codreduzido = item.Codreduzido; reg.Anoexercicio = item.Anoexercicio; reg.Valortributo = item.Valortributo; reg.Valorjuros = _valor_juros; reg.Valormulta = _valor_multa; reg.Valorcorrecao = item.Valorcorrecao; reg.Valortotal = item.Valortributo + _valor_juros + _valor_multa + item.Valorcorrecao; reg.Dataajuiza = item.Dataajuiza; Lista_Final.Add(reg); } } if (Lista_Final.Count == 0) { goto Proximo; } //Soma o boleto decimal _valor_boleto = 0; foreach (SpExtrato_carta item in Lista_Final) { _valor_boleto += Math.Round(item.Valortributo, 2, MidpointRounding.AwayFromZero) + item.Valormulta + item.Valorjuros + Math.Round(item.Valorcorrecao, 2, MidpointRounding.AwayFromZero); } //Honorários _valor_honorario = 0; foreach (SpExtrato_carta item in Lista_Resumo) { if (item.Dataajuiza != null) { _valor_honorario += ((item.Valortributo + item.Valorcorrecao) * 10) / 100; } } //AR _valor_AR = 0; //foreach (SpExtrato_carta item in Lista_Extrato_Parcela) { // if (item.Anoexercicio == 2019 && item.Codlancamento == 78) { // _valor_AR += item.Valortributo; // Parceladocumento RegParcAR = new Parceladocumento { // Codreduzido = _codigo_atual, // Anoexercicio = item.Anoexercicio, // Codlancamento = 78, // Seqlancamento = item.Seqlancamento, // Numparcela = (byte)item.Numparcela, // Codcomplemento = item.Codcomplemento, // Numdocumento = _numero_documento, // Plano = 39 // }; // ex = tributario_Class.Insert_Parcela_Documento(RegParcAR); // } //} //Carta_cobranca_detalhe RegDetAR = new Carta_cobranca_detalhe { // Codigo = _codigo_atual, // Remessa = _remessa, // Ano = 2, // Parcela = 1, // Principal = _valor_AR, // Juros = 0, // Multa = 0, // Correcao = 0, // Total = _valor_AR, // Ordem = 3 //}; //if (_valor_AR > 0) // ex = tributario_Class.Insert_Carta_Cobranca_Detalhe(RegDetAR); _valor_boleto = Convert.ToDecimal(Math.Round(_valor_boleto, 2) + Math.Round(_valor_honorario, 2, mode: MidpointRounding.AwayFromZero) + _valor_AR); //Dados contribuinte string _nome = "", _cpfcnpj = "", _endereco = "", _bairro = "", _cidade = "", _cep = "", _inscricao = "", _lote = "", _quadra = "", _atividade = ""; string _convenio = "2873532", _complemento = "", _complemento_entrega = "", _endereco_entrega = "", _bairro_entrega = "", _cidade_entrega = "", _cep_entrega = ""; Contribuinte_Header_Struct dados = sistema_Class.Contribuinte_Header(_codigo_atual); if (dados == null) { goto Proximo; } TipoCadastro _tipo = dados.Tipo; _nome = dados.Nome; _cpfcnpj = dados.Cpf_cnpj; _inscricao = dados.Inscricao; _complemento = dados.Complemento == "" ? "" : " " + dados.Complemento; _endereco = dados.Endereco + ", " + dados.Numero.ToString() + _complemento; _bairro = dados.Nome_bairro; _cidade = dados.Nome_cidade + "/" + dados.Nome_uf; _cep = dados.Cep; _lote = dados.Lote_original; _quadra = dados.Quadra_original; _atividade = dados.Atividade; if (_tipo == TipoCadastro.Empresa && !dados.Ativo) { goto Proximo; } //Endereço de Entrega if (_tipo == TipoCadastro.Imovel) { EnderecoStruct endImovel = imovel_Class.Dados_Endereco(_codigo_atual, dados.TipoEndereco); _complemento_entrega = endImovel.Complemento == "" ? "" : " " + endImovel.Complemento; _endereco_entrega = endImovel.Endereco + ", " + endImovel.Numero.ToString() + _complemento_entrega; _bairro_entrega = endImovel.NomeBairro; _cidade_entrega = endImovel.NomeCidade + "/" + endImovel.UF; _cep_entrega = endImovel.Cep; } else { if (_tipo == TipoCadastro.Empresa) { EmpresaStruct endEmpresa = empresa_Class.Retorna_Empresa(_codigo_atual); //mobiliarioendentrega endEmpresa = empresa_Class.Empresa_Endereco_entrega(_codigo_atual); _complemento_entrega = endEmpresa.Complemento == "" ? "" : " " + endEmpresa.Complemento; _endereco_entrega = endEmpresa.Nome_logradouro + ", " + endEmpresa.Numero.ToString() + _complemento; _bairro_entrega = endEmpresa.Bairro_nome; _cidade_entrega = endEmpresa.Cidade_nome + "/" + endEmpresa.UF; _cep_entrega = endEmpresa.Cep; if (String.IsNullOrWhiteSpace(endEmpresa.Nome_logradouro)) { _endereco_entrega = _endereco; _bairro_entrega = _bairro; _cidade_entrega = _cidade; _cep_entrega = _cep; } } else { if (_tipo == TipoCadastro.Cidadao) { CidadaoStruct endCidadao = cidadao_Class.LoadReg(_codigo_atual); if (endCidadao.EtiquetaR == "S" || endCidadao.EtiquetaR == null) { _complemento_entrega = endCidadao.ComplementoR == "" ? "" : " " + endCidadao.ComplementoR; _endereco_entrega = endCidadao.EnderecoR + ", " + endCidadao.NumeroR.ToString() + _complemento_entrega; _bairro_entrega = endCidadao.NomeBairroR; _cidade_entrega = endCidadao.NomeCidadeR + "/" + endCidadao.UfR; _cep_entrega = endCidadao.CepR.ToString(); } else { _complemento_entrega = endCidadao.ComplementoC == "" ? "" : " " + endCidadao.ComplementoC; _endereco_entrega = endCidadao.EnderecoC + ", " + endCidadao.NumeroC.ToString() + _complemento_entrega; _bairro_entrega = endCidadao.NomeBairroC; _cidade_entrega = endCidadao.NomeCidadeC + "/" + endCidadao.UfC; _cep_entrega = endCidadao.CepR.ToString(); } _endereco = _endereco_entrega; _bairro = _bairro_entrega; _cidade = _cidade_entrega; _cep = _cep_entrega; } } } string _cep_str = gtiCore.RetornaNumero(_cep_entrega); int _cep_numero = Convert.ToInt32(_cep_str); _cep_entrega = _cep_numero.ToString("00000-000"); //Se não tiver CEP ou CPF grava exclusão e passa para o próximo if (string.IsNullOrWhiteSpace(_cpfcnpj) || string.IsNullOrWhiteSpace(_cep_entrega) || _cep_entrega == "00000-000" || _cep_entrega == "14870-000" || string.IsNullOrWhiteSpace(_endereco_entrega)) { Carta_cobranca_exclusao regE = new Carta_cobranca_exclusao(); regE.Remessa = _remessa; regE.Codigo = _codigo_atual; ex = tributario_Class.Insert_Carta_Cobranca_Exclusao(regE); if (ex != null) { ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex); eBox.ShowDialog(); } goto Proximo; } //***** GERA CÓDIGO DE BARRAS BOLETO REGISTRADO***** DateTime _data_base = Convert.ToDateTime("07/10/1997"); TimeSpan ts = _data_vencimento - _data_base; int _fator_vencto = ts.Days; string _quinto_grupo = String.Format("{0:D4}", _fator_vencto); string _valor_boleto_str = string.Format("{0:0.00}", _valor_boleto); _quinto_grupo += string.Format("{0:D10}", Convert.ToInt64(gtiCore.RetornaNumero(_valor_boleto_str))); string _barra = "0019" + _quinto_grupo + String.Format("{0:D13}", Convert.ToInt32(_convenio)); _barra += String.Format("{0:D10}", _numero_documento) + "17"; string _campo1 = "0019" + _barra.Substring(19, 5); string _digitavel = _campo1 + gtiCore.Calculo_DV10(_campo1).ToString(); string _campo2 = _barra.Substring(23, 10); _digitavel += _campo2 + gtiCore.Calculo_DV10(_campo2).ToString(); string _campo3 = _barra.Substring(33, 10); _digitavel += _campo3 + gtiCore.Calculo_DV10(_campo3).ToString(); string _campo5 = _quinto_grupo; string _campo4 = gtiCore.Calculo_DV11(_barra).ToString(); _digitavel += _campo4 + _campo5; _barra = _barra.Substring(0, 4) + _campo4 + _barra.Substring(4, _barra.Length - 4); //**Resultado final** string _linha_digitavel = _digitavel.Substring(0, 5) + "." + _digitavel.Substring(5, 5) + " " + _digitavel.Substring(10, 5) + "." + _digitavel.Substring(15, 6) + " "; _linha_digitavel += _digitavel.Substring(21, 5) + "." + _digitavel.Substring(26, 6) + " " + _digitavel.Substring(32, 1) + " " + gtiCore.StringRight(_digitavel, 14); string _codigo_barra = gtiCore.Gera2of5Str(_barra); //************************************************** //_descricao_lancamento += ", AR-DIGITAL"; //if (_valor_honorario > 0) // _descricao_lancamento += ", DESPESAS JUDICIAIS"; //****** GRAVA DOCUMENTO **************** Numdocumento RegDoc = new Numdocumento { numdocumento = _numero_documento, Datadocumento = DateTime.Now, Valorguia = _valor_boleto, Emissor = "GTI/CCob", Registrado = true, Percisencao = 100, Userid = 508 }; ex = tributario_Class.Insert_Documento_Existente(RegDoc); //****** GRAVA HEADER ************** Carta_cobranca Reg = new Carta_cobranca(); Reg.Remessa = _remessa; Reg.Codigo = _codigo_atual; Reg.Parcela = 1; Reg.Total_Parcela = 1; Reg.Parcela_Label = Reg.Parcela.ToString("00") + "/" + Reg.Total_Parcela.ToString("00"); Reg.Nome = _nome.Length > 50 ? _nome.Substring(0, 50) : _nome; Reg.Cpf_cnpj = _cpfcnpj; Reg.Endereco = _endereco; Reg.Bairro = _bairro ?? ""; Reg.Cidade = _cidade ?? ""; Reg.Cep = _cep ?? ""; Reg.Endereco_Entrega = _endereco_entrega; Reg.Bairro_Entrega = _bairro_entrega ?? ""; Reg.Cidade_Entrega = _cidade_entrega ?? ""; Reg.Cep_Entrega = _cep_entrega; Reg.Data_Vencimento = _data_vencimento; Reg.Data_Documento = DateTime.Now; Reg.Inscricao = _inscricao; Reg.Lote = _lote.Length > 15 ? _lote.Substring(0, 15) : _lote; Reg.Quadra = _quadra.Length > 15 ? _quadra.Substring(0, 15) : _quadra; Reg.Atividade = _atividade.Length > 50 ? _atividade.Substring(0, 50) : _atividade; Reg.Numero_Documento = _numero_documento; Reg.Nosso_Numero = _convenio + _numero_documento.ToString("0000000000"); Reg.Valor_Boleto = _valor_boleto; Reg.Digitavel = _linha_digitavel; Reg.Codbarra = _codigo_barra; Reg.Cep_entrega_cod = _cep_numero; Reg.Lancamento = _descricao_lancamento; ex = tributario_Class.Insert_Carta_Cobranca(Reg); if (ex != null) { ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex); eBox.ShowDialog(); } //****** GRAVA DETALHE************** foreach (SpExtrato_carta item in Lista_Final) { Carta_cobranca_detalhe RegDet2 = new Carta_cobranca_detalhe { Codigo = _codigo_atual, Remessa = _remessa, Ano = item.Anoexercicio, Parcela = 1, Principal = item.Valortributo, Juros = item.Valorjuros, Multa = item.Valormulta, Correcao = item.Valorcorrecao, Total = item.Valortotal, Ordem = 1 }; ex = tributario_Class.Insert_Carta_Cobranca_Detalhe(RegDet2); if (ex != null) { ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex); eBox.ShowDialog(); } } //****** GRAVA PARCELA x DOCUMENTO******* foreach (SpExtrato_carta item in Lista_Resumo) { Parceladocumento RegParc = new Parceladocumento { Codreduzido = item.Codreduzido, Anoexercicio = item.Anoexercicio, Codlancamento = item.Codlancamento, Seqlancamento = item.Seqlancamento, Numparcela = Convert.ToByte(item.Numparcela), Codcomplemento = item.Codcomplemento, Numdocumento = _numero_documento, Plano = 39 }; ex = tributario_Class.Insert_Parcela_Documento(RegParc); if (ex != null) { ErrorBox eBox = new ErrorBox("Atenção", ex.Message, ex); eBox.ShowDialog(); } } //********* GRAVA A.R. *********** //short _maxSeqAR = tributario_Class.Retorna_Ultima_Seq_AR(_codigo_atual, DateTime.Now.Year); //_maxSeqAR++; //Debitoparcela regParcelaAR = new Debitoparcela { // Codreduzido = _codigo_atual, // Anoexercicio = Convert.ToInt16(DateTime.Now.Year), // Codlancamento = 78, // Seqlancamento = _maxSeqAR, // Numparcela = 1, // Codcomplemento = 0, // Statuslanc = 3, // Datadebase = DateTime.Now, // Datavencimento = _data_vencimento, // Userid = 508 //}; //ex = tributario_Class.Insert_Debito_Parcela(regParcelaAR); //Debitotributo regTributoAR = new Debitotributo { // Codreduzido = _codigo_atual, // Anoexercicio = Convert.ToInt16(DateTime.Now.Year), // Codlancamento = 78, // Seqlancamento = _maxSeqAR, // Numparcela = 1, // Codcomplemento = 0, // Codtributo = 667, // Valortributo = _valor_AR //}; //ex = tributario_Class.Insert_Debito_Tributo(regTributoAR); //************************************* //********* GRAVA HONORÁRIO *********** if (_valor_honorario > 0) { short _maxSeq = tributario_Class.Retorna_Ultima_Seq_Honorario(_codigo_atual, DateTime.Now.Year); _maxSeq++; Debitoparcela regParcela = new Debitoparcela { Codreduzido = _codigo_atual, Anoexercicio = Convert.ToInt16(DateTime.Now.Year), Codlancamento = 41, Seqlancamento = _maxSeq, Numparcela = 1, Codcomplemento = 0, Statuslanc = 3, Datadebase = DateTime.Now, Datavencimento = _data_vencimento, Userid = 236 }; ex = tributario_Class.Insert_Debito_Parcela(regParcela); Debitotributo regTributo = new Debitotributo { Codreduzido = _codigo_atual, Anoexercicio = Convert.ToInt16(DateTime.Now.Year), Codlancamento = 41, Seqlancamento = _maxSeq, Numparcela = 1, Codcomplemento = 0, Codtributo = 90, Valortributo = _valor_honorario }; ex = tributario_Class.Insert_Debito_Tributo(regTributo); Parceladocumento RegParc = new Parceladocumento { Codreduzido = _codigo_atual, Anoexercicio = Convert.ToInt16(DateTime.Now.Year), Codlancamento = 41, Seqlancamento = _maxSeq, Numparcela = 1, Codcomplemento = 0, Numdocumento = _numero_documento, Plano = 39 }; ex = tributario_Class.Insert_Parcela_Documento(RegParc); } //************************************* Carta_cobranca_detalhe RegDet = new Carta_cobranca_detalhe { Codigo = _codigo_atual, Remessa = _remessa, Ano = 1, Parcela = 1, Principal = _valor_honorario, Juros = 0, Multa = 0, Correcao = 0, Total = _valor_honorario, Ordem = 2 }; if (_valor_honorario > 0) { ex = tributario_Class.Insert_Carta_Cobranca_Detalhe(RegDet); } _numero_documento++; Proximo :; _pos++; } PBar.Value = 100; return; }
protected void btPrint_Click(object sender, EventArgs e) { if (Valida()) { int Codigo = Convert.ToInt32(txtIM.Text); string sNumProc = txtProcesso.Text; if (sNumProc.Length < 6 || !sNumProc.Contains("-")) { lblMsg.Text = "Nº de processo inválido."; } else { sNumProc = sNumProc.Substring(0, sNumProc.LastIndexOf('-')) + sNumProc.Substring(sNumProc.Length - 5, 5); Tributario_bll tributario_class = new Tributario_bll("GTIconnection"); List <Destinoreparc> Lista = tributario_class.Lista_Destino_Parcelamento(sNumProc); if (Lista.Count == 0) { lblMsg.Text = "Processo não cadastrado."; } else { int _codigo = Lista[0].Codreduzido; if (_codigo != Codigo) { lblMsg.Text = "Processo não pertence a esta inscrição."; } else { Processoreparc pr = tributario_class.Retorna_Processo_Parcelamento(sNumProc); _totParcela = (short)pr.Qtdeparcela; int _seq = Lista[0].Numsequencia; List <DebitoStructure> ListaDebito = tributario_class.Lista_Parcelas_Parcelamento_Ano(_codigo, 2020, _seq); if (ListaDebito.Count == 0) { lblMsg.Text = "Não existem parcelas a serem impressas."; } else { if (ListaDebito[0].Numero_Parcela == 1) { bool _find = false; foreach (DebitoStructure itemtmp in ListaDebito) { if (itemtmp.Codigo_Situacao < 3) { _find = true; break; } } if (!_find) { lblMsg.Text = "Liberação do carnê somente após o pagamento da primeira parcela."; return; } } lblMsg.Text = "Imprimindo " + ListaDebito.Count.ToString() + " parcelas"; string _descricao_lancamento = "PARCELAMENTO DE DÉBITOS"; int nSid = gtiCore.GetRandomNumber(); int nPos = 0; foreach (DebitoStructure item in ListaDebito) { //criamos um documento novo para cada parcela da vigilância Numdocumento regDoc = new Numdocumento(); regDoc.Valorguia = item.Soma_Principal; regDoc.Emissor = "Gti.Web/2ViaVS"; regDoc.Datadocumento = DateTime.Now; regDoc.Registrado = false; regDoc.Percisencao = 0; regDoc.Percisencao = 0; int _novo_documento = tributario_class.Insert_Documento(regDoc); regDoc.numdocumento = _novo_documento; ListaDebito[nPos].Numero_Documento = _novo_documento; //grava o documento na parcela Parceladocumento regParc = new Parceladocumento(); regParc.Codreduzido = item.Codigo_Reduzido; regParc.Anoexercicio = Convert.ToInt16(item.Ano_Exercicio); regParc.Codlancamento = Convert.ToInt16(item.Codigo_Lancamento); regParc.Seqlancamento = Convert.ToInt16(item.Sequencia_Lancamento); regParc.Numparcela = Convert.ToByte(item.Numero_Parcela); regParc.Codcomplemento = Convert.ToByte(item.Complemento); regParc.Numdocumento = _novo_documento; regParc.Valorjuros = 0; regParc.Valormulta = 0; regParc.Valorcorrecao = 0; regParc.Plano = 0; tributario_class.Insert_Parcela_Documento(regParc); //Registrar os novos documentos Ficha_compensacao_documento ficha = new Ficha_compensacao_documento(); ficha.Nome = _nome.Length > 40 ? _nome.Substring(0, 40) : _nome; ficha.Endereco = _endereco.Length > 40 ? _endereco.Substring(0, 40) : _endereco; ficha.Bairro = _bairro.Length > 15 ? _bairro.Substring(0, 15) : _bairro; ficha.Cidade = _cidade.Length > 30 ? _cidade.Substring(0, 30) : _cidade; ficha.Cep = _cep ?? "14870000"; ficha.Cpf = _cpfcnpj; ficha.Numero_documento = _novo_documento; ficha.Data_vencimento = Convert.ToDateTime(item.Data_Vencimento); ficha.Valor_documento = Convert.ToDecimal(item.Soma_Principal); ficha.Uf = _uf; if (item.Data_Vencimento > DateTime.Now) { Exception ex = tributario_class.Insert_Ficha_Compensacao_Documento(ficha); if (ex == null) { ex = tributario_class.Marcar_Documento_Registrado(_novo_documento); } } nPos++; } short _index = 0; string _convenio = "2873532"; foreach (DebitoStructure item in ListaDebito) { Boletoguia reg = new Boletoguia(); reg.Usuario = "Gti.Web/LibParc"; reg.Computer = "web"; reg.Sid = nSid; reg.Seq = _index; reg.Codreduzido = _codigo.ToString("000000"); reg.Nome = _nome; reg.Cpf = _cpfcnpj; reg.Numimovel = _numero; reg.Endereco = _endereco_rua; reg.Complemento = _complemento; reg.Bairro = _bairro; reg.Cidade = "JABOTICABAL"; reg.Uf = "SP"; reg.Cep = _cep; reg.Desclanc = _descricao_lancamento; reg.Fulllanc = _descricao_lancamento; reg.Numdoc = item.Numero_Documento.ToString(); reg.Numparcela = (short)item.Numero_Parcela; reg.Datadoc = DateTime.Now; reg.Datavencto = item.Data_Vencimento; reg.Numdoc2 = item.Numero_Documento.ToString(); reg.Valorguia = item.Soma_Principal; reg.Valor_ISS = 0; reg.Valor_Taxa = 0; reg.Totparcela = _totParcela; reg.Obs = "Referente ao parcelamento de débitos: processo nº " + txtProcesso.Text; reg.Numproc = txtProcesso.Text; //***** GERA CÓDIGO DE BARRAS BOLETO REGISTRADO***** DateTime _data_base = Convert.ToDateTime("07/10/1997"); TimeSpan ts = Convert.ToDateTime(item.Data_Vencimento) - _data_base; int _fator_vencto = ts.Days; string _quinto_grupo = String.Format("{0:D4}", _fator_vencto); string _valor_boleto_str = string.Format("{0:0.00}", reg.Valorguia); _quinto_grupo += string.Format("{0:D10}", Convert.ToInt64(gtiCore.RetornaNumero(_valor_boleto_str))); string _barra = "0019" + _quinto_grupo + String.Format("{0:D13}", Convert.ToInt32(_convenio)); _barra += String.Format("{0:D10}", Convert.ToInt64(reg.Numdoc)) + "17"; string _campo1 = "0019" + _barra.Substring(19, 5); string _digitavel = _campo1 + gtiCore.Calculo_DV10(_campo1).ToString(); string _campo2 = _barra.Substring(23, 10); _digitavel += _campo2 + gtiCore.Calculo_DV10(_campo2).ToString(); string _campo3 = _barra.Substring(33, 10); _digitavel += _campo3 + gtiCore.Calculo_DV10(_campo3).ToString(); string _campo5 = _quinto_grupo; string _campo4 = gtiCore.Calculo_DV11(_barra).ToString(); _digitavel += _campo4 + _campo5; _barra = _barra.Substring(0, 4) + _campo4 + _barra.Substring(4, _barra.Length - 4); //**Resultado final** string _linha_digitavel = _digitavel.Substring(0, 5) + "." + _digitavel.Substring(5, 5) + " " + _digitavel.Substring(10, 5) + "." + _digitavel.Substring(15, 6) + " "; _linha_digitavel += _digitavel.Substring(21, 5) + "." + _digitavel.Substring(26, 6) + " " + _digitavel.Substring(32, 1) + " " + gtiCore.StringRight(_digitavel, 14); string _codigo_barra = gtiCore.Gera2of5Str(_barra); //************************************************** reg.Totparcela = (short)ListaDebito.Count; if (item.Numero_Parcela == 0) { reg.Parcela = "Única"; } else { reg.Parcela = reg.Numparcela.ToString("00") + "/" + _totParcela.ToString("00"); } reg.Digitavel = _linha_digitavel; reg.Codbarra = _codigo_barra; reg.Nossonumero = _convenio + String.Format("{0:D10}", Convert.ToInt64(reg.Numdoc)); tributario_class.Insert_Boleto_Guia(reg); _index++; } Session["sid"] = nSid; Response.Redirect("~/Pages/LiberacaoParcend.aspx?d=gti"); } } } } } }
private void GeraGuia(decimal Valor_Honorario) { decimal tmpNumber = 0; bGerado = true; Tributario_bll tributario_Class = new Tributario_bll("GTIconnection"); List <DebitoStructure> lstExtrato = new List <DebitoStructure>(); DebitoStructure reg = null; string DescTributo = ""; foreach (GridViewRow row in grdMain.Rows) { if (row.RowType == DataControlRowType.DataRow) { if ((row.FindControl("chkRow") as CheckBox).Checked) { reg = new DebitoStructure(); reg.Codigo_Reduzido = Convert.ToInt32(txtCod.Text); reg.Ano_Exercicio = Convert.ToInt32(row.Cells[1].Text); reg.Codigo_Lancamento = Convert.ToInt16(row.Cells[2].Text.Substring(0, 3)); reg.Sequencia_Lancamento = Convert.ToInt16(row.Cells[3].Text); reg.Numero_Parcela = Convert.ToInt16(row.Cells[4].Text); reg.Complemento = Convert.ToInt16(row.Cells[5].Text); reg.Descricao_Lancamento = row.Cells[2].Text.Substring(4, row.Cells[2].Text.ToString().Length - 4); reg.Data_Vencimento = Convert.ToDateTime(row.Cells[6].Text); decimal.TryParse(row.Cells[7].Text, out tmpNumber); reg.Soma_Principal = tmpNumber; decimal.TryParse(row.Cells[8].Text, out tmpNumber); reg.Soma_Juros = tmpNumber; decimal.TryParse(row.Cells[9].Text, out tmpNumber); reg.Soma_Multa = tmpNumber; decimal.TryParse(row.Cells[10].Text, out tmpNumber); reg.Soma_Correcao = tmpNumber; decimal.TryParse(row.Cells[11].Text, out tmpNumber); reg.Soma_Total = tmpNumber; List <SpExtrato> ListaTributo = tributario_Class.Lista_Extrato_Tributo(reg.Codigo_Reduzido, Convert.ToInt16(reg.Ano_Exercicio), Convert.ToInt16(reg.Ano_Exercicio), Convert.ToInt16(reg.Codigo_Lancamento), Convert.ToInt16(reg.Codigo_Lancamento), Convert.ToInt16(reg.Sequencia_Lancamento), Convert.ToInt16(reg.Sequencia_Lancamento), Convert.ToInt16(reg.Numero_Parcela), Convert.ToInt16(reg.Numero_Parcela), reg.Complemento, reg.Complemento, 0, 99, Convert.ToDateTime(reg.Data_Vencimento), "Web"); List <int> aTributos = new List <int>(); foreach (SpExtrato Trib in ListaTributo) { bool bFind = false; for (int i = 0; i < aTributos.Count; i++) { if (aTributos[i] == Trib.Codtributo) { bFind = true; break; } } if (!bFind) { aTributos.Add(Trib.Codtributo); } } for (int i = 0; i < aTributos.Count; i++) { DescTributo += aTributos[i].ToString("000") + "-" + tributario_Class.Lista_Tributo(aTributos[i])[0].Abrevtributo + ","; } ; DescTributo = DescTributo.Substring(0, DescTributo.Length - 1); reg.Descricao_Tributo = DescTributo; lstExtrato.Add(reg); } } } bool _find = false; foreach (GridViewRow row in grdMain.Rows) { if (row.RowType == DataControlRowType.DataRow) { if ((row.FindControl("chkRow") as CheckBox).Checked) { if (row.Cells[12].Text.Substring(0, 1) == "S") { bGerado = false; _find = true; break; } } } } if (!_find) { Valor_Honorario = 0; } if (Valor_Honorario > 0) { int _codigo = Convert.ToInt32(txtCod.Text); int _seq = tributario_Class.Retorna_Ultima_Seq_Honorario(_codigo, DateTime.Now.Year); _seq++; reg = new DebitoStructure(); reg.Codigo_Reduzido = _codigo; reg.Ano_Exercicio = DateTime.Now.Year; reg.Codigo_Lancamento = 41; reg.Sequencia_Lancamento = _seq; reg.Numero_Parcela = 1; reg.Complemento = 0; reg.Descricao_Lancamento = "41-DESPESAS JUDICIAIS"; reg.Data_Vencimento = Convert.ToDateTime(lblVenctoDam.Text); reg.Soma_Principal = Valor_Honorario; reg.Soma_Juros = 0; reg.Soma_Multa = 0; reg.Soma_Correcao = 0; reg.Soma_Total = Valor_Honorario; List <SpExtrato> ListaTributo = tributario_Class.Lista_Extrato_Tributo(reg.Codigo_Reduzido, Convert.ToInt16(reg.Ano_Exercicio), Convert.ToInt16(reg.Ano_Exercicio), Convert.ToInt16(reg.Codigo_Lancamento), Convert.ToInt16(reg.Codigo_Lancamento), Convert.ToInt16(reg.Sequencia_Lancamento), Convert.ToInt16(reg.Sequencia_Lancamento), Convert.ToInt16(reg.Numero_Parcela), Convert.ToInt16(reg.Numero_Parcela), reg.Complemento, reg.Complemento, 0, 99, Convert.ToDateTime(reg.Data_Vencimento), "Web"); DescTributo += "090 - Honorários"; reg.Descricao_Tributo = DescTributo; lstExtrato.Add(reg); Debitoparcela regParcela = new Debitoparcela { Codreduzido = _codigo, Anoexercicio = (short)DateTime.Now.Year, Codlancamento = 41, Seqlancamento = (short)_seq, Numparcela = 1, Codcomplemento = 0, Statuslanc = 3, Datavencimento = Convert.ToDateTime(lblVenctoDam.Text), Datadebase = DateTime.Now, Userid = 236 }; Exception ex = tributario_Class.Insert_Debito_Parcela(regParcela); Debitotributo regTributo = new Debitotributo { Codreduzido = _codigo, Anoexercicio = (short)DateTime.Now.Year, Codlancamento = 41, Seqlancamento = (short)_seq, Numparcela = 1, Codcomplemento = 0, Codtributo = 90, Valortributo = Valor_Honorario }; ex = tributario_Class.Insert_Debito_Tributo(regTributo); } decimal nValorGuia = 0; decimal.TryParse(TableTotal.Rows[2].Cells[6].Text, out nValorGuia); Numdocumento regDoc = new Numdocumento(); regDoc.Valorguia = nValorGuia; regDoc.Emissor = "Gti.Web/Dam.Reg"; regDoc.Datadocumento = DateTime.Now; regDoc.Registrado = true; regDoc.Percisencao = 0; if (bRefis) { if (nPlano == 26) { regDoc.Percisencao = 100; } else { if (nPlano == 27) { regDoc.Percisencao = 90; } else { if (nPlano == 28) { regDoc.Percisencao = 80; } } } } int NumDoc = tributario_Class.Insert_Documento(regDoc); foreach (DebitoStructure Lanc in lstExtrato) { Parceladocumento regParc = new Parceladocumento(); regParc.Codreduzido = Lanc.Codigo_Reduzido; regParc.Anoexercicio = Convert.ToInt16(Lanc.Ano_Exercicio); regParc.Codlancamento = Convert.ToInt16(Lanc.Codigo_Lancamento); regParc.Seqlancamento = Convert.ToInt16(Lanc.Sequencia_Lancamento); regParc.Numparcela = Convert.ToByte(Lanc.Numero_Parcela); regParc.Codcomplemento = Convert.ToByte(Lanc.Complemento); regParc.Numdocumento = NumDoc; regParc.Valorjuros = Convert.ToDecimal(Lanc.Soma_Juros); regParc.Valormulta = Convert.ToDecimal(Lanc.Soma_Multa); regParc.Valorcorrecao = Convert.ToDecimal(Lanc.Soma_Correcao); regParc.Plano = Convert.ToInt16(nPlano); tributario_Class.Insert_Parcela_Documento(regParc); } string sDataDAM = lblVenctoDam.Text; if (lstExtrato.Count == 0) { lblMsg2.Text = "Selecione ao menos uma parcela."; return; } int nSid = tributario_Class.Insert_Boleto_DAM(lstExtrato, NumDoc, DateTime.ParseExact(sDataDAM, "dd/MM/yyyy", null)); if (nSid > 0) { Session["sid"] = nSid; Response.Redirect("~/Pages/damwebend2.aspx"); ShowResult(false); Response.Write("<script>window.open('damwebend2.aspx','_blank');</script>"); } }
public ActionResult Rod_plat_query(RodoviariaViewModel model, string DataDe, string DataAte, string Codigo, string Qtde1, string Qtde2, string Qtde3) { // FormCollection collection=new FormCollection Tributario_bll tributarioRepository = new Tributario_bll(_connection); Cidadao_bll cidadaoRepository = new Cidadao_bll(_connection); string _name = ""; int _cod = model.Codigo; int _year = model.Ano; var data1 = DataDe; bool t = DateTime.TryParse(data1, out DateTime _data1); t = DateTime.TryParse(DataAte, out DateTime _data2); List <Rodo_uso_plataforma_Struct> Lista = tributarioRepository.Lista_Rodo_uso_plataforma(_cod, _year); List <AnoList> ListaAno = new List <AnoList>(); if (DataDe == null) { _name = cidadaoRepository.Retorna_Nome_Cidadao(_cod); RodoviariaViewModel model2 = new RodoviariaViewModel { Codigo = _cod, Nome = _name, Lista_uso_plataforma = Lista }; for (int i = 2020; i <= DateTime.Now.Year; i++) { AnoList _reg = new AnoList() { Codigo = i, Descricao = i.ToString() }; ListaAno.Add(_reg); } ViewBag.ListaAno = new SelectList(ListaAno, "Codigo", "Descricao", ListaAno[ListaAno.Count - 1].Codigo); return(View(model2)); } var cod = Codigo; int _codigo = Convert.ToInt32(cod); var qtde1 = Qtde1; if (string.IsNullOrEmpty(Qtde1)) { qtde1 = "0"; } int _qtde1 = Convert.ToInt32(qtde1); var qtde2 = Qtde2; if (string.IsNullOrEmpty(Qtde2)) { qtde2 = "0"; } int _qtde2 = Convert.ToInt32(qtde2); var qtde3 = Qtde3; if (string.IsNullOrEmpty(Qtde3)) { qtde3 = "0"; } int _qtde3 = Convert.ToInt32(qtde3); short _ano = (short)_data1.Year; int _userId = Convert.ToInt32(Session["hashid"]); decimal _valorGuia = 0; if (_qtde1 == 0 && _qtde2 == 0 && _qtde3 == 0) { for (int i = 2020; i <= DateTime.Now.Year; i++) { AnoList _reg = new AnoList() { Codigo = i, Descricao = i.ToString() }; ListaAno.Add(_reg); } ViewBag.ListaAno = new SelectList(ListaAno, "Codigo", "Descricao", ListaAno[ListaAno.Count - 1].Codigo); if (model.Ano == 0) { model.Ano = DateTime.Now.Year; } Lista = tributarioRepository.Lista_Rodo_uso_plataforma(_codigo, model.Ano); model.Lista_uso_plataforma = Lista; return(View(model)); } decimal _valor1 = tributarioRepository.Retorna_Valor_Tributo(_ano, 154); decimal _valor2 = tributarioRepository.Retorna_Valor_Tributo(_ano, 155); decimal _valor3 = tributarioRepository.Retorna_Valor_Tributo(_ano, 156); short _seq = tributarioRepository.Retorna_Ultima_Seq_Uso_Plataforma(_codigo, _ano); _seq++; DateTime _dataVencto = _data2.AddDays(10); Exception ex2 = null; //grava parcela Debitoparcela regParcela = new Debitoparcela { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Statuslanc = 3, Datavencimento = _dataVencto, Datadebase = DateTime.Now, Userid = _userId }; try { ex2 = tributarioRepository.Insert_Debito_Parcela(regParcela); } catch (Exception) { throw; } //grava tributo if (_qtde1 > 0) { decimal _valorTotal1 = _valor1 * _qtde1; Debitotributo regTributo = new Debitotributo { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Codtributo = (short)154, Valortributo = Math.Round(_valorTotal1, 2) }; ex2 = tributarioRepository.Insert_Debito_Tributo(regTributo); } if (_qtde2 > 0) { decimal _valorTotal2 = _valor2 * _qtde2; Debitotributo regTributo = new Debitotributo { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Codtributo = (short)155, Valortributo = Math.Round(_valorTotal2, 2) }; ex2 = tributarioRepository.Insert_Debito_Tributo(regTributo); } if (_qtde3 > 0) { decimal _valorTotal3 = _valor3 * _qtde3; Debitotributo regTributo = new Debitotributo { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Codtributo = (short)156, Valortributo = Math.Round(_valorTotal3, 2) }; ex2 = tributarioRepository.Insert_Debito_Tributo(regTributo); } //retorna o valor atualizado do débito (lançamento retroativo) List <SpExtrato> ListaTributo = tributarioRepository.Lista_Extrato_Tributo(_codigo, _ano, _ano, 52, 52, _seq, _seq, 1, 1, 0, 0, 3, 3, DateTime.Now, "Web"); List <SpExtrato> ListaParcela = tributarioRepository.Lista_Extrato_Parcela(ListaTributo); foreach (SpExtrato item in ListaParcela) { _valorGuia += item.Valortotal; } if (_dataVencto < DateTime.Now) { _dataVencto = DateTime.Now.AddDays(10); } //grava o documento Numdocumento regDoc = new Numdocumento { Valorguia = _valorGuia, Emissor = "Gti.Web/UsoPlataforma", Datadocumento = _dataVencto, Registrado = true, Percisencao = 0 }; regDoc.Percisencao = 0; int _novo_documento = tributarioRepository.Insert_Documento(regDoc); //grava o documento na parcela Parceladocumento regParc = new Parceladocumento { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Numdocumento = _novo_documento, Valorjuros = 0, Valormulta = 0, Valorcorrecao = 0, Plano = 0 }; tributarioRepository.Insert_Parcela_Documento(regParc); string sHist = "REFERENTE A " + (_qtde1 + _qtde2 + _qtde3).ToString() + " TAXAS DE EMBARQUE DO TERMINAL RODOVIÁRIO DO PERÍODO DE " + _data1.ToString("dd/MM/yyyy") + " À " + _data2.ToString("dd/MM/yyyy") + "."; //Incluir a observação da parcela Obsparcela ObsReg = new Obsparcela() { Codreduzido = _codigo, Anoexercicio = _ano, Codlancamento = 52, Seqlancamento = _seq, Numparcela = 1, Codcomplemento = 0, Obs = sHist, Userid = _userId, Data = DateTime.Now }; ex2 = tributarioRepository.Insert_Observacao_Parcela(ObsReg); //Anexo string fileName = ""; foreach (var file in model.Files) { if (file != null) { if (file.ContentLength > 0) { string _guid = Guid.NewGuid().ToString("N"); string _path = "~/Files/Plataforma/" + _ano + "/"; fileName = _guid + ".pdf"; var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(_path), fileName); file.SaveAs(path); } } } //Incluir rodo_uso_plataforma short _seq2 = tributarioRepository.Retorna_Ultima_Seq_Uso_Plataforma(_codigo, _data1, _data2); // _seq2++; Rodo_uso_plataforma regR = new Rodo_uso_plataforma { Codigo = _codigo, Datade = _data1, Dataate = _data2, Seq = (byte)_seq2, SeqDebito = (byte)_seq, Qtde1 = _qtde1, Qtde2 = _qtde2, Qtde3 = _qtde3, Numero_Guia = _novo_documento, Valor_Guia = _valorGuia, Situacao = 7, //não pago Anexo = fileName }; ex2 = tributarioRepository.Insert_Rodo_Uso_Plataforma(regR); //Enviar para registrar CidadaoStruct _cidadao = cidadaoRepository.Dados_Cidadao(_codigo); string _bairro = "", _endereco = "", _compl = "", _cidade = "JABOTICABAL"; string _cpf_cnpj = string.IsNullOrWhiteSpace(_cidadao.Cnpj) ? _cidadao.Cpf : _cidadao.Cnpj; int _cep = 14870000; bool _r = _cidadao.EtiquetaC != "S"; string _nome = _cidadao.Nome; _endereco = _r ? _cidadao.EnderecoR : _cidadao.EnderecoC; _bairro = _r ? _cidadao.NomeBairroR : _cidadao.NomeBairroC; int _numero = _r ? (int)_cidadao.NumeroR : (int)_cidadao.NumeroC; _compl = _r ? _cidadao.ComplementoR : _cidadao.ComplementoC; _cidade = _r ? _cidadao.NomeCidadeR : _cidadao.NomeCidadeC; string _uf = _r ? _cidadao.UfR : _cidadao.UfC; _cep = _r ? (int)_cidadao.CepR : (int)_cidadao.CepC; Ficha_compensacao_documento ficha = new Ficha_compensacao_documento { Nome = _nome, Endereco = _endereco.Length > 40 ? _endereco.Substring(0, 40) : _endereco, Bairro = _bairro.Length > 15 ? _bairro.Substring(0, 15) : _bairro, Cidade = _cidade.Length > 30 ? _cidade.Substring(0, 30) : _cidade, Cep = Functions.RetornaNumero(_cep.ToString()) ?? "14870000", Cpf = Functions.RetornaNumero(_cpf_cnpj), Numero_documento = _novo_documento, Data_vencimento = _dataVencto, Valor_documento = Convert.ToDecimal(_valorGuia), Uf = _uf }; ex2 = tributarioRepository.Insert_Ficha_Compensacao_Documento(ficha); ex2 = tributarioRepository.Marcar_Documento_Registrado(_novo_documento); for (int i = 2020; i <= DateTime.Now.Year; i++) { AnoList _reg = new AnoList() { Codigo = i, Descricao = i.ToString() }; ListaAno.Add(_reg); } ViewBag.ListaAno = new SelectList(ListaAno, "Codigo", "Descricao", ListaAno[ListaAno.Count - 1].Codigo); if (model.Ano == 0) { model.Ano = DateTime.Now.Year; } Lista = tributarioRepository.Lista_Rodo_uso_plataforma(_codigo, _ano); model.Lista_uso_plataforma = Lista; model.Qtde1 = 0; model.Qtde2 = 0; model.Qtde3 = 0; return(View(model)); //return Json(new { success = true,responseText = "Dados enviados com sucesso!" },JsonRequestBehavior.AllowGet); }