(); // 시도별 상세 데이터를 저장할 Map
@@ -49,7 +49,7 @@ export default function RainStat() {
sidoText = sido?.text || '';
sigunText = sigun?.text || '';
-
+
// 시도, 시군구 코드를 텍스트로 변환하여 데이터에 할당
if (item.length > 0) {
item[0] = sidoText as unknown as RainStatProps;
@@ -58,7 +58,7 @@ export default function RainStat() {
item[1] = sigunText as unknown as RainStatProps;
}
if (item.length > 2) {
- item[2] = sidoText+' '+sigunText as unknown as RainStatProps;
+ item[2] = sidoText + ' ' + sigunText as unknown as RainStatProps;
}
// 시도별 상세 데이터 수집
@@ -89,32 +89,32 @@ export default function RainStat() {
const sidoData = sidoDataMap.get(sidoText)!;
// 각 컬럼의 값을 합계에 더하기 (1번 인덱스부터 시작)
for (let i = 1; i < item.length && i < sidoData.length; i++) {
- if(i == 2){
+ if (i == 2) {
sidoData[i] = '합계';
- } else if(i == 3){
+ } else if (i == 3) {
// 해당 시도의 데이터 개수를 계산
- const sidoDataCount = rainDetailList.filter((data: unknown[]) =>
+ const sidoDataCount = rainDetailList.filter((data: unknown[]) =>
Array.isArray(data) && data.length > 0 && String(data[0]) === sidoText
).length;
sidoData[i] = sidoDataCount;
- } else if( i == 4){
+ } else if (i == 4) {
sidoData[i] = '';
- } else if(i == 6){
+ } else if (i == 6) {
// 법정 대상 건축물 개수 (인덱스 6이 'Y'인 경우)
- const bumCnt = rainDetailList.filter((data: unknown[]) =>
+ const bumCnt = rainDetailList.filter((data: unknown[]) =>
Array.isArray(data) && data.length > 6 && String(data[0]) === sidoText
).filter((data: unknown[]) => String(data[6]) === '대상').length;
sidoData[i] = bumCnt;
- } else if(i==8){
+ } else if (i == 8) {
const value = Number(item[8]) || 0;
sidoData[i] = (Number(sidoData[i]) + value) as string | number;
- } else if(i==11){
+ } else if (i == 11) {
const value = Number(item[11]) || 0;
sidoData[i] = (Number(sidoData[i]) + value) as string | number;
- } else if(i==12){
+ } else if (i == 12) {
const value = Number(item[12]) || 0;
sidoData[i] = (Number(sidoData[i]) + value) as string | number;
- } else if(i==14){
+ } else if (i == 14) {
const value = Number(item[14]) || 0;
sidoData[i] = (Number(sidoData[i]) + value) as string | number;
}
@@ -127,12 +127,12 @@ export default function RainStat() {
// 시도별로 합계와 상세 데이터를 순서대로 배치
const summaryExcelData: (string | number)[][] = [];
-
+
// 시도별로 순회하면서 합계와 상세 데이터를 추가
Array.from(sidoList).forEach((sidoText) => {
const sidoSummary = sidoDataMap.get(sidoText);
const sidoDetails = sidoDetailMap.get(sidoText) || [];
-
+
if (sidoSummary) {
// 시도 합계 데이터 추가
summaryExcelData.push(sidoSummary);
@@ -147,14 +147,14 @@ export default function RainStat() {
const sidoTotalSummary = [['전체', '', '합계', 0, '', '', 0, '', '', 0, 0, 0, 0, 0, 0, '', 0]];
sidoSummaryList.forEach((item: (string | number)[]) => {
item.forEach((value: string | number, index: number) => {
- if(typeof value === 'number') {
+ if (typeof value === 'number') {
if (sidoTotalSummary[0] && index < sidoTotalSummary[0].length) {
sidoTotalSummary[0][index] = Number(sidoTotalSummary[0][index]) + Number(value);
}
}
});
});
-
+
// sidoSummaryList와 rainDetailList를 합쳐서 엑셀 데이터 생성
const excelData = [...sidoTotalSummary, ...sidoSummaryList, ...summaryExcelData];
@@ -175,28 +175,30 @@ export default function RainStat() {
headerRange: "A1:M1"
})
}
-
+
useEffect(() => {
const transExcel = Array.isArray(excelList) ? excelList : [excelList];
const excelData = tableData(transExcel, { code });
const tbData = Array.isArray(excelData)
- ? excelData.map((item: RainStatProps) => {
- return {
- "시도": item.cityText,
- "개소": item.tmp,
- "설치비(백만원)": item.instlCst,
- "저류조용량(m³/년)": item.dtfcltCpct,
- "연간사용량(m³/년)": item.wtrUsqty,
- "조경용수": item.lndwtr,
- "청소화장실용수": item.cleanToilUswtr,
- "세척살수용수": item.resn,
- "농업용수": item.farmUswtr,
- "공업용수": item.indstUswtr,
- "친수용수": item.hydUswtr,
- "기타": item.ithlEtcUswtr,
- "연간운영비(백만원/년)": item.anlOperCst,
- };
- })
+ ? excelData
+ .filter((item: RainStatProps) => item.cityText !== '없음')
+ .map((item: RainStatProps) => {
+ return {
+ "시도": item.cityText,
+ "개소": item.tmp,
+ "설치비(백만원)": item.instlCst,
+ "저류조용량(m³/년)": item.dtfcltCpct,
+ "연간사용량(m³/년)": item.wtrUsqty,
+ "조경용수": item.lndwtr,
+ "청소화장실용수": item.cleanToilUswtr,
+ "세척살수용수": item.resn,
+ "농업용수": item.farmUswtr,
+ "공업용수": item.indstUswtr,
+ "친수용수": item.hydUswtr,
+ "기타": item.ithlEtcUswtr,
+ "연간운영비(백만원/년)": item.anlOperCst,
+ };
+ })
: [];
setExData(tbData);
}, [code, excelList])
@@ -237,7 +239,7 @@ export default function RainStat() {
/>
-
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/buseWaterQulity/buseWaterQulity.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/buseWaterQulity/buseWaterQulity.tsx
index cba4c4c81..121957b8e 100644
--- a/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/buseWaterQulity/buseWaterQulity.tsx
+++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/buseReg/buseWaterQulity/buseWaterQulity.tsx
@@ -13,7 +13,7 @@ export function BuseWaterQulity({
sonClass,
indexMng,
indexBiz,
- formType,
+ readonly,
}: {
form: UseFormReturn<{ items: PbnstRegArrrayType }>;
h1Title: string;
@@ -22,7 +22,7 @@ export function BuseWaterQulity({
sonClass: string;
indexMng: number;
indexBiz: number;
- formType?: string;
+ readonly?: boolean;
}) {
const [frontPHdata, setFrontPHdata] = useState("0");
const [backPHdata, setBackPHdata] = useState("0");
@@ -131,7 +131,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -168,7 +168,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
{/* TODO: 총대장균군수 확인 필요*/}
@@ -203,7 +203,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -237,7 +237,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -267,7 +267,7 @@ export function BuseWaterQulity({
field.onChange(String(e.target.value));
}}
value={field.value ?? ""}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly === "sttn" ? true : false}
maxLength={txtSize}
/> */}
{
field.onChange(val);
}}
@@ -310,7 +310,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -344,7 +344,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -379,7 +379,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={6}
/>
@@ -413,7 +413,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={7}
/>
@@ -448,7 +448,7 @@ export function BuseWaterQulity({
? `${field.value}`
: ""
}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={7}
/>
@@ -472,7 +472,7 @@ export function BuseWaterQulity({
isSetFrontPh(e.target.value)
}
value={frontPHdata ?? ""}
- readOnly={formType === "sttn"}
+ readOnly={readonly}
maxLength={3}
/>
~
@@ -484,7 +484,7 @@ export function BuseWaterQulity({
isSetBackPh(e.target.value);
}}
value={backPHdata ?? ""}
- readOnly={formType === "sttn"}
+ readOnly={readonly}
maxLength={3}
/>
diff --git a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
index ee3fe8363..f7355bfd9 100644
--- a/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
+++ b/apps/wr/components/ui/form/fcltReg/pbnstReg/mngReg/mngRegForm.tsx
@@ -41,11 +41,13 @@ export function PbnstMngForm({
formType,
indexMng,
setIndexMng,
+ readonly
}: {
form: UseFormReturn<{ items: PbnstRegArrrayType }>;
formType: string;
indexMng: number;
setIndexMng: (index: number) => void;
+ readonly:boolean
}) {
const { code, pbnst, fileDelete, fileDownLoad } = useWrStore(
(state) => state
@@ -293,7 +295,7 @@ export function PbnstMngForm({
field.onChange(String(e.target.value));
}}
value={field.value ?? ""}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
maxLength={txtSize}
/>
@@ -374,7 +376,7 @@ export function PbnstMngForm({
handleCommaNumberChange(e, field.onChange);
}}
value={formatCommaNumber(field.value)}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
/>
)}
@@ -398,7 +400,7 @@ export function PbnstMngForm({
handleCommaNumberChange(e, field.onChange);
}}
value={formatCommaNumber(field.value)}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
/>
)}
@@ -421,7 +423,7 @@ export function PbnstMngForm({
handleCommaNumberChange(e, field.onChange);
}}
value={formatCommaNumber(field.value)}
- readOnly={formType === "sttn" ? true : false}
+ readOnly={readonly}
/>
)}
diff --git a/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx b/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
index 8275e472b..c0cbdda30 100644
--- a/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
+++ b/apps/wr/components/ui/modal/fcltReg/pbnstRegModal/pbnstRegModal.tsx
@@ -99,6 +99,7 @@ export function PbnstRegModal({
formType={"reg"}
indexMng={indexMng}
setIndexMng={setIndexMng}
+ readonly={false}
/>