fix(api): bulk geo includes all doc_types by default (only_ddu opt-in)
This commit is contained in:
parent
1b65f55802
commit
43672a0068
1 changed files with 12 additions and 6 deletions
|
|
@ -698,6 +698,10 @@ class BulkGeoEnqueueRequest(BaseModel):
|
|||
|
||||
parallelism: int = Field(default=5, ge=1, le=10)
|
||||
thematic_id: int = Field(default=2, ge=1, le=15, description="1=parcel, 2=quarter, 5=building")
|
||||
only_ddu: bool = Field(
|
||||
default=False,
|
||||
description="True = только ДДУ (002001003000); False = все cad-кварталы",
|
||||
)
|
||||
|
||||
|
||||
@router.post("/geo/bulk")
|
||||
|
|
@ -708,9 +712,9 @@ def bulk_enqueue_geo(
|
|||
) -> dict[str, Any]:
|
||||
"""Разбить pending cad-номера (region 66) на N чанков и запустить N geo-jobs параллельно.
|
||||
|
||||
Логика выборки pending — те же правила что у source_kind='rosreestr_pending':
|
||||
quarter_cad_number из rosreestr_deals (region 66, ДДУ, тип 002001003000)
|
||||
которых нет в cad_quarters_geom.
|
||||
Логика выборки pending: distinct quarter_cad_number из rosreestr_deals
|
||||
(region 66, валидный cad-формат) которых нет в cad_quarters_geom.
|
||||
Если only_ddu=True — дополнительный фильтр по ДДУ (тип 002001003000).
|
||||
"""
|
||||
_check_token(x_admin_token)
|
||||
from app.services.job_settings import get_setting_value
|
||||
|
|
@ -718,14 +722,16 @@ def bulk_enqueue_geo(
|
|||
from app.workers.tasks.nspd_geo import process_nspd_geo_job
|
||||
|
||||
# 1) Собрать все pending cad-номера для region 66
|
||||
ddu_filter = (
|
||||
"AND doc_type = 'ДДУ' AND realestate_type_code = '002001003000'" if payload.only_ddu else ""
|
||||
)
|
||||
rows = db.execute(
|
||||
text(
|
||||
"""
|
||||
f"""
|
||||
SELECT DISTINCT quarter_cad_number AS cad
|
||||
FROM rosreestr_deals
|
||||
WHERE region_code = ANY(:rc)
|
||||
AND doc_type = 'ДДУ'
|
||||
AND realestate_type_code = '002001003000'
|
||||
{ddu_filter}
|
||||
AND quarter_cad_number IS NOT NULL
|
||||
AND quarter_cad_number NOT LIKE :bp
|
||||
AND quarter_cad_number NOT LIKE :bs
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue