diff --git a/src/components/laanc/map/LaancAreaMap.js b/src/components/laanc/map/LaancAreaMap.js index 350046a..66c6abe 100644 --- a/src/components/laanc/map/LaancAreaMap.js +++ b/src/components/laanc/map/LaancAreaMap.js @@ -327,6 +327,688 @@ export default function LaancAreaMap({
+
+
+
비행구역 1
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 2
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 3
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 4
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 5
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 6
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 7
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 8
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 9
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 10
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 11
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 12
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 13
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 14
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 15
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 16
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 17
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 18
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 19
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+ +
+
+
비행구역 20
+
+
+ + 126.6054434, 37.5205384 + / + 126.6054863, 37.5174068 + +
+
+ + 126.6100569, 37.5203171 + / + 126.61025, 37.5177812 + +
+
+ + 126.614842, 37.5197725 + / + 126.6132756, 37.5221552 + +
+
+ + 126.6183182, 37.5214744 + +
+
+
+
+
+ + {/*
{viewCoordObj?.map((obj, i) => { let coord = obj.properties.id === 'LINE' @@ -393,7 +1075,7 @@ export default function LaancAreaMap({
); })} -
+ */}
state.statisticsState ); + const { user } = useSelector(state => state.authState); + const { entireGroupList } = useSelector(state => state.groupState); const [searchType, setSearchType] = useState({ category: 'PLAN', @@ -32,6 +35,13 @@ export default function AbnormalSituationContainer() { CRASH: '충돌위험' }; + useEffect(() => { + if (user) { + user.authId === 'SUPER' && + dispatch(GroupActions.ENTIRE_GROUP_LIST.request()); + } + }, []); + useEffect(() => { dispatch( StcsActions.ABNORMAL_STCS.request({ serviceType: searchType.serviceType }) diff --git a/src/containers/statistics/FlightContainer.js b/src/containers/statistics/FlightContainer.js index 6e23119..2ae84d5 100644 --- a/src/containers/statistics/FlightContainer.js +++ b/src/containers/statistics/FlightContainer.js @@ -2,12 +2,15 @@ import { CustomMainLayout } from '../../components/layout/CustomMainLayout'; import { useCallback, useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import * as StcsActions from '../../modules/statistics/actions'; +import * as GroupActions from '../../modules/basis/group/actions/basisGroupAction'; import StatisticsTotal from '../../components/statistics/StatisticsTotal'; import StatisticsSearch from '../../components/statistics/StatisticsSearch'; export default function FlightContainer() { const dispatch = useDispatch(); const { flight, flightSearch } = useSelector(state => state.statisticsState); + const { user } = useSelector(state => state.authState); + const { entireGroupList } = useSelector(state => state.groupState); const [searchType, setSearchType] = useState({ category: 'TIME', @@ -30,6 +33,13 @@ export default function FlightContainer() { FLT_COUNT: '비행 횟수' }; + useEffect(() => { + if (user) { + user.authId === 'SUPER' && + dispatch(GroupActions.ENTIRE_GROUP_LIST.request()); + } + }, []); + useEffect(() => { dispatch( StcsActions.FLIGHT_STCS.request({ serviceType: searchType.serviceType }) diff --git a/src/containers/statistics/FlightResultContainer.js b/src/containers/statistics/FlightResultContainer.js index 90242dd..2480dcc 100644 --- a/src/containers/statistics/FlightResultContainer.js +++ b/src/containers/statistics/FlightResultContainer.js @@ -2,12 +2,15 @@ import { CustomMainLayout } from '../../components/layout/CustomMainLayout'; import { useCallback, useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import * as StcsActions from '../../modules/statistics/actions'; +import * as GroupActions from '../../modules/basis/group/actions/basisGroupAction'; import StatisticsTotal from '../../components/statistics/StatisticsTotal'; import StatisticsSearch from '../../components/statistics/StatisticsSearch'; export default function ResultContainer() { const dispatch = useDispatch(); const { result, resultSearch } = useSelector(state => state.statisticsState); + const { user } = useSelector(state => state.authState); + const { entireGroupList } = useSelector(state => state.groupState); const [searchType, setSearchType] = useState({ category: 'FLT_RESULT', @@ -30,6 +33,13 @@ export default function ResultContainer() { FLT_PLAN_APRVN: '비행 승인' }; + useEffect(() => { + if (user) { + user.authId === 'SUPER' && + dispatch(GroupActions.ENTIRE_GROUP_LIST.request()); + } + }, []); + useEffect(() => { dispatch( StcsActions.RESULT_STCS.request({ serviceType: searchType.serviceType }) diff --git a/src/modules/basis/group/actions/basisGroupAction.ts b/src/modules/basis/group/actions/basisGroupAction.ts index a896a9d..7811f40 100644 --- a/src/modules/basis/group/actions/basisGroupAction.ts +++ b/src/modules/basis/group/actions/basisGroupAction.ts @@ -48,6 +48,10 @@ const GROUP_LIST_REQUEST = 'basis/group/GROUP_LIST_REQUEST'; const GROUP_LIST_SUCCESS = 'basis/group/GROUP_LIST_SUCCESS'; const GROUP_LIST_FAILURE = 'basis/group/GROUP_LIST_FAILURE'; +const ENTIRE_GROUP_LIST_REQUEST = 'basis/group/ENTIRE_GROUP_LIST_REQUEST'; +const ENTIRE_GROUP_LIST_SUCCESS = 'basis/group/ENTIRE_GROUP_LIST_SUCCESS'; +const ENTIRE_GROUP_LIST_FAILURE = 'basis/group/ENTIRE_GROUP_LIST_FAILURE'; + //# 그룹코드 발급 const GROUP_CREATEID_REQUEST = 'basis/group/GROUP_CREATEID_REQUEST'; const GROUP_CREATEID_SUCCESS = 'basis/group/GROUP_CREATEID_SUCCESS'; @@ -160,6 +164,12 @@ export const GROUP_LIST = createAsyncAction( // )(); )(); +export const ENTIRE_GROUP_LIST = createAsyncAction( + ENTIRE_GROUP_LIST_REQUEST, + ENTIRE_GROUP_LIST_SUCCESS, + ENTIRE_GROUP_LIST_FAILURE +)(); + export const GROUP_CREATEID = createAsyncAction( GROUP_CREATEID_REQUEST, GROUP_CREATEID_SUCCESS, @@ -234,6 +244,7 @@ const actions = { GROUP_UPDATE, GROUP_DELETE, GROUP_LIST, + ENTIRE_GROUP_LIST, GROUP_CREATEID, GROUP_JOINLIST, GROUP_JOIN, diff --git a/src/modules/basis/group/models/basisGroupModel.ts b/src/modules/basis/group/models/basisGroupModel.ts index a7c9285..8c75fed 100644 --- a/src/modules/basis/group/models/basisGroupModel.ts +++ b/src/modules/basis/group/models/basisGroupModel.ts @@ -6,6 +6,7 @@ export interface GroupState { joinList: JoinGroupData[] | undefined; mainList: MainGroupData[] | undefined; groupList: GroupData[] | undefined; + entireGroupList: GroupData[] | undefined; aprvList: AprvGroupData[] | undefined; userList: UserGroupData[] | undefined; groupId: string | ''; @@ -117,6 +118,7 @@ export const initGroup = { mainListCount: 0, groupList: undefined, groupListCount: 0, + entireGroupList: undefined, aprvList: undefined, aprvCount: 0, userList: undefined, diff --git a/src/modules/basis/group/reducers/basisGroupReducer.ts b/src/modules/basis/group/reducers/basisGroupReducer.ts index aaec57e..fdb7bd1 100644 --- a/src/modules/basis/group/reducers/basisGroupReducer.ts +++ b/src/modules/basis/group/reducers/basisGroupReducer.ts @@ -77,6 +77,13 @@ export const groupReducer = createReducer( draft.groupListCount = count; }) ) + .handleAction(Actions.ENTIRE_GROUP_LIST.success, (state, action) => + produce(state, draft => { + const { data, count } = action.payload; + draft.entireGroupList = data; + // draft.entireGroupList = count; + }) + ) .handleAction(Actions.GROUP_JOINLIST.success, (state, action) => produce(state, draft => { const { data, count } = action.payload; diff --git a/src/modules/basis/group/sagas/basisGroupSaga.ts b/src/modules/basis/group/sagas/basisGroupSaga.ts index 407d37b..0eba516 100644 --- a/src/modules/basis/group/sagas/basisGroupSaga.ts +++ b/src/modules/basis/group/sagas/basisGroupSaga.ts @@ -314,6 +314,38 @@ function* listGroupSaga(action: ActionType) { } } +function* entireGroupListSaga( + action: ActionType +) { + try { + const payload = action.payload; + const res = yield call(Apis.groupAPI.listGroup, payload); + const { data, count, errorCode } = res; + + if (errorCode) { + // 오류메시지 호출 + yield put( + MessageActions.IS_ERROR({ + errorCode: errorCode, + errorMessage: '처리중 오류가 발생하였습니다', + isHistoryBack: false, + isRefresh: false + }) + ); + return; + } + + yield put( + Actions.ENTIRE_GROUP_LIST.success({ + data, + count + }) + ); + } catch (error) { + yield put(Actions.ENTIRE_GROUP_LIST.failure(error)); + } +} + function* groupJoinListSaga( action: ActionType ) { @@ -560,6 +592,7 @@ export function* basGroupSaga() { yield takeEvery(Actions.GROUP_DELETE.request, deleteGroupSaga); yield takeEvery(Actions.GROUP_CREATEID.request, createIdSaga); yield takeEvery(Actions.GROUP_LIST.request, listGroupSaga); + yield takeEvery(Actions.ENTIRE_GROUP_LIST.request, entireGroupListSaga); yield takeEvery(Actions.GROUP_JOINLIST.request, groupJoinListSaga); yield takeEvery(Actions.APPROVAL_LIST.request, aprvListSaga); yield takeEvery(Actions.USER_LIST.request, userListSaga);