public ResultInfoWebService Search(string strPattern, int UserID, int nSNo, SearchDbType _SDbType) { SearchPattern schPatItem = new Cpic.Cprs2010.Search.SearchPattern(); schPatItem.SearchNo = nSNo.ToString().PadLeft(3, '0'); //检索编号 schPatItem.Pattern = strPattern; //检索式:F XX 2010/AD schPatItem.UserId = UserID; //用户ID schPatItem.DbType = _SDbType; SearchInterface.ClsSearch search = new SearchInterface.ClsSearch(); ResultInfo res = search.DoSearch(SearchInterface.XmPatentComm.strWebSearchGroupName, strPattern, Convert.ToInt32(UserID), schPatItem.SearchNo, _SDbType); // Cpic.Cprs2010.Search.ResultInfo res = Cpic.Cprs2010.Search.SearchManager.SearchFactory.CreatDoSearch(schPatItem); ResultInfoWebService resultInfoWebService = new ResultInfoWebService(); resultInfoWebService.ResultInfo = res; ResultServices result = new ResultServices(); string resultFilePath = result.getResultFilePath(schPatItem); resultInfoWebService.ResultSearchFilePath = resultFilePath; return resultInfoWebService; }
private static string Merge(SearchPattern sp, string NodeId, string type, string stype) { ResultServices res = new ResultServices(); List<int> fResult = res.GetResultList(sp, ""); List<int> dbResult = ztHelper.GetResultList(NodeId,type); List<int> sresult ; if (stype == "1") { sresult = dbResult.Intersect(fResult).ToList<int>(); } else { sresult = dbResult.Except(fResult).ToList<int>(); } //结果文件绝对目录 string file = res.getResultFilePath(sp).Replace(sp.SearchNo+ ".cnp","998.cnp"); if (File.Exists(file)) File.Delete(file); using (FileStream fs = new System.IO.FileStream(file, FileMode.CreateNew)) { foreach (var id in sresult) { byte[] fmlNo = BitConverter.GetBytes(id); fs.Write(fmlNo, 0, fmlNo.Length); } } return sresult.Count().ToString(); }