feat:工艺路线新增validate接口,供拖拽画布实时校验DAG结构(不存盘,返回valid/error)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
ea0fe7c312
commit
c08b220d17
|
|
@ -362,13 +362,29 @@ class RoutePackViewSet(CustomModelViewSet):
|
|||
@action(methods=['get'], detail=True, perms_map={'get': '*'})
|
||||
def final_materials(self, request, *args, **kwargs):
|
||||
"""获取最终产品
|
||||
|
||||
|
||||
获取最终产品"""
|
||||
ins:RoutePack = self.get_object()
|
||||
matIds = ins.get_final_material_ids()
|
||||
qs = Material.objects.filter(id__in=matIds)
|
||||
res = [{"id": x.id, "name": str(x)} for x in qs]
|
||||
return Response(res)
|
||||
|
||||
@action(methods=['get'], detail=True, perms_map={'get': '*'})
|
||||
def validate(self, request, *args, **kwargs):
|
||||
"""校验工艺图是否合法(不存盘)
|
||||
|
||||
供拖拽画布实时校验DAG结构,返回 {valid, error},不修改gjson
|
||||
"""
|
||||
ins:RoutePack = self.get_object()
|
||||
try:
|
||||
ins.validate_and_return_gjson()
|
||||
return Response({"valid": True, "error": ""})
|
||||
except ParseError as e:
|
||||
detail = e.detail
|
||||
if isinstance(detail, (list, tuple)):
|
||||
detail = detail[0] if detail else ""
|
||||
return Response({"valid": False, "error": str(detail)})
|
||||
class RouteViewSet(CustomModelViewSet):
|
||||
queryset = Route.objects.all()
|
||||
serializer_class = RouteSerializer
|
||||
|
|
|
|||
Loading…
Reference in New Issue