From 0995e6e43ba93913dfee017fd3bb5d33e18243c1 Mon Sep 17 00:00:00 2001 From: swcho Date: Fri, 19 Sep 2025 18:09:47 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=ED=95=98=EC=88=98=EA=B4=80=EB=A1=9C=20?= =?UTF-8?q?=EC=A3=BC=EC=84=9D=20API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/popupComponent/MsSwagePpl.tsx | 15 ++++++++++++ .../map/components/popupComponent/Ssc.tsx | 18 +++++++++++++-- .../components/popupComponent/SwtrmtFclt.tsx | 10 ++++++++ .../popupComponent/featureClickEventPopup.tsx | 23 +++++++++++++++++++ .../components/popupComponent/sewagePump.tsx | 12 +++++++++- .../map/components/popupComponent/smh.tsx | 15 +++++++++++- .../popupComponent/stormWaterPump.tsx | 9 ++++++++ apps/sn/app/(map-layout)/map/page.tsx | 2 +- .../map/searchModal/operationTab.tsx | 3 --- .../map/searchModal/reportFilesModal.tsx | 3 --- .../map/searchModal/reportTab.tsx | 3 --- .../map/searchModal/searchModal.tsx | 5 ---- .../(map-layout)/map/searchModal/stofcbr.tsx | 3 --- .../(map-layout)/map/searchModal/swageMhl.tsx | 3 --- .../map/searchModal/swagePmstn.tsx | 3 --- .../(map-layout)/map/searchModal/swagePpl.tsx | 3 --- .../map/searchModal/swagePrcsFclt.tsx | 3 --- .../map/searchModal/swagePrcsZone.tsx | 3 --- .../map/searchModal/useBasicTab.ts | 2 +- .../map/searchModal/useOperationTab.ts | 4 ++-- .../map/searchModal/useReportTab.ts | 4 ++-- .../map/searchModal/useSearchModal.ts | 2 +- .../(with-base-layout)/ii/fileupload/page.tsx | 5 ++-- .../(with-base-layout)/ii/irsetting/page.tsx | 3 ++- .../app/(with-base-layout)/ii/rdii/page.tsx | 3 ++- .../(with-base-layout)/ii/rdiiResult/page.tsx | 14 +++++------ .../app/(with-base-layout)/ii/result/page.tsx | 12 +++++----- .../(with-base-layout)/oper/floodPre/page.tsx | 6 ++--- .../oper/floodPre/tableModal.tsx | 8 +++---- .../(with-base-layout)/oper/oldPp/page.tsx | 6 ++--- .../oper/oldPp/tableModal.tsx | 2 +- .../app/components/lib/common/apiHelpers.ts | 4 ++-- .../components/lib/utils/fileDeleteUtil.tsx | 2 +- .../app/components/lib/utils/fileDownload.ts | 1 - .../ui/ctpvSggPrcsFcltSelectBox.tsx | 2 +- .../app/components/ui/operFileUploadForm.tsx | 3 --- apps/sn/app/page.tsx | 2 +- apps/sn/app/store/index.ts | 2 ++ apps/sn/app/store/useReportTabStore.ts | 6 +++-- 39 files changed, 147 insertions(+), 82 deletions(-) diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx index 2c28be0d4..0e2ec3780 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx @@ -1,3 +1,18 @@ +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (하수관로) + * + * 📄 MsSwagePpl + * 하수관로 정보 컴포넌트 + * + * - 하수관로의 자체입력정보 표시 및 편집 기능 + * - 보수 및 갱신, 청소 및 준설, 점검 및 진단 데이터 조회 및 표시 + * - VerticalTable을 통한 입력 폼 렌더링 + * - InputSection을 통한 운영 데이터 관리 + * - 저장 버튼을 통한 데이터 저장 기능 + * + * 🔗 사용 API + * - 시설별 운영 정보 조회: GET /api/v1/bizInfo/bizByFclt (sewerage-service) + */ 'use client' import { VerticalTable } from '@/components/ui/verticalTable'; import React, { useState, useEffect } from 'react' diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/Ssc.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/Ssc.tsx index 3743410e7..d55e1c9c2 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/Ssc.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/Ssc.tsx @@ -1,7 +1,21 @@ -// 우수토실 +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (우수토실) + * + * 📄 Ssc + * 우수토실 정보 컴포넌트 + * + * - 우수토실의 자체입력정보 표시 및 편집 기능 + * - 중점우수토실 운영정보 모달 표시 (강우/측정 정보, 수량/수질측정 정보) + * - VerticalTable을 통한 입력 폼 렌더링 + * - 저장 버튼을 통한 데이터 저장 기능 + * + * 🔗 사용 API + * - 위경도로 강우시 미처리 하수 목록 조회: GET /api/v1/onsemiro/getSwgRainsByGeomety (sewerage-service) + * - 강우시 월류 하수 관리 모니터링 조회: GET /api/v1/onsemiro/swgRain/{adstDstrCd}/{manageNo}/mntrngs (sewerage-service) + */ import { UiModal, UiTable } from '@common/business_components/ui'; import { Button, TableHead, TableRow } from '@common/components/ui'; -import React, { useState, useEffect, useCallback } from 'react'; +import React, { useState, useEffect } from 'react'; import { untrtSwgRainCol3, untrtSwgRainCol4, untrtSwgRainCol5 } from '../common/table'; import { VerticalTable } from '@/components/ui/verticalTable'; import { getData } from "@/components/lib/api"; diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/SwtrmtFclt.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/SwtrmtFclt.tsx index 366218ec1..8b029673f 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/SwtrmtFclt.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/SwtrmtFclt.tsx @@ -1,3 +1,13 @@ +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (하수처리시설) + * + * 📄 SwtrmtFclt + * 하수처리시설 정보 컴포넌트 + * + * - 하수처리시설의 디지털 자료관 연계 정보 표시 + * - VerticalTable을 통한 테이블 렌더링 + * - 조회 버튼을 통한 모달 표시 및 ReportTab 연동 + */ 'use client' import React, { useState } from 'react' import { VerticalTable } from '@/components/ui/verticalTable'; 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 a2138319f..e0fe03a92 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/featureClickEventPopup.tsx @@ -1,3 +1,26 @@ +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 + * + * 📄 FeatureClickEventPopup + * 시설물(피처) 클릭시 오른쪽 팝업창 컴포넌트 + * + * - 지도 시설물(피처) 클릭 시 팝업 표시 및 데이터 로딩 + * - 레이어 유형에 따른 동적 테이블 및 헤드리스트 설정 + * - 자체입력정보 조회 및 저장 기능 (하수관로, 우수토실, 하수펌프장, 하수맨홀) + * - 코드 매핑 및 데이터 포맷팅 처리 + * - 상류관로 검색, 침입수/RDII 분석 차트 표시 + * - 모달을 통한 저장 확인 및 API 연동 + * + * 🔗 사용 API + * - 하수관로 자체입력정보 조회: GET /api/v1/fcltppl/{fcltMngNo}/{mngInstCd} (sewerage-service) + * - 우수토실 자체입력정보 조회: GET /api/v1/fcltstofcbr/{fcltMngNo}/{mngInstCd} (sewerage-service) + * - 하수펌프장 자체입력정보 조회: GET /api/v1/fcltpump/{fcltMngNo}/{mngInstCd} (sewerage-service) + * - 하수맨홀 자체입력정보 조회: GET /api/v1/fcltmhl/{fcltMngNo}/{mngInstCd} (sewerage-service) + * - 하수관로 자체입력정보 저장: POST /api/v1/fcltppl (sewerage-service) + * - 우수토실 자체입력정보 저장: POST /api/v1/fcltstofcbr (sewerage-service) + * - 하수펌프장 자체입력정보 저장: POST /api/v1/fcltpump (sewerage-service) + * - 하수맨홀 자체입력정보 저장: POST /api/v1/fcltmhl (sewerage-service) + */ 'use client' import { getData, postData } from "@/components/lib/api"; import Modal from "@/components/ui/modal"; diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/sewagePump.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/sewagePump.tsx index 5dcde5f5e..07d78a7d1 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/sewagePump.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/sewagePump.tsx @@ -1,3 +1,13 @@ +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (하수펌프장) + * + * 📄 sewagePump + * 하수펌프장 정보 컴포넌트 + * + * - 빗물펌프장 및 오수펌프장 구분에 따른 자체 입력 정보 표시 및 편집 기능 + * - VerticalTable을 통한 입력 폼 렌더링 + * - 저장 버튼을 통한 데이터 저장 기능 + */ import { VerticalTable } from '@/components/ui/verticalTable'; import React, { useState, useEffect } from 'react' // 빗물펌프장 자체 입력 정보 @@ -12,7 +22,7 @@ const drtwInputColumn = [ { id: "mltvDtdvNm", title: "처리분구", type: "input" }, ] -// 하수펌프장 + const sewagePump = ({ featureData, isDrtwSewagePump, onSaveClick }: { featureData: any, isDrtwSewagePump?: boolean, onSaveClick?: () => void }) => { const [formData, setFormData] = useState({}); diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/smh.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/smh.tsx index 5d5365834..01e0a3043 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/smh.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/smh.tsx @@ -1,4 +1,17 @@ -// 하수맨홀 +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (하수맨홀) + * + * 📄 Smh + * 하수맨홀 정보 컴포넌트 + * + * - 하수맨홀의 자체입력정보 표시 및 편집 기능 + * - VerticalTable을 통한 입력 폼 렌더링 + * - 상류관로 검색 및 지도 포커스 기능 + * - 저장 버튼을 통한 데이터 저장 기능 + * + * 🔗 사용 API + * - 상류관로 조회: GET /api/v1/fcltmhl/upperPpls/{fcltMngNo} (sewerage-service) + */ import { VerticalTable } from '@/components/ui/verticalTable'; import { useEffect, useState } from 'react'; import GisApp from "@common/business_components/ui/map/lib/gis.core"; diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/stormWaterPump.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/stormWaterPump.tsx index 96f10fa55..92973b133 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/stormWaterPump.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/stormWaterPump.tsx @@ -1,3 +1,12 @@ +/** + * ➡️ 경로 : 하수관망도 메인 페이지 (시설물 클릭) - 오른쪽 팝업창 (빗물펌프) + * + * 📄 StormWaterPump + * 빗물펌프 정보 컴포넌트 + * + * - 빗물펌프의 자체입력정보 표시 및 편집 기능 + * - VerticalTable을 통한 입력 폼 렌더링 + */ import { VerticalTable } from '@/components/ui/verticalTable'; import React from 'react' const inputColumn = [ diff --git a/apps/sn/app/(map-layout)/map/page.tsx b/apps/sn/app/(map-layout)/map/page.tsx index b9fb0e352..651738642 100644 --- a/apps/sn/app/(map-layout)/map/page.tsx +++ b/apps/sn/app/(map-layout)/map/page.tsx @@ -12,7 +12,7 @@ * - Zustand를 통한 검색 모달 상태 관리 * * 🔗 사용 API - * - 레이어 설정 조회: GET /v1/map/lyrStngs/SN_NETWORK (sewerage-service) + * - 레이어 설정 조회: GET /api/v1/map/lyrStngs/{lyrGrp} (sewerage-service) */ "use client"; diff --git a/apps/sn/app/(map-layout)/map/searchModal/operationTab.tsx b/apps/sn/app/(map-layout)/map/searchModal/operationTab.tsx index 853d05c38..13025e2ec 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/operationTab.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/operationTab.tsx @@ -10,9 +10,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 운영 사업 현황 조회: GET /v1/operation/business/status (sewerage-service) */ import React from 'react'; import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/reportFilesModal.tsx b/apps/sn/app/(map-layout)/map/searchModal/reportFilesModal.tsx index ced0ba14b..8be73ba1e 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/reportFilesModal.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/reportFilesModal.tsx @@ -10,9 +10,6 @@ * - 파일 클릭 이벤트 처리 및 상세 조회 * - Zustand를 통한 모달 상태 및 데이터 관리 * - 모달 열림/닫힘 시 데이터 초기화 기능 - * - * 🔗 사용 API - * - 보고서 파일 조회: GET /v1/report/sewerage-plan (sewerage-service) */ 'use client' import React, { useEffect } from 'react'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx b/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx index 0817cc422..cbc635a7c 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/reportTab.tsx @@ -10,9 +10,6 @@ * - 보고서 클릭 시 파일 목록 모달 열기 * - Zustand를 통한 모달 상태 및 데이터 관리 * - 로딩 오버레이 및 선택 초기화 기능 - * - * 🔗 사용 API - * - 보고서 데이터 조회: GET /v1/report/sewerage-plan (sewerage-service) */ 'use client'; import React, { useEffect, useState } from 'react'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx index 400217a4b..d2537663e 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx @@ -10,11 +10,6 @@ * - 엑셀 다운로드 및 지도에서 보기 기능 * - Zustand를 통한 검색 모달 상태 관리 * - 로딩 오버레이 및 선택 초기화 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) - * - 운영 사업 현황 조회: GET /v1/operation/business/status (sewerage-service) - * - 보고서 데이터 조회: GET /v1/report/sewerage-plan (sewerage-service) */ import LoadingOverlay from '@/components/ui/LoadingBar'; import { UiModal, UITab, UiTable } from '@common/business_components/ui'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx b/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx index 522063a29..4fc830c59 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx @@ -9,9 +9,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; import { Button } from '@common/components'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx b/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx index f13341b9c..aade9662a 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx @@ -10,9 +10,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import React from 'react'; import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/swagePmstn.tsx b/apps/sn/app/(map-layout)/map/searchModal/swagePmstn.tsx index 4e09a2b3e..a9be8704e 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swagePmstn.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swagePmstn.tsx @@ -10,9 +10,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; import { Button, Input, Label } from '@common/components'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/swagePpl.tsx b/apps/sn/app/(map-layout)/map/searchModal/swagePpl.tsx index a92395da7..9378c779b 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swagePpl.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swagePpl.tsx @@ -10,9 +10,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; import { SelectBox } from '@common/business_components/ui'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/swagePrcsFclt.tsx b/apps/sn/app/(map-layout)/map/searchModal/swagePrcsFclt.tsx index 7791dc435..395c936a4 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swagePrcsFclt.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swagePrcsFclt.tsx @@ -10,9 +10,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import React from 'react'; import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/swagePrcsZone.tsx b/apps/sn/app/(map-layout)/map/searchModal/swagePrcsZone.tsx index b072e00c4..0d1fb9fc4 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swagePrcsZone.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swagePrcsZone.tsx @@ -9,9 +9,6 @@ * - 조회 버튼을 통한 데이터 검색 트리거 * - Zustand를 통한 상태 관리 및 필터 값 저장 * - Enter 키 입력 시 자동 조회 지원 - * - * 🔗 사용 API - * - 시설물 조회: GET /v1/map/facility/search (sewerage-service) */ import React from 'react'; import { CtpvSggPrcsFcltSelectBox } from '@/components/ui/ctpvSggPrcsFcltSelectBox'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts b/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts index 9177ddee5..80d3deb50 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts +++ b/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts @@ -10,7 +10,7 @@ * - 데이터 매핑 및 코드 변환 (시도/시군구, 용도 등) * * 🔗 사용 API - * - 시설물 조회: GET /v1/fclts (sewerage-service) + * - 관망도 시설물 목록 조회: GET /api/v1/fclts (sewerage-service) */ import { downloadExcelWithKoreanHeaders } from '@common/business_components/ui'; import { diff --git a/apps/sn/app/(map-layout)/map/searchModal/useOperationTab.ts b/apps/sn/app/(map-layout)/map/searchModal/useOperationTab.ts index 8e1c35a91..a4df8ae92 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/useOperationTab.ts +++ b/apps/sn/app/(map-layout)/map/searchModal/useOperationTab.ts @@ -11,8 +11,8 @@ * - 데이터 매핑 및 코드 변환 (사업 유형, 용도, 재질 등) * * 🔗 사용 API - * - 사업 현황 조회: GET /v1/bizInfo (sewerage-service) - * - 사업 결과표 조회: GET /v1/bizInfo/fclts (sewerage-service) + * - 운영정보 목록 조회: GET /api/v1/bizInfo (sewerage-service) + * - 운영정보(사업정보) 관련 시설 목록 조회: GET /api/v1/bizInfo/fclts (sewerage-service) */ import { downloadExcelWithKoreanHeaders } from '@common/business_components/ui'; import { MS_SWAGE_PPL_CODES, MS_SWAGE_PPL_USE_CODES } from '../components/common/table'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/useReportTab.ts b/apps/sn/app/(map-layout)/map/searchModal/useReportTab.ts index 0eea86286..b93b6fb47 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/useReportTab.ts +++ b/apps/sn/app/(map-layout)/map/searchModal/useReportTab.ts @@ -10,8 +10,8 @@ * - 데이터 매핑 및 코드 변환 (시도/시군구, 보고서 유형 등) * * 🔗 사용 API - * - 보고서 파일 조회: GET /api/v1/dc/file (sewerage-service) - * - 파일 다운로드: GET /api/v1/dc/file/download (sewerage-service) + * - 보고서 파일 조회: GET /api/v1/dc/file (dc-service) + * - 파일 다운로드: GET /api/v1/dc/file/download (dc-service) */ import { getDcData } from '@/components/lib/api'; import { fileDownload } from '@/utils'; diff --git a/apps/sn/app/(map-layout)/map/searchModal/useSearchModal.ts b/apps/sn/app/(map-layout)/map/searchModal/useSearchModal.ts index 89363a247..770a8700d 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/useSearchModal.ts +++ b/apps/sn/app/(map-layout)/map/searchModal/useSearchModal.ts @@ -10,7 +10,7 @@ * - 데이터 매핑 및 코드 변환 (사업 유형 등) * * 🔗 사용 API - * - 사업 현황 조회: GET /v1/bizInfo (sewerage-service) + * - 운영정보 목록 조회: GET /api/v1/bizInfo (sewerage-service) */ import { getData } from "@/components/lib/api"; import { formatDisplayData } from '@/components/lib/utils/formatDisplayValue'; diff --git a/apps/sn/app/(with-base-layout)/ii/fileupload/page.tsx b/apps/sn/app/(with-base-layout)/ii/fileupload/page.tsx index 705de23cc..bd2a3f034 100644 --- a/apps/sn/app/(with-base-layout)/ii/fileupload/page.tsx +++ b/apps/sn/app/(with-base-layout)/ii/fileupload/page.tsx @@ -12,8 +12,9 @@ * - 폼 제출 및 에러 핸들링 * * 🔗 사용 API - * - 사용자 조회: POST /v1/inftwtAnls/users (sewerage-service) - * - 파일 업로드: POST /v1/rdiiAnls/savewithfile (sewerage-service) + * - 사이트 정보 조회: POST /api/v1/inftwtAnls/users/{userId} (sewerage-service) + * - 침입수분석 등록 첨부파일INP 포함: POST /api/v1/rdiiAnls/savewithfile (sewerage-service) + * - 사용자 단 건 조회: GET /api/v1/users/{userUnqId} (user-service) */ 'use client' diff --git a/apps/sn/app/(with-base-layout)/ii/irsetting/page.tsx b/apps/sn/app/(with-base-layout)/ii/irsetting/page.tsx index 1074c3bc9..e2a23759b 100644 --- a/apps/sn/app/(with-base-layout)/ii/irsetting/page.tsx +++ b/apps/sn/app/(with-base-layout)/ii/irsetting/page.tsx @@ -12,7 +12,8 @@ * - 로딩 오버레이 및 에러 핸들링 지원 * * 🔗 사용 API - * - 침입수 분석 데이터 저장: POST /v1/inftwtAnls/savewithfile (sewerage-service) + * - 침입수분석 등록 첨부파일INP 포함: POST /api/v1/inftwtAnls/savewithfile (sewerage-service) + * - 로그인된 사용자의 사용자 정보 조회: GET /api/v1/users/info/me (user-service) */ 'use client' import { postMutiPart } from '@/components/lib/api' diff --git a/apps/sn/app/(with-base-layout)/ii/rdii/page.tsx b/apps/sn/app/(with-base-layout)/ii/rdii/page.tsx index 10b630393..4fd6d947a 100644 --- a/apps/sn/app/(with-base-layout)/ii/rdii/page.tsx +++ b/apps/sn/app/(with-base-layout)/ii/rdii/page.tsx @@ -13,7 +13,8 @@ * - 로딩 오버레이 및 에러 핸들링 지원 * * 🔗 사용 API - * - RDII 분석 데이터 저장: POST /v1/rdiiAnls/savewithfile (sewerage-service) + * - 침입수분석 등록 첨부파일INP 포함: POST /api/v1/inftwtAnls/savewithfile (sewerage-service) + * - 로그인된 사용자의 사용자 정보 조회: GET /api/v1/users/info/me (user-service) */ "use client" diff --git a/apps/sn/app/(with-base-layout)/ii/rdiiResult/page.tsx b/apps/sn/app/(with-base-layout)/ii/rdiiResult/page.tsx index cc5e1e47b..52685aaf8 100644 --- a/apps/sn/app/(with-base-layout)/ii/rdiiResult/page.tsx +++ b/apps/sn/app/(with-base-layout)/ii/rdiiResult/page.tsx @@ -12,10 +12,10 @@ * - Zustand를 통한 상태 관리 및 데이터 포맷팅 * * 🔗 사용 API - * - RDII 분석 결과 조회: GET /v1/rdiiAnls (sewerage-service) - * - RDII 분석 결과 상세 조회: GET /v1/rdiiAnlsRslt/ppl (sewerage-service) - * - RDII 분석 결과 삭제: DELETE /v1/rdiiAnlsRslt (sewerage-service) - * - RDII 분석 삭제: DELETE /v1/rdiiAnls (sewerage-service) + * - RDII분석 목록 조회: GET /api/v1/rdiiAnls (sewerage-service) + * - RDII분석결과관로 목록 조회: GET /api/v1/rdiiAnlsRslt/ppl/{rainInfwtAnlsSn} (sewerage-service) + * - RDII분석결과 삭제: DELETE /api/v1/rdiiAnlsRslt/{rainInfwtAnlsSn} (sewerage-service) + * - RDII분석 삭제: DELETE /api/v1/rdiiAnls/{rainInfwtAnlsSn} (sewerage-service) */ 'use client' import { deleteData, getData, useCookieAuth } from '@/components/lib/api' @@ -27,7 +27,7 @@ import { z } from 'zod' import BaseLayout from '../BaseLayout' import { handleDelete } from '@/components/lib/utils' import { formatDisplayData } from '@/components/lib/utils/formatDisplayValue'; -import useStore from '../../../store/useStore'; +import useStore from '@/store/useStore'; const formSchema = z.object({ @@ -248,8 +248,8 @@ const Result = () => { try { // 삭제 API 호출 - const response1 = await deleteData(`v1/rdiiAnlsRslt/${selectedRowData.rainInfwtAnlsSn}`); - const response2 = await deleteData(`v1/rdiiAnls/${selectedRowData.rainInfwtAnlsSn}`); + await deleteData(`v1/rdiiAnlsRslt/${selectedRowData.rainInfwtAnlsSn}`); + await deleteData(`v1/rdiiAnls/${selectedRowData.rainInfwtAnlsSn}`); // 첨부파일(inp파일) 삭제 API 호출 handleDelete(selectedRowData.atflCd, { handleDeleteStart: () => console.log("파일 삭제 시작"), diff --git a/apps/sn/app/(with-base-layout)/ii/result/page.tsx b/apps/sn/app/(with-base-layout)/ii/result/page.tsx index 23b6d1912..59ccf0b08 100644 --- a/apps/sn/app/(with-base-layout)/ii/result/page.tsx +++ b/apps/sn/app/(with-base-layout)/ii/result/page.tsx @@ -12,10 +12,10 @@ * - Zustand를 통한 상태 관리 및 데이터 포맷팅 * * 🔗 사용 API - * - 침입수 분석 결과 조회: GET /v1/inftwtAnls (sewerage-service) - * - 침입수 분석 결과 상세 조회: GET /v1/inftwtAnlsRslt/ppl (sewerage-service) - * - 침입수 분석 결과 삭제: DELETE /v1/inftwtAnlsRslt (sewerage-service) - * - 침입수 분석 삭제: DELETE /v1/inftwtAnls (sewerage-service) + * - 침입수분석 목록 조회: GET /api/v1/inftwtAnls (sewerage-service) + * - 침입수분석결과관로 목록 조회: GET /api/v1/inftwtAnlsRslt/ppl/{inftwtAnlsSn} (sewerage-service) + * - 침입수분석결과 삭제: DELETE /api/v1/inftwtAnlsRslt/{inftwtAnlsSn} (sewerage-service) + * - 침입수분석 삭제: DELETE /api/v1/inftwtAnls/{inftwtAnlsSn} (sewerage-service) */ 'use client' import { deleteData, getData, useCookieAuth } from '@/components/lib/api' @@ -242,8 +242,8 @@ const Result = () => { try { // // 삭제 API 호출 - const response1 = await deleteData(`v1/inftwtAnlsRslt/${selectedRowData.inftwtAnlsSn}`); - const response2 = await deleteData(`v1/inftwtAnls/${selectedRowData.inftwtAnlsSn}`); + await deleteData(`v1/inftwtAnlsRslt/${selectedRowData.inftwtAnlsSn}`); + await deleteData(`v1/inftwtAnls/${selectedRowData.inftwtAnlsSn}`); // 첨부파일(inp파일) 삭제 API 호출 handleDelete(selectedRowData.atflCd, { handleDeleteStart: () => console.log("파일 삭제 시작"), diff --git a/apps/sn/app/(with-base-layout)/oper/floodPre/page.tsx b/apps/sn/app/(with-base-layout)/oper/floodPre/page.tsx index a029e9617..3b547cf09 100644 --- a/apps/sn/app/(with-base-layout)/oper/floodPre/page.tsx +++ b/apps/sn/app/(with-base-layout)/oper/floodPre/page.tsx @@ -12,9 +12,9 @@ * - 로딩 오버레이 및 에러 핸들링 지원 * * 🔗 사용 API - * - 사업 정보 조회: GET /v1/sbmrgPrevnt (sewerage-service) - * - 파일 삭제: DELETE /attach-service/api/v1/atfl/attachments (attach-service) - * - 사업 정보 등록: POST /v1/sbmrgPrevnt (sewerage-service) + * - 도시침수예방사업 목록 조회: GET /api/v1/sbmrgPrevnt (sewerage-service) + * - 도시침수예방사업 등록: POST /api/v1/sbmrgPrevnt (sewerage-service) + * - 첨부파일 삭제및 Soft Delete 삭제: DELETE /api/v1/atfl/attachments/{atflId} (attach-service) */ 'use client' import { deleteData, postData, useCookieAuth } from '@/components/lib/api' diff --git a/apps/sn/app/(with-base-layout)/oper/floodPre/tableModal.tsx b/apps/sn/app/(with-base-layout)/oper/floodPre/tableModal.tsx index 97bd24c3e..ad8fcf72f 100644 --- a/apps/sn/app/(with-base-layout)/oper/floodPre/tableModal.tsx +++ b/apps/sn/app/(with-base-layout)/oper/floodPre/tableModal.tsx @@ -10,16 +10,16 @@ * - 테이블 헤더 및 데이터 동적 생성 * * 🔗 사용 API - * - 파일 다운로드: GET /attach-service/api/v1/download/{atflId} (attach-service) + * - 첨부파일 다운로드(파일ID): GET /attach-service/api/v1/download/{atflId} (attach-service) */ 'use client' import { useState, useEffect } from 'react' import LoadingOverlay from '@/components/ui/LoadingBar' import { UITab, UiTable } from '@common/business_components/ui' -import { Table, TableBody, TableHeader } from "@common/components/ui"; import * as XLSX from 'xlsx'; -import { HeadMakeFloodPre } from './headMakeFloodPre'; -import { InputTableBody } from './inputTableBody'; +// import { Table, TableBody, TableHeader } from "@common/components/ui"; +// import { HeadMakeFloodPre } from './headMakeFloodPre'; +// import { InputTableBody } from './inputTableBody'; const TABS = [ { val: "management", text: "관리SHEET" }, diff --git a/apps/sn/app/(with-base-layout)/oper/oldPp/page.tsx b/apps/sn/app/(with-base-layout)/oper/oldPp/page.tsx index 0a1ec566f..93151a938 100644 --- a/apps/sn/app/(with-base-layout)/oper/oldPp/page.tsx +++ b/apps/sn/app/(with-base-layout)/oper/oldPp/page.tsx @@ -12,9 +12,9 @@ * - 로딩 오버레이 및 에러 핸들링 지원 * * 🔗 사용 API - * - 사업 정보 조회: GET /v1/dcrpPpl (sewerage-service) - * - 파일 삭제: DELETE /attach-service/api/v1/atfl/attachments (attach-service) - * - 사업 정보 등록: POST /v1/dcrpPpl (sewerage-service) + * - 노후관로정비사업 목록 조회: GET /api/v1/dcrpPpl (sewerage-service) + * - 노후관로정비사업 목록 등록: POST /api/v1/dcrpPpl (sewerage-service) + * - 첨부파일 삭제및 Soft Delete 삭제: DELETE /api/v1/atfl/attachments/{atflId} (attach-service) */ 'use client' import { deleteData, postData, useCookieAuth } from '@/components/lib/api' diff --git a/apps/sn/app/(with-base-layout)/oper/oldPp/tableModal.tsx b/apps/sn/app/(with-base-layout)/oper/oldPp/tableModal.tsx index 3b94c20f0..dece4c4f8 100644 --- a/apps/sn/app/(with-base-layout)/oper/oldPp/tableModal.tsx +++ b/apps/sn/app/(with-base-layout)/oper/oldPp/tableModal.tsx @@ -10,7 +10,7 @@ * - 테이블 헤더 및 데이터 동적 생성 * * 🔗 사용 API - * - 파일 다운로드: GET /attach-service/api/v1/download/{atflId} (attach-service) + * - 첨부파일 다운로드(파일ID): GET /attach-service/api/v1/download/{atflId} (attach-service) */ 'use client' import { useState, useEffect } from 'react' diff --git a/apps/sn/app/components/lib/common/apiHelpers.ts b/apps/sn/app/components/lib/common/apiHelpers.ts index 9fecf9cf8..8f9abbf08 100644 --- a/apps/sn/app/components/lib/common/apiHelpers.ts +++ b/apps/sn/app/components/lib/common/apiHelpers.ts @@ -1,6 +1,6 @@ /** * 📄 API Helpers - * API 호출 헬퍼 유틸리티 + * 공통 코드 cs-service API 호출 유틸리티 * * - 검색 데이터 조회 및 파라미터 처리 * - 상위 코드로 하위 코드 조회 기능 @@ -10,7 +10,7 @@ * - 타입 안전성 보장을 위한 제네릭 활용 * * 🔗 사용 API - * - 상위 코드 조회: GET /cms-service/api/v1/code/cache/{upCd} (cms-service) + * - 하위코드페이지 캐시 목록 조회: GET /api/v1/code/cache/{upCd} (cms-service) */ import { getData } from "../api"; diff --git a/apps/sn/app/components/lib/utils/fileDeleteUtil.tsx b/apps/sn/app/components/lib/utils/fileDeleteUtil.tsx index 6878a3a14..768c3ef9c 100644 --- a/apps/sn/app/components/lib/utils/fileDeleteUtil.tsx +++ b/apps/sn/app/components/lib/utils/fileDeleteUtil.tsx @@ -10,7 +10,7 @@ * - 파일 삭제 진행 상태 콜백 지원 * * 🔗 사용 API - * - 첨부 파일 삭제: DELETE /attach-service/api/v1/atfl/attachments/atflCd (attach-service) + * - 첨부파일 삭제및 Soft Delete 삭제(첨부파일코드로 삭제): DELETE /api/v1/atfl/attachments/atflCd/{atflCd} (attach-service) */ import { getCookie } from "@/shared/lib"; import { ENDPOINT } from "../api/attachment/attachment-service"; diff --git a/apps/sn/app/components/lib/utils/fileDownload.ts b/apps/sn/app/components/lib/utils/fileDownload.ts index 97ff4b68b..855488692 100644 --- a/apps/sn/app/components/lib/utils/fileDownload.ts +++ b/apps/sn/app/components/lib/utils/fileDownload.ts @@ -9,7 +9,6 @@ * - 다양한 파일 타입 지원 (엑셀, PDF 등) * - Fetch 기반 HTTP 요청 처리 */ -const BASE_URL = process.env.NEXT_PUBLIC_SERVER_API_URL || ''; export const handleDownload = async (api: string, fileNm: string) => { try { diff --git a/apps/sn/app/components/ui/ctpvSggPrcsFcltSelectBox.tsx b/apps/sn/app/components/ui/ctpvSggPrcsFcltSelectBox.tsx index 32b69138b..25eb0a9d1 100644 --- a/apps/sn/app/components/ui/ctpvSggPrcsFcltSelectBox.tsx +++ b/apps/sn/app/components/ui/ctpvSggPrcsFcltSelectBox.tsx @@ -10,7 +10,7 @@ * - CQL 필터를 통한 시설물 검색 조건 설정 * * 🔗 사용 API - * - 시설물 조회: GET /v1/fclts (sewerage-service) + * - 관망도 시설물 목록 조회: GET /api/v1/fclts (sewerage-service) */ import React, { useState, useEffect } from "react"; import { SelectBox } from '@common/business_components/ui' diff --git a/apps/sn/app/components/ui/operFileUploadForm.tsx b/apps/sn/app/components/ui/operFileUploadForm.tsx index 78a390aec..d4c2e5eeb 100644 --- a/apps/sn/app/components/ui/operFileUploadForm.tsx +++ b/apps/sn/app/components/ui/operFileUploadForm.tsx @@ -16,9 +16,6 @@ import FileUploadForm from './fileUploadForm'; import { yearOptions, getQuarterOptions } from '@/components/lib/utils'; const operFileUploadForm = ({ title, onSubmit }: { title: string, onSubmit: (files: string, year: string, quarter: string, code: string, id: string) => void }) => { - const [atflCd, setAtflCd] = useState(null); - const [atflId, setAtflId] = useState(null); - const [selectedYear, setSelectedYear] = useState(yearOptions[0]?.val || ''); const [quaterOptions, setQuaterOptions] = useState(() => getQuarterOptions(selectedYear)); const [selectedQuarter, setSelectedQuarter] = useState(quaterOptions[0]?.val || ''); diff --git a/apps/sn/app/page.tsx b/apps/sn/app/page.tsx index c8ad51fdf..d3e22baee 100644 --- a/apps/sn/app/page.tsx +++ b/apps/sn/app/page.tsx @@ -12,7 +12,7 @@ * - Next.js useRouter를 통한 클라이언트 사이드 라우팅 * * 🔗 사용 API - * - 로그인: POST /v1/auth/login (auth-service) + * - 로그인: POST /api/v1/auth/login (user-service) */ "use client"; import { LoginApi } from "@/entities/auth"; diff --git a/apps/sn/app/store/index.ts b/apps/sn/app/store/index.ts index 1241bf6f9..91577ae1a 100644 --- a/apps/sn/app/store/index.ts +++ b/apps/sn/app/store/index.ts @@ -26,6 +26,7 @@ export type BIZ_CD_TYPE = { prntLwpoCd: null }; +// 시도 데이터 조회 export const fetchCtpv = async (set: (state: any) => void) => { const url = `/geoserver/hasudo/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=hasudo:tb_ms_ctpv&outputFormat=application/json&propertyName=mctpv_korn_nm,mctpv_cd`; const res = await fetch(url).then(res => res.json()); @@ -75,6 +76,7 @@ export const fetchCtpv = async (set: (state: any) => void) => { set({ ctpv: list }); }; +// 시군구 데이터 조회 export const fetchSgg = async (set: (state: any) => void) => { const url = `/geoserver/hasudo/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=hasudo:tb_ms_sgg&outputFormat=application/json&propertyName=sgg_cd,sgg_korn_nm`; const res = await fetch(url).then(res => res.json()); diff --git a/apps/sn/app/store/useReportTabStore.ts b/apps/sn/app/store/useReportTabStore.ts index 1c72db6ee..bb2cd875a 100644 --- a/apps/sn/app/store/useReportTabStore.ts +++ b/apps/sn/app/store/useReportTabStore.ts @@ -10,9 +10,10 @@ * - 데이터 변경 감지 및 불필요한 재렌더링 방지 * * 🔗 사용 API - * - 보고서 분류 조회: GET /api/v1/dc/clsf (sewerage-service) + * - DC 트리 데이터 조회: GET /dc-service//api/v1/dc/clsf + * - DC 파일 목록 조회: GET /dc-service//api/v1/dc/file */ -import useReportTab, { type Folder, type ReportDataFile } from '../(map-layout)/map/searchModal/useReportTab'; +import { type Folder, type ReportDataFile } from '../(map-layout)/map/searchModal/useReportTab'; import { create } from 'zustand'; import { getDcData } from '@/components/lib/api'; @@ -53,6 +54,7 @@ export const useReportTabStore = create((set, get) => ({ const result = await getDcData(`/api/v1/dc/file${queryString ? `?${queryString}` : ''}`); return result; }; + const { dcFiles } = get(); try { const result = await getDcFiles(clsfSystmNm);