예제 #1
0
        private void VerificarButton_Click(object sender, EventArgs e)
        {
            int          _codigo;
            Processo_bll processo_Class = new Processo_bll(_connection);
            Sistema_bll  sistema_Class  = new Sistema_bll(_connection);

            ClearFields();
            if (Codigo.Text.Trim() == "")
            {
                MessageBox.Show("Código não informado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                if (Processo.Text.Trim() == "")
                {
                    MessageBox.Show("Processo não informado.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    Exception ex = processo_Class.ValidaProcesso(Processo.Text);
                    if (ex != null)
                    {
                        MessageBox.Show("Processo não cadastrado ou inválido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        _codigo        = Convert.ToInt32(Codigo.Text);
                        _tipo_cadastro = sistema_Class.Tipo_Cadastro(_codigo);
                        int _ano    = processo_Class.ExtractAnoProcesso(Processo.Text);
                        int _numero = processo_Class.ExtractNumeroProcessoNoDV(Processo.Text);
                        _data_processo = processo_Class.Data_Processo(_ano, _numero);

                        Tipo_Certidao(TipoList.SelectedIndex);
                        if ((_tipo_certidao == TipoCertidao.Endereco || _tipo_certidao == TipoCertidao.Isencao || _tipo_certidao == TipoCertidao.ValorVenal) && _tipo_cadastro != TipoCadastro.Imovel)
                        {
                            MessageBox.Show("Este tipo de certidão só pode ser emitida para imóveis.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            if (_tipo_certidao == TipoCertidao.Debito && _tipo_cadastro == TipoCadastro.Cidadao)
                            {
                                MessageBox.Show("Este tipo de certidão não pode ser emitida para cidadão.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                gtiCore.Ocupado(this);
                                Dados_Impressao(_codigo);
                                gtiCore.Liberado(this);
                            }
                        }
                    }
                }
            }
        }
예제 #2
0
        public ActionResult Findcd(DebitoViewModel model, string action)
        {
            TipoCadastro tipo = model.Cadastro == "Imóvel" ? TipoCadastro.Imovel : model.Cadastro == "Empresa" ? TipoCadastro.Empresa : TipoCadastro.Cidadao;
            string       cpf  = model.CpfValue == null ? "" : Functions.RetornaNumero(model.CpfValue);
            string       cnpj = model.CnpjValue == null ? "" : Functions.RetornaNumero(model.CnpjValue);
            string       name = model.Nome == null?"":  model.Nome.Trim();

            Sistema_bll sistemaClass = new Sistema_bll(_connection);

            model.Lista_Header = sistemaClass.CodigoHeader(tipo, cpf, cnpj, name);
            if (model.Lista_Header.Count == 0)
            {
                ViewBag.Erro = "Nenhum contribuinte localizado.";
            }
            return(View(model));
        }
예제 #3
0
        public frmListagemPessoas(StatusTela statusTela, TipoCadastro tipoCadastro)
        {
            InitializeComponent();
            cbTipoCadastro.SelectedIndex = 3;
            gStatusTela = statusTela;

            if (tipoCadastro == TipoCadastro.Funcionario)
            {
                cbTipoCadastro.SelectedIndex = 2;
                cbTipoCadastro.Enabled       = false;
                this.Text = "Pesquisar Funcionário";
            }
            if (tipoCadastro == TipoCadastro.Todos)
            {
                cbTipoCadastro.SelectedIndex = 4;
                cbTipoCadastro.Enabled       = false;
            }
            if (tipoCadastro == TipoCadastro.Fornecedor)
            {
                cbTipoCadastro.SelectedIndex = 1;
                cbTipoCadastro.Enabled       = true;
                this.Text = "Pesquisar Fornecedor";
            }
            if (tipoCadastro == TipoCadastro.Cliente)
            {
                cbTipoCadastro.SelectedIndex = 0;
                cbTipoCadastro.Enabled       = false;
                this.Text = "Pesquisar Cliente";
            }
            if (tipoCadastro == TipoCadastro.Terceirizado)
            {
                cbTipoCadastro.SelectedIndex = 3;
                cbTipoCadastro.Enabled       = false;
                this.Text = "Pesquisar Funcionário Terceirizado";
            }
        }
예제 #4
0
        public List <Contribuinte_Header_Struct> CodigoHeader(TipoCadastro tipo, string Cpf, string Cnpj, string Nome)
        {
            Sistema_Data obj = new Sistema_Data(_connection);

            return(obj.CodigoHeader(tipo, Cpf, Cnpj, Nome));
        }
예제 #5
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;
        }
        private void PrintReport(int Codigo, TipoCadastro _tipo_cadastro)
        {
            ReportDocument crystalReport = new ReportDocument();
            string         sComplemento = "", sQuadras = "", sLotes = "", sEndereco = "", sBairro = "", sNome = "", sCidade = "", sUF = "";
            string         sData = "18/04/2012", sCPF = "", sCNPJ = "", sAtividade = "", sRG = "", sProcAbertura = "", sSufixo = "", sProcEncerramento = "", sDoc = "";
            string         sCep = "", sInscEstadual = "", sFantasia = "", sFone = "", sEmail = "", sTaxaLicenca = "", sVigilancia = "", sMei = "", sSituacao = "", sAtividade2 = "";
            short          nNumeroImovel = 0;
            string         sArea = "0";
            DateTime       dDataProc = Convert.ToDateTime(sData);
            DateTime?      dDataAbertura = null, dDataEncerramento = null;

            Empresa_bll   empresa_Class = new Empresa_bll("GTIconnection");
            EmpresaStruct Reg           = empresa_Class.Retorna_Empresa(Codigo);

            sComplemento  = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim();
            sComplemento += sQuadras + sLotes;
            sEndereco     = Reg.Endereco_nome + ", " + Reg.Numero.ToString() + sComplemento;
            nNumeroImovel = (short)Reg.Numero;
            sBairro       = Reg.Bairro_nome;
            sCidade       = Reg.Cidade_nome;
            sUF           = Reg.UF;
            sCep          = Reg.Cep;
            sNome         = Reg.Razao_social;
            sFantasia     = string.IsNullOrWhiteSpace(Reg.Nome_fantasia)?"NÃO INFORMADO":Reg.Nome_fantasia;
            sCPF          = string.IsNullOrWhiteSpace(Reg.Cpf)  ? "" : Reg.Cpf;
            sCNPJ         = string.IsNullOrWhiteSpace(Reg.Cnpj)  ? "" : Reg.Cnpj;
            sRG           = Reg.Rg ?? "";
            sInscEstadual = string.IsNullOrWhiteSpace(Reg.Inscricao_estadual)?"ISENTO":Reg.Inscricao_estadual;
            sFone         = Reg.Fone_contato;
            sEmail        = Reg.Email_contato;
            sArea         = Convert.ToSingle(Reg.Area).ToString("#0.00");
            sDoc          = gtiCore.FormatarCpfCnpj(Reg.Cpf_cnpj);
            sProcAbertura = Reg.Numprocesso == null?"": Reg.Numprocesso.ToString();
            dDataAbertura = Reg.Data_abertura;
            if (Reg.Data_Encerramento != null)
            {
                dDataEncerramento = Reg.Data_Encerramento;
                sProcEncerramento = Reg.Numprocessoencerramento.ToString();
            }
            sVigilancia  = empresa_Class.Empresa_tem_VS(Codigo) ? "SIM" : "NÃO";
            sTaxaLicenca = empresa_Class.Existe_Debito_TaxaLicenca(Codigo, DateTime.Now.Year) ? "SIM" : "NÃO";
            sMei         = empresa_Class.Empresa_Mei(Codigo) ? "SIM" : "NÃO";
            sSituacao    = Reg.Situacao;

            List <CnaeStruct> Lista_Cnae = empresa_Class.Lista_Cnae_Empresa(Codigo);

            foreach (CnaeStruct item in Lista_Cnae)
            {
                if (item.Principal)
                {
                    sAtividade += item.CNAE + "-" + item.Descricao;
                }
                else
                {
                    sAtividade2 += item.CNAE + "-" + item.Descricao + "; ";
                }
            }
            List <CnaeStruct> Lista_Cnae2 = empresa_Class.Lista_Cnae_Empresa_VS(Codigo);

            foreach (CnaeStruct item in Lista_Cnae)
            {
                bool _find = false;
                for (int i = 0; i < Lista_Cnae.Count; i++)
                {
                    if (item.CNAE == Lista_Cnae[i].CNAE)
                    {
                        _find = true;
                        break;
                    }
                }
                if (!_find)
                {
                    sAtividade2 += item.CNAE + "-" + item.Descricao + "; ";
                }
            }


            Tributario_bll tributario_Class = new Tributario_bll("GTIconnection");
            int            _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito);
            short          _ano_certidao    = (short)DateTime.Now.Year;


            if (ExtratoCheckBox.Checked)
            {
                TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
                TableLogOnInfo  crtableLogoninfo  = new TableLogOnInfo();
                ConnectionInfo  crConnectionInfo  = new ConnectionInfo();
                Tables          CrTables;

                if (dDataEncerramento != null)
                {
                    crystalReport.Load(Server.MapPath("~/Report/CertidaoInscricaoExtratoEncerrada.rpt"));
                    sSufixo = "XE";
                }
                else
                {
                    crystalReport.Load(Server.MapPath("~/Report/CertidaoInscricaoExtratoAtiva.rpt"));
                    sSufixo = "XA";
                }
                string Controle = Grava_Extrato_Pagamento(Codigo, _numero_certidao, _ano_certidao, sSufixo);
                crystalReport.RecordSelectionFormula = "{Certidao_inscricao_extrato.Id}='" + Controle + "'";
                crConnectionInfo.ServerName          = "200.232.123.115";
                crConnectionInfo.DatabaseName        = "Tributacao";
                crConnectionInfo.UserID   = "gtisys";
                crConnectionInfo.Password = "******";

                CrTables = crystalReport.Database.Tables;
                foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
                {
                    crtableLogoninfo = CrTable.LogOnInfo;
                    crtableLogoninfo.ConnectionInfo = crConnectionInfo;
                    CrTable.ApplyLogOnInfo(crtableLogoninfo);
                }
            }
            else
            {
                crystalReport.Load(Server.MapPath("~/Report/ComprovanteInscricao.rpt"));
                sSufixo = "IE";
            }

            Certidao_inscricao cert = new Certidao_inscricao();

            cert.Cadastro          = Codigo;
            cert.Ano               = (short)_ano_certidao;
            cert.Numero            = _numero_certidao;
            cert.Data_emissao      = DateTime.Now;
            cert.Nome              = sNome;
            cert.Endereco          = sEndereco;
            cert.Rg                = sRG;
            cert.Bairro            = sBairro;
            cert.Cidade            = sCidade;
            cert.Processo_abertura = sProcAbertura;
            cert.Data_abertura     = Convert.ToDateTime(dDataAbertura);
            if (dDataEncerramento != null)
            {
                cert.Processo_encerramento = sProcEncerramento;
                cert.Data_encerramento     = Convert.ToDateTime(dDataEncerramento);
            }
            cert.Documento            = sDoc;
            cert.Atividade            = sAtividade;
            cert.Area                 = Convert.ToDecimal(sArea);
            cert.Atividade_secundaria = sAtividade2;
            cert.Cep                = sCep;
            cert.Complemento        = sComplemento;
            cert.Email              = sEmail;
            cert.Inscricao_estadual = sInscEstadual;
            cert.Mei                = sMei;
            cert.Nome_fantasia      = sFantasia;
            cert.Situacao           = sSituacao;
            cert.Taxa_licenca       = sTaxaLicenca;
            if (sFone == null)
            {
                cert.Telefone = "";
            }
            else
            {
                cert.Telefone = sFone.Length > 30? sFone.Substring(0, 30)  : sFone;
            }
            cert.Vigilancia_sanitaria = sVigilancia;

            Exception ex = tributario_Class.Insert_Certidao_Inscricao(cert);

            if (ex != null)
            {
                throw ex;
            }
            else
            {
                crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"));
                crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss"));
                crystalReport.SetParameterValue("CONTROLE", _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + Codigo.ToString() + "-" + sSufixo);
                crystalReport.SetParameterValue("ENDERECO", sEndereco);
                crystalReport.SetParameterValue("CADASTRO", Codigo.ToString("000000"));
                crystalReport.SetParameterValue("NOME", sNome);
                crystalReport.SetParameterValue("BAIRRO", sBairro);
                crystalReport.SetParameterValue("RG", sRG);
                crystalReport.SetParameterValue("DOCUMENTO", sDoc);
                crystalReport.SetParameterValue("CIDADE", sCidade + "/" + sUF);
                crystalReport.SetParameterValue("ATIVIDADE", sAtividade);
                crystalReport.SetParameterValue("DATAABERTURA", dDataAbertura);
                crystalReport.SetParameterValue("PROCESSOABERTURA", sProcAbertura == null?"":sProcAbertura);
                crystalReport.SetParameterValue("DATAENCERRAMENTO", dDataEncerramento == null?DateTime.Now:dDataEncerramento);
                crystalReport.SetParameterValue("PROCESSOENCERRAMENTO", sProcEncerramento);
                crystalReport.SetParameterValue("IESTADUAL", sInscEstadual == null?"":sInscEstadual);
                crystalReport.SetParameterValue("FANTASIA", sFantasia);
                crystalReport.SetParameterValue("ATIVIDADE2", sAtividade2);
                crystalReport.SetParameterValue("COMPLEMENTO", sComplemento == null?"":sComplemento);
                crystalReport.SetParameterValue("CEP", sCep);
                crystalReport.SetParameterValue("SITUACAO", sSituacao);
                crystalReport.SetParameterValue("TELEFONE", sFone == null?"":sFone);
                crystalReport.SetParameterValue("EMAIL", sEmail == null?"":sEmail);
                crystalReport.SetParameterValue("TAXALICENCA", sTaxaLicenca);
                crystalReport.SetParameterValue("VIGILANCIA", sVigilancia);
                crystalReport.SetParameterValue("MEI", sMei);
                crystalReport.SetParameterValue("AREA", sArea);


                HttpContext.Current.Response.Buffer = false;
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.ClearHeaders();

                try {
                    crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString());
                } catch  {
                } finally {
                    crystalReport.Close();
                    crystalReport.Dispose();
                }
            }
        }
예제 #7
0
        private void tipoDeMassagensToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TipoCadastro frmTipo = new TipoCadastro();

            frmTipo.ShowDialog();
        }
예제 #8
0
        private void PrintReport(int Codigo, TipoCadastro _tipo_cadastro)
        {
            ReportDocument crystalReport = new ReportDocument();
            string         sComplemento = "", sQuadras = "", sLotes = "", sEndereco = "", sBairro = "", sInscricao = "", sNome = "", sCidade = "", sUF = "", sNumProcesso = "9222-3/2012";
            string         sData = "18/04/2012", sAtendente = "GTI.Web", sCPF = "", sCNPJ = "", sAtividade = "", sTipoCertidao = "", sTributo = "", sSufixo = "", sNao = "", sDoc = "", sCertifica = "";
            short          nNumeroImovel = 0, nRet = 0;
            DateTime       dDataProc = Convert.ToDateTime(sData);

            if (_tipo_cadastro == TipoCadastro.Imovel)
            {
                Imovel_bll   imovel_Class = new Imovel_bll("GTIconnection");
                ImovelStruct Reg          = imovel_Class.Dados_Imovel(Codigo);
                sComplemento  = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim();
                sQuadras      = string.IsNullOrWhiteSpace(Reg.QuadraOriginal) ? "" : " Quadra: " + Reg.QuadraOriginal.ToString().Trim();
                sLotes        = string.IsNullOrWhiteSpace(Reg.LoteOriginal) ? "" : " Lote: " + Reg.LoteOriginal.ToString().Trim();
                sComplemento += sQuadras + sLotes;
                sEndereco     = Reg.NomeLogradouro + ", " + Reg.Numero.ToString() + sComplemento;
                nNumeroImovel = (short)Reg.Numero;
                sBairro       = Reg.NomeBairro;
                sCidade       = "JABOTICABAL";
                sUF           = "SP";
                sInscricao    = Reg.Distrito.ToString() + "." + Reg.Setor.ToString("00") + "." + Reg.Quadra.ToString("0000") + "." + Reg.Lote.ToString("00000") + "." +
                                Reg.Seq.ToString("00") + "." + Reg.Unidade.ToString("00") + "." + Reg.SubUnidade.ToString("000");
                List <ProprietarioStruct> Lista = imovel_Class.Lista_Proprietario(Codigo, true);
                sNome = Lista[0].Nome;
                sCPF  = Lista[0].CPF;
                sCNPJ = Lista[0].CPF;
            }
            else
            {
                Empresa_bll   empresa_Class = new Empresa_bll("GTIconnection");
                EmpresaStruct Reg           = empresa_Class.Retorna_Empresa(Codigo);
                sComplemento  = string.IsNullOrWhiteSpace(Reg.Complemento) ? "" : " " + Reg.Complemento.ToString().Trim();
                sComplemento += sQuadras + sLotes;
                sEndereco     = Reg.Endereco_nome + ", " + Reg.Numero.ToString() + sComplemento;
                nNumeroImovel = (short)Reg.Numero;
                sBairro       = Reg.Bairro_nome;
                sCidade       = Reg.Cidade_nome;
                sUF           = Reg.UF;
                sNome         = Reg.Razao_social;
                sCPF          = Reg.Cpf;
                sCNPJ         = Reg.Cnpj;
                sDoc          = Reg.Cpf_cnpj;
                sAtividade    = Reg.Atividade_extenso;
            }

            //***Verifica débito

            Tributario_bll          tributario_Class = new Tributario_bll("GTIconnection");
            Certidao_debito_detalhe dadosCertidao    = tributario_Class.Certidao_Debito(Codigo);

            if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Negativa)
            {
                sTipoCertidao = "NEGATIVA";
                sNao          = "não ";
                nRet          = 3;
                sSufixo       = "CN";
                if (_tipo_cadastro == TipoCadastro.Imovel)
                {
                    crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovel.rpt"));
                }
                else
                {
                    if (_tipo_cadastro == TipoCadastro.Empresa)
                    {
                        crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresa.rpt"));
                    }
                }
            }
            else
            {
                if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva)
                {
                    sTipoCertidao = "POSITIVA";
                    nRet          = 4;
                    sSufixo       = "CP";
                    if (_tipo_cadastro == TipoCadastro.Imovel)
                    {
                        bool bCertifica = tributario_Class.Parcela_Unica_IPTU_NaoPago(Codigo, DateTime.Now.Year);
                        if (bCertifica)
                        {
                            sCertifica    = " embora conste parcela(s) não paga(s) do IPTU de " + DateTime.Now.Year.ToString() + ", em razão da possibilidade do pagamento integral deste imposto em data futura";
                            nRet          = 3;
                            sTipoCertidao = "NEGATIVA";
                            sSufixo       = "CN";
                            sNao          = "não ";
                        }
                        else
                        {
                            sCertifica = " até a presente data";
                        }
                        crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovel.rpt"));
                    }
                    else
                    {
                        if (_tipo_cadastro == TipoCadastro.Empresa)
                        {
                            crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresa.rpt"));
                        }
                    }
                }
                else
                {
                    if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva)
                    {
                        sTipoCertidao = "POSITIVA COM EFEITO NEGATIVA";
                        nRet          = 5;
                        sSufixo       = "PN";
                        if (_tipo_cadastro == TipoCadastro.Imovel)
                        {
                            crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoImovelPN.rpt"));
                        }
                        else
                        {
                            if (_tipo_cadastro == TipoCadastro.Empresa)
                            {
                                crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoEmpresaPN.rpt"));
                            }
                        }
                    }
                }
            }
            sTributo = dadosCertidao.Descricao_Lancamentos;

            //******************
            int _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito);
            int _ano_certidao    = DateTime.Now.Year;

            Certidao_debito cert = new Certidao_debito {
                Codigo       = Codigo,
                Ano          = (short)_ano_certidao,
                Ret          = nRet,
                Numero       = _numero_certidao,
                Datagravada  = DateTime.Now,
                Inscricao    = sInscricao,
                Nome         = sNome,
                Logradouro   = sEndereco,
                Numimovel    = nNumeroImovel,
                Bairro       = sBairro,
                Cidade       = sCidade,
                UF           = sUF,
                Processo     = sNumProcesso,
                Dataprocesso = dDataProc,
                Atendente    = sAtendente,
                Cpf          = sCPF,
                Cnpj         = sCNPJ,
                Atividade    = sAtividade,
                Lancamento   = dadosCertidao.Descricao_Lancamentos
            };
            Exception ex = tributario_Class.Insert_Certidao_Debito(cert);

            if (ex != null)
            {
                throw ex;
            }
            else
            {
                crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"));
                crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss"));
                crystalReport.SetParameterValue("CONTROLE", _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + Codigo.ToString() + "-" + sSufixo);
                crystalReport.SetParameterValue("ENDERECO", sEndereco);
                crystalReport.SetParameterValue("CADASTRO", Codigo.ToString("000000"));
                crystalReport.SetParameterValue("NOME", sNome.Trim());
                crystalReport.SetParameterValue("INSCRICAO", sInscricao);
                crystalReport.SetParameterValue("BAIRRO", sBairro);
                crystalReport.SetParameterValue("TIPOCERTIDAO", sTipoCertidao);
                crystalReport.SetParameterValue("TRIBUTO", sTributo);
                crystalReport.SetParameterValue("NAO", sNao);
                crystalReport.SetParameterValue("DOC", sDoc);
                crystalReport.SetParameterValue("CIDADE", sCidade + "/" + sUF);
                crystalReport.SetParameterValue("ATIVIDADE", sAtividade);
                if (sCertifica != "")
                {
                    crystalReport.SetParameterValue("CERTIFICA", sCertifica);
                }

                HttpContext.Current.Response.Buffer = false;
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.ClearHeaders();

                try {
                    crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString());
                } catch {
                } finally {
                    crystalReport.Close();
                    crystalReport.Dispose();
                }
            }
        }
