Browse Source

일물 일출 api 생성

pull/2/head
sanguu516(박상현) 11 months ago
parent
commit
6209adb96a
  1. 19
      src/modules/laanc/actions/laancActions.ts
  2. 10
      src/modules/laanc/apis/laancApi.ts
  3. 12
      src/modules/laanc/models/laancModels.ts
  4. 7
      src/modules/laanc/reducers/laancReducers.ts
  5. 23
      src/modules/laanc/sagas/laancSagas.ts

19
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
)<FlightPlanData, LaancPdf, AxiosError>();
// laanc 일물 일출
export const LAANC_SUN_DATA = createAsyncAction(
LAANC_FLIGHT_CREATE_REQUEST,
LAANC_FLIGHT_CREATE_SUCCESS,
LAANC_FLIGHT_CREATE_FAILURE
)<LaancSunRq, LaancSunData, AxiosError>();
const actions = {
laancPdfAction,
LAANC_FLIGHT_Approval,
LAANC_FLIGHT_CREATE,
LAANC_APPROVAL_INIT
LAANC_APPROVAL_INIT,
LAANC_SUN_DATA
};
export type LaancAction = ActionType<typeof actions>;

10
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;
}
};

12
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<FlightPlanArcrftData> {}
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 {}

7
src/modules/laanc/reducers/laancReducers.ts

@ -36,6 +36,13 @@ export const laancReducer = createReducer<laancState, Actions.LaancAction>(
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) =>

23
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<typeof Actions.LAANC_SUN_DATA.request>
) {
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<typeof Actions.LAANC_FLIGHT_CREATE.request>
@ -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);
}

Loading…
Cancel
Save