diff --git a/inventory-backend/app/api/v1/inbound/base.py b/inventory-backend/app/api/v1/inbound/base.py index aefad99..fc51928 100644 --- a/inventory-backend/app/api/v1/inbound/base.py +++ b/inventory-backend/app/api/v1/inbound/base.py @@ -1,7 +1,7 @@ # 文件路径: app/api/v1/inbound/base.py from flask import Blueprint, request, jsonify, send_file, g, current_app -from app.extensions import db +from app.extensions import db, beijing_time from app.services.inbound.base_service import MaterialBaseService from app.utils.decorators import login_required, permission_required, audit_log from app.models.base import MaterialBase, MaterialWarningSetting @@ -185,9 +185,8 @@ def export_data(): file_stream = MaterialBaseService.export_excel(filters, user_permissions) # 生成文件名:库存统计+年月日+时分秒 (北京时间 UTC+8) - # 简单处理:UTC时间 + 8小时 - beijing_time = datetime.datetime.utcnow() + datetime.timedelta(hours=8) - filename = f"库存统计_{beijing_time.strftime('%Y%m%d_%H%M%S')}.xlsx" + bj_time = beijing_time() + filename = f"库存统计_{bj_time.strftime('%Y%m%d_%H%M%S')}.xlsx" # 发送文件 # 注意:download_name 仅在较新 Flask 版本有效,旧版本可能需要手动 header, diff --git a/inventory-backend/app/api/v1/stock/adjustment.py b/inventory-backend/app/api/v1/stock/adjustment.py index 04fed31..64e0e08 100644 --- a/inventory-backend/app/api/v1/stock/adjustment.py +++ b/inventory-backend/app/api/v1/stock/adjustment.py @@ -2,7 +2,7 @@ from flask import Blueprint, request, jsonify from flask_jwt_extended import jwt_required, get_jwt_identity, get_jwt from app.utils.decorators import permission_required -from app.extensions import db +from app.extensions import db, beijing_time from app.models.stock.adjustment import StockAdjustment from app.models.base import MaterialBase from app.models.inbound.buy import StockBuy @@ -17,7 +17,7 @@ adjustment_bp = Blueprint('adjustment', __name__, url_prefix='/stock/adjustment' def get_beijing_time(): """获取北京时间 (UTC+8)""" - return datetime.utcnow() + timedelta(hours=8) + return beijing_time() def generate_order_no(): diff --git a/inventory-backend/app/extensions.py b/inventory-backend/app/extensions.py index 25259e2..35dc3ac 100644 --- a/inventory-backend/app/extensions.py +++ b/inventory-backend/app/extensions.py @@ -16,8 +16,8 @@ redis_client = None def beijing_time(): - """获取北京时间 (UTC+8)""" - return datetime.now(timezone(timedelta(hours=8))) + """获取北京时间 (UTC+8),剥离时区信息以兼容数据库 naive DateTime 字段""" + return datetime.now(timezone(timedelta(hours=8))).replace(tzinfo=None) # 2. 定义初始化函数 (供工厂函数 create_app 调用)