//MÉTODOS PARA INVENTARIO COM WMS public ProdutoInventario GetProduto(string produto, int filial) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); ProdutoInventario produtoInventario; StringBuilder query = new StringBuilder(); ProdutoInventario pl = new ProdutoInventario(); try { query.Append("SELECT P.CODPROD, P.DESCRICAO || ' - ' || P.EMBALAGEM as DESCRICAO, P.QTUNITCX"); query.Append(" FROM PCPRODUT P INNER JOIN PCPRODFILIAL PF ON (P.CODPROD = PF.CODPROD)"); query.Append($"WHERE ((P.CODPROD = {produto}) OR (P.CODAUXILIAR = {produto}) OR (P.CODAUXILIAR2 = {produto})) "); query.Append($" AND PF.CODFILIAL = {filial}"); exec.CommandText = query.ToString(); OracleDataReader reader = exec.ExecuteReader(); if (reader.Read()) { pl.Codprod = reader.GetInt32(0); pl.Descricao = reader.GetString(1); pl.Qtunitcx = reader.GetInt32(2); pl.Erro = "N"; pl.Warning = "N"; pl.MensagemErroWarning = null; } else { pl.Erro = "N"; pl.Warning = "S"; pl.MensagemErroWarning = "Produto não encontrado"; produtoInventario = pl; } connection.Close(); return(pl); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { pl.Erro = "S"; pl.MensagemErroWarning = ex.Message; produtoInventario = pl; connection.Close(); return(produtoInventario); } exec.Dispose(); connection.Dispose(); throw ex; } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }
public Boolean GravaProduto(ProdutoInventario prod) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = new OracleCommand("STP_GERA_PROX_CONTAGEM", connection); try { string dtvalidade = null; dtvalidade = Convert.ToDateTime(prod.Datavalidade).ToString("dd-MM-yyyy"); //Elimina valores que podem ser nulos if (prod.Lastro == null) { prod.Lastro = 0; } if (prod.Camada == null) { prod.Camada = 0; } if (prod.Qtun == null) { prod.Qtun = 0; } if (prod.Qtcx == null) { prod.Qtcx = 0; } exec.CommandType = CommandType.StoredProcedure; exec.Parameters.Add("P_NUMINVENT", OracleDbType.Int32).Value = prod.NumInvent; exec.Parameters.Add("P_INVENTOS", OracleDbType.Int32).Value = prod.InventOs; exec.Parameters.Add("P_CODPROD", OracleDbType.Int32).Value = prod.Codprod; exec.Parameters.Add("P_QTTOTAL", OracleDbType.Int32).Value = prod.Total; exec.Parameters.Add("P_QTUND", OracleDbType.Int32).Value = prod.Qtun; exec.Parameters.Add("P_QTCX", OracleDbType.Int32).Value = prod.Qtcx; exec.Parameters.Add("P_ENDERECO", OracleDbType.Int32).Value = prod.CodEndereco; exec.Parameters.Add("P_CONTAGEM", OracleDbType.Int32).Value = prod.Contagem; exec.Parameters.Add("P_DTVALIDADE", OracleDbType.Varchar2).Value = dtvalidade; exec.Parameters.Add("P_MATDIG", OracleDbType.Int32).Value = prod.MatDig; exec.Parameters.Add("P_STATUS", OracleDbType.Varchar2).Value = prod.Status; exec.Parameters.Add("P_ALTERAVALIDADE", OracleDbType.Boolean).Value = prod.Alteravalidade; exec.ExecuteNonQuery(); connection.Close(); return(true); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); return(false); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }