From fe7960ee14d418f3bb4d3c528ea0bdd3aedd101e Mon Sep 17 00:00:00 2001 From: swcho Date: Mon, 1 Sep 2025 18:12:03 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20-=20if=EB=AC=B8=20->=20switch?= =?UTF-8?q?=EB=AC=B8=20-=20log=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../popupComponent/featureClickEventPopup.tsx | 181 ++++++++++-------- .../map/searchModal/reportTab.tsx | 1 - .../map/searchModal/searchModal.tsx | 15 -- 3 files changed, 101 insertions(+), 96 deletions(-) diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx index 8dd107ff6..b3db19b1c 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx @@ -77,98 +77,119 @@ const FeatureClickEventPopup = ({ onClose, featureData }: { onClose: () => void, setIsClicked(true); console.log('gis data', featureData.values_); const lyrTyNm = featureData.id_.split('.')[0]; - if (lyrTyNm === 'tb_ms_swage_ppl') { - result = '하수관로'; - setHeadlist(MsSwagePplCol); - setLayerSpecificNm(featureData.values_.fclt_mng_no); - } - else if (lyrTyNm === 'tb_ms_swage_mhl') { - result = '하수맨홀'; - setHeadlist(MsSwageMhlCol); - setLayerSpecificNm(featureData.values_.fclt_mng_no); - } - else if (lyrTyNm === 'tb_ms_swage_pmstn') { // 하수펌프장 - const drtwPumpCode = DRTW_SEWAGE_PUMP_USE_CODES.find(code => code.text === '오수펌프장'); - if (drtwPumpCode && featureData.values_.usg_cd.trim() === drtwPumpCode.val) { - setIsDrtwSewagePump(true); - setHeadlist(DrtwSewagePumpCol); + + switch (lyrTyNm) { + case 'tb_ms_swage_ppl': { + result = '하수관로'; + setHeadlist(MsSwagePplCol); + setLayerSpecificNm(featureData.values_.fclt_mng_no); + break; } - else { - setIsDrtwSewagePump(false); - setHeadlist(ExclnSewagePumpCol); + case 'tb_ms_swage_mhl': { + result = '하수맨홀'; + setHeadlist(MsSwageMhlCol); + setLayerSpecificNm(featureData.values_.fclt_mng_no); + break; + } + case 'tb_ms_swage_pmstn': { + const drtwPumpCode = DRTW_SEWAGE_PUMP_USE_CODES.find(code => code.text === '오수펌프장'); + if (drtwPumpCode && featureData.values_.usg_cd.trim() === drtwPumpCode.val) { + setIsDrtwSewagePump(true); + setHeadlist(DrtwSewagePumpCol); + } + else { + setIsDrtwSewagePump(false); + setHeadlist(ExclnSewagePumpCol); + } + setLayerSpecificNm(featureData.values_.fclt_mng_no); + result = '하수펌프장'; + break; + } + case 'tb_il_swage_prcs_fclt': { + result = '하수처리시설'; + setHeadlist(SwtrmtFcltCol); + setLayerSpecificNm(featureData.values_.swtrmt_fclt_cd); + break; + } + case 'tb_ms_swage_prcs_zone': { + result = '하수처리구역'; + setHeadlist(SwtrmtPrcsZoneCol); + setLayerSpecificNm(featureData.values_.swtrmt_fclt_cd); + break; + } + case 'tb_ms_stofcbr': { + result = '우수토실'; + setHeadlist(stofcbrCol); + setLayerSpecificNm(featureData.values_.fclt_mng_no); + break; + } + case 'om_dt_untrt_swg_rain': { + result = '중점우수토실'; + setHeadlist(untrtSwgRainCol1); + setHeadlist2(untrtSwgRainCol2); + setLayerSpecificNm(featureData.values_.manage_no); + break; + } + default: { + result = featureLayer ? featureLayer.get('lyrNm') : null; + break; } - setLayerSpecificNm(featureData.values_.fclt_mng_no); - result = '하수펌프장'; } - else if (lyrTyNm === 'tb_il_swage_prcs_fclt') { - result = '하수처리시설'; - setHeadlist(SwtrmtFcltCol); - setLayerSpecificNm(featureData.values_.swtrmt_fclt_cd); - } - else if (lyrTyNm === 'tb_ms_swage_prcs_zone') { - result = '하수처리구역'; - setHeadlist(SwtrmtPrcsZoneCol); - setLayerSpecificNm(featureData.values_.swtrmt_fclt_cd); - } - else if (lyrTyNm === 'tb_ms_stofcbr') { - result = '우수토실'; - setHeadlist(stofcbrCol); - setLayerSpecificNm(featureData.values_.fclt_mng_no); - } - else if (lyrTyNm === 'om_dt_untrt_swg_rain') { - result = '중점우수토실'; - setHeadlist(untrtSwgRainCol1); - setHeadlist2(untrtSwgRainCol2); - setLayerSpecificNm(featureData.values_.manage_no); - } - else result = featureLayer ? featureLayer.get('lyrNm') : null; } else { // SearchModal 클릭 이벤트 setIsClicked(false); console.log('SearchModal data', featureData); const lyrTyNm = featureData.lyrTypeNm; - if (featureData.lyrTypeNm === 'tb_ms_swage_ppl') { - result = '하수관로'; - setHeadlist(MsSwagePplCol2) - setLayerSpecificNm(featureData.swtrmtFcltCd); - } - else if (featureData.lyrTypeNm === 'tb_ms_swage_mhl') { - result = '하수맨홀'; - setHeadlist(MsSwageMhlCol2) - setLayerSpecificNm(featureData.fcltMngNo); - } - else if (featureData.lyrTypeNm === 'tb_ms_swage_pmstn') { // 하수펌프장 - const drtwPumpCode = DRTW_SEWAGE_PUMP_USE_CODES.find(code => code.text === '오수펌프장'); - if (drtwPumpCode && featureData.usgCd.trim() === drtwPumpCode.val) { - console.log('오수펌프장'); - setIsDrtwSewagePump(false); - setHeadlist(ExclnSewagePumpCol2) + + switch (lyrTyNm) { + case 'tb_ms_swage_ppl': { + result = '하수관로'; + setHeadlist(MsSwagePplCol2) + setLayerSpecificNm(featureData.swtrmtFcltCd); + break; } - else { - console.log('빗물펌프장'); - setIsDrtwSewagePump(true); - setHeadlist(DrtwSewagePumpCol2) + case 'tb_ms_swage_mhl': { + result = '하수맨홀'; + setHeadlist(MsSwageMhlCol2) + setLayerSpecificNm(featureData.fcltMngNo); + break; + } + case 'tb_ms_swage_pmstn': { + const drtwPumpCode = DRTW_SEWAGE_PUMP_USE_CODES.find(code => code.text === '오수펌프장'); + if (drtwPumpCode && featureData.usgCd.trim() === drtwPumpCode.val) { + console.log('오수펌프장'); + setIsDrtwSewagePump(false); + setHeadlist(ExclnSewagePumpCol2) + } + else { + console.log('빗물펌프장'); + setIsDrtwSewagePump(true); + setHeadlist(DrtwSewagePumpCol2) + } + setLayerSpecificNm(featureData.fcltMngNo); + result = '하수펌프장'; + break; + } + case 'tb_il_swage_prcs_fclt': { + result = '하수처리시설'; + setHeadlist(SwtrmtFcltCol2) + setLayerSpecificNm(featureData.swtrmtFcltCd); + break; + } + case 'tb_ms_swage_prcs_zone': { + result = '하수처리구역'; + setHeadlist(SwtrmtPrcsZoneCol2); + setLayerSpecificNm(featureData.swtrmtFcltCd); + break; + } + case 'tb_ms_stofcbr': { + result = '우수토실'; + setHeadlist(stofcbrCol2) + setLayerSpecificNm(featureData.fcltMngNo); + break; } - setLayerSpecificNm(featureData.fcltMngNo); - result = '하수펌프장'; } - else if (featureData.lyrTypeNm === 'tb_il_swage_prcs_fclt') { - result = '하수처리시설'; - setHeadlist(SwtrmtFcltCol2) - setLayerSpecificNm(featureData.swtrmtFcltCd); - } - else if (featureData.lyrTypeNm === 'tb_ms_swage_prcs_zone') { - result = '하수처리구역'; - setHeadlist(SwtrmtPrcsZoneCol2); - setLayerSpecificNm(featureData.swtrmtFcltCd); - } - else if (featureData.lyrTypeNm === 'tb_ms_stofcbr') { - result = '우수토실'; - setHeadlist(stofcbrCol2) - setLayerSpecificNm(featureData.fcltMngNo); - } - // else if (featureData.lyrTypeNm === 'om_dt_untrt_swg_rain') result = '중점우수토실'; } return result; diff --git a/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx b/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx index 7fe3bd0f5..d476fedd7 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx @@ -149,7 +149,6 @@ const ReportTab: React.FC = ({ open, isSearch = true, ctpvNm, sg // if (gubun !== "") { // 구분검색 (추후 사용할 수도 있을 것 같아 남겨둠) // filterReportData = filterReportData.filter(item => (item.plantZoneGubun) ? String(item.plantZoneGubun).includes(String(gubun)) : null); // } - console.log('report count:', filterReportData.length); setTableCount(filterReportData.length || 0); diff --git a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx index 894bdf874..fdb52a1c2 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx @@ -191,7 +191,6 @@ const SearchModal: React.FC = ({ if (cqlFilters.length > 0) queryParams.append('cqlFiter', cqlFilters.join(' and ')); const res = await axios.get(`${API_URL}/v1/fclts?${queryParams.toString()}`); - console.log('api:', `${API_URL}/v1/fclts?${queryParams.toString()}`); // 🎯 각 아이템을 개별적으로 포맷팅하면서 일련번호 추가 const dataWithRowNumber = (res.data.data || []).map((item: any, index: number) => { @@ -226,7 +225,6 @@ const SearchModal: React.FC = ({ }; }); - console.log("dataWithRowNumber: ", dataWithRowNumber) setTableData(dataWithRowNumber); setTableCount(res.data.count || []); @@ -259,7 +257,6 @@ const SearchModal: React.FC = ({ const params = new URLSearchParams(RequestDTO).toString(); const res = await getData(`v1/bizInfo?${params}`); - console.log('운영정보 사업 데이터:', res.content); const mappedContent = (res.content || []).map((item: any, index: number) => { const formattedItem = formatDisplayData(item); @@ -507,7 +504,6 @@ const SearchModal: React.FC = ({ RequestDTO.workTypes = JSON.parse(workType.replace(/'/g, '"')); const res = await getData(`v1/bizInfo/fclts?${new URLSearchParams(RequestDTO).toString()}`); - console.log('운영정보 cellClick 데이터:', res.data); const mappedData = (res.data || []).map((item: any, detailIndex: number) => { const formattedItem = formatDisplayData(item); @@ -522,7 +518,6 @@ const SearchModal: React.FC = ({ swtrmt_zone_nm: item.swtrmt_zone_nm ? item.swtrmt_zone_nm : '-', }; }); - console.log('운영정보 cellClick 데이터:', mappedData); setDetailTableData(mappedData); setDetailTableCount(res.count || 0); @@ -560,7 +555,6 @@ const SearchModal: React.FC = ({ swtrmt_zone_nm: item.swtrmt_zone_nm ? item.swtrmt_zone_nm : '-', }; }); - console.log('운영정보 PageNation 데이터:', mappedData); setDetailTableData(mappedData); setDetailTableCount(res.count || 0); @@ -662,7 +656,6 @@ const SearchModal: React.FC = ({ if (cqlFilters.length > 0) queryParams.append('cqlFiter', cqlFilters.join(' and ')); const res = await axios.get(`${API_URL}/v1/fclts?${queryParams.toString()}`); - console.log('res.data.data', res.data.data); @@ -780,7 +773,6 @@ const SearchModal: React.FC = ({ // 선택된 행 데이터를 Excel 다운로드 형식으로 변환 const excelData = mappedContent; // 배열로 감싸서 전달 - console.log('excelData', excelData); // 파일명 생성 (분석번호 기반) const label = BASIC_TYPES.find((type) => type.val === basicType)?.text @@ -924,8 +916,6 @@ const SearchModal: React.FC = ({ const apiStartTime = performance.now(); const res = await getData(`v1/bizInfo/fclts?${new URLSearchParams(RequestDTO).toString()}`); const apiEndTime = performance.now(); - console.log(`🚀 1. API 호출 시간: ${(apiEndTime - apiStartTime).toFixed(2)}ms`); - console.log('운영정보 결과 다운로드.data:', res.data); const mappingStartTime = performance.now(); // 헤더 매핑 정의 @@ -969,13 +959,10 @@ const SearchModal: React.FC = ({ }; }); const mappingEndTime = performance.now(); - console.log(`🔄 2. 데이터 매핑 시간: ${(mappingEndTime - mappingStartTime).toFixed(2)}ms`); // 선택된 행 데이터를 Excel 다운로드 형식으로 변환 const excelData = mappedData; // 배열로 감싸서 전달 - console.log('excelData', excelData); - const excelStartTime = performance.now(); // 파일명 생성 (분석번호 기반) const label = WORK_TYPES.find((type) => type.val === workType)?.text @@ -989,7 +976,6 @@ const SearchModal: React.FC = ({ headerMapping: headerMapping }); const excelEndTime = performance.now(); - console.log(`📊 3. Excel 다운로드 시간: ${(excelEndTime - excelStartTime).toFixed(2)}ms`); setIsLoading(false); } catch (error) { @@ -1018,7 +1004,6 @@ const SearchModal: React.FC = ({ setIsLoading(true); const row = detailTableData[0]; - console.log('row', row); const layerNm = row.lyrTypeNm; const fids = detailTableData.map((item) => item.fid); const core = GisApp.Module.layer as any;