Пример #1
0
        private void Carrega_Detalhe(List <SpExtrato> Lista)
        {
            decimal        _valorTributo = 0, _valorMulta = 0, _valorJuros = 0, _valorCorrecao = 0, _valorTotal = 0;
            double         _valorPago       = 0;
            Tributario_bll tributario_Class = new Tributario_bll(_connection);

            foreach (SpExtrato item in Lista)
            {
                ListViewItem lvItem = new ListViewItem {
                    Text      = item.Abrevtributo,
                    ForeColor = Color.Black,
                    UseItemStyleForSubItems = false
                };
                lvItem.SubItems.Add(item.Valortributo.ToString("#0.00"), _foreColor, _backColor, _font);
                lvItem.SubItems.Add(item.Valormulta.ToString("#0.00"), _foreColor, _backColor, _font);
                lvItem.SubItems.Add(item.Valorjuros.ToString("#0.00"), _foreColor, _backColor, _font);
                lvItem.SubItems.Add(item.Valorcorrecao.ToString("#0.00"), _foreColor, _backColor, _font);
                lvItem.SubItems.Add(item.Valortotal.ToString("#0.00"), _foreColor, _backColor, _font);
                TributoListView.Items.Add(lvItem);
                _valorTributo  += item.Valortributo;
                _valorJuros    += item.Valorjuros;
                _valorMulta    += item.Valormulta;
                _valorCorrecao += item.Valorcorrecao;
                _valorTotal    += item.Valortotal;
            }

            ListViewItem lvItem2 = new ListViewItem {
                Text      = "Total ==>",
                ForeColor = Color.Brown,
                UseItemStyleForSubItems = false
            };

            lvItem2.SubItems.Add(_valorTributo.ToString("#0.00"), Color.Brown, _backColor, _font);
            lvItem2.SubItems.Add(_valorMulta.ToString("#0.00"), Color.Brown, _backColor, _font);
            lvItem2.SubItems.Add(_valorJuros.ToString("#0.00"), Color.Brown, _backColor, _font);
            lvItem2.SubItems.Add(_valorCorrecao.ToString("#0.00"), Color.Brown, _backColor, _font);
            lvItem2.SubItems.Add(_valorTotal.ToString("#0.00"), Color.Brown, _backColor, _font);
            TributoListView.Items.Add(lvItem2);

            SpExtrato reg = Lista[0];

            DataBaseLabel.Text       = reg.Datadebase.ToString("dd/MM/yyyy");
            DataVenctoLabel.Text     = reg.Datavencimento.ToString("dd/MM/yyyy");
            DataVenctoCalcLabel.Text = reg.Datavencimentocalc.Year < 1990 ? reg.Datavencimento.ToString("dd/MM/yyyy") : reg.Datavencimentocalc.ToString("dd/MM/yyyy");
            _valorPago              = reg.Valorpagoreal == 0 ? Convert.ToDouble(_valorTotal) : Convert.ToDouble(reg.Valorpagoreal);
            ValorLancadoLabel.Text  = _valorTributo.ToString("#0.00");
            ValorAtualLabel.Text    = _valorTotal.ToString("#0.00");
            ValorPagoLabel.Text     = Convert.ToDouble(reg.Valorpagoreal).ToString("#0.00");
            LivroLabel.Text         = reg.Numlivro == null ? "0000" : Convert.ToInt32(reg.Numlivro).ToString("0000");
            DataInscricaoLabel.Text = reg.Datainscricao == null ? "  /  /    " : Convert.ToDateTime(reg.Datainscricao).ToString("dd/MM/yyyy");
            PaginaLabel.Text        = reg.Pagina == null ? "00000" : Convert.ToInt32(reg.Pagina).ToString("00000");
            CertidaoLabel.Text      = reg.Certidao == null ? "00000" : Convert.ToInt32(reg.Certidao).ToString("00000");
            AjuizamentoLabel.Text   = reg.Dataajuiza == null ? "  /  /    " : Convert.ToDateTime(reg.Dataajuiza).ToString("dd/MM/yyyy");
            ProcessoCNJLabel.Text   = reg.Processocnj ?? "0000000-00.0.0.00.0000";
            NumProtocoloLabel.Text  = reg.Prot_certidao == null ? "0000000" : reg.Prot_certidao.ToString();
            DataRemessaLabel.Text   = reg.Prot_dtremessa == null ? "  /  /    " : Convert.ToDateTime(reg.Prot_dtremessa).ToString("dd/MM/yyyy");
            LancamentoLabel.Text    = reg.Codlancamento.ToString("000") + "-" + reg.Desclancamento;
            NomeLabel.Text          = _codigo.ToString("000000") + "-" + _nome;
            StatusLabel.Text        = reg.Statuslanc.ToString("00") + "-" + reg.Situacao;
            DataPagtoLabel.Text     = reg.Datapagamento == null ? "  /  /    " : Convert.ToDateTime(reg.Datapagamento).ToString("dd/MM/yyyy");
            ValorPagoLabel.Text     = Convert.ToDouble(reg.Valorpagoreal).ToString("#0.00");

            Debitoparcela _parcelaReg = new Debitoparcela()
            {
                Codreduzido    = reg.Codreduzido,
                Anoexercicio   = reg.Anoexercicio,
                Codlancamento  = reg.Codlancamento,
                Seqlancamento  = reg.Seqlancamento,
                Numparcela     = (byte)reg.Numparcela,
                Codcomplemento = reg.Codcomplemento
            };

            DebitoPagoStruct dpReg = tributario_Class.Retorna_DebitoPago_Parcela(_parcelaReg);

            if (dpReg != null)
            {
                TaxaExpLabel.Text = Convert.ToDouble(dpReg.Valor_Tarifa).ToString("#0.00");
                if (dpReg.Data_Pagamento_Calc != null && Convert.ToDateTime(dpReg.Data_Pagamento_Calc).Year > 1970)
                {
                    DataPagtoCalcLabel.Text = Convert.ToDateTime(dpReg.Data_Pagamento_Calc).ToString("dd/MM/yyyy");
                }
                else
                {
                    DataPagtoCalcLabel.Text = "  /  /    ";
                }

                DataReceitaLabel.Text = dpReg.Data_Recebimento == null ? "  /  /    " : Convert.ToDateTime(dpReg.Data_Recebimento).ToString("dd/MM/yyyy");
                string _banco   = Convert.ToInt32(dpReg.Banco_Codigo).ToString("000");
                string _agencia = Convert.ToInt32(dpReg.Codigo_Agencia).ToString("000");
                BancoLabel.Text = _banco + "/" + _agencia;
                int _numdoc = Convert.ToInt32(dpReg.Numero_Documento);
                NumDocLabel.Text   = _numdoc.ToString("00000000") + "-" + tributario_Class.DvDocumento(_numdoc);
                ValorDifLabel.Text = Convert.ToDouble(dpReg.Valor_Dif).ToString("#0.00");
                Numdocumento regDoc = tributario_Class.Retorna_Dados_Documento(_numdoc);
                if (regDoc.Isentomj == 1)
                {
                    IsentoLabel.Text = "Sim";
                }
                else
                {
                    IsentoLabel.Text = "Não";
                }
                DescontoLabel.Text = Convert.ToDecimal(regDoc.Percisencao).ToString("#0.00") + "%";
            }

            if (reg.UserId > 0)
            {
                Sistema_bll sistema_Class = new Sistema_bll(_connection);
                string      _nome         = sistema_Class.Retorna_User_FullName(Convert.ToInt32(reg.UserId));
                Text += " (Gerado por: " + _nome + ")";
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
        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>");
            }
        }
