修改半成品和成品新增时候搜索下拉框显示问题,新增负责人和生产人历史记录功能

This commit is contained in:
dxc
2026-02-28 17:08:35 +08:00
parent 29fd397e4f
commit f7cfb5a346
8 changed files with 168 additions and 48 deletions

View File

@ -92,12 +92,14 @@ def search_base():
"""
try:
keyword = request.args.get('keyword', '')
page = request.args.get('page', 1, type=int)
# 调用 Service 层已修复的 search_base_material 方法
data = ProductInboundService.search_base_material(keyword)
result = ProductInboundService.search_base_material(keyword, page)
# 字段级脱敏
user_permissions = get_current_user_permissions()
filtered_data = [filter_item_by_permissions(item, user_permissions) for item in data]
return jsonify({"code": 200, "msg": "success", "data": filtered_data})
if result.get('items'):
result['items'] = [filter_item_by_permissions(item, user_permissions) for item in result['items']]
return jsonify({"code": 200, "msg": "success", "data": result})
except Exception as e:
# 捕获异常并打印堆栈,方便调试
traceback.print_exc()
@ -146,7 +148,7 @@ def get_list():
company = request.args.get('company', '')
result = ProductInboundService.get_list(
page, limit, keyword, statuses,
page, limit, keyword, statuses,
category, material_type, company
)
# 字段级脱敏
@ -337,3 +339,20 @@ def get_options():
return jsonify({"code": 200, "msg": "success", "data": data})
except Exception as e:
return jsonify({"code": 500, "msg": str(e)}), 500
# ------------------------------------------------------------------
# 8. 获取历史生产负责人建议 (新增)
# ------------------------------------------------------------------
@inbound_product_bp.route('/suggestions/managers', methods=['GET'])
@permission_required('inbound_product')
def get_manager_history():
base_id = request.args.get('base_id', type=int)
if not base_id:
return jsonify({"code": 400, "msg": "缺少 base_id"}), 400
try:
data = ProductInboundService.get_history_managers(base_id)
return jsonify({"code": 200, "msg": "success", "data": data})
except Exception as e:
traceback.print_exc()
return jsonify({"code": 500, "msg": str(e)}), 500

View File

@ -92,15 +92,17 @@ def search_base():
"""
try:
keyword = request.args.get('keyword', '')
# 这里复用 Service 中的搜索逻辑
data = SemiInboundService.search_base_material(keyword)
page = request.args.get('page', 1, type=int)
# 这里复用 Service 中的搜索逻辑 (已修改接收 page)
result = SemiInboundService.search_base_material(keyword, page)
# 字段级脱敏
user_permissions = get_current_user_permissions()
filtered_data = [filter_item_by_permissions(item, user_permissions) for item in data]
if result.get('items'):
result['items'] = [filter_item_by_permissions(item, user_permissions) for item in result['items']]
return jsonify({
"code": 200,
"msg": "success",
"data": filtered_data
"data": result
})
except Exception as e:
traceback.print_exc()
@ -337,3 +339,19 @@ def get_options():
return jsonify({"code": 200, "msg": "success", "data": data})
except Exception as e:
return jsonify({"code": 500, "msg": str(e)}), 500
# ------------------------------------------------------------------
# 8. 获取历史生产负责人建议 (新增)
# ------------------------------------------------------------------
@inbound_semi_bp.route('/suggestions/managers', methods=['GET'])
@permission_required('inbound_semi')
def get_manager_history():
base_id = request.args.get('base_id', type=int)
if not base_id:
return jsonify({"code": 400, "msg": "缺少 base_id"}), 400
try:
data = SemiInboundService.get_history_managers(base_id)
return jsonify({"code": 200, "msg": "success", "data": data})
except Exception as e:
traceback.print_exc()
return jsonify({"code": 500, "msg": str(e)}), 500