Browse Source

laanc 고도 일대일 -> 일대다 변경

pull/2/head
박상현 11 months ago
parent
commit
1253945bc0
  1. 5
      src/components/laanc/list/LaancGrid.js
  2. 8
      src/components/laanc/map/FlightArea.js
  3. 4
      src/components/laanc/step/LaancStep1.js
  4. 10
      src/containers/laanc/LaancPlanContainer.js
  5. 4
      src/modules/laanc/actions/laancActions.ts
  6. 2
      src/modules/laanc/models/laancModels.ts
  7. 8
      src/modules/laanc/reducers/laancReducers.ts

5
src/components/laanc/list/LaancGrid.js

@ -21,9 +21,10 @@ export default function LaancGrid() {
const [isAnimation, setIsAnimation] = useState(false); const [isAnimation, setIsAnimation] = useState(false);
const { laancSearchData } = useSelector(state => state.laancState); const { laancSearchData, laancDetail } = useSelector(
state => state.laancState
);
const { loading } = useSelector(state => state.loadingReducer); const { loading } = useSelector(state => state.loadingReducer);
const { laancDetail } = useSelector(state => state.laancState);
useEffect(() => { useEffect(() => {
if (laancDetail) { if (laancDetail) {

8
src/components/laanc/map/FlightArea.js

@ -101,14 +101,6 @@ export default function FlightArea({
} }
}, [areaCoordList, centeredModal, previewLayer]); }, [areaCoordList, centeredModal, previewLayer]);
// useEffect(() => {
// console.log(saveElev, '---elev');
// }, [saveElev]);
// useEffect(() => {
// console.log(laancElev, '---laancelev');
// }, [laancElev]);
const handlerCreateAirSpace = ( const handlerCreateAirSpace = (
map, map,
useGeoJson = { useGeoJson = {

4
src/components/laanc/step/LaancStep1.js

@ -163,7 +163,7 @@ export default function LaancStep1({
// 관제권안에서 허용고도 초과시 경고문 // 관제권안에서 허용고도 초과시 경고문
const controlledAltitudeExceededWarning = const controlledAltitudeExceededWarning =
laancArea?.duplicated && laancArea?.duplicated &&
parseInt(value.replace('/^0+/', 'm', ''), 10) >= laancElev && parseInt(value.replace('/^0+/', 'm', ''), 10) >= laancElev[0] &&
parseInt(value.replace('/^0+/', 'm', ''), 10) < maxElev; parseInt(value.replace('/^0+/', 'm', ''), 10) < maxElev;
switch (type) { switch (type) {
@ -215,7 +215,7 @@ export default function LaancStep1({
<> <>
유효성 검사에 실패하여 승인 대상입니다. 유효성 검사에 실패하여 승인 대상입니다.
<br /> <br />
제출하신 비행계획서의 고도는 {laancElev}m이하에서만 비행이 제출하신 비행계획서의 고도는 {laancElev[0]}m이하에서만 비행이
가능합니다. 가능합니다.
<br /> <br />
고도 설정을 다시 확인해주시기 바랍니다. 고도 설정을 다시 확인해주시기 바랍니다.

10
src/containers/laanc/LaancPlanContainer.js

@ -67,7 +67,7 @@ export default function LaancPlanContainer({
parseInt( parseInt(
detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''), detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''),
10 10
) >= laancElev && ) >= laancElev[0] &&
parseInt(detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''), 10) < parseInt(detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''), 10) <
maxElev; maxElev;
@ -79,7 +79,7 @@ export default function LaancPlanContainer({
<> <>
유효성 검사에 실패하여 승인 대상입니다. 유효성 검사에 실패하여 승인 대상입니다.
<br /> <br />
제출하신 비행계획서의 고도는 {laancElev}m이하에서만 비행이 제출하신 비행계획서의 고도는 {laancElev[0]}m이하에서만 비행이
가능합니다. 가능합니다.
<br /> <br />
고도 설정을 다시 확인해주시기 바랍니다. 고도 설정을 다시 확인해주시기 바랍니다.
@ -93,7 +93,7 @@ export default function LaancPlanContainer({
}); });
} }
} }
}, [laancElev]); }, [[laancElev]]);
//비행 방식 직접 입력칸 작성 시 api 호출 부분 //비행 방식 직접 입력칸 작성 시 api 호출 부분
useEffect(() => { useEffect(() => {
@ -104,7 +104,7 @@ export default function LaancPlanContainer({
// laanc 승인 api 200 시 step 이동 // laanc 승인 api 200 시 step 이동
const handlerLaanc = async () => { const handlerLaanc = async () => {
if (laancArea && laancElev) { if (laancArea && laancElev[0]) {
// laanc 필요 없이 날 수 있음 // laanc 필요 없이 날 수 있음
const laancNotRequired = const laancNotRequired =
!laancArea.duplicated && !laancArea.duplicated &&
@ -147,7 +147,7 @@ export default function LaancPlanContainer({
url: 'https://drone.onestop.go.kr/introduce/systemintro3 ' url: 'https://drone.onestop.go.kr/introduce/systemintro3 '
}); });
} else if ( } else if (
parseInt(detailData.areaList[0].fltElev) <= laancElev && parseInt(detailData.areaList[0].fltElev) <= laancElev[0] &&
parseInt(detailData.areaList[0].fltElev) < maxElev parseInt(detailData.areaList[0].fltElev) < maxElev
) { ) {
try { try {

4
src/modules/laanc/actions/laancActions.ts

@ -121,14 +121,14 @@ export const LAANC_ALTITUDE = createAsyncAction(
LAANC_ALTITUDE_REQUEST, LAANC_ALTITUDE_REQUEST,
LAANC_ALTITUDE_SUCCESS, LAANC_ALTITUDE_SUCCESS,
LAANC_ALTITUDE_FAILURE LAANC_ALTITUDE_FAILURE
)<FlightPlanAreaData, VaildElevData[], AxiosError>(); )<FlightPlanAreaData, number[], AxiosError>();
//비행 관제 구역 체크 //비행 관제 구역 체크
export const LAANC_VALID_AREA = createAsyncAction( export const LAANC_VALID_AREA = createAsyncAction(
LAANC_VALID_AREA_REQUEST, LAANC_VALID_AREA_REQUEST,
LAANC_VALID_AREA_SUCCESS, LAANC_VALID_AREA_SUCCESS,
LAANC_VALID_AREA_FAILURE LAANC_VALID_AREA_FAILURE
)<FlightPlanAreaData, VaildAreaData[], AxiosError>(); )<FlightPlanAreaData, VaildAreaData, AxiosError>();
//laanc TS 연동 //laanc TS 연동
export const LAANC_VALID_TS = createAsyncAction( export const LAANC_VALID_TS = createAsyncAction(

2
src/modules/laanc/models/laancModels.ts

@ -7,7 +7,7 @@ export interface laancState {
laancSun: LaancSunData[] | undefined; laancSun: LaancSunData[] | undefined;
laancSearchData: LaancAprvData[] | undefined; laancSearchData: LaancAprvData[] | undefined;
laancDetail: LaancDetailData | undefined; laancDetail: LaancDetailData | undefined;
laancElev: VaildElevData | undefined; laancElev: number[] | undefined;
laancArea: VaildAreaData | undefined; laancArea: VaildAreaData | undefined;
laancTs: LaancTsData | undefined; laancTs: LaancTsData | undefined;
} }

8
src/modules/laanc/reducers/laancReducers.ts

@ -57,7 +57,13 @@ export const laancReducer = createReducer<laancState, Actions.LaancAction>(
.handleAction(Actions.LAANC_ALTITUDE.success, (state, action) => .handleAction(Actions.LAANC_ALTITUDE.success, (state, action) =>
produce(state, draft => { produce(state, draft => {
const data = action.payload; const data = action.payload;
draft.laancElev = data[0]; if (!draft.laancElev) {
draft.laancElev = [];
}
draft.laancElev.push(...data);
if (draft.laancElev.length > 0) {
draft.laancElev = [Math.min(...draft.laancElev)];
}
}) })
) )
.handleAction(Actions.LAANC_VALID_AREA.success, (state, action) => .handleAction(Actions.LAANC_VALID_AREA.success, (state, action) =>

Loading…
Cancel
Save