Merge branch 'iipbs/sn/dev' of https://www.onasys.co.kr:3000/ONAANDALL/frontend into iipbs/sn/dev
This commit is contained in:
@@ -54,6 +54,7 @@ export type TRdiiAnlsRslt = {
|
||||
pplMngNo: string;
|
||||
anlsTm: string;
|
||||
predcOilq:number;
|
||||
minq:number;
|
||||
}
|
||||
export type TOilqData = {
|
||||
inftwtAnlsSn: number; // 침입수분석 일련번호
|
||||
@@ -121,12 +122,12 @@ export const selectInftwtAnls = async(aplcnYm:String) => { // 침입수분석
|
||||
};
|
||||
export const getChartDataInftwtAnlsRslt = (arr: TInftwtAnlsRslt[]): { label: string; val: number }[] => {
|
||||
const options = arr.map(anlsRslt => ({
|
||||
label: anlsRslt.anlsTm,
|
||||
label: anlsRslt.anlsTm.substring(4),
|
||||
val: anlsRslt.predcOilq,
|
||||
}));
|
||||
return options;
|
||||
};
|
||||
export const selectInftwtAnlsRslt = async(inftwtAnlsSn:number, pplMngNo:string|undefined) => { // 침입수분석 결과
|
||||
export const selectInftwtAnlsRslt = async(inftwtAnlsSn:number, pplMngNo:string) => { // 침입수분석 결과
|
||||
try {
|
||||
if ((inftwtAnlsSn === undefined || inftwtAnlsSn === 0) || !pplMngNo) {
|
||||
console.warn("inftwtAnlsSn or pplMngNo is not provided");
|
||||
@@ -148,7 +149,7 @@ export const getChartDataOilq = (arr: TOilqData[]): { label: string; val: number
|
||||
}));
|
||||
return options;
|
||||
};
|
||||
export const selectOilq = async(inftwtAnlsSn:number, pplMngNo:string|undefined) => { // 유량
|
||||
export const selectOilq = async(inftwtAnlsSn:number, pplMngNo:string) => { // 유량
|
||||
try {
|
||||
if ((inftwtAnlsSn === undefined || inftwtAnlsSn === 0) || !pplMngNo) {
|
||||
console.warn("inftwtAnlsSn or pplMngNo is not provided");
|
||||
@@ -187,11 +188,18 @@ export const selectRdiiAnls = async(aplcnYm:String) => { // 침입수분석
|
||||
};
|
||||
export const getChartDataRdiiAnlsRslt = (arr: TRdiiAnlsRslt[]): { label: string; val: number }[] => {
|
||||
const options = arr.map(anlsRslt => ({
|
||||
label: anlsRslt.anlsTm,
|
||||
label: anlsRslt.anlsTm.substring(4),
|
||||
val: anlsRslt.predcOilq,
|
||||
}));
|
||||
return options;
|
||||
};
|
||||
export const getChartDataRdiiAnlsRsltMinq = (arr: TRdiiAnlsRslt[]): { label: string; val: number }[] => {
|
||||
const options = arr.map(anlsRslt => ({
|
||||
label: anlsRslt.anlsTm.substring(4),
|
||||
val: anlsRslt.minq,
|
||||
}));
|
||||
return options;
|
||||
};
|
||||
export const selectRdiiAnlsRslt = async(rainInfwtAnlsSn:number, pplMngNo:string) => { // 침입수분석 결과
|
||||
try {
|
||||
if ((rainInfwtAnlsSn === undefined || rainInfwtAnlsSn === 0) || !pplMngNo) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { SelectBox } from '@common/business_components/ui';
|
||||
import { Button, Input, Label } from '@common/components';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
import type { TInftwtAnls } from './aplcnYms';
|
||||
import type { TInftwtAnls, TOilqData } from './aplcnYms';
|
||||
import { useAplcnYms, getOptionsInftwtAnlsInfo, selectInftwtAnls } from './aplcnYms';
|
||||
import { getChartDataInftwtAnlsRslt, selectInftwtAnlsRslt, selectOilq, getChartDataOilq } from './aplcnYms';
|
||||
type ModalOpenProp = {
|
||||
@@ -14,6 +14,7 @@ type ModalOpenProp = {
|
||||
btnTxt?: string,
|
||||
pplMngNo?: string, // 관로관리번호
|
||||
}
|
||||
type DataType = {label: string; val: number};
|
||||
|
||||
const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }: ModalOpenProp) => {
|
||||
const [popupOpen, setPopupOpen] = React.useState(true);
|
||||
@@ -24,16 +25,12 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo
|
||||
const [inftwtAnlsInfos, setInftwtAnlsInfos] = useState<any[]>([{ val: 0, text: '선택' }]); // 침입수분석정보 options
|
||||
const [inftwtAnls, setInftwtAnls] = useState<TInftwtAnls | null>(null); // 침입수분석정보
|
||||
const [inftwtAnlsSn, setInftwtAnlsSn] = useState<number>(0); // 침입수분석 정보 선택시 사용
|
||||
const [chartData, setChartData] = useState<{ chartData1: { label: string; val: number }[]; chartData2: { label: string; val: number }[] }>({
|
||||
chartData1: [{ label: "1", val: 20 },
|
||||
{ label: "3", val: 40 },
|
||||
{ label: "5", val: 60 },],
|
||||
chartData2: [{ label: "1", val: 15 },
|
||||
{ label: "3", val: 35 },
|
||||
{ label: "5", val: 55 },],
|
||||
const [chartData, setChartData] = useState<{ chartData1: DataType[]; chartData2: DataType[] }>({
|
||||
chartData1: [], chartData2: [],
|
||||
});
|
||||
const aplcnYms = useAplcnYms('inftwtAnlsRslt'); // 상수사용월 데이터 가져오기
|
||||
pplMngNo = "L13101003";
|
||||
pplMngNo = "L"+pplMngNo; // "L13101003";
|
||||
console.log("pplMngNo", pplMngNo);
|
||||
const openPopup = () => {
|
||||
if (buttonRef.current) {
|
||||
const rect = buttonRef.current.getBoundingClientRect(); // 버튼 위치 계산
|
||||
@@ -44,7 +41,6 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo
|
||||
}
|
||||
setPopupOpen(true); // 팝업 열기
|
||||
};
|
||||
//console.log("btnTxt", btnTxt);
|
||||
|
||||
const chartForm = CHART_FORM.LINE;
|
||||
const chartConfig = {
|
||||
@@ -60,14 +56,7 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo
|
||||
setInftwtAnlsInfos([{ val: 0, text: '선택' }]); // 침입수분석정보 초기화
|
||||
setInftwtAnls(null); // 침입수분석정보 초기화
|
||||
setInftwtAnlsSn(0); // 침입수분석 일련번호 초기화
|
||||
setChartData({
|
||||
chartData1: [{ label: "1", val: 20 },
|
||||
{ label: "3", val: 40 },
|
||||
{ label: "5", val: 60 },],
|
||||
chartData2: [{ label: "1", val: 15 },
|
||||
{ label: "3", val: 35 },
|
||||
{ label: "5", val: 55 },],
|
||||
}); // 차트 데이터 초기화
|
||||
setChartData({chartData1: [], chartData2: []}); // 차트 데이터 초기화
|
||||
}
|
||||
}, [isModalOpen]);
|
||||
|
||||
@@ -84,6 +73,7 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo
|
||||
.then((data) => {
|
||||
setInftwtAnlss(data ?? []);
|
||||
setInftwtAnlsInfos(getOptionsInftwtAnlsInfo(data));
|
||||
setInftwtAnls(null); // 오수전환율 이후 초기화
|
||||
setInftwtAnlsSn(0); // 초기화
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -113,19 +103,19 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo
|
||||
chartData1: rsltData // 침입수분석결과
|
||||
}));
|
||||
});
|
||||
selectOilq(inftwtAnlsSn, pplMngNo).then((data) => {// 유량 조회
|
||||
const rsltData = getChartDataOilq(data ?? []);
|
||||
setChartData(prev => ({
|
||||
...prev,
|
||||
chartData2: rsltData // 유량
|
||||
}));
|
||||
}).catch((err) => {
|
||||
console.error("selectOilq 에러:", err);
|
||||
setChartData(prev => ({
|
||||
...prev,
|
||||
chartData2: [] // 유량 데이터 초기화
|
||||
}));
|
||||
});
|
||||
// selectOilq(inftwtAnlsSn, pplMngNo).then((data) => {// 유량 조회
|
||||
// const rsltData = getChartDataOilq(data ?? []);
|
||||
// setChartData(prev => ({
|
||||
// ...prev,
|
||||
// chartData2: rsltData // 유량
|
||||
// }));
|
||||
// }).catch((err) => {
|
||||
// console.error("selectOilq 에러:", err);
|
||||
// setChartData(prev => ({
|
||||
// ...prev,
|
||||
// chartData2: [] // 유량 데이터 초기화
|
||||
// }));
|
||||
// });
|
||||
setPopupOpen(false);
|
||||
};
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import { Button, Input, Label } from '@common/components';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
import type { TRdiiAnls, TRdiiAnlsRslt, TOilqData } from './aplcnYms';
|
||||
import { getChartDataRdiiAnlsRslt, selectRdiiAnlsRslt } from './aplcnYms';
|
||||
import { selectRdiiAnlsRslt, getChartDataRdiiAnlsRslt, getChartDataRdiiAnlsRsltMinq } from './aplcnYms';
|
||||
import { getOptionsRdiiAnlsInfo, selectRdiiAnls, useAplcnYms } from './aplcnYms';
|
||||
type ModalOpenProp = {
|
||||
isModalOpen: boolean,
|
||||
@@ -14,7 +14,7 @@ type ModalOpenProp = {
|
||||
btnTxt?: string,
|
||||
pplMngNo?: string, // 관로관리번호
|
||||
}
|
||||
|
||||
type DataType = {label: string; val: number};
|
||||
const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }: ModalOpenProp) => {
|
||||
const [popupOpen, setPopupOpen] = React.useState(true);
|
||||
const buttonRef = React.useRef<HTMLButtonElement>(null); // 버튼 참조
|
||||
@@ -24,16 +24,13 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }
|
||||
const [rdiiAnlsInfos, setRdiiAnlsInfos] = useState<any[]>([{ val: 0, text: '선택' }]); // 강우유입수분석정보 options
|
||||
const [rdiiAnls, setRdiiAnls] = useState<TRdiiAnls | null>(null); // 강우유입수분석정보
|
||||
const [rainInfwtAnlsSn, setRainInfwtAnlsSn] = useState<number>(0); // 강우유입수분석 정보 선택시 사용
|
||||
const [chartData, setChartData] = useState<{ chartData1: { label: string; val: number }[]; chartData2: { label: string; val: number }[] }>({
|
||||
chartData1: [{ label: "1", val: 20 },
|
||||
{ label: "3", val: 40 },
|
||||
{ label: "5", val: 60 },],
|
||||
chartData2: [{ label: "1", val: 15 },
|
||||
{ label: "3", val: 35 },
|
||||
{ label: "5", val: 55 },],
|
||||
const [chartData, setChartData] = useState<{ chartData1: DataType[]; chartData2: DataType[] }>({
|
||||
chartData1: [], chartData2: [],
|
||||
});
|
||||
|
||||
const aplcnYms = useAplcnYms('rdiiAnlsRslt'); // 상수사용월 데이터 가져오기
|
||||
pplMngNo = "L"+pplMngNo; // "L13101003";
|
||||
console.log("pplMngNo", pplMngNo);
|
||||
const openPopup = () => {
|
||||
if (buttonRef.current) {
|
||||
const rect = buttonRef.current.getBoundingClientRect(); // 버튼 위치 계산
|
||||
@@ -48,8 +45,8 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }
|
||||
|
||||
const chartForm = CHART_FORM.LINE;
|
||||
const chartConfig = {
|
||||
chartData1: { label: '강우유입수예측유량', color: "red", },
|
||||
chartData2: { label: '실측유량', color: "orange", }
|
||||
chartData1: { label: 'BSF', color: "orange", },
|
||||
chartData2: { label: '강우유입수예측유량', color: "red", },
|
||||
} as ChartConfig;
|
||||
|
||||
useEffect(() => {
|
||||
@@ -60,14 +57,7 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }
|
||||
setRdiiAnlsInfos([{ val: 0, text: '선택' }]); // 강우유입수분석정보 초기화
|
||||
setRdiiAnls(null); // 강우유입수분석정보 초기화
|
||||
setRainInfwtAnlsSn(0); // 강우유입수분석 일련번호 초기화
|
||||
setChartData({
|
||||
chartData1: [{ label: "1", val: 20 },
|
||||
{ label: "3", val: 40 },
|
||||
{ label: "5", val: 60 },],
|
||||
chartData2: [{ label: "1", val: 15 },
|
||||
{ label: "3", val: 35 },
|
||||
{ label: "5", val: 55 },],
|
||||
}); // 차트 데이터 초기화
|
||||
setChartData({chartData1: [], chartData2: []}); // 차트 데이터 초기화
|
||||
}
|
||||
}, [isModalOpen]);
|
||||
|
||||
@@ -84,6 +74,7 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }
|
||||
.then((data) => {
|
||||
setRdiiAnlss(data ?? []);
|
||||
setRdiiAnlsInfos(getOptionsRdiiAnlsInfo(data));
|
||||
setRdiiAnls(null); // 오수전환율 이후 초기화
|
||||
setRainInfwtAnlsSn(0); // 초기화
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -104,11 +95,12 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }
|
||||
}, [rainInfwtAnlsSn]);
|
||||
|
||||
const closePopup = () => { // 팝업 닫기
|
||||
selectRdiiAnlsRslt(rainInfwtAnlsSn, "L13101003").then((data) => {// 강우유입수분석 결과 조회
|
||||
const rsltData = getChartDataRdiiAnlsRslt(data ?? []);
|
||||
selectRdiiAnlsRslt(rainInfwtAnlsSn, pplMngNo).then((data) => {// 강우유입수분석 결과 조회
|
||||
const rsltData1 = getChartDataRdiiAnlsRsltMinq(data ?? []);
|
||||
const rsltData2 = getChartDataRdiiAnlsRslt(data ?? []);
|
||||
setChartData(prev => ({
|
||||
...prev,
|
||||
chartData1: rsltData // 강우유입수분석결과
|
||||
chartData1: rsltData1, // BSF
|
||||
chartData2: rsltData2 // 강우유입수분석결과
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user