diff --git a/apps/mtm/models.py b/apps/mtm/models.py index 939ddab4..a2de8d52 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -294,9 +294,10 @@ class Route(CommonADModel): # 3. 检查final_material_out是否是终点 final_id = final_material_out.id if final_id in reverse_graph: - raise ParseError( - f"最终物料 {final_material_out.name}(ID:{final_id}) 不能作为任何Route的输入" - ) + # raise ParseError( + # f"最终物料 {final_material_out.name}(ID:{final_id}) 不能作为任何Route的输入" + # ) + raise ParseError("最终物料不可作为输入") # 4. BFS检查路径可达性(使用material_id操作) visited = set() @@ -313,10 +314,11 @@ class Route(CommonADModel): # 5. 检查未到达的物料 unreachable_ids = all_material_ids - visited if unreachable_ids: - unreachable_materials = Material.objects.filter(id__in=unreachable_ids).values_list('name', flat=True) - raise ParseError( - f"以下物料无法到达最终物料: {list(unreachable_materials)}" - ) + # unreachable_materials = Material.objects.filter(id__in=unreachable_ids).values_list('name', flat=True) + # raise ParseError( + # f"以下物料无法到达最终物料: {list(unreachable_materials)}" + # ) + raise ParseError("存在无法到达的节点") # 6. DFS检查循环依赖 visited_cycle = set() @@ -337,8 +339,9 @@ class Route(CommonADModel): for material_id in all_material_ids: if has_cycle(material_id): - cycle_material = Material.objects.get(id=material_id) - raise ParseError(f"循环依赖涉及物料: {cycle_material.name}(ID:{material_id})") + # cycle_material = Material.objects.get(id=material_id) + # raise ParseError(f"循环依赖涉及物料: {cycle_material.name}(ID:{material_id})") + raise ParseError('存在循环依赖') return True