コード例 #1
0
        public String getRoteiroTCM(string operacao, string fatorContabil, string contaContabil, string aux, string cpe)
        {
            StringBuilder sql = new StringBuilder();

            sql.Append(" select e.cd_evento, h.cd_historico, h.ds_historico from " + aux + "..aux_historico_evento_par t ");
            sql.Append("inner join " + aux + "..aux_evento_tcm e on t.cd_evento_tcm = e.cd_evento ");
            sql.Append("inner join " + aux + "..aux_historico_tcm h on t.cd_historico_tcm = h.cd_historico ");
            sql.Append("where t.tp_operacao =  ");
            sql.Append("(select top 1  CASE WHEN t.cdTipoMovimento IN (461, 462, 465) THEN 'C' ELSE 'D' END  COLLATE Latin1_General_CI_AS from " + cpe + "..MOVIMENTO t ");
            sql.Append(" where t.nrControleFatoContabil = " + fatorContabil + " order by nrSequencia)");
            sql.Append(" and t.cd_conta_contabil = (select c.cdNivelContabil from " + cpe + "..DATAVIEW_CONTA_CONTABIL c where c.cdContaContabil = ( ");
            sql.Append("select top 1 t.cdContaContabil from " + cpe + "..MOVIMENTO t  ");
            sql.Append(" where t.nrControleFatoContabil = 0101000028 order by nrSequencia)) ");
            sql.Append("and t.cd_historico = (select top 1 t.cdHistoricoPadrao from " + cpe + "..MOVIMENTO t ");
            sql.Append(" where t.nrControleFatoContabil = " + fatorContabil + " order by nrSequencia)");

            String    linha  = "";
            DataTable linhas = conexao.retornarDataSet(sql.ToString());

            if (linhas.Rows.Count > 0)
            {
                linha = "";
                DataRow dados = linhas.Rows[0];
                linha += FuncoesUteis.preencher(dados[0].ToString(), "0", 0, 4);

                contaContabil = contaContabil.Replace(".", "");
                if (contaContabil.Length > 11)
                {
                    contaContabil = contaContabil.Substring(0, 11);
                }
                linha += FuncoesUteis.preencher(contaContabil, "0", 0, 11);

                linha += FuncoesUteis.preencher(operacao, "0", 0, 1);

                linha += FuncoesUteis.preencher(dados[1].ToString(), "0", 0, 5);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[2].ToString()).ToUpper(), " ", 1, 300);
            }
            else
            {
                linha = FuncoesUteis.preencher("", "0", 0, 321);
            }


            return(linha);
        }
