하수관망도 시도 단위 처리시설 조회 지원
This commit is contained in:
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user