diff --git a/src/components/basis/flight/plan/FlightPlanAreaDetailForm.js b/src/components/basis/flight/plan/FlightPlanAreaDetailForm.js
index c801f2b..0d72e22 100644
--- a/src/components/basis/flight/plan/FlightPlanAreaDetailForm.js
+++ b/src/components/basis/flight/plan/FlightPlanAreaDetailForm.js
@@ -15,7 +15,7 @@ import { FlightPlanDraw } from '../../../map/naver/draw/FlightPlanDraw';
import { drawTypeChangeAction, drawCheckAction } from '../../../../modules/control/map/actions/controlMapActions';
import { FlightPlanDrawTest } from '../../../map/naver/draw/FlightPlanDrawTest';
-const FlightPlanAreaDetailForm = ({ handleSave, handleClose, handleChange, data }) => {
+const FlightPlanAreaDetailForm = ({ handleSave, handleClose, handleChange, handleBufferList, data }) => {
const coordList = data ? data[0].coordList : null;
@@ -88,25 +88,37 @@ const FlightPlanAreaDetailForm = ({ handleSave, handleClose, handleChange, data
diff --git a/src/components/basis/flight/plan/FlightPlanGrid.js b/src/components/basis/flight/plan/FlightPlanGrid.js
index d68f85b..6973bce 100644
--- a/src/components/basis/flight/plan/FlightPlanGrid.js
+++ b/src/components/basis/flight/plan/FlightPlanGrid.js
@@ -7,7 +7,7 @@ import {Redirect} from 'react-router-dom';
const FlightPlanGrid = ({movePage, planListData, handleMoveDetail}) => {
const columns = [
- {id: 'planSno', name: '번호', cell: row => (
{row.planSno}
)},
+ {id: 'planSno', name: '번호', cell: (row, i) => (
{i+1}
)},
{id: 'fltPurpose', name: '비행목적', cell: row => (
{row.fltPurpose}
)},
{
id: 'fltMethod', name: '비행방식', cell: row => {
diff --git a/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js b/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js
index 049a2e8..9091b5d 100644
--- a/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js
+++ b/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js
@@ -42,6 +42,10 @@ const FlightPlanAreaDetailContainer = ({ handleModal }) => {
})
}
+ const handleBufferList = () => {
+ dispatch(Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.request(areaDetail));
+ }
+
useEffect(() => {
// 좌표등록 (등록 시 데이터 초기화)
if(areaCoordList !== undefined) {
@@ -69,6 +73,7 @@ const FlightPlanAreaDetailContainer = ({ handleModal }) => {
handleClose={handleClose}
handleSave={handleSave}
handleChange={handleChange}
+ handleBufferList={handleBufferList}
areaCoordList={areaCoordList}
data={areaDetail}
/>
diff --git a/src/containers/basis/flight/plan/FlightPlanContainer.js b/src/containers/basis/flight/plan/FlightPlanContainer.js
index 2f4c86e..f94f3bd 100644
--- a/src/containers/basis/flight/plan/FlightPlanContainer.js
+++ b/src/containers/basis/flight/plan/FlightPlanContainer.js
@@ -13,7 +13,7 @@ import FlightPlanGroupGrid from '../../../../components/basis/flight/plan/Flight
const initSearchData = {
- schFltStDt: moment().set({'h': 0, 'm': 0, 's': 0}).format('YYYY-MM-DD HH:mm:ss'),
+ schFltStDt: moment().set({'date': 1, 'h': 0, 'm': 0, 's': 0}).format('YYYY-MM-DD HH:mm:ss'),
schFltEndDt: moment().set({'h': 23, 'm': 59, 's': 59}).format('YYYY-MM-DD HH:mm:ss'),
aprvlYn: 'N',
groupId: '',
diff --git a/src/containers/basis/flight/plan/FlightPlanDetailContainer.js b/src/containers/basis/flight/plan/FlightPlanDetailContainer.js
index 1389f0a..4be5aac 100644
--- a/src/containers/basis/flight/plan/FlightPlanDetailContainer.js
+++ b/src/containers/basis/flight/plan/FlightPlanDetailContainer.js
@@ -313,6 +313,8 @@ const FlightPlanDetailContainer = () => {
} else {
dispatch(Actions.FLIGHT_PLAN_UPDATE.request(detailData));
}
+
+ dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT( {cstmrSno: 0, groupId: '', groupNm: ''} ));
}
// 삭제
const handleDelete = () => {
diff --git a/src/modules/basis/flight/actions/basisFlightAction.ts b/src/modules/basis/flight/actions/basisFlightAction.ts
index a3f2e6f..469fd19 100644
--- a/src/modules/basis/flight/actions/basisFlightAction.ts
+++ b/src/modules/basis/flight/actions/basisFlightAction.ts
@@ -7,7 +7,7 @@ import {
FlightPlanAreaDataList,
// FlightPlanArea,
FlightPlanData,
- FlightPlanListRqData, FlightPlanPilotDataList, PilotSelectData, SelectGroupData
+ FlightPlanListRqData, FlightPlanPilotDataList, PilotSelectData, SelectGroupData
} from '../models/basisFlightModel';
@@ -75,6 +75,11 @@ const AREA_DETAIL_LIST = 'basis/flight/plan/area/DETAIL_LIST';
// 비행계획서 그룹 선택
const ROUP_SELECT = 'basis/flight/plan/group/select';
+// 버퍼 좌표 가져오기
+const AREA_BUFFER_LIST_REQUEST = 'basis/flight/plan/area/BUFFER_LIST_REQUEST';
+const AREA_BUFFER_LIST_SUCCESS = 'basis/flight/plan/area/BUFFER_LIST_SUCCESS';
+const AREA_BUFFER_LIST_FAILURE = 'basis/flight/plan/area/BUFFER_LIST_FAILURE';
+
export const PUBLIC_AREA_LIST = createAsyncAction(
PUBLIC_AREA_LIST_REQUEST,
PUBLIC_AREA_LIST_SUCCESS,
@@ -155,6 +160,13 @@ export const AREA_DETAIL_LIST_SAVE = createAction(AREA_DETAIL_LIST)
();
+// 버퍼 좌표 가져오기
+export const FLIGHT_PLAN_AREA_BUFFER_LIST = createAsyncAction(
+ AREA_BUFFER_LIST_REQUEST,
+ AREA_BUFFER_LIST_SUCCESS,
+ AREA_BUFFER_LIST_FAILURE
+)();
+
const actions = {
PUBLIC_AREA_LIST,
// FLIGHT_PLAN_AREA,
@@ -171,7 +183,8 @@ const actions = {
PILOT_ARCRFT_SELECT_INIT,
AREA_COORDINATE_LIST_SAVE,
AREA_DETAIL_LIST_SAVE,
- FLIGHT_PLAN_GROUP_SELECT
+ FLIGHT_PLAN_GROUP_SELECT,
+ FLIGHT_PLAN_AREA_BUFFER_LIST
};
export type FlightAction = ActionType;
diff --git a/src/modules/basis/flight/apis/basisFlightApi.ts b/src/modules/basis/flight/apis/basisFlightApi.ts
index d36d78e..191289a 100644
--- a/src/modules/basis/flight/apis/basisFlightApi.ts
+++ b/src/modules/basis/flight/apis/basisFlightApi.ts
@@ -1,6 +1,6 @@
import axios from '../../../utils/customAxiosUtil';
import qs from 'qs';
-import { FlightPlanData, FlightPlanListRqData } from '../models/basisFlightModel';
+import { FlightPlanAreaData, FlightPlanAreaDataList, FlightPlanData, FlightPlanListRqData } from '../models/basisFlightModel';
export const flightPlanAPI = {
@@ -49,5 +49,15 @@ export const flightPlanAPI = {
const res = await axios.get(`api/bas/flight/plan/arcrft/${groupId}`);
console.log('>>> rs : ', res);
return res;
+ },
+ listBuffer: async (data: FlightPlanAreaDataList) => {
+ console.log('>>> rq : ', data)
+ const queryString = qs.stringify(data, {
+ addQueryPrefix: true,
+ arrayFormat: 'brackets'
+ });
+ const res = await axios.post(`api/bas/flight/plan/area/buffer`, data);
+ console.log('>>> rs : ', res);
+ return res;
}
}
diff --git a/src/modules/basis/flight/models/basisFlightModel.ts b/src/modules/basis/flight/models/basisFlightModel.ts
index fb1c8e2..b89ba5e 100644
--- a/src/modules/basis/flight/models/basisFlightModel.ts
+++ b/src/modules/basis/flight/models/basisFlightModel.ts
@@ -11,7 +11,7 @@ export interface FlightState {
arcrftSelect: FlightPlanArcrftData | undefined
areaCoordList: FlightPlanAreaData[] | undefined
areaList: FlightPlanAreaData[] | undefined
- selectGroup: SelectGroupData | undefined
+ selectGroup: SelectGroupData | undefined
}
export interface SelectGroupData {
@@ -70,6 +70,7 @@ export interface FlightPlanAreaData {
updateUserId?: string,
updateDt?: string,
coordList?: FlightPlanAreaCoordDataList | undefined
+ bufferCoordList?: FlightPlanAreaCoordDataList | undefined
// docState: string,
}
@@ -167,14 +168,6 @@ export interface PilotSelectData {
zip: string
}
-export interface AreaCoordinateCreateData {
- lat: number,
- lon: number,
- bufferZone: string,
- radius: number
-}
-
-
export const initFlight = {
selectGroup: {
cstmrSno: 0,
@@ -222,7 +215,15 @@ export const initFlight = {
lon: 0,
createUserId: '',
createDt: ''
- }]
+ }],
+ bufferCoordList: [{
+ planAreaCoordSno: 0,
+ planAreaSno: 0,
+ lat: 0,
+ lon: 0,
+ createUserId: '',
+ createDt: ''
+ }],
}],
pilotList: [{
planPilotSno: 0,
@@ -276,7 +277,7 @@ export const initFlight = {
pilotSelect: undefined,
arcrftSelect: undefined,
areaCoordList: undefined,
- areaList: undefined
+ areaList: undefined,
};
@@ -410,7 +411,15 @@ export const initFlightBas = {
lon: 0,
createUserId: '',
createDt: ''
- }]
+ }],
+ bufferCoordList: [{
+ planAreaCoordSno: 0,
+ planAreaSno: 0,
+ lat: 0,
+ lon: 0,
+ createUserId: '',
+ createDt: ''
+ }],
}],
pilotList: [{
planPilotSno: 0,
diff --git a/src/modules/basis/flight/reducers/basisFlightReducer.ts b/src/modules/basis/flight/reducers/basisFlightReducer.ts
index 3a4d3b9..d9c4d96 100644
--- a/src/modules/basis/flight/reducers/basisFlightReducer.ts
+++ b/src/modules/basis/flight/reducers/basisFlightReducer.ts
@@ -97,3 +97,10 @@ export const flightReducer = createReducer(in
draft.selectGroup = data;
})
)
+ // 비행 계획서 그룹 선택
+ .handleAction(Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.success, (state, action) =>
+ produce(state, draft => {
+ const data = action.payload;
+ draft.areaCoordList = data;
+ })
+ )
diff --git a/src/modules/basis/flight/sagas/basisFlightSaga.ts b/src/modules/basis/flight/sagas/basisFlightSaga.ts
index 6a55d41..4cce3d3 100644
--- a/src/modules/basis/flight/sagas/basisFlightSaga.ts
+++ b/src/modules/basis/flight/sagas/basisFlightSaga.ts
@@ -287,6 +287,33 @@ function* listArcrftSaga(action: ActionType) {
+ try {
+ const data = action.payload;
+ const response = yield call(Apis.flightPlanAPI.listBuffer, data);
+ if (response.errorCode) {
+ yield put(
+ MessageActions.IS_ERROR({
+ errorCode: response.errorCode,
+ errorMessage: response.errorMessage,
+ isHistoryBack: false,
+ isRefresh: false
+ })
+ );
+ return;
+ }
+
+ yield put(
+ Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.success(response.data)
+ );
+ } catch (error: any) {
+ yield put(
+ Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.failure(error)
+ );
+ }
+}
+
export function* flightSaga() {
yield takeEvery(Actions.PUBLIC_AREA_LIST.request, listAreaSaga);
// yield takeEvery(Actions.FLIGHT_PLAN_AREA.request, createFlightPlanArea);
@@ -297,4 +324,5 @@ export function* flightSaga() {
yield takeEvery(Actions.FLIGHT_PLAN_DELETE.request, deletePlanSaga)
yield takeEvery(Actions.FLIGHT_PLAN_PILOT_LIST.request, listPilotSaga)
yield takeEvery(Actions.FLIGHT_PLAN_ARCRFT_LIST.request, listArcrftSaga)
+ yield takeEvery(Actions.FLIGHT_PLAN_AREA_BUFFER_LIST.request, listBuffer)
}