diff --git a/backend/__pycache__/main.cpython-312.pyc b/backend/__pycache__/main.cpython-312.pyc index 8568288..b6f61e8 100644 Binary files a/backend/__pycache__/main.cpython-312.pyc and b/backend/__pycache__/main.cpython-312.pyc differ diff --git a/backend/main.py b/backend/main.py index a03e4c4..8b9763b 100644 --- a/backend/main.py +++ b/backend/main.py @@ -80,23 +80,33 @@ def crear_domicilio(data: schemas.DomicilioCreate, current_user=Depends(auth.get_current_user), db: Session = Depends(get_db)): colonia_key = data.colonia.lower() - colonia_info = simulator.COLONIAS.get(colonia_key) + + # 1. Buscar en colonias completas (220 colonias reales) + colonia_info = simulator.COLONIAS_COMPLETAS.get(colonia_key) + + # 2. Buscar en colonias originales del dataset if not colonia_info: - # Buscar por similitud parcial - for key, value in simulator.COLONIAS.items(): + colonia_info = simulator.COLONIAS.get(colonia_key) + + # 3. Buscar por similitud parcial en colonias completas + if not colonia_info: + for key, value in simulator.COLONIAS_COMPLETAS.items(): if key in colonia_key or colonia_key in key: colonia_info = value break + + # 4. Fallback por coordenadas GPS if not colonia_info: - # Buscar por route_id si viene en el nombre ruta, _ = simulator.encontrar_ruta_por_coordenadas(data.lat, data.lng) if ruta: colonia_info = next( - (v for v in simulator.COLONIAS.values() if v["routeId"] == ruta["routeId"]), + (v for v in simulator.COLONIAS_COMPLETAS.values() if v["routeId"] == ruta["routeId"]), None ) + if not colonia_info: raise HTTPException(status_code=404, detail="Colonia no encontrada en el sistema") + dom = models.Domicilio(direccion=data.direccion, colonia=data.colonia, lat=data.lat, lng=data.lng, route_id=colonia_info["routeId"], @@ -105,6 +115,7 @@ def crear_domicilio(data: schemas.DomicilioCreate, db.commit() db.refresh(dom) return dom + return dom @app.get("/domicilios") def listar_domicilios(