指标明细接口
This commit is contained in:
parent
71c572b667
commit
a4affdfd48
|
@ -1,4 +1,4 @@
|
||||||
from company.scripts import find_company_data_scripts
|
from company.scripts import find_company_data_scripts, find_financial_index_detail_scripts
|
||||||
|
|
||||||
|
|
||||||
class CompanyIndex:
|
class CompanyIndex:
|
||||||
|
@ -15,3 +15,9 @@ class CompanyIndex:
|
||||||
else:
|
else:
|
||||||
return "无数据", {}
|
return "无数据", {}
|
||||||
|
|
||||||
|
def get_index_detail_obj(self):
|
||||||
|
result = find_financial_index_detail_scripts(self.table, self.cid)
|
||||||
|
if result:
|
||||||
|
return '查询成功', result
|
||||||
|
else:
|
||||||
|
return '无数据', {}
|
||||||
|
|
|
@ -19,5 +19,8 @@ def company_page(**kwargs):
|
||||||
company_index = CompanyIndex()
|
company_index = CompanyIndex()
|
||||||
company_index.cid = kwargs['cid']
|
company_index.cid = kwargs['cid']
|
||||||
company_index.table = request.json['table']
|
company_index.table = request.json['table']
|
||||||
info, result = company_index.get_company_data_obj()
|
if company_index.table != '指标明细':
|
||||||
|
info, result = company_index.get_company_data_obj()
|
||||||
|
else:
|
||||||
|
info, result = company_index.get_index_detail_obj()
|
||||||
return {"info": info, "result": result}
|
return {"info": info, "result": result}
|
||||||
|
|
|
@ -1,5 +1,44 @@
|
||||||
|
import json
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
from company.db import find_data_in_company
|
from company.db import find_data_in_company
|
||||||
|
|
||||||
|
|
||||||
def find_company_data_scripts(table, cid):
|
def find_company_data_scripts(table, cid):
|
||||||
return find_data_in_company(table, {"企业ID": cid})
|
return find_data_in_company(table, {"企业ID": cid})
|
||||||
|
|
||||||
|
|
||||||
|
def find_financial_index_detail_scripts(table, cid):
|
||||||
|
df = pd.DataFrame(find_data_in_company(table, {"企业ID": cid})).sort_values('年报期', ascending=False)
|
||||||
|
cols = [
|
||||||
|
'年报期',
|
||||||
|
'净资产收益率',
|
||||||
|
'总资产报酬率',
|
||||||
|
'总资产周转率',
|
||||||
|
'应收账款周转率',
|
||||||
|
'存货周转率',
|
||||||
|
'资产负债率',
|
||||||
|
'已获利息倍数',
|
||||||
|
'速动比率',
|
||||||
|
'营业增长率',
|
||||||
|
'总资产增长率',
|
||||||
|
'技术投入比率'
|
||||||
|
]
|
||||||
|
unit_cols = [
|
||||||
|
'净资产收益率',
|
||||||
|
'总资产报酬率',
|
||||||
|
'总资产周转率',
|
||||||
|
'存货周转率',
|
||||||
|
'资产负债率',
|
||||||
|
'速动比率',
|
||||||
|
'营业增长率',
|
||||||
|
'总资产增长率',
|
||||||
|
'技术投入比率'
|
||||||
|
]
|
||||||
|
|
||||||
|
def percent_unit(param):
|
||||||
|
return param.map(lambda x: '{}%'.format(x) if (param.name in unit_cols and not pd.isna(x)) else x)
|
||||||
|
|
||||||
|
df_result = df[cols].apply(lambda x: percent_unit(x))
|
||||||
|
|
||||||
|
return list(json.loads(df_result.T.to_json()).values())
|
||||||
|
|
|
@ -8,4 +8,5 @@ pymongo~=3.11.0
|
||||||
PyYAML~=5.4.1
|
PyYAML~=5.4.1
|
||||||
requests~=2.25.1
|
requests~=2.25.1
|
||||||
rsa~=4.7.2
|
rsa~=4.7.2
|
||||||
pycryptodome
|
pycryptodome
|
||||||
|
pandas~=1.3.5
|
Loading…
Reference in New Issue