|
|
|
@ -8,151 +8,191 @@ import decode from 'jwt-decode';
|
|
|
|
|
import { ControlGpData } from '../models/controlGpModel'; |
|
|
|
|
|
|
|
|
|
function* getControlGpSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpAction.request> |
|
|
|
|
action: ActionType<typeof Actions.controlGpAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const data = action.payload;
|
|
|
|
|
const state = yield select(); |
|
|
|
|
const { objectId, isClickObject } = state.controlMapReducer;
|
|
|
|
|
const { controlGroupAuthInfo } = state.controlGroupAuthState;
|
|
|
|
|
|
|
|
|
|
let gpsData: ControlGpData[] = []; |
|
|
|
|
try { |
|
|
|
|
const data = action.payload; |
|
|
|
|
const state = yield select(); |
|
|
|
|
const { objectId, isClickObject } = state.controlMapReducer; |
|
|
|
|
const { controlGroupAuthInfo } = state.controlGroupAuthState; |
|
|
|
|
const { controlGpFltPlanList } = state.controlGpFltPlanState;
|
|
|
|
|
const { controlGpHistory } = state.controlGpHisState;
|
|
|
|
|
|
|
|
|
|
let gpsData: ControlGpData[] = []; |
|
|
|
|
|
|
|
|
|
if (controlGroupAuthInfo.length > 0) { |
|
|
|
|
controlGroupAuthInfo.forEach((auth) => { |
|
|
|
|
if (auth.groupAuthCd === 'CREATER' || auth.groupAuthCd === 'ADMIN') { |
|
|
|
|
if (gpsData.length > 0) return false; |
|
|
|
|
|
|
|
|
|
gpsData = data.filter(gps => auth.idntfNum === gps.objectId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (auth.groupAuthCd === 'USER') { |
|
|
|
|
if (gpsData.length > 0) return false; |
|
|
|
|
|
|
|
|
|
gpsData.filter(gps => auth.createUserId && auth.idntfNum === gps.objectId); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(controlGroupAuthInfo.length > 0) {
|
|
|
|
|
controlGroupAuthInfo.forEach((auth) => {
|
|
|
|
|
if(auth.groupAuthCd === 'CREATER' || auth.groupAuthCd === 'ADMIN') {
|
|
|
|
|
if(gpsData.length > 0) return false;
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpAction.success({ |
|
|
|
|
controlGpList: gpsData |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
gpsData = data.filter(gps => auth.idntfNum === gps.objectId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(auth.groupAuthCd === 'USER') {
|
|
|
|
|
if(gpsData.length > 0) return false;
|
|
|
|
|
if (objectId && isClickObject) { |
|
|
|
|
let detailData;
|
|
|
|
|
|
|
|
|
|
gpsData.filter(gps => auth.createUserId && auth.idntfNum === gps.objectId);
|
|
|
|
|
}
|
|
|
|
|
}); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpAction.success({ |
|
|
|
|
controlGpList: gpsData |
|
|
|
|
}) |
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (objectId && isClickObject) { |
|
|
|
|
let detailData; |
|
|
|
|
|
|
|
|
|
//History 호출
|
|
|
|
|
yield put(Actions.controlGpHisAction.request({ id: objectId })); |
|
|
|
|
|
|
|
|
|
//상세 정보에서 실시간 데이터 호출
|
|
|
|
|
data.map(item => { |
|
|
|
|
if (item.controlId === objectId) { |
|
|
|
|
detailData = item; |
|
|
|
|
//상세 정보에서 실시간 데이터 호출
|
|
|
|
|
gpsData.map(item => { |
|
|
|
|
if (item.controlId === objectId) { |
|
|
|
|
detailData = item; |
|
|
|
|
} |
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpRtDtlAction.request(detailData)); |
|
|
|
|
|
|
|
|
|
// History Push
|
|
|
|
|
if(controlGpHistory) { |
|
|
|
|
const stateHistory = controlGpHistory; |
|
|
|
|
const history = stateHistory.map((h) => { |
|
|
|
|
return { |
|
|
|
|
...h, |
|
|
|
|
detailData |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpHisAction.success(history)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행구역 contains check
|
|
|
|
|
if(controlGpFltPlanList) {
|
|
|
|
|
const containsRQ = { |
|
|
|
|
idntfNum: detailData.objectId, |
|
|
|
|
lat: detailData.lat, |
|
|
|
|
lon: detailData.lng, |
|
|
|
|
planList: controlGpFltPlanList |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpFlightPlanWarnAction.request(containsRQ)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpRtDtlAction.request(detailData)); |
|
|
|
|
} catch (error) {
|
|
|
|
|
yield put(Actions.controlGpAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} catch (error) {
|
|
|
|
|
yield put(Actions.controlGpAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* getControlGpHistorySaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpHisAction.request> |
|
|
|
|
action: ActionType<typeof Actions.controlGpHisAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const { id } = action.payload;
|
|
|
|
|
|
|
|
|
|
const data = yield call(controlGpApi.getHistory, id);
|
|
|
|
|
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpHisAction.success({ |
|
|
|
|
controlGpHistory: data |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpHisAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
const { id } = action.payload; |
|
|
|
|
|
|
|
|
|
const data = yield call(controlGpApi.getHistory, id); |
|
|
|
|
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpHisAction.success({ |
|
|
|
|
controlGpHistory: data |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpHisAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* controlGpRtDtlSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpRtDtlAction.request> |
|
|
|
|
action: ActionType<typeof Actions.controlGpRtDtlAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const controlGpDetail = action.payload; |
|
|
|
|
|
|
|
|
|
// console.log(controlGpDetail);
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpRtDtlAction.success({ |
|
|
|
|
controlDetail: undefined, |
|
|
|
|
controlGpDetail: controlGpDetail |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpRtDtlAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
const controlGpDetail = action.payload; |
|
|
|
|
|
|
|
|
|
// console.log(controlGpDetail);
|
|
|
|
|
yield put( |
|
|
|
|
Actions.controlGpRtDtlAction.success({ |
|
|
|
|
controlDetail: undefined, |
|
|
|
|
controlGpDetail: controlGpDetail |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpRtDtlAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* controlDtlSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpDtlAction.request> |
|
|
|
|
action: ActionType<typeof Actions.controlGpDtlAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const controlId = action.payload;
|
|
|
|
|
|
|
|
|
|
const { data } = yield call(controlGpApi.getDetail, controlId); |
|
|
|
|
console.log('data>>>>>>>>>>>>>>>>>>>>>', data); |
|
|
|
|
yield put(Actions.controlGpDtlAction.success(data)); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpRtDtlAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
const controlId = action.payload; |
|
|
|
|
|
|
|
|
|
const { data } = yield call(controlGpApi.getDetail, controlId); |
|
|
|
|
console.log('data>>>>>>>>>>>>>>>>>>>>>', data); |
|
|
|
|
yield put(Actions.controlGpDtlAction.success(data)); |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpDtlAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* controlGroupAuthSaga ( |
|
|
|
|
action: ActionType<typeof Actions.controlGroupAuthAction.request> |
|
|
|
|
function* controlGroupAuthSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGroupAuthAction.request> |
|
|
|
|
) { |
|
|
|
|
const token = cookieStorage.getCookie(COOKIE_ACCESS_TOKEN); |
|
|
|
|
const token = cookieStorage.getCookie(COOKIE_ACCESS_TOKEN); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
if (token) { |
|
|
|
|
const user = decode<LoginData>(token); |
|
|
|
|
const data = yield call(controlGpApi.getGroupAuth, user.cstmrSno); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
if(token) {
|
|
|
|
|
const user = decode<LoginData>(token); |
|
|
|
|
const data = yield call(controlGpApi.getGroupAuth, user.cstmrSno); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGroupAuthAction.success({ |
|
|
|
|
controlGroupAuthInfo: data |
|
|
|
|
}));
|
|
|
|
|
yield put(Actions.controlGroupAuthAction.success({ |
|
|
|
|
controlGroupAuthInfo: data |
|
|
|
|
})); |
|
|
|
|
} |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGroupAuthAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* controlGpFlightPlanSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpFlightPlanAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const idntfNum = action.payload; |
|
|
|
|
|
|
|
|
|
const list = yield call(controlGpApi.getFlightPlan, idntfNum); |
|
|
|
|
|
|
|
|
|
console.log("flight plan list : ", list); |
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpFlightPlanAction.success(list)); |
|
|
|
|
|
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpFlightPlanAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGroupAuthAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function* controlGpFlightPlanSaga ( |
|
|
|
|
action: ActionType<typeof Actions.controlGpFlightPlanAction.request> |
|
|
|
|
function* controlGpFlightPlanWarnSaga( |
|
|
|
|
action: ActionType<typeof Actions.controlGpFlightPlanWarnAction.request> |
|
|
|
|
) { |
|
|
|
|
try { |
|
|
|
|
const rq = action.payload; |
|
|
|
|
try { |
|
|
|
|
const idntfNum = action.payload; |
|
|
|
|
|
|
|
|
|
const list = yield call(controlGpApi.getFlightPlan, rq); |
|
|
|
|
const rs = yield call(controlGpApi.checkPlanContains, idntfNum);
|
|
|
|
|
|
|
|
|
|
console.log("flight plan list : ", list); |
|
|
|
|
yield put(Actions.controlGpFlightPlanWarnAction.success(rs)); |
|
|
|
|
|
|
|
|
|
yield put(Actions.controlGpFlightPlanAction.success(list));
|
|
|
|
|
|
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpFlightPlanAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} catch (error) { |
|
|
|
|
yield put(Actions.controlGpFlightPlanWarnAction.failure(error)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export function* controlGpSaga() { |
|
|
|
|
yield takeEvery(Actions.controlGpAction.request, getControlGpSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpHisAction.request, getControlGpHistorySaga); |
|
|
|
|
yield takeEvery(Actions.controlGpRtDtlAction.request, controlGpRtDtlSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpDtlAction.request, controlDtlSaga); |
|
|
|
|
yield takeEvery(Actions.controlGroupAuthAction.request, controlGroupAuthSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpFlightPlanAction.request, controlGpFlightPlanSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpAction.request, getControlGpSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpHisAction.request, getControlGpHistorySaga); |
|
|
|
|
yield takeEvery(Actions.controlGpRtDtlAction.request, controlGpRtDtlSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpDtlAction.request, controlDtlSaga); |
|
|
|
|
yield takeEvery(Actions.controlGroupAuthAction.request, controlGroupAuthSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpFlightPlanAction.request, controlGpFlightPlanSaga); |
|
|
|
|
yield takeEvery(Actions.controlGpFlightPlanWarnAction.request, controlGpFlightPlanWarnSaga); |
|
|
|
|
} |
|
|
|
|