예제 #9
0
 public void TipoDeCadastro(TipoCadastro tipoCadastro, EnStatus enStatus, EnTipos enTipos)
 {
     _tipoCadastro = tipoCadastro;
     _enStatus     = enStatus;
     _enTipos      = enTipos;
 }
예제 #10
0
 public void Adicionar(TipoCadastro tipoCadastro)
 {
     _tipoCadastro = tipoCadastro;
     ConsultarPadrao(Funcoes.StrToInt(txtCodigo.txtValor.Text), txtNome.Text, TipoPesquisa.Id);
 }
예제 #11
0
 public void TipoDeCadastro(TipoCadastro tipoCadastro)
 {
     _tipoCadastro = tipoCadastro;
 }
예제 #12
0
        private void PrintReport(List <int> _codigos)
        {
            ReportDocument crystalReport = new ReportDocument();
            string         sData = "18/04/2012", sTributo = "", sNao = "", sCertifica = "";
            short          nRet = 0;
            List <Certidao_debito_documento> _lista_certidao = new List <Certidao_debito_documento>();
            RetornoCertidaoDebito            _tipo_Certidao;

            DateTime       dDataProc        = Convert.ToDateTime(sData);
            Tributario_bll tributario_Class = new Tributario_bll("GTIconnection");

            if (_codigos.Count == 0)
            {
                nRet     = 0;
                sTributo = "";
                goto SEM_INSCRICAO;
            }

            bool        bEmpresa = false, bCidadao = false, bImovel = false;
            Sistema_bll sistema_Class = new Sistema_bll("GTIconnection");
            string      sNome         = "";

            if (optCPF.Checked)
            {
                sNome = sistema_Class.Nome_por_Cpf(gtiCore.RetornaNumero(txtCPF.Text));
            }
            else
            {
                sNome = sistema_Class.Nome_por_Cnpj(gtiCore.RetornaNumero(txtCNPJ.Text));
            }


            foreach (int _codigo in _codigos)
            {
                TipoCadastro _tipo_cadastro = _codigo < 100000 ? TipoCadastro.Imovel : _codigo >= 100000 && _codigo < 500000 ? TipoCadastro.Empresa : TipoCadastro.Cidadao;

                //               Contribuinte_Header_Struct _header = sistema_Class.Contribuinte_Header(_codigo);
                //string sNome =  _header==null?"":   _header.Nome;

                //***Verifica débito
                Certidao_debito_detalhe dadosCertidao = tributario_Class.Certidao_Debito(_codigo);
                if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Negativa)
                {
                    nRet     = 3;
                    sTributo = "";
                }
                else
                {
                    if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva)
                    {
                        if (_tipo_cadastro == TipoCadastro.Empresa)
                        {
                            bEmpresa = true;
                        }
                        if (_tipo_cadastro == TipoCadastro.Cidadao)
                        {
                            bCidadao = true;
                        }
                        if (_tipo_cadastro == TipoCadastro.Imovel)
                        {
                            bImovel = true;
                        }
                        nRet     = 4;
                        sTributo = dadosCertidao.Descricao_Lancamentos;
                    }
                    else
                    {
                        if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva)
                        {
                            nRet     = 5;
                            sTributo = dadosCertidao.Descricao_Lancamentos;
                        }
                    }
                }

                Certidao_debito_documento reg = new Certidao_debito_documento();
                reg._Codigo  = _codigo;
                reg._Ret     = nRet;
                reg._Tributo = sTributo;
                reg._Nome    = sNome == null?"": sNome.Trim();
                _lista_certidao.Add(reg);
            }

            bool _find = false;

            foreach (Certidao_debito_documento reg in _lista_certidao)
            {
                if (reg._Ret != 3)
                {
                    _find = true;
                    break;
                }
            }
            if (!_find)
            {
                _tipo_Certidao = RetornoCertidaoDebito.Negativa;
                sNao           = " não";
            }
            else
            {
                _find = false;
                foreach (Certidao_debito_documento reg in _lista_certidao)
                {
                    if (reg._Ret == 4)
                    {
                        _find = true;
                        break;
                    }
                }
                if (_find)
                {
                    _tipo_Certidao = RetornoCertidaoDebito.Positiva;
                    if (!bEmpresa && !bCidadao && !bImovel)
                    {
                        //Se a certidão positiva for apenas de imóvel, verifica se esta no prazo das parcelas únicas em aberto.
                        bool bUnicaNaoPago = false;
                        foreach (int _codigo in _codigos)
                        {
                            bUnicaNaoPago = tributario_Class.Parcela_Unica_IPTU_NaoPago(_codigo, DateTime.Now.Year);
                            if (bUnicaNaoPago)
                            {
                                break;
                            }
                        }
                        if (bUnicaNaoPago)
                        {
                            sCertifica     = " embora conste parcela(s) não paga(s) do IPTU de " + DateTime.Now.Year.ToString() + ", em razão da possibilidade do pagamento integral deste imposto em data futura, ";
                            sNao           = " não";
                            nRet           = 3;
                            _tipo_Certidao = RetornoCertidaoDebito.Negativa;
                        }
                    }
                }
                else
                {
                    _tipo_Certidao = RetornoCertidaoDebito.NegativaPositiva;
                }
            }

            string _tributo = "";

            foreach (Certidao_debito_documento item in _lista_certidao)
            {
                if (item._Tributo != "")
                {
                    _tributo += item._Tributo + " (IM:" + item._Codigo + ")" + ",";
                }
            }
            if (_tributo.Length > 0)
            {
                _tributo = _tributo.Substring(0, _tributo.Length - 1);
            }
            int _numero_certidao     = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito_Doc);
            int _ano_certidao        = DateTime.Now.Year;
            certidao_debito_doc cert = new certidao_debito_doc();

            cert.Ano = (short)_ano_certidao;

            cert.Numero       = _numero_certidao;
            cert.Data_emissao = DateTime.Now;
            cert.Nome         = _lista_certidao[0]._Nome;
            cert.Cpf_cnpj     = optCPF.Checked ? txtCPF.Text : txtCNPJ.Text;

            if (_tipo_Certidao == RetornoCertidaoDebito.Negativa)
            {
                cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IN";
                cert.Tributo   = "Não consta débito apurado contra o(a) mesmo(a).";
                cert.Ret       = 1;
            }
            else
            {
                if (_tipo_Certidao == RetornoCertidaoDebito.Positiva)
                {
                    cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IP";
                    cert.Tributo   = "Consta débito apurado contra o(a) mesmo(a) com referência a: " + _tributo;
                    cert.Ret       = 2;
                }
                else
                {
                    if (_tipo_Certidao == RetornoCertidaoDebito.NegativaPositiva)
                    {
                        cert.Validacao = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _lista_certidao[0]._Codigo.ToString() + "-IS";
                        cert.Tributo   = "Consta débito apurado contra o(a) mesmo(a) com referência a: " + _tributo + " que se encontram em sua exigibilidade suspensa, em razão de parcelamento dos débitos";
                        cert.Ret       = 3;
                    }
                }
            }

            Exception ex = tributario_Class.Insert_Certidao_Debito_Doc(cert);

            if (ex != null)
            {
                throw ex;
            }
            else
            {
                if (_tipo_Certidao == RetornoCertidaoDebito.Negativa)
                {
                    crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoN.rpt"));
                    crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"));
                    crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss"));
                    crystalReport.SetParameterValue("CONTROLE", cert.Validacao);
                    crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome);
                    crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text);
                    crystalReport.SetParameterValue("NAO", sNao);
                    crystalReport.SetParameterValue("CERTIFICA", sCertifica);
                    HttpContext.Current.Response.Buffer = false;
                    HttpContext.Current.Response.ClearContent();
                    HttpContext.Current.Response.ClearHeaders();

                    try {
                        crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString());
                    } catch  {
                    } finally {
                        crystalReport.Close();
                        crystalReport.Dispose();
                    }
                }
                else
                {
                    if (_tipo_Certidao == RetornoCertidaoDebito.Positiva)
                    {
                        crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoP.rpt"));
                        crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"));
                        crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss"));
                        crystalReport.SetParameterValue("CONTROLE", cert.Validacao);
                        crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome);
                        crystalReport.SetParameterValue("TRIBUTO", _tributo);
                        crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text);
                        HttpContext.Current.Response.Buffer = false;
                        HttpContext.Current.Response.ClearContent();
                        HttpContext.Current.Response.ClearHeaders();

                        try {
                            crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString());
                        } catch  {
                        } finally {
                            crystalReport.Close();
                            crystalReport.Dispose();
                        }
                    }
                    else
                    {
                        if (_tipo_Certidao == RetornoCertidaoDebito.NegativaPositiva)
                        {
                            crystalReport.Load(Server.MapPath("~/Report/CertidaoDebitoDocumentoPN.rpt"));
                            crystalReport.SetParameterValue("NUMCERTIDAO", _numero_certidao.ToString("00000") + "/" + _ano_certidao.ToString("0000"));
                            crystalReport.SetParameterValue("DATAEMISSAO", DateTime.Now.ToString("dd/MM/yyyy") + " às " + DateTime.Now.ToString("HH:mm:ss"));
                            crystalReport.SetParameterValue("CONTROLE", cert.Validacao);
                            crystalReport.SetParameterValue("NOME", _lista_certidao[0]._Nome);
                            crystalReport.SetParameterValue("TRIBUTO", _tributo);
                            crystalReport.SetParameterValue("DOC", optCPF.Checked ? txtCPF.Text : txtCNPJ.Text);
                            HttpContext.Current.Response.Buffer = false;
                            HttpContext.Current.Response.ClearContent();
                            HttpContext.Current.Response.ClearHeaders();

                            try {
                                crystalReport.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "certidao" + _numero_certidao.ToString() + _ano_certidao.ToString());
                            } catch {
                            } finally {
                                crystalReport.Close();
                                crystalReport.Dispose();
                            }
                        }
                    }
                }
            }

            SEM_INSCRICAO :;
        }