공통코드 작업 완료/ 지도점검 등록/현황 페이지 수정

This commit is contained in:
leedj312
2025-09-12 17:29:34 +09:00
parent 344e77eafa
commit 92f12c2104
15 changed files with 576 additions and 293 deletions
+378 -189
View File
@@ -1,8 +1,10 @@
import { fetchType, getFetchWithCount } from "@/components/lib/api";
import type { SelectDataType } from "@common/business_components";
export const numSize = 12;
export const txtSize = 20;
export const lwCds: Record<string, SelectDataType[]> = {};
export const yn: SelectDataType[] = [
{ val: "Y", text: "Y" },
{ val: "N", text: "N" },
@@ -14,29 +16,35 @@ export const bdstFilterYn: SelectDataType[] = [
{ val: "F", text: "미가동" },
];
// 최우수(그린1)/우수(그린2), 우량(그린3), 일반(그린4), 확인불가 체크
export const bdstGrntchClass: SelectDataType[] = [
{ val: "최우수(그린1)", text: "최우수(그린1)" },
{ val: "우수(그린2)", text: "우수(그린2)" },
{ val: "우량(그린3)", text: "우량(그린3)" },
{ val: "일반(그린4)", text: "일반(그린4)" },
{ val: "확인불가", text: "확인불가" },
];
//export const bdstGrntchClass: SelectDataType[] = lwCds['bdstGrntchClass']??[]
// [
// { val: "최우수(그린1)", text: "최우수(그린1)" },
// { val: "우수(그린2)", text: "우수(그린2)" },
// { val: "우량(그린3)", text: "우량(그린3)" },
// { val: "일반(그린4)", text: "일반(그린4)" },
// { val: "확인불가", text: "확인불가" },
// ];
export const bdstIncenYn: SelectDataType[] = [
{ val: "Y", text: "Y" },
{ val: "N", text: "N" },
{ val: "D", text: "확인불가" },
];
//처리장연계/자체+연계/자체처리
export const erctUswtrPrcsMeth: SelectDataType[] = [
{ val: "처리장연계", text: "처리장연계" },
{ val: "자체+연계", text: "자체+연계" },
{ val: "자체처리", text: "자체처리" },
];
//export const erctUswtrPrcsMeth: SelectDataType[] = lwCds['erctUswtrPrcsMeth']??[]
export const rusePrcsMthdCd: SelectDataType[] = [
{ val: "물리학적처리", text: "물리학적처리" },
{ val: "생물학적처리", text: "생물학적처리" },
];
// [
// { val: "처리장연계", text: "처리장연계" },
// { val: "자체+연계", text: "자체+연계" },
// { val: "자체처리", text: "자체처리" },
// ];
// export const rusePrcsMthdCd: SelectDataType[] = lwCds['rusePrcsMthdCd']??[]
// [
// { val: "물리학적처리", text: "물리학적처리" },
// { val: "생물학적처리", text: "생물학적처리" },
// ];
export const ruseSeCd: SelectDataType[] = [
{ val: "신규", text: "신규" },
@@ -46,101 +54,107 @@ export const ruseSeCd: SelectDataType[] = [
{ val: "개량", text: "개량" },
];
export const ruseBizMthdCd: SelectDataType[] = [
{ val: "재정", text: "재정" },
{ val: "민간투자", text: "민간투자" },
{ val: "자체", text: "자체" },
];
// export const ruseBizMthdCd: SelectDataType[] = [
// { val: "재정", text: "재정" },
// { val: "민간투자", text: "민간투자" },
// { val: "자체", text: "자체" },
// ];
// 공통 건축물 용도
export const bdstUsgCd: SelectDataType[] = [
{ val: "-1", text: "확인불가" },
{ val: "1", text: "운동장" },
{ val: "2", text: "체육관" },
{ val: "3", text: "공공업무시설" },
{ val: "4", text: "공공기관의청사" },
{ val: "5", text: "아파트" },
{ val: "6", text: "연립주택" },
{ val: "7", text: "다세대주택" },
{ val: "8", text: "기숙사" },
{ val: "9", text: "초등학교" },
{ val: "10", text: "중학교" },
{ val: "11", text: "고등학교" },
{ val: "12", text: "전문대학" },
{ val: "13", text: "대학및대학교" },
{ val: "14", text: "골프장" },
{ val: "15", text: "대규모점포" },
{ val: "16", text: "기타" },
{ val: "17", text: "숙박업" },
{ val: "18", text: "목욕장업" },
{ val: "19", text: "공장" },
{ val: "20", text: "발전시설" },
{ val: "21", text: "관광단지개발사업" },
{ val: "22", text: "도시개발사업" },
{ val: "23", text: "산업단지개발사업" },
{ val: "24", text: "택지개발사업" },
{ val: "25", text: "대규모점포(대형마트)" },
{ val: "26", text: "대규모점포(전문점)" },
{ val: "27", text: "대규모점포(백화점)" },
{ val: "28", text: "대규모점포(쇼핑센터)" },
{ val: "29", text: "대규모점포(복합쇼핑몰)" },
{ val: "30", text: "물류시설" },
{ val: "31", text: "운수시설(여객자동차터미널)" },
{ val: "32", text: "운수시설(철도시설)" },
{ val: "33", text: "운수시설(공항시설)" },
{ val: "34", text: "운수시설(항만시설)" },
{ val: "35", text: "업무시설(공공업무시설)" },
{ val: "36", text: "업무시설(금융업소)" },
{ val: "37", text: "업무시설(사무소)" },
{ val: "38", text: "업무시설(결혼상담소 등 소개업소)" },
{ val: "39", text: "업무시설(출판사)" },
{ val: "40", text: "업무시설(신문사)" },
{ val: "41", text: "업무시설(오피스텔)" },
{ val: "42", text: "교정시설" },
{ val: "43", text: "방송국" },
{ val: "44", text: "전신전화국" },
{ val: "45", text: "기타" },
];
export const bdstUsgCd: SelectDataType[] =lwCds?.bdstUsgCd?.concat(lwCds?.rswtBdstType??[])??[]
export const rswtBdstType: SelectDataType[] = [
{ val: "17", text: "숙박업" },
{ val: "18", text: "목욕장업" },
{ val: "19", text: "공장" },
{ val: "20", text: "발전시설" },
{ val: "21", text: "관광단지개발사업" },
{ val: "22", text: "도시개발사업" },
{ val: "23", text: "산업단지개발사업" },
{ val: "24", text: "택지개발사업" },
{ val: "25", text: "대규모점포(대형마트)" },
{ val: "26", text: "대규모점포(전문점)" },
{ val: "27", text: "대규모점포(백화점)" },
{ val: "28", text: "대규모점포(쇼핑센터)" },
{ val: "29", text: "대규모점포(복합쇼핑몰)" },
{ val: "30", text: "물류시설" },
{ val: "31", text: "운수시설(여객자동차터미널)" },
{ val: "32", text: "운수시설(철도시설)" },
{ val: "33", text: "운수시설(공항시설)" },
{ val: "34", text: "운수시설(항만시설)" },
{ val: "35", text: "업무시설(공공업무시설)" },
{ val: "36", text: "업무시설(금융업소)" },
{ val: "37", text: "업무시설(사무소)" },
{ val: "38", text: "업무시설(결혼상담소 등 소개업소)" },
{ val: "39", text: "업무시설(출판사)" },
{ val: "40", text: "업무시설(신문사)" },
{ val: "41", text: "업무시설(오피스텔)" },
{ val: "42", text: "교정시설" },
{ val: "43", text: "방송국" },
{ val: "44", text: "전신전화국" },
{ val: "45", text: "기타" },
];
// [
// { val: "-1", text: "확인불가" },
// { val: "1", text: "운동장" },
// { val: "2", text: "체육관" },
// { val: "3", text: "공공업무시설" },
// { val: "4", text: "공공기관의청사" },
// { val: "5", text: "아파트" },
// { val: "6", text: "연립주택" },
// { val: "7", text: "다세대주택" },
// { val: "8", text: "기숙사" },
// { val: "9", text: "초등학교" },
// { val: "10", text: "중학교" },
// { val: "11", text: "고등학교" },
// { val: "12", text: "전문대학" },
// { val: "13", text: "대학및대학교" },
// { val: "14", text: "골프장" },
// { val: "15", text: "대규모점포" },
// { val: "16", text: "기타" },
// { val: "17", text: "숙박업" },
// { val: "18", text: "목욕장업" },
// { val: "19", text: "공장" },
// { val: "20", text: "발전시설" },
// { val: "21", text: "관광단지개발사업" },
// { val: "22", text: "도시개발사업" },
// { val: "23", text: "산업단지개발사업" },
// { val: "24", text: "택지개발사업" },
// { val: "25", text: "대규모점포(대형마트)" },
// { val: "26", text: "대규모점포(전문점)" },
// { val: "27", text: "대규모점포(백화점)" },
// { val: "28", text: "대규모점포(쇼핑센터)" },
// { val: "29", text: "대규모점포(복합쇼핑몰)" },
// { val: "30", text: "물류시설" },
// { val: "31", text: "운수시설(여객자동차터미널)" },
// { val: "32", text: "운수시설(철도시설)" },
// { val: "33", text: "운수시설(공항시설)" },
// { val: "34", text: "운수시설(항만시설)" },
// { val: "35", text: "업무시설(공공업무시설)" },
// { val: "36", text: "업무시설(금융업소)" },
// { val: "37", text: "업무시설(사무소)" },
// { val: "38", text: "업무시설(결혼상담소 등 소개업소)" },
// { val: "39", text: "업무시설(출판사)" },
// { val: "40", text: "업무시설(신문사)" },
// { val: "41", text: "업무시설(오피스텔)" },
// { val: "42", text: "교정시설" },
// { val: "43", text: "방송국" },
// { val: "44", text: "전신전화국" },
// { val: "45", text: "기타" },
// ];
export const orgwtKndCd = [
{ text: "오수(변기 오수 제외)", val: "01" },
{ text: "오수", val: "02" },
{ text: "폐수", val: "03" },
{ text: "오수 및 폐수", val: "04" },
{ text: "기타", val: "05" },
];
export const rswtBdstType: SelectDataType[] = lwCds?.rswtBdstType??[]
//[
// { val: "17", text: "숙박업" },
// { val: "18", text: "목욕장업" },
// { val: "19", text: "공장" },
// { val: "20", text: "발전시설" },
// { val: "21", text: "관광단지개발사업" },
// { val: "22", text: "도시개발사업" },
// { val: "23", text: "산업단지개발사업" },
// { val: "24", text: "택지개발사업" },
// { val: "25", text: "대규모점포(대형마트)" },
// { val: "26", text: "대규모점포(전문점)" },
// { val: "27", text: "대규모점포(백화점)" },
// { val: "28", text: "대규모점포(쇼핑센터)" },
// { val: "29", text: "대규모점포(복합쇼핑몰)" },
// { val: "30", text: "물류시설" },
// { val: "31", text: "운수시설(여객자동차터미널)" },
// { val: "32", text: "운수시설(철도시설)" },
// { val: "33", text: "운수시설(공항시설)" },
// { val: "34", text: "운수시설(항만시설)" },
// { val: "35", text: "업무시설(공공업무시설)" },
// { val: "36", text: "업무시설(금융업소)" },
// { val: "37", text: "업무시설(사무소)" },
// { val: "38", text: "업무시설(결혼상담소 등 소개업소)" },
// { val: "39", text: "업무시설(출판사)" },
// { val: "40", text: "업무시설(신문사)" },
// { val: "41", text: "업무시설(오피스텔)" },
// { val: "42", text: "교정시설" },
// { val: "43", text: "방송국" },
// { val: "44", text: "전신전화국" },
// { val: "45", text: "기타" },
// ];
//export const orgwtKndCd =lwCds['orgwtKndCd']??[]
// [
// { text: "오수(변기 오수 제외)", val: "01" },
// { text: "오수", val: "02" },
// { text: "폐수", val: "03" },
// { text: "오수 및 폐수", val: "04" },
// { text: "기타", val: "05" },
// ];
export const chBuCd = [
{ val: "증축", text: "증축" },
@@ -148,97 +162,104 @@ export const chBuCd = [
{ val: "재축", text: "재축" },
];
export const dmdUszCd = [
{ val: "조경용수", text: "조경용수" },
{ val: "청소화장실용수", text: "청소화장실용수" },
{ val: "농업용수", text: "농업용수" },
{ val: "공업용수", text: "공업용수" },
{ val: "친수용수", text: "친수용수" },
{ val: "기타", text: "기타" },
];
// export const dmdUszCd = [
// { val: "조경용수", text: "조경용수" },
// { val: "청소화장실용수", text: "청소화장실용수" },
// { val: "농업용수", text: "농업용수" },
// { val: "공업용수", text: "공업용수" },
// { val: "친수용수", text: "친수용수" },
// { val: "기타", text: "기타" },
// ];
export const ruseMngMtd = [
{ val: "자체운영", text: "자체운영" },
{ val: "공기업", text: "공기업" },
{ val: "민간(대행)", text: "민간(대행)" },
];
export const pplQulity = [
{ val: "도복장강관", text: "도복장강관" },
{ val: "PE관", text: "PE관" },
{ val: "스테인레스관", text: "스테인레스관" },
{ val: "덕타일주철관", text: "덕타일주철관" },
{ val: "유리섬유복합관", text: "유리섬유복합관" },
{ val: "기타", text: "기타" },
];
export const pplLenght = [
{ val: "D100", text: "D100" },
{ val: "D200", text: "D200" },
{ val: "D250", text: "D250" },
{ val: "D300", text: "D300" },
{ val: "D350", text: "D350" },
{ val: "D400", text: "D400" },
{ val: "D450", text: "D450" },
{ val: "D500", text: "D500" },
{ val: "D700", text: "D700" },
{ val: "D900", text: "D900" },
{ val: "D1000​", text: "D1000​" },
];
export const rainFcltCd = [
{ val: "10", text: "확인불가" },
{ val: "01", text: "지붕" },
{ val: "02", text: "건물옥상" },
{ val: "03", text: "골프장 연못" },
{ val: "04", text: "운동장 바닥" },
{ val: "05", text: "운동장 지붕" },
{ val: "06", text: "주차장" },
{ val: "07", text: "태양광패널" },
{ val: "08", text: "연못" },
{ val: "09", text: "기타" },
];
// export const ruseMngMtd = lwCds['ruseMngMtd']
// [
// { val: "자체운영", text: "자체운영" },
// { val: "공기업", text: "공기업" },
// { val: "민간(대행)", text: "민간(대행)" },
// ];
// export const pplQulity =
// [
// { val: "도복장강관", text: "도복장강관" },
// { val: "PE관", text: "PE관" },
// { val: "스테인레스관", text: "스테인레스관" },
// { val: "덕타일주철관", text: "덕타일주철관" },
// { val: "유리섬유복합관", text: "유리섬유복합관" },
// { val: "기타", text: "기타" },
// ];
// export const pplLenght = [
// { val: "D100", text: "D100" },
// { val: "D200", text: "D200" },
// { val: "D250", text: "D250" },
// { val: "D300", text: "D300" },
// { val: "D350", text: "D350" },
// { val: "D400", text: "D400" },
// { val: "D450", text: "D450" },
// { val: "D500", text: "D500" },
// { val: "D700", text: "D700" },
// { val: "D900", text: "D900" },
// { val: "D1000​", text: "D1000​" },
// ];
// export const rainFcltCd = lwCds?.rainFcltCd??[]
// [
// { val: "10", text: "확인불가" },
// { val: "01", text: "지붕" },
// { val: "02", text: "건물옥상" },
// { val: "03", text: "골프장 연못" },
// { val: "04", text: "운동장 바닥" },
// { val: "05", text: "운동장 지붕" },
// { val: "06", text: "주차장" },
// { val: "07", text: "태양광패널" },
// { val: "08", text: "연못" },
// { val: "09", text: "기타" },
// ];
//물리화학적처리(스크린, 응집, 침전)/생물학적처리(활성슬러지법 등)/소독(염소, UV 등)/기타
export const rswtPrscCdMthdCd = [
{
val: "물리화학적처리(스크린,응집,침전)",
text: "물리화학적처리(스크린,응집,침전)",
},
{
val: "생물학적처리(활성슬러지법 등)",
text: "생물학적처리(활성슬러지법 등)",
},
{ val: "소독(염소, UV 등)", text: "소독(염소, UV 등)" },
{ val: "기타", text: "기타" },
{ val: "확인불가", text: "확인불가" },
];
export const rswtPrscCdMthdCd = lwCds['rswtPrscCdMthdCd']??[]
// {
// val: "물리화학적처리(스크린,응집,침전)",
// text: "물리화학적처리(스크린,응집,침전)",
// },
// {
// val: "생물학적처리(활성슬러지법 등)",
// text: "생물학적처리(활성슬러지법 등)",
// },
// { val: "소독(염소, UV 등)", text: "소독(염소, UV 등)" },
// { val: "기타", text: "기타" },
// { val: "확인불가", text: "확인불가" },
// ];
export const htdPowerMthdCd= [
{
val: "해당없음",
text: "해당없음",
},
{
val: "석탄화력발전",
text: "석탄화력발전",
},
{
val: "화력발전",
text: "화력발전",
},
{
val: "수력발전",
text: "수력발전",
},
{
val: "태양관발전",
text: "태양관발전",
},
];
// export const htdPowerMthdCd = [
// {
// val: "해당없음",
// text: "해당없음",
// },
// {
// val: "석탄화력발전",
// text: "석탄화력발전",
// },
// {
// val: "화력발전",
// text: "화력발전",
// },
// {
// val: "수력발전",
// text: "수력발전",
// },
// {
// val: "태양관발전",
// text: "태양관발전",
// },
// ];
//(공업용수/양식장/농업용수)
export const htdUtztnUsgCd= [
export const htdUtztnUsgCd = [
{
val: "공업용수",
text: "공업용수",
@@ -252,3 +273,171 @@ export const htdUtztnUsgCd= [
text: "농업용수",
},
];
export const ruseFcltSpot = []
//(공업용수/양식장/농업용수)
export const rainRswtMng = [
{
val: "위탁",
text: "01",
},
{
val: "자체",
text: "02",
},
];
export const rainFcltFlowRate = [
{
val: "01",
text: "유량계",
},
{
val: "02",
text: "수위계",
},
{
val: "03",
text: "펌프적산전력계",
},
{
val: "04",
text: "기타",
},
];
export const rainRswtUse = [
{
val: "01",
text: "유량계",
},
{
val: "02",
text: "수위계",
},
{
val: "03",
text: "펌프적산전력계",
},
{
val: "04",
text: "기타",
},
];
export const sewageInFcltUse = [
{
val: "01",
text: "세척수",
},
{
val: "02",
text: "냉각수",
},
{
val: "03",
text: "청소수",
},
{
val: "04",
text: "삭수대",
},
{
val: "05",
text: "희석용수",
},
{
val: "06",
text: "중수도",
},
{
val: "07",
text: "기타",
},
];
export const sewageOutFclttUse = [
{
val: "01",
text: "청소화장실용수",
},
{
val: "02",
text: "세척살수용수",
},
{
val: "03",
text: "조경용수",
},
{
val: "04",
text: "친수용수",
},
{
val: "05",
text: "지하수충전",
},
{
val: "06",
text: "농업용수",
},
{
val: "07",
text: "하천등유지용수",
},
{
val: "08",
text: "공업용수",
},
];
const codeMApping = {
WR001: "bdstUsgCd",
WR002: "rswtBdstType",
WR003: "rainFcltCd",
WR004: "bdstGrntchClass",
WR005: "rswtPrscCdMthdCd", // 아직 디 못바꿈
WR006: "orgwtKndCd", //작업 완ㅛ
WR007: "ruseMngMtd", // 작업완료
WR008: "rusePrcsMthdCd", //w작업완료
WR009: "erctUswtrPrcsMeth",//w작업완료
WR010: "ruseFcltSpot",// inout은 yn 만 사용해야 함으로 해당 코드는 사용안함.
WR011: "pplQulity",
WR012: "pplLenght",
WR013: "bdstFilterYn", // 사용 불가 yn만 사용해야함으로 해당코드 사용 안함
WR014: "rainRswtMng", // 지도점검 등록 시변경
WR015: "rainFcltFlowRate", //지도점검 등록 시변경
WR016: "dmdUszCd", // 지도점검 등록 시변경
WR017: "sewageInFcltUse", //하수재이용 장내
WR018: "sewageOutFclttUse", // 하수재이용 장외
WR019: "htdPowerMthdCd",
WR020: "htdUtztnUsgCd",
};
export const getCommonUpCd = async () => {
const upCd = await getFetchWithCount(
fetchType.LOCAL,
"/cms-service/api/v1/up-codes?keyword=&upCd=&cdSe=&useYn=Y&siteId=WR&page=0&size=100&sort=string"
);
const upWrCode: string[] = upCd.content
.filter((item: any) => item.upCd.slice(0, 2) === "WR")
.map((cd: any) => cd.upCd);
await Promise.all(
upWrCode.map(async (cd) => {
const mapping = codeMApping[cd as keyof typeof codeMApping];
if (!mapping) return;
const lwCd = await getFetchWithCount(
fetchType.LOCAL,
`/cms-service/api/v1/lwpo-cds/up-cd/${cd}`
);
const list = Array.isArray(lwCd) ? lwCd : lwCd.content ?? [];
lwCds[mapping] = list.map((it: any) => ({
text: it.lwpoCdNm,
val: it.lwpoCd,
}));
})
);
};