diff --git a/service/service.py b/service/service.py index ce82461..66e226f 100644 --- a/service/service.py +++ b/service/service.py @@ -180,8 +180,8 @@ class PointService: placement_point = models.PlacementPoint.objects.annotate( dist=Dist('geometry', origin)).order_by('dist')[0] point.target_cnt_ao_mean = placement_point.target_cnt_ao_mean - point.area = models.Rayon.objects.get(id=placement_point.area) - point.district = models.AO.objects.get(id=placement_point.district) + point.area = placement_point.area + point.district = placement_point.district point.save() for group in groups: self.calculate_dist_for_group(point, group, instance_type=models.PrePlacementPointPVZDistance) diff --git a/service/tasks.py b/service/tasks.py index 9445bc8..6219a5d 100644 --- a/service/tasks.py +++ b/service/tasks.py @@ -441,39 +441,3 @@ def load_data(obj_id: int): status.status = "Загрузка данных завершена" status.save() models.TempFiles.objects.all().delete() - -# @shared_task() -# 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) -# 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() diff --git a/service/views.py b/service/views.py index d9919d5..41f1170 100644 --- a/service/views.py +++ b/service/views.py @@ -381,6 +381,10 @@ class PrePlacementPointViewSet(PlacementPointViewSet): obj = model_to_dict(q) obj.pop('matching_status') obj.pop('id') + ao = obj.pop('district') + rayon = obj.pop('area') + obj['district']=models.AO.objects.get(id=ao) + obj['area'] = models.Rayon.objects.get(id=rayon) models.PlacementPoint.objects.create(**obj) models.PrePlacementPoint.objects.all().delete() return Response(status=HTTPStatus.OK, )