示例#1
0
        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;
        }
示例#2
0
    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();
    }