public DataTable getProduto(string produto, int filial) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); DataTable produtoColetor = new DataTable(); ProdutoColetor p = new ProdutoColetor(); StringBuilder query = new StringBuilder(); try { query.Append("SELECT TO_NUMBER(PF.CODFILIAL) AS CODFILIAL, P.CODPROD, P.DESCRICAO || ' - ' || P.EMBALAGEM as DESCRICAO, "); query.Append(" P.EMBALAGEM, P.UNIDADE, P.QTUNIT AS QTUNIT, CODAUXILIAR AS EAN, P.ALTURAM3 AS ALTUN, P.LARGURAM3 AS LARGUN, P.COMPRIMENTOM3 AS COMPUN, P.PESOBRUTO AS PESOUN, "); query.Append(" P.EMBALAGEMMASTER, P.UNIDADEMASTER, P.QTUNITCX AS QTCX, CODAUXILIAR2 AS DUN, P.ALTURAARM AS ALT, P.LARGURAARM AS LARG, P.COMPRIMENTOARM AS COMP, P.PESOBRUTOMASTER AS PESO, "); query.Append(" NVL(PF.LASTROPAL, 0) AS LASTRO, NVL(PF.ALTURAPAL, 0) AS CAMADA, PF.QTTOTPAL AS TOTAL, PK.CAPACIDADE AS CAPACIDADE, PK.PONTOREPOSICAO AS REPOSICAO, PF.PRAZOVAL AS PRAZOVALIDADE, PF.PERCTOLERANCIAVAL AS SHELFLIFE"); query.Append(" FROM PCPRODUT P INNER JOIN PCPRODFILIAL PF ON(P.CODPROD = PF.CODPROD) LEFT OUTER JOIN PCPRODUTPICKING PK ON (P.CODPROD = PK.CODPROD AND PF.CODFILIAL = PK.CODFILIAL)"); query.Append($" WHERE ((P.CODPROD = {produto}) OR (P.CODAUXILIAR = {produto}) OR (P.CODAUXILIAR2 = {produto})) "); query.Append($" AND PF.CODFILIAL = {filial}"); exec.CommandText = query.ToString(); OracleDataAdapter oda = new OracleDataAdapter(exec); oda.SelectCommand = exec; oda.Fill(produtoColetor); return(produtoColetor); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { p.Erro = "S"; p.MensagemErroWarning = ex.Message; connection.Close(); return(null); } exec.Dispose(); connection.Dispose(); return(null); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }
public Boolean editaDados(ProdutoColetor prod) { Boolean salvou = false; OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); StringBuilder pcprodut = new StringBuilder(); StringBuilder pcprodfilial = new StringBuilder(); StringBuilder pcprodutpicking = new StringBuilder(); try { OracleTransaction transacao = connection.BeginTransaction(); exec.Transaction = transacao; //Elimina valores que podem ser nulos //PCPRODUT - Unidade if (prod.Ean == null) { prod.Ean = 0; } if (prod.AltUn == null) { prod.AltUn = 0; } if (prod.LargUn == null) { prod.LargUn = 0; } if (prod.CompUn == null) { prod.CompUn = 0; } if (prod.PesoUn == null) { prod.PesoUn = 0; } //PCPRODUT - Master if (prod.Embalagemmaster == null) { prod.Embalagemmaster = ""; } if (prod.Dun == null) { prod.Dun = 0; } if (prod.Alt == null) { prod.Alt = 0; } if (prod.Larg == null) { prod.Larg = 0; } if (prod.Comp == null) { prod.Comp = 0; } if (prod.Peso == null) { prod.Peso = 0; } //PCPRODFILIAL - Norma Palete if (prod.Lastro == null) { prod.Lastro = 0; } if (prod.Camada == null) { prod.Camada = 0; } if (prod.Total == null) { prod.Total = 0; } //PCPRODFILIAL - Validade if (prod.PrazoValidade == null) { prod.PrazoValidade = 0; } if (prod.ShelfLife == null) { prod.ShelfLife = 0; } //PCPRODUTOPICKING if (prod.Capacidade == null) { prod.Capacidade = 0; } if (prod.Reposicao == null) { prod.Reposicao = 0; } //CALCULA VOL. MASTER decimal volumeMaster = ((Convert.ToDecimal(prod.Alt) * Convert.ToDecimal(prod.Larg) * Convert.ToDecimal(prod.Comp)) / 1000000); decimal volumeUnit = ((Convert.ToDecimal(prod.AltUn) * Convert.ToDecimal(prod.LargUn) * Convert.ToDecimal(prod.CompUn)) / 1000000); //UPDATE PCPRODUT pcprodut.Append($"UPDATE PCPRODUT SET CODAUXILIAR = {prod.Ean}, CODAUXILIAR2 = {prod.Dun}, ALTURAARM = {prod.Alt.ToString().Replace(",", ".")}, LARGURAARM = {prod.Larg.ToString().Replace(",", ".")}, "); pcprodut.Append($"COMPRIMENTOARM = {prod.Comp.ToString().Replace(",", ".")}, VOLUMEARM = {volumeMaster.ToString().Replace(",", ".")}, PESOLIQMASTER = {prod.Peso.ToString().Replace(",", ".")}, PESOBRUTOMASTER = {prod.Peso.ToString().Replace(",", ".")}, "); pcprodut.Append($"VOLUME = {volumeUnit.ToString().Replace(",", ".")}, PESOLIQ = ROUND({prod.PesoUn.ToString().Replace(",", ".")},4), PESOBRUTO = ROUND({prod.PesoUn.ToString().Replace(",", ".")},4), "); pcprodut.Append($"ALTURAM3 = {prod.AltUn.ToString().Replace(",", ".")}, LARGURAM3 = {prod.LargUn.ToString().Replace(",", ".")}, COMPRIMENTOM3 = {prod.CompUn.ToString().Replace(",", ".")}"); pcprodut.Append($" WHERE CODPROD = {prod.Codprod}"); exec.CommandText = pcprodut.ToString(); OracleDataReader produt = exec.ExecuteReader(); //UPDATE PCPRODFILIAL pcprodfilial.Append($"UPDATE PCPRODFILIAL SET LASTROPAL = {prod.Lastro}, ALTURAPAL = {prod.Camada}, QTTOTPAL = ({prod.Total}), PRAZOVAL = {prod.PrazoValidade}, PERCTOLERANCIAVAL = {prod.ShelfLife}"); pcprodfilial.Append($" WHERE CODPROD = {prod.Codprod} AND CODFILIAL = {prod.Codfilial}"); exec.CommandText = pcprodfilial.ToString(); OracleDataReader prodfilial = exec.ExecuteReader(); //UPDATE PCPRODUTOPICKING pcprodutpicking.Append($"UPDATE PCPRODUTPICKING SET CAPACIDADE = {prod.Capacidade}, PONTOREPOSICAO = {prod.Reposicao}"); pcprodutpicking.Append($" WHERE CODPROD = {prod.Codprod} AND CODFILIAL = {prod.Codfilial}"); exec.CommandText = pcprodutpicking.ToString(); OracleDataReader produtpicking = exec.ExecuteReader(); salvou = true; transacao.Commit(); connection.Close(); return(salvou); } catch (Exception ex) { salvou = false; if (connection.State == ConnectionState.Open) { connection.Close(); return(salvou); } exec.Dispose(); connection.Dispose(); return(salvou); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }