public static string Excluir(TRegistro_ItensCargaAvulsa val, 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; } if (new CamadaDados.Locacao.TCD_AbastItens(qtb_carga.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa + "'" }, new TpBusca { vNM_Campo = "a.id_carga", vOperador = "=", vVL_Busca = val.Id_cargastr }, new TpBusca { vNM_Campo = "a.id_itemcarga", vOperador = "=", vVL_Busca = val.Id_itemstr } }, "1") != null) { throw new Exception("Não é possível excluir uma carga avulsa que contenha produtos relacionados com abastecimento de patrimônio." + " Produto em questão: " + val.Cd_produto + "."); } qtb_carga.Excluir(val); 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 excluir item Carga: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_carga.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_ItensCargaAvulsa val, 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; } val.Id_itemstr = CamadaDados.TDataQuery.getPubVariavel(qtb_carga.Gravar(val), "@P_ID_ITEM"); if (st_transacao) { qtb_carga.Banco_Dados.Commit_Tran(); } return(val.Id_itemstr); } 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 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(); } } }