Files
frontend/apps/sn/docs/작업내용/FE-MAP-하수처리시설검색동기화/001-fe-FE-MAP-하수처리시설검색동기화-구현기록.md
T

2.9 KiB

FE-MAP 하수처리시설 검색 동기화 구현기록

1. 작업 목적

  • 지도 레이어 트리의 하수처리시설 500톤 기준 레이어 선택 상태와 상단 시설물 검색 조건을 동기화한다.

2. 수정 대상

  • FE_APP_ROOT/app/(map-layout)/map/page.tsx
  • FE_REPO_ROOT/packages/common/business_components/src/ui/map/searchBar/procSearchBar.tsx
  • COMMON_DOCS_ROOT/DB작업.sql

3. 구현 내용

  • 하수처리시설 하위 레이어명은 DB tb_sn_lyr_stng의 lyr_nm을 그대로 사용하고, 프론트 강제 치환은 제거했다.
  • 레이어 선택 상태에 따라 시설물 검색 셀렉트 문구를 하수처리시설(전체), 하수처리시설(500톤 이상), 하수처리시설(500톤 미만), 하수처리시설(레이어 꺼짐)으로 표시한다.
  • 하수처리시설 검색 목록 조회 시 선택된 레이어 기준에 맞춰 fclt_cpct >= 500 또는 fclt_cpct < 500 조건을 함께 적용한다.
  • WFS 목록 조회의 cql_filter는 URLSearchParams로 인코딩해 500톤 기준 조건이 실제 요청에 반영되도록 보정했다.
  • 시설 선택 시 현재 지도 source만 검색하지 않고, feature id 기준 GeoServer 재조회 후 검색 레이어를 선택하도록 보정했다.
  • 두 레이어가 모두 꺼진 경우 하수처리시설 목록은 선택 불가 placeholder만 표시한다.
  • tb_sn_lyr_stng의 lyr_sn=112/113 레이어명을 500톤 이상, 500톤 미만으로 정리하는 DML 초안을 DB작업.sql에 추가했다.

4. 검증

  • TSX 파서 검사 통과
  • pnpm --filter @common/business_components run build 통과

5. 영향 범위와 리스크

  • 프론트 지도 화면의 레이어명 표시와 상단 시설물 검색 목록에 한정된다.
  • API 계약과 DB 스키마 변경은 없다.
  • DB 기준데이터 레이어명 변경 DML은 실제 대상 DB 반영 후 지도 레이어 트리에서 확인해야 한다.
  • 레이어 메타데이터의 flterSql/filtrSql 또는 레이어명이 변경되면 500톤 기준 판별 조건을 함께 확인해야 한다.

6. 2026-07-14 시도 단위 처리시설 목록 조회 보완

  • 작업 모드: quick_vibe
  • 요구사항: 하수관망도 상단 검색바에서 시군구를 선택하지 않아도 선택한 시도의 하수처리시설 목록을 조회한다.
  • 원인: 시설 목록 조회 조건과 WFS CQL이 시도·시군구 동시 선택을 전제로 해, 시도만 선택하면 목록을 초기화했다.
  • 변경: 시도명은 필수 조건으로 유지하고 시군구명은 선택된 경우에만 CQL에 추가하며, 기존 500톤 이상·미만 필터는 그대로 조합한다.
  • 검증: pnpm --filter @common/business_components run build 통과
  • 문서 판단: API·DB·공유 범위·공통 결정 변경이 없어 공통 문서는 갱신하지 않았다.
  • 남은 검증: 실제 하수관망도에서 시도만 선택했을 때 시설 목록과 시설 선택 후 지도 포커스를 수동 확인한다.