feat: add endpoint to delete BOM by bom_no
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
This commit is contained in:
@ -81,6 +81,29 @@ def get_bom_with_stock_by_no(bom_no):
|
|||||||
current_app.logger.error(f'获取BOM库存信息失败: {str(e)}')
|
current_app.logger.error(f'获取BOM库存信息失败: {str(e)}')
|
||||||
return jsonify({'code': 500, 'msg': '内部服务器错误'}), 500
|
return jsonify({'code': 500, 'msg': '内部服务器错误'}), 500
|
||||||
|
|
||||||
|
# ==================== 删除BOM接口(根据bom_no删除整个配方) ====================
|
||||||
|
|
||||||
|
@bom_bp.route('/<bom_no>', methods=['DELETE'])
|
||||||
|
@jwt_required()
|
||||||
|
def delete_bom(bom_no):
|
||||||
|
"""根据 BOM 编号删除整个配方(包括所有子件记录)"""
|
||||||
|
try:
|
||||||
|
# 先检查是否存在
|
||||||
|
exist = BomTable.query.filter_by(bom_no=bom_no).first()
|
||||||
|
if not exist:
|
||||||
|
return jsonify({'code': 404, 'msg': 'BOM 不存在'}), 404
|
||||||
|
|
||||||
|
# 删除该 bom_no 下所有记录
|
||||||
|
BomTable.query.filter_by(bom_no=bom_no).delete()
|
||||||
|
db.session.commit()
|
||||||
|
return jsonify({
|
||||||
|
'code': 200,
|
||||||
|
'msg': '删除成功'
|
||||||
|
})
|
||||||
|
except Exception as e:
|
||||||
|
current_app.logger.error(f'删除BOM失败: {str(e)}')
|
||||||
|
return jsonify({'code': 500, 'msg': '内部服务器错误'}), 500
|
||||||
|
|
||||||
# ==================== 兼容旧接口(保留不改动现有前端) ====================
|
# ==================== 兼容旧接口(保留不改动现有前端) ====================
|
||||||
|
|
||||||
@bom_bp.route('/<int:parent_id>', methods=['GET'])
|
@bom_bp.route('/<int:parent_id>', methods=['GET'])
|
||||||
|
|||||||
Reference in New Issue
Block a user