public Boolean finalizaConfListagem(ProdutoEnderecoPicking lista) { Boolean salvou = false; OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); StringBuilder query = new StringBuilder(); try { query.Append($"UPDATE TAB_LOGISTICA_REPOSICAO SET QTCONFERIDA = {lista.Qt}, DTFIMCONF = SYSDATE, DTCONFLISTA = SYSDATE WHERE NUMREPOSICAO = {lista.Numreposicao} AND CODPROD = {lista.Codprod} AND CODFILIAL = {lista.Codfilial}"); exec.CommandText = query.ToString(); OracleDataReader reader = exec.ExecuteReader(); salvou = true; 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(); } }
public ProdutoEnderecoPicking getEnderecoProdutoPicking(string produto, int filial) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); ProdutoEnderecoPicking produtoEnderecoPicking = new ProdutoEnderecoPicking(); StringBuilder query = new StringBuilder(); try { query.Append($"select en.codendereco, prod.codprod, prod.descricao, case when {produto} = prod.codauxiliar2 then prod.qtunitcx else 1 end qt, "); query.Append(" en.deposito, en.rua, en.predio, en.nivel, en.apto, prod.codauxiliar as ean, prod.codauxiliar2 as dun, prod.qtunitcx"); query.Append(" from pcendereco en inner join pcprodutpicking pk on (en.codendereco = pk.codendereco and en.codfilial = pk.codfilial)"); query.Append(" inner join pcestendereco est on (en.codendereco = est.codendereco)"); query.Append(" inner join pcprodut prod on (est.codprod = prod.codprod) "); query.Append($"where ((prod.codprod = {produto}) or (prod.codauxiliar = {produto}) or (prod.codauxiliar2 = {produto}))"); query.Append($" and en.codfilial = {filial} and pk.tipo = 'V'"); query.Append(" order by en.deposito, en.rua, case when mod(en.rua, 2) = 1 then en.predio end asc, case when mod(en.rua, 2) = 0 then en.predio end desc, en.nivel, en.apto"); exec.CommandText = query.ToString(); OracleDataReader reader = exec.ExecuteReader(); ProdutoEnderecoPicking pend = new ProdutoEnderecoPicking(); if (reader.Read()) { pend.Codendereco = reader.GetInt32(0); pend.Codprod = reader.GetInt32(1); pend.Descricao = reader.GetString(2); pend.Qt = reader.GetInt32(3); pend.Deposito = reader.GetInt32(4); pend.Rua = reader.GetInt32(5); pend.Predio = reader.GetInt32(6); pend.Nivel = reader.GetInt32(7); pend.Apto = reader.GetInt32(8); pend.Ean = reader.GetInt64(9); pend.Dun = reader.GetInt64(10); pend.Qtunitcx = reader.GetInt32(11); pend.Codfilial = filial; pend.Warning = "N"; pend.Erro = "N"; produtoEnderecoPicking = pend; } else { pend.Erro = "N"; pend.Warning = "S"; pend.MensagemErroWarning = "Produto não encontrado."; produtoEnderecoPicking = pend; } connection.Close(); return(produtoEnderecoPicking); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { ProdutoEnderecoPicking pend = new ProdutoEnderecoPicking(); pend.Erro = "S"; pend.MensagemErroWarning = ex.Message; produtoEnderecoPicking = pend; connection.Close(); return(produtoEnderecoPicking); } exec.Dispose(); connection.Dispose(); return(produtoEnderecoPicking); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }
public List <ProdutoEnderecoPicking> gravaListaEndereco(List <ProdutoEnderecoPicking> lista) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); List <ProdutoEnderecoPicking> listaOrdenada = new List <ProdutoEnderecoPicking>(); StringBuilder numReposicao = new StringBuilder(); try { lista.ForEach(list => { StringBuilder query = new StringBuilder(); ProdutoEnderecoPicking data = new ProdutoEnderecoPicking(); data.Numreposicao = list.Numreposicao; data.Codfunc = list.Codfunc; data.Codprod = list.Codprod; data.Codfilial = list.Codfilial; data.Qt = list.Qt; query.Append($"INSERT INTO TAB_LOGISTICA_REPOSICAO (NUMREPOSICAO, CODPROD, CODFILIAL, QT, DTINICIOCONF, CODFUNCLISTA) VALUES ({data.Numreposicao}, {data.Codprod}, {data.Codfilial}, {data.Qt}, SYSDATE, {data.Codfunc})"); exec.CommandText = query.ToString(); OracleDataReader reader = exec.ExecuteReader(); }); listaOrdenada = this.getListaReposicaoAberta(lista[0].Codfunc); return(listaOrdenada); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { ProdutoEnderecoPicking listaErro = new ProdutoEnderecoPicking(); listaErro.Erro = "S"; listaErro.MensagemErroWarning = ex.Message; listaOrdenada.Add(listaErro); connection.Close(); return(listaOrdenada); } exec.Dispose(); connection.Dispose(); return(listaOrdenada); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }
public List <ProdutoEnderecoPicking> getListaReposicaoAberta(int codUsuario) { OracleConnection connection = DataBase.novaConexao(); OracleCommand exec = connection.CreateCommand(); List <ProdutoEnderecoPicking> listaReposicao = new List <ProdutoEnderecoPicking>(); StringBuilder query = new StringBuilder(); try { query.Append("select rep.codfilial, rep.numreposicao, rep.codprod, prod.descricao, prod.codauxiliar as ean, prod.codauxiliar2 as dun, prod.qtunitcx, "); query.Append(" pk.codendereco, en.deposito, en.rua, en.predio, en.nivel, en.apto, rep.qt"); query.Append(" from pcprodut prod inner join tab_logistica_reposicao rep on (prod.codprod = rep.codprod)"); query.Append(" inner join pcprodutpicking pk on (rep.codprod = pk.codprod and rep.codfilial = pk.codfilial)"); query.Append(" inner join pcendereco en on(pk.codendereco = en.codendereco and rep.codfilial = en.codfilial) "); query.Append($"where rep.codfunclista = {codUsuario}"); query.Append(" and rep.dtconflista is null and rep.dtcancel is null and pk.tipo = 'V' "); query.Append("order by decode(en.tipoender, 'AP', 'AAP'), en.deposito, en.rua, case when mod(en.rua, 2) = 1 then en.predio end asc, case when mod(en.rua, 2) = 0 then en.predio end desc, en.nivel, en.apto"); exec.CommandText = query.ToString(); OracleDataReader reader = exec.ExecuteReader(); while (reader.Read()) { ProdutoEnderecoPicking lista = new ProdutoEnderecoPicking(); lista.Codfilial = reader.GetInt32(0); lista.Numreposicao = reader.GetInt32(1); lista.Codprod = reader.GetInt32(2); lista.Descricao = reader.GetString(3); lista.Ean = reader.GetInt64(4); lista.Dun = reader.GetInt64(5); lista.Qtunitcx = reader.GetInt32(6); lista.Codendereco = reader.GetInt32(7); lista.Deposito = reader.GetInt32(8); lista.Rua = reader.GetInt32(9); lista.Predio = reader.GetInt32(10); lista.Nivel = reader.GetInt32(11); lista.Apto = reader.GetInt32(12); lista.Qt = reader.GetInt32(13); lista.Warning = "N"; lista.Erro = "N"; listaReposicao.Add(lista); } connection.Close(); return(listaReposicao); } catch (Exception ex) { if (connection.State == ConnectionState.Open) { ProdutoEnderecoPicking lista = new ProdutoEnderecoPicking(); lista.Erro = "S"; lista.MensagemErroWarning = ex.Message; listaReposicao.Add(lista); connection.Close(); return(listaReposicao); } exec.Dispose(); connection.Dispose(); return(listaReposicao); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } exec.Dispose(); connection.Dispose(); } }