diff --git a/src/modules/control/gp/models/controlGpModel.ts b/src/modules/control/gp/models/controlGpModel.ts
index 95ad85a6..fbd3dbed 100644
--- a/src/modules/control/gp/models/controlGpModel.ts
+++ b/src/modules/control/gp/models/controlGpModel.ts
@@ -54,6 +54,7 @@ export interface ControlDetailData {
ownerNm: string;
hpno: string;
telno: string;
+ items: [];
}
export interface ControlGpDtlData {
@@ -100,12 +101,6 @@ export interface ControlGpData {
controlWarnNotyCd: boolean;
}
export interface ControlweatherData {
- serviceKey: string;
- numOfRows: string;
- pageNo: string;
- dataType: string;
- base_date: string;
- base_time: string;
nx: string;
ny: string;
}
diff --git a/src/modules/control/gp/reducers/controlGpReducer.ts b/src/modules/control/gp/reducers/controlGpReducer.ts
index 772e838d..2817ff60 100644
--- a/src/modules/control/gp/reducers/controlGpReducer.ts
+++ b/src/modules/control/gp/reducers/controlGpReducer.ts
@@ -113,7 +113,6 @@ export const controlGpDtlReducer = createReducer<
.handleAction(controlGpDtlAction.success, (state, action) =>
produce(state, draft => {
const data: ControlDetailData = action.payload;
-
draft.controlDetail = data;
})
);
diff --git a/src/modules/control/gp/sagas/controlGpSaga.ts b/src/modules/control/gp/sagas/controlGpSaga.ts
index 759f459f..ddc58b9d 100644
--- a/src/modules/control/gp/sagas/controlGpSaga.ts
+++ b/src/modules/control/gp/sagas/controlGpSaga.ts
@@ -119,9 +119,26 @@ function* controlDtlSaga(
) {
try {
const controlId = action.payload;
+ const state = yield select();
+ const { controlGpList } = state.controlGpState;
+ const a = controlGpList.filter(i => i.controlId === controlId);
+ const lat = a[0].lat;
+ const lng = a[0].lng;
+
+ const rq = {
+ nx: lat,
+ ny: lng
+ };
+ //날씨 api 호출
+ const res = yield call(controlGpApi.apiweather, rq);
const { data } = yield call(controlGpApi.getDetail, controlId);
- yield put(Actions.controlGpDtlAction.success(data));
+ yield put(
+ Actions.controlGpDtlAction.success({
+ ...data,
+ items: res.response.body.items
+ })
+ );
} catch (error) {
yield put(Actions.controlGpDtlAction.failure(error));
}
diff --git a/src/views/control/report/ControlReportDetail.js b/src/views/control/report/ControlReportDetail.js
index e6b4172f..81f0563d 100644
--- a/src/views/control/report/ControlReportDetail.js
+++ b/src/views/control/report/ControlReportDetail.js
@@ -1,5 +1,5 @@
import moment from 'moment';
-import React from 'react';
+import React, { useMemo } from 'react';
import { useState, useEffect } from 'react';
import { X } from 'react-feather';
import { useDispatch, useSelector } from 'react-redux';
@@ -33,77 +33,94 @@ const ControlReportDetail = props => {
const { controlGpDetail, controlDetail } = useSelector(
state => state.controlGpDtlState
);
- const { controlWheather } = useSelector(state => state.ControlGpWeatherState);
+ //const { controlWheather } = useSelector(state => state.ControlGpWeatherState);
const { controlGpWarnLog } = useSelector(state => state.controlGpLogState);
- useEffect(() => {
- if (controlGpDetail) {
- const rs = dfsxyconv("toXY", controlGpDetail?.lat, controlGpDetail?.lng);
- let now = new Date();
- let year = now.getFullYear(); // 년도
- let month = now.getMonth() + 1; // 월
- let day = ('0' + now.getDate()).slice(-2); // 날짜
- const today = `${year}${month}${day}`;
- let hours = now.getHours();
- let minutes = now.getMinutes();
- let basetime = "2300";
- if ((hours >= 2 && minutes > 9) && hours <= 5) {
- basetime = "0200";
- }
- else if ((hours >= 5 && minutes > 9) && hours < 8) {
- basetime = "0500";
- }
- else if (hours >= 8 && minutes < 10) {
- basetime = "0500";
- }
- else if ((hours >= 8 && minutes > 9) && hours < 11) {
- basetime = "0800";
- }
- else if (hours >= 11 && minutes < 10) {
- basetime = "0800";
- }
- else if (hours >= 11 && hours < 14) {
- basetime = "1100";
- }
- else if (hours >= 14 && minutes < 10) {
- basetime = "1100";
- }
- else if ((hours >= 14 && minutes > 9) && hours < 17) {
- basetime = "1400";
- }
- else if (hours >= 17 && minutes < 10) {
- basetime = "1400";
- }
- else if ((hours >= 17 && minutes > 9) && hours < 20) {
- basetime = "1700";
- }
- else if (hours >= 20 && minutes < 10) {
- basetime = "2000";
- }
- else if ((hours >= 20 && minutes > 9) && hours < 23) {
- basetime = "2000";
- }
- else if (hours >= 23 && minutes < 10) {
- basetime = "2300";
- }
- else if (hours >= 23 && minutes > 9) {
- basetime = "2300";
- }
- const apidata = {
- serviceKey: "r6RMUsk3Vtama7D6uq7MiWV9dTC9MwfIIr4%2F45y0uVNw6BaYbgpKmL%2BLUDFVTfIYUmEe4K%2FaniEjdV9mg5t82Q%3D%3D",
- numOfRows: 14,
- pageNo: 1,
- dataType: "JSON",
- base_date: today,
- base_time: basetime,
- nx: rs.x,
- ny: rs.y,
- }
- dispatch(controlweatherAction.request(apidata));
+ function a() {
+ if (controlDetail) {
+ let wheatherDetail = controlDetail.items.item;
+ let skyDetail = wheatherDetail[6].fcstValue;
+ if (skyDetail == 1 || skyDetail == 2 || skyDetail == 4) {
+ return