diff --git a/apps/fo/app/pages/(with-layout)/dashboard/facilityInfo/page.tsx b/apps/fo/app/pages/(with-layout)/dashboard/facilityInfo/page.tsx
index dd689f2fa..e65fe3cc8 100644
--- a/apps/fo/app/pages/(with-layout)/dashboard/facilityInfo/page.tsx
+++ b/apps/fo/app/pages/(with-layout)/dashboard/facilityInfo/page.tsx
@@ -271,7 +271,7 @@ export default function ProcessFacilitySearch({searchYear = '', fcltyList = []}:
(head.id === 'flowRate' && index === 0)?{el[head.id]}:
(head.id === 'flowRate' && index === 5)?{el[head.id]}:
(head.id === 'flowRate' && index === 11)?{el[head.id]}:
- (head.id === 'groundWaterAvg'||head.id === 'groundWaterSummer'||head.id === 'groundWaterWinter')&&(index === 0)?{el[head.id]}:
+ (head.id === 'groundWaterAvg'||head.id === 'groundWaterSummer'||head.id === 'groundWaterWinter')&&(index === 0)?{Number.isNaN(el[head.id]) ? "" : el[head.id]}:
(head.id === 'groundWaterAvg'||head.id === 'groundWaterSummer'||head.id === 'groundWaterWinter')&&(index === 7)?{el[head.id]}:
(head.id === 'rdi'&&index === 0)?{el[head.id]}:
(head.id === 'rdi'&&index === 7)?{el[head.id]}:
diff --git a/apps/fo/app/store/dashboard/index.tsx b/apps/fo/app/store/dashboard/index.tsx
index 8f3b4dd8a..398f82c0e 100644
--- a/apps/fo/app/store/dashboard/index.tsx
+++ b/apps/fo/app/store/dashboard/index.tsx
@@ -1712,7 +1712,7 @@ export const dashBoardReducer = (
// RDII 추정 = 하절기(6~8월) 중 최저 유입 BOD일때 유입유량 x ((동절기 청천시 유입BOD - 하절기(6~8월) 중 최저 유입BOD) / (동절기 청천시 유입BOD))
// const resp = await fetchMainGraph(searchYear, fcltyCd);
const resp = mainGraphData;
- if (resp && resp.data && resp.data.wqltObjs) {
+ if (resp && resp.data && resp.data.wqltObjs && resp.data.wqltObjs.length > 0) {
const wqltData = resp.data.wqltObjs;
const wqltDataTot = CalcRainEffect(clone(wqltData));
const wqltDataSunny = CalcRainEffect(clone(wqltData), 'SUNNY');
@@ -1800,10 +1800,11 @@ export const dashBoardReducer = (
const rtnData = await calcWaterQltyData(operationalStatusList, searchYear, fcltyCd, mainGraphData); // 수질 데이터 청천시, 강우시 재계산
+ let tpFctYn = 'N';
+ if (mainGraphData.data.wqltObjs && mainGraphData.data.wqltObjs.length > 0)
+ tpFctYn = mainGraphData.data.wqltObjs?.[0].tpFctYn;
// 총인설비가 없을 경우 제외
- console.log('총인시설 여부 : ', mainGraphData.data.wqltObjs?.[0].tpFctYn);
-
- const tpFctYn = mainGraphData.data.wqltObjs?.[0].tpFctYn;
+ console.log('총인시설 여부 : ', tpFctYn);
// console.log('rtnData : ', rtnData);
if (tpFctYn !== 'Y') {
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 081e13d1f..2aa3d0ac5 100644
--- a/apps/sn/app/(map-layout)/map/components/common/table.ts
+++ b/apps/sn/app/(map-layout)/map/components/common/table.ts
@@ -27,7 +27,8 @@ export const MsSwagePplCol = [
// { id: 'ftre_smbol_cd', title: '지형지물부호코드' },
// { id: 'lyrTypeNm', title: '레이어타입명' },
]
-export const MsSwagePplCol2 = [
+// 하수관로 searchModal 기본정보tab
+export const MsSwagePplCol2 = [
{ id: 'rowNumber', title: '일련\n번호' },
{ id: 'fcltMngNo', title: '시설\n관리번호' },
{ id: 'instMngNo', title: '기관\n관리번호' },
@@ -44,13 +45,13 @@ export const MsSwagePplCol2 = [
{ id: 'tmptMhlMngNo', title: '시점맨홀\n관리번호' },
{ id: 'scendDpth', title: '종점깊이\n(m)' },
{ id: 'scendMhlMngNo', title: '종점맨홀\n관리번호' },
- // { id: 'vrtcLen', title: '세로길이\n(m)' },
- // { id: 'wdthLen', title: '가로길이\n(m)' },
- // { id: 'fcltyShpCd', title: '시설물형태코드' },
+ { id: 'vrtcLen', title: '세로길이\n(m)' },
+ { id: 'wdthLen', title: '가로길이\n(m)' },
+ { id: 'fcltyShpCd', title: '시설물형태코드' },
// { id: 'fid', title: 'FID' },
// { id: 'ftreSmbolCd', title: '지형지물부호코드' },
// { id: 'mngInstCd', title: '관리기관코드' },
- // { id: 'mqltCd', title: '재질코드' },
+ { id: 'mqltCd', title: '재질코드' },
// { id: 'pbadmsEmdCd', title: '행정읍면동코드' },
// { id: 'usgCd', title: '용도코드' },
// { id: 'lyrTypeNm', title: '레이어타입명' },
@@ -69,6 +70,10 @@ export const MsSwagePplExcelCol = {
'tmptMhlMngNo': '시점맨홀 관리번호',
'scendDpth': '종점 깊이(m)',
'scendMhlMngNo': '종점맨홀 관리번호',
+ 'vrtcLen': '세로길이(m)',
+ 'wdthLen': '가로길이(m)',
+ 'fcltyShpCd': '시설물형태코드',
+ 'mqltCd': '재질코드',
};
// 하수관로 용도 코드표
export const MS_SWAGE_PPL_USE_CODES = [
@@ -275,7 +280,80 @@ export const MS_SWAGE_PPL_CODES = [
{ val: "MOP977", text: "전주용입상관" },
{ val: "MOP978", text: "MD관" },
];
+// 하수관로 'fcltyShpCd' '시설물형태코드'
+export const MS_SWAGE_PPL_SHAPE = [
+ { val: "FOR000 ", text: "미분류" },
+ { val: "FOR001 ", text: "원형" },
+ { val: "FOR002 ", text: "원추형" },
+ { val: "FOR003 ", text: "원통형" },
+ { val: "FOR004 ", text: "구형" },
+ { val: "FOR005 ", text: "타원형" },
+ { val: "FOR006 ", text: "난원" },
+ { val: "FOR007 ", text: "반원형" },
+ { val: "FOR010 ", text: "피라미드형" },
+ { val: "FOR011 ", text: "사면체형" },
+ { val: "FOR012 ", text: "기둥,축" },
+ { val: "FOR013 ", text: "돛대,활대처럼 둥글고 긴 원재" },
+ { val: "FOR014 ", text: "아치형" },
+ { val: "FOR015 ", text: "다중아치형" },
+ { val: "FOR016 ", text: "돔형" },
+ { val: "FOR017 ", text: "고형체형" },
+
+ { val: "FOR020 ", text: "사각형" },
+ { val: "FOR021 ", text: "평방형" },
+ { val: "FOR022 ", text: "다이아몬드형" },
+ { val: "FOR023 ", text: "사다리꼴" },
+ { val: "FOR024 ", text: "각형" },
+ { val: "FOR025 ", text: "마제형관" },
+ { val: "FOR026 ", text: "태형" },
+
+ { val: "FOR030 ", text: "A형" },
+ { val: "FOR031 ", text: "H형" },
+ { val: "FOR032 ", text: "I형" },
+ { val: "FOR033 ", text: "Y형" },
+ { val: "FOR034 ", text: "T형" },
+
+ { val: "FOR050 ", text: "불규칙한 형태" },
+
+ { val: "FOR900 ", text: "계란형" },
+ { val: "FOR901 ", text: "구(사각)형" },
+ { val: "FOR902 ", text: "높이조절철개형" },
+ { val: "FOR903 ", text: "박스형(RCB)" },
+ { val: "FOR904 ", text: "반월개거" },
+ { val: "FOR905 ", text: "반월개거(측구)" },
+ { val: "FOR906 ", text: "벽돌조" },
+ { val: "FOR907 ", text: "사각철판" },
+ { val: "FOR908 ", text: "석축개거" },
+ { val: "FOR909 ", text: "석축개거(측구)" },
+ { val: "FOR910 ", text: "승수로" },
+ { val: "FOR911 ", text: "옹벽개거" },
+ { val: "FOR912 ", text: "옹벽개거(측구)" },
+ { val: "FOR913 ", text: "이단" },
+ { val: "FOR914 ", text: "이중침전형" },
+ { val: "FOR915 ", text: "자연개거" },
+ { val: "FOR916 ", text: "자연개거(측구)" },
+ { val: "FOR917 ", text: "조립식" },
+ { val: "FOR918 ", text: "지상관" },
+ { val: "FOR919 ", text: "지상단구" },
+ { val: "FOR920 ", text: "지상쌍구" },
+ { val: "FOR921 ", text: "지하단구" },
+ { val: "FOR922 ", text: "지하쌍구" },
+ { val: "FOR923 ", text: "직사각형" },
+ { val: "FOR924 ", text: "타설식" },
+ { val: "FOR925 ", text: "토류형" },
+ { val: "FOR926 ", text: "흄관원형" },
+ { val: "FOR927 ", text: "L형측구" },
+ { val: "FOR928 ", text: "LO형측구" },
+ { val: "FOR929 ", text: "LU형측구" },
+ { val: "FOR930 ", text: "PVC이중벽관" },
+ { val: "FOR931 ", text: "RCB 맨홀" },
+ { val: "FOR932 ", text: "U형" },
+ { val: "FOR933 ", text: "U형측구(미복개)" },
+ { val: "FOR934 ", text: "U형측구(복개)" },
+
+ { val: "FOR999 ", text: "기타" }
+];
// 하수처리시설
export const SwtrmtFcltCol = [
{ id: 'swtrmt_fclt_nm', title: '하수처리시설명' },
diff --git a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx
index 0906ce0ca..d179652f3 100644
--- a/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx
+++ b/apps/sn/app/(map-layout)/map/searchModal/searchModal.tsx
@@ -125,32 +125,30 @@ const SearchModal: React.FC = () => {
{/* 📋 결과 리스트 */}
{/* 기본정보 탭 */}
{activeTab === 'basic' && (
-
- {/*
*/}
+
-
{
- const label = BASIC_TYPES.find((type) => type.val === basicType)?.text
- return (<>{label} 조회 결과 ({tableCount.toLocaleString('ko-KR')})건>);
- })()
- }
- tableData={tableData}
- headlist={dynamicHeadlist}
- pageSize={10}
- total={tableCount}
- cellClick={handleBasicCellClick}
- onPageChange={setCurPage}
- resetPageNo={isResetPage}
- resetSelection={isResetSelection}
- curPage={curPage}
- headButton={
-
-
-
-
- }
- />
- {/* */}
+
{
+ const label = BASIC_TYPES.find((type) => type.val === basicType)?.text
+ return (<>{label} 조회 결과 ({tableCount.toLocaleString('ko-KR')})건>);
+ })()
+ }
+ tableData={tableData}
+ headlist={dynamicHeadlist}
+ pageSize={10}
+ total={tableCount}
+ cellClick={handleBasicCellClick}
+ onPageChange={setCurPage}
+ resetPageNo={isResetPage}
+ resetSelection={isResetSelection}
+ curPage={curPage}
+ headButton={
+
+
+
+
+ }
+ />
)}
{/* 유지관리 정보 탭 */}
diff --git a/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts b/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts
index 80d3deb50..9184286ed 100644
--- a/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts
+++ b/apps/sn/app/(map-layout)/map/searchModal/useBasicTab.ts
@@ -14,7 +14,7 @@
*/
import { downloadExcelWithKoreanHeaders } from '@common/business_components/ui';
import {
- MS_SWAGE_PPL_USE_CODES, MS_SWAGE_MHL_CODES, MS_SWAGE_MHL_USE_CODES,
+ MS_SWAGE_PPL_USE_CODES, MS_SWAGE_PPL_CODES, MS_SWAGE_PPL_SHAPE, MS_SWAGE_MHL_CODES, MS_SWAGE_MHL_USE_CODES,
MsSwagePplExcelCol, SwtrmtFcltExcelCol, SwtrmtPrcsZoneExcelCol, MsSwageMhlExcelCol, ExclnSewagePumpExcelCol, stofcbrExcelCol
} from '../components/common/table';
import { getData } from "@/components/lib/api";
@@ -46,6 +46,7 @@ export default function useBasicTab() {
} = useSearchModalStore();
const { ctpv, sgg } = useStore();
+
const fetchBasicFilteredData = async () => {
let cqlFilters: string[] = [];
const queryParams = new URLSearchParams({
@@ -79,8 +80,15 @@ export default function useBasicTab() {
if (!sggCd && code) sggCd = code.slice(0, 5);
}
- const matchedMhlCode = MS_SWAGE_MHL_CODES.find(code => code.val === item?.mqltCd?.trim());
- const matchedMhlUsgCode = MS_SWAGE_MHL_USE_CODES.find(code => code.val === item?.usgCd);
+ const matchedMqltCode = basicType === 'tb_ms_swage_ppl'
+ ? MS_SWAGE_PPL_CODES.find(code => code.val === item?.mqltCd?.trim()) // 하수관로 재질
+ : basicType === 'tb_ms_swage_mhl'
+ ? MS_SWAGE_MHL_CODES.find(code => code.val === item?.mqltCd?.trim()) // 맨홀 재질
+ : undefined;
+ const matchedMhlUsgCode = MS_SWAGE_MHL_USE_CODES.find(code => code.val === item?.usgCd); // 맨홀 용도
+ const matchedPplShpCode = MS_SWAGE_PPL_SHAPE.find(code => code.val === item?.fcltyShpCd); // 하수관로 시설물형태코드
+
+
const ctpvNm = ctpv.find(code => code.val.trim() === ctpvCd)?.text || item?.ctpvNm;
const sggNm = sgg.find(code => code.val.trim() === sggCd)?.text || item?.sggNm;
const usgCdObj = MS_SWAGE_PPL_USE_CODES.find(code => code.val === item?.usgCd?.trim());
@@ -90,15 +98,17 @@ export default function useBasicTab() {
...formattedItem,
rowNumber: (curPage - 1) * 10 + index + 1, // 1부터 시작하는 일련번호 추가
scsYn: item.scsYn === null || item.scsYn === undefined ? 'N' : item?.scsYn, // scsYn이 null이면 'N'으로 변경
- mqltCd: matchedMhlCode ? matchedMhlCode.text : item?.mqltCd,
+ mqltCd: matchedMqltCode ? matchedMqltCode.text : item?.mqltCd,
usgCd: matchedMhlUsgCode ? matchedMhlUsgCode.text : (usgCdObj ? usgCdObj.text : item?.usgCd),
ctpvNm: ctpvNm ?? '-',
sggNm: sggNm ?? '-',
swtrmt_zone_nm: item.swtrmtZoneNm || item.swtrmt_zone_nm || '-',
+ fcltyShpCd: matchedPplShpCode? matchedPplShpCode.text : item?.fcltyShpCd,
};
});
setTableData(dataWithRowNumber);
+ // console.log(tableData);
setTableCount(res.count || []);
};
@@ -150,7 +160,7 @@ export default function useBasicTab() {
// 하수관로
cqlFilters = swagePplCqlFilters()
headerMapping = MsSwagePplExcelCol;
- headerRange = "A1:M1";
+ headerRange = "A1:Q1";
break;
}
case 'tb_il_swage_prcs_fclt': {
@@ -196,6 +206,8 @@ export default function useBasicTab() {
const mhlUsgCdMap = new Map(MS_SWAGE_MHL_USE_CODES.map(code => [code.val?.trim(), code.text]));
const pplUsgCdMap = new Map(MS_SWAGE_PPL_USE_CODES.map(code => [code.val?.trim(), code.text]));
+ const pplMqltCdMap = new Map(MS_SWAGE_PPL_CODES.map(code => [code.val?.trim(), code.text]));
+ const pplShpCdMap = new Map(MS_SWAGE_PPL_SHAPE.map(code => [code.val?.trim(), code.text])); // 관로 시설물형태코드
const ctpvMap = new Map(ctpv.map(code => [code.val?.trim(), code.text]));
const sggMap = new Map(sgg.map(code => [code.val?.trim(), code.text]));
@@ -232,6 +244,10 @@ export default function useBasicTab() {
tmptMhlMngNo: formattedItem.tmptMhlMngNo ?? item.tmptMhlMngNo ?? '-',
scendDpth: formattedItem.scendDpth ?? item.scendDpth ?? '-',
scendMhlMngNo: formattedItem.scendMhlMngNo ?? item.scendMhlMngNo ?? '-',
+ vrtcLen: formattedItem.vrtcLen ?? item.vrtcLen ?? '-',
+ wdthLen: formattedItem.wdthLen ?? item.wdthLen ?? '-',
+ fcltyShpCd: pplShpCdMap.get(item?.fcltyShpCd?.trim()) || item.fcltyShpCd || formattedItem.fcltyShpCd || '-',
+ mqltCd: pplMqltCdMap.get(item?.mqltCd?.trim()) || item.mqltCd || formattedItem.mqltCd || '-',
};
}
case 'tb_il_swage_prcs_fclt': {
@@ -329,4 +345,4 @@ export default function useBasicTab() {
return { fetchBasicFilteredData, handleBasicCellClick, basicExcelDownload };
-};
\ No newline at end of file
+};
diff --git a/packages/common/business_components/src/ui/map/lib/gis.core.js b/packages/common/business_components/src/ui/map/lib/gis.core.js
index e8e05f037..2e97e8af5 100644
--- a/packages/common/business_components/src/ui/map/lib/gis.core.js
+++ b/packages/common/business_components/src/ui/map/lib/gis.core.js
@@ -172,7 +172,7 @@ GisApp.core.prototype = {
wmtsSource.setTileUrlFunction((tileCoord) => {
const [z, x, y] = tileCoord;
const matrix = matrixIds[z];
- console.log(GisApp.NGII_WMTS_URL.replace("{z}", matrix).replace("{x}", x).replace("{y}", y));
+ // console.log(GisApp.NGII_WMTS_URL.replace("{z}", matrix).replace("{x}", x).replace("{y}", y));
return GisApp.NGII_WMTS_URL
.replace("{z}", matrix)
.replace("{x}", x)