コード例 #2
0
        private void btGerarArquivo_Click(object sender, EventArgs e)
        {
            //try
            //{
            if (txAno.Text.Equals(""))
            {
                MessageBox.Show("Informe Ano de Processamento!");
                txAno.Focus();
                return;
            }

            if (txCodigoMunicipio.Text.Equals(""))
            {
                MessageBox.Show("Informe Código do Município!");
                txCodigoMunicipio.Focus();
                return;
            }

            if (txtCodUnidade.Text.Equals(""))
            {
                MessageBox.Show("Informe Código da Unidade!");
                txtCodUnidade.Focus();
                return;
            }



            #region Criação do arquivo

            // Variáveis de apoio
            String pathGerarArquivo = path + @"\ArquivosGerados";
            String nomeArquivo      = @"\IA-PA" + txAno.Text + FuncoesUteis.preencher(cbUnidadeGestora.SelectedValue.ToString(), "0", 0, 3)
                                      + txCodigoMunicipio.Text + "-"
                                      + getTipoArquivo()
                                      + "-" + Convert.ToDateTime(DateTime.Now.ToString()).ToString("ddMMyyyy") + ".txt";

            String nomeArquivoApoio = @"\IA-PA-APOIO-" + txAno.Text + FuncoesUteis.preencher(cbUnidadeGestora.SelectedValue.ToString(), "0", 0, 3)
                                      + txCodigoMunicipio.Text + "-"
                                      + getTipoArquivo()
                                      + "-" + Convert.ToDateTime(DateTime.Now.ToString()).ToString("ddMMyyyy") + ".txt";


            String linha    = "";
            Int16  contador = 1;


            // Verifica a existencia do diretorio TXT

            if (!Directory.Exists(pathGerarArquivo))
            {
                Directory.CreateDirectory(pathGerarArquivo);
            }


            StreamWriter arquivo = new StreamWriter(pathGerarArquivo + nomeArquivo);
            // StreamWriter arquivoApoio = new StreamWriter(pathGerarArquivo + nomeArquivoApoio);


            #endregion

            #region Header do arquivo

            linha = "000"
                    + FuncoesUteis.preencher(contador.ToString(), "0", 0, 10)
                    + " "
                    + txAno.Text
                    + txCodigoMunicipio.Text
                    + getTipoEsfera()
                    + " "
                    + txVersaoTCM.Text
                    + getTipoArquivo()
                    + DateTime.Now.Day.ToString().PadLeft(2, '0') + DateTime.Now.Month.ToString().PadLeft(2, '0') + DateTime.Now.Year.ToString()
                    + FuncoesUteis.preencher(" ", " ", 0, 20) // Codigo da declaração
                                                              //+ FuncoesUteis.preencher(" ", " ", 0, 20) // Codigo da declaração a retificar
                                                              //+ FuncoesUteis.preencher(txCNPJResponsavel.Text, "0", 0, 14) // CNPJ do orgao responsável pela declaração
                    + FuncoesUteis.preencher(" ", " ", 0, 100)
                    + FuncoesUteis.preencher(" ", " ", 0, 860)
                    + "*";
            arquivo.WriteLine(linha);

            #endregion

            #region Ordenador/Contador

            DataTable dados = contabilidade.getOrdenadores(cbUnidadeGestora.SelectedValue.ToString(), nomeBD_AUX, nomeBD_CPC);

            String cpfContador  = "";
            String cpfOrdenador = "";

            barraProgresso.Maximum = dados.Rows.Count;
            barraProgresso.Value   = 1;
            foreach (DataRow linhaDados in dados.Rows)
            {
                contador++;
                linha = "";

                if (linhaDados["tpIdentificadorPessoa"].ToString().Equals("1"))
                {
                    cpfOrdenador = FuncoesUteis.converteCPFToString(linhaDados["nrCpf"].ToString());
                }
                else
                {
                    cpfContador = FuncoesUteis.converteCPFToString(linhaDados["nrCpf"].ToString());
                }

                linha += "010";
                linha += FuncoesUteis.preencher(contador.ToString(), "0", 0, 10);
                linha += " ";
                linha += getTipoEsfera();
                linha += FuncoesUteis.preencher(txtCodUnidade.Text, "0", 0, 10);
                linha += FuncoesUteis.preencher(FuncoesUteis.converteCPFToString(linhaDados["nrCpf"].ToString()), "0", 0, 11);
                linha += getIntervaloOrdenador(getTipoArquivo());
                linha += FuncoesUteis.preencher(linhaDados["tpIdentificadorPessoa"].ToString(), "0", 0, 1);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["nmPessoa"].ToString()), " ", 1, 50);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["dsCargo"].ToString()), " ", 1, 30);
                linha += FuncoesUteis.preencher(linhaDados["nrIdentidade"].ToString(), "0", 0, 20);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["nmOrgaoEmissor"].ToString()), " ", 1, 20);
                linha += Convert.ToDateTime(linhaDados["dtEmissaoIdentidade"].ToString()).ToString("ddMMyyyy");
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["dsEndereco"].ToString()), " ", 1, 50);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["dsBairro"].ToString()), " ", 1, 20);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["dsCidade"].ToString()), " ", 1, 20);
                linha += FuncoesUteis.preencher(linhaDados["cdCEP"].ToString(), "0", 0, 8);
                linha += FuncoesUteis.preencher(linhaDados["sgUF"].ToString(), " ", 1, 2);
                linha += FuncoesUteis.preencher(linhaDados["nrTelefoneResidencial"].ToString(), "0", 0, 10);
                linha += FuncoesUteis.preencher(linhaDados["nrTelefoneComercial"].ToString(), "0", 0, 10);
                linha += FuncoesUteis.preencher(linhaDados["nrTelefoneCelular"].ToString(), "0", 0, 10);
                linha += FuncoesUteis.preencher(linhaDados["dsEnderecoEletronico"].ToString(), " ", 1, 100);
                linha += FuncoesUteis.preencher(" ", " ", 1, 788);
                linha += "*";

                arquivo.WriteLine(linha);
                barraProgresso.Value = contador - 1;
            }


            #endregion

            #region Fonte de Recursos

            dados = contabilidade.getFonteRecurso(nomeBD_CPC);
            barraProgresso.Value   = 0;
            barraProgresso.Maximum = dados.Rows.Count;
            int contaProgresso = 0;
            foreach (DataRow linhaDados in dados.Rows)
            {
                contador++;
                linha  = "";
                linha += "020";
                linha += FuncoesUteis.preencher(contador.ToString(), "0", 0, 10);
                linha += " ";
                linha += getTipoEsfera();
                linha += FuncoesUteis.preencher(txtCodUnidade.Text, "0", 0, 10);
                linha += FuncoesUteis.preencher(linhaDados["cdFonteRecurso"].ToString(), "0", 1, 10);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(linhaDados["dsFonteRecurso"].ToString()).ToUpper(), " ", 1, 60);
                linha += FuncoesUteis.preencher(" ", " ", 0, 1104);
                linha += "*";

                arquivo.WriteLine(linha);
                contaProgresso++;
                barraProgresso.Value = contaProgresso - 1;
            }
            #endregion


            #region Movimento
            // Tipo SQL
            int tipo = 0;
            if (getTipoArquivo() == "901" || getTipoArquivo() == "902" || getTipoArquivo() == "903")
            {
                tipo = 1;
            }

            dados = contabilidade.getMovimento(nomeBD_AUX
                                               , tipo
                                               , FuncoesUteis.getMesInicio(getTipoArquivo())
                                               , FuncoesUteis.getMesFim(getTipoArquivo())
                                               , cbUnidadeGestora.SelectedValue.ToString()
                                               , nomeBD_PPA, nomeBD_CPC, nomeBD_CPE);


            String contaContabil          = "";
            String naturezaReceitaDespesa = "";
            String linhaApoio             = "";
            String linhaLancamento        = "";

            int seqMovimento = 0;

            barraProgresso.Value   = 0;
            barraProgresso.Maximum = dados.Rows.Count;
            foreach (DataRow rowMov in dados.Rows)
            {
                contaContabil = rowMov["cdNivelContabil"].ToString();

                if (seqMovimento > 46)
                {
                    naturezaReceitaDespesa = "";
                }



                linha      = "";
                linhaApoio = "";

                seqMovimento++;


                linhaApoio  = FuncoesUteis.preencher(Convert.ToString(contador), "0", 0, 10);
                linhaApoio += contaContabil;
                linhaApoio += FuncoesUteis.preencher(rowMov["idLancamento"].ToString(), "0", 0, 6);
                linhaApoio += FuncoesUteis.preencher(rowMov["nrAnoLancamento"].ToString(), "0", 0, 6);


                linha  = "";
                linha += "100";
                linha += FuncoesUteis.preencher(Convert.ToString(contador), "0", 0, 10);
                linha += " ";
                linha += FuncoesUteis.preencher(getTipoEsfera(), "0", 0, 1);
                linha += FuncoesUteis.preencher(txtCodUnidade.Text, "0", 0, 10);
                linha += FuncoesUteis.preencher(Convert.ToString(seqMovimento), "0", 0, 10);
                linha += Convert.ToDateTime(rowMov["dtMovimento"].ToString()).ToString("ddMMyyyy");

                contaContabil = contaContabil.Replace(".", "");
                if (contaContabil.Length > 11)
                {
                    contaContabil = contaContabil.Substring(0, 11);
                }

                //contaContabil = ajusteConta(contaContabil, rowMov["tpOperacao"].ToString());



                linhaLancamento = contabilidade.getLancamentoPadrao(rowMov["cdFornecedor"].ToString()
                                                                    , rowMov["cdUnidadeGestora"].ToString()
                                                                    , rowMov["cdEmenta"].ToString()
                                                                    , rowMov["idLancamento"].ToString()
                                                                    , rowMov["nrAnoLancamento"].ToString()
                                                                    , rowMov["cdTipoLicitacao"].ToString()
                                                                    , rowMov["tpOperacao"].ToString()
                                                                    , rowMov["cdNivelContabil"].ToString()
                                                                    , rowMov["naturezaReceitaDespesa"].ToString()
                                                                    , rowMov["cdOrgao"].ToString()
                                                                    , nomeBD_AUX
                                                                    , nomeBD_CPC);



                linha += linhaLancamento.Substring(0, 4)
                         + contabilidade.ajustaConta(linhaLancamento.Substring(4, 11), nomeBD_AUX)
                         + linhaLancamento.Substring(15);
                linha += FuncoesUteis.preencher(FuncoesUteis.formataNumero(rowMov["vlMovimento"].ToString()), "0", 0, 15);
                // Vinculo contábil
                linha += FuncoesUteis.preencher("0", "0", 0, 10);

                linha += FuncoesUteis.preencher(cmbEsferaOrc.Text.Substring(0, 2), "0", 0, 2);

                linha += FuncoesUteis.preencher(cmbTipoAdm.Text.Substring(0, 1), "0", 1, 1);

                linha += FuncoesUteis.preencher(rowMov["cdFuncao"].ToString(), "0", 0, 2);
                linha += FuncoesUteis.preencher(rowMov["cdSubFuncao"].ToString(), "0", 0, 3);
                linha += FuncoesUteis.preencher(rowMov["cdPrograma"].ToString(), "0", 0, 4);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(rowMov["dsPrograma"].ToString().ToUpper()), " ", 1, 100).Substring(0, 100);
                linha += "1";
                // No e Descricao do Projeto Atividade
                linha += FuncoesUteis.preencher(rowMov["nrProjetoAtividade"].ToString(), "0", 0, 3);
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(rowMov["dsProjetoAtividade"].ToString().ToUpper()), " ", 1, 100).Substring(0, 100);

                linha += FuncoesUteis.preencher(rowMov["cdFonteRecurso"].ToString(), "0", 0, 10);
                // Tipo alteração orcamnetaria
                linha += FuncoesUteis.preencher("0", "0", 0, 2);
                // No da Lei
                linha += FuncoesUteis.preencher("0", "0", 1, 10);
                // Data da lei
                linha += "01012014";     //FuncoesUteis.preencher("0", "0", 1, 8);
                // No portaria/decreto
                linha += FuncoesUteis.preencher("0", "0", 0, 10);
                // Data da portaria
                linha += "01012014";      //FuncoesUteis.preencher("0", "0", 1, 8);
                // No Documento
                linha += FuncoesUteis.preencher("0", "0", 0, 10);
                //Codigo Documento PRocessado
                linha += FuncoesUteis.preencher("0", "0", 0, 2);
                //CPF/CNPJ
                linha += FuncoesUteis.preencher(FuncoesUteis.limpaCaracter(rowMov["nrDocumento"].ToString()), "0", 0, 14);

                if (rowMov["nmCredor"].ToString() == "")
                {
                    linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(txNome.Text), " ", 1, 50);
                }
                else
                {
                    linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(rowMov["nmCredor"].ToString()), " ", 1, 50);
                }

                // Modalidade empenho
                linha += FuncoesUteis.preencher(rowMov["cdTipoEmpenho"].ToString(), "0", 0, 1);
                // Modalidade licitacao
                //linha += "02";
                // Modelidade Licitação
                linha += FuncoesUteis.preencher(rowMov["tpModalidadeLicitacao"].ToString(), "0", 0, 2);
                // TIpo Licitacao
                linha += FuncoesUteis.preencher(rowMov["cdTipoLicitacao"].ToString(), "0", 0, 1);
                // No Licitacao
                linha += FuncoesUteis.preencher(rowMov["nrLicitacao"].ToString(), " ", 1, 15);
                if (rowMov["dtHomologacao"].ToString().Equals(""))
                {
                    linha += Convert.ToDateTime(rowMov["dtMovimento"].ToString()).ToString("ddMMyyyy");
                }
                else
                {
                    linha += Convert.ToDateTime(rowMov["dtHomologacao"].ToString()).ToString("ddMMyyyy");
                }

                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(rowMov["dsObjetoDespesa"].ToString()), " ", 1, 100).Substring(0, 100);
                // Tipo Apuracao
                linha += "1";
                // TIpo pubicacao
                linha += "1";
                // Data Publicacao
                linha += Convert.ToDateTime(rowMov["dtMovimento"].ToString()).ToString("ddMMyyyy");
                // Vlaor Adjundicado
                linha += FuncoesUteis.preencher("0", "0", 0, 15);
                linha += contabilidade.getLinhaDocLiquidacao(nomeBD_CPI, rowMov["cdUnidadeGestora"].ToString().Trim(),
                                                             rowMov["dtAnoLicitacao"].ToString().Trim(),
                                                             rowMov["nrLicitacao"].ToString().Trim());

                // Valor ISS
                linha += FuncoesUteis.preencher("0", "0", 0, 15);
                // Valor INSS
                linha += FuncoesUteis.preencher("0", "0", 0, 15);
                // Validade Nota
                linha += "3112" + txAno.Text;
                // BAnco
                linha += FuncoesUteis.preencher(rowMov["cdBanco"].ToString(), "0", 0, 3);
                // agencia
                linha += FuncoesUteis.preencher(rowMov["cdAgencia"].ToString(), " ", 1, 10);
                // Conta corrente
                if (rowMov["cdContaCorrente"].ToString() == "")
                {
                    linha += FuncoesUteis.preencher(" ", " ", 1, 10);
                }
                else
                {
                    String[] strContaInt = rowMov["cdContaCorrente"].ToString().Split(',');
                    int      cdContaInt  = Convert.ToInt32(strContaInt[0]);
                    linha += FuncoesUteis.preencher(cdContaInt.ToString(), " ", 1, 10);
                }
                // Tipo Transação
                linha += "1";
                // No transacao
                linha += FuncoesUteis.preencher("0", "0", 0, 15);
                // CPF Ordenador
                linha += FuncoesUteis.preencher(cpfOrdenador, "0", 0, 11);
                // CPF Contador
                linha += FuncoesUteis.preencher(cpfContador, "0", 0, 11);
                // Calssificação da receira/natureza
                naturezaReceitaDespesa = rowMov["naturezaReceitaDespesa"].ToString().Replace(".", "");

                if (naturezaReceitaDespesa.Length > 10)
                {
                    naturezaReceitaDespesa = naturezaReceitaDespesa.Substring(0, 10);
                }
                naturezaReceitaDespesa = ajusteNaturezaReceitaDespesa(naturezaReceitaDespesa);
                linha += FuncoesUteis.preencher(naturezaReceitaDespesa, "0", 0, 10);
                linha += contabilidade.getReciboMural(rowMov["nrEmpenho"].ToString(), rowMov["dtAnoEmissao"].ToString(), nomeBD_AUX, nomeBD_CPE);

                linha += FuncoesUteis.preencher(" ", " ", 1, 84);
                linha += "*";
                contador++;
                arquivo.WriteLine(linha);
                //arquivoApoio.WriteLine(linhaApoio);
                barraProgresso.Value = seqMovimento - 1;
            }

            #endregion

            linha = "999" + FuncoesUteis.preencher(contador.ToString(), "0", 0, 10) + FuncoesUteis.preencher(" ", " ", 0, 1189) + "*";

            arquivo.Close();
            arquivo.Dispose();

            //arquivoApoio.Close();
            //arquivoApoio.Dispose();

            MessageExcept.messageFacede("Arquivo Gerado", 2);

            /*}
             * catch (Exception ex)
             * {
             *  //ex.Message();
             *  //MessageExcept.messageFacede("Erro ao gerar arquivo:\n" + ex.Message, 1);
             * }
             * finally {
             *
             * }*/
        }
