update ESG相关接口
This commit is contained in:
parent
5471398642
commit
e9467ab6dc
|
@ -1,4 +1,5 @@
|
||||||
from common.scripts import read_json_file
|
from common.scripts import read_json_file
|
||||||
|
from rating.scripts.common import industry_processing
|
||||||
from rating.scripts.esg.environment import *
|
from rating.scripts.esg.environment import *
|
||||||
from rating.scripts.esg.governance import *
|
from rating.scripts.esg.governance import *
|
||||||
from rating.scripts.esg.social import *
|
from rating.scripts.esg.social import *
|
||||||
|
@ -33,7 +34,7 @@ class EsgCleanModel:
|
||||||
# 段落5 基本信息
|
# 段落5 基本信息
|
||||||
data = dict()
|
data = dict()
|
||||||
data['公司名称'] = self.data['企业名称']
|
data['公司名称'] = self.data['企业名称']
|
||||||
data['所属行业'] = self.data['所属行业']
|
data['所属行业'] = industry_processing(self.data['所属行业'])
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def paragraph_06(self):
|
def paragraph_06(self):
|
||||||
|
@ -102,12 +103,9 @@ class EsgCleanModel:
|
||||||
data['企业ID'] = self.cid
|
data['企业ID'] = self.cid
|
||||||
data['企业名称'] = self.company
|
data['企业名称'] = self.company
|
||||||
data['评价年度'] = self.data['评价年度']
|
data['评价年度'] = self.data['评价年度']
|
||||||
data['行业选择'] = self.data['所属行业']
|
|
||||||
data['报告模板'] = self.integrate_data()
|
data['报告模板'] = self.integrate_data()
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
d = read_json_file('/rating/static/template_data.json')
|
d = read_json_file('/rating/static/template_data.json')
|
||||||
m = EsgCleanModel(d)
|
|
||||||
m.storage_data()
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ from flask import Blueprint, request
|
||||||
from common.scripts import verify_token
|
from common.scripts import verify_token
|
||||||
from rating.EsgReportEtl import EsgCleanModel
|
from rating.EsgReportEtl import EsgCleanModel
|
||||||
from rating.ReportEtl import CleanModel
|
from rating.ReportEtl import CleanModel
|
||||||
from rating.scripts.common import get_tfse_data
|
from rating.scripts.common import get_tfse_data, get_esg_data
|
||||||
from rating.scripts.risk_count import *
|
from rating.scripts.risk_count import *
|
||||||
|
|
||||||
rating_route = Blueprint('rating', __name__)
|
rating_route = Blueprint('rating', __name__)
|
||||||
|
@ -27,6 +27,25 @@ def risk_data():
|
||||||
return {"info": "执行成功"}, 200
|
return {"info": "执行成功"}, 200
|
||||||
|
|
||||||
|
|
||||||
|
@rating_route.route('/esg_risk_data', methods=['POST'])
|
||||||
|
@verify_token
|
||||||
|
def esg_risk_data():
|
||||||
|
"""
|
||||||
|
风险数据清洗
|
||||||
|
Parameters:
|
||||||
|
company_name 企业名称
|
||||||
|
company_id 企业ID
|
||||||
|
evaluation_id 评价ID
|
||||||
|
Returns:
|
||||||
|
res: 清洗后的满足要求的风险数据
|
||||||
|
"""
|
||||||
|
company_name = request.json['company_name']
|
||||||
|
company_id = request.json['company_id']
|
||||||
|
evaluation_id = request.json['evaluation_id']
|
||||||
|
esg_risk_data_etl(company_name, company_id, evaluation_id)
|
||||||
|
return {"info": "执行成功"}, 200
|
||||||
|
|
||||||
|
|
||||||
@rating_route.route('/report_data', methods=['POST'])
|
@rating_route.route('/report_data', methods=['POST'])
|
||||||
@verify_token
|
@verify_token
|
||||||
def report_data():
|
def report_data():
|
||||||
|
@ -65,7 +84,7 @@ def esg_report_data():
|
||||||
info = request.json
|
info = request.json
|
||||||
|
|
||||||
# 准备需要清洗的数据
|
# 准备需要清洗的数据
|
||||||
db_data = get_tfse_data(info)
|
db_data = get_esg_data(info)
|
||||||
|
|
||||||
# 调用清洗数据模型
|
# 调用清洗数据模型
|
||||||
data = EsgCleanModel(db_data).storage_data()
|
data = EsgCleanModel(db_data).storage_data()
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import copy
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from rating.db import find_tyc_db, find_tfse_db
|
from rating.db import find_tyc_db, find_tfse_db
|
||||||
|
@ -124,6 +125,17 @@ def province_conversion(param):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def industry_processing(param):
|
||||||
|
"""
|
||||||
|
将行业数组转为字符串
|
||||||
|
Parameters:
|
||||||
|
param list 行业数组
|
||||||
|
Returns:
|
||||||
|
result str 行业字符串
|
||||||
|
"""
|
||||||
|
return param[0] + '-' + param[1]
|
||||||
|
|
||||||
|
|
||||||
# 获取数据库数据
|
# 获取数据库数据
|
||||||
def get_tfse_data(param):
|
def get_tfse_data(param):
|
||||||
"""
|
"""
|
||||||
|
@ -202,8 +214,6 @@ def filter_oi_data(param):
|
||||||
return param
|
return param
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def shareholder_strength_data(param):
|
def shareholder_strength_data(param):
|
||||||
"""
|
"""
|
||||||
股东数据
|
股东数据
|
||||||
|
@ -238,3 +248,32 @@ def person_subsidiaries(param):
|
||||||
ps = find_tyc_db(db='公司背景', col='人员控股企业', query={'人员ID': param})[0]
|
ps = find_tyc_db(db='公司背景', col='人员控股企业', query={'人员ID': param})[0]
|
||||||
data['人员控股企业'] = ps
|
data['人员控股企业'] = ps
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
def get_esg_data(param):
|
||||||
|
"""
|
||||||
|
获取数据库数据并按要求格式返回
|
||||||
|
Parameters:
|
||||||
|
param dict 企业名称、企业ID、评价ID
|
||||||
|
Returns:
|
||||||
|
result dict 符合要求需要清洗的数据
|
||||||
|
"""
|
||||||
|
company = param['company']
|
||||||
|
rid = param['rid']
|
||||||
|
cid = param['cid']
|
||||||
|
|
||||||
|
# ESG评价结果
|
||||||
|
es = find_tfse_db(db='评价', col='ESG评价结果', query={'评价ID': rid})[0]
|
||||||
|
# ESG风险数据
|
||||||
|
rd = find_tfse_db(db='评价', col='ESG风险数据', query={'企业ID': cid})[0]
|
||||||
|
# ESG评价填报
|
||||||
|
ef = find_tfse_db(db='评价', col='ESG评价填报', query={'评价ID': rid})[0]
|
||||||
|
rd.pop('企业ID')
|
||||||
|
rd.pop('评价ID')
|
||||||
|
rd.pop('更新日期')
|
||||||
|
report_data = copy.deepcopy(ef)
|
||||||
|
|
||||||
|
report_data['评价等级'] = es['评价等级']
|
||||||
|
report_data['风险数据'] = rd
|
||||||
|
|
||||||
|
return report_data
|
||||||
|
|
|
@ -55,6 +55,33 @@ def risk_data_etl(param1, param2, param3):
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
|
||||||
|
def esg_risk_data_etl(param1, param2, param3):
|
||||||
|
"""
|
||||||
|
根据企业名称,查询天眼查数据库
|
||||||
|
将数据按规定格式存储到esg相关数据库中(评价-ESG风险数据)
|
||||||
|
Parameters:
|
||||||
|
param1: 企业名称
|
||||||
|
param2: 企业ID
|
||||||
|
param3: 评价ID
|
||||||
|
Returns:
|
||||||
|
res: 保存结果
|
||||||
|
"""
|
||||||
|
insert_data = dict()
|
||||||
|
insert_data['评价ID'] = param3
|
||||||
|
insert_data['企业ID'] = param2
|
||||||
|
insert_data['更新日期'] = time.strftime("%Y-%m-%d", time.localtime())
|
||||||
|
insert_data['法律诉讼'] = lawsuit(param1)
|
||||||
|
insert_data['被执行人'] = executed_person(param1)
|
||||||
|
insert_data['失信人'] = dishonest_person(param1)
|
||||||
|
insert_data['行政处罚'] = administrative_punish(param1)
|
||||||
|
insert_data['税收违法'] = tax_violation(param1)
|
||||||
|
insert_data['严重违法'] = serious_illegal(param1)
|
||||||
|
insert_data['经营异常'] = abnormal_operation(param1)
|
||||||
|
|
||||||
|
info = conserve_data(db='评价', col='ESG风险数据', cid=param2, insert_data=insert_data)
|
||||||
|
return info
|
||||||
|
|
||||||
|
|
||||||
def dishonest_person(param):
|
def dishonest_person(param):
|
||||||
"""
|
"""
|
||||||
失信人
|
失信人
|
||||||
|
|
Loading…
Reference in New Issue