feat: 增加多个友好接口
This commit is contained in:
parent
a69fa79de8
commit
a1c74a0fa6
|
@ -63,3 +63,15 @@ class Mtask(CommonADModel):
|
||||||
end_date = models.DateField('计划完工日期')
|
end_date = models.DateField('计划完工日期')
|
||||||
utask = models.ForeignKey(
|
utask = models.ForeignKey(
|
||||||
Utask, verbose_name='关联大任务', on_delete=models.CASCADE, null=True, blank=True, related_name='mtask_utask')
|
Utask, verbose_name='关联大任务', on_delete=models.CASCADE, null=True, blank=True, related_name='mtask_utask')
|
||||||
|
|
||||||
|
@property
|
||||||
|
def related(self):
|
||||||
|
"""
|
||||||
|
当天已下达的所有的兄弟小任务
|
||||||
|
"""
|
||||||
|
if self.utask:
|
||||||
|
return Mtask.objects.filter(
|
||||||
|
utask=self.utask, mgroup__belong_dept=self.mgroup.belong_dept, start_date=self.start_date, end_date=self.start_date, state=self.MTASK_ASSGINED).order_by(
|
||||||
|
'utask', 'mgroup__process__sort', 'create_time'
|
||||||
|
)
|
||||||
|
return Mtask.objects.none()
|
||||||
|
|
|
@ -119,26 +119,23 @@ class MtaskViewSet(CustomModelViewSet):
|
||||||
res_data.append(val)
|
res_data.append(val)
|
||||||
return Response(res_data)
|
return Response(res_data)
|
||||||
|
|
||||||
# @action(methods=['post'], detail=False, perms_map={'post': 'mtask.schedue'}, serializer_class=SchedueSerializer)
|
@action(methods=['get'], detail=True, perms_map={'get': '*'})
|
||||||
# @transaction.atomic
|
@transaction.atomic
|
||||||
# def schedue_from_orderitems(self, request, *args, **kwargs):
|
def related(self, request, *args, **kwargs):
|
||||||
# """从多个订单明细自动排产
|
"""获取已下达的所有的兄弟小任务
|
||||||
|
|
||||||
# 从多个订单明细自动排产
|
获取已下达的所有的兄弟小任务
|
||||||
# """
|
"""
|
||||||
# sr = SchedueSerializer(data=request.data)
|
obj = self.get_object()
|
||||||
# sr.is_valid(raise_exception=True)
|
rdata = MtaskSerializer(instance=obj.related, many=True).data
|
||||||
# vdata = sr.validated_data
|
return Response(rdata)
|
||||||
# PmService.schedue_from_orderitems(request.user,
|
|
||||||
# request.data['orderitems'], vdata['start_date'], vdata.get('end_date', None))
|
|
||||||
# return Response()
|
|
||||||
|
|
||||||
def perform_destroy(self, instance):
|
def perform_destroy(self, instance):
|
||||||
if instance.state != Mtask.MTASK_CREATED:
|
if instance.state != Mtask.MTASK_CREATED:
|
||||||
raise ParseError('该任务非创建中不可删除')
|
raise ParseError('该任务非创建中不可删除')
|
||||||
return super().perform_destroy(instance)
|
return super().perform_destroy(instance)
|
||||||
|
|
||||||
@action(methods=['post'], detail=True, perms_map={'post': 'mtask.submit'}, serializer_class=PkSerializer)
|
@action(methods=['post'], detail=False, perms_map={'post': 'mtask.submit'}, serializer_class=PkSerializer)
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def submit(self, request):
|
def submit(self, request):
|
||||||
"""提交任务(根据任务ID)
|
"""提交任务(根据任务ID)
|
||||||
|
@ -154,14 +151,11 @@ class MtaskViewSet(CustomModelViewSet):
|
||||||
@action(methods=['post'], detail=True, perms_map={'post': 'mtask.submit'}, serializer_class=Serializer)
|
@action(methods=['post'], detail=True, perms_map={'post': 'mtask.submit'}, serializer_class=Serializer)
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def submit_related_same_day(self, request):
|
def submit_related_same_day(self, request):
|
||||||
"""提交同一天该部门下的所有兄弟小任务
|
"""提交同一天该部门下大任务的所有兄弟小任务
|
||||||
|
|
||||||
提交同一天的该部门下的所有兄弟小任务
|
提交同一天的该部门下大任务的所有兄弟小任务
|
||||||
"""
|
"""
|
||||||
mtask = self.get_object()
|
mtask = self.get_object()
|
||||||
utask = mtask.utask
|
mtasks = mtask.related
|
||||||
if utask:
|
PmService.mtasks_submit(mtasks)
|
||||||
mtasks = Mtask.objects.filter(utask=utask, belong_dept=mtask.belong_dept,
|
|
||||||
start_date=mtask.start_date, end_date=mtask.end_date, state=Mtask.MTASK_ASSGINED)
|
|
||||||
PmService.mtasks_submit(mtasks)
|
|
||||||
return Response()
|
return Response()
|
||||||
|
|
Loading…
Reference in New Issue