/// <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);
        }