Exemple #1
0
        public static Resp_Company_List TradeSearch2CompanyList(ISearchResponse <Instrument.Client.ES_Company> sr)
        {
            var company_list = new Resp_Company_List()
            {
                oc_list = new List <Resp_Oc_Abs>(), count = sr.Total
            };

            foreach (var c in sr.Documents)
            {
                var r = new Resp_Oc_Abs();
                if (c != null)
                {
                    r.flag           = c.od_createtime.Year != 1900;
                    r.oc_addr        = c.oc_address ?? "";
                    r.oc_area        = c.oc_area;
                    r.oc_code        = c.oc_code;
                    r.oc_art_person  = c.od_faren ?? string.Empty;
                    r.oc_issue_time  = c.oc_issuetime.ToString("yyyy-MM-dd") ?? "";
                    r.oc_name        = c.oc_name;
                    r.oc_name_hl     = c.oc_name;
                    r.oc_reg_capital = c.od_regmoney ?? "";
                    r.oe_status      = c.oc_issuetime < DateTime.Now;
                    r.oc_type        = c.oc_companytype ?? "";
                    r.oc_status      = Datas.CompanyStatus.ContainsKey(c.oc_status) ? Datas.CompanyStatus[c.oc_status] : "未知";
                }
                company_list.oc_list.Add(r);
            }
            return(company_list);
        }
Exemple #2
0
        public static Resp_Company_List To_Company_List(ISearchResponse <OrgCompanyCombine> search)
        {
            var resp = new Resp_Company_List()
            {
                oc_list = new List <Resp_Oc_Abs>(), count = 3
            };
            var docs = search.Documents;

            foreach (var c in docs)
            {
                if (Private_Util.Normal_Filter(c.od_ext))
                {
                    var r = new Resp_Oc_Abs();
                    r.flag           = c.od_CreateTime.Year != 1900;
                    r.oc_addr        = c.oc_address ?? "--";
                    r.oc_area        = c.oc_area;
                    r.oc_code        = c.oc_code;
                    r.oc_art_person  = c.od_faRen ?? string.Empty;
                    r.oc_issue_time  = c.oc_issuetime.ToString("yyyy-MM-dd") ?? "--";
                    r.oc_name_hl     = c.oc_name;
                    r.oc_name        = c.oc_name;
                    r.oc_reg_capital = c.od_regMoney ?? "--";
                    r.oe_status      = c.oc_issuetime < DateTime.Now;
                    r.oc_type        = c.oc_companytype ?? "--";
                    r.oc_status      = r.flag ? Private_Util.Operation_Status_Get(c.od_ext) : "未知";
                    resp.oc_list.Add(r);
                }
                if (resp.oc_list.Count == 3)
                {
                    break;
                }
            }
            return(resp);
        }
Exemple #3
0
        public static Resp_Company_List Resp_Oc_Abs_Get(List <OrgCompanyListInfo> list, List <OrgCompanyDtlInfo> dtls)
        {
            var resp = new Resp_Company_List();

            resp.oc_list = new List <Resp_Oc_Abs>();
            foreach (var l in list)
            {
                var dtl = dtls.FirstOrDefault(t => t.od_oc_code == l.oc_code);
                var r   = new Resp_Oc_Abs();
                r.flag           = dtl != null ? dtl.od_CreateTime.Year != 1900 : false;
                r.oc_addr        = l.oc_address;
                r.oc_area        = l.oc_area;
                r.oc_code        = l.oc_code;
                r.oc_art_person  = dtl?.od_faRen ?? string.Empty;
                r.oc_issue_time  = l.oc_issuetime.ToString("yyyy-MM-dd");
                r.oc_name        = l.oc_name;
                r.oc_name_hl     = l.oc_name;
                r.oc_reg_capital = dtl?.od_regMoney ?? string.Empty;
                r.oe_status      = l.oc_issuetime < DateTime.Now;
                r.oc_type        = l.oc_companytype;
                r.oc_status      = Util.BusinessStatus_Get(dtl?.od_ext ?? "登记");

                resp.oc_list.Add(r);
            }
            return(resp);
        }
