하수관망도 시도 단위 처리시설 조회 지원

This commit is contained in:
kiminchan
2026-07-14 10:18:46 +09:00
parent 189b4b7599
commit 031f5e2ed8
2 changed files with 19 additions and 11 deletions
@@ -129,7 +129,8 @@ export const ProcSearchBar = ({
setSigunData(list);
};
const fetchFacilitiesBySggNm = useCallback(
// 선택한 시도를 기본 조회 범위로 사용하고, 시군구 선택 시 조회 범위를 추가로 좁힌다.
const fetchFacilitiesByRegion = useCallback(
async (
sggCd: string,
sggNm: string,
@@ -160,10 +161,8 @@ export const ProcSearchBar = ({
if (type === "tb_il_swage_prcs_fclt") {
const escapeCqlText = (value: string) => value.replace(/'/g, "''");
const cqlFilters = [
`ctpv_nm='${escapeCqlText(sidoNm)}'`,
`sgg_nm='${escapeCqlText(sggNm)}'`,
];
const cqlFilters = [`ctpv_nm='${escapeCqlText(sidoNm)}'`];
if (sggNm) cqlFilters.push(`sgg_nm='${escapeCqlText(sggNm)}'`);
if (activeFacilityFilter?.cqlFilter) cqlFilters.push(activeFacilityFilter.cqlFilter);
const params = new URLSearchParams({
typeName: `hasudo:${type}`,
@@ -234,14 +233,14 @@ export const ProcSearchBar = ({
const sggNm = sigunData.find((item) => item.val === sigunValue)?.text || "";
const sggCd = sigunData.find((item) => item.val === sigunValue)?.val || "";
if (sggNm && sidoNm) {
fetchFacilitiesBySggNm(sggCd, sggNm, sidoNm, facilityType);
if (sidoValue !== "0" && sidoNm) {
fetchFacilitiesByRegion(sggCd, sggNm, sidoNm, facilityType);
return;
}
setFacilityData(defaultFacilityData());
setFacilityValue("0");
}, [defaultFacilityData, facilityLayerFilter?.cqlFilter, facilityLayerFilter?.disabled, facilityType, fetchFacilitiesBySggNm, sidoData, sidoValue, sigunData, sigunValue]);
}, [defaultFacilityData, facilityLayerFilter?.cqlFilter, facilityLayerFilter?.disabled, facilityType, fetchFacilitiesByRegion, sidoData, sidoValue, sigunData, sigunValue]);
useEffect(() => {
if (!pendingExternalFacilityName) return;
@@ -285,7 +284,7 @@ export const ProcSearchBar = ({
const sidoNm = sidoData.find((item) => item.val === sidoValue)?.text || "";
const sggNm = sigunData.find((item) => item.val === val)?.text || "";
const sggCd = sigunData.find((item) => item.val === val)?.val || "";
if (sggNm && sidoNm) fetchFacilitiesBySggNm(sggCd, sggNm, sidoNm, facilityType);
if (sidoNm) fetchFacilitiesByRegion(sggCd, sggNm, sidoNm, facilityType);
return;
}
@@ -296,7 +295,7 @@ export const ProcSearchBar = ({
const sidoNm = sidoData.find((item) => item.val === sidoValue)?.text || "";
const sggNm = sigunData.find((item) => item.val === sigunValue)?.text || "";
const sggCd = sigunData.find((item) => item.val === sigunValue)?.val || "";
if (sggNm && sidoNm) fetchFacilitiesBySggNm(sggCd, sggNm, sidoNm, val);
if (sidoNm) fetchFacilitiesByRegion(sggCd, sggNm, sidoNm, val);
return;
}
@@ -310,7 +309,7 @@ export const ProcSearchBar = ({
}
}
},
[defaultFacilityData, fetchFacilitiesBySggNm, initializeSigunData, sigunData, sigunValue, sidoData, sidoValue, facilityType],
[defaultFacilityData, fetchFacilitiesByRegion, initializeSigunData, sigunData, sigunValue, sidoData, sidoValue, facilityType],
);
const handleSearch = useCallback(() => {