コード例 #3
0
        public String getLinhaDocLiquidacao(String nmBancoCPI, String cdUndGestora, String dtAno, String pNrEmpenho)
        {
            String linha = "";

            if (!pNrEmpenho.Equals(""))
            {
                StringBuilder sql = new StringBuilder();
                sql.Append("SELECT top 1 nrEmpenho,tpDocumento,nrSerie,nrDocumento,dtEmissaoDocto ");
                sql.Append(",vlICMSDestacado,vlICMSRetido,nrSerieSeloSEFA,nrSeloSEFA,cdCST ");
                sql.Append("FROM " + nmBancoCPI + "..PA_DocumentoLiquidacao where cdUnidadeGestora = " + cdUndGestora);
                sql.Append(" and dtAnoEmissao = " + dtAno + " and nrEmpenho = '" + pNrEmpenho + "'");


                DataTable linhas = conexao.retornarDataSet(sql.ToString());

                if (linhas.Rows.Count > 0)
                {
                    linha = "";
                    DataRow dados = linhas.Rows[0];

                    linha += FuncoesUteis.preencher(dados["tpDocumento"].ToString(), "0", 0, 2);
                    linha += FuncoesUteis.preencher(dados["nrSerie"].ToString(), " ", 1, 5);
                    linha += FuncoesUteis.preencher(dados["nrDocumento"].ToString(), "0", 0, 10);
                    linha += Convert.ToDateTime(dados["dtEmissaoDocto"].ToString()).ToString("ddMMyyyy");
                    linha += FuncoesUteis.preencher(FuncoesUteis.formataNumero(dados["vlICMSDestacado"].ToString()), "0", 0, 15);
                    linha += FuncoesUteis.preencher(FuncoesUteis.formataNumero(dados["vlICMSRetido"].ToString()), "0", 0, 15);
                    linha += FuncoesUteis.preencher(dados["nrSerieSeloSEFA"].ToString(), "0", 0, 2);
                    linha += FuncoesUteis.preencher(dados["nrSeloSEFA"].ToString(), "0", 0, 10);
                    //linha += FuncoesUteis.preencher((dados["dtEmissaoDocto"].ToString()), "0", 1, 6);
                    linha += Convert.ToDateTime(dados["dtEmissaoDocto"].ToString()).ToString("MMyyyy");
                    linha += FuncoesUteis.preencher(dados["cdCST"].ToString(), "0", 0, 4);
                }
                else
                {
                    linha += FuncoesUteis.preencher("0", "0", 1, 2);
                    linha += FuncoesUteis.preencher("0", "0", 1, 5);
                    linha += FuncoesUteis.preencher("0", "0", 1, 10);
                    linha += FuncoesUteis.preencher("0", "0", 1, 8);
                    linha += FuncoesUteis.preencher("0", "0", 1, 15);
                    linha += FuncoesUteis.preencher("0", "0", 1, 15);
                    linha += FuncoesUteis.preencher("0", "0", 1, 2);
                    linha += FuncoesUteis.preencher("0", "0", 1, 10);
                    linha += FuncoesUteis.preencher("010114", "0", 1, 6);
                    linha += FuncoesUteis.preencher("0", "0", 1, 4);
                }
            }
            else
            {
                linha += FuncoesUteis.preencher("0", "0", 1, 2);
                linha += FuncoesUteis.preencher("0", "0", 1, 5);
                linha += FuncoesUteis.preencher("0", "0", 1, 10);
                linha += FuncoesUteis.preencher("0", "0", 1, 8);
                linha += FuncoesUteis.preencher("0", "0", 1, 15);
                linha += FuncoesUteis.preencher("0", "0", 1, 15);
                linha += FuncoesUteis.preencher("0", "0", 1, 2);
                linha += FuncoesUteis.preencher("0", "0", 1, 10);
                linha += FuncoesUteis.preencher("0", "0", 1, 6);
                linha += FuncoesUteis.preencher("0", "0", 1, 4);
            }
            return(linha);
        }
コード例 #4
0
        public String getLancamentoPadrao(string fornecedor, string unidade, string ementa, string lancamento, string ano, string licitacao
                                          , string operacao, string conta, string natureza
                                          , string orgao, string nmBancoAux, string nmBancoCPC)
        {
            int    origemConta = 0;
            String linha       = "";

            /*
             * if (licitacao == "")
             * {
             *  licitacao = "0";
             * }
             *
             * if (ementa == null)
             * {
             *  ementa = "0";
             * }
             *
             * String sql = "select  p.cdEvento,p.cdHistorico " +
             *          ",(select h.ds_historico  from " + nmBancoAux + "..AUX_HISTORICO_TCM h where h.cd_historico = p.cdHistorico) as dsHistorico" +
             *          ",(select c.cdnivelcontabil from " + nmBancoCPC + "..CONTACONTABIL c where c.cdContaContabil = l.cdContaCredito) cdNivelCredito " +
             *          ",(select c.cdnivelcontabil from " + nmBancoCPC + "..CONTACONTABIL c where c.cdContaContabil = l.cdContaDebito) cdNivelDebito " +
             *          "	from " + nmBancoAux + "..aux_paridade_conta p " +
             *          "inner join " + nmBancoAux + "..AUX_LANCAMENTO_PADRAO l on p.idConjuntoLancamento = l.id where 1 = 1 ";
             *
             *
             * sql += " and l.idLancamento = " + lancamento + " and l.nrAno = " + ano;
             *
             *
             *
             * if (!orgao.Equals("0"))
             * {
             *  sql += " and p.cdOrgao = " + orgao;
             * }
             * else
             * {
             *  sql += " and p.cdOrgao = 0 ";
             * }
             *
             * if (!ementa.Equals("0"))
             * {
             *  sql += " and p.cdEmenta = " + ementa;
             * }
             *
             * if (!licitacao.Equals("0"))
             * {
             *  sql += " and p.cdTipoLicitacao = " + licitacao;
             * }
             *
             * if (!natureza.Equals("0"))
             * {
             *  sql += " and p.cdNaturezaDespesa = '" + natureza + "'";
             * }
             *
             * DataTable linhas = conexao.retornarDataSet(sql.ToString());
             *
             *
             *
             *
             *
             * if (linhas.Rows.Count <= 0)
             * {
             *  sql = "select  p.cdEventoCredito, p.cdEventoDebito, p.cdHistoricoCredito, cdHistoricoDebito " +
             *        ",(select h.ds_historico  from " + nmBancoAux + "..AUX_HISTORICO_TCM h where h.cd_historico = p.cdHistoricoCredito) as dsHistoricoCredito " +
             *        ",(select h.ds_historico  from " + nmBancoAux + "..AUX_HISTORICO_TCM h where h.cd_historico = p.cdHistoricoDebito) as dsHistoricoDebito " +
             *        "from " + nmBancoAux + "..AUX_PAREAR_NAO_PADRAO p " +
             *        "where p.idLancamento = " + lancamento + " and p.cdUnidadeGestora = " + unidade;
             *
             *  linhas = conexao.retornarDataSet(sql.ToString());
             *  origemConta = 1;
             * }
             *
             * if (linhas.Rows.Count <= 0)
             * {
             *  sql = "select p.cdEvento, p.cdHistorico, (select h.ds_historico from " + nmBancoAux + "..AUX_HISTORICO_TCM h where h.cd_historico = cdHistorico) as dsHistorico " +
             *        ",(select c.cdnivelcontabil from " + nmBancoCPC + "..CONTACONTABIL c where c.cdContaContabil = l.cdContaCredito) cdNivelCredito " +
             *        ",(select c.cdnivelcontabil from " + nmBancoCPC + "..CONTACONTABIL c where c.cdContaContabil = l.cdContaDebito) cdNivelDebito " +
             *        ",cdHistorico  from " + nmBancoAux + "..PAREAR_FOLHA_EVENTO_HISTORICO p " +
             *        "inner join " + nmBancoAux + "..AUX_LANCAMENTO_PADRAO l on p.idLancamento = l.id " +
             *        " where l.idLancamento = " + lancamento + " and l.nrAno = " + ano + " and p.cdFornecedor = " + fornecedor + " and p.cdUnidadeGestora = " + unidade;
             *
             *  linhas = conexao.retornarDataSet(sql.ToString());
             *  origemConta = 2;
             * }
             *
             *
             *
             * if (linhas.Rows.Count > 0)
             * {
             *  linha = "";
             *  DataRow dados = linhas.Rows[0];
             *
             *
             *
             *  if (origemConta == 1)
             *  {
             *      if (operacao.Equals("C"))
             *          linha = FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[0].ToString()).ToUpper(), " ", 1, 4);
             *      else
             *          linha = FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[1].ToString()).ToUpper(), " ", 1, 4);
             *
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta), " ", 1, 11);
             *      linha += operacao;
             *
             *      if (operacao.Equals("C"))
             *      {
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[2].ToString()).ToUpper(), " ", 1, 5);
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[4].ToString()).ToUpper(), " ", 1, 300);
             *      }
             *      else
             *      {
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[3].ToString()).ToUpper(), " ", 1, 5);
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[5].ToString()).ToUpper(), " ", 1, 300);
             *      }
             *  }
             *  else if (origemConta == 2)
             *  {
             *
             *      linha = FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[0].ToString()).ToUpper(), " ", 1, 4);
             *      if (operacao.Equals("C"))
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[3].ToString()), " ", 1, 11);
             *      else
             *          linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[4].ToString()), " ", 1, 11);
             *
             *      linha += operacao;
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[1].ToString()).ToUpper(), " ", 1, 5);
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[2].ToString()).ToUpper(), " ", 1, 300);
             *
             *  }
             *
             *  else
             *  {
             *      linha = FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[1].ToString()).ToUpper(), " ", 1, 4);
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta), " ", 1, 11);
             *      linha += operacao;
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[1].ToString()).ToUpper(), " ", 1, 5);
             *      linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(dados[2].ToString()).ToUpper(), " ", 1, 300);
             *  }
             *
             *
             * }
             * else
             * {
             *  if (!lancamento.Equals("41") || !lancamento.Equals("47"))
             *  {
             *      linha = "";
             *  }
             *  linha = "9000";
             *  linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
             *  linha += operacao;
             *  linha += "90001";
             *  linha += FuncoesUteis.preencher("PELO REGISTRO DO HISTORICO DO JURISDINADO", " ", 1, 300);
             *
             * }
             *
             */

            linha  = "9000";
            linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
            linha += operacao;
            linha += "90001";
            linha += FuncoesUteis.preencher("PELO REGISTRO DO HISTORICO DO JURISDINADO", " ", 1, 300);

            if (conta.Equals("5.2.2.1.1.01.00.00.00.00") && operacao.Equals("D"))
            {
                linha  = "2000";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "20000";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA DESPESA ORCADA APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }

            if (conta.Equals("6.2.2.1.1.00.00.00.00.00") && operacao.Equals("C"))
            {
                linha  = "2000";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "20000";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA DESPESA ORCADA APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }

            if (conta.Equals("5.2.1.1.1.00.00.00.00.00") && operacao.Equals("D"))
            {
                linha  = "1100";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "11000";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA RECEITA ORCADA APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }
            if (conta.Equals("6.2.1.1.1.00.00.00.00.00") && operacao.Equals("C"))
            {
                linha  = "1100";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "11000";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA RECEITA ORCADA APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }


            if (conta.Equals("6.2.1.1.1.00.00.00.00.00") && operacao.Equals("D"))
            {
                linha  = "1101";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "11001";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA DEDUCAO DO FUNDEB APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }
            if (conta.Equals("5.2.1.1.2.01.01.00.00.00") && operacao.Equals("C"))
            {
                linha  = "1101";
                linha += FuncoesUteis.preencher(FuncoesUteis.removeAlfa(conta).ToUpper(), " ", 1, 11);
                linha += operacao;
                linha += "11001";
                linha += FuncoesUteis.preencher("PELO REGISTRO DA DEDUCAO DO FUNDEB APROVADA PELA LEI ORCAMENTARIA ANUAL", " ", 1, 300);
            }

            return(linha);
        }