private bool _initNotQCOrderInfo(StockInfos infos, OleDbCommand cmd, SearchItem v, bool isfirst = false) { bool isFirst = true; using (OleDbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { OrderInfo od = new OrderInfo(); od.InitNotQCOrderByDB(reader); od.OriginalString = v.Value; od.SearchState = od.State == OrderInfo.OrderInfoState.Insert ? SearchState.Normal : SearchState.Deleted; infos.Add(od); if (od.State == OrderInfo.OrderInfoState.Insert) { isFirst = false; } } if (isFirst && !isfirst) { OrderInfo od = new OrderInfo() { SearchState = SearchState.None, OriginalString = v.Value }; infos.Add(od); } } return(!isFirst); }
/// <summary> /// 在未QC库中搜索 /// </summary> private void _searchNotQC(List <SearchItem> list, NnExcel ne) { StockInfos infos = new StockInfos(); try { using (OleDbCommand cmd = new OleDbCommand()) { cmd.Connection = m_connection; foreach (var v in list) { if (string.IsNullOrWhiteSpace(v.Value)) { continue; } if (v.SearchType == SearchType.WorkNo) { _initNotQCWorkNoSearch(infos, cmd, v); } else { _initNotQCCoordinateAndOrderIDSearch(infos, cmd, v); } } } object[][] vs = infos.GetValues(); ne.AddValueWithName(vs, 1, 9, "半纯品"); ne.AutoFit(new int[] { 2, 3, 4, 8 }); ne.SetColor(NPoint.GetPoint(1, 1), NPoint.GetPoint(1, 7), NnExcel.ColorType.Blue); ne.SetColor(NPoint.GetPoint(infos.CountNormal + 2, 1), NPoint.GetPoint(infos.CountNormal + 3, 9), NnExcel.ColorType.Blue); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private void _initNotQCWorkNoSearch(StockInfos infos, OleDbCommand cmd, SearchItem v) { cmd.Parameters.Clear(); cmd.CommandText = "SELECT * FROM notqc WHERE WorkNo=@wn"; cmd.Parameters.AddWithValue("wn", v.Value); _initNotQCOrderInfo(infos, cmd, v); }
private void _initResinCoordinateAndOrderIDSearch(StockInfos infos, OleDbCommand cmd, SearchItem v) { cmd.Parameters.Clear(); cmd.CommandText = "SELECT * FROM resinpeptide WHERE Coordinate=@cd"; cmd.Parameters.AddWithValue("cd", v.Value); bool b = _initNotQCOrderInfo(infos, cmd, v); cmd.Parameters.Clear(); cmd.CommandText = "SELECT * FROM resinpeptide WHERE OrderId=@id"; cmd.Parameters.AddWithValue("id", v.Value); _initNotQCOrderInfo(infos, cmd, v, !b); }