Commit ec4ec06c authored by xianyang's avatar xianyang

优化账户类型汇总

parent 34557118
...@@ -632,19 +632,22 @@ class HomePageDisplay(object): ...@@ -632,19 +632,22 @@ class HomePageDisplay(object):
assets_sql = f"select reference_type,type,sum(amount) as amount from {self.date} where {' and '.join(assets_cond)} GROUP BY reference_type,type" assets_sql = f"select reference_type,type,sum(amount) as amount from {self.date} where {' and '.join(assets_cond)} GROUP BY reference_type,type"
total_data = LinkMysql(env.DB_HISTORY).query_mysql(assets_sql) total_data = LinkMysql(env.DB_HISTORY).query_mysql(assets_sql)
# 数据分类 # 数据分类
res_list = [] income = []
outcome = []
for i in total_data: for i in total_data:
op = {} op = {}
if TYPE_NAME.get(i['reference_type']): if TYPE_NAME.get(i['reference_type']):
op['name'] = TYPE_NAME.get(i['reference_type']) op['name'] = TYPE_NAME.get(i['reference_type'])
else: else:
op['name'] = i['reference_type'] op['name'] = i['reference_type']
op['money'] = round(i['amount'] / 1000, 3)
if i['type'] == 0: if i['type'] == 0:
op['type'] = '出账' op['type'] = '出账'
self.outcome = self.outcome + i['amount'] self.outcome = self.outcome + i['amount']
outcome.append(op)
else: else:
op['type'] = '入账' op['type'] = '入账'
self.income = self.income + i['amount'] self.income = self.income + i['amount']
op['money'] = round(i['amount']/1000, 3) income.append(op)
res_list.append(op) res_list = outcome + income
return res_list, self.outcome/1000, self.income/1000 return res_list, self.outcome/1000, self.income/1000
...@@ -65,7 +65,12 @@ def account_data_to_file(db, data, outcome, income, header): ...@@ -65,7 +65,12 @@ def account_data_to_file(db, data, outcome, income, header):
outcome_list = [i for i in data if i['type'] == '出账'] outcome_list = [i for i in data if i['type'] == '出账']
workbook = xlsxwriter.Workbook("static/账户类型汇总.xlsx") workbook = xlsxwriter.Workbook("static/账户类型汇总.xlsx")
worksheet = workbook.add_worksheet() worksheet = workbook.add_worksheet()
worksheet.merge_range("A1:B1", "出账") merge_format = workbook.add_format({
'align': 'center', # 水平居中
'valign': 'vcenter', # 垂直居中
'fg_color': '#D7E4BC', # 颜色填充
})
worksheet.merge_range("A1:B1", "出账", merge_format)
worksheet.write(1, 0, '类型') worksheet.write(1, 0, '类型')
worksheet.write(1, 1, '金额(元)') worksheet.write(1, 1, '金额(元)')
row = 2 row = 2
...@@ -77,7 +82,7 @@ def account_data_to_file(db, data, outcome, income, header): ...@@ -77,7 +82,7 @@ def account_data_to_file(db, data, outcome, income, header):
worksheet.write(row, 0, '合计') worksheet.write(row, 0, '合计')
worksheet.write(row, 1, income) worksheet.write(row, 1, income)
row += 2 row += 2
worksheet.merge_range(f"A{row}:B{row}", "入账") worksheet.merge_range(f"A{row}:B{row}", "入账", merge_format)
worksheet.write(1, 0, '类型') worksheet.write(1, 0, '类型')
worksheet.write(1, 1, '金额(元)') worksheet.write(1, 1, '金额(元)')
for y in income_list: for y in income_list:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment