public TRegistro_ContratoFin() { this.NR_Contrato = null; this.NR_ContratoStr = string.Empty; this.Cd_empresa = string.Empty; this.Nm_empresa = string.Empty; this.Cd_clifor = string.Empty; this.Nm_clifor = string.Empty; this.Cd_endereco = string.Empty; this.Ds_endereco = string.Empty; this.Ds_contrato = string.Empty; this.NR_ContratoOrigem = string.Empty; this.Nr_lancto = null; this.Cd_condPagto = string.Empty; this.QTD_parcelas = decimal.Zero; this.QTD_diasdesdobro = 30; this.Vl_Contrato = decimal.Zero; this.dt_contrato = DateTime.Now; this.dt_contratostr = DateTime.Now.ToString(); this.Ds_observacao = string.Empty; this.dt_vencimento = null; this.dt_vencimentostr = string.Empty; this.Ds_cultura = string.Empty; this.Ds_area = string.Empty; this.lParc = new TList_ParcelaContrato(); this.lParcDel = new TList_ParcelaContrato(); this.lDup = new CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata(); this.lParcela = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(); }
private void gParcela_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gParcela.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsParc.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela()); CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lComparer; SortOrder direcao = SortOrder.None; if ((gParcela.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gParcela.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(lP.Find(gParcela.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gParcela.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(lP.Find(gParcela.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gParcela.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsParc.List as CamadaDados.Financeiro.Duplicata.TList_RegLanParcela).Sort(lComparer); bsParc.ResetBindings(false); gParcela.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }
public TRegistro_PesagemAvulsa() { this.Cd_empresa = string.Empty; this.Nm_empresa = string.Empty; this.id_ticket = null; this.id_ticketstr = string.Empty; this.Tp_pesagem = string.Empty; this.Nm_tppesagem = string.Empty; this.Tp_modo = string.Empty; this.id_ticketorig = null; this.id_ticketorigstr = string.Empty; this.tp_movimento = string.Empty; this.tipo_movimento = string.Empty; this.Placacarreta = string.Empty; this.Placacavalo = string.Empty; this.dt_bruto = null; this.dt_brutostring = string.Empty; this.dt_tara = null; this.dt_tarastring = string.Empty; this.Ps_bruto = decimal.Zero; this.Ps_tara = decimal.Zero; this.ps_liquido = decimal.Zero; this.Cd_transp = string.Empty; this.Login_pstara = string.Empty; this.Login_psbruto = string.Empty; this.Cd_tpveiculo = string.Empty; this.Ds_tpveiculo = string.Empty; this.Nm_motorista = string.Empty; this.Cpf_cnpj_mot = string.Empty; this.tp_captura_bruto = string.Empty; this.tipo_captura_bruto = string.Empty; this.tp_captura_tara = string.Empty; this.tipo_captura_tara = string.Empty; this.Qtd_embalagem = decimal.Zero; this.Ps_embalagem = decimal.Zero; this.Ds_observacao = string.Empty; this.st_registro = "A"; this.status = "ABERTO"; this.tp_transbordo = "N"; this.tp_transbordobool = false; this.Ps_transbordo = decimal.Zero; this.St_processarTicketRef = false; this.Ds_motivocancelamento = string.Empty; this.lFotosPesagem = new TList_FotosPesagem(); this.lFotosPesagemExcluir = new TList_FotosPesagem(); this.Cnpjempresa = string.Empty; this.Ds_enderecoempresa = string.Empty; this.Numeroempresa = string.Empty; this.Bairroempresa = string.Empty; this.Ds_cidadeempresa = string.Empty; this.Ufempresa = string.Empty; this.Foneempresa = string.Empty; this.Ds_carga = string.Empty; this.Cd_clifor = string.Empty; this.Nm_clifor = string.Empty; this.Vl_taxa = decimal.Zero; this.Nr_lancto = null; this.St_financeiro = string.Empty; this.lDup = new CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata(); this.lParc = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(); }
public static string Gravar(TRegistro_Devolucao val, CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParc, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Devolucao qtb_dev = new TCD_Devolucao(); try { if (banco == null) { st_transacao = qtb_dev.CriarBanco_Dados(true); } else { qtb_dev.Banco_Dados = banco; } decimal tot_devolver = Math.Round(val.lItens.Sum(p => p.Qtd_devolver * (p.Vl_subtotalliquido / p.Quantidade)), 2); TList_DevolucaoFIN lDevFin = new TList_DevolucaoFIN(); if (lParc?.Count > 0) { foreach (CamadaDados.Financeiro.Duplicata.TRegistro_LanParcela p in lParc) { if (tot_devolver > decimal.Zero) { lDevFin.Add(new TRegistro_DevolucaoFIN() { Nr_lancto = p.Nr_lancto, Cd_parcela = p.Cd_parcela, Vl_devolvido = tot_devolver < p.cVl_atual ? tot_devolver : p.cVl_atual }); tot_devolver -= tot_devolver < p.cVl_atual ? tot_devolver : p.cVl_atual; } else { break; } } } if (tot_devolver > decimal.Zero) { //Buscar Config Adto CamadaDados.Financeiro.Cadastros.TList_ConfigAdto lCfgAdto = CamadaNegocio.Financeiro.Cadastros.TCN_CadConfigAdto.Buscar(val.Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, 1, string.Empty, qtb_dev.Banco_Dados); if (lCfgAdto.Count.Equals(0)) { throw new Exception("Não existe configuração adiantamento para gerar credito."); } //Gerar Credito do valor devolvido CamadaDados.Financeiro.Adiantamento.TRegistro_LanAdiantamento rAdto = new CamadaDados.Financeiro.Adiantamento.TRegistro_LanAdiantamento(); rAdto.Cd_clifor = val.Cd_clifor; rAdto.Cd_empresa = val.Cd_empresa; //Buscar endereco object obj = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_clifor", vOperador = "=", vVL_Busca = "'" + val.Cd_clifor.Trim() + "'" } }, "a.cd_endereco"); rAdto.CD_Endereco = obj == null ? string.Empty : obj.ToString(); rAdto.Ds_adto = "CREDITO RECEBIDO DEVOLUÇÃO VENDA"; rAdto.Tp_movimento = "R"; rAdto.Dt_lancto = val.Dt_devolucao; rAdto.Vl_adto = tot_devolver; rAdto.ST_ADTO = "A"; rAdto.TP_Lancto = "T";//Frente Caixa CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamento.Gravar(rAdto, qtb_dev.Banco_Dados); //Quitar adiantamento rAdto.List_Caixa.Add(new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = lCfgAdto[0].Cd_contagerDEV_CV, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfgAdto[0].Cd_historico_ADTO_R, Cd_LanctoCaixa = decimal.Zero, ComplHistorico = "CREDITO RECEBIDO DEVOLUÇÃO VENDA", Dt_lancto = val.Dt_devolucao, Login = Utils.Parametros.pubLogin, Nr_Docto = "DEVPDV", St_Estorno = "N", St_Titulo = "N", Vl_PAGAR = decimal.Zero, Vl_RECEBER = rAdto.Vl_adto, NM_Clifor = val.Nm_clifor }); CamadaNegocio.Financeiro.Adiantamento.TCN_LanAdiantamentoXCaixa.Quitar_Adiantamento(rAdto, qtb_dev.Banco_Dados); val.Id_adto = rAdto.Id_adto; //Dar saida do valor do credito para não duplicar o valor string ret = CamadaNegocio.Financeiro.Caixa.TCN_LanCaixa.GravaLanCaixa( new CamadaDados.Financeiro.Caixa.TRegistro_LanCaixa() { Cd_ContaGer = lCfgAdto[0].Cd_contagerDEV_CV, Cd_Empresa = val.Cd_empresa, Cd_Historico = lCfgAdto[0].Cd_historicoDEV_Venda, Cd_LanctoCaixa = decimal.Zero, ComplHistorico = "DEVOLUÇÃO VENDA", Dt_lancto = val.Dt_devolucao, Login = Utils.Parametros.pubLogin, Nr_Docto = "DEVPDV", St_Estorno = "N", St_Titulo = "N", Vl_PAGAR = rAdto.Vl_adto, Vl_RECEBER = decimal.Zero, NM_Clifor = val.Nm_clifor }, qtb_dev.Banco_Dados); val.Cd_contager = lCfgAdto[0].Cd_contagerDEV_CV; val.Cd_lanctocaixastr = CamadaDados.TDataQuery.getPubVariavel(ret, "@P_CD_LANCTOCAIXA"); } //Gravar devolucao val.Id_devolucaostr = CamadaDados.TDataQuery.getPubVariavel(qtb_dev.Gravar(val), "@P_ID_DEVOLUCAO"); lDevFin.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_devolucao = val.Id_devolucao; TCN_DevolucaoFIN.Gravar(p, qtb_dev.Banco_Dados); }); //Gravar Itens Devolvidos val.lItens.ForEach(p => { decimal vl_unit = decimal.Zero; //Buscar Vl.Unitario object objVl_unit = new TCD_LanEstoque(qtb_dev.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_CupomFiscal_Item_X_Estoque x " + "where a.Id_LanctoEstoque = x.Id_LanctoEstoque " + "and a.cd_empresa = x.cd_empresa " + "and a.cd_produto = x.cd_produto " + "and x.id_lancto = " + p.Id_lanctovenda.ToString() + " " + "and x.id_cupom = " + p.Id_vendarapida.ToString() + " " + "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " + "and x.cd_produto = '" + p.Cd_produto.Trim() + "')" } }, "a.vl_unitario"); if (objVl_unit == null || string.IsNullOrEmpty(objVl_unit.ToString())) { vl_unit = TCN_LanEstoque.BuscarVlEstoqueUltimaCompra(val.Cd_empresa, p.Cd_produto, qtb_dev.Banco_Dados); } else { vl_unit = decimal.Parse(objVl_unit.ToString()); } //dar entrada novamente no estoque string id_lanctoestoque = CamadaDados.TDataQuery.getPubVariavel( TCN_LanEstoque.GravarEstoque( new TRegistro_LanEstoque() { Cd_empresa = val.Cd_empresa, Cd_produto = p.Cd_produto, Cd_local = p.Cd_local, Dt_lancto = val.Dt_devolucao, Tp_movimento = "E", Qtd_entrada = p.Qtd_devolver, Qtd_saida = decimal.Zero, Vl_unitario = vl_unit, Vl_subtotal = vl_unit, Tp_lancto = "L", St_registro = "A", Ds_observacao = "DEVOLUCAO VENDA FRENTE CAIXA Nº" + p.Id_vendarapida.Value.ToString() }, qtb_dev.Banco_Dados), "@@P_ID_LANCTOESTOQUE"); //gravar itens devolvidos TCN_ItensDevolvidos.Gravar(new TRegistro_ItensDevolvidos() { Cd_empresa = val.Cd_empresa, Id_devolucao = val.Id_devolucao, Id_lancto = p.Id_lanctovenda, Id_cupom = p.Id_vendarapida, Cd_produto = p.Cd_produto, Id_lanctoestoquestr = id_lanctoestoque }, qtb_dev.Banco_Dados); //Grade Produto p.lGrade.ForEach(v => { if (v.Vl_mov > decimal.Zero) { TCN_GradeEstoque.Gravar( new TRegistro_GradeEstoque { Cd_empresa = p.Cd_empresa, Cd_produto = p.Cd_produto, Id_lanctoestoque = decimal.Parse(id_lanctoestoque), Id_caracteristica = v.Id_caracteristica, Id_item = v.Id_item, quantidade = v.Vl_mov }, qtb_dev.Banco_Dados); } }); }); //Reprocessar Comissão new TCD_VendaRapida_Item(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_vendarapida", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, 0, string.Empty, string.Empty).ForEach(p => PDV.TCN_VendaRapida_Item.ProcessarComissao(p, qtb_dev.Banco_Dados)); if (val.lItens.Count > 0) { //Recalcular Pontos Fidelidade new CamadaDados.Faturamento.Fidelizacao.TCD_PontosFidelidade(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() } }, 0, string.Empty, string.Empty).ForEach(x => { System.Collections.Hashtable hs = new System.Collections.Hashtable(3); hs.Add("@P_CD_EMPRESA", x.Cd_empresa); hs.Add("@P_ID_CUPOM", x.Id_cupomstr); hs.Add("@P_QTD_DEVOLVER", val.lItens.Sum(p => p.Qtd_devolver * (x.Qt_pontos / p.Quantidade))); qtb_dev.executarSql("update TB_FAT_PontosFidelidade set QT_Pontos = QT_Pontos - @P_QTD_DEVOLVER" + " where cd_empresa = @P_CD_EMPRESA" + " and id_cupom = @P_ID_CUPOM", hs); }); //Recalcular Resgate new CamadaDados.Faturamento.Fidelizacao.TCD_ResgatePontos(qtb_dev.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_cupom", vOperador = "=", vVL_Busca = val.lItens[0].Id_vendarapida.ToString() } }, 0, string.Empty).ForEach(x => { System.Collections.Hashtable hs = new System.Collections.Hashtable(4); hs.Add("@P_CD_EMPRESA", x.Cd_empresa); hs.Add("@P_ID_CUPOM", x.Id_cupomstr); hs.Add("@P_ID_PONTO", x.Id_pontostr); hs.Add("@P_QTD_DEVOLVER", val.lItens.Sum(p => p.Qtd_devolver * (x.Qt_pontos / p.Quantidade))); qtb_dev.executarSql("update TB_FAT_ResgatePontos set QT_Pontos = QT_Pontos - @P_QTD_DEVOLVER" + " where cd_empresa = @P_CD_EMPRESA" + " and id_cupom = @P_ID_CUPOM" + " and id_ponto = @P_ID_PONTO", hs); }); } if (st_transacao) { qtb_dev.Banco_Dados.Commit_Tran(); } return(val.Id_devolucaostr); } catch (Exception ex) { if (st_transacao) { qtb_dev.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar devolução:" + ex.Message.Trim()); } finally { if (st_transacao) { qtb_dev.deletarBanco_Dados(); } } }
private void VincularCfNFe() { using (Proc_Commoditties.TFVincularECFNF fVincular = new Proc_Commoditties.TFVincularECFNF()) { if (fVincular.ShowDialog() == DialogResult.OK) { if (fVincular.lCupom != null) { if (fVincular.lCupom.Count > 0) { CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = null; try { rPed = Proc_Commoditties.TProcessaCFVinculadoNF.ProcessarPedido(fVincular.lCupom, fVincular.pCd_empresa, fVincular.pCd_cliente); //Gravar Pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Grava_Pedido(rPed, null); //Buscar pedido rPed = CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Registro_Pedido(rPed.Nr_pedido.ToString(), null); //Buscar itens pedido CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Busca_Pedido_Itens(rPed, false, null); //Se o CMI do pedido gerar financeiro CamadaDados.Financeiro.Duplicata.TList_RegLanParcela lParcVinculado = new CamadaDados.Financeiro.Duplicata.TList_RegLanParcela(); //Buscar parcelas em aberto dos cupons que estao sendo vinculados fVincular.lCupom.ForEach(p => { new CamadaDados.Financeiro.Duplicata.TCD_LanParcela().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(dup.st_registro, 'A')", vOperador = "<>", vVL_Busca = "'C'" }, new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "in", vVL_Busca = "('A', 'P')" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " + "inner join tb_pdv_cupomfiscal_x_duplicata y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_vendarapida = y.id_cupom " + "where y.cd_empresa = a.cd_empresa " + "and y.nr_lancto = a.nr_lancto " + "and x.cd_empresa = '" + p.Cd_empresa.Trim() + "' " + "and x.id_cupom = " + p.Id_nfcestr + ")" } }, 0, string.Empty, "a.dt_vencto, c.nm_clifor", string.Empty).ForEach(v => lParcVinculado.Add(v)); }); //Gerar Nota Fiscal CamadaDados.Faturamento.NotaFiscal.TRegistro_LanFaturamento rFat = Proc_Commoditties.TProcessaPedFaturar.ProcessaPedFaturar(rPed, true, lParcVinculado.Sum(p => p.Vl_atual)); //Vincular Cupom a Nota Fiscal string Obs = string.Empty; string virg = string.Empty; fVincular.lCupom.ForEach(p => { rFat.lCupom.Add(p); string Placa_km = TCN_NFCe.BuscarPlacaKM(p.Cd_empresa, p.Id_nfcestr, null); Obs += virg + p.NR_NFCestr.Trim() + "-" + (string.IsNullOrEmpty(Placa_km) ? p.Placa : Placa_km.Trim()) + (!string.IsNullOrEmpty(p.Nr_requisicao) ? "/" + p.Nr_requisicao.Trim() : string.Empty); virg = ","; }); //Vincular financeiro a Nota Fiscal rFat.lParcAgrupar = lParcVinculado; if (!string.IsNullOrEmpty(Obs)) { rFat.Dadosadicionais = (!string.IsNullOrEmpty(rFat.Dadosadicionais) ? "\r\n" : string.Empty) + "Ref. CF-Placa/KM/Frota/Requisicao " + Obs.Trim(); } //Gravar Nota Fiscal CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.GravarFaturamento(rFat, null, null); if (rFat.Cd_modelo.Trim().Equals("55")) { if (MessageBox.Show("NFe gerada com sucesso.\r\n" + "Deseja enviar para receita?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { using (srvNFE.TFGerenciarNFe fGerNfe = new srvNFE.TFGerenciarNFe()) { fGerNfe.rNfe = CamadaNegocio.Faturamento.NotaFiscal.TCN_LanFaturamento.BuscarNF(rFat.Cd_empresa, rFat.Nr_lanctofiscalstr, null); fGerNfe.ShowDialog(); } } } } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); CamadaNegocio.Faturamento.Pedido.TCN_Pedido.Deleta_Pedido(rPed, null); } } else { MessageBox.Show("Não existe cupom fiscal selecionado para vincular a Nota Fiscal.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }