forked from erp-dev/erp
feat: stateflow v2 (params required)
This commit is contained in:
@@ -257,11 +257,13 @@ class PrintingJobViewSet(viewsets.ModelViewSet):
|
||||
create: 创建款式明细
|
||||
update: 更新款式明细
|
||||
partial_update: 部分更新款式明细
|
||||
advance_to_next_state: 推进到下一个状态
|
||||
step_back_one_state: 回退一步
|
||||
completed_states: 查询已完成的流程列表
|
||||
timeline: 获取流程时间线
|
||||
|
||||
注意:状态流转功能已迁移至 stateflow 模块的业务对象接口
|
||||
- 推进到下一步: POST /api/v1/stateflow/business-objects/{business_object_id}/advance/
|
||||
- 回退一步: POST /api/v1/stateflow/business-objects/{business_object_id}/step_back/
|
||||
|
||||
查询参数:
|
||||
- printing_order: 印染订单ID
|
||||
- product: 产品ID
|
||||
@@ -306,76 +308,6 @@ class PrintingJobViewSet(viewsets.ModelViewSet):
|
||||
status=status.HTTP_405_METHOD_NOT_ALLOWED
|
||||
)
|
||||
|
||||
@action(detail=True, methods=['post'], url_path='advance-to-next-state')
|
||||
def advance_to_next_state(self, request, pk=None):
|
||||
"""
|
||||
推进到下一个状态
|
||||
|
||||
将印染任务推进到下一个流程状态
|
||||
"""
|
||||
job = self.get_object()
|
||||
|
||||
if not job.business_object:
|
||||
return Response(
|
||||
{'detail': '该任务没有关联的流程实例'},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
from stateflow import services as stateflow_services
|
||||
success, message = stateflow_services.advance_to_next_state(
|
||||
job.business_object, request.user
|
||||
)
|
||||
|
||||
if not success:
|
||||
return Response(
|
||||
{'detail': message},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
# 重新获取 job 以刷新状态
|
||||
job.refresh_from_db()
|
||||
serializer = PrintingJobDetailSerializer(job)
|
||||
|
||||
return Response({
|
||||
'detail': message,
|
||||
'data': serializer.data
|
||||
})
|
||||
|
||||
@action(detail=True, methods=['post'], url_path='step-back-one-state')
|
||||
def step_back_one_state(self, request, pk=None):
|
||||
"""
|
||||
回退一步
|
||||
|
||||
将印染任务回退到上一个流程状态
|
||||
"""
|
||||
job = self.get_object()
|
||||
|
||||
if not job.business_object:
|
||||
return Response(
|
||||
{'detail': '该任务没有关联的流程实例'},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
from stateflow import services as stateflow_services
|
||||
success, message = stateflow_services.step_back_one_state(
|
||||
job.business_object, request.user
|
||||
)
|
||||
|
||||
if not success:
|
||||
return Response(
|
||||
{'detail': message},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
# 重新获取 job 以刷新状态
|
||||
job.refresh_from_db()
|
||||
serializer = PrintingJobDetailSerializer(job)
|
||||
|
||||
return Response({
|
||||
'detail': message,
|
||||
'data': serializer.data
|
||||
})
|
||||
|
||||
@action(detail=True, methods=['get'], url_path='completed-states')
|
||||
def completed_states(self, request, pk=None):
|
||||
"""
|
||||
@@ -520,11 +452,13 @@ class PlateOrderViewSet(viewsets.ModelViewSet):
|
||||
partial_update: 部分更新开版订单
|
||||
invalidate: 作废开版订单
|
||||
activate: 恢复开版订单
|
||||
advance_to_next_state: 推进到下一个状态
|
||||
step_back_one_state: 回退一步
|
||||
completed_states: 查询已完成的流程列表
|
||||
timeline: 获取流程时间线
|
||||
|
||||
注意:状态流转功能已迁移至 stateflow 模块的业务对象接口
|
||||
- 推进到下一步: POST /api/v1/stateflow/business-objects/{business_object_id}/advance/
|
||||
- 回退一步: POST /api/v1/stateflow/business-objects/{business_object_id}/step_back/
|
||||
|
||||
查询参数:
|
||||
- customer: 客户ID
|
||||
- customer_name: 客户名称(模糊查询)
|
||||
@@ -653,78 +587,6 @@ class PlateOrderViewSet(viewsets.ModelViewSet):
|
||||
'data': serializer.data
|
||||
})
|
||||
|
||||
@action(detail=True, methods=['post'], url_path='advance-to-next-state')
|
||||
def advance_to_next_state(self, request, pk=None):
|
||||
"""
|
||||
推进到下一个状态
|
||||
|
||||
将开版订单推进到下一个流程状态
|
||||
"""
|
||||
plate_order = self.get_object()
|
||||
|
||||
if not plate_order.business_object:
|
||||
return Response(
|
||||
{'detail': '该开版订单没有关联的流程实例'},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
from stateflow import services as stateflow_services
|
||||
success, message = stateflow_services.advance_to_next_state(
|
||||
plate_order.business_object, request.user
|
||||
)
|
||||
|
||||
if not success:
|
||||
return Response(
|
||||
{'detail': message},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
# 重新获取 plate_order 以刷新状态
|
||||
plate_order.refresh_from_db()
|
||||
from .serializers import PlateOrderDetailSerializer
|
||||
serializer = PlateOrderDetailSerializer(plate_order, context={'request': request})
|
||||
|
||||
return Response({
|
||||
'detail': message,
|
||||
'data': serializer.data
|
||||
})
|
||||
|
||||
@action(detail=True, methods=['post'], url_path='step-back-one-state')
|
||||
def step_back_one_state(self, request, pk=None):
|
||||
"""
|
||||
回退一步
|
||||
|
||||
将开版订单回退到上一个流程状态
|
||||
"""
|
||||
plate_order = self.get_object()
|
||||
|
||||
if not plate_order.business_object:
|
||||
return Response(
|
||||
{'detail': '该开版订单没有关联的流程实例'},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
from stateflow import services as stateflow_services
|
||||
success, message = stateflow_services.step_back_one_state(
|
||||
plate_order.business_object, request.user
|
||||
)
|
||||
|
||||
if not success:
|
||||
return Response(
|
||||
{'detail': message},
|
||||
status=status.HTTP_400_BAD_REQUEST
|
||||
)
|
||||
|
||||
# 重新获取 plate_order 以刷新状态
|
||||
plate_order.refresh_from_db()
|
||||
from .serializers import PlateOrderDetailSerializer
|
||||
serializer = PlateOrderDetailSerializer(plate_order, context={'request': request})
|
||||
|
||||
return Response({
|
||||
'detail': message,
|
||||
'data': serializer.data
|
||||
})
|
||||
|
||||
@action(detail=True, methods=['get'], url_path='completed-states')
|
||||
def completed_states(self, request, pk=None):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user