Пример #1
0
        private void ImprimirButton_Click(object sender, EventArgs e)
        {
            if (Nome.Text == "")
            {
                MessageBox.Show("Carregue os dados de um contribuinte para poder imprimir a certidão.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            Tributario_bll tributario_Class = new Tributario_bll(_connection);
            int            _userId = gtiCore.UserId;
            int            _ano_certidao = DateTime.Now.Year, _numero_certidao = 0, _codigo = Convert.ToInt32(Codigo.Text), _ano_isencao = DateTime.Now.Year;
            decimal        _percisencao = 0, SomaArea = 0;
            DateTime?      _data_processo_isencao = null;
            Report_Data    _dados = null;
            string         _nomeReport = "", _controle = "", _numero_processo = "";

            if (_tipo_certidao == TipoCertidao.Endereco)
            {
                _nomeReport      = "CertidaoEndereco";
                _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Endereco);
                _controle        = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-EA";
                Certidao_endereco cert = new Certidao_endereco {
                    Codigo      = Convert.ToInt32(_codigo),
                    Ano         = _ano_certidao,
                    Numero      = _numero_certidao,
                    Data        = DateTime.Now,
                    Inscricao   = Inscricao.Text,
                    Nomecidadao = Nome.Text,
                    Logradouro  = Endereco.Text,
                    descbairro  = Bairro.Text,
                    Li_quadras  = Quadra.Text,
                    Li_lotes    = Lote.Text
                };
                Exception ex = tributario_Class.Insert_Certidao_Endereco(cert);
                if (ex != null)
                {
                    throw ex;
                }
            }
            else
            {
                if (_tipo_certidao == TipoCertidao.Isencao)
                {
                    Imovel_bll imovel_Class = new Imovel_bll(_connection);
                    bool       bImune       = imovel_Class.Verifica_Imunidade(_codigo);
                    _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Isencao);
                    _controle        = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-CI";

                    if (bImune)
                    {
                        _percisencao = 100;
                        _nomeReport  = "CertidaoImunidade";
                    }
                    else
                    {
                        bool bIsentoProcesso = false;
                        List <IsencaoStruct> ListaIsencao = null;
                        ListaIsencao = imovel_Class.Lista_Imovel_Isencao(_codigo, DateTime.Now.Year);
                        if (ListaIsencao.Count > 0)
                        {
                            bIsentoProcesso = true;
                        }
                        if (bIsentoProcesso)
                        {
                            _nomeReport            = "CertidaoIsencaoProcesso";
                            _percisencao           = (decimal)ListaIsencao[0].Percisencao;
                            _numero_processo       = ListaIsencao[0].Numprocesso;
                            _data_processo_isencao = Convert.ToDateTime(ListaIsencao[0].dataprocesso);
                        }
                        else
                        {
                            SomaArea = imovel_Class.Soma_Area(_codigo);
                            if (SomaArea < 65)
                            {
                                //Se tiver área < 65m² mas tiver mais de 1 imóvel, perde a isenção.
                                int nQtdeImovel = imovel_Class.Qtde_Imovel_Cidadao(_codigo);
                                if (nQtdeImovel > 1)
                                {
                                    MessageBox.Show("Este imóvel não esta isento da cobrança de IPTU no ano atual.", "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                                _nomeReport = "CertidaoIsencao65";
                            }
                        }
                    }

                    Certidao_isencao cert = new Certidao_isencao {
                        Codigo       = _codigo,
                        Ano          = _ano_certidao,
                        Numero       = _numero_certidao,
                        Data         = DateTime.Now,
                        Inscricao    = Inscricao.Text,
                        Nomecidadao  = Nome.Text,
                        Logradouro   = Endereco.Text,
                        Descbairro   = Bairro.Text,
                        Li_quadras   = Quadra.Text,
                        Li_lotes     = Lote.Text,
                        Area         = SomaArea,
                        Percisencao  = _percisencao,
                        Numprocesso  = _numero_processo,
                        Dataprocesso = _data_processo_isencao
                    };
                    Exception ex = tributario_Class.Insert_Certidao_Isencao(cert);
                    if (ex != null)
                    {
                        throw ex;
                    }
                }
                else
                {
                    if (_tipo_certidao == TipoCertidao.ValorVenal)
                    {
                        _nomeReport      = "CertidaoValorVenal";
                        _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.ValorVenal);
                        _controle        = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-VV";
                        Certidao_valor_venal cert = new Certidao_valor_venal {
                            Codigo      = Convert.ToInt32(_codigo),
                            Ano         = _ano_certidao,
                            Numero      = _numero_certidao,
                            Data        = DateTime.Now,
                            Inscricao   = Inscricao.Text,
                            Nomecidadao = Nome.Text,
                            Logradouro  = Endereco.Text,
                            Descbairro  = Bairro.Text,
                            Li_quadras  = Quadra.Text,
                            Li_lotes    = Lote.Text
                        };
                        Exception ex = tributario_Class.Insert_Certidao_ValorVenal(cert);
                        if (ex != null)
                        {
                            throw ex;
                        }
                    }
                    else
                    {
                        if (_tipo_certidao == TipoCertidao.Debito)
                        {
                            //***Verifica débito
                            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)
                                {
                                    _nomeReport = "CertidaoDebitoImovel";
                                }
                                else
                                {
                                    if (_tipo_cadastro == TipoCadastro.Empresa)
                                    {
                                        _nomeReport = "CertidaoDebitoEmpresa";
                                    }
                                }
                            }
                            else
                            {
                                if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.Positiva)
                                {
                                    sTipoCertidao = "POSITIVA";
                                    nRet          = 4;
                                    sSufixo       = "CP";
                                    if (_tipo_cadastro == TipoCadastro.Imovel)
                                    {
                                        _nomeReport = "CertidaoDebitoImovel";
                                    }
                                    else
                                    {
                                        if (_tipo_cadastro == TipoCadastro.Empresa)
                                        {
                                            _nomeReport = "CertidaoDebitoEmpresa";
                                        }
                                    }
                                }
                                else
                                {
                                    if (dadosCertidao.Tipo_Retorno == RetornoCertidaoDebito.NegativaPositiva)
                                    {
                                        sTipoCertidao = "POSITIVA COM EFEITO NEGATIVA";
                                        nRet          = 5;
                                        sSufixo       = "PN";
                                        if (_tipo_cadastro == TipoCadastro.Imovel)
                                        {
                                            _nomeReport = "CertidaoDebitoImovelPN";
                                        }
                                        else
                                        {
                                            if (_tipo_cadastro == TipoCadastro.Empresa)
                                            {
                                                _nomeReport = "CertidaoDebitoEmpresaPN";
                                            }
                                        }
                                    }
                                }
                            }
                            sTributo = dadosCertidao.Descricao_Lancamentos;

                            _numero_certidao = tributario_Class.Retorna_Codigo_Certidao(modelCore.TipoCertidao.Debito);
                            _controle        = _numero_certidao.ToString("00000") + _ano_certidao.ToString("0000") + "/" + _codigo.ToString() + "-" + sSufixo;
                            Certidao_debito cert = new Certidao_debito {
                                Codigo       = Convert.ToInt32(_codigo),
                                Ano          = (short)_ano_certidao,
                                Ret          = nRet,
                                Numero       = _numero_certidao,
                                Datagravada  = DateTime.Now,
                                Inscricao    = Inscricao.Text,
                                Nome         = Nome.Text,
                                Logradouro   = Endereco.Text,
                                Bairro       = Bairro.Text,
                                Cidade       = Cidade.Text,
                                Processo     = Processo.Text,
                                Dataprocesso = _data_processo,
                                Atendente    = gtiCore.LastUser,
                                Cpf          = sCPF,
                                Cnpj         = sCNPJ,
                                Atividade    = Atividade.Text,
                                Lancamento   = dadosCertidao.Descricao_Lancamentos
                            };
                            Exception ex = tributario_Class.Insert_Certidao_Debito(cert);
                            if (ex != null)
                            {
                                throw ex;
                            }
                        }
                    }
                }

                if (_numero_certidao > 0)
                {
                    _dados = new Report_Data()
                    {
                        Codigo                = Convert.ToInt32(Codigo.Text),
                        Inscricao             = Inscricao.Text,
                        Nome                  = Nome.Text,
                        Cpf_cnpj              = Doc.Text,
                        Endereco              = Endereco.Text,
                        Nome_bairro           = Bairro.Text,
                        Quadra_original       = Quadra.Text,
                        Lote_original         = Lote.Text,
                        Nome_cidade           = Cidade.Text,
                        Cep                   = Cep.Text,
                        Numero_Certidao       = _numero_certidao.ToString("000000") + "/" + _ano_certidao.ToString(),
                        Controle              = _controle,
                        Assinatura_Hide       = Assinatura.Checked,
                        Processo              = Processo.Text,
                        Data_Processo         = _data_processo,
                        UserId                = _userId,
                        Perc_Isencao          = _percisencao,
                        Data_Processo_Isencao = _data_processo_isencao,
                        Processo_Isencao      = _numero_processo,
                        AnoIsencao            = _ano_isencao,
                        Area                  = SomaArea,
                        Nao                   = sNao,
                        TipoCertidao          = sTipoCertidao,
                        Tributos              = sTributo,
                        Atividade             = sAtividade
                    };
                    //ReportCR fRpt = new ReportCR(_nomeReport, _dados,null);
                    //fRpt.ShowDialog();
                    ClearFields();
                }
            }
        }
Пример #2
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();
                }
            }
        }