Merge branch 'ps' into wsc

This commit is contained in:
王思川 2022-06-02 14:22:48 +08:00
commit d4823ccf56
2 changed files with 28 additions and 17 deletions

View File

@ -58,14 +58,6 @@ class BasicBusinessInfoImpl(object):
financial_data.cid = new_cid financial_data.cid = new_cid
financial_data.company_name = basic_business_info.company_name financial_data.company_name = basic_business_info.company_name
financial_data.report_period = item["报告期"] financial_data.report_period = item["报告期"]
# financial_data.balance_sheet = SpecObject.set_specify_instance(
# instance=FinancialData.BalanceSheet,
# data=item["资产负债表"]
# )
# financial_data.income_sheet = SpecObject.set_specify_instance(
# instance=FinancialData.IncomeSheet,
# data=item["利润表"]
# )
financial_data.appendix_sheet = SpecObject.set_specify_instance( financial_data.appendix_sheet = SpecObject.set_specify_instance(
instance=FinancialData.AppendixSheet, instance=FinancialData.AppendixSheet,
data=item["补充数据表"] data=item["补充数据表"]
@ -125,8 +117,11 @@ class BasicBusinessInfoImpl(object):
guarantee_distribution_list.append(guarantee_distribution) guarantee_distribution_list.append(guarantee_distribution)
elif sheet.name == '资产负债表': elif sheet.name == '资产负债表':
items_ = ExcelSheetParser(sheet=work_book.sheets()[2]).parse_sheet3()
items = ExcelSheetParser(sheet=sheet).parse_sheet7() items = ExcelSheetParser(sheet=sheet).parse_sheet7()
length = len(items)
balance_sheet = FinancialData().BalanceSheet() balance_sheet = FinancialData().BalanceSheet()
current_assets_dict = [item for item in balance_sheet.CurrentAssets.fields_map.values()] current_assets_dict = [item for item in balance_sheet.CurrentAssets.fields_map.values()]
non_current_assets_dict = [item for item in balance_sheet.NonCurrentAssets.fields_map.values()] non_current_assets_dict = [item for item in balance_sheet.NonCurrentAssets.fields_map.values()]
@ -134,13 +129,19 @@ class BasicBusinessInfoImpl(object):
non_current_liabilities_dict = [item for item in balance_sheet.NonCurrentLiabilities.fields_map.values()] non_current_liabilities_dict = [item for item in balance_sheet.NonCurrentLiabilities.fields_map.values()]
owner_equity_dict = [item for item in balance_sheet.OwnerEquity.fields_map.values()] owner_equity_dict = [item for item in balance_sheet.OwnerEquity.fields_map.values()]
for item in items: for num in range(length):
year = items[num]['年度']
current_assets_dict_ = dict() current_assets_dict_ = dict()
non_current_assets_dict_ = dict() non_current_assets_dict_ = dict()
current_liabilities_dict_ = dict() current_liabilities_dict_ = dict()
non_current_liabilities_dict_ = dict() non_current_liabilities_dict_ = dict()
owner_equity_dict_ = dict() owner_equity_dict_ = dict()
for key, value in item.items(): balance = items_[num]['资产负债表']
for k, v in balance.items():
if v:
items[num][k] = v
for key, value in items[num].items():
if key in current_assets_dict: if key in current_assets_dict:
current_assets_dict_[key] = value current_assets_dict_[key] = value
elif key in non_current_assets_dict: elif key in non_current_assets_dict:
@ -174,19 +175,29 @@ class BasicBusinessInfoImpl(object):
) )
for financial in financial_data_list: for financial in financial_data_list:
if item['年度'] == financial.report_period: if year == financial.report_period:
financial.balance_sheet = balance_sheet financial.balance_sheet = balance_sheet
elif sheet.name == '利润表': elif sheet.name == '利润表':
items_ = ExcelSheetParser(sheet=work_book.sheets()[2]).parse_sheet3()
items = ExcelSheetParser(sheet=sheet).parse_sheet8() items = ExcelSheetParser(sheet=sheet).parse_sheet8()
for item in items: length = len(items)
year = item['年度']
item.pop('年度') for num in range(length):
year = items[num]['年度']
items[num].pop('年度')
income = items_[num]['利润表']
income['营业总收入'] = income['营业收入']
income.pop('营业收入')
for k, v in income.items():
if v:
items[num][k] = v
income_sheet = SpecObject.set_specify_instance( income_sheet = SpecObject.set_specify_instance(
instance=FinancialData.IncomeSheet, instance=FinancialData.IncomeSheet,
data=item data=items[num]
) )
for financial in financial_data_list: for financial in financial_data_list:
if year == financial.report_period: if year == financial.report_period:
financial.income_sheet = income_sheet financial.income_sheet = income_sheet

View File

@ -135,9 +135,9 @@ class ExcelSheetParser(object):
# 报告期 # 报告期
parsed_data["报告期"] = list_1[0] parsed_data["报告期"] = list_1[0]
# 资产负债表 # 资产负债表
# parsed_data["资产负债表"] = json.loads(json.dumps(dict(zip(cols_tag[43:67], list_1[43:67])))) parsed_data["资产负债表"] = json.loads(json.dumps(dict(zip(cols_tag[43:67], list_1[43:67]))))
# 利润表 # 利润表
# parsed_data["利润表"] = json.loads(json.dumps(dict(zip(cols_tag[28:43], list_1[28:43])))) parsed_data["利润表"] = json.loads(json.dumps(dict(zip(cols_tag[28:43], list_1[28:43]))))
# 补充数据表 # 补充数据表
parsed_data["补充数据表"] = json.loads(json.dumps(dict(zip(cols_tag[1:28], list_1[1:28])))) parsed_data["补充数据表"] = json.loads(json.dumps(dict(zip(cols_tag[1:28], list_1[1:28]))))
return_data.append(parsed_data) return_data.append(parsed_data)