| | |
| | | .ToPageAsync(pageIndex, pageSize); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 景气矩阵 |
| | | /// </summary> |
| | |
| | | .ToListAsync(); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上市地位 |
| | | /// </summary> |
| | |
| | | .ToPageAsync(pageIndex, pageSize); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上市地位 |
| | | /// </summary> |
| | |
| | | .ToListAsync(); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 公司详情 |
| | | /// </summary> |
| | |
| | | .ToPageAsync(pageIndex, pageSize); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 公司详情 |
| | | /// </summary> |
| | |
| | | .ToListAsync(); |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 产业地图 |
| | | /// </summary> |
| | |
| | | return res; |
| | | } |
| | | |
| | | public async Task<Page<ChainIncomeCost>> GetChainIncomeCostPage(int pageIndex,int pageSize,string[] exchangeCodes) |
| | | public async Task<Page<ChainIncomeCost>> GetChainIncomeCostPage(int pageIndex, int pageSize, |
| | | string[] exchangeCodes) |
| | | { |
| | | var res = await RiskControlRRDb.Queryable<ChainIncomeCost>() |
| | | .WhereIF(exchangeCodes.Length>0,a=>exchangeCodes.Contains(a.ExchangeCode)) |
| | |
| | | return res; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="type">income,cost,grossmargin</param> |
| | | /// <returns></returns> |
| | | public async Task<object> GetChainIncomeCostChart(string type) |
| | | { |
| | | var data = await RiskControlRRDb.Queryable<ChainIncomeCost>() |
| | | .Where(a => a.CompanyName == "总计") |
| | | .FirstAsync(); |
| | | var props = typeof(ChainIncomeCost).GetProperties(); |
| | | var dict = new SortedDictionary<int, double>(); |
| | | foreach (var p in props.Where(a=>a.Name.ToLower().StartsWith(type.ToLower()))) |
| | | { |
| | | var year =int.Parse(p.Name.ToLower().Replace(type.ToLower(), "")); |
| | | var val = (double?) p.GetValue(data); |
| | | if(val != null) |
| | | dict.Add(year,(double)val); |
| | | } |
| | | |
| | | var res = new List<object>(); |
| | | var index = 0; |
| | | foreach (var kv in dict) |
| | | { |
| | | var obj = new {year = kv.Key, value = kv.Value, rate = index == 0 ? (double?)null : (kv.Value - dict[kv.Key-1])/ dict[kv.Key - 1] *100}; |
| | | res.Add(obj); |
| | | index++; |
| | | } |
| | | |
| | | return res; |
| | | } |
| | | |
| | | } |
| | | } |