diff --git a/business/views.py b/business/views.py index 80a04df..5c542dc 100644 --- a/business/views.py +++ b/business/views.py @@ -3280,16 +3280,23 @@ class DeleteSchedule(APIView): class ScheduleDetail(APIView): def post(self, request, *args, **kwargs): """ - 日程展示 + 日程展示(仅展示用户主动创建的日程/待办,不包含结案申请等审批承载的 Schedule) :param request: :param args: :param kwargs: :return: """ title = request.data.get('title') - obj =Q(is_deleted=False) + obj = Q(is_deleted=False) if title: obj &= Q(title__contains=title) + # 排除作为「结案申请」审批承载的 Schedule,结案申请应出现在「审核中」而非「日程中」 + closing_application_schedule_ids = Approval.objects.filter( + type="结案申请", is_deleted=False + ).values_list('user_id', flat=True) + closing_application_schedule_ids = [int(sid) for sid in closing_application_schedule_ids if sid and str(sid).isdigit()] + if closing_application_schedule_ids: + obj &= ~Q(id__in=closing_application_schedule_ids) sches = Schedule.objects.filter(obj).order_by('-id') page = request.data.get('page') per_page = request.data.get('per_page')