fix: send correct numeric user_id to stocktake draft api to prevent 500 error
This commit is contained in:
@ -10,6 +10,14 @@ from app.models.inbound.buy import StockBuy
|
|||||||
from app.models.inbound.stocktake import StocktakeDraft
|
from app.models.inbound.stocktake import StocktakeDraft
|
||||||
from app.models.transaction import TransBorrow
|
from app.models.transaction import TransBorrow
|
||||||
|
|
||||||
|
|
||||||
|
def _normalize_user_id(user_id):
|
||||||
|
"""规范化 user_id,确保是有效字符串"""
|
||||||
|
if not user_id or not isinstance(user_id, str) or len(user_id) > 100:
|
||||||
|
return 'admin'
|
||||||
|
return user_id.strip()
|
||||||
|
|
||||||
|
|
||||||
# 尝试导入半成品和成品
|
# 尝试导入半成品和成品
|
||||||
try:
|
try:
|
||||||
from app.models.inbound.semi import StockSemi
|
from app.models.inbound.semi import StockSemi
|
||||||
@ -119,7 +127,7 @@ def get_drafts():
|
|||||||
获取当前用户的盘点进度
|
获取当前用户的盘点进度
|
||||||
支持过滤: session_id, is_finished, is_processed
|
支持过滤: session_id, is_finished, is_processed
|
||||||
"""
|
"""
|
||||||
user_id = request.args.get('user_id', 'admin')
|
user_id = _normalize_user_id(request.args.get('user_id', 'admin'))
|
||||||
session_id = request.args.get('session_id')
|
session_id = request.args.get('session_id')
|
||||||
is_finished = request.args.get('is_finished')
|
is_finished = request.args.get('is_finished')
|
||||||
is_processed = request.args.get('is_processed')
|
is_processed = request.args.get('is_processed')
|
||||||
@ -146,7 +154,7 @@ def add_draft():
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
data = request.json
|
data = request.json
|
||||||
user_id = data.get('user_id', 'admin')
|
user_id = _normalize_user_id(data.get('user_id', 'admin'))
|
||||||
uuid = data.get('uuid')
|
uuid = data.get('uuid')
|
||||||
quantity = float(data.get('quantity', 1))
|
quantity = float(data.get('quantity', 1))
|
||||||
session_id = data.get('session_id')
|
session_id = data.get('session_id')
|
||||||
@ -212,7 +220,7 @@ def clear_draft():
|
|||||||
支持清除指定 session_id 的记录,或清除所有未完成的记录
|
支持清除指定 session_id 的记录,或清除所有未完成的记录
|
||||||
"""
|
"""
|
||||||
data = request.json
|
data = request.json
|
||||||
user_id = data.get('user_id', 'admin')
|
user_id = _normalize_user_id(data.get('user_id', 'admin'))
|
||||||
session_id = data.get('session_id')
|
session_id = data.get('session_id')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -243,7 +251,7 @@ def start_new_session():
|
|||||||
2. 返回新的 session_id
|
2. 返回新的 session_id
|
||||||
"""
|
"""
|
||||||
data = request.json
|
data = request.json
|
||||||
user_id = data.get('user_id', 'admin')
|
user_id = _normalize_user_id(data.get('user_id', 'admin'))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# 清除旧的未处理盘点数据
|
# 清除旧的未处理盘点数据
|
||||||
@ -279,7 +287,7 @@ def finish_stocktake():
|
|||||||
3. 不删除任何草稿数据,保留历史
|
3. 不删除任何草稿数据,保留历史
|
||||||
"""
|
"""
|
||||||
data = request.json
|
data = request.json
|
||||||
user_id = data.get('user_id', 'admin')
|
user_id = _normalize_user_id(data.get('user_id', 'admin'))
|
||||||
session_id = data.get('session_id')
|
session_id = data.get('session_id')
|
||||||
|
|
||||||
if not session_id:
|
if not session_id:
|
||||||
@ -330,7 +338,7 @@ def get_variance_report():
|
|||||||
返回所有 is_finished=True 且 is_processed=False 的记录
|
返回所有 is_finished=True 且 is_processed=False 的记录
|
||||||
即:已结束盘点但尚未手动平账的差异记录
|
即:已结束盘点但尚未手动平账的差异记录
|
||||||
"""
|
"""
|
||||||
user_id = request.args.get('user_id', 'admin')
|
user_id = _normalize_user_id(request.args.get('user_id', 'admin'))
|
||||||
session_id = request.args.get('session_id')
|
session_id = request.args.get('session_id')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user