From 684cba5e4701219c99d4672b67faae080931a03e Mon Sep 17 00:00:00 2001 From: AlexP077 Date: Fri, 1 Sep 2023 19:23:49 +0400 Subject: [PATCH] pvz_count_status --- service/tasks.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/service/tasks.py b/service/tasks.py index 0849551..87fc8f8 100644 --- a/service/tasks.py +++ b/service/tasks.py @@ -447,17 +447,32 @@ def start_pvz_group_count(instance_id: int): instance = models.Post_and_pvzGroup.objects.filter(id=instance_id).first() objects = models.Post_and_pvz.objects.filter(group=instance) objects.update(include_in_ml=instance.include_in_ml, visible=instance.visible) - for obj in objects: + status, _ = models.TaskStatus.objects.get_or_create(task_name='Смена статуса для групп ПВЗ и Постаматов') + total = objects.count() + for _i, obj in enumerate(objects): + status.status = "Подсчет кол-ва ПВЗ вокруг точек: " + str(int((_i+1) / total * 100)) + "%" + status.save() LayerService().count_post_pvz_for_placementpoint(obj) - + status.status = "Подсчет завершен" + status.save() @shared_task() def start_pvz_category_count(instance_id: int): + status, _ = models.TaskStatus.objects.get_or_create(task_name='Смена статуса для категорий ПВЗ и Постаматов') instance = models.Post_and_pvzCategory.objects.filter(id=instance_id).first() groups = models.Post_and_pvzGroup.objects.filter(category=instance) groups.update(include_in_ml=instance.include_in_ml, visible=instance.visible) + total = 0 for gr in groups: + total+=models.Post_and_pvz.objects.filter(group=gr).count() + for gr in groups: + _i=0 objects = models.Post_and_pvz.objects.filter(group=gr) objects.update(include_in_ml=instance.include_in_ml, visible=instance.visible) for obj in objects: + _i+=1 + status.status = "Подсчет кол-ва ПВЗ вокруг точек: " + str(int(_i / total * 100)) + "%" + status.save() LayerService().count_post_pvz_for_placementpoint(obj) + status.status = "Подсчет завершен" + status.save()