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