public static void DevolverEmbalagem(TRegistro_CadContrato rContrato, CamadaDados.Estoque.TRegistro_LanEstoque rEstoque, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Contrato_X_EstoqueEmbalagem qtb_cont = new TCD_Contrato_X_EstoqueEmbalagem(); try { if (banco == null) { st_transacao = qtb_cont.CriarBanco_Dados(true); } else { qtb_cont.Banco_Dados = banco; } if (rContrato == null) { throw new Exception("Não existe contrato informado para devolver embalagens."); } if (rEstoque == null) { throw new Exception("Não existe registro estoque informado para devolver embalagens."); } //Gravar Estoque CamadaNegocio.Estoque.TCN_LanEstoque.GravarEstoque(rEstoque, qtb_cont.Banco_Dados); //Gravar contrato x estoque Gravar(new TRegistro_Contrato_X_EstoqueEmbalagem() { Cd_empresa = rEstoque.Cd_empresa, Cd_produto = rEstoque.Cd_produto, Id_lanctoestoque = rEstoque.Id_lanctoestoque, Nr_contrato = rContrato.Nr_contrato.Value, Ds_observacao = rEstoque.Ds_observacao }, qtb_cont.Banco_Dados); if (st_transacao) { qtb_cont.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_cont.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro devolver embalagens: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_cont.deletarBanco_Dados(); } } }
private void bb_saldoest_Click(object sender, EventArgs e) { using (Proc_Commoditties.TFSaldoEstPrecoVenda fSaldo = new Proc_Commoditties.TFSaldoEstPrecoVenda()) { // fSaldo.pSt_servico = st_servico.Checked; if (fSaldo.ShowDialog() == DialogResult.OK) { if (!string.IsNullOrEmpty(fSaldo.Cd_local)) { CamadaDados.Estoque.TRegistro_LanEstoque rEstoque = new CamadaDados.Estoque.TRegistro_LanEstoque(); rEstoque.Cd_empresa = fSaldo.Cd_empresa; rEstoque.Cd_local = fSaldo.Cd_local; rEstoque.Dt_lancto = CamadaDados.UtilData.Data_Servidor(); rEstoque.Tp_movimento = "E"; rEstoque.Qtd_entrada = fSaldo.Quantidade; rEstoque.Qtd_saida = decimal.Zero; rEstoque.Vl_unitario = fSaldo.Vl_unitario; rEstoque.Vl_subtotal = fSaldo.Quantidade * fSaldo.Vl_unitario; rEstoque.Tp_lancto = "M"; rEstoque.St_registro = "A"; (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).vl_unitario = rEstoque.Vl_unitario; (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).rSaldoEst = rEstoque; } if (!string.IsNullOrEmpty(fSaldo.Cd_tabelapreco)) { string[] tabela = fSaldo.Cd_tabelapreco.Split(new char[] { ';' }); for (int i = 0; tabela.Count() > i; i++) { CamadaDados.Estoque.TRegistro_LanPrecoItem rPreco = new CamadaDados.Estoque.TRegistro_LanPrecoItem(); rPreco.CD_Empresa = fSaldo.Cd_empresa; rPreco.CD_TabelaPreco = tabela[i]; rPreco.Dt_preco = CamadaDados.UtilData.Data_Servidor(); rPreco.VL_PrecoVenda = fSaldo.Vl_precovenda; (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).vl_unitario = rPreco.VL_PrecoVenda; (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).lPrecoItem.Add(rPreco); } } } } }
public static string ProcessarEntrega(TRegistro_CargaEntrega val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CargaEntrega qtb_carga = new TCD_CargaEntrega(); try { if (banco == null) { st_transacao = qtb_carga.CriarBanco_Dados(true); } else { qtb_carga.Banco_Dados = banco; } //Processar estoque dos itens Entrega val.lItens.ForEach(p => { if (p.St_processar) { //Buscar Local de Armazenagem object cd_local = new CamadaDados.Faturamento.Entrega.TCD_ItensRomaneio(qtb_carga.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.CD_empresa", vOperador = "=", vVL_Busca = "'" + p.Cd_empresa + "'" }, new Utils.TpBusca() { vNM_Campo = "a.ID_Romaneio", vOperador = "=", vVL_Busca = "'" + p.Id_romaneiostr + "'" }, new Utils.TpBusca() { vNM_Campo = "a.ID_ItemRomaneio", vOperador = "=", vVL_Busca = "'" + p.Id_itemromaneiostr + "'" } }, "a.cd_local"); //Buscar VL.Médio decimal vl_medio = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados); //Criar objeto estoque CamadaDados.Estoque.TRegistro_LanEstoque rEstoque = new CamadaDados.Estoque.TRegistro_LanEstoque(); rEstoque.Cd_empresa = p.Cd_empresa; rEstoque.Cd_produto = p.Cd_produto; rEstoque.Cd_local = cd_local.ToString(); rEstoque.Dt_lancto = CamadaDados.UtilData.Data_Servidor(); rEstoque.Tp_movimento = "S"; rEstoque.Qtd_entrada = decimal.Zero; rEstoque.Qtd_saida = p.QTD_Saida; rEstoque.Vl_unitario = vl_medio; rEstoque.Vl_subtotal = p.QTD_Saida * vl_medio; rEstoque.Tp_lancto = "N"; rEstoque.St_registro = "A"; //Gravar Estoque CamadaNegocio.Estoque.TCN_LanEstoque.GravarEstoque(rEstoque, qtb_carga.Banco_Dados); p.Id_lanctoEstoque = rEstoque.Id_lanctoestoque; TCN_ItensCarga.Gravar(p, qtb_carga.Banco_Dados); } }); val.St_registro = "E"; qtb_carga.Gravar(val); 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 Entregar Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }
public static string ProcessarEntrega(TRegistro_CargaEntrega val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_CargaEntrega qtb_carga = new TCD_CargaEntrega(); try { if (banco == null) { st_transacao = qtb_carga.CriarBanco_Dados(true); } else { qtb_carga.Banco_Dados = banco; } //Processar estoque dos itens Entrega val.lItens.ForEach(p => { //Verificar se empresa movimenta estoque e qtd entregar maior zero if (p.Qtd_entregue > decimal.Zero) { bool st_movestoque = true; //Buscar item romaneio TRegistro_ItensRomaneio rRomaneio = TCN_ItensRomaneio.Buscar(p.Cd_empresa, p.Id_romaneiostr, p.Id_itemromaneiostr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, qtb_carga.Banco_Dados)[0]; if (rRomaneio.Id_prevenda.HasValue) { st_movestoque = new CamadaDados.Faturamento.Cadastros.TCD_CFGCupomFiscal(qtb_carga.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rRomaneio.Cd_empresa.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "isnull(a.st_movestoque, 'N')", vOperador = "=", vVL_Busca = "'S'" } }, "1") != null; } else if (rRomaneio.Nr_pedido.HasValue) { st_movestoque = new CamadaDados.Faturamento.Cadastros.TCD_CadCFGPedidoFiscal(qtb_carga.Banco_Dados).BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "isnull(d.st_geraEstoque, 'N')", vOperador = "=", vVL_Busca = "'S'" }, new Utils.TpBusca() { vNM_Campo = "a.tp_fiscal", vOperador = "=", vVL_Busca = "'NO'" }, new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_fat_pedido x " + "where x.cfg_pedido = a.cfg_pedido " + "and x.nr_pedido = " + rRomaneio.Nr_pedido.Value.ToString() + ")" } }, "1") != null; } if (st_movestoque) { //Buscar VL.Médio decimal vl_medio = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(p.Cd_empresa, p.Cd_produto, qtb_carga.Banco_Dados); //Criar objeto estoque CamadaDados.Estoque.TRegistro_LanEstoque rEstoque = new CamadaDados.Estoque.TRegistro_LanEstoque(); rEstoque.Cd_empresa = p.Cd_empresa; rEstoque.Cd_produto = p.Cd_produto; rEstoque.Cd_local = rRomaneio.Cd_local; rEstoque.Dt_lancto = CamadaDados.UtilData.Data_Servidor(); rEstoque.Tp_movimento = "S"; rEstoque.Qtd_entrada = decimal.Zero; rEstoque.Qtd_saida = p.Qtd_entregue; rEstoque.Vl_unitario = vl_medio; rEstoque.Vl_subtotal = p.Qtd_entregue * vl_medio; rEstoque.Tp_lancto = "N"; rEstoque.St_registro = "A"; //Gravar Estoque CamadaNegocio.Estoque.TCN_LanEstoque.GravarEstoque(rEstoque, qtb_carga.Banco_Dados); p.Id_lanctoEstoque = rEstoque.Id_lanctoestoque; } } TCN_ItensCarga.Gravar(p, qtb_carga.Banco_Dados); }); val.St_registro = "E"; qtb_carga.Gravar(val); 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 Entregar Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }