指标明细接口
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:
|
||||
|
@ -15,3 +15,9 @@ class CompanyIndex:
|
|||
else:
|
||||
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.cid = kwargs['cid']
|
||||
company_index.table = request.json['table']
|
||||
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}
|
||||
|
|
|
@ -1,5 +1,44 @@
|
|||
import json
|
||||
import pandas as pd
|
||||
|
||||
from company.db import find_data_in_company
|
||||
|
||||
|
||||
def find_company_data_scripts(table, 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())
|
||||
|
|
|
@ -9,3 +9,4 @@ PyYAML~=5.4.1
|
|||
requests~=2.25.1
|
||||
rsa~=4.7.2
|
||||
pycryptodome
|
||||
pandas~=1.3.5
|
Loading…
Reference in New Issue