diff --git a/rating/routes.py b/rating/routes.py index 0698461..5ccf041 100644 --- a/rating/routes.py +++ b/rating/routes.py @@ -30,7 +30,7 @@ def risk_data(): @verify_token def report_data(): """ - 保存报告数据 + 清洗报告数据 Parameters: rid str 评价ID cid str 企业ID diff --git a/rating/scripts/common.py b/rating/scripts/common.py index cff3b10..795c0f4 100644 --- a/rating/scripts/common.py +++ b/rating/scripts/common.py @@ -5,6 +5,18 @@ from rating.static.province_map import p_map import pandas as pd +def modify_unit(param): + """ + 金额单位从元改为万元 + Parameters: + param: 金额数据 + Returns: + result: 单位为万元的金额数据 + """ + money = round(param/10000, 2) + return str(money) + + def judge_list(param): """ 判断列表中是否有None, @@ -16,7 +28,8 @@ def judge_list(param): """ df = pd.DataFrame(param) df = df.fillna('-') - df = df[0].to_list() + df = df[0].apply(lambda x: round(x/10000, 2) if isinstance(x, float) else x) + df = df.to_list() df = [str(x) for x in df] return df @@ -126,11 +139,11 @@ def get_tfse_data(param): # 进出口信用 ip = find_tyc_db(db='经营状况', col='进出口信用', query={'企业名称': company})[0] # 专利 - ip_02 = find_tyc_db(db='知识产权', col='专利', query={'企业名称': '紫金诚征信有限公司'})[0] + ip_02 = find_tyc_db(db='知识产权', col='专利', query={'企业名称': company})[0] # 软件著作权 - sc = find_tyc_db(db='知识产权', col='软件著作权', query={'企业名称': '紫金诚征信有限公司'})[0] + sc = find_tyc_db(db='知识产权', col='软件著作权', query={'企业名称': company})[0] # 资质证书 - qh = find_tyc_db(db='经营状况', col='资质证书', query={'企业名称': '四川麦克福瑞制药有限公司'})[0] + qh = find_tyc_db(db='经营状况', col='资质证书', query={'企业名称': company})[0] # 融资历史 fh = find_tyc_db(db='公司发展', col='融资历史', query={'企业名称': company})[0] # 风险数据 diff --git a/rating/scripts/report/company_profile.py b/rating/scripts/report/company_profile.py index 7a2778f..9a3c9e8 100644 --- a/rating/scripts/report/company_profile.py +++ b/rating/scripts/report/company_profile.py @@ -48,28 +48,28 @@ def company_background(param1, param2): total_assets_01 = data_03['资产负债表'][0]['资产总计'] total_assets_02 = data_03['资产负债表'][1]['资产总计'] # 公司总资产 - part_02['total_assets'] = str(total_assets_01) + part_02['total_assets'] = modify_unit(total_assets_01) # 总资产同比增长 part_02['year_03_total_assets_variety'] = str(calculate_growth_rate(total_assets_01, total_assets_02)) net_assets_01 = data_03['资产负债表'][0]['所有者权益合计'] net_assets_02 = data_03['资产负债表'][1]['所有者权益合计'] # 净资产(所有者权益) - part_02['net_assets'] = str(net_assets_01) + part_02['net_assets'] = modify_unit(net_assets_01) # 净资产同比增长 part_02['year_03_net_assets_variety'] = str(calculate_growth_rate(net_assets_01, net_assets_02)) income_01 = data_03['利润表'][0]['营业收入'] income_02 = data_03['利润表'][1]['营业收入'] # 营业收入 - part_02['income'] = str(income_01) + part_02['income'] = modify_unit(income_01) # 营业收入同比增长 part_02['year_03_income_variety'] = str(calculate_growth_rate(income_01, income_02)) profit_01 = data_03['利润表'][0]['净利润'] profit_02 = data_03['利润表'][1]['净利润'] # 净利润 - part_02['profit'] = str(profit_01) + part_02['profit'] = modify_unit(profit_01) # 净利润同比增长 part_02['year_03_profit_variety'] = str(calculate_growth_rate(profit_01, profit_02)) return part_02 @@ -204,71 +204,77 @@ def outbound_investment(param): # Returns result = list() - def para_01(): + if data_01 is None: part_01 = dict() - # 年限 - part_01['year_03'] = data_02['资产负债表'][0]['报告期'][:4] + part_01['desribe'] = '截至{}年,未查询到该公司对外投资相关信息。'.format(data_02['资产负债表'][0]['报告期'][:4]) + result.append(part_01) + else: + def para_01(): + part_01 = dict() + # 年限 + part_01['year_03'] = data_02['资产负债表'][0]['报告期'][:4] - # 对外投资情况 - try: - # 对外投资数量 - part_01['subsidiary_total_number'] = len(data_01['result']) - # 投资总金额 - part_01['investment_total_amount'] = str(calculate_amount(data_01['result'])['amount']) - except KeyError: - part_01['subsidiary_total_number'] = 0 - part_01['investment_total_amount'] = 0 + # 对外投资情况 + try: + # 对外投资数量 + part_01['subsidiary_total_number'] = len(data_01['result']) + # 投资总金额 + part_01['investment_total_amount'] = str(calculate_amount(data_01['result'])['amount']) + except KeyError: + part_01['subsidiary_total_number'] = 0 + part_01['investment_total_amount'] = 0 - def subsidiary_number(): - # 持股50%以上子公司 - fifty_percent = list() + def subsidiary_number(): + # 持股50%以上子公司 + fifty_percent = list() + for item in data_01['result']: + percent = float(item['percent'].replace('%', '')) + if percent > 50: + fifty_percent.append(item) + # 子公司数量 + part_01['subsidiary_number'] = str(len(fifty_percent)) + # 子公司投资金额合计 + part_01['investment_amount'] = str(calculate_amount(fifty_percent)['amount']) + + # 对外投资集中行业 + industry = calculate_amount(data_01['result'])['industry'] + industry_amount = calculate_list(industry) + top_3_industry = sorted(industry_amount.items(), key=lambda x: x[1], reverse=True) + industry_result = calculate_tuple(top_3_industry, data_01['result'], float(part_01['investment_total_amount']), + 'industry') + part_01['top_3_industry'] = industry_result['industry'] + # 行业集中度 + part_01['Industry_concentration'] = industry_result['concentration'] + # 对外投资地域集中省市 + base = calculate_amount(data_01['result'])['base'] + base_amount = calculate_list(base) + top_3_base = sorted(base_amount.items(), key=lambda x: x[1], reverse=True) + region_result = calculate_tuple(top_3_base, data_01['result'], float(part_01['investment_total_amount']), + 'region') + part_01['top_3_region'] = region_result['industry'] + part_01['Regional_concentration'] = region_result['concentration'] + + # 执行子方法 + subsidiary_number() + return part_01 + + def para_02(): + part_02 = list() + part_02.append(['被投资企业名称', '注册资本', '投资比例', '投资金额', '成立日期', '所属行业', '所属省份']) for item in data_01['result']: - percent = float(item['percent'].replace('%', '')) - if percent > 50: - fifty_percent.append(item) - # 子公司数量 - part_01['subsidiary_number'] = str(len(fifty_percent)) - # 子公司投资金额合计 - part_01['investment_amount'] = str(calculate_amount(fifty_percent)['amount']) + insert_list = list() + insert_list.append(item['name']) + insert_list.append(item['regCapital']) + insert_list.append(item['percent']) + insert_list.append(str(item['amount']) + '万元') + insert_list.append(time_stamp(item['estiblishTime'])) + insert_list.append(item['category']) + insert_list.append(province_conversion(item['base'])) + part_02.append(insert_list) + return part_02 - # 对外投资集中行业 - industry = calculate_amount(data_01['result'])['industry'] - industry_amount = calculate_list(industry) - top_3_industry = sorted(industry_amount.items(), key=lambda x: x[1], reverse=True) - industry_result = calculate_tuple(top_3_industry, data_01['result'], float(part_01['investment_total_amount']), - 'industry') - part_01['top_3_industry'] = industry_result['industry'] - # 行业集中度 - part_01['Industry_concentration'] = industry_result['concentration'] - # 对外投资地域集中省市 - base = calculate_amount(data_01['result'])['base'] - base_amount = calculate_list(base) - top_3_base = sorted(base_amount.items(), key=lambda x: x[1], reverse=True) - region_result = calculate_tuple(top_3_base, data_01['result'], float(part_01['investment_total_amount']), - 'region') - part_01['top_3_region'] = region_result['industry'] - part_01['Regional_concentration'] = region_result['concentration'] - # 执行子方法 - subsidiary_number() - return part_01 - - def para_02(): - part_02 = list() - part_02.append(['被投资企业名称', '注册资本', '投资比例', '投资金额', '成立日期', '所属行业', '所属省份']) - for item in data_01['result']: - insert_list = list() - insert_list.append(item['name']) - insert_list.append(item['regCapital']) - insert_list.append(item['percent']) - insert_list.append(str(item['amount']) + '万元') - insert_list.append(time_stamp(item['estiblishTime'])) - insert_list.append(item['category']) - insert_list.append(province_conversion(item['base'])) - part_02.append(insert_list) - return part_02 - - result.append(para_01()) - result.append(para_02()) + result.append(para_01()) + result.append(para_02()) return result