private SearchDataModel GetExportDatas(QueryModel model, QueryExcelModel keyModel) { SearchDataModel searchDataModel = new SearchDataModel(); List <QueryExcelModelNoData> resultKeyList = new List <QueryExcelModelNoData>(); List <ExportDataModel> list = new List <ExportDataModel>(); var result = SearchData.SearchResult(model.SearchModel); if (result != null) { if (result.Response != null && result.Response.Docs.Count > 0) { foreach (var d in result.Response.Docs) { ExportDataModel edm = new ExportDataModel(); edm.DocID = d.Id; if (model.Score > 0) { edm.Score = model.Score; } else { edm.Score = null; } edm.ScoreType = model.ScoreType; edm.SearchKey = model.SearchModel.SearchKey; edm.QueryType = model.QueryType; list.Add(edm); } resultKeyList.Add(new QueryExcelModelNoData() { ErrorType = EnumErrorType.querySuccess.ToString(), QueryString = keyModel.QueryString, QueryID = keyModel.QueryID, QueryType = keyModel.QueryType }); } else { resultKeyList.Add(new QueryExcelModelNoData() { ErrorType = EnumErrorType.SearchNoData.ToString(), QueryString = keyModel.QueryString, QueryID = keyModel.QueryID, QueryType = keyModel.QueryType }); } } else { resultKeyList.Add(new QueryExcelModelNoData() { ErrorType = EnumErrorType.SearchError.ToString(), QueryString = keyModel.QueryString, QueryID = keyModel.QueryID, QueryType = keyModel.QueryType }); } searchDataModel.searchData = list; searchDataModel.queryResultList = resultKeyList; return(searchDataModel); }
private List <QueryExcelModelNoData> ExportDataToExcel(List <ExportDataModel> list, QueryModel model, QueryExcelModel keymodel, bool IsSingle = false, bool AllSingle = false) { List <QueryExcelModelNoData> KeyListSearch = new List <QueryExcelModelNoData>(); if (list.Count > 0) { List <ExportObj> head = new List <ExportObj>(); head.Add(new ExportObj { DataType = typeof(string), key = "SearchKey", Name = "ScoreType" }); head.Add(new ExportObj { DataType = typeof(string), key = "DocID", Name = "DocID" }); head.Add(new ExportObj { DataType = typeof(decimal), key = "Score", Name = "Score" }); head.Add(new ExportObj { DataType = typeof(string), key = "ScoreType", Name = "ScoreType" }); string filename = ""; var rootpath = AppDomain.CurrentDomain.BaseDirectory + "/Export/ALL/" + model.SearchModel.SearchType; if (IsSingle) { rootpath = AppDomain.CurrentDomain.BaseDirectory + "/Export/" + model.SearchModel.SearchType; filename = NPOIExcelHelper.ExportListToExcelNew(list.AsQueryable(), head, "ExportScoreData", rootpath); } else { if (AllSingle) { filename = NPOIExcelHelper.ExportListToExcelNew(list.AsQueryable(), head, "ExportScoreData", rootpath, keymodel.QueryID.ToString()); } else { filename = NPOIExcelHelper.ExportListToExcelNew(list.AsQueryable(), head, "ExportScoreData", rootpath, keymodel.QueryType.ToString()); } } if (!string.IsNullOrEmpty(filename)) { KeyListSearch.Add(new QueryExcelModelNoData { ErrorType = EnumErrorType.CreateFileSuccess.ToString(),//"CreateSuccess", QueryID = keymodel.QueryID, QueryString = keymodel.QueryString, QueryType = keymodel.QueryType }); this.txtKeyResult.Text = string.Format("序号:{0} 文件名称:{1}", keymodel.QueryID.ToString(), filename); this.txtKeyResult.Refresh(); } else { KeyListSearch.Add(new QueryExcelModelNoData { ErrorType = EnumErrorType.CreateFileError.ToString(), //"CreateError", QueryID = keymodel.QueryID, QueryString = keymodel.QueryString, QueryType = keymodel.QueryType }); } } else { KeyListSearch.Add(new QueryExcelModelNoData { ErrorType = EnumErrorType.SearchNoData.ToString(),// "AllTemple Search NoData", QueryID = keymodel.QueryID, QueryString = keymodel.QueryString, QueryType = keymodel.QueryType }); } return(KeyListSearch); }
private void btnCreateData_Click(object sender, EventArgs e) { checkSearch(); SearchModel smodel = GetSearchModel(); QueryModel model = GetQueryModel(); List <string> querySuccessKey = new List <string>(); List <string> queryErrorKey = new List <string>(); List <string> KeywordList = new List <string>(); KeywordList = this.txtKey.Text.Trim().Split(',').ToList(); if (KeywordList != null && KeywordList.Count > 0) { List <QueryExcelModelNoData> errorResult = new List <QueryExcelModelNoData>(); List <ExportDataModel> searchResultData = new List <ExportDataModel>(); var ExportQueryExcelModel = new QueryExcelModel() { QueryString = "AllKey", QueryID = 1, QueryType = this.txtKey.Text.Trim() }; foreach (var key in KeywordList) { smodel.SearchKey = key; model.SearchModel = smodel; var QueryExcelModel = new QueryExcelModel() { QueryString = key, QueryID = KeywordList.IndexOf(key), QueryType = key }; var data = GetExportDatas(model, QueryExcelModel); searchResultData.AddRange(data.searchData); if (data.queryResultList.Count > 0) { errorResult.AddRange(data.queryResultList.Where(q => q.ErrorType != EnumErrorType.querySuccess.ToString())); } if (data.searchData.Count > 0) { querySuccessKey.Add(key); } else { queryErrorKey.Add(key); } lblnum.Text = string.Format(" {0} :{1}", KeywordList.IndexOf(key), key); lblnum.Refresh(); } if (searchResultData.Count > 0) { var searchResult = ExportDataToExcel(searchResultData, model, ExportQueryExcelModel, true); if (searchResult.Count > 0) { errorResult.AddRange(searchResult.Where(q => q.ErrorType != EnumErrorType.CreateFileSuccess.ToString())); } } if (errorResult.Count > 0) { errorlog(errorResult); } this.txtKeyResult.Text = string.Format(@"总数:{0} 条 Key 成功:{1} 失败:{2}", searchResultData.Count.ToString(), string.Join(" , ", querySuccessKey), string.Join(" , ", queryErrorKey)); this.txtKeyResult.Refresh(); } this.btnCreateData.Enabled = true; this.tsbtnCreateData.Enabled = true; this.tslSingleBtn.Enabled = true; }