From 6209adb96a79c1532e1194320177efc58fcc86f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sanguu516=28=EB=B0=95=EC=83=81=ED=98=84=29?= Date: Mon, 16 Oct 2023 15:55:16 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=BC=EB=AC=BC=20=EC=9D=BC=EC=B6=9C=20api?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/laanc/actions/laancActions.ts | 19 +++++++++++++++-- src/modules/laanc/apis/laancApi.ts | 10 ++++++++- src/modules/laanc/models/laancModels.ts | 12 +++++++++++ src/modules/laanc/reducers/laancReducers.ts | 7 +++++++ src/modules/laanc/sagas/laancSagas.ts | 23 +++++++++++++++++++++ 5 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/modules/laanc/actions/laancActions.ts b/src/modules/laanc/actions/laancActions.ts index 9eb09f5..c519530 100644 --- a/src/modules/laanc/actions/laancActions.ts +++ b/src/modules/laanc/actions/laancActions.ts @@ -5,7 +5,9 @@ import { LaancFlightData, LaancApproval, FlightPlanData, - LaancPdf + LaancPdf, + LaancSunData, + LaancSunRq } from '../models/laancModels'; // laanc 공문 pdf 다운로드 @@ -23,6 +25,11 @@ const LAANC_FLIGHT_CREATE_REQUEST = 'laanc/create/REQUEST'; const LAANC_FLIGHT_CREATE_SUCCESS = 'laanc/create/SUCCESS'; const LAANC_FLIGHT_CREATE_FAILURE = 'laanc/create/FAILURE'; +//laanc 일물 일출 +const LAANC_SUN_DATA_REQUEST = 'laanc/sun/REQUEST'; +const LAANC_SUN_DATA_SUCCESS = 'laanc/sun/SUCCESS'; +const LAANC_SUN_DATA_FAILURE = 'laanc/sun/FAILURE'; + // laanc 초기화 const INIT_LAANC = 'laanc/init'; // laanc 공문 pdf 다운로드 @@ -48,10 +55,18 @@ export const LAANC_FLIGHT_CREATE = createAsyncAction( LAANC_FLIGHT_CREATE_FAILURE )(); +// laanc 일물 일출 +export const LAANC_SUN_DATA = createAsyncAction( + LAANC_FLIGHT_CREATE_REQUEST, + LAANC_FLIGHT_CREATE_SUCCESS, + LAANC_FLIGHT_CREATE_FAILURE +)(); + const actions = { laancPdfAction, LAANC_FLIGHT_Approval, LAANC_FLIGHT_CREATE, - LAANC_APPROVAL_INIT + LAANC_APPROVAL_INIT, + LAANC_SUN_DATA }; export type LaancAction = ActionType; diff --git a/src/modules/laanc/apis/laancApi.ts b/src/modules/laanc/apis/laancApi.ts index 262bc57..465f8e0 100644 --- a/src/modules/laanc/apis/laancApi.ts +++ b/src/modules/laanc/apis/laancApi.ts @@ -2,7 +2,8 @@ import axios from '../../utils/customAxiosUtil'; import { LaancFlightData, FlightPlanAreaData, - FlightPlanData + FlightPlanData, + LaancSunData } from '../models/laancModels'; // laanc 승인 @@ -14,5 +15,12 @@ export const laancApi = { postCreate: async (data: FlightPlanData) => { const res = await axios.post(`api/bas/laanc/plan/create`, data); return res; + }, + // 일물 일출 데이터 api get 호출 + getSunData: async (data: LaancSunData) => { + const res = await axios.get(`api/bas/laanc/plan/sun`, { + params: data + }); + return res.data; } }; diff --git a/src/modules/laanc/models/laancModels.ts b/src/modules/laanc/models/laancModels.ts index e8c09f0..eb35fdf 100644 --- a/src/modules/laanc/models/laancModels.ts +++ b/src/modules/laanc/models/laancModels.ts @@ -4,6 +4,7 @@ export interface laancState { detail: FlightPlanData | undefined; laancApply: LaancApproval | undefined; laancPdf: LaancPdf | undefined; + laancSun: LaancSunData | undefined; } // laanc계획서 초기값 @@ -360,6 +361,7 @@ export interface FlightPlanArcrftDataList extends Array {} export const laancControlData = { laancPdf: undefined, laancApply: undefined, + laancSun: undefined, detail: { planSno: 0, groupId: '', @@ -593,3 +595,13 @@ export const initFlightBas = { ] } }; +// laanc 일물 일출 data +export interface LaancSunRq { + lat: string; + lon: string; + locEndDate: string; + locStDate: string; +} + +// laanc 일물 일출 reducer data +export interface LaancSunData {} diff --git a/src/modules/laanc/reducers/laancReducers.ts b/src/modules/laanc/reducers/laancReducers.ts index a6ba8d8..c307bfb 100644 --- a/src/modules/laanc/reducers/laancReducers.ts +++ b/src/modules/laanc/reducers/laancReducers.ts @@ -36,6 +36,13 @@ export const laancReducer = createReducer( draft.laancApply = undefined; // draft.detail = initFlightBas.initDetail; }) + ) + .handleAction(Actions.LAANC_SUN_DATA.success, (state, action) => + produce(state, draft => { + const data = action.payload; + draft.laancSun = data; + // draft.detail = initFlightBas.initDetail; + }) ); // handleAction(Actions.laancFlightApproval.success, (state, action) => diff --git a/src/modules/laanc/sagas/laancSagas.ts b/src/modules/laanc/sagas/laancSagas.ts index 5b85457..d7ca9f9 100644 --- a/src/modules/laanc/sagas/laancSagas.ts +++ b/src/modules/laanc/sagas/laancSagas.ts @@ -41,6 +41,27 @@ function* postApprovalsata( // yield put(Actions.FLIGHT_PLAN_CREATE.failure(error)); } } + +// laanc 일물 일출 +function* getSunDataSaga( + action: ActionType +) { + try { + const detail = action.payload; + const res = yield call(Apis.laancApi.getSunData, detail); + yield put(Actions.LAANC_SUN_DATA.success(res.data)); + } catch (error) { + yield put( + MessageActions.IS_ERROR({ + errorCode: ERROR_MESSAGE.code, + errorMessage: ERROR_MESSAGE.message, + isHistoryBack: false, + isRefresh: false + }) + ); + } +} + // laanc 생성 function* postCreatesata( action: ActionType @@ -73,8 +94,10 @@ function* postCreatesata( // yield put(Actions.FLIGHT_PLAN_CREATE.failure(error)); } } + export function* laancSaga() { yield takeEvery(Actions.laancPdfAction.request, getLaancPdfsaga); yield takeEvery(Actions.LAANC_FLIGHT_Approval.request, postApprovalsata); yield takeEvery(Actions.LAANC_FLIGHT_CREATE.request, postCreatesata); + yield takeEvery(Actions.LAANC_SUN_DATA.request, getSunDataSaga); }