From e9f4632c968b5ced128fca8cf0def577458e24b3 Mon Sep 17 00:00:00 2001 From: AlexP077 Date: Tue, 19 Sep 2023 21:31:43 +0300 Subject: [PATCH] ao_for_placement_point --- service/service.py | 14 +++++++++++--- service/views.py | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/service/service.py b/service/service.py index b5fe8ee..924d113 100644 --- a/service/service.py +++ b/service/service.py @@ -53,6 +53,7 @@ class PointService: obj = models.PlacementPoint.objects.filter(street=response.get('street'), house_number=response.get('houseNumber'), category=cat).values().first() + rayon = models.Rayon.objects.filter(polygon__intersects=wkt).first() if obj: distances = models.PlacementPointPVZDistance.objects.filter(placement_point=obj.get('id')).all() obj.pop('id') @@ -64,6 +65,15 @@ class PointService: dist=d.dist) matched += 1 + elif not rayon: + models.PrePlacementPoint.objects.get_or_create(address=addr, street=response.get('street'), + house_number=response.get('houseNumber'), + subject_rf=response.get('state'), + city=response.get('city'), + category=cat, geometry=wkt, sample_trn=False, + is_vis=True, + matching_status=MatchingStatus.Error.name, + status=PointStatus.Pending.name) else: models.PrePlacementPoint.objects.get_or_create(address=addr, street=response.get('street'), house_number=response.get('houseNumber'), @@ -72,7 +82,7 @@ class PointService: category=cat, geometry=wkt, sample_trn=False, is_vis=True, matching_status=MatchingStatus.New.name, - status=PointStatus.Pending.name) + status=PointStatus.Pending.name, area=rayon, district=rayon.AO) return total, matched, problem def make_enrichment(self): @@ -180,8 +190,6 @@ 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 = 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/views.py b/service/views.py index 5ce973c..f12423e 100644 --- a/service/views.py +++ b/service/views.py @@ -379,6 +379,7 @@ class PrePlacementPointViewSet(PlacementPointViewSet): qs = qs.filter(matching_status=MatchingStatus.New.name) for q in qs: obj = model_to_dict(q) + print(obj) obj.pop('matching_status') obj.pop('id') ao = obj.pop('district')