diff --git a/apps/sn/app/(map-layout)/map/components/common/table.ts b/apps/sn/app/(map-layout)/map/components/common/table.ts index c8c9deaed..31f9d6dfc 100644 --- a/apps/sn/app/(map-layout)/map/components/common/table.ts +++ b/apps/sn/app/(map-layout)/map/components/common/table.ts @@ -392,6 +392,8 @@ export const MsSwageMhlCol2 = [ // { id: 'geom', title: 'geometry' }, // { id: 'ftreSmbolCd', title: '지형지물부호코드' }, { id: 'fcltMngNo', title: '시설관리번호' }, + { id: 'ctpvNm', title: '시도' }, + { id: 'sggNm', title: '시군구' }, // { id: 'pbadmsEmdCd', title: '행정읍면동코드' }, // { id: 'mapshtNo', title: '도엽번호' }, // { id: 'mngInstCd', title: '관리기관코드' }, @@ -500,12 +502,14 @@ export const ExclnSewagePumpCol2 = [ // { id: 'geom', title: 'geometry' }, // { id: 'ftreSmbolCd', title: '지형지물부호코드' }, { id: 'fcltMngNo', title: '시설관리번호' }, + { id: 'ctpvNm', title: '시도' }, + { id: 'sggNm', title: '시군구' }, // { id: 'pbadmsEmdCd', title: '행정읍면동코드' }, // { id: 'mapshtNo', title: '도엽번호' }, // { id: 'mngInstCd', title: '관리기관코드' }, - { id: 'instlYmd', title: '설치일자' }, { id: 'swagePmstnNm', title: '하수펌프장명' }, - { id: 'pllnArea', title: '부지면적(m²)' }, + { id: 'instlYmd', title: '설치일자' }, + // { id: 'pllnArea', title: '부지면적(m²)' }, // { id: 'opngSttsCd', title: '개통상태코드' }, // { id: 'usgCd', title: '용도코드' }, { id: 'dailyPrcsCpct', title: '일일처리용량(㎥)' }, @@ -543,11 +547,13 @@ export const DrtwSewagePumpCol2 = [ // { id: 'ftreSmbolCd', title: '지형지물부호코드' }, { id: 'fcltMngNo', title: '시설관리번호' }, // { id: 'pbadmsEmdCd', title: '행정읍면동코드' }, - { id: 'mapshtNo', title: '도엽번호' }, + // { id: 'mapshtNo', title: '도엽번호' }, + { id: 'ctpvNm', title: '시도' }, + { id: 'sggNm', title: '시군구' }, // { id: 'mngInstCd', title: '관리기관코드' }, - { id: 'instlYmd', title: '설치일자' }, { id: 'swagePmstnNm', title: '하수펌프장명' }, - { id: 'pllnArea', title: '부지면적(m²)' }, + { id: 'instlYmd', title: '설치일자' }, + // { id: 'pllnArea', title: '부지면적(m²)' }, // { id: 'opngSttsCd', title: '개통상태코드' }, // { id: 'usgCd', title: '용도코드' }, { id: 'dailyPrcsCpct', title: '일일처리용량(㎥)' }, @@ -589,6 +595,8 @@ export const stofcbrCol2 = [ { id: 'fcltMngNo', title: '시설관리번호' }, // { id: 'pbadmsEmdCd', title: '행정읍면동코드' }, { id: 'mapshtNo', title: '도엽번호' }, + { id: 'ctpvNm', title: '시도' }, + { id: 'sggNm', title: '시군구' }, // { id: 'mngInstCd', title: '관리기관코드' }, { id: 'instlYmd', title: '설치일자' }, // { id: 'fcltyShpCd', title: '시설물형태코드' }, diff --git a/apps/sn/app/(map-layout)/map/searchModal/basicTab.tsx b/apps/sn/app/(map-layout)/map/searchModal/basicTab.tsx index 7a783f139..70cd18884 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/basicTab.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/basicTab.tsx @@ -7,6 +7,7 @@ import SwagePrcsFclt from './swagePrcsFclt'; import SwagePrcsZone from './swagePrcsZone'; import SwageMhl from './swageMhl'; import SwagePmstn from './swagePmstn'; +import Stofcbr from './stofcbr'; // 기본정보 '구분' 선택 목록 export const BASIC_TYPES = [ @@ -156,10 +157,14 @@ const BasicTab: React.FC = ({ var1={var1} start1={start1} end1={end1} + city={city} + sgg={sgg} yearFilter={yearFilter} setVar1={setVar1} setStart1={setStart1} setEnd1={setEnd1} + setCity={setCity} + setSgg={setSgg} setYearFilter={setYearFilter} handleSearch={handleSearch} /> @@ -171,33 +176,30 @@ const BasicTab: React.FC = ({ start2={start2} end1={end1} end2={end2} + city={city} + sgg={sgg} yearFilter={yearFilter} setStart1={setStart1} setStart2={setStart2} setEnd1={setEnd1} setEnd2={setEnd2} + setCity={setCity} + setSgg={setSgg} setYearFilter={setYearFilter} handleSearch={handleSearch} /> )} {/* 분기처리: 우수토실 */} {basicType === "tb_ms_stofcbr" && ( -
- {/* 설치년도 */} -
- setYearFilter({ ...yearFilter, start: range.start, end: range.end })} - startLabel="설치년도" - endLabel="" - /> - {/* 조회 버튼 */} -
- -
-
-
+ )} ); diff --git a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx index d740505ce..7b813c48a 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx @@ -305,8 +305,8 @@ const SearchModal: React.FC = ({ // 추후 작성 예정 if (var1) cqlFilters.push(`usg_cd='${var1}'`); if (var2) cqlFilters.push(`mqlt_cd='${var2}'`); - if (ctpvCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${ctpvCd.trim()}%'`); if (ctpvCd !== '0' && sggCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${sggCd}%'`); + else if (ctpvCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${ctpvCd.trim()}%'`); // 설치년도 범위 const startDate = getDateString( yearFilter.start, @@ -383,6 +383,9 @@ const SearchModal: React.FC = ({ // 하수맨홀용 CQL 필터 생성 const mhCqlFilters = () => { const cqlFilters: string[] = []; + // 시도, 시군구 + if (ctpvCd !== '0' && sggCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${sggCd}%'`); + else if (ctpvCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${ctpvCd.trim()}%'`); // // 설치년도 범위 const startDate = getDateString( yearFilter.start, @@ -410,6 +413,9 @@ const SearchModal: React.FC = ({ // 하수펌프장용 CQL 필터 생성 const psmtnCqlFilters = () => { const cqlFilters: string[] = []; + // 시도, 시군구 + if (ctpvCd !== '0' && sggCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${sggCd}%'`); + else if (ctpvCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${ctpvCd.trim()}%'`); // 설치년도 범위 const startDate = getDateString( yearFilter.start, @@ -442,6 +448,9 @@ const SearchModal: React.FC = ({ // 우수토실용 CQL 필터 생성 const otflCqlFilters = () => { const cqlFilters: string[] = []; + // 시도, 시군구 + if (ctpvCd !== '0' && sggCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${sggCd}%'`); + else if (ctpvCd !== '0') cqlFilters.push(`pbadms_emd_cd LIKE '${ctpvCd.trim()}%'`); // 설치년도 범위 const startDate = getDateString( yearFilter.start, @@ -711,10 +720,10 @@ const SearchModal: React.FC = ({ open={open} onOpenChange={onOpenChange} bodyClass={` - h-[100vh] - w-[60vw] - max-w-[100vw] - max-h-[100vh] + h-[100dvh] + w-[60dvw] + max-w-[100dvw] + max-h-[100dvh] overflow-hidden z-[101] `} diff --git a/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx b/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx index 700d60cf0..2e4fd26f0 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/stofcbr.tsx @@ -3,32 +3,53 @@ import { YearRangeSelectBox } from '@/components/ui/YearRangeSelectBox'; import { Button } from '@common/components'; import React from 'react'; +import { CtpvSggPrcsFcltSelectBox } from '@/components/ui/ctpvSggPrcsFcltSelectBox'; interface StofcbrProps { + city: string; + sgg: string; yearFilter: { start: string; end: string }; + setCity: (value: string) => void; + setSgg: (value: string) => void; setYearFilter: (filter: { start: string; end: string }) => void; handleSearch: () => void; } const Stofcbr: React.FC = ({ + city, + sgg, yearFilter, + setCity, + setSgg, setYearFilter, handleSearch, }) => { return (
- {/* 설치년도 */}
- setYearFilter({ ...yearFilter, start: range.start, end: range.end })} - startLabel="설치년도" - endLabel="" + {/* 시도, 시군구 */} + { + setCity(sidoId); + setSgg("0"); + }} + onSigunguChange={setSgg} /> - {/* 조회 버튼 */} -
- + {/* 설치년도 */} +
+ setYearFilter({ ...yearFilter, start: range.start, end: range.end })} + startLabel="설치년도" + endLabel="" + /> + {/* 조회 버튼 */} +
+ +
diff --git a/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx b/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx index 0951ceb2f..6face5b38 100644 --- a/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx +++ b/apps/sn/app/(map-layout)/map/searchModal/swageMhl.tsx @@ -5,16 +5,21 @@ import { Button, Input, Label } from '@common/components'; import React from 'react'; import { MS_SWAGE_MHL_USE_CODES } from '../components/common/table'; import { SelectBox } from '@common/business_components/ui'; +import { CtpvSggPrcsFcltSelectBox } from '@/components/ui/ctpvSggPrcsFcltSelectBox'; interface SwageMhlProps { var1: string; start1: string; end1: string; + city: string; + sgg: string; yearFilter: { start: string; end: string }; setVar1: (value: string) => void; setStart1: (value: string) => void; setEnd1: (value: string) => void; + setCity: (value: string) => void; + setSgg: (value: string) => void; setYearFilter: (filter: { start: string; end: string }) => void; handleSearch: () => void; } @@ -23,10 +28,14 @@ const SwageMhl: React.FC = ({ var1, start1, end1, + city, + sgg, yearFilter, setVar1, setStart1, setEnd1, + setCity, + setSgg, setYearFilter, handleSearch, }) => { @@ -34,6 +43,15 @@ const SwageMhl: React.FC = ({ return (
+ { + setCity(sidoId); + setSgg("0"); + }} + onSigunguChange={setSgg} + /> {/* 설치년도 */} void; setStart2: (value: string) => void; setEnd1: (value: string) => void; setEnd2: (value: string) => void; + setCity: (value: string) => void; + setSgg: (value: string) => void; setYearFilter: (filter: { start: string; end: string }) => void; handleSearch: () => void; } @@ -23,11 +28,15 @@ const SwagePmstn: React.FC = ({ start2, end1, end2, + city, + sgg, yearFilter, setStart1, setStart2, setEnd1, setEnd2, + setCity, + setSgg, setYearFilter, handleSearch, }) => { @@ -35,6 +44,16 @@ const SwagePmstn: React.FC = ({ return (
+ {/* 시도, 시군구 */} + { + setCity(sidoId); + setSgg("0"); + }} + onSigunguChange={setSgg} + /> {/* 설치년도 */} = ({ startLabel="설치년도" endLabel="" /> - {/* 일일처리용량 - 오수맨홀 */} + {/* 일일처리용량 */} = ({ } }} /> - {/* 양수능력 - 우수맨홀 */} - + {/* 양수능력 */} + {/* = ({ handleSearch(); } }} - /> + /> */} {/* 조회 버튼 */}