public static string DeletarMovDeposito(TRegistro_MovDeposito val, TObjetoBanco banco) { bool st_transacao = false; TCD_MovDeposito Qtb_MovDeposito = new TCD_MovDeposito(); try { if (banco == null) { st_transacao = Qtb_MovDeposito.CriarBanco_Dados(true); } else { Qtb_MovDeposito.Banco_Dados = banco; } //Deletar Movimento Deposito Qtb_MovDeposito.Deleta(val); if (st_transacao) { Qtb_MovDeposito.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { Qtb_MovDeposito.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message.Trim()); } finally { if (st_transacao) { Qtb_MovDeposito.deletarBanco_Dados(); } } }
public static TList_MovDeposito Buscar( decimal vId_Movto, decimal vNR_Pedido, string vCD_Produto, int vTop, TObjetoBanco banco) { TpBusca[] filtro = new TpBusca[0]; if (vId_Movto > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.id_movto"; filtro[filtro.Length - 1].vVL_Busca = "'" + vId_Movto + "'"; filtro[filtro.Length - 1].vOperador = "="; } if (vNR_Pedido > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Nr_pedido"; filtro[filtro.Length - 1].vVL_Busca = vNR_Pedido.ToString(); filtro[filtro.Length - 1].vOperador = "="; } if (vCD_Produto.Trim() != "") { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.CD_Produto"; filtro[filtro.Length - 1].vVL_Busca = "'" + vCD_Produto + "'"; filtro[filtro.Length - 1].vOperador = "="; } TCD_MovDeposito qtb_MovDeposito = new TCD_MovDeposito(); return(qtb_MovDeposito.Select(filtro, vTop, "")); }
public static string GravarMovDeposito(TRegistro_MovDeposito vMovDep, TObjetoBanco banco) { bool st_transacao = false; TCD_MovDeposito qtb_MovDeposito = new TCD_MovDeposito(); try { if (banco == null) { st_transacao = qtb_MovDeposito.CriarBanco_Dados(true); } else { qtb_MovDeposito.Banco_Dados = banco; } string r_movDeposito = qtb_MovDeposito.Grava(vMovDep); vMovDep.Id_Movto = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(r_movDeposito, "@P_ID_MOVTO")); TCD_CadContrato qtb_contrato = new TCD_CadContrato(); qtb_contrato.Banco_Dados = banco; TList_CadContrato l = new TCD_CadContrato(qtb_MovDeposito.Banco_Dados).Select(new Utils.TpBusca[] { new Utils.TpBusca { vNM_Campo = "a.NR_Pedido", vOperador = "=", vVL_Busca = vMovDep.Nr_Pedido.ToString() }, new Utils.TpBusca { vNM_Campo = "a.CD_Produto", vOperador = "=", vVL_Busca = "'" + vMovDep.CD_Produto.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.id_pedidoitem", vOperador = "=", vVL_Busca = vMovDep.Id_pedidoitem.ToString() } }, 1, string.Empty); if (l.Count > 0) { //Gravar SaldoCarenciaTaxa List <TRegistro_EstDeposito> vEstoqueDeposito = qtb_MovDeposito.Buscar_EstDeposito(vMovDep.CD_Empresa, vMovDep.CD_Produto, vMovDep.Id_LanctoEstoque); //Gravar Taxa de Armazenagem do Contrato GravarSaldoCarenciaTaxa(vMovDep, l[0], vEstoqueDeposito, banco); } if (st_transacao) { qtb_MovDeposito.Banco_Dados.Commit_Tran(); } return(r_movDeposito); } catch (Exception ex) { if (st_transacao) { qtb_MovDeposito.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { qtb_MovDeposito.deletarBanco_Dados(); } } }
public static void ReprocessarTaxasContrato(CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item rPedItem, Utils.ThreadEspera tEspera, TObjetoBanco banco) { bool st_transacao = false; TCD_MovDeposito qtb_mov = new TCD_MovDeposito(); try { if (banco == null) { st_transacao = qtb_mov.CriarBanco_Dados(true); } else { qtb_mov.Banco_Dados = banco; } if (tEspera != null) { tEspera.Msg("Buscar estoques amarrados ao contrato..."); } //Buscar todos os estoques amarrados a este item do pedido CamadaDados.Faturamento.Pedido.TList_RegLanPedido_Item_X_Estoque lItemEstoque = CamadaNegocio.Faturamento.Pedido.TCN_LanPedidoItem_X_Estoque.Buscar(rPedItem.Nr_PedidoString, rPedItem.Cd_produto, rPedItem.Id_pedidoitem.ToString(), qtb_mov.Banco_Dados); if (lItemEstoque.Count > 0) { if (tEspera != null) { tEspera.Msg("Excluindo movimentaçao de deposito..."); tEspera.Msg("Excluindo taxas de deposito...\r\n" + "(Serão excluidas somente as taxas que não foram processadas e que não seja lançado manual.)"); } lItemEstoque.ForEach(p => { //Buscar lancto taxa deposito TList_TaxaDeposito lTaxas = new TCD_LanTaxaDeposito(qtb_mov.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_gro_saldocarenciataxa x " + "inner join tb_gro_movdeposito y " + "on x.id_movto = y.id_movto " + "where x.id_lantaxa = a.id_lantaxa " + "and y.nr_pedido = " + p.Nr_Pedido.ToString() + " " + "and y.cd_produto = '" + p.CD_Produto.Trim() + "' " + "and y.id_pedidoitem = " + p.Id_pedidoitem.ToString() + " " + "and y.cd_empresa = '" + p.CD_Empresa.Trim() + "' " + "and y.id_lanctoestoque = " + p.ID_LanctoEstoque.ToString() + ")" } }, 0, string.Empty); if (lTaxas.Count > 0) { if (!lTaxas.Exists(v => v.St_registro.Trim().ToUpper().Equals("P"))) { //Excluir saldo carencia new TCD_SaldoCarenciaTaxa(qtb_mov.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_gro_movdeposito x " + "where x.id_movto = a.id_movto " + "and x.nr_pedido = " + p.Nr_Pedido.ToString() + " " + "and x.cd_produto = '" + p.CD_Produto.Trim() + "' " + "and x.id_pedidoitem = " + p.Id_pedidoitem.ToString() + " " + "and x.cd_empresa = '" + p.CD_Empresa.Trim() + "' " + "and x.id_lanctoestoque = " + p.ID_LanctoEstoque.ToString() + ")" } }, 0, string.Empty).ForEach(v => new TCD_SaldoCarenciaTaxa(qtb_mov.Banco_Dados).Deleta(v)); //Excluir Movto Deposito new TCD_MovDeposito(qtb_mov.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.nr_pedido", vOperador = "=", vVL_Busca = p.Nr_Pedido.ToString() }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.CD_Produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_pedidoitem", vOperador = "=", vVL_Busca = p.Id_pedidoitem.ToString() }, new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.CD_Empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_lanctoestoque", vOperador = "=", vVL_Busca = p.ID_LanctoEstoque.ToString() } }, 0, string.Empty).ForEach(v => TCN_MovDeposito.DeletarMovDeposito(v, qtb_mov.Banco_Dados)); //Excluir lancto taxa deposito lTaxas.ForEach(v => { //Somente se a taxa for automatica if (v.Tp_Lancto.Trim().ToUpper().Equals("A")) { new TCD_LanTaxaDeposito(qtb_mov.Banco_Dados).Excluir(v); } }); //Chamar metodo GravarMovDeposito GravarMovDeposito(new TRegistro_MovDeposito() { Id_Movto = 0, Nr_Pedido = p.Nr_Pedido, CD_Produto = p.CD_Produto, CD_Empresa = p.CD_Empresa, Id_LanctoEstoque = p.ID_LanctoEstoque, Id_pedidoitem = p.Id_pedidoitem }, qtb_mov.Banco_Dados); } } else { //Excluir saldo carencia new TCD_SaldoCarenciaTaxa(qtb_mov.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_gro_movdeposito x " + "where x.id_movto = a.id_movto " + "and x.nr_pedido = " + p.Nr_Pedido.ToString() + " " + "and x.cd_produto = '" + p.CD_Produto.Trim() + "' " + "and x.id_pedidoitem = " + p.Id_pedidoitem.ToString() + " " + "and x.cd_empresa = '" + p.CD_Empresa.Trim() + "' " + "and x.id_lanctoestoque = " + p.ID_LanctoEstoque.ToString() + ")" } }, 0, string.Empty).ForEach(v => new TCD_SaldoCarenciaTaxa(qtb_mov.Banco_Dados).Deleta(v)); //Excluir Movto Deposito new TCD_MovDeposito(qtb_mov.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.nr_pedido", vOperador = "=", vVL_Busca = p.Nr_Pedido.ToString() }, new TpBusca() { vNM_Campo = "a.cd_produto", vOperador = "=", vVL_Busca = "'" + p.CD_Produto.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_pedidoitem", vOperador = "=", vVL_Busca = p.Id_pedidoitem.ToString() }, new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + p.CD_Empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_lanctoestoque", vOperador = "=", vVL_Busca = p.ID_LanctoEstoque.ToString() } }, 0, string.Empty).ForEach(v => TCN_MovDeposito.DeletarMovDeposito(v, qtb_mov.Banco_Dados)); //Chamar metodo GravarMovDeposito GravarMovDeposito(new TRegistro_MovDeposito() { Id_Movto = 0, Nr_Pedido = p.Nr_Pedido, CD_Produto = p.CD_Produto, CD_Empresa = p.CD_Empresa, Id_LanctoEstoque = p.ID_LanctoEstoque, Id_pedidoitem = p.Id_pedidoitem }, qtb_mov.Banco_Dados); } }); if (st_transacao) { qtb_mov.Banco_Dados.Commit_Tran(); } } else { throw new Exception("Não existe estoque amarrado ao item do pedido para reprocessar taxas."); } } catch (Exception ex) { if (st_transacao) { qtb_mov.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro reprocessar taxas: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mov.deletarBanco_Dados(); } } }