Пример #4
0
        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");
                            }
                        }
                    }
                }
            }
        }
Пример #5
0
        protected void btConsultar_Click(object sender, EventArgs e)
        {
            string num_cpf_cnpj = "";

            lblMsg.Text = "";
            if (txtCod.Text.Trim() == "")
            {
                lblMsg.Text = "Digite o número do documento.";
                return;
            }
            if (txtCod.Text.Length < 17)
            {
                lblMsg.Text = "Número de documento inválido.";
                return;
            }

            if (optCPF.Checked && txtCPF.Text.Length < 14)
            {
                lblMsg.Text = "CPF inválido!";
                return;
            }
            if (optCNPJ.Checked && txtCNPJ.Text.Length < 18)
            {
                lblMsg.Text = "CNPJ inválido!";
                return;
            }

            if (optCPF.Checked)
            {
                num_cpf_cnpj = gtiCore.RetornaNumero(txtCPF.Text);
                if (!gtiCore.ValidaCpf(num_cpf_cnpj))
                {
                    lblMsg.Text = "CPF inválido!";
                    return;
                }
            }
            else
            {
                num_cpf_cnpj = gtiCore.RetornaNumero(txtCNPJ.Text);
                if (!gtiCore.ValidaCNPJ(num_cpf_cnpj))
                {
                    lblMsg.Text = "CNPJ inválido!";
                    return;
                }
            }
            int            nNumDoc          = Convert.ToInt32(txtCod.Text.Substring(txtCod.Text.Length - 8, 8));
            Tributario_bll tributario_Class = new Tributario_bll("GTIconnection");
            int            nCodigo          = 0;
            DateTime       dDataDoc         = Convert.ToDateTime("01/01/1900");
            decimal        nValorGuia       = 0;
            bool           bExisteDoc       = tributario_Class.Existe_Documento(nNumDoc);

            if (!bExisteDoc)
            {
                lblMsg.Text = "Número de documento não cadastrado.";
            }
            else
            {
                nCodigo = tributario_Class.Retorna_Codigo_por_Documento(nNumDoc);
                Numdocumento DadosDoc = tributario_Class.Retorna_Dados_Documento(nNumDoc);
                dDataDoc   = Convert.ToDateTime(DadosDoc.Datadocumento);
                nValorGuia = Convert.ToDecimal(DadosDoc.Valorguia);
            }

            if (nCodigo < 100000)
            {
                Imovel_bll   imovel_Class         = new Imovel_bll("GTIconnection");
                ImovelStruct reg                  = imovel_Class.Dados_Imovel(nCodigo);
                List <ProprietarioStruct> regProp = imovel_Class.Lista_Proprietario(nCodigo, true);
                if (optCPF.Checked)
                {
                    if (Convert.ToInt64(gtiCore.RetornaNumero(regProp[0].CPF)).ToString("00000000000") != num_cpf_cnpj)
                    {
                        lblMsg.Text = "CPF informado não pertence a este documento.";
                        return;
                    }
                }
                else
                {
                    if (Convert.ToInt64(gtiCore.RetornaNumero(regProp[0].CPF)).ToString("00000000000000") != num_cpf_cnpj)
                    {
                        lblMsg.Text = "CNPJ informado não pertence a este documento.";
                        return;
                    }
                }
            }
            else
            {
                if (nCodigo >= 100000 && nCodigo < 500000)
                {
                    Empresa_bll   empresa_Class = new Empresa_bll("GTIconnection");
                    EmpresaStruct reg           = empresa_Class.Retorna_Empresa(nCodigo);
                    if (optCPF.Checked)
                    {
                        if (Convert.ToInt64(gtiCore.RetornaNumero(reg.Cpf_cnpj)).ToString("00000000000") != num_cpf_cnpj)
                        {
                            lblMsg.Text = "CPF informado não pertence a este documento.";
                            return;
                        }
                    }
                    else
                    {
                        if (Convert.ToInt64(gtiCore.RetornaNumero(reg.Cpf_cnpj)).ToString("00000000000000") != num_cpf_cnpj)
                        {
                            lblMsg.Text = "CNPJ informado não pertence a este documento.";
                            return;
                        }
                    }
                }
                else
                {
                    Cidadao_bll   cidadao_Class = new Cidadao_bll("GTIconnection");
                    CidadaoStruct reg           = cidadao_Class.LoadReg(nCodigo);
                    if (optCPF.Checked)
                    {
                        if (Convert.ToInt64(gtiCore.RetornaNumero(reg.Cpf)).ToString("00000000000") != num_cpf_cnpj)
                        {
                            lblMsg.Text = "CPF informado não pertence a este documento.";
                            return;
                        }
                    }
                    else
                    {
                        if (Convert.ToInt64(gtiCore.RetornaNumero(reg.Cnpj)).ToString("00000000000000") != num_cpf_cnpj)
                        {
                            lblMsg.Text = "CNPJ informado não pertence a este documento.";
                            return;
                        }
                    }
                }
            }

            List <DebitoStructure> ListaParcelas = Carregaparcelas(nNumDoc, dDataDoc);
            int nSid = tributario_Class.Insert_Boleto_DAM(ListaParcelas, nNumDoc, dDataDoc);

            printCarne(nSid);
        }
        public ActionResult Rod_uso_plataforma_print(string p1, string p2, string p3, string p4, DateTime p5)
        {
            bool  b       = DateTime.TryParseExact(p1, "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime _datade);
            bool  c       = DateTime.TryParseExact(p2, "MM/dd/yyyy hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime _dataate);
            int   _ano    = _datade.Year;
            short _seq    = Convert.ToInt16(p3);
            int   _codigo = Convert.ToInt32(p4);

            p1 = ""; p2 = ""; p3 = ""; p4 = "";

            Tributario_bll             tributarioRepository = new Tributario_bll(_connection);
            Rodo_uso_plataforma_Struct reg = tributarioRepository.Retorna_Rodo_uso_plataforma(_codigo, _datade, _dataate, _seq);

            short   _seqdebito = reg.SeqDebito;
            decimal _aliq1     = tributarioRepository.Retorna_Valor_Tributo(_ano, 154);
            decimal _aliq2     = tributarioRepository.Retorna_Valor_Tributo(_ano, 155);
            decimal _aliq3     = tributarioRepository.Retorna_Valor_Tributo(_ano, 156);

            Cidadao_bll   cidadaoRepository = new Cidadao_bll(_connection);
            CidadaoStruct _cidadao = cidadaoRepository.Dados_Cidadao(_codigo);
            string        _bairro = "", _endereco = "", _compl = "", _cidade = "JABOTICABAL", _nome = "";
            string        _cpf_cnpj = string.IsNullOrWhiteSpace(_cidadao.Cnpj) ? _cidadao.Cpf : _cidadao.Cnpj;
            int           _userId   = Convert.ToInt32(Session["hashid"]);
            bool          _r = _cidadao.EtiquetaC != "S";

            _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;
            int    _cep = _r ? (int)_cidadao.CepR : (int)_cidadao.CepC;

            Numdocumento doc         = tributarioRepository.Retorna_Dados_Documento(reg.Numero_Guia);
            DateTime     _dataVencto = p5.Date;

            List <SpExtrato> ListaTributo = tributarioRepository.Lista_Extrato_Tributo(_codigo, (short)_ano, (short)_ano, 52, 52, _seqdebito, _seqdebito, 1, 1, 0, 0, 0, 99, _dataVencto, "Web");
            List <SpExtrato> ListaParcela = tributarioRepository.Lista_Extrato_Parcela(ListaTributo);

            decimal _valorGuia = 0;

            foreach (SpExtrato item in ListaParcela)
            {
                _valorGuia += item.Valortotal;
            }

            decimal _vp1 = 0, _vm1 = 0, _vj1 = 0, _vt1 = 0;
            decimal _vp2 = 0, _vm2 = 0, _vj2 = 0, _vt2 = 0;
            decimal _vp3 = 0, _vm3 = 0, _vj3 = 0, _vt3 = 0;

            foreach (SpExtrato item in ListaTributo)
            {
                switch (item.Codtributo)
                {
                case 154:
                    _vp1 = item.Valortributo;
                    _vm1 = item.Valormulta;
                    _vj1 = item.Valorjuros;
                    _vt1 = item.Valortotal;
                    break;

                case 155:
                    _vp2 = item.Valortributo;
                    _vm2 = item.Valormulta;
                    _vj2 = item.Valorjuros;
                    _vt2 = item.Valortotal;
                    break;

                case 156:
                    _vp3 = item.Valortributo;
                    _vm3 = item.Valormulta;
                    _vj3 = item.Valorjuros;
                    _vt3 = item.Valortotal;
                    break;

                default:
                    break;
                }
            }

            string _nosso_numero = "287353200" + reg.Numero_Guia.ToString();
            string _convenio     = "2873532";
            //***** GERA CÓDIGO DE BARRAS BOLETO REGISTRADO*****
            DateTime _data_base        = Convert.ToDateTime("07/10/1997");
            TimeSpan ts                = Convert.ToDateTime(_dataVencto) - _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.Valor_Guia);

            _quinto_grupo += string.Format("{0:D10}", Convert.ToInt64(Functions.RetornaNumero(_valor_boleto_str)));
            string _barra = "0019" + _quinto_grupo + string.Format("{0:D13}", Convert.ToInt32(_convenio));

            _barra += string.Format("{0:D10}", Convert.ToInt64(reg.Numero_Guia)) + "17";
            string _campo1    = "0019" + _barra.Substring(19, 5);
            string _digitavel = _campo1 + Functions.Calculo_DV10(_campo1).ToString();
            string _campo2    = _barra.Substring(23, 10);

            _digitavel += _campo2 + Functions.Calculo_DV10(_campo2).ToString();
            string _campo3 = _barra.Substring(33, 10);

            _digitavel += _campo3 + Functions.Calculo_DV10(_campo3).ToString();
            string _campo5 = _quinto_grupo;
            string _campo4 = Functions.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) + " " + Functions.StringRight(_digitavel, 14);
            string _codigo_barra = Functions.Gera2of5Str(_barra);
            //**************************************************

            UsoPlataformaReport _usoR = new UsoPlataformaReport()
            {
                Aliquota1       = _aliq1,
                Aliquota2       = _aliq2,
                Aliquota3       = _aliq3,
                Bairro          = _bairro,
                Cidade          = _cidade,
                Codigo          = _codigo,
                Codigo_Barra    = _codigo_barra,
                CpfCnpj         = _cpf_cnpj,
                Data_Final      = _dataate,
                Data_Inicio     = _datade,
                Data_Documento  = DateTime.Now,
                Data_Vencimento = _dataVencto,
                Endereco        = _endereco + ", " + _numero.ToString() + " " + _compl,
                Linha_Digitavel = _linha_digitavel, Nome = _nome,
                Nosso_Numero    = _nosso_numero,
                Numero_Guia     = reg.Numero_Guia,
                Qtde1           = reg.Qtde1,
                Qtde2           = reg.Qtde2,
                Qtde3           = reg.Qtde3,
                UF         = _uf,
                Valor1J    = _vj1,
                Valor1M    = _vm1,
                Valor1P    = _vp1,
                Valor1T    = _vt1,
                Valor2J    = _vj2,
                Valor2M    = _vm2,
                Valor2P    = _vp2,
                Valor2T    = _vt2,
                Valor3J    = _vj3,
                Valor3M    = _vm3,
                Valor3P    = _vp3,
                Valor3T    = _vt3,
                Valor_Guia = _valorGuia
            };

            //Gera Boleto

            List <UsoPlataformaReport> Lista = new List <UsoPlataformaReport> {
                _usoR
            };
            DataSet          Ds     = Functions.ToDataSet(Lista);
            ReportDataSource rdsAct = new ReportDataSource("dsUsoPlataforma", Ds.Tables[0]);
            ReportViewer     viewer = new ReportViewer();

            viewer.LocalReport.Refresh();
            viewer.LocalReport.ReportPath = System.Web.HttpContext.Current.Server.MapPath("~/Reports/Boleto_Uso_Plataforma.rdlc");
            viewer.LocalReport.DataSources.Add(rdsAct);
            byte[] bytes = viewer.LocalReport.Render("PDF", null, out string mimeType, out string encoding, out string extension, out string[] streamIds, out Warning[] warnings);
        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);
        }