Exemple #4
0
        public static Resp_Company_List Search2CompanyList(ISearchResponse <Instrument.Client.ES_Company> sr, Company com)
        {
            var company_list = new Resp_Company_List()
            {
                oc_list = new List <Resp_Oc_Abs>(), count = sr.Total, cost = (sr.Took / 1000.0).ToString()
            };
            var trade_dict = new Dictionary <string, long>();
            var hits       = sr.Hits;
            var weights    = new double[com.pg_size];
            var scores     = new double[com.pg_size];
            int i          = 0;

            foreach (var hit in hits)
            {
                var r = new Resp_Oc_Abs();
                var c = hit.Source;
                if (c != null)
                {
                    r.flag           = c.od_createtime.Year != 1900;
                    r.oc_addr        = c.oc_address ?? "";
                    r.oc_area        = c.oc_area;
                    r.oc_code        = c.oc_code;
                    r.oc_art_person  = c.od_faren ?? string.Empty;
                    r.oc_issue_time  = c.oc_issuetime.ToString("yyyy-MM-dd") ?? "";
                    r.oc_name        = c.oc_name;
                    r.oc_name_hl     = c.oc_name;
                    r.oc_reg_capital = c.od_regmoney ?? "";
                    r.oe_status      = c.oc_issuetime < DateTime.Now;
                    r.oc_type        = c.oc_companytype ?? "";
                    r.oc_status      = Datas.CompanyStatus.ContainsKey(c.oc_status) ? Datas.CompanyStatus[c.oc_status] : "未知";
                    scores[i]        = hit.Score;
                    weights[i++]     = c.oc_weight;
                }

                r.gb_trades = new List <string>(10);
                foreach (var code in c.gb_codes)
                {
                    var name = GBName_Get(c.gb_cat, code);
                    if (name != "")
                    {
                        r.gb_trades.Add(name);
                    }
                }

                var hl = hit.Highlights;
                foreach (var pair in hl)
                {
                    r.hits.Add(pair.Key, pair.Value.Highlights.FirstOrDefault());
                }
                company_list.oc_list.Add(r);
            }

            //if (com.pg_index == 1)
            //    ExpUtil.Observation_Insert(ESClient.FunctionScript, Es_Consts.Company_Index + "." + Es_Consts.Company_Type, com.oc_name, scores, weights);

            #region aggregation
            if (sr.Aggregations.Count > 0)
            {
                company_list.aggs = new Company_Agg();
                foreach (var agg in sr.Aggregations)
                {
                    var items = ((BucketAggregate)agg.Value).Items;
                    switch (agg.Key)
                    {
                    case "area":
                        foreach (var item in items)
                        {
                            var pair = (KeyedBucket)item;
                            if (Constants.AreaMap.ContainsKey(pair.Key))
                            {
                                company_list.aggs.areas.Add(new Agg_Monad($"{Constants.AreaMap[pair.Key]}({pair.DocCount ?? 0})", pair.Key, pair.DocCount ?? 0));
                            }
                        }
                        break;

                    case "date":
                        foreach (var item in items)
                        {
                            var pair = (DateHistogramBucket)item;
                            company_list.aggs.dates.Add(new Agg_Monad($"{pair.Date.Year}({pair.DocCount})", pair.Date.ToString(), pair.DocCount));
                        }
                        break;

                    case "regm":
                        foreach (var item in items)
                        {
                            var pair = (RangeBucket)item;
                            company_list.aggs.regms.Add(RangeBucket2AggMonad(pair));
                        }
                        break;

                    case "status":
                        foreach (var item in items)
                        {
                            var pair = (KeyedBucket)item;
                            company_list.aggs.statuses.Add(new Agg_Monad($"{Constants.CompanyStatusMap[pair.Key]}({pair.DocCount ?? 0})", pair.Key, pair.DocCount ?? 0));
                        }
                        break;

                    case "cat":      // 行业分类
                        foreach (var item in items)
                        {
                            var pair = (KeyedBucket)item;
                            if (!string.IsNullOrEmpty(pair.Key))
                            {
                                company_list.aggs.trades.Add(new Agg_Monad($"{Instrument.Model.Constants.Primary_Trades[pair.Key]}({pair.DocCount ?? 0})", pair.Key, pair.DocCount ?? 0));
                            }
                        }
                        break;

                    case "type":
                        foreach (var item in items)
                        {
                            var pair = (KeyedBucket)item;
                            company_list.aggs.types.Add(new Agg_Monad($"{pair.Key}({pair.DocCount ?? 0})", pair.Key, pair.DocCount ?? 0));
                        }
                        break;
                    }
                }
            }
            #endregion
            //if (sr.Aggregations.ContainsKey("1"))
            //{
            //    var agg = (BucketAggregate)sr.Aggregations["fst"];

            //    foreach (var i in agg.Items)
            //    {
            //        var pair = (KeyedBucket)i;
            //        type_dict.Add(pair.Key, pair.DocCount ?? 0);
            //    }
            //    //count = type_dict.Sum(di => di.Value);
            //}
            //DataAccess.ErrorLog_Insert(Constructor.Create_TestLog(company_list.aggs.areas.FirstOrDefault().ToJson(), com.ToJson(), com.u_id + com.u_name));
            return(company_list);
        }