/// <summary> /// 移除临时库存 /// </summary> /// <param name="stock"></param> private void _deleteTemporaryStock(NnStock stock) { List <NnStock> list = new List <NnStock>(); using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM stock_new WHERE [orderId]=@v1", m_connection)) { cmd.Parameters.AddWithValue("v1", stock.OrderId); using (OleDbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { NnStock sk = new NnStock(); sk.InitStockNewByDb(reader); if (sk.Coordinate.StartsWith("L-") && sk.Coordinate != stock.Coordinate) { list.Add(sk); } } } } foreach (var v in list) { v.Cause = "坐标替换" + v.Coordinate + "->" + stock.Coordinate; _removeFromDatabase(v); } }
/// <summary> /// 通过OrderId和Coordinate搜索 /// </summary> private bool _searchByOrderIdAndCoordinate(string s, StockSearcher ss) { bool isHas = false; try { using (OleDbCommand cmd = new OleDbCommand("SELECT * FROM stock_new WHERE [coordinate]=@v1", m_connection)) { cmd.Parameters.AddWithValue("v1", s); using (OleDbDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { NnStock ns = new NnStock(); ns.InitStockNewByDb(reader); ns.OriginalString = s; ss.Add(ns); return(true); } } cmd.CommandText = "SELECT * FROM stock_new WHERE [orderId]=@v1"; using (OleDbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { NnStock ns = new NnStock(); ns.InitStockNewByDb(reader); ns.OriginalString = s; isHas = true; ss.Add(ns); } } cmd.CommandText = "SELECT * FROM stock_old WHERE [orderId]=@v1"; using (OleDbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { NnStock ns = new NnStock(); ns.InitStockOldByDb(reader); ns.OriginalString = s; ss.Add(ns); } } } } catch (Exception e) { Console.WriteLine(e.ToString()); } return(isHas); }
// 从数据库移除 private int _removeFromDatabase(NnStock stock) { int count = 0; using (OleDbCommand cmd = new OleDbCommand("select * from stock_new where coordinate=@cd", m_connection)) { cmd.Parameters.AddWithValue("cd", stock.Coordinate); try { NnStock sk = null; using (OleDbDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { sk = new NnStock(); sk.InitStockNewByDb(reader); } } if (sk == null) { return(count); } cmd.Parameters.Clear(); cmd.CommandText = $"insert into stock_old (dateAdd,dateRemove,workNo,orderId,quality,purity,mw,cause) values(@dta,@dtn,@wn,@oi,@qt,@pt,@mw,@ca)"; cmd.Parameters.AddWithValue("dta", sk.DateAdd.ToString()); cmd.Parameters.AddWithValue("dtn", DateTime.Now.ToString()); cmd.Parameters.AddWithValue("wn", sk.WorkNo); cmd.Parameters.AddWithValue("oi", sk.OrderId); cmd.Parameters.AddWithValue("qt", sk.Quality); cmd.Parameters.AddWithValue("pt", sk.Purity); cmd.Parameters.AddWithValue("mw", sk.Mw); cmd.Parameters.AddWithValue("ca", stock.Cause); count = cmd.ExecuteNonQuery(); if (count > 0) { cmd.Parameters.Clear(); cmd.CommandText = "delete from stock_new where coordinate=@cd"; cmd.Parameters.AddWithValue("cd", stock.Coordinate); cmd.ExecuteNonQuery(); _updateCoordinate(stock.Coordinate, false); } } catch (Exception e) { Console.WriteLine(e.ToString()); } } return(count); }
// 更新数据库数据 private int _updateForDatabase(NnStock stock) { int count = 0; using (OleDbCommand cmd = new OleDbCommand("select * from stock_new where coordinate=@cd", m_connection)) { cmd.Parameters.AddWithValue("cd", stock.Coordinate); try { NnStock sk = null; using (OleDbDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { sk = new NnStock(); sk.InitStockNewByDb(reader); sk.Purity = stock.Purity; sk.Mw = stock.Mw; if (stock.Quality > 0) { sk.Quality = stock.Quality; } } } if (sk == null) { return(count); } cmd.Parameters.Clear(); cmd.CommandText = "update stock_new set quality=@qt,purity=@pt,mw=@mw where coordinate=@cd"; cmd.Parameters.AddWithValue("qt", sk.Quality); cmd.Parameters.AddWithValue("pt", sk.Purity); cmd.Parameters.AddWithValue("mw", sk.Mw); cmd.Parameters.AddWithValue("cd", sk.Coordinate); count = cmd.ExecuteNonQuery(); } catch (Exception e) { Console.WriteLine(e.ToString()); } } return(count); }