private bool BuscarSaldoLocal(string pCd_empresa, string pCd_produto, bool AlterarQTD) { if ((!string.IsNullOrEmpty(pCd_empresa)) && (!string.IsNullOrEmpty(pCd_produto))) { //Buscar Local Arm CamadaDados.Estoque.Cadastros.TList_CadLocalArm_X_Empresa lLocal = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + pCd_empresa.Trim() + "'" } }, 1, string.Empty); if (lLocal.Count.Equals(0)) { MessageBox.Show("Não existe Local de armazenagem configurado para Empresa" + pCd_empresa.Trim() + "!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } decimal saldo = decimal.Zero; CamadaNegocio.Estoque.TCN_LanEstoque.SaldoEstoqueLocal(pCd_empresa, pCd_produto, lLocal[0].CD_Local, ref saldo, null); if (saldo < (bsCarga.Current as TRegistro_CargaAvulsa).lItens .FindAll(p => p.Cd_produto.Equals((bsItens.Current as TRegistro_ItensCargaAvulsa).Cd_produto)).Sum(p => p.Quantidade)) { MessageBox.Show("Não existe saldo disponivel no estoque.\r\n" + "Empresa.........: " + pCd_empresa.Trim() + "-" + (bsCarga.Current as TRegistro_CargaAvulsa).Nm_empresa.Trim() + "\r\n" + "Produto.........: " + pCd_produto.Trim() + "-" + (bsItens.Current as TRegistro_ItensCargaAvulsa).Ds_produto.Trim() + "\r\n" + "Local Arm.......: " + lLocal[0].CD_Local.Trim() + "-" + lLocal[0].DS_Local + "\r\n" + "Saldo Disponivel: " + saldo.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)), "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); if (AlterarQTD) { Quantidade.Value = saldo; (bsItens.Current as TRegistro_ItensCargaAvulsa).Quantidade = Quantidade.Value; Quantidade.Focus(); } else { bsItens.RemoveCurrent(); } return(false); } else { return(true); } } else { return(false); } }
private void GerarNFCe() { using (TFVendaItensCargaAvulsa fGerar = new TFVendaItensCargaAvulsa()) { if (fGerar.ShowDialog() == DialogResult.OK) { if (fGerar.lItens != null) { if (fGerar.lItens.Count > 0) { try { //Processar cupom fiscal PDV.TDadosCupom dados = new PDV.TDadosCupom(); //Buscar dados PDV object obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.id_pdv"); if (obj == null) { MessageBox.Show("Não existe PDV cadastrado para o terminal " + Utils.Parametros.pubTerminal, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (new TCD_Sessao().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "isnull(a.st_registro, 'A')", vOperador = "=", vVL_Busca = "'A'" }, new TpBusca() { vNM_Campo = "a.id_pdv", vOperador = "=", vVL_Busca = obj.ToString() }, new TpBusca() { vNM_Campo = "a.login", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubLogin + "'" } }, "1") == null) { CamadaNegocio.Faturamento.PDV.TCN_Sessao.AbrirSessao( new TRegistro_Sessao() { Id_pdvstr = obj.ToString(), Login = Utils.Parametros.pubLogin }, null); } //Buscar sessao aberta dados.rSessao = CamadaNegocio.Faturamento.PDV.TCN_Sessao.Buscar(obj.ToString(), string.Empty, Utils.Parametros.pubLogin, string.Empty, string.Empty, string.Empty, "'A'", 1, null)[0]; //Buscar Local Arm object LocalArm = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + fGerar.Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (LocalArm == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + fGerar.Cd_empresa.Trim() + "!"); } //Montar Itens Cupom dados.lItens = new List <TRegistro_VendaRapida_Item>(); fGerar.lItens.ForEach(p => dados.lItens.Add(new TRegistro_VendaRapida_Item { Cd_empresa = p.Cd_empresa, Cd_local = LocalArm.ToString(), Cd_produto = p.Cd_produto, Ds_produto = p.Ds_produto, Cd_unidade = p.Cd_unidade, Ds_unidade = p.Ds_unidade, Sigla_unidade = p.Sigla, Cd_condfiscal_produto = p.Cd_condfiscal_produto, Quantidade = p.Quantidade, Vl_subtotal = p.Vl_subtotal, Vl_unitario = p.Vl_unitario, lAbastItens = new CamadaDados.Locacao.TList_AbastItens() { p } })); dados.Cd_clifor = string.Empty; dados.Nm_clifor = string.Empty; dados.CpfCgc = string.Empty; dados.Endereco = string.Empty; dados.Mensagem = string.Empty; dados.lPortador = new List <CamadaDados.Financeiro.Cadastros.TRegistro_CadPortador>(); dados.St_vendacombustivel = false; dados.St_cupomavulso = true; dados.St_agruparProduto = false; dados.St_abastItens = true; TRegistro_NFCe rNFCe = new PDV.TGerenciarCupom().GerarNFCe(dados, false); if (rNFCe != null) { if (!rNFCe.St_contingencia) { using (NFCe.TFGerenciarNFCe fGerNfe = new NFCe.TFGerenciarNFCe()) { fGerNfe.rNFCe = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarNFCe(rNFCe.Cd_empresa, rNFCe.Id_nfcestr, null); fGerNfe.ShowDialog(); } } else { FormRelPadrao.Relatorio Rel = new FormRelPadrao.Relatorio(); Rel.Altera_Relatorio = Altera_Relatorio; BindingSource dts = new BindingSource(); dts.DataSource = new TList_NFCe_Item(); Rel.DTS_Relatorio = dts; // bsItens; //DTS Cupom BindingSource bsNFCe = new BindingSource(); bsNFCe.DataSource = CamadaNegocio.Faturamento.PDV.TCN_NFCe.Buscar(rNFCe.Id_nfcestr, string.Empty, rNFCe.Cd_empresa, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, 1, null); (bsNFCe.Current as TRegistro_NFCe).lItem = CamadaNegocio.Faturamento.PDV.TCN_NFCe_Item.Buscar((bsNFCe.Current as TRegistro_NFCe).Id_nfcestr, (bsNFCe.Current as TRegistro_NFCe).Cd_empresa, string.Empty, null); NFCe.TGerarQRCode.GerarQRCode2(bsNFCe.Current as TRegistro_NFCe); Rel.Adiciona_DataSource("DTS_NFCE", bsNFCe); //Buscar Empresa BindingSource bsEmpresa = new BindingSource(); bsEmpresa.DataSource = CamadaNegocio.Diversos.TCN_CadEmpresa.Busca(rNFCe.Cd_empresa, string.Empty, string.Empty, null); Rel.Adiciona_DataSource("DTS_EMP", bsEmpresa); //Forma Pagamento BindingSource bsPagto = new BindingSource(); List <TRegistro_MovCaixa> lPagto = new List <TRegistro_MovCaixa>(); new TCD_CaixaPDV().SelectMovCaixa( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_pdv_cupom_x_vendarapida x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_vendarapida = a.id_cupom " + "and x.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " + "and x.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")" } }, string.Empty).GroupBy(v => v.Tp_portador, (aux, venda) => new { tp_portador = aux, Vl_recebido = venda.Sum(x => x.Vl_recebido), Vl_troco_ch = venda.Sum(x => x.Vl_troco_ch), Vl_troco_dh = venda.Sum(x => x.Vl_troco_dh) }).ToList().ForEach(x => lPagto.Add(new TRegistro_MovCaixa() { Tp_portador = x.tp_portador, Vl_recebido = x.Vl_recebido, Vl_troco_ch = x.Vl_troco_ch, Vl_troco_dh = x.Vl_troco_dh })); CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup = new CamadaDados.Financeiro.Duplicata.TCD_LanDuplicata().Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_PDV_CupomFiscal_X_Duplicata x " + "inner join TB_PDV_Cupom_X_VendaRapida y " + "on x.cd_empresa = y.cd_empresa " + "and x.id_cupom = y.id_vendarapida " + "where x.cd_empresa = a.cd_empresa " + "and x.Nr_Lancto = a.Nr_Lancto " + "and y.cd_empresa = '" + (bsNFCe.Current as TRegistro_NFCe).Cd_empresa.Trim() + "' " + "and y.id_cupom = " + (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr + ")" } }, 1, string.Empty); if (lDup.Count > 0) { lPagto.Add(new TRegistro_MovCaixa() { Tp_portador = "05", Vl_recebido = lDup[0].Vl_documento }); } bsPagto.DataSource = lPagto; Rel.Adiciona_DataSource("DTS_PAGTO", bsPagto); //Parametros Rel.Parametros_Relatorio.Add("TOT_IMP_APROX", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_imposto_Aprox)); Rel.Parametros_Relatorio.Add("QTD_ITENS", (bsNFCe.Current as TRegistro_NFCe).lItem.Count); Rel.Parametros_Relatorio.Add("TOT_SUBTOTAL", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_subtotal)); Rel.Parametros_Relatorio.Add("TOT_ACRESCIMO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_acrescimo)); Rel.Parametros_Relatorio.Add("TOT_DESCONTO", (bsNFCe.Current as TRegistro_NFCe).lItem.Sum(p => p.Vl_desconto)); Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "N"); obj = new CamadaDados.Faturamento.NFCe.TCD_LoteNFCe().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from TB_FAT_Lote_X_NFCe x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_lote = a.id_lote " + "and x.status = '100')" } }, "a.tp_ambiente"); Rel.Parametros_Relatorio.Add("TP_AMBIENTE", obj == null ? string.Empty : obj.ToString()); string dadoscf = CamadaNegocio.Faturamento.PDV.TCN_NFCe.BuscarPlacaKM((bsNFCe.Current as TRegistro_NFCe).Cd_empresa, (bsNFCe.Current as TRegistro_NFCe).Id_nfcestr, null); if (!string.IsNullOrEmpty(dadoscf)) { string[] linhas = dadoscf.Split(new char[] { ':' }); string placa = string.Empty; string km = string.Empty; string frota = string.Empty; string requisicao = string.Empty; string nm_motorista = string.Empty; string cpf_motorista = string.Empty; string media = string.Empty; string virg = string.Empty; foreach (string s in linhas) { string[] colunas = s.Split(new char[] { '/' }); placa += virg + colunas[0]; km += virg + colunas[1]; frota += virg + colunas[2]; requisicao += virg + colunas[3]; nm_motorista += virg + colunas[4]; cpf_motorista += virg + colunas[5]; media += virg + colunas[6]; virg = ","; } if (!string.IsNullOrEmpty(placa)) { Rel.Parametros_Relatorio.Add("PLACA", placa); } if (!string.IsNullOrEmpty(km)) { Rel.Parametros_Relatorio.Add("KM", km); } if (!string.IsNullOrEmpty(media)) { Rel.Parametros_Relatorio.Add("MEDIA", media + " KM/LT"); } if (!string.IsNullOrEmpty(frota)) { Rel.Parametros_Relatorio.Add("FROTA", frota); } if (!string.IsNullOrEmpty(requisicao)) { Rel.Parametros_Relatorio.Add("REQUISICAO", requisicao); } if (!string.IsNullOrEmpty(nm_motorista)) { Rel.Parametros_Relatorio.Add("NM_MOTORISTA", nm_motorista); } if (!string.IsNullOrEmpty(cpf_motorista)) { Rel.Parametros_Relatorio.Add("CPF_MOTORISTA", cpf_motorista); } } Rel.Nome_Relatorio = "DANFE_NFCE"; Rel.NM_Classe = "TFConsultaFrenteCaixa"; Rel.Modulo = "FAT"; Rel.Ident = "DANFE_NFCE"; if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVlBool("ST_IMP_DANFE_NFCE_DETALHADA", null)) { BindingSource bsItens = new BindingSource(); bsItens.DataSource = (bsNFCe.Current as TRegistro_NFCe).lItem; Rel.DTS_Relatorio = bsItens; } if (rNFCe.Id_contingencia.HasValue) { if (Rel.Parametros_Relatorio.ContainsKey("ST_VIAEMPRESA")) { Rel.Parametros_Relatorio["ST_VIAEMPRESA"] = "S"; } else { Rel.Parametros_Relatorio.Add("ST_VIAEMPRESA", "S"); } } //Verificar se existe Impressora padrão para o PDV obj = new CamadaDados.Faturamento.Cadastros.TCD_PontoVenda().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_terminal", vOperador = "=", vVL_Busca = "'" + Utils.Parametros.pubTerminal.Trim() + "'" } }, "a.impressorapadrao"); string print = obj == null ? string.Empty : obj.ToString(); if (string.IsNullOrEmpty(print)) { using (Parametros.Diversos.TFListaImpressoras fLista = new Parametros.Diversos.TFListaImpressoras()) { if (fLista.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fLista.Impressora)) { print = fLista.Impressora; } } } } //Imprimir if (!string.IsNullOrEmpty(print)) { Rel.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); if ((bsNFCe.Current as TRegistro_NFCe).Id_contingencia.HasValue && (bsNFCe.Current as TRegistro_NFCe).rCfgNFCe.Tp_ambiente_nfce.Equals(1)) { Rel.ImprimiGraficoReduzida(print, true, false, null, string.Empty, string.Empty, 1); } } } } return; } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { MessageBox.Show("Não existe venda selecionada para gerar cupom.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } }
public static void GerarPedidoCarga(ref CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed, CamadaDados.Faturamento.Entrega.TRegistro_CargaAvulsa rCarga, CamadaDados.Diversos.TRegistro_CfgEmpresa rParam) { if (!string.IsNullOrEmpty(rParam.CFG_PedRemCargaAvulsa)) { if (rPed == null) { rPed = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido(); rPed.CD_Empresa = rCarga.Cd_empresa; rPed.DT_Pedido = DateTime.Now; rPed.CFG_Pedido = rParam.CFG_PedRemCargaAvulsa; rPed.TP_Movimento = "S"; //Pedido de saida rPed.ST_Pedido = "F"; //Pedido fechado rPed.ST_Registro = "F"; //Pedido fechado rPed.CD_Clifor = rParam.Cd_clifor; rPed.CD_Endereco = rParam.Cd_endereco; //Buscar Moeda Padrao TList_Moeda tabela = CamadaNegocio.ConfigGer.TCN_CadParamGer_X_Empresa.BuscarMoedaPadrao(rCarga.Cd_empresa, null); if (tabela != null) { if (tabela.Count > 0) { rPed.Cd_moeda = tabela[0].Cd_moeda; } } } //Buscar Local Arm object LocalArm = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rCarga.Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (LocalArm == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + rCarga.Cd_empresa.Trim() + "!"); } for (int i = 0; i < rCarga.lItens.Count; i++) { //Buscar Preço decimal vl_preco = CamadaNegocio.Estoque.Cadastros.TCN_LanPrecoItem.Busca_ConsultaPreco(rCarga.Cd_empresa, rCarga.lItens[i].Cd_produto, rParam.Cd_tabelapreco, null); CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item reg = new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item(); reg.Cd_Empresa = rCarga.lItens[i].Cd_empresa; reg.Cd_local = LocalArm.ToString(); reg.Cd_produto = rCarga.lItens[i].Cd_produto; reg.Ds_produto = rCarga.lItens[i].Ds_produto; reg.Cd_unidade_est = rCarga.lItens[i].Cd_unidade; reg.Quantidade = rCarga.lItens[i].Quantidade; reg.Vl_unitario = vl_preco; reg.Vl_subtotal = vl_preco * rCarga.lItens[i].Quantidade; rPed.Pedido_Itens.Add(reg); } } else { throw new Exception("Não existe configuracao para emitir pedido de remessa para a Empresa " + rCarga.Cd_empresa); } }
public static string Gravar(TRegistro_CargaAvulsa val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CargaAvulsa qtb_carga = new TCD_CargaAvulsa(); try { if (banco == null) { st_transacao = qtb_carga.CriarBanco_Dados(true); } else { qtb_carga.Banco_Dados = banco; } val.Id_cargastr = CamadaDados.TDataQuery.getPubVariavel(qtb_carga.Gravar(val), "@P_ID_CARGA"); //Buscar Local Arm object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (obj == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + val.Cd_empresa.Trim() + "!"); } //Item Carga val.lItensDel.ForEach(p => { //Cancelar Estoque new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.Cd_produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_lanctoestoque", vOperador = "=", vVL_Busca = p.Id_lanctoEstoqueS.ToString() } }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados)); TCN_ItensCargaAvulsa.Excluir(p, qtb_carga.Banco_Dados); }); val.lItens.FindAll(p => p.Id_lanctoEstoqueS == null).ForEach(p => { //Buscar Vl.Médio decimal vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(val.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados); //Gravar Estoque string ret_est = Estoque.TCN_LanEstoque.GravarEstoque( new CamadaDados.Estoque.TRegistro_LanEstoque() { Cd_empresa = val.Cd_empresa, Cd_produto = p.Cd_produto, Cd_local = obj.ToString(), Dt_lancto = CamadaDados.UtilData.Data_Servidor(), Tp_movimento = "S", Qtd_entrada = decimal.Zero, Qtd_saida = p.Quantidade, Vl_unitario = vl_unit, Vl_subtotal = vl_unit * p.Quantidade, Tp_lancto = "N", St_registro = "A", Ds_observacao = "SAÍDA DE PRODUTOS CARGA Nº " + val.Id_cargastr, }, qtb_carga.Banco_Dados); p.Id_lanctoEstoqueS = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE")); p.Cd_empresa = val.Cd_empresa; p.Id_carga = val.Id_carga; TCN_ItensCargaAvulsa.Gravar(p, qtb_carga.Banco_Dados); }); if (st_transacao) { qtb_carga.Banco_Dados.Commit_Tran(); } return(val.Id_cargastr); } catch (Exception ex) { if (st_transacao) { qtb_carga.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }
public static string RetornoCarga(List <TRegistro_ItensCargaAvulsa> lista, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ItensCargaAvulsa qtb_carga = new TCD_ItensCargaAvulsa(); try { if (banco == null) { st_transacao = qtb_carga.CriarBanco_Dados(true); } else { qtb_carga.Banco_Dados = banco; } //Buscar Local Arm object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + lista[0].Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (obj == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + lista[0].Cd_empresa.Trim() + "!"); } lista.ForEach(p => { decimal vl_unit = decimal.Zero; //Buscar Vl.Unitário origem da saida object OBJvl_unit = new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.Cd_produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.Id_LanctoEstoque", vOperador = "=", vVL_Busca = p.Id_lanctoEstoqueS.ToString() } }, "a.vl_unitario"); if (OBJvl_unit == null ? false : !string.IsNullOrEmpty(OBJvl_unit.ToString())) { vl_unit = decimal.Parse(OBJvl_unit.ToString()); } else { vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados); } p.lItensLocTerceiro.FindAll(x => x.Qtd_consumo > decimal.Zero).ForEach(x => { CamadaNegocio.Locacao.TCN_AbastItens.Gravar( new CamadaDados.Locacao.TRegistro_AbastItens() { Cd_empresa = p.Cd_empresa, Id_loc = x.Id_loc, Id_item = x.Id_item, Id_carga = p.Id_carga, Id_itemcarga = p.Id_item, Dt_abast = CamadaDados.UtilData.Data_Servidor(), Quantidade = x.Qtd_consumo, Vl_unitCusto = vl_unit }, qtb_carga.Banco_Dados); }); }); System.Collections.Hashtable hs = new System.Collections.Hashtable(); hs.Add("@CD_EMPRESA", lista[0].Cd_empresa); hs.Add("@ID_CARGA", lista[0].Id_carga); qtb_carga.executarSql("update TB_FAT_CargaAvulsa set ST_Registro = 'E' " + "where CD_Empresa = @CD_EMPRESA " + "and ID_Carga = @ID_CARGA ", hs); if (st_transacao) { qtb_carga.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_carga.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar itens Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }
public static string DevCarga(List <TRegistro_ItensCargaAvulsa> lista, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ItensCargaAvulsa qtb_carga = new TCD_ItensCargaAvulsa(); try { if (banco == null) { st_transacao = qtb_carga.CriarBanco_Dados(true); } else { qtb_carga.Banco_Dados = banco; } //Buscar Local Arm object obj = new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm_X_Empresa(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + lista[0].Cd_empresa.Trim() + "'" } }, "a.CD_Local"); if (obj == null) { throw new Exception("Não existe Local de armazenagem configurado para Empresa" + lista[0].Cd_empresa.Trim() + "!"); } lista.ForEach(p => { decimal vl_unit = decimal.Zero; //Buscar Vl.Unitário origem da saida object OBJvl_unit = new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.Cd_produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.Id_LanctoEstoque", vOperador = "=", vVL_Busca = p.Id_lanctoEstoqueS.ToString() } }, "a.vl_unitario"); if (OBJvl_unit == null ? false : !string.IsNullOrEmpty(OBJvl_unit.ToString())) { vl_unit = decimal.Parse(OBJvl_unit.ToString()); } else { vl_unit = Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados); } if (p.Qtd_devolvida > decimal.Zero) { //Cancelar Estoque - Devolução if (p.Id_lanctoEstoqueD != null) { new CamadaDados.Estoque.TCD_LanEstoque(qtb_carga.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.Cd_produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_lanctoestoque", vOperador = "=", vVL_Busca = p.Id_lanctoEstoqueD.ToString() } }, 0, string.Empty, string.Empty, string.Empty).ForEach(x => Estoque.TCN_LanEstoque.CancelarEstoque(x, qtb_carga.Banco_Dados)); } //Gravar Estoque string ret_est = Estoque.TCN_LanEstoque.GravarEstoque( new CamadaDados.Estoque.TRegistro_LanEstoque() { Cd_empresa = p.Cd_empresa, Cd_produto = p.Cd_produto, Cd_local = obj.ToString(), Dt_lancto = CamadaDados.UtilData.Data_Servidor(), Tp_movimento = "E", Qtd_entrada = p.Qtd_devolvida, Qtd_saida = decimal.Zero, Vl_unitario = vl_unit, Vl_subtotal = vl_unit * p.Quantidade, Tp_lancto = "N", St_registro = "A", Ds_observacao = "DEVOLUÇÃO DE PRODUTOS CARGA Nº " + p.Id_cargastr, }, qtb_carga.Banco_Dados); p.Id_lanctoEstoqueD = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_est, "@@P_ID_LANCTOESTOQUE")); p.Cd_empresa = p.Cd_empresa; p.Id_carga = p.Id_carga; Gravar(p, qtb_carga.Banco_Dados); } }); if (st_transacao) { qtb_carga.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_carga.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar itens Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }