Merge branch 'CJ' into 'master'

update 1.ESG打分逻辑 2.报告单位 3.报告财务数据计算bug

See merge request root/tfse_rating!37
This commit is contained in:
王思川 2022-03-02 03:16:10 +00:00
commit b467e72560
7 changed files with 55 additions and 20 deletions

View File

@ -226,7 +226,7 @@ def calculation_05(param):
# Parameter
answer = param['环境问卷']['其他类型问卷'][0]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 1
else:
score = 0
@ -244,7 +244,7 @@ def calculation_06(param):
"""
answer = param['环境问卷']['其他类型问卷'][1]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 1
else:
score = 0
@ -262,7 +262,7 @@ def calculation_07(param):
"""
answer = param['环境问卷']['其他类型问卷'][2]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 1
else:
score = 0
@ -280,7 +280,7 @@ def calculation_08(param):
"""
answer = param['环境问卷']['其他类型问卷'][3]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 2
else:
score = 0
@ -298,7 +298,7 @@ def calculation_09(param):
"""
answer = param['环境问卷']['其他类型问卷'][4]
if answer[0] == '':
if answer[0] == 'A':
score = 'E=0'
else:
score = 0
@ -316,7 +316,7 @@ def calculation_10(param):
"""
answer = param['环境问卷']['其他类型问卷'][5]
if answer[0] == '':
if answer[0] == 'B':
score = -2
else:
score = 0
@ -334,7 +334,7 @@ def calculation_11(param):
"""
answer = param['环境问卷']['其他类型问卷'][6]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 2
else:
score = 0
@ -352,7 +352,7 @@ def calculation_12(param):
"""
answer = param['环境问卷']['其他类型问卷'][7]
if answer[0] == '' and answer[1] is not None:
if isinstance(answer, list) and len(answer) == 2:
score = 3
else:
score = 0

View File

@ -134,7 +134,7 @@ def calculation_06(param):
"""
answer = param['治理问卷']['其他类型问卷'][7]
if answer == '':
if answer == 'A':
score = 1
else:
score = 0

View File

@ -209,7 +209,7 @@ def calculation_07(param):
"""
anwser = param['社会问卷']['其他类型问卷'][0]
if anwser == '':
if anwser == 'A':
score = 1
else:
score = 0
@ -227,7 +227,7 @@ def calculation_08(param):
"""
anwser = param['社会问卷']['其他类型问卷'][1]
if anwser == '':
if anwser == 'A':
score = 1
else:
score = 0
@ -245,7 +245,7 @@ def calculation_09(param):
"""
anwser = param['社会问卷']['其他类型问卷'][2]
if anwser == '':
if anwser == 'A':
score = 1
else:
score = 0
@ -263,7 +263,7 @@ def calculation_10(param):
"""
anwser = param['社会问卷']['其他类型问卷'][3]
if anwser == '':
if anwser == 'A':
score = 1
else:
score = 0

View File

@ -170,7 +170,7 @@ def qkr(param1, param2, param3):
if param3 == 0:
return None
else:
value = (param1 - param2) / param3 * 100
value = (param1 - param2) / param3
value = round(value, 2)
return value

View File

@ -14,15 +14,13 @@ from Report.scripts.PdfStyle import cover_space, cover_company_style, cover_repo
adjust_table_data, para_bold_style, para_style_esg, para_style_special
from Report.scripts.path_tool import gen_pdf_path, get_pic_path
from common.scripts import read_json_file
# 页码起始设置
# offset = 3
class HeaderAndFooterCanvas(canvas.Canvas):
def __init__(self, *args, **kwargs):
self.offeset = 3
canvas.Canvas.__init__(self, *args, **kwargs)
self._saved_page_states = []
self.offeset = 2
def showPage(self):
self._saved_page_states.append(dict(self.__dict__))
@ -52,6 +50,39 @@ class HeaderAndFooterCanvas(canvas.Canvas):
canvas.Canvas.save(self)
class EsgHeaderAndFooterCanvas(canvas.Canvas):
def __init__(self, *args, **kwargs):
self.offeset = 2
canvas.Canvas.__init__(self, *args, **kwargs)
self._saved_page_states = []
def showPage(self):
self._saved_page_states.append(dict(self.__dict__))
self._startPage()
def draw_header_and_footer(self, page_count):
self.setFont("Helvetica", 7)
if self._pageNumber > self.offeset:
self.setFont('pingbold', 8)
self.setFillColor(HexColor(Seashell4))
self.drawString(74, 805, "远东资信评估有限公司")
self.drawString(74, 40, "%d / %d" % (self._pageNumber - self.offeset, page_count - self.offeset))
self.setStrokeColor(darkGolden)
self.setLineWidth(2.5)
self.line(74, 820, 6.8 * inch, 820)
self.setLineWidth(1)
self.line(74, 50, 6.8 * inch, 50)
def save(self):
num_pages = len(self._saved_page_states)
for state in self._saved_page_states:
self.__dict__.update(state)
self.draw_header_and_footer(num_pages)
canvas.Canvas.showPage(self)
canvas.Canvas.save(self)
class MyDocTemplate(BaseDocTemplate):
def __init__(self, filename, **kw):
self.allowSplitting = 1
@ -92,11 +123,13 @@ class ReportGenerator:
# 生成报告
def gen_report(self):
if '报告类型' in self.text_model:
offeset = 2
self.gen_esg_cover()
self.gen_menu()
self.gen_esg_part()
self.doc.multiBuild(self.story, canvasmaker=HeaderAndFooterCanvas)
self.doc.multiBuild(self.story, canvasmaker=EsgHeaderAndFooterCanvas)
else:
offeset = 3
self.gen_cover()
self.gen_menu()
self.gen_main_part()
@ -128,6 +161,7 @@ class ReportGenerator:
self.story.append(Paragraph(data['生成日期'], cover_time_style))
self.story.append(PageBreak())
# esg封面
def gen_esg_cover(self):
data = self.text_model
self.story.append(Paragraph('.', cover_space))
@ -176,6 +210,7 @@ class ReportGenerator:
td = adjust_table_data(part['表格'])
self.story.append(Table(td, style=style))
# esg正文
def gen_esg_part(self):
data = self.text_model['报告内容']
for chapter in data:

View File

@ -403,7 +403,7 @@
"段落": "信息技术业多具有经济带动性、创新驱动性、多领域融合、质量品牌和绿色集约特征,市场认可度高,处于初创期和成长期的信息技术业企业市场份额拓展较快,成长速度很快;处于成熟期的信息技术业企业已占有较大市场份额,且通过产品多元化等方式拓展市场,成长性受到公司战略和决策能力、研发能力、研发速度、技术先进性、\n\n潜在市场空间、资金等因素影响。"
},
{
"段落": "公司{degree_of_imprtance}2020年公司技术投入比为{technology_input_ratio}。技术创新对公司业务拓展的贡献{contribution}2020年公司营业收入增长率、总资产增长率分别为{growth_rate_of_operating_revenue}和{growth_rate_of_total_assets},整体成长能力{growth_ability}。"
"段落": "公司{degree_of_imprtance}2020年公司技术投入比为{technology_input_ratio}%。技术创新对公司业务拓展的贡献{contribution}2020年公司营业收入增长率、总资产增长率分别为{growth_rate_of_operating_revenue}%和{growth_rate_of_total_assets}%,整体成长能力{growth_ability}。"
}
]
}

View File

@ -403,7 +403,7 @@
"段落": "先进制造业多具有经济带动性、创新驱动性、多领域融合、质量品牌和绿色集约特征,市场认可度高,处于初创期和成长期的先进制造业企业市场份额拓展较快,成长速度很快;处于成熟期的先进制造业企业已占有较大市场份额,且通过产品多元化或地域多元化等方式拓展市场,成长性受到公司战略和决策能力、研发能力、研发速度、技术先进性、潜在市场空间、资金等因素影响。传统制造业多处于成熟期或衰退期,企业成长能力较弱,各项资源向行业内龙头企业聚集,中小企业发展空间较小。"
},
{
"段落": "公司{degree_of_imprtance}2020年公司技术投入比为{technology_input_ratio}。技术创新对公司业务拓展的贡献{contribution}2020年公司营业收入增长率、总资产增长率分别为{growth_rate_of_operating_revenue}和{growth_rate_of_total_assets},整体成长能力{growth_ability}。"
"段落": "公司{degree_of_imprtance}2020年公司技术投入比为{technology_input_ratio}%。技术创新对公司业务拓展的贡献{contribution}2020年公司营业收入增长率、总资产增长率分别为{growth_rate_of_operating_revenue}%和{growth_rate_of_total_assets}%,整体成长能力{growth_ability}。"
}
]
}