feat: add 'not contains' operator, implement inbound record export, and verify export filter rules
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
from flask import Blueprint, request, jsonify # .material -> .base refactor checked
|
||||
from flask import Blueprint, request, jsonify, send_file # .material -> .base refactor checked
|
||||
from app.services.inbound.inbound_summary_service import InboundSummaryService
|
||||
|
||||
# 定义蓝图
|
||||
@ -33,3 +33,39 @@ def get_list():
|
||||
# 生产环境建议记录详细日志
|
||||
print(f"Inbound Summary Error: {str(e)}")
|
||||
return jsonify({'code': 500, 'msg': str(e)}), 500
|
||||
|
||||
|
||||
@bp.route('/export', methods=['GET'])
|
||||
def export_data():
|
||||
"""
|
||||
导出入库记录 Excel
|
||||
支持筛选条件:keyword, start_date, end_date, source_type
|
||||
"""
|
||||
try:
|
||||
# 获取参数
|
||||
keyword = request.args.get('keyword', '')
|
||||
start_date = request.args.get('start_date')
|
||||
end_date = request.args.get('end_date')
|
||||
source_type = request.args.get('source_type')
|
||||
|
||||
# 调用导出服务
|
||||
file_stream = InboundSummaryService.export_excel(
|
||||
keyword=keyword,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
source_type=source_type
|
||||
)
|
||||
|
||||
from datetime import datetime
|
||||
now = datetime.now().strftime('%Y%m%d_%H%M%S')
|
||||
filename = f"入库记录_{now}.xlsx"
|
||||
|
||||
return send_file(
|
||||
file_stream,
|
||||
mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
as_attachment=True,
|
||||
download_name=filename
|
||||
)
|
||||
except Exception as e:
|
||||
print(f"Inbound Summary Export Error: {str(e)}")
|
||||
return jsonify({'code': 500, 'msg': str(e)}), 500
|
||||
|
||||
Reference in New Issue
Block a user