-시설구분 삭제
-500이하 > 500미만 -대시보드에서 총인설비 유입이 없을 경우 해당 행 삭제 -지하수유입량 모달 시설명오류 수정
This commit is contained in:
@@ -249,7 +249,6 @@ export default function ProcessFacilitySearch() {
|
||||
<SelectBox className="col-span-3" label={processFacilityLabelArray[3] as string} selectArray={selectUpdownData} onSelectValue={val => setFcltCpct(val.toString())} value={fcltCpct} selectClass={undefined} />
|
||||
<SearchInput className="col-span-3" label={processFacilityLabelArray[4] as string} textValue={fcltyName} setText={setFcltyName} />
|
||||
<SelectBox className="col-span-3" label={processFacilityLabelArray[5] as string} selectArray={selectOperationData} onSelectValue={val => setOperationValue(val.toString())} value={operationValue} selectClass={undefined} />
|
||||
<SelectBox className="col-span-3" label={processFacilityLabelArray[6] as string} selectArray={selectFacilityPartData} onSelectValue={val => setFacilityPartValue(val.toString())} value={facilityPartValue} selectClass={undefined} />
|
||||
</>}
|
||||
rightChildren={undefined}
|
||||
selectSidoData={selectSidoData}
|
||||
|
||||
@@ -7,8 +7,9 @@ import { Table, TableCell, TableHead, TableRow, TabsContent } from "@common/comp
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
type ModalProps ={
|
||||
fcltyName: string;
|
||||
searchYear : string;
|
||||
fcltyCd?: string;
|
||||
fcltyName?: string;
|
||||
searchYear? : string;
|
||||
}
|
||||
|
||||
const tabList1 = [
|
||||
@@ -17,7 +18,7 @@ const tabList1 = [
|
||||
{ value: 'tab_term_winter', label: '동절기' },
|
||||
];
|
||||
|
||||
export default function UnderWaterInputModal({fcltyName='', searchYear=new Date().getFullYear().toString()} : ModalProps) {
|
||||
export default function UnderWaterInputModal({fcltyCd='', fcltyName='',searchYear=new Date().getFullYear().toString()} : ModalProps) {
|
||||
// 그리드 관련
|
||||
const {UnderWaterDetail, unserWaterModal} = useFoStore((state) => state);
|
||||
|
||||
@@ -64,8 +65,8 @@ export default function UnderWaterInputModal({fcltyName='', searchYear=new Date(
|
||||
}, [searchYear, tabTerm]);
|
||||
|
||||
useEffect(()=>{
|
||||
unserWaterModal(fcltyName, searchYear, searchYear+'01', searchYear+'12');
|
||||
}, [fcltyName, searchYear, unserWaterModal]);
|
||||
unserWaterModal(fcltyCd, searchYear, searchYear+'01', searchYear+'12');
|
||||
}, [fcltyCd, searchYear, unserWaterModal]);
|
||||
|
||||
useEffect(() => {
|
||||
if(endYmDate < startYmDate) {
|
||||
@@ -83,8 +84,8 @@ export default function UnderWaterInputModal({fcltyName='', searchYear=new Date(
|
||||
}, [startYmDate, endYmDate, gridListUnderWaterDetail, prevStartYmDate, prevEndYmDate]);
|
||||
|
||||
useEffect(() => {
|
||||
unserWaterModal(fcltyName, searchYear, prevStartYmDate, prevEndYmDate);
|
||||
} , [fcltyName, searchYear, unserWaterModal, prevStartYmDate, prevEndYmDate]);
|
||||
unserWaterModal(fcltyCd, searchYear, prevStartYmDate, prevEndYmDate);
|
||||
} , [fcltyCd, searchYear, unserWaterModal, prevStartYmDate, prevEndYmDate]);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
@@ -66,11 +66,11 @@ export default function UnderWaterInput() {
|
||||
|
||||
// 모달 상태 추가
|
||||
const [selectedRow, setSelectedRow] = useState<number | null>(null);
|
||||
const [fcltyCd, setFcltyCd] = useState<string>("");
|
||||
const [fcltyNm, setFcltyNm] = useState<string>("");
|
||||
|
||||
// 그리드 관련
|
||||
const searchInputRef = useRef<HTMLDivElement & HTMLInputElement>(null);
|
||||
|
||||
// 초기화 변수
|
||||
const [resetPage, setResetPage] = useState<boolean>(false);
|
||||
// 표 너비
|
||||
@@ -116,7 +116,8 @@ export default function UnderWaterInput() {
|
||||
// 셀 클릭 시 모달 표시
|
||||
const cellClick = (index: number) => {
|
||||
if (underWater[index]) {
|
||||
setFcltyNm(underWater[index].bscFctCd);
|
||||
setFcltyCd(underWater[index].bscFctCd || "");
|
||||
setFcltyNm(underWater[index].bscFctNm || "");
|
||||
setSelectedRow(index); // 클릭한 행의 index 저장
|
||||
}
|
||||
};
|
||||
@@ -129,7 +130,7 @@ export default function UnderWaterInput() {
|
||||
initializeCommonData();
|
||||
searchUnderWaterList(1, 10, selectSearchYear[0]?.val || "0");
|
||||
}
|
||||
}, [isInit, initializeCommonData, searchUnderWaterList]);
|
||||
}, [isInit, initializeCommonData, searchUnderWaterList, selectSearchYear]);
|
||||
|
||||
useEffect(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
@@ -227,7 +228,7 @@ export default function UnderWaterInput() {
|
||||
</ContentsDiv>
|
||||
{selectedRow !== null && (
|
||||
<UiModal
|
||||
body={<UnderWaterInputModal fcltyName={fcltyNm} searchYear={searchYear}></UnderWaterInputModal>}
|
||||
body={<UnderWaterInputModal fcltyCd={fcltyCd} fcltyName={fcltyNm} searchYear={searchYear}></UnderWaterInputModal>}
|
||||
bodyClass="sm:max-w-[90vw] w-[1000px] h-[770px]"
|
||||
open={selectedRow !== null}
|
||||
onOpenChange={(open) => !open && closeModal()}
|
||||
|
||||
@@ -131,7 +131,7 @@ const selectEnvPartSigunData: SelectDataType[] = [
|
||||
// 상향 하향 데이터
|
||||
const selectUpdownData:SelectDataType[] = [
|
||||
{ text: "전체", val: '0' },
|
||||
{ text: "500이하", val: '400' },
|
||||
{ text: "500미만", val: '400' },
|
||||
{ text: "500이상", val: '500' },
|
||||
];
|
||||
|
||||
|
||||
@@ -355,29 +355,29 @@ const upHeadListOperationStatus : TableUpperProps[] = [
|
||||
|
||||
const upHeadListRainManage : TableUpperProps[] = [
|
||||
{ id: "rainItem", title: "강우량", row:0, rowSpan:2 },
|
||||
{ id: "rainRate", title: "강우조건\n비율(%)", row:0, rowSpan:2 },
|
||||
{ id: "rainDay", title: "일수", row:0, rowSpan:2 },
|
||||
{ id: "rainRate", title: "강우조건\n비율(%)", row:0, rowSpan:2, align: "right" },
|
||||
{ id: "rainDay", title: "일수", row:0, rowSpan:2, align: "right" },
|
||||
{ id: "A", title: "유입(㎥/일)", row:0, colSpan:2 },
|
||||
{ id: "inflAmnt", title: "유입유량", row:1 },
|
||||
{ id: "fctCpc", title: "시설용량대비", row:1 },
|
||||
{ id: "inflAmnt", title: "유입유량", row:1, align: "right" },
|
||||
{ id: "fctCpc", title: "시설용량대비", row:1, align: "right" },
|
||||
{ id: "B", title: "설계유입수질(㎎/L)", row:0, colSpan:5 },
|
||||
{ id: "dsInflWqltBod", title: "BOD", row:1 },
|
||||
{ id: "dsInflWqltCod", title: "TOC\n(COD)", row:1 },
|
||||
{ id: "dsInflWqltSs", title: "SS", row:1 },
|
||||
{ id: "dsInflWqltTn", title: "T-N", row:1 },
|
||||
{ id: "dsInflWqltTp", title: "T-P", row:1 },
|
||||
{ id: "dsInflWqltBod", title: "BOD", row:1, align: "right" },
|
||||
{ id: "dsInflWqltCod", title: "TOC\n(COD)", row:1, align: "right" },
|
||||
{ id: "dsInflWqltSs", title: "SS", row:1, align: "right" },
|
||||
{ id: "dsInflWqltTn", title: "T-N", row:1, align: "right" },
|
||||
{ id: "dsInflWqltTp", title: "T-P", row:1, align: "right" },
|
||||
{ id: "C", title: "유입수질(㎎/L)", row:0, colSpan:5 },
|
||||
{ id: "inflAssctBfrWqltBod", title: "BOD", row:1 },
|
||||
{ id: "inflAssctBfrWqltToc", title: "TOC\n(COD)", row:1 },
|
||||
{ id: "inflAssctBfrWqltSs", title: "SS", row:1 },
|
||||
{ id: "inflAssctBfrWqltTn", title: "T-N", row:1 },
|
||||
{ id: "inflAssctBfrWqltTp", title: "T-P", row:1 },
|
||||
{ id: "inflAssctBfrWqltBod", title: "BOD", row:1, align: "right" },
|
||||
{ id: "inflAssctBfrWqltToc", title: "TOC\n(COD)", row:1, align: "right" },
|
||||
{ id: "inflAssctBfrWqltSs", title: "SS", row:1, align: "right" },
|
||||
{ id: "inflAssctBfrWqltTn", title: "T-N", row:1, align: "right" },
|
||||
{ id: "inflAssctBfrWqltTp", title: "T-P", row:1, align: "right" },
|
||||
{ id: "D", title: "방류수질(㎎/L)", row:0, colSpan:5 },
|
||||
{ id: "efflWqltBod", title: "BOD", row:1 },
|
||||
{ id: "efflWqltToc", title: "TOC\n(COD)", row:1 },
|
||||
{ id: "efflWqltSs", title: "SS", row:1 },
|
||||
{ id: "efflWqltTn", title: "T-N", row:1 },
|
||||
{ id: "efflWqltTp", title: "T-P", row:1 },
|
||||
{ id: "efflWqltBod", title: "BOD", row:1, align: "right" },
|
||||
{ id: "efflWqltToc", title: "TOC\n(COD)", row:1, align: "right" },
|
||||
{ id: "efflWqltSs", title: "SS", row:1, align: "right" },
|
||||
{ id: "efflWqltTn", title: "T-N", row:1, align: "right" },
|
||||
{ id: "efflWqltTp", title: "T-P", row:1, align: "right" },
|
||||
]
|
||||
|
||||
const upHeadListDrainageEquipment : TableUpperProps[] = [
|
||||
@@ -401,7 +401,7 @@ const upHeadListDrainageEquipment : TableUpperProps[] = [
|
||||
{ id: "etc", title: "비고", row:0, upName:"upChangeRe7", upSequnce:1 },
|
||||
]
|
||||
|
||||
const operationalStatusList : OperationalStatusListProps[] = [
|
||||
let operationalStatusList : OperationalStatusListProps[] = [
|
||||
{
|
||||
flowRate : '유량\n(㎥/일)',
|
||||
waterQlty : '유입',
|
||||
@@ -1173,6 +1173,7 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
const yearAvg = data.yearData===null?'':(data.yearData.AVG_INFL_AMNT?data.yearData.AVG_INFL_AMNT:0)+(data.yearData.AVG_SUM_FLOW?data.yearData.AVG_SUM_FLOW:0)+(data.yearData.AVG_RETURN_AMNT?data.yearData.AVG_RETURN_AMNT:0);
|
||||
const yearMax = data.yearData===null?'':(data.yearData.MAX_INFL_AMNT?data.yearData.MAX_INFL_AMNT:0)+(data.yearData.MAX_SUM_FLOW?data.yearData.MAX_SUM_FLOW:0)+(data.yearData.MAX_RETURN_AMNT?data.yearData.MAX_RETURN_AMNT:0);
|
||||
const yearMin = data.yearData===null?'':(data.yearData.MIN_INFL_AMNT?data.yearData.MIN_INFL_AMNT:0)+(data.yearData.MIN_SUM_FLOW?data.yearData.MIN_SUM_FLOW:0)+(data.yearData.MIN_RETURN_AMNT?data.yearData.MIN_RETURN_AMNT:0);
|
||||
|
||||
operationalStatusList[0].yearAvg = yearAvg;
|
||||
operationalStatusList[0].yearMax = yearMax;
|
||||
operationalStatusList[0].yearMin = yearMin;
|
||||
@@ -1193,11 +1194,26 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
(data.summerSunny.AVG_TP_INFL_WQLT_TP ? data.summerSunny.AVG_TP_INFL_WQLT_TP : 0)
|
||||
);
|
||||
// 겨울
|
||||
operationalStatusList[0].winterAll = data.winter === null ? '' : (data.winter.AVG_INFL_AMNT ? data.winter.AVG_INFL_AMNT : 0) + (data.winter.AVG_SUM_FLOW ? data.winter.AVG_SUM_FLOW : 0) + (data.winter.AVG_TP_INFL_WQLT_TP ? data.winter.AVG_TP_INFL_WQLT_TP : 0);
|
||||
operationalStatusList[0].winterSunnyMin = data.winterSunny === null ? '' : (data.winterSunny.MIN_INFL_AMNT ? data.winterSunny.MIN_INFL_AMNT : 0) + (data.winterSunny.MIN_SUM_FLOW ? data.winterSunny.MIN_SUM_FLOW : 0) + (data.winterSunny.MIN_TP_INFL_WQLT_TP ? data.winterSunny.MIN_TP_INFL_WQLT_TP : 0);
|
||||
operationalStatusList[0].winterSunnyAvg = data.winterSunny === null ? '' : (data.winterSunny.AVG_INFL_AMNT ? data.winterSunny.AVG_INFL_AMNT : 0) + (data.winterSunny.AVG_SUM_FLOW ? data.winterSunny.AVG_SUM_FLOW : 0) + (data.winterSunny.AVG_TP_INFL_WQLT_TP ? data.winterSunny.AVG_TP_INFL_WQLT_TP : 0);
|
||||
operationalStatusList[0].winterSunnyMax = data.winterSunny === null ? '' : (data.winterSunny.MAX_INFL_AMNT ? data.winterSunny.MAX_INFL_AMNT : 0) + (data.winterSunny.MAX_SUM_FLOW ? data.winterSunny.MAX_SUM_FLOW : 0) + (data.winterSunny.MAX_TP_INFL_WQLT_TP ? data.winterSunny.MAX_TP_INFL_WQLT_TP : 0);
|
||||
|
||||
operationalStatusList[0].winterAll = data.winter === null ? '' : (
|
||||
(data.winter.AVG_INFL_AMNT ? data.winter.AVG_INFL_AMNT : 0) +
|
||||
(data.winter.AVG_SUM_FLOW ? data.winter.AVG_SUM_FLOW : 0) +
|
||||
(data.winter.AVG_TP_INFL_WQLT_TP ? data.winter.AVG_TP_INFL_WQLT_TP : 0)
|
||||
);
|
||||
operationalStatusList[0].winterSunnyMin = data.winterSunny === null ? '' : (
|
||||
(data.winterSunny.MIN_INFL_AMNT ? data.winterSunny.MIN_INFL_AMNT : 0) +
|
||||
(data.winterSunny.MIN_SUM_FLOW ? data.winterSunny.MIN_SUM_FLOW : 0) +
|
||||
(data.winterSunny.MIN_TP_INFL_WQLT_TP ? data.winterSunny.MIN_TP_INFL_WQLT_TP : 0)
|
||||
);
|
||||
operationalStatusList[0].winterSunnyAvg = data.winterSunny === null ? '' : (
|
||||
(data.winterSunny.AVG_INFL_AMNT ? data.winterSunny.AVG_INFL_AMNT : 0) +
|
||||
(data.winterSunny.AVG_SUM_FLOW ? data.winterSunny.AVG_SUM_FLOW : 0) +
|
||||
(data.winterSunny.AVG_TP_INFL_WQLT_TP ? data.winterSunny.AVG_TP_INFL_WQLT_TP : 0)
|
||||
);
|
||||
operationalStatusList[0].winterSunnyMax = data.winterSunny === null ? '' : (
|
||||
(data.winterSunny.MAX_INFL_AMNT ? data.winterSunny.MAX_INFL_AMNT : 0) +
|
||||
(data.winterSunny.MAX_SUM_FLOW ? data.winterSunny.MAX_SUM_FLOW : 0) +
|
||||
(data.winterSunny.MAX_TP_INFL_WQLT_TP ? data.winterSunny.MAX_TP_INFL_WQLT_TP : 0)
|
||||
);
|
||||
// 연계처리수
|
||||
let yearDay = 0;
|
||||
let summerDay = 0;
|
||||
@@ -1364,37 +1380,10 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
}
|
||||
}
|
||||
|
||||
//const excelDownList: RainManageExcelType[] = [];
|
||||
/* if(isExcel){
|
||||
res.data.forEach(item => {
|
||||
dataFormSetting(item)
|
||||
item.fctCpc = parseFloat(item.fctCpc.toString().replace(/,/g, ''));
|
||||
item.sidoNm = item.lclgvrnmntNm.split(' ')[0]?.toString() || '';
|
||||
item.sggNm = item.lclgvrnmntNm.split(' ')[1]?.toString() || '';
|
||||
excelDownList.push({
|
||||
시설코드: item.bscFctCd,
|
||||
시설이름: item.bscFctNm,
|
||||
측정일자: item.msrDt,
|
||||
시도: item.sidoNm,
|
||||
시군구: item.sggNm,
|
||||
주소: item.addr,
|
||||
용량: item.fctCpc,
|
||||
유입BOD: item.inflAssctBfrWqltBod,
|
||||
유입TN: item.inflAssctBfrWqltTn,
|
||||
유입TP: item.inflAssctBfrWqltTp,
|
||||
유출BOD: item.efflWqltBod,
|
||||
유출TN: item.efflWqltTn,
|
||||
유출TP: item.efflWqltTp,
|
||||
환경청: item.rgnNm,
|
||||
유역: item.rvbsn,
|
||||
대유역: item.lgbsn,
|
||||
중유역: item.mdmbsn,
|
||||
});
|
||||
});
|
||||
}else{ */
|
||||
/* data.forEach((item: OperationalStatusListProps) => {
|
||||
}); */
|
||||
/* } */
|
||||
//
|
||||
if(data.yearData.TP_INFL_WQLT_TP === null || data.yearData.TP_INFL_WQLT_TP === undefined || data.yearData.TP_INFL_WQLT_TP === 'null') {
|
||||
operationalStatusList = operationalStatusList.slice(0, 10);
|
||||
}
|
||||
set((state: DashBoardType) => ({
|
||||
...state,
|
||||
OperationStatus: {
|
||||
@@ -1405,7 +1394,7 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
},
|
||||
}))
|
||||
},
|
||||
|
||||
|
||||
searchMainGraph: async (searchYear: string, fcltyCd: string) => {
|
||||
set((state: DashBoardType) => ({
|
||||
...state,
|
||||
@@ -1864,8 +1853,8 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
const filteredData = itemList.map((item, index) => ({
|
||||
rainItem: item,
|
||||
rainRate: rainRate[index] || '0',
|
||||
rainDay: rainDate[index] ? Number(rainDate[index].toFixed(1)) : '',
|
||||
inflAmnt: inflAmnt[index] ? Number((Math.round(inflAmnt[index] * 10) / 10).toFixed(1)) : '',
|
||||
rainDay: rainDate[index] ? Number(rainDate[index].toFixed(1)) : '0',
|
||||
inflAmnt: inflAmnt[index] ? Number((Math.round(inflAmnt[index] * 1) / 1)) : '',
|
||||
fctCpc: inflAmnt[index] ? (Math.round((inflAmnt[index] / fcltyCpcValue) * 10) / 10).toFixed(1) : '',
|
||||
dsInflWqltBod: dsInflWqltBod[index] ? (Math.round(dsInflWqltBod[index] * 10) / 10).toFixed(1) : '',
|
||||
dsInflWqltCod: dsInflWqltCod[index] ? (Math.round(dsInflWqltCod[index] * 10) / 10).toFixed(1) : '',
|
||||
@@ -1890,8 +1879,8 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
|
||||
excelList.push({
|
||||
강우량: item.rainItem,
|
||||
강우조건비율: item.rainRate ? Number(Number(item.rainRate).toFixed(1)) : '',
|
||||
일수: item.rainDay ? Number(Number(item.rainDay).toFixed(1)) : '',
|
||||
유입유량: item.inflAmnt ? Number((Math.round(Number(item.inflAmnt) * 10) / 10).toFixed(1)) : '',
|
||||
일수: item.rainDay ? Number(Number(item.rainDay).toFixed(1)) : 0,
|
||||
유입유량: item.inflAmnt ? Number((Math.round(Number(item.inflAmnt) * 1) / 1)) : '',
|
||||
시설용량대비: item.fctCpc ? (Math.round(Number(item.fctCpc) * 10) / 10).toFixed(1) : '',
|
||||
설계유입수질BOD: item.dsInflWqltBod ? (Math.round(Number(item.dsInflWqltBod) * 10) / 10).toFixed(1) : '',
|
||||
설계유입수질TOC: item.dsInflWqltCod ? (Math.round(Number(item.dsInflWqltCod) * 10) / 10).toFixed(1) : '',
|
||||
|
||||
Reference in New Issue
Block a user