|
|
|
@ -5,7 +5,16 @@ import {
|
|
|
|
|
IFlightPlanAreaDataListRq, |
|
|
|
|
ILaancSunRq, |
|
|
|
|
ILaancAprvRq, |
|
|
|
|
IweatherRq |
|
|
|
|
IweatherRq, |
|
|
|
|
ILaancApprovalRs, |
|
|
|
|
ILaancPdfRs, |
|
|
|
|
ILaancSunRs, |
|
|
|
|
ILaancAprvRs, |
|
|
|
|
ILaancDetailRs, |
|
|
|
|
IVaildAreaRs, |
|
|
|
|
ILaancTsQrRs, |
|
|
|
|
IweatherRs, |
|
|
|
|
IBasFlightScheduleListRs |
|
|
|
|
} from './laancState'; |
|
|
|
|
import { createAsyncThunk } from '@reduxjs/toolkit'; |
|
|
|
|
import { openModal } from '../comn/message/messageSlice'; |
|
|
|
@ -14,10 +23,13 @@ import { MODAL_BODY, MODAL_HEADER } from '@src/configs/msgConst';
|
|
|
|
|
// laanc 승인
|
|
|
|
|
export const setApprovalLaancFlight = createAsyncThunk( |
|
|
|
|
'laanc/setApprovalLaancFlight', |
|
|
|
|
async (data: IFlightPlanDataRq, thunkAPI) => { |
|
|
|
|
async (rq: IFlightPlanDataRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post(`api/bas/laanc/plan/valid`, data); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancApprovalRs } = await axios.post( |
|
|
|
|
`api/bas/laanc/plan/valid`, |
|
|
|
|
rq |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -31,10 +43,13 @@ export const setApprovalLaancFlight = createAsyncThunk(
|
|
|
|
|
// laanc 생성
|
|
|
|
|
export const createLaancFlight = createAsyncThunk( |
|
|
|
|
'laanc/createLaancFlight', |
|
|
|
|
async (data: IFlightPlanDataRq, thunkAPI) => { |
|
|
|
|
async (rq: IFlightPlanDataRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post(`api/bas/laanc/plan/create`, data); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancPdfRs } = await axios.post( |
|
|
|
|
`api/bas/laanc/plan/create`, |
|
|
|
|
rq |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -48,12 +63,15 @@ export const createLaancFlight = createAsyncThunk(
|
|
|
|
|
// laanc 일물 일출
|
|
|
|
|
export const getLaancSunList = createAsyncThunk( |
|
|
|
|
'laanc/getLaancSunList', |
|
|
|
|
async (data: ILaancSunRq, thunkAPI) => { |
|
|
|
|
async (rq: ILaancSunRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get(`api/comn/sunriseset/coord/list`, { |
|
|
|
|
params: data |
|
|
|
|
}); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancSunRs[] } = await axios.get( |
|
|
|
|
`api/comn/sunriseset/coord/list`, |
|
|
|
|
{ |
|
|
|
|
params: rq |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -67,12 +85,15 @@ export const getLaancSunList = createAsyncThunk(
|
|
|
|
|
// 신청서 상세보기
|
|
|
|
|
export const laancAprvList = createAsyncThunk( |
|
|
|
|
'laanc/laancAprvList', |
|
|
|
|
async (data: ILaancAprvRq, thunkAPI) => { |
|
|
|
|
async (rq: ILaancAprvRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get(`api/bas/laanc/aprv/list2`, { |
|
|
|
|
params: data |
|
|
|
|
}); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancAprvRs[] } = await axios.get( |
|
|
|
|
`api/bas/laanc/aprv/list2`, |
|
|
|
|
{ |
|
|
|
|
params: rq |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
openModal({ |
|
|
|
|
header: MODAL_HEADER.error, |
|
|
|
@ -84,10 +105,12 @@ export const laancAprvList = createAsyncThunk(
|
|
|
|
|
//laanc 허용 고도
|
|
|
|
|
export const getLaancDetail = createAsyncThunk( |
|
|
|
|
'laanc/laancDetail', |
|
|
|
|
async (data: string, thunkAPI) => { |
|
|
|
|
async (id: string, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get(`api/bas/laanc/aprv/detail/${data}`); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancDetailRs } = await axios.get( |
|
|
|
|
`api/bas/laanc/aprv/detail/${id}` |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -101,10 +124,13 @@ export const getLaancDetail = createAsyncThunk(
|
|
|
|
|
// 비행 관제 구역 체크
|
|
|
|
|
export const laancAltitudeData = createAsyncThunk( |
|
|
|
|
'laanc/laancAltitudeData', |
|
|
|
|
async (data: IFlightPlanAreaDataRq, thunkAPI) => { |
|
|
|
|
async (rq: IFlightPlanAreaDataRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post(`api/bas/laanc/valid/elev`, data); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: [] } = await axios.post( |
|
|
|
|
`api/bas/laanc/valid/elev`, |
|
|
|
|
rq |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -118,13 +144,13 @@ export const laancAltitudeData = createAsyncThunk(
|
|
|
|
|
// 비행 관제 구역 체크
|
|
|
|
|
export const checkLaancValidArea = createAsyncThunk( |
|
|
|
|
'laanc/checkLaancValidArea', |
|
|
|
|
async (data: IFlightPlanAreaDataRq, thunkAPI) => { |
|
|
|
|
async (rq: IFlightPlanAreaDataRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post( |
|
|
|
|
const { data }: { data: IVaildAreaRs } = await axios.post( |
|
|
|
|
`api/bas/laanc/valid/duplicated/airspace`, |
|
|
|
|
data |
|
|
|
|
rq |
|
|
|
|
); |
|
|
|
|
return res.data; |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -138,10 +164,12 @@ export const checkLaancValidArea = createAsyncThunk(
|
|
|
|
|
// laanc ts qr
|
|
|
|
|
export const checkLaancTsQr = createAsyncThunk( |
|
|
|
|
'laanc/checkLaancTsQr', |
|
|
|
|
async (data: string, thunkAPI) => { |
|
|
|
|
async (id: string, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get(`api/bas/laanc/ts/qr/${data}`); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: ILaancTsQrRs } = await axios.get( |
|
|
|
|
`api/bas/laanc/ts/qr/${id}` |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -158,11 +186,14 @@ export const getWeatherData = createAsyncThunk(
|
|
|
|
|
'laanc/getWeatherData', |
|
|
|
|
async (rq: IweatherRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const { data } = await axios.get(`api/bas/flight/plan/api/weather`, { |
|
|
|
|
params: { |
|
|
|
|
...rq |
|
|
|
|
const { data }: { data: IweatherRs } = await axios.get( |
|
|
|
|
`api/bas/flight/plan/api/weather`, |
|
|
|
|
{ |
|
|
|
|
params: { |
|
|
|
|
...rq |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
@ -179,10 +210,13 @@ export const getWeatherData = createAsyncThunk(
|
|
|
|
|
// 비행 관제 구역 체크
|
|
|
|
|
export const AreaBufferList = createAsyncThunk( |
|
|
|
|
'laanc/AreaBufferList', |
|
|
|
|
async (data: IFlightPlanAreaDataListRq, thunkAPI) => { |
|
|
|
|
async (rq: IFlightPlanAreaDataListRq, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.post(`api/bas/flight/plan/area/buffer`, data); |
|
|
|
|
return res.data; |
|
|
|
|
const { data }: { data: IFlightPlanAreaDataRq[] } = await axios.post( |
|
|
|
|
`api/bas/flight/plan/area/buffer`, |
|
|
|
|
rq |
|
|
|
|
); |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -197,12 +231,12 @@ export const AreaBufferList = createAsyncThunk(
|
|
|
|
|
// 비행 스케줄 조회
|
|
|
|
|
export const flightScheduleList = createAsyncThunk( |
|
|
|
|
'laanc/flightScheduleList', |
|
|
|
|
async (searchDate: any, thunkAPI) => { |
|
|
|
|
async (searchDate: string, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get( |
|
|
|
|
const { data }: { data: IBasFlightScheduleListRs[] } = await axios.get( |
|
|
|
|
`api/bas/flight/schedule?searchDate=${searchDate}` |
|
|
|
|
); |
|
|
|
|
return res.data; |
|
|
|
|
return data; |
|
|
|
|
} catch (error) { |
|
|
|
|
thunkAPI.dispatch( |
|
|
|
|
openModal({ |
|
|
|
@ -217,7 +251,7 @@ export const flightScheduleList = createAsyncThunk(
|
|
|
|
|
// 비행 구역 검색
|
|
|
|
|
export const getFlightSearchArea = createAsyncThunk( |
|
|
|
|
'laanc/getFlightSearchArea', |
|
|
|
|
async (param: any, thunkAPI) => { |
|
|
|
|
async (param: { query }, thunkAPI) => { |
|
|
|
|
try { |
|
|
|
|
const res = await axios.get( |
|
|
|
|
`api/bas/flight/plan/area/search?query=${param.query}` |
|
|
|
|