public static string Gravar(TRegistro_RomaneioEntrega val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_RomaneioEntrega qtb_entrega = new TCD_RomaneioEntrega(); try { if (banco == null) { st_transacao = qtb_entrega.CriarBanco_Dados(true); } else { qtb_entrega.Banco_Dados = banco; } val.Id_romaneiostr = CamadaDados.TDataQuery.getPubVariavel(qtb_entrega.Gravar(val), "@P_ID_ROMANEIO"); //Item Entrega val.lItensDel.ForEach(p => TCN_ItensRomaneio.Excluir(p, qtb_entrega.Banco_Dados)); val.lItens.ForEach(p => { if (p.St_processar) { p.Cd_empresa = val.Cd_empresa; p.Id_romaneio = val.Id_romaneio; TCN_ItensRomaneio.Gravar(p, qtb_entrega.Banco_Dados); } }); if (st_transacao) { qtb_entrega.Banco_Dados.Commit_Tran(); } return(val.Id_romaneiostr); } catch (Exception ex) { if (st_transacao) { qtb_entrega.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar Entrega: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_entrega.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_RomaneioEntrega val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_RomaneioEntrega qtb_entrega = new TCD_RomaneioEntrega(); try { if (banco == null) { st_transacao = qtb_entrega.CriarBanco_Dados(true); } else { qtb_entrega.Banco_Dados = banco; } //Buscar Itens Romaneio TCN_ItensRomaneio.Buscar(val.Cd_empresa, val.Id_romaneiostr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, qtb_entrega.Banco_Dados).ForEach(p => TCN_ItensRomaneio.Excluir(p, qtb_entrega.Banco_Dados)); qtb_entrega.Excluir(val); if (st_transacao) { qtb_entrega.Banco_Dados.Commit_Tran(); } return(val.Id_romaneiostr); } catch (Exception ex) { if (st_transacao) { qtb_entrega.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir Entrega: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_entrega.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(); } } }