public static string Excluir(TRegistro_CarregaCartaoPre val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CarregaCartaoPre qtb_fatura = new TCD_CarregaCartaoPre(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } //Estornar Caixa new TCD_LanCaixa(qtb_fatura.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.CD_ContaGer", vOperador = "=", vVL_Busca = "'" + val.Cd_contager.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.CD_LanctoCaixa", vOperador = "=", vVL_Busca = val.Cd_lanctocaixa.ToString() } }, 0, string.Empty).ForEach(x => TCN_LanCaixa.EstornarCaixa(x, null, qtb_fatura.Banco_Dados)); qtb_fatura.Excluir(val); if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
private void BB_Buscar_Click(object sender, EventArgs e) { if (tabControl1.SelectedIndex == 0) { TList_RegLanDuplicata lDup = TCN_LanDuplicata.BuscaAudit(CD_Empresa.Text, NR_Docto.Text, nr_lancto.Text, CD_Clifor.Text, cd_moeda.Text, CD_Historico.Text, cd_condpgto.Text, Tp_Dup.Text, VL_Inicial.Value, VL_Final.Value, DT_Inicial.Text, DT_Final.Text, null); //Buscr Centro Resultado //lDup.ForEach(p => p.lCustoLancto = TCN_DuplicataXCCusto.BuscarCusto(p.Cd_empresa, p.Nr_lancto.ToString(), null)); lDup.ForEach(r => r.St_liquidar = false); BS_Duplicata.DataSource = lDup; } else { if (cbContaGer.SelectedItem != null) { bsCaixa.DataSource = TCN_LanCaixa.BuscaAudit(cbContaGer.SelectedValue.ToString(), string.Empty, string.Empty, nr_doctoCaixa.Text, cd_historicoCaixa.Text, string.Empty, Dt_iniCaixa.Text, Dt_finCaixa.Text, 0, 0, string.Empty, string.Empty, string.Empty, false, string.Empty, 0, true, null); (bsCaixa.DataSource as TList_LanCaixa).ForEach(r => r.St_conciliar = false); bsCaixa.ResetBindings(true); } else { MessageBox.Show("Obrigatório informar conta gerencial.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
private void bb_corrigir_Click(object sender, EventArgs e) { if (cbContaGer.SelectedItem == null) { MessageBox.Show("Obrigatório informar conta gerencial.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); cbContaGer.Focus(); return; } if (bsSaldoAplic.Current == null) { MessageBox.Show("Obrigatório selecionar conta aplicação.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((bsSaldoAplic.Current as TRegistro_SaldoContaGer).Vl_saldo.Equals(decimal.Zero)) { MessageBox.Show("Aplicação não possui saldo para resgatar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } using (TFAplicarResgatar fAplic = new TFAplicarResgatar()) { if (fAplic.ShowDialog() == DialogResult.OK) { try { TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_ContaGer = (bsSaldoAplic.Current as TRegistro_SaldoContaGer).Cd_contager, Cd_Empresa = fAplic.pCd_empresa, Cd_Historico = fAplic.pCd_historico, Dt_lancto = fAplic.pDt_lancto, Login = Utils.Parametros.pubLogin, Nr_Docto = "CORRECAO", St_avulso = "S", Vl_RECEBER = fAplic.pValor - (bsSaldoAplic.Current as TRegistro_SaldoContaGer).Vl_saldo }, null); MessageBox.Show("Correção aplicação realizada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void BB_Excluir_Click(object sender, EventArgs e) { if (bindingSourceCaixa.Current != null) { if ((bindingSourceCaixa.Current as TRegistro_LanCaixa).St_Estorno.Trim().ToUpper().Equals("S")) { MessageBox.Show("Lançamento de caixa ja esta estornado.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!(bindingSourceCaixa.Current as TRegistro_LanCaixa).Status_avulso) { MessageBox.Show("Permitido estornar somente lançamento de caixa avulso.\r\n" + "Para estornar lançamento de caixa que teve origem em outro processo,\r\n" + "va a tela de origem do lançamento e estorne o processo completo.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("Confirma Estorno do Lançamento de Caixa: " + (bindingSourceCaixa.Current as TRegistro_LanCaixa).Cd_LanctoCaixa.ToString(), "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { if (TCN_LanCaixa.EstornarCaixa((bindingSourceCaixa.Current as TRegistro_LanCaixa), null, null)) { afterBusca(); } } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Obrigatorio selecionar registro caixa para estornar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void BB_Alterar_Click(object sender, EventArgs e) { if (bindingSourceCaixa.Current != null) { TFLanCaixa FLanCaixa = new TFLanCaixa(); FLanCaixa.CD_ContaGer.Enabled = false; FLanCaixa.BB_ContaGer.Enabled = false; FLanCaixa.CD_Empresa.Enabled = false; FLanCaixa.BB_Empresa.Enabled = false; FLanCaixa.DT_Lancto.Enabled = false; FLanCaixa.RB_Pagar.Enabled = false; FLanCaixa.RB_Receber.Enabled = false; FLanCaixa.VL_Receber.Enabled = false; FLanCaixa.VL_Pagar.Enabled = false; FLanCaixa.RB_Receber.Checked = (bindingSourceCaixa.Current as TRegistro_LanCaixa).Vl_RECEBER > 0; FLanCaixa.RB_Pagar.Checked = (bindingSourceCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR > 0; FLanCaixa.dsLanCaixa.Add(bindingSourceCaixa.Current as TRegistro_LanCaixa); if (FLanCaixa.ShowDialog() == DialogResult.OK) { try { TCN_LanCaixa.AlterarLanCaixa((bindingSourceCaixa.Current as TRegistro_LanCaixa), null); afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Obrigatorio selecionar registro de caixa para alterar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void dt_fechamento_Leave(object sender, EventArgs e) { if ((dt_fechamento.Text.Trim().Equals(string.Empty)) || (dt_fechamento.Text.Trim().Equals("/ /"))) { return; } DateTime dt; try { dt = Convert.ToDateTime(dt_fechamento.Text); if (dt > DateTime.Now) { MessageBox.Show("Data de fechamento não pode ser maior que data atual.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); dt_fechamento.Focus(); return; } if ((bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Dt_ultimofechamento != null) { if (dt <= (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Dt_ultimofechamento.Value) { MessageBox.Show("Data de fechamento não pode ser menor ou igual a data do ultimo fechamento.\r\n" + "Data Ultimo Fechamento: " + (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Dt_ultimofechamento.Value.ToString("dd/MM/yyyy"), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); dt_fechamento.Focus(); return; } } } catch { MessageBox.Show("Data de fechamento invalida.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Buscar valor atual da conta (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_atual = TCN_LanCaixa.BuscarSaldoCaixaData(CD_ContaGer.Text, dt_fechamento.Data, null); object obj = new CamadaDados.Financeiro.Titulo.TCD_LanTitulo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.status_compensado, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "a.tp_titulo", vOperador = "=", vVL_Busca = "'R'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " + "inner join tb_fin_caixa y " + "on x.cd_contager = y.cd_contager " + "and x.cd_lanctocaixa = y.cd_lanctocaixa " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_banco = a.cd_banco " + "and x.nr_lanctocheque = a.nr_lanctocheque " + "and y.cd_contager = '" + CD_ContaGer.Text.Trim() + "' " + "and isnull(y.st_estorno, 'N') <> 'S' " + "and CONVERT(datetime, FLOOR(CONVERT(decimal(30,10), y.DT_Lancto))) <= '" + dt_fechamento.Data.ToString("yyyyMMdd") + "')" } }, "isnull(sum(a.vl_titulo), 0)"); (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_ch_rec_compensar = obj != null?decimal.Parse(obj.ToString()) : decimal.Zero; obj = new CamadaDados.Financeiro.Titulo.TCD_LanTitulo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.status_compensado, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "a.tp_titulo", vOperador = "=", vVL_Busca = "'R'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " + "inner join tb_fin_caixa y " + "on x.cd_contager = y.cd_contager " + "and x.cd_lanctocaixa = y.cd_lanctocaixa " + "inner join tb_fin_contager z " + "on y.cd_contager = c.cd_contager_compensacao " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_banco = a.cd_banco " + "and x.nr_lanctocheque = a.nr_lanctocheque " + "and z.cd_contager = '" + CD_ContaGer.Text.Trim() + "' " + "and isnull(y.st_estorno, 'N') <> 'S' " + "and CONVERT(datetime, FLOOR(CONVERT(decimal(30,10), y.DT_Lancto))) <= '" + dt_fechamento.Data.ToString("yyyyMMdd") + "')" } }, "isnull(sum(a.vl_titulo), 0)"); (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_ch_emit_compensar = obj != null?decimal.Parse(obj.ToString()) : decimal.Zero; //Verificar se a conta e de compensacao object obj_conta = new CamadaDados.Financeiro.Cadastros.TCD_CadContaGer().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_contager", vOperador = "=", vVL_Busca = "'" + CD_ContaGer.Text.Trim() + "'" }, new TpBusca() { vNM_Campo = "isnull(a.st_contacompensacao, 'N')", vOperador = "=", vVL_Busca = "'S'" } }, "1"); (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_saldofuturo = (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_atual - (obj_conta == null ? (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_ch_emit_compensar : (bsFechamentoCaixa.Current as TRegistro_LanFechamentoCaixa).Vl_ch_emit_compensar * -1); bsFechamentoCaixa.ResetCurrentItem(); }
public static string Transfere_Caixa(TRegistro_Lan_Transfere_Caixa val, TObjetoBanco banco) { TCD_Lan_Transferencia_Caixa QTB_Transfere_Caixa = new TCD_Lan_Transferencia_Caixa(); bool pode_liberar = false; try { if (banco == null) pode_liberar = QTB_Transfere_Caixa.CriarBanco_Dados(true); else QTB_Transfere_Caixa.Banco_Dados = banco; string retorno = string.Empty; //Grava Saida na conta origem if (val != null) { retorno = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_ContaGer = val.CD_ContaGer_Saida, Cd_Empresa = val.CD_Empresa, Nr_Docto = val.NR_Docto, Cd_Historico = val.CD_Historico, ComplHistorico = val.Complemento, Dt_lancto = val.DT_Lancto, Vl_PAGAR = val.Valor_Transferencia, Vl_RECEBER = decimal.Zero, St_Titulo = "N", St_Estorno = "N", St_avulso = val.St_avulso ? "S" : "N" }, QTB_Transfere_Caixa.Banco_Dados); val.CD_LANCTOCAIXA_SAI = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")); } //Grava Entrada na conta destino if (val != null) { retorno = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_ContaGer = val.CD_ContaGer_Entrada, Cd_Empresa = val.CD_Empresa, Nr_Docto = val.NR_Docto, Cd_Historico = val.CD_Historico, Dt_lancto = val.DT_Lancto, Vl_PAGAR = decimal.Zero, Vl_RECEBER = val.Vl_saida_transferencia, St_Titulo = "N", St_Estorno = "N", St_avulso = val.St_avulso ? "S" : "N" }, QTB_Transfere_Caixa.Banco_Dados); val.CD_LANCTOCAIXA_ENT = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")); } //Grava na Transfere Caixa val.ID_TRANSF = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(QTB_Transfere_Caixa.Grava_Transferencia(val), "@P_ID_TRANSF")); if (pode_liberar) QTB_Transfere_Caixa.Banco_Dados.Commit_Tran(); return retorno; } catch(Exception ex) { if (pode_liberar) QTB_Transfere_Caixa.Banco_Dados.RollBack_Tran(); throw new Exception("Erro gravar transferencia caixa: " + ex.Message.Trim()); } finally { if (pode_liberar) QTB_Transfere_Caixa.deletarBanco_Dados(); } }
private void BB_Alterar_Click(object sender, EventArgs e) { if (tabControl1.SelectedIndex == 0) { if (!(BS_Duplicata.List as IEnumerable <TRegistro_LanDuplicata>).ToList().Exists(r => r.St_liquidar)) { MessageBox.Show("Nenhum registro selecionado para auditar.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (MessageBox.Show("Confirma auditar todos registros selecionados, está opção não poderá ser desfeita.", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } TList_RegLanDuplicata _LanDuplicatas = new TList_RegLanDuplicata(); (BS_Duplicata.List as IEnumerable <TRegistro_LanDuplicata>).ToList().FindAll(r => r.St_liquidar).ForEach(p => { _LanDuplicatas.Add(p); }); try { TCN_LanDuplicata.AuditarDuplicatas(_LanDuplicatas, null); MessageBox.Show("Auditado com sucesso.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information); (BS_Duplicata.DataSource as TList_RegLanDuplicata).RemoveAll(r => r.St_liquidar = true); BS_Duplicata.ResetBindings(true); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { if (!(bsCaixa.List as IEnumerable <TRegistro_LanCaixa>).ToList().Exists(r => r.St_conciliar)) { MessageBox.Show("Nenhum registro selecionado para auditar.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else if (MessageBox.Show("Confirma auditar todos registros selecionados, está opção não poderá ser desfeita.", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } TList_LanCaixa _LanCaixas = new TList_LanCaixa(); (bsCaixa.List as IEnumerable <TRegistro_LanCaixa>).ToList().FindAll(r => r.St_conciliar).ForEach(p => { _LanCaixas.Add(p); }); try { TCN_LanCaixa.AuditarCaixa(_LanCaixas, null); MessageBox.Show("Auditado com sucesso.", "Informativo", MessageBoxButtons.OK, MessageBoxIcon.Information); (bsCaixa.DataSource as TList_LanCaixa).RemoveAll(r => r.St_conciliar); bsCaixa.ResetBindings(true); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public static string Gravar(TRegistro_CarregaCartaoPre val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CarregaCartaoPre qtb_fatura = new TCD_CarregaCartaoPre(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } CamadaDados.Financeiro.Cadastros.TList_CFGFaturaCartao lCfg = new CamadaDados.Financeiro.Cadastros.TCD_CFGFaturaCartao(qtb_fatura.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, 1, string.Empty); if (lCfg.Count == 0) { throw new Exception("Não existe CFG. Fatura Cartão!"); } if (!string.IsNullOrEmpty(val.Cd_contager)) { //Gravar caixa string ret = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Nr_Docto = "CRÉD. " + val.Nr_cartao.Trim(), Cd_Historico = lCfg[0].Cd_historico_pag, Login = Utils.Parametros.pubLogin, ComplHistorico = "CRÉDITO CARTÃO", Dt_lancto = val.Dt_carga, Vl_PAGAR = val.Vl_carga, Vl_RECEBER = decimal.Zero, St_Titulo = "N", St_Estorno = "N", St_avulso = "N" }, qtb_fatura.Banco_Dados); val.Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_CD_LANCTOCAIXA")); } val.Id_cargastr = CamadaDados.TDataQuery.getPubVariavel(qtb_fatura.Gravar(val), "@P_ID_CARGA"); if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } return(val.Id_cargastr); } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
public static void QuitarFatura(List <TRegistro_FaturaCartao> val, DateTime Dt_quitacao, string Cd_contager, string Cd_empresa, string Tp_movimento, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FaturaCartao qtb_fatura = new TCD_FaturaCartao(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } //Buscar configuracao para quitar fatura TList_CFGFaturaCartao lCfg = TCN_CFGFaturaCartao.Buscar(Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, qtb_fatura.Banco_Dados); if (lCfg.Count.Equals(0)) { throw new Exception("Não existe configuração para quitar fatura na empresa " + Cd_empresa.Trim()); } //Incluir lancamento de caixa na conta de quitacao string cd_lanctocaixa_q = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_Empresa = Cd_empresa, Cd_ContaGer = Cd_contager, Nr_Docto = "QUITARFAT", ComplHistorico = "QUITACAO FATURA CARTAO", Dt_lancto = Dt_quitacao, Cd_Historico = Tp_movimento.Trim().ToUpper().Equals("P") ? lCfg[0].Cd_historico_pag : lCfg[0].Cd_historico_rec, Vl_RECEBER = Tp_movimento.Trim().ToUpper().Equals("R") ? val.Sum(p => p.Vl_nominal - p.Vl_quitado) : decimal.Zero, Vl_PAGAR = Tp_movimento.Trim().ToUpper().Equals("P") ? val.Sum(p => p.Vl_nominal - p.Vl_quitado) : decimal.Zero, St_Estorno = "N" }, qtb_fatura.Banco_Dados); //Gravar Juro string cd_lanctocaixajr = string.Empty; if (val.Sum(p => p.Vl_juro) > decimal.Zero) { if (string.IsNullOrEmpty(lCfg[0].Cd_historico_juro)) { throw new Exception("Não existe configuração para quitar juro da fatura na empresa " + Cd_empresa.Trim()); } cd_lanctocaixajr = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_Empresa = Cd_empresa, Cd_ContaGer = Cd_contager, Nr_Docto = "JUROFATURA", ComplHistorico = "JURO FATURA CARTAO", Dt_lancto = Dt_quitacao, Cd_Historico = lCfg[0].Cd_historico_juro, Vl_RECEBER = decimal.Zero, Vl_PAGAR = val.Sum(p => p.Vl_juro), St_Titulo = "N", St_Estorno = "N" }, qtb_fatura.Banco_Dados); } //Gravar Caixa Taxa string cd_lanctocaixatx = string.Empty; if (val.Sum(p => p.Vl_taxa) > decimal.Zero) { if (string.IsNullOrEmpty(lCfg[0].Cd_historico_taxa)) { throw new Exception("Não existe configuração para quitar taxa da fatura na empresa " + Cd_empresa.Trim()); } cd_lanctocaixatx = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_Empresa = Cd_empresa, Cd_ContaGer = Cd_contager, Nr_Docto = "TXFATURA", ComplHistorico = "TAXA FATURA CARTAO", Dt_lancto = Dt_quitacao, Cd_Historico = lCfg[0].Cd_historico_taxa, Vl_RECEBER = decimal.Zero, Vl_PAGAR = Math.Round(val.Sum(p => p.Vl_taxa), 2), St_Estorno = "N", St_Titulo = "N" }, qtb_fatura.Banco_Dados); } val.ForEach(p => { if ((p.Vl_fatura - p.Vl_quitado) > decimal.Zero) { if (p.Dt_fatura.Value.Date > Dt_quitacao.Date) { throw new Exception("Não é permitido quitar fatura com data de lançamento maior que a data de quitação."); } //Incluir lancamento de caixa contrario ao original string cd_lanctocaixa_o = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_Empresa = Cd_empresa, Cd_ContaGer = p.Cd_contager, Nr_Docto = p.Id_fatura.Value.ToString(), Dt_lancto = Dt_quitacao, Cd_Historico = p.Tp_movimento.Trim().ToUpper().Equals("P") ? lCfg[0].Cd_historico_pag : lCfg[0].Cd_historico_rec, Vl_RECEBER = p.Tp_movimento.Trim().ToUpper().Equals("P") ? p.Vl_fatura - p.Vl_quitado : decimal.Zero, Vl_PAGAR = p.Tp_movimento.Trim().ToUpper().Equals("R") ? p.Vl_fatura - p.Vl_quitado : decimal.Zero, St_Estorno = "N" }, qtb_fatura.Banco_Dados); decimal?cd_tx = null; if (p.Pc_taxa > decimal.Zero) { cd_tx = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(cd_lanctocaixatx, "@P_CD_LANCTOCAIXA")); } decimal?cd_jr = null; if (!string.IsNullOrEmpty(cd_lanctocaixajr)) { cd_jr = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(cd_lanctocaixajr, "@P_CD_LANCTOCAIXA")); } //Incluir Registo na Tabela de Quitacao TCN_QuitarFatura.Gravar( new TRegistro_Quitarfatura() { Id_quitar = null, Id_fatura = p.Id_fatura, Cd_contager = p.Cd_contager, Cd_lanctocaixa = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(cd_lanctocaixa_o, "@P_CD_LANCTOCAIXA")), Cd_contagerquit = Cd_contager, Cd_lanctocaixaquit = decimal.Parse(CamadaDados.TDataQuery.getPubVariavel(cd_lanctocaixa_q, "@P_CD_LANCTOCAIXA")), Cd_lanctocaixajuro = cd_jr, Cd_lanctocaixatx = cd_tx, Dt_lancto = Dt_quitacao, Vl_quitado = p.Vl_fatura - p.Vl_quitado, Vl_juro = p.Vl_juro, Vl_taxa = p.Vl_taxa }, qtb_fatura.Banco_Dados); } }); if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro quitar fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_FaturaCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FaturaCartao qtb_fatura = new TCD_FaturaCartao(); try { if (banco == null) { st_transacao = qtb_fatura.CriarBanco_Dados(true); } else { qtb_fatura.Banco_Dados = banco; } string retorno = qtb_fatura.Gravar(val); val.Id_fatura = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_FATURA")); if (!string.IsNullOrEmpty(val.Cd_contager)) { //Gravar caixa string ret = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Nr_Docto = "FAT" + val.Id_fatura.Value.ToString(), Cd_Historico = val.Cd_historico, Login = Utils.Parametros.pubLogin, ComplHistorico = "FATURA CARTAO AVULSA", Dt_lancto = val.Dt_fatura, Vl_PAGAR = decimal.Zero, Vl_RECEBER = val.Vl_nominal, St_Titulo = "N", St_Estorno = "N", St_avulso = "N", Id_adto = val.Id_adto }, qtb_fatura.Banco_Dados); //Amarrar caixa com fatura TCN_FaturaCartao_X_Caixa.Gravar(new TRegistro_FaturaCartao_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret, "@P_CD_LANCTOCAIXA")), Id_fatura = val.Id_fatura }, qtb_fatura.Banco_Dados); } if (st_transacao) { qtb_fatura.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_fatura.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar fatura: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_fatura.deletarBanco_Dados(); } } }
private void BB_Novo_Click(object sender, EventArgs e) { using (TFLanCaixa FLanCaixa = new TFLanCaixa()) { FLanCaixa.dsLanCaixa.DataSource = bindingSourceCaixa; FLanCaixa.dsLanCaixa.AddNew(); (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Vl_Anterior = VL_DifCX.Value; (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Cd_ContaGer = cbContaGer.SelectedItem != null?cbContaGer.SelectedValue.ToString() : string.Empty; if (FLanCaixa.ShowDialog() == DialogResult.OK) { //Lancar Centro Resultado if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("CRESULTADO_EMPRESA", (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Cd_Empresa, null).Trim().ToUpper().Equals("S")) { //Verificar se historico possui centro resultado cadastrado object obj = new TCD_CadHistorico().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_historico", vOperador = "=", vVL_Busca = "'" + (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Cd_Historico.Trim() + "'" } }, "a.cd_centroresult"); if (obj == null ? false : !string.IsNullOrEmpty(obj.ToString())) { (bindingSourceCaixa.Current as TRegistro_LanCaixa).lCustoLancto.Add( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Cd_empresa = (bindingSourceCaixa.Current as TRegistro_LanCaixa).Cd_Empresa, Cd_centroresult = obj.ToString(), Vl_lancto = (bindingSourceCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR > decimal.Zero ? (bindingSourceCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR : (bindingSourceCaixa.Current as TRegistro_LanCaixa).Vl_RECEBER, Dt_lancto = (bindingSourceCaixa.Current as TRegistro_LanCaixa).Dt_lancto, Tp_registro = "A" }); } else { using (TFRateioCResultado fRateio = new TFRateioCResultado()) { fRateio.vVl_Documento = (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR > decimal.Zero ? (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR : (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Vl_RECEBER; fRateio.Tp_mov = (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Vl_PAGAR > decimal.Zero ? "P" : "R"; fRateio.Dt_movimento = (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).Dt_lancto; fRateio.ShowDialog(); (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).lCustoLancto = fRateio.lCResultado; (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).lCustoLanDel = fRateio.lCResultadoDel; } } } try { //Setar como lancamento caixa avulso (FLanCaixa.dsLanCaixa.Current as TRegistro_LanCaixa).St_avulso = "S"; TCN_LanCaixa.GravaLanCaixa((bindingSourceCaixa.Current as TRegistro_LanCaixa), null); afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); FLanCaixa.dsLanCaixa.CancelEdit(); } } else { FLanCaixa.dsLanCaixa.CancelEdit(); } } }
private void afterBusca() { if (cbContaGer.SelectedItem != null) { string cheque = string.Empty; string estorno = string.Empty; if (ST_Cheques.Checked) { cheque = string.Empty; } else { cheque = ST_Cheques.Vl_False; } if (ST_Estorno.Checked) { estorno = string.Empty; } else { estorno = ST_Estorno.Vl_False; } bindingSourceCaixa.DataSource = TCN_LanCaixa.Busca(cbContaGer.SelectedValue.ToString(), string.Empty, string.Empty, nr_docto.Text, cd_historico.Text, string.Empty, DT_Inicial.Text, DT_Final.Text, vl_ini.Value, vl_fin.Value, rgValor.NM_Valor, cheque, estorno, false, string.Empty, 0, cbAvulsos.Checked, null); //Buscar Totais object obj = new CamadaDados.Financeiro.Titulo.TCD_LanTitulo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.status_compensado, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "a.tp_titulo", vOperador = "=", vVL_Busca = "'R'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " + "inner join tb_fin_caixa y " + "on x.cd_contager = y.cd_contager " + "and x.cd_lanctocaixa = y.cd_lanctocaixa " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_banco = a.cd_banco " + "and x.nr_lanctocheque = a.nr_lanctocheque " + "and y.cd_contager = '" + cbContaGer.SelectedValue.ToString() + "' " + "and isnull(y.st_estorno, 'N') <> 'S')" } }, "isnull(sum(a.vl_titulo), 0)"); Tot_Ch_REC.Value = obj != null?decimal.Parse(obj.ToString()) : decimal.Zero; obj = new CamadaDados.Financeiro.Titulo.TCD_LanTitulo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.status_compensado, 'N')", vOperador = "=", vVL_Busca = "'N'" }, new TpBusca() { vNM_Campo = "a.tp_titulo", vOperador = "=", vVL_Busca = "'P'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fin_titulo_x_caixa x " + "inner join tb_fin_caixa y " + "on x.cd_contager = y.cd_contager " + "and x.cd_lanctocaixa = y.cd_lanctocaixa " + "inner join tb_fin_contager z " + "on y.cd_contager = z.cd_contager_compensacao " + "where x.cd_empresa = a.cd_empresa " + "and x.cd_banco = a.cd_banco " + "and x.nr_lanctocheque = a.nr_lanctocheque " + "and z.cd_contager = '" + cbContaGer.SelectedValue.ToString() + "' " + "and isnull(y.st_estorno, 'N') <> 'S')" } }, "isnull(sum(a.vl_titulo), 0)"); Tot_Ch_PAG.Value = obj != null?decimal.Parse(obj.ToString()) : decimal.Zero; VL_DifCX.Value = TCN_LanCaixa.BuscarSaldoCaixa(cbContaGer.SelectedValue.ToString(), null); //Verificar se a conta e de compensacao object obj_conta = new TCD_CadContaGer().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_contager", vOperador = "=", vVL_Busca = "'" + cbContaGer.SelectedValue.ToString().Trim() + "'" }, new TpBusca() { vNM_Campo = "isnull(a.st_contacompensacao, 'N')", vOperador = "=", vVL_Busca = "'S'" } }, "1"); VL_SaldoLiquido.Value = VL_DifCX.Value - (obj_conta == null ? Tot_Ch_PAG.Value : Tot_Ch_PAG.Value * -1); //Buscar Aplicações bsSaldoAplic.DataSource = new TCD_SaldoContaGer().Select(string.Empty, cbContaGer.SelectedValue.ToString()); if (bsSaldoAplic.Count > 0) { tlpTotais.ColumnStyles[1].Width = 405; } else { tlpTotais.ColumnStyles[1].Width = 0; } bindingSourceCaixa_PositionChanged(this, new EventArgs()); } else { MessageBox.Show("Obrigatório informar conta gerencial.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public static string Deletar(TRegistro_Lan_RetencaoFinanceiraGMO val, TObjetoBanco banco) { bool st_transacao = false; TCD_Lan_RetencaoFinanceiraGMO cd = new TCD_Lan_RetencaoFinanceiraGMO(); try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } cd.DeletarRetencaoFinanceiraGMO(val); //Excluir Royalties GMO TCN_LanRoyaltiesGMO.Buscar(val.Id_LanctoGMO.ToString(), string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, cd.Banco_Dados).ForEach(p => TCN_LanRoyaltiesGMO.DeletarLanRoyaltiesGMO(p, cd.Banco_Dados)); //Estornar caixa CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.Busca(val.Cd_ContaGer, val.Cd_LanctoCaixa.ToString(), val.Cd_Empresa, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, false, string.Empty, decimal.Zero, false, cd.Banco_Dados).ForEach(p => TCN_LanCaixa.EstornarCaixa(p, null, cd.Banco_Dados)); //Estornar liquidacao TCN_LanLiquidacao.Busca(val.Cd_Empresa, val.Nr_Lancto.Value, val.Cd_Parcela.Value, Convert.ToInt16(val.Id_Liquid), val.Cd_ContaGer, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, decimal.Zero, false, string.Empty, 0, string.Empty, cd.Banco_Dados).ForEach(p => TCN_LanLiquidacao.CancelarLiquidacao(p, null, cd.Banco_Dados)); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir retenção: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static string ProcessarLote(TRegistro_LoteBloqueto val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LoteBloqueto qtb_lote = new TCD_LoteBloqueto(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } //Lancamento de caixa no valor liquido //Buscar historico na configuracao do banco TList_CadCFGBanco lCfg = Cadastros.TCN_CadCFGBanco.Buscar(val.Id_configstr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, 1, qtb_lote.Banco_Dados); if (lCfg.Count > 0) { if (string.IsNullOrEmpty(lCfg[0].Cd_historico_desconto)) { throw new Exception("Não existe configuração de historico para desconto de bloquetos\r\n" + "para a configuração " + val.Ds_config.Trim()); } decimal total_bloquetos = val.ListaBloqueto.Sum(p => p.Vl_documento); string retorno = TCN_LanCaixa.GravaLanCaixa( new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_desconto, ComplHistorico = "DESCONTO DE BLOQUETOS DO LOTE " + val.Id_lotestr, Dt_lancto = val.Dt_processamento, Nr_Docto = "LOTE" + val.Id_lotestr, St_Estorno = "N", Vl_PAGAR = 0, Vl_RECEBER = total_bloquetos }, qtb_lote.Banco_Dados); //Amarrar este lancamento de caixa ao lote //com o campo TP_Registro = D (DESCONTO) TCN_Bloqueto_X_Caixa.Gravar(new TRegistro_Lote_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_lote = val.Id_lote.Value, Tp_registro = "D" }, qtb_lote.Banco_Dados); //Lancar Taxa if (string.IsNullOrEmpty(lCfg[0].Cd_historico_taxadesc)) { throw new Exception("Não existe configuração de historico para taxa desconto de bloquetos\r\n" + "para a configuração " + val.Ds_config.Trim()); } retorno = TCN_LanCaixa.GravaLanCaixa(new TRegistro_LanCaixa() { Cd_ContaGer = val.Cd_contager, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfg[0].Cd_historico_taxadesc, ComplHistorico = "TAXA DESCONTO BLOQUETOS DO LOTE " + val.Id_lotestr, Dt_lancto = val.Dt_processamento, Nr_Docto = "LOTE" + val.Id_lote, St_Estorno = "N", Vl_PAGAR = val.Vl_taxa, Vl_RECEBER = decimal.Zero }, qtb_lote.Banco_Dados); //Amarrar este lancamento de caixa ao lote //com o campo TP_Registro = T (TAXA) TCN_Bloqueto_X_Caixa.Gravar(new TRegistro_Lote_X_Caixa() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_lote = val.Id_lote.Value, Tp_registro = "T" }, qtb_lote.Banco_Dados); //Gravar centro resultado taxa cobrança if (!string.IsNullOrEmpty(lCfg[0].Cd_centroresultTXCob)) { //Gravar Lancto Resultado string id = CCustoLan.TCN_LanCCustoLancto.Gravar( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Cd_empresa = val.Cd_empresa, Cd_centroresult = lCfg[0].Cd_centroresultTXCob, Vl_lancto = val.Vl_taxa, Dt_lancto = val.Dt_processamento }, qtb_lote.Banco_Dados); //Amarrar Lancto a Caixa TCN_Caixa_X_CCusto.Gravar(new TRegistro_Caixa_X_CCusto() { Cd_contager = val.Cd_contager, Cd_lanctocaixa = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_CD_LANCTOCAIXA")), Id_ccustolan = decimal.Parse(id) }, qtb_lote.Banco_Dados); } val.ListaBloqueto.ForEach(p => { //Alterar status dos bloquetos para D - Descontado p.St_registro = "D"; TCN_Titulo.Gravar(p, qtb_lote.Banco_Dados); //Criar lista de lote x titulo val.lBloquetos.Add(new TRegistro_Lote_X_Titulo() { Cd_empresa = p.Cd_empresa, Cd_parcela = p.Cd_parcela, Id_cobranca = p.Id_cobranca, Id_lote = val.Id_lote.Value, Nr_lancto = p.Nr_lancto, Vl_documento = p.Vl_documento }); }); //Calcular valor taxa por bloqueto val.lBloquetos.ForEach(p => p.Vl_taxa = Math.Round(((val.Vl_taxa / total_bloquetos) * p.Vl_documento), 2)); decimal total_taxa = val.lBloquetos.Sum(p => p.Vl_taxa); if (val.Vl_taxa != total_taxa) { val.lBloquetos[val.lBloquetos.Count - 1].Vl_taxa += (val.Vl_taxa - total_taxa); } //Gravar lote x titulo com o valor da taxa val.lBloquetos.ForEach(p => TCN_Lote_X_Titulo.Gravar(p, qtb_lote.Banco_Dados)); //Limpar lista de bloquetos para //que a gravacao do lote nao altere //novamente a lista de bloquetos val.ListaBloqueto.Clear(); //Alterar status do lote para processado val.St_registro = "P"; Gravar(val, qtb_lote.Banco_Dados); if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } return(retorno); } else { throw new Exception("Não existe configuração para emissão de bloquetos para a empresa " + val.Cd_empresa.Trim() + " e conta gerencial " + val.Cd_contager.Trim()); } } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }