diff --git a/src/components/simulator/Simulator.jsx b/src/components/simulator/Simulator.jsx
index 9e7768a1..d9eb6f49 100644
--- a/src/components/simulator/Simulator.jsx
+++ b/src/components/simulator/Simulator.jsx
@@ -4,14 +4,13 @@ import 'chart.js/auto'
import { Bar } from 'react-chartjs-2'
import dayjs from 'dayjs'
-import { useEffect, useState } from 'react'
+import { useEffect, useState, useRef } from 'react'
import { useRecoilState, useRecoilValue } from 'recoil'
import { floorPlanObjectState } from '@/store/floorPlanObjectAtom'
import { useAxios } from '@/hooks/useAxios'
import { useMessage } from '@/hooks/useMessage'
import { usePlan } from '@/hooks/usePlan'
-import { useCommonCode } from '@/hooks/common/useCommonCode'
import { useCanvasMenu } from '@/hooks/common/useCanvasMenu'
import { convertNumberToPriceDecimal, isEmptyArray } from '@/util/common-utils'
@@ -20,6 +19,8 @@ export default function Simulator() {
const { plans } = usePlan()
const plan = plans.find((plan) => plan.isCurrent === true)
+ const chartRef = useRef(null)
+
// recoil 물건번호
const objectRecoil = useRecoilValue(floorPlanObjectState)
const [objectNo, setObjectNo] = useState('')
@@ -38,41 +39,14 @@ export default function Simulator() {
const { get } = useAxios()
const { getMessage } = useMessage()
- // 공통코드 조회
- const { commonCode, findCommonCode } = useCommonCode()
- const [prefCodeList, setPrefCodeList] = useState([]) // 도도부현 코드
- const [areaIdList, setAreaIdList] = useState([]) // 시뮬레이션 코드
- const [windSpeedList, setWindSpeedList] = useState([]) // 기준 풍속 공통코드
-
- useEffect(() => {
- const code1 = findCommonCode(202000) // 기준풍속
- if (code1 != null) {
- setWindSpeedList(code1)
- }
- }, [commonCode])
-
- const chartData = [
- Math.floor(Math.random() * 1000),
- Math.floor(Math.random() * 2000),
- Math.floor(Math.random() * 3000),
- Math.floor(Math.random() * 4000),
- Math.floor(Math.random() * 5000),
- Math.floor(Math.random() * 6000),
- Math.floor(Math.random() * 6000),
- Math.floor(Math.random() * 5000),
- Math.floor(Math.random() * 4000),
- Math.floor(Math.random() * 3000),
- Math.floor(Math.random() * 2000),
- Math.floor(Math.random() * 1000),
- ]
-
// 차트 관련
+ const [chartData1, setChartData1] = useState([])
const data = {
labels: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
datasets: [
{
label: 'kWh',
- data: chartData,
+ data: chartData1.slice(0, 12),
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
@@ -133,48 +107,46 @@ export default function Simulator() {
fetchObjectDetail(objectNo)
}
fetchSimulatorNotice()
- }, [objectNo])
+ }, [objectNo, plan])
// 물건 상세 정보 조회
const [objectDetail, setObjectDetail] = useState({})
- const fetchObjectDetail = async (objectNo) => {
- const apiUrl = `/api/object/${objectNo}/detail`
- const resultData = await get({ url: apiUrl })
-
- if (resultData) {
- if (resultData.prefId) {
- get({ url: '/api/object/prefecture/list' }).then((res) => {
- if (!isEmptyArray(res)) {
- setPrefCodeList(res)
- }
- })
- get({ url: `/api/object/prefecture/${resultData.prefId}/list` }).then((res) => {
- if (!isEmptyArray(res)) {
- setAreaIdList(res)
- }
- })
- }
- setObjectDetail(resultData)
- }
- }
-
// 모듈배치정보 조회
const [moduleInfoList, setModuleInfoList] = useState([])
// 파워컨디셔너 조회
const [pcsInfoList, setPcsInfoList] = useState([])
+ const fetchObjectDetail = async (objectNo) => {
+ const apiUrl = `/api/pwrGnrSimulation/calculations?objectNo=${objectNo}&planNo=${plan?.id}`
+ const resultData = await get({ url: apiUrl })
+ if (resultData) {
+ console.log(resultData)
+ setObjectDetail(resultData)
+ if (resultData.frcPwrGnrList) {
+ setChartData1(resultData.frcPwrGnrList)
+ }
+ if (resultData.pcsList) {
+ setPcsInfoList(resultData.pcsList)
+ }
+ if (resultData.roofModuleList) {
+ setModuleInfoList(resultData.roofModuleList)
+ }
+ }
+ }
+
// 시뮬레이션 안내사항 조회
const [content, setContent] = useState('')
const fetchSimulatorNotice = async () => {
- const resultData = '1234123\r\n12\r\n3\r\n123\r\n12\r\n312\r\n312\r\n3123123123123\r\n\r\nㅅㄷㄴㅅ\r\nㅁㅅㄷㄴㅁㅅㄴㅁㅅㄴㅅ'
- if (resultData) {
- setContent(resultData.replaceAll('\n', '
'))
- } else {
- setContent(getMessage('common.message.no.data'))
- }
+ get({ url: '/api/pwrGnrSimulation/guideInfo' }).then((res) => {
+ if (res.data) {
+ setContent(res.data.replaceAll('\n', '
'))
+ } else {
+ setContent(getMessage('common.message.no.data'))
+ }
+ })
}
return (
@@ -187,56 +159,45 @@ export default function Simulator() {