Exemplo n.º 1
0
        public Exception Incluir_ProcessoReparc(Processoreparc Reg)
        {
            Parcelamento_Data obj = new Parcelamento_Data(_connection);
            Exception         ex  = obj.Incluir_ProcessoReparc(Reg);

            return(ex);
        }
Exemplo n.º 2
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");
                            }
                        }
                    }
                }
            }
        }