From 74b6b5ed7419a94ea57d05590935803cc71cfa8d Mon Sep 17 00:00:00 2001 From: P3ngSaM <61768364+P3ngSaM@users.noreply.github.com> Date: Thu, 20 Jan 2022 23:31:53 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A4=84=E7=90=86=E5=AF=B9=E5=A4=96?= =?UTF-8?q?=E6=8A=95=E8=B5=84=E9=87=91=E9=A2=9D=E4=B8=BAnull=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rating/scripts/common.py | 30 ++++++++++++++++++++++-- rating/scripts/report/company_profile.py | 10 ++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/rating/scripts/common.py b/rating/scripts/common.py index 795c0f4..79a0973 100644 --- a/rating/scripts/common.py +++ b/rating/scripts/common.py @@ -64,7 +64,10 @@ def calculate_amount(param): result['industry'] = list() result['base'] = list() for item in param: - result['amount'] += item['amount'] + try: + result['amount'] += item['amount'] + except TypeError: + result['amount'] += 0 result['industry'].append(item['category']) result['base'].append(item['base']) return result @@ -155,7 +158,7 @@ def get_tfse_data(param): report_data['指标明细'] = fid report_data['基本信息'] = cbd report_data['企业股东'] = cs - report_data['对外投资'] = oi + report_data['对外投资'] = filter_oi_data(oi) report_data['进出口信用'] = ip report_data['专利'] = ip_02 report_data['软件著作权'] = sc @@ -167,6 +170,29 @@ def get_tfse_data(param): return report_data +def filter_oi_data(param): + """ + 对外投资 + 清洗掉状态为吊销、注销、迁出的企业 + Parameters: + param: 对外投资数据 + Returns: + 清洗后的数据 + """ + result = list() + total = 0 + data = param['对外投资']['result'] + for item in data: + if item['regStatus'] != '注销' and item['regStatus'] != '迁出' and item['regStatus'] != '吊销': + result.append(item) + total += 1 + param['对外投资']['result'] = result + param['对外投资']['total'] = total + return param + + + + def shareholder_strength_data(param): """ 股东数据 diff --git a/rating/scripts/report/company_profile.py b/rating/scripts/report/company_profile.py index 66dc785..fed3b31 100644 --- a/rating/scripts/report/company_profile.py +++ b/rating/scripts/report/company_profile.py @@ -307,10 +307,16 @@ def calculate_tuple(param1, param2, param3, param4): for item in param2: if param4 == 'industry': if item['category'] in result['industry']: - amount += item['amount'] + try: + amount += item['amount'] + except TypeError: + amount += 0 else: if item['base'] in result['industry']: - amount += item['amount'] + try: + amount += item['amount'] + except TypeError: + amount += 0 concentration = round(amount / param3 * 100, 2) if concentration > 60: result['concentration'] = '高'