Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }