This commit is contained in:
csj
2026-09-16 16:06:21 +08:00
parent b2c7b28e22
commit 7fea2063aa
18 changed files with 815 additions and 36 deletions
+4 -2
View File
@@ -90,6 +90,7 @@ def dispatch(request):
raise ValueError('至少完成一组核对后才能导出')
destination = Path(request['destination'])
temporary = destination.with_name('.' + str(uuid.uuid4()) + destination.suffix)
metadata = {}
try:
if operation in ('ppt', 'approved-ppt'):
export_ppt(state, temporary, request.get('classified', True))
@@ -97,13 +98,14 @@ def dispatch(request):
export_travel(state, temporary)
elif operation == 'expense':
template = Path(__file__).parent / 'personal-expense-template.xlsx'
export_expense(state, temporary, template, request.get('purposes', {}), request.get('signatures', []))
metadata = export_expense(state, temporary, template, request.get('purposes', {}), request.get('signatures', []),
request.get('payee', {}), request.get('categoryPurposes'))
else:
raise ValueError('未知操作:' + operation)
os.replace(temporary, destination)
finally:
temporary.unlink(missing_ok=True)
return dict(destination=str(destination))
return dict(destination=str(destination), **metadata)
if __name__ == '__main__':