diff --git a/src/components/analysis/history/AnalysisHistoryDetailSearch.js b/src/components/analysis/history/AnalysisHistoryDetailSearch.js
index 9f6e1e31..79bbf521 100644
--- a/src/components/analysis/history/AnalysisHistoryDetailSearch.js
+++ b/src/components/analysis/history/AnalysisHistoryDetailSearch.js
@@ -7,7 +7,7 @@ export const AnalysisHistoryDetailSearch = props => {
// const { log } = useSelector(state => state.analysisHistoryState);
// const dispatch = useDispatch();
// useEffect(() => {
- // dispatch(Actions.detail.request(props.id));
+ // dispatch(Actions.getHstryDetail.request(props.id));
// }, []);
return (
diff --git a/src/containers/analysis/history/AnalysisHistoryContainer.js b/src/containers/analysis/history/AnalysisHistoryContainer.js
index 244fc0ed..46982cfd 100644
--- a/src/containers/analysis/history/AnalysisHistoryContainer.js
+++ b/src/containers/analysis/history/AnalysisHistoryContainer.js
@@ -113,9 +113,12 @@ export const AnalysisHistoryContainer = props => {
sessionStorage.setItem('cstmrSno', user.cstmrSno);
setParams(prevState => ({ ...prevState, groupId }));
- dispatch(Actions.LIST_INITAL());
+ dispatch(Actions.clientSelectHstryGroup());
dispatch(
- Actions.list.request({ searchParams: { ...params, groupId }, page: 1 })
+ Actions.getHstryList.request({
+ searchParams: { ...params, groupId },
+ page: 1
+ })
);
};
@@ -221,7 +224,7 @@ export const AnalysisHistoryContainer = props => {
});
} else {
dispatch(LaancAction.clientRoupSelect({ ...params }));
- dispatch(Actions.list.request({ searchParams: params, page: 1 }));
+ dispatch(Actions.getHstryList.request({ searchParams: params, page: 1 }));
}
};
@@ -252,7 +255,7 @@ export const AnalysisHistoryContainer = props => {
// 페이지 이동 handler
const handlerPageChange = page => {
- dispatch(Actions.list.request({ searchParams: params, page }));
+ dispatch(Actions.getHstryList.request({ searchParams: params, page }));
};
return (
diff --git a/src/containers/analysis/history/AnalysisHistoryDetailContainer.js b/src/containers/analysis/history/AnalysisHistoryDetailContainer.js
index 89690887..52e83c71 100644
--- a/src/containers/analysis/history/AnalysisHistoryDetailContainer.js
+++ b/src/containers/analysis/history/AnalysisHistoryDetailContainer.js
@@ -22,7 +22,7 @@ export const AnalysisHistoryDetailContainer = () => {
// 비행이력 목록 불러오는 handler
const handlerSearch = () => {
- dispatch(Actions.detail.request(id));
+ dispatch(Actions.getHstryDetail.request(id));
};
const excelHeaders = [
diff --git a/src/containers/analysis/simulator/AnalysisSimulationContainer.js b/src/containers/analysis/simulator/AnalysisSimulationContainer.js
index 76263f5a..aae75709 100644
--- a/src/containers/analysis/simulator/AnalysisSimulationContainer.js
+++ b/src/containers/analysis/simulator/AnalysisSimulationContainer.js
@@ -190,7 +190,7 @@ export const AnalysisSimulationContainer = props => {
const handlerSearch = search1 => {
setParams({ ...params, search1 });
dispatch(
- SmltActions.list.request({
+ SmltActions.getSmltList.request({
searchParams: { ...params, search1 },
page: 1
})
@@ -198,16 +198,16 @@ export const AnalysisSimulationContainer = props => {
};
const handlerDetailSearch = id => {
- dispatch(SmltActions.detail.request(id));
+ dispatch(SmltActions.getSmltDetail.request(id));
};
const handlerLogSearch = id => {
- dispatch(SmltActions.log.request(id));
+ dispatch(SmltActions.getSmltLog.request(id));
};
//
const handlerStcsSearch = id => {
- dispatch(SmltActions.stcs.request(id));
+ dispatch(SmltActions.getSmltStcs.request(id));
};
// 검색
@@ -250,7 +250,10 @@ export const AnalysisSimulationContainer = props => {
// 비행 시물레이션 데이터 호출
const handlerPageList = useCallback(() => {
dispatch(
- SmltActions.list.request({ searchParams: { ...params }, page: page + 1 })
+ SmltActions.getSmltList.request({
+ searchParams: { ...params },
+ page: page + 1
+ })
);
}, [params, list, page]);
diff --git a/src/modules/NAMING.md b/src/modules/NAMING.md
index c867a0ac..8c16b310 100644
--- a/src/modules/NAMING.md
+++ b/src/modules/NAMING.md
@@ -9,6 +9,8 @@
┃ ┣ 📂 reducers Reducer 함수
┃ ┣ 📂 sagas Saga 함수
┃ ┣ 📜 index.ts
+
+// 폴더에는 index.ts 파일 하나만 작성한다.
```
diff --git a/src/modules/analysis/history/actions/index.ts b/src/modules/analysis/history/actions/index.ts
index 655513ea..e6d951a8 100644
--- a/src/modules/analysis/history/actions/index.ts
+++ b/src/modules/analysis/history/actions/index.ts
@@ -1,60 +1,66 @@
import { AxiosError } from 'axios';
import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';
import {
- AnalysisHistoryData,
- AnalysisHistoryLogData,
- AnalysisHistoryState
+ IGetHstryDetailRs,
+ IGetHstryListRs,
+ IGetHstryLogRs,
+ IHistoryState
} from '../models';
// 비행 이력 현황 목록
-const LIST_REQUEST = 'anls/hstry/LIST_REQUEST';
-const LIST_SUCCESS = 'anls/hstry/LIST_SUCCESS';
-const LIST_FAILURE = 'anls/hstry/LIST_FAILURE';
+const GET_HSTRY_LIST_REQUEST = 'anls/hstry/GET_HSTRY_LIST_REQUEST';
+const GET_HSTRY_LIST_SUCCESS = 'anls/hstry/GET_HSTRY_LIST_SUCCESS';
+const GET_HSTRY_LIST_FAILURE = 'anls/hstry/GET_HSTRY_LIST_FAILURE';
// 비행 이력 로그
-const LOG_REQUEST = 'anls/hstry/LOG_REQUEST';
-const LOG_SUCCESS = 'anls/hstry/LOG_SUCCESS';
-const LOG_FAILURE = 'anls/hstry/LOG_FAILURE';
+const GET_HSTRY_LOG_REQUEST = 'anls/hstry/GET_HSTRY_LOG_REQUEST';
+const GET_HSTRY_LOG_SUCCESS = 'anls/hstry/GET_HSTRY_LOG_SUCCESS';
+const GET_HSTRY_LOG_FAILURE = 'anls/hstry/GET_HSTRY_LOG_FAILURE';
// 비행 이력 상세
-const DETAIL_REQUEST = 'anls/hstry/DETAIL_REQUEST';
-const DETAIL_SUCCESS = 'anls/hstry/DETAIL_SUCCESS';
-const DETAIL_FAILURE = 'anls/hstry/DETAIL_FAILURE';
+const GET_HSTRY_DETAIL_REQUEST = 'anls/hstry/GET_HSTRY_DETAIL_REQUEST';
+const GET_HSTRY_DETAIL_SUCCESS = 'anls/hstry/GET_HSTRY_DETAIL_SUCCESS';
+const GET_HSTRY_DETAIL_FAILURE = 'anls/hstry/GET_HSTRY_DETAIL_FAILURE';
-// 검색
-const DISPATCH_SEARCH = 'anls/hstry/DISPATCH_SEARCH';
+// 검색 조건 저장
+const CLIENT_SEARCH_PARAM = 'anls/hstry/CLIENT_SEARCH_PARAM';
-const LIST_INIT = 'anls/hstry/LIST_INIT';
+// 그룹 선택 시 검색 데이터 저장
+const CLIENT_SELECT_HSTRY_GROUP = 'anls/hstry/CLIENT_SELECT_HSTRY_GROUP';
-export const dispatchSearch =
- createAction(DISPATCH_SEARCH)<{ searchParams: string }>();
-
-export const list = createAsyncAction(LIST_REQUEST, LIST_SUCCESS, LIST_FAILURE)<
- AnalysisHistoryState,
- { data: AnalysisHistoryData[]; count: number; total: number },
+export const getHstryList = createAsyncAction(
+ GET_HSTRY_LIST_REQUEST,
+ GET_HSTRY_LIST_SUCCESS,
+ GET_HSTRY_LIST_FAILURE
+)<
+ IHistoryState,
+ { data: IGetHstryListRs[]; count: number; total: number },
AxiosError
>();
-export const log = createAsyncAction(LOG_REQUEST, LOG_SUCCESS, LOG_FAILURE)<
- string,
- { log: AnalysisHistoryLogData[] },
- AxiosError
->();
+export const getHstryLog = createAsyncAction(
+ GET_HSTRY_LOG_REQUEST,
+ GET_HSTRY_LOG_SUCCESS,
+ GET_HSTRY_LOG_FAILURE
+)();
+
+export const getHstryDetail = createAsyncAction(
+ GET_HSTRY_DETAIL_REQUEST,
+ GET_HSTRY_DETAIL_SUCCESS,
+ GET_HSTRY_DETAIL_FAILURE
+)();
-export const detail = createAsyncAction(
- DETAIL_REQUEST,
- DETAIL_SUCCESS,
- DETAIL_FAILURE
-)();
+export const clientSearchParam =
+ createAction(CLIENT_SEARCH_PARAM)<{ searchParams: string }>();
-export const LIST_INITAL = createAction(LIST_INIT)();
+export const clientSelectHstryGroup = createAction(CLIENT_SELECT_HSTRY_GROUP)();
const actions = {
- list,
- detail,
- log,
- dispatchSearch,
- LIST_INITAL
+ getHstryList,
+ getHstryLog,
+ getHstryDetail,
+ clientSearchParam,
+ clientSelectHstryGroup
};
export type AnalysisHistoryAction = ActionType;
diff --git a/src/modules/analysis/history/apis/index.ts b/src/modules/analysis/history/apis/index.ts
index 721b1a18..ad9532ba 100644
--- a/src/modules/analysis/history/apis/index.ts
+++ b/src/modules/analysis/history/apis/index.ts
@@ -1,8 +1,8 @@
import axios from '../../../utils/customAxiosUtil';
import qs from 'qs';
-export const analysisHistory = {
- list: async (data: string, page: number) => {
+export const historyAPI = {
+ getHstryList: async (data: string, page: number) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
@@ -10,11 +10,10 @@ export const analysisHistory = {
return await axios.get(`/api/anls/hstry/list${queryString}&page=${page}`);
},
- detail: async (id: string) => {
- return await axios.get(`/api/anls/hstry/detail/${id}`);
- },
-
- log: async (id: string) => {
+ getHstryLog: async (id: string) => {
return await axios.get(`/api/anls/hstry/log/${id}`);
+ },
+ getHstryDetail: async (id: string) => {
+ return await axios.get(`/api/anls/hstry/detail/${id}`);
}
};
diff --git a/src/modules/analysis/history/models/index.ts b/src/modules/analysis/history/models/index.ts
index e32f2717..6122f0bd 100644
--- a/src/modules/analysis/history/models/index.ts
+++ b/src/modules/analysis/history/models/index.ts
@@ -1,7 +1,20 @@
-export interface AnalysisHistoryState {
- data: AnalysisHistoryData[] | undefined;
- detail: AnalysisHistoryData | undefined;
- log: AnalysisHistoryLogData[] | undefined;
+export const initHistory: IHistoryState = {
+ data: undefined,
+ detail: undefined,
+ log: undefined,
+ count: 0,
+ searchParams: '',
+ arrSpeed: undefined,
+ arrElev: undefined,
+ page: 1,
+ total: 0,
+ id: undefined
+};
+
+export interface IHistoryState {
+ data: IGetHstryListRs[] | undefined;
+ detail: IGetHstryDetailRs | undefined;
+ log: IGetHstryLogRs[] | undefined;
count: number | 0;
searchParams: string;
arrSpeed: number[] | undefined;
@@ -11,37 +24,45 @@ export interface AnalysisHistoryState {
id: string | undefined;
}
-export interface AnalysisHistoryDetailState {
- analysisHistoryDetail: AnalysisHistoryData | undefined;
+export interface IGetHstryListRs {
+ cntrlId: string;
+ idntfNum: string;
+ cntrlStDt: Date;
+ cntrlEndDt: Date;
+ ttlTime: number;
+ ttlDstnc: number;
+ avrgSpeed: number;
+ bttrCnsmptn: number;
+ area1: string;
+ area2: string;
+ area3: string;
+ landNm?: string;
+ landNum: string;
+ stArea: string;
}
-export interface AnalysisHistoryData {
+export interface IGetHstryDetailRs {
cntrlId: string;
idntfNum: string;
statusCd: string;
objectTypeCd: string;
- flghtStDt: string;
- flghtEndDt: string;
cntrlStDt: Date;
- cntrlEndDt: string;
+ cntrlEndDt: Date;
ttlTime: number;
- ttlTimeType: string;
ttlDstnc: number;
ttlDstncType: string;
- avrgSpeed: number;
- avrgSpeedType: string;
+ avrgSpped: number;
bttrCnsmptn: number;
- stArea: string;
- endArea: string;
- createDt: string;
- updateDt: string;
+ endTypeCd: string;
+ createDt: Date;
+ updateDt: Date;
}
-export interface AnalysisHistoryLogData {
+export interface IGetHstryLogRs {
hstrySno: number;
cntrlId: string;
+ idntfNum: string;
trmnlId: string;
-
mssgTypeCd: string;
statusCd: string;
lat: number;
@@ -54,24 +75,6 @@ export interface AnalysisHistoryLogData {
mvDstnc: number;
bttrLvl: number;
bttrVltg: number;
- trmnlRcvDt: string;
- srvrRcvDt: string;
+ trmnlRcvDt: Date;
+ srvrRcvDt: Date;
}
-
-export interface ReponseAnalysisHistoryData {
- data: AnalysisHistoryData[];
- count: number;
-}
-
-export const initResponseAnalysisHistoryData: AnalysisHistoryState = {
- data: undefined,
- detail: undefined,
- log: undefined,
- count: 0,
- searchParams: '',
- arrSpeed: undefined,
- arrElev: undefined,
- page: 1,
- total: 0,
- id: undefined
-};
diff --git a/src/modules/analysis/history/reducers/index.ts b/src/modules/analysis/history/reducers/index.ts
index 54741334..a2653372 100644
--- a/src/modules/analysis/history/reducers/index.ts
+++ b/src/modules/analysis/history/reducers/index.ts
@@ -2,29 +2,26 @@ import { createReducer } from 'typesafe-actions';
import produce from 'immer';
import * as Actions from '../actions';
-import {
- initResponseAnalysisHistoryData,
- AnalysisHistoryState
-} from '../models';
+import { initHistory, IHistoryState } from '../models';
-export const analysisHistoryReducer = createReducer<
- AnalysisHistoryState,
+export const historyReducer = createReducer<
+ IHistoryState,
Actions.AnalysisHistoryAction
->(initResponseAnalysisHistoryData)
- .handleAction(Actions.dispatchSearch, (state, action) =>
+>(initHistory)
+ .handleAction(Actions.clientSearchParam, (state, action) =>
produce(state, draft => {
const { searchParams } = action.payload;
draft.searchParams = searchParams;
})
)
- .handleAction(Actions.list.request, (state, action) =>
+ .handleAction(Actions.getHstryList.request, (state, action) =>
produce(state, draft => {
const { searchParams, page } = action.payload;
draft.searchParams = searchParams;
draft.page = page;
})
)
- .handleAction(Actions.list.success, (state, action) =>
+ .handleAction(Actions.getHstryList.success, (state, action) =>
produce(state, draft => {
const { data, count, total } = action.payload;
@@ -33,22 +30,22 @@ export const analysisHistoryReducer = createReducer<
draft.total = total;
})
)
- .handleAction(Actions.detail.success, (state, action) =>
+ .handleAction(Actions.getHstryDetail.success, (state, action) =>
produce(state, draft => {
const { detail } = action.payload;
draft.detail = detail;
})
)
- .handleAction(Actions.log.success, (state, action) =>
+ .handleAction(Actions.getHstryLog.success, (state, action) =>
produce(state, draft => {
const { log } = action.payload;
draft.log = log;
})
)
- .handleAction(Actions.LIST_INITAL, (state, action) =>
+ .handleAction(Actions.clientSelectHstryGroup, (state, action) =>
produce(state, draft => {
- draft.data = initResponseAnalysisHistoryData.data;
- draft.count = initResponseAnalysisHistoryData.count;
- draft.total = initResponseAnalysisHistoryData.total;
+ draft.data = initHistory.data;
+ draft.count = initHistory.count;
+ draft.total = initHistory.total;
})
);
diff --git a/src/modules/analysis/history/sagas/index.ts b/src/modules/analysis/history/sagas/index.ts
index 764c7714..106e27cc 100644
--- a/src/modules/analysis/history/sagas/index.ts
+++ b/src/modules/analysis/history/sagas/index.ts
@@ -2,64 +2,70 @@ import { call, put, takeEvery } from '@redux-saga/core/effects';
import { ActionType } from 'typesafe-actions';
import * as Actions from '../actions';
-import * as Apis from '../apis';
+import { historyAPI } from '../apis';
-function* listSaga(action: ActionType) {
+function* getHstryListSaga(
+ action: ActionType
+) {
try {
const { searchParams, page } = action.payload;
- const res = yield call(Apis.analysisHistory.list, searchParams, page);
+ const res = yield call(historyAPI.getHstryList, searchParams, page);
const {
data: { items, total },
count
} = res;
yield put(
- Actions.list.success({
+ Actions.getHstryList.success({
data: items,
count,
total
})
);
} catch (error: any) {
- yield put(Actions.list.failure(error));
+ yield put(Actions.getHstryList.failure(error));
}
}
-function* detailSaga(action: ActionType) {
+function* getHstryLogSaga(
+ action: ActionType
+) {
try {
const id = action.payload;
- const res = yield call(Apis.analysisHistory.detail, id);
- yield put(Actions.log.request(id));
+ const res = yield call(historyAPI.getHstryLog, id);
const { data } = res;
+
yield put(
- Actions.detail.success({
- detail: data
+ Actions.getHstryLog.success({
+ log: data
})
);
} catch (error: any) {
- yield put(Actions.detail.failure(error));
+ yield put(Actions.getHstryLog.failure(error));
}
}
-function* logSaga(action: ActionType) {
+function* getHstryDetailSaga(
+ action: ActionType
+) {
try {
const id = action.payload;
- const res = yield call(Apis.analysisHistory.log, id);
+ const res = yield call(historyAPI.getHstryDetail, id);
+ yield put(Actions.getHstryLog.request(id));
const { data } = res;
-
yield put(
- Actions.log.success({
- log: data
+ Actions.getHstryDetail.success({
+ detail: data
})
);
} catch (error: any) {
- yield put(Actions.log.failure(error));
+ yield put(Actions.getHstryDetail.failure(error));
}
}
export function* analysisHistorySaga() {
- yield takeEvery(Actions.list.request, listSaga);
- yield takeEvery(Actions.detail.request, detailSaga);
- yield takeEvery(Actions.log.request, logSaga);
+ yield takeEvery(Actions.getHstryList.request, getHstryListSaga);
+ yield takeEvery(Actions.getHstryDetail.request, getHstryDetailSaga);
+ yield takeEvery(Actions.getHstryLog.request, getHstryLogSaga);
}
diff --git a/src/modules/analysis/simulation/actions/analysisSimulatorAction.ts b/src/modules/analysis/simulation/actions/analysisSimulatorAction.ts
deleted file mode 100644
index 670aace5..00000000
--- a/src/modules/analysis/simulation/actions/analysisSimulatorAction.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { AxiosError } from 'axios';
-import { ActionType, createAction, createAsyncAction } from 'typesafe-actions';
-import {
- AnalysisSimulatorData,
- AnalysisSimulatorLogData,
- AnalysisSimulatorState,
- AnalysisSimulatorStcsData
-} from '../models';
-
-// 시뮬레이션 목록
-const LIST_REQUEST = 'anls/smlt/LIST_REQUEST';
-const LIST_SUCCESS = 'anls/smlt/LIST_SUCCESS';
-const LIST_FAILURE = 'anls/smlt/LIST_FAILURE';
-
-// 시뮬레이션 상세 로그 목록
-const LOG_REQUEST = 'anls/smlt/LOG_REQUEST';
-const LOG_SUCCESS = 'anls/smlt/LOG_SUCCESS';
-const LOG_FAILURE = 'anls/smlt/LOG_FAILURE';
-
-// 시뮬레이션 상세 정보
-const DETAIL_REQUEST = 'anls/smlt/DETAIL_REQUEST';
-const DETAIL_SUCCESS = 'anls/smlt/DETAIL_SUCCESS';
-const DETAIL_FAILURE = 'anls/smlt/DETAIL_FAILURE';
-
-// 시뮬레이션 분 단위 통계 정보
-const STATICS_REQUEST = 'anls/smlt/STATICS_REQUEST';
-const STATICS_SUCCESS = 'anls/smlt/STATICS_SUCCESS';
-const STATICS_FAILURE = 'anls/smlt/STATICS_FAILURE';
-
-const DISPATCH_SEARCH = 'anls/smlt/DISPATCH_SEARCH';
-
-export const dispatchSearch =
- createAction(DISPATCH_SEARCH)<{ searchParams: string }>();
-
-export const list = createAsyncAction(LIST_REQUEST, LIST_SUCCESS, LIST_FAILURE)<
- AnalysisSimulatorState,
- { data: AnalysisSimulatorData[]; count: number; total: number; page: number },
- AxiosError
->();
-
-export const log = createAsyncAction(LOG_REQUEST, LOG_SUCCESS, LOG_FAILURE)<
- string,
- { log: AnalysisSimulatorLogData[] },
- AxiosError
->();
-
-export const detail = createAsyncAction(
- DETAIL_REQUEST,
- DETAIL_SUCCESS,
- DETAIL_FAILURE
-)();
-
-export const stcs = createAsyncAction(
- STATICS_REQUEST,
- STATICS_SUCCESS,
- STATICS_FAILURE
-)();
-
-const actions = {
- list,
- detail,
- log,
- stcs,
- dispatchSearch
-};
-
-export type AnalysisSimulatorAction = ActionType;
diff --git a/src/modules/analysis/simulation/actions/index.ts b/src/modules/analysis/simulation/actions/index.ts
index 670aace5..c887815a 100644
--- a/src/modules/analysis/simulation/actions/index.ts
+++ b/src/modules/analysis/simulation/actions/index.ts
@@ -8,60 +8,65 @@ import {
} from '../models';
// 시뮬레이션 목록
-const LIST_REQUEST = 'anls/smlt/LIST_REQUEST';
-const LIST_SUCCESS = 'anls/smlt/LIST_SUCCESS';
-const LIST_FAILURE = 'anls/smlt/LIST_FAILURE';
+const GET_SMLT_LIST_REQUEST = 'anls/smlt/GET_SMLT_LIST_REQUEST';
+const GET_SMLT_LIST_SUCCESS = 'anls/smlt/GET_SMLT_LIST_SUCCESS';
+const GET_SMLT_LIST_FAILURE = 'anls/smlt/GET_SMLT_LIST_FAILURE';
// 시뮬레이션 상세 로그 목록
-const LOG_REQUEST = 'anls/smlt/LOG_REQUEST';
-const LOG_SUCCESS = 'anls/smlt/LOG_SUCCESS';
-const LOG_FAILURE = 'anls/smlt/LOG_FAILURE';
+const GET_SMLT_LOG_REQUEST = 'anls/smlt/GET_SMLT_LOG_REQUEST';
+const GET_SMLT_LOG_SUCCESS = 'anls/smlt/GET_SMLT_LOG_SUCCESS';
+const GET_SMLT_LOG_FAILURE = 'anls/smlt/GET_SMLT_LOG_FAILURE';
// 시뮬레이션 상세 정보
-const DETAIL_REQUEST = 'anls/smlt/DETAIL_REQUEST';
-const DETAIL_SUCCESS = 'anls/smlt/DETAIL_SUCCESS';
-const DETAIL_FAILURE = 'anls/smlt/DETAIL_FAILURE';
+const GET_SMLT_DETAIL_REQUEST = 'anls/smlt/GET_SMLT_DETAIL_REQUEST';
+const GET_SMLT_DETAIL_SUCCESS = 'anls/smlt/GET_SMLT_DETAIL_SUCCESS';
+const GET_SMLT_DETAIL_FAILURE = 'anls/smlt/GET_SMLT_DETAIL_FAILURE';
// 시뮬레이션 분 단위 통계 정보
-const STATICS_REQUEST = 'anls/smlt/STATICS_REQUEST';
-const STATICS_SUCCESS = 'anls/smlt/STATICS_SUCCESS';
-const STATICS_FAILURE = 'anls/smlt/STATICS_FAILURE';
+const GET_SMLT_STCS_REQUEST = 'anls/smlt/GET_SMLT_STCS_REQUEST';
+const GET_SMLT_STCS_SUCCESS = 'anls/smlt/GET_SMLT_STCS_SUCCESS';
+const GET_SMLT_STCS_FAILURE = 'anls/smlt/GET_SMLT_STCS_FAILURE';
-const DISPATCH_SEARCH = 'anls/smlt/DISPATCH_SEARCH';
+// 검색 조건 저장
+const CLIENT_SEARCH_PARAM = 'anls/smlt/CLIENT_SEARCH_PARAM';
-export const dispatchSearch =
- createAction(DISPATCH_SEARCH)<{ searchParams: string }>();
-
-export const list = createAsyncAction(LIST_REQUEST, LIST_SUCCESS, LIST_FAILURE)<
+export const getSmltList = createAsyncAction(
+ GET_SMLT_LIST_REQUEST,
+ GET_SMLT_LIST_SUCCESS,
+ GET_SMLT_LIST_FAILURE
+)<
AnalysisSimulatorState,
{ data: AnalysisSimulatorData[]; count: number; total: number; page: number },
AxiosError
>();
-export const log = createAsyncAction(LOG_REQUEST, LOG_SUCCESS, LOG_FAILURE)<
- string,
- { log: AnalysisSimulatorLogData[] },
- AxiosError
->();
+export const getSmltLog = createAsyncAction(
+ GET_SMLT_LOG_REQUEST,
+ GET_SMLT_LOG_SUCCESS,
+ GET_SMLT_LOG_FAILURE
+)();
-export const detail = createAsyncAction(
- DETAIL_REQUEST,
- DETAIL_SUCCESS,
- DETAIL_FAILURE
+export const getSmltDetail = createAsyncAction(
+ GET_SMLT_DETAIL_REQUEST,
+ GET_SMLT_DETAIL_SUCCESS,
+ GET_SMLT_DETAIL_FAILURE
)();
-export const stcs = createAsyncAction(
- STATICS_REQUEST,
- STATICS_SUCCESS,
- STATICS_FAILURE
+export const getSmltStcs = createAsyncAction(
+ GET_SMLT_STCS_REQUEST,
+ GET_SMLT_STCS_SUCCESS,
+ GET_SMLT_STCS_FAILURE
)();
+export const clientSearchParam =
+ createAction(CLIENT_SEARCH_PARAM)<{ searchParams: string }>();
+
const actions = {
- list,
- detail,
- log,
- stcs,
- dispatchSearch
+ getSmltList,
+ getSmltDetail,
+ getSmltLog,
+ getSmltStcs,
+ clientSearchParam
};
export type AnalysisSimulatorAction = ActionType;
diff --git a/src/modules/analysis/simulation/apis/annalysisSimulatorApi.ts b/src/modules/analysis/simulation/apis/annalysisSimulatorApi.ts
deleted file mode 100644
index 1ab65d7a..00000000
--- a/src/modules/analysis/simulation/apis/annalysisSimulatorApi.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import qs from 'qs';
-import axios from '../../../utils/customAxiosUtil';
-
-export const analysisSimulator = {
- //비행 현황 목록
- list: async (data: string, page: number) => {
- const queryString = qs.stringify(data, {
- addQueryPrefix: true,
- arrayFormat: 'repeat'
- });
-
- return await axios.get(`/api/anls/smlt/list${queryString}&page=${page}`);
- },
- // 비행 이력 데이터 조회
- logList: async (id: string) => {
- return await axios.get(`/api/anls/smlt/hist/${id}`);
- },
-
- //비행 상세 데이터 조회
- detail: async (id: string) => {
- return await axios.get(`/api/anls/smlt/detail/${id}`);
- },
-
- //비행 통계 데이터 조회
- stcsList: async (id: string) => {
- return await axios.get(`/api/anls/smlt/stcs/${id}`);
- }
-};
diff --git a/src/modules/analysis/simulation/apis/index.ts b/src/modules/analysis/simulation/apis/index.ts
index 1ab65d7a..35655f2c 100644
--- a/src/modules/analysis/simulation/apis/index.ts
+++ b/src/modules/analysis/simulation/apis/index.ts
@@ -3,7 +3,7 @@ import axios from '../../../utils/customAxiosUtil';
export const analysisSimulator = {
//비행 현황 목록
- list: async (data: string, page: number) => {
+ getSmltList: async (data: string, page: number) => {
const queryString = qs.stringify(data, {
addQueryPrefix: true,
arrayFormat: 'repeat'
@@ -12,17 +12,17 @@ export const analysisSimulator = {
return await axios.get(`/api/anls/smlt/list${queryString}&page=${page}`);
},
// 비행 이력 데이터 조회
- logList: async (id: string) => {
+ getSmltLog: async (id: string) => {
return await axios.get(`/api/anls/smlt/hist/${id}`);
},
//비행 상세 데이터 조회
- detail: async (id: string) => {
+ getSmltDetail: async (id: string) => {
return await axios.get(`/api/anls/smlt/detail/${id}`);
},
//비행 통계 데이터 조회
- stcsList: async (id: string) => {
+ getSmltStcs: async (id: string) => {
return await axios.get(`/api/anls/smlt/stcs/${id}`);
}
};
diff --git a/src/modules/analysis/simulation/models/analysisSimulatorModel.ts b/src/modules/analysis/simulation/models/analysisSimulatorModel.ts
deleted file mode 100644
index 819e49e0..00000000
--- a/src/modules/analysis/simulation/models/analysisSimulatorModel.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-export interface AnalysisSimulatorState {
- list: AnalysisSimulatorData[] | undefined;
- detail: AnalysisSimulatorData | undefined;
- count: number | 0;
- log: AnalysisSimulatorLogData[] | undefined;
- searchParams: string;
- stcsList: AnalysisSimulatorStcsData[] | undefined;
- stcsCount: number | 0;
- page: number | 1;
- total: number | 0;
-}
-
-export interface AnalysisSimulatorData {
- cntrlId: string;
- idntfNum: string;
- flghtStDt: Date;
- flghtEndDt: Date;
- cntrlStDt: Date;
- cntrlEndDt: Date;
- ttlTime: number;
- ttlTimeType: string;
- ttlDstnc: number;
- ttlDstncType: string;
- avrgSpeed: number;
- avrgSpeedType: string;
- bttrCnsmptn: number;
- stArea: string;
- endArea: string;
- arcrftTypeCd: string;
- prdctNum: string;
- arcrftModelNm: string;
- imageUrl: string;
-}
-
-export interface AnalysisSimulatorLogData {
- hstrySno: number;
- cntrlId: string;
- trmnlId: string;
- mssgTypeCd: string;
- statusCd: string;
- lat: number;
- lon: number;
- speed: number;
- speedType: string;
- heading: number;
- elev: number;
- elevType: string;
- mvDstnc: number;
- bttrLvl: number;
- bttrVltg: number;
- trmnlRcvDt: string;
- srvrRcvDt: string;
-}
-
-export interface AnalysisSimulatorStcsData {
- dateCd: string;
- timeCd: string;
- avrgSpeed: number;
- speedType: string;
- avrgElev: number;
- elevType: string;
- avrgMvDstnc: number;
- mvDstncType: string;
- minBttrLvl: number;
- maxBttrLvl: number;
-}
-
-export const initialState: AnalysisSimulatorState = {
- list: undefined,
- detail: undefined,
- count: 0,
- log: undefined,
- searchParams: '',
- stcsList: undefined,
- stcsCount: 0,
- page: 1,
- total: 0
-};
diff --git a/src/modules/analysis/simulation/reducers/analysisSimulatorReducer.ts b/src/modules/analysis/simulation/reducers/analysisSimulatorReducer.ts
deleted file mode 100644
index 827ea3bc..00000000
--- a/src/modules/analysis/simulation/reducers/analysisSimulatorReducer.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import produce from 'immer';
-import { createReducer } from 'typesafe-actions';
-import * as Actions from '../actions';
-import { AnalysisSimulatorState, initialState } from '../models';
-
-export const analysisSimulatorReducer = createReducer<
- AnalysisSimulatorState,
- Actions.AnalysisSimulatorAction
->(initialState)
- .handleAction(Actions.dispatchSearch, (state, action) =>
- produce(state, draft => {
- const { searchParams } = action.payload;
- draft.searchParams = searchParams;
- })
- )
- .handleAction(Actions.list.success, (state, action) =>
- produce(state, draft => {
- const { data, count, total, page } = action.payload;
- if (!state.list) {
- draft.list = data;
- } else {
- if (page === 1) {
- draft.list = data;
- draft.page = page;
- return;
- }
- draft.list = state.list?.concat(data);
- }
-
- draft.page = page;
- draft.count = count;
- draft.total = total;
- })
- )
- .handleAction(Actions.detail.success, (state, action) =>
- produce(state, draft => {
- const { data } = action.payload;
- draft.detail = data;
- })
- )
- .handleAction(Actions.stcs.success, (state, action) =>
- produce(state, draft => {
- const { data, count } = action.payload;
- draft.stcsList = data;
- draft.stcsCount = count;
- })
- )
-
- .handleAction(Actions.log.success, (state, action) =>
- produce(state, draft => {
- const { log } = action.payload;
- const data = log.sort((p: any, n: any): any => {
- const a = p.srvrRcvDt.replace(/[^0-9\.]+/g, '');
- const b = n.srvrRcvDt.replace(/[^0-9\.]+/g, '');
- return a - b;
- });
- draft.log = log;
- })
- );
diff --git a/src/modules/analysis/simulation/reducers/index.ts b/src/modules/analysis/simulation/reducers/index.ts
index 827ea3bc..1f61e317 100644
--- a/src/modules/analysis/simulation/reducers/index.ts
+++ b/src/modules/analysis/simulation/reducers/index.ts
@@ -7,13 +7,13 @@ export const analysisSimulatorReducer = createReducer<
AnalysisSimulatorState,
Actions.AnalysisSimulatorAction
>(initialState)
- .handleAction(Actions.dispatchSearch, (state, action) =>
+ .handleAction(Actions.clientSearchParam, (state, action) =>
produce(state, draft => {
const { searchParams } = action.payload;
draft.searchParams = searchParams;
})
)
- .handleAction(Actions.list.success, (state, action) =>
+ .handleAction(Actions.getSmltList.success, (state, action) =>
produce(state, draft => {
const { data, count, total, page } = action.payload;
if (!state.list) {
@@ -32,13 +32,13 @@ export const analysisSimulatorReducer = createReducer<
draft.total = total;
})
)
- .handleAction(Actions.detail.success, (state, action) =>
+ .handleAction(Actions.getSmltDetail.success, (state, action) =>
produce(state, draft => {
const { data } = action.payload;
draft.detail = data;
})
)
- .handleAction(Actions.stcs.success, (state, action) =>
+ .handleAction(Actions.getSmltStcs.success, (state, action) =>
produce(state, draft => {
const { data, count } = action.payload;
draft.stcsList = data;
@@ -46,7 +46,7 @@ export const analysisSimulatorReducer = createReducer<
})
)
- .handleAction(Actions.log.success, (state, action) =>
+ .handleAction(Actions.getSmltLog.success, (state, action) =>
produce(state, draft => {
const { log } = action.payload;
const data = log.sort((p: any, n: any): any => {
diff --git a/src/modules/analysis/simulation/sagas/analysisSimulatorSaga.ts b/src/modules/analysis/simulation/sagas/analysisSimulatorSaga.ts
deleted file mode 100644
index 2f0530fc..00000000
--- a/src/modules/analysis/simulation/sagas/analysisSimulatorSaga.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { call, put, takeEvery } from '@redux-saga/core/effects';
-import { ActionType } from 'typesafe-actions';
-import * as Actions from '../actions';
-import * as Apis from '../apis';
-
-function* listSaga(action: ActionType) {
- try {
- const { searchParams, page } = action.payload;
- const res = yield call(Apis.analysisSimulator.list, searchParams, page);
- const {
- data: { items, total },
- count
- } = res;
-
- yield put(
- Actions.list.success({
- data: items,
- count: count,
- total,
- page: res.data.page
- })
- );
- } catch (error: any) {
- yield put(Actions.list.failure(error));
- }
-}
-
-function* detailSaga(action: ActionType) {
- try {
- const id = action.payload;
- const res = yield call(Apis.analysisSimulator.detail, id);
- // yield put(Actions.log.request(id));
- const { data } = res;
- yield put(
- Actions.detail.success({
- data: data
- })
- );
- } catch (error: any) {
- yield put(Actions.detail.failure(error));
- }
-}
-
-function* stcsSaga(action: ActionType) {
- try {
- const id = action.payload;
- const res = yield call(Apis.analysisSimulator.stcsList, id);
- // yield put(Actions.log.request(id));
- const { data, count } = res;
- yield put(
- Actions.stcs.success({
- data: data,
- count: count
- })
- );
- } catch (error: any) {
- yield put(Actions.detail.failure(error));
- }
-}
-
-function* logSaga(action: ActionType) {
- try {
- const id = action.payload;
- const res = yield call(Apis.analysisSimulator.logList, id);
- const { data } = res;
-
- yield put(
- Actions.log.success({
- log: data
- })
- );
- } catch (error: any) {
- yield put(Actions.log.failure(error));
- }
-}
-
-export function* analysisSimulatorSaga() {
- yield takeEvery(Actions.list.request, listSaga);
- yield takeEvery(Actions.detail.request, detailSaga);
- yield takeEvery(Actions.stcs.request, stcsSaga);
- yield takeEvery(Actions.log.request, logSaga);
-}
diff --git a/src/modules/analysis/simulation/sagas/index.ts b/src/modules/analysis/simulation/sagas/index.ts
index 2f0530fc..cd054867 100644
--- a/src/modules/analysis/simulation/sagas/index.ts
+++ b/src/modules/analysis/simulation/sagas/index.ts
@@ -3,17 +3,21 @@ import { ActionType } from 'typesafe-actions';
import * as Actions from '../actions';
import * as Apis from '../apis';
-function* listSaga(action: ActionType) {
+function* listSaga(action: ActionType) {
try {
const { searchParams, page } = action.payload;
- const res = yield call(Apis.analysisSimulator.list, searchParams, page);
+ const res = yield call(
+ Apis.analysisSimulator.getSmltList,
+ searchParams,
+ page
+ );
const {
data: { items, total },
count
} = res;
yield put(
- Actions.list.success({
+ Actions.getSmltList.success({
data: items,
count: count,
total,
@@ -21,62 +25,62 @@ function* listSaga(action: ActionType) {
})
);
} catch (error: any) {
- yield put(Actions.list.failure(error));
+ yield put(Actions.getSmltList.failure(error));
}
}
-function* detailSaga(action: ActionType) {
+function* detailSaga(action: ActionType) {
try {
const id = action.payload;
- const res = yield call(Apis.analysisSimulator.detail, id);
- // yield put(Actions.log.request(id));
+ const res = yield call(Apis.analysisSimulator.getSmltDetail, id);
+ // yield put(Actions.getSmltLog.request(id));
const { data } = res;
yield put(
- Actions.detail.success({
+ Actions.getSmltDetail.success({
data: data
})
);
} catch (error: any) {
- yield put(Actions.detail.failure(error));
+ yield put(Actions.getSmltDetail.failure(error));
}
}
-function* stcsSaga(action: ActionType) {
+function* stcsSaga(action: ActionType) {
try {
const id = action.payload;
- const res = yield call(Apis.analysisSimulator.stcsList, id);
- // yield put(Actions.log.request(id));
+ const res = yield call(Apis.analysisSimulator.getSmltStcs, id);
+ // yield put(Actions.getSmltLog.request(id));
const { data, count } = res;
yield put(
- Actions.stcs.success({
+ Actions.getSmltStcs.success({
data: data,
count: count
})
);
} catch (error: any) {
- yield put(Actions.detail.failure(error));
+ yield put(Actions.getSmltDetail.failure(error));
}
}
-function* logSaga(action: ActionType) {
+function* logSaga(action: ActionType) {
try {
const id = action.payload;
- const res = yield call(Apis.analysisSimulator.logList, id);
+ const res = yield call(Apis.analysisSimulator.getSmltLog, id);
const { data } = res;
yield put(
- Actions.log.success({
+ Actions.getSmltLog.success({
log: data
})
);
} catch (error: any) {
- yield put(Actions.log.failure(error));
+ yield put(Actions.getSmltLog.failure(error));
}
}
export function* analysisSimulatorSaga() {
- yield takeEvery(Actions.list.request, listSaga);
- yield takeEvery(Actions.detail.request, detailSaga);
- yield takeEvery(Actions.stcs.request, stcsSaga);
- yield takeEvery(Actions.log.request, logSaga);
+ yield takeEvery(Actions.getSmltList.request, listSaga);
+ yield takeEvery(Actions.getSmltDetail.request, detailSaga);
+ yield takeEvery(Actions.getSmltStcs.request, stcsSaga);
+ yield takeEvery(Actions.getSmltLog.request, logSaga);
}
diff --git a/src/modules/basis/drone/apis/index.ts b/src/modules/basis/drone/apis/index.ts
index d7e84f6f..26eebaba 100644
--- a/src/modules/basis/drone/apis/index.ts
+++ b/src/modules/basis/drone/apis/index.ts
@@ -3,7 +3,6 @@ import qs from 'qs';
import {
ICreateDroneRq,
ICreateIdntfRq,
- IDrone,
IUpdateDroneRq,
IUpdateIdntfRq
} from '../models';