feat, fix:

- 하수처리 시설 검색 조건에 처리구역 면적 추가
- 우수토실, 하수처리시설, 하수처리구역 관리 번호 오류 수정
This commit is contained in:
swcho
2025-07-17 14:23:37 +09:00
parent 20b45a02ed
commit 2850b1413f
3 changed files with 37 additions and 5 deletions
@@ -383,6 +383,11 @@ const SearchModal: React.FC<SearchModalProps> = ({
cqlFilters.push(`fclt_cpct BETWEEN ${시작1} AND ${종료1}`);
else if (시작1) cqlFilters.push(`fclt_cpct >= ${시작1}`);
else if (종료1) cqlFilters.push(`fclt_cpct <= ${종료1}`);
// 처리구역 면적
if (시작2 && 종료2)
cqlFilters.push(`prcsZoneAreaSum BETWEEN ${시작2} AND ${종료2}`);
else if (시작2) cqlFilters.push(`prcsZoneAreaSum >= ${시작2}`);
else if (종료2) cqlFilters.push(`prcsZoneAreaSum <= ${종료2}`);
// 하수처리시설명
if (변수1) cqlFilters.push(`swtrmt_fclt_nm ILIKE '%${변수1}%'`);
return cqlFilters;
@@ -721,6 +726,33 @@ const SearchModal: React.FC<SearchModalProps> = ({
set종료1(val);
}}
/>
</div>
<div className="mb-2 flex items-center">
{/* 처리구역 면적 */}
<Label className="mr-2 w-auto text-xl text-gray-600">
처리구역 면적(m²)
</Label>
<Input
className="w-[100px] !text-xl placeholder:text-center"
placeholder="입력"
value={시작2}
onChange={(e) => {
// 숫자만 입력 허용
const val = e.target.value.replace(/[^0-9]/g, "");
set시작2(val);
}}
/>
<span className="mx-2 text-xl font-semibold">~</span>
<Input
className="mr-8 w-[100px] !text-xl placeholder:text-center"
placeholder="입력"
value={종료2}
onChange={(e) => {
// 숫자만 입력 허용
const val = e.target.value.replace(/[^0-9]/g, "");
set종료2(val);
}}
/>
{/* 하수처리시설명 */}
<Label className="mr-2 w-auto text-xl text-gray-600">
하수처리시설명
@@ -566,7 +566,7 @@ export const DRTW_SEWAGE_PUMP_USE_CODES = [
// 우수토실
export const stofcbrCol = [
// { id: 'ftre_smbol_cd', title: '지형지물부호코드' },
{ id: 'pbadms_emd_cd', title: '시설관리번호' },
{ id: 'fclt_mng_no', title: '시설관리번호' },
// { id: 'pbadms_emd_cd', title: '행정읍면동코드' },
{ id: 'mapsht_no', title: '도엽번호' },
// { id: 'mng_inst_cd', title: '관리기관코드' },
@@ -57,7 +57,7 @@ const FeatureClickEventPopup = ({ onClose, featureData }: { onClose: () => void,
const getSelectedLayers = () => {
let result = null;
const layers = gisMap.getLayers().getArray(); // gisMap에서 모든 레이어 가져오기
let featureLayer: { get: (key: string) => any }; // 피처가 속한 레이어를 찾기 위한 변수
let featureLayer: { get: (key: string) => any } = { get: (key: string) => null }; // 피처가 속한 레이어를 찾기 위한 변수
layers.forEach((layer: any) => {
const source = layer.getSource();
if (source && source.hasFeature && featureData
@@ -135,7 +135,9 @@ const FeatureClickEventPopup = ({ onClose, featureData }: { onClose: () => void,
// 🎯 기본 데이터 포맷팅
const formattedData = formatDisplayData(data);
setLayerSpecificNm(featureData.values_.fclt_mng_no);
if (featureData.values_.fclt_mng_no) setLayerSpecificNm(featureData.values_.fclt_mng_no);
else if (featureData.values_.swtrmt_fclt_cd) setLayerSpecificNm(featureData.values_.swtrmt_fclt_cd);
else setLayerSpecificNm(featureData.values_.manage_no);
setFetchData(formattedData);
setTableData(formattedData);
@@ -172,7 +174,6 @@ const FeatureClickEventPopup = ({ onClose, featureData }: { onClose: () => void,
layerName: selectedLayerName,
data: { ...formattedData }
}));
setLayerSpecificNm(tableData.mqlt_cd);
// setFetchData(mappedData);
// setTableData(mappedData);
break;
@@ -205,7 +206,6 @@ const FeatureClickEventPopup = ({ onClose, featureData }: { onClose: () => void,
layerName: selectedLayerName,
data: { ...processedFormattedData }
}));
setLayerSpecificNm(tableData.mqlt_cd);
// 강우/측정 정보 데이터 호출
if (tableData?.chmbr_xcnts && tableData?.chmbr_ydnts) {