Browse Source

관제 prefix 필터 및 권한작업

ctrlDraw
junh_eee(이준희) 2 years ago
parent
commit
9b9e2c6cef
  1. 27
      src/components/map/naver/dron/DronMarker.js
  2. 17
      src/modules/control/gp/sagas/controlGpSaga.ts

27
src/components/map/naver/dron/DronMarker.js

@ -23,6 +23,9 @@ export const DronMarker = props => {
const { objectId, isClickObject } = useSelector( const { objectId, isClickObject } = useSelector(
state => state.controlMapReducer state => state.controlMapReducer
); );
const { controlGroupAuthInfo } = useSelector(
state => state.controlGroupAuthState
);
const [arrMarkers, setArrMarkers] = useState([]); const [arrMarkers, setArrMarkers] = useState([]);
// const [arrInfos, setArrInfos] = useState([]); // const [arrInfos, setArrInfos] = useState([]);
@ -113,8 +116,30 @@ export const DronMarker = props => {
const addMarkers = (position, id, controlId, gps) => { const addMarkers = (position, id, controlId, gps) => {
const iconOption = {}; const iconOption = {};
if (id.indexOf('PALDRONE') > -1) {
iconOption.url = DronIcon;
// let tt = controlGroupAuthInfo.find(prev => {
// prev.idntfNum === gps.objectId;
// });
// if (tt) {
// iconOption.url = DronIcon;
// } else {
// iconOption.url = FlightIcon;
// }
// controlGroupAuthInfo.forEach(prev => {
// if (prev.idntfNum === gps.objectId) {
// iconOption.url = DronIcon;
// } else {
// iconOption.url = FlightIcon;
// }
// });
// iconOption.url = DronIcon;
} else {
iconOption.url = FlightIcon;
}
const homePath = window.HOME_PATH || '.'; const homePath = window.HOME_PATH || '.';
iconOption.url = id.indexOf('PALDRONE') > -1 ? DronIcon : FlightIcon; // iconOption.url = id.indexOf('PALDRONE') > -1 ? DronIcon : FlightIcon;
iconOption.origin = new naver.maps.Point(0, 0); iconOption.origin = new naver.maps.Point(0, 0);
iconOption.anchor = new naver.maps.Point(15, 15); iconOption.anchor = new naver.maps.Point(15, 15);

17
src/modules/control/gp/sagas/controlGpSaga.ts

@ -10,6 +10,7 @@ import { controlGpApi } from '../apis/controlGpApi';
import decode from 'jwt-decode'; import decode from 'jwt-decode';
import { ControlGpData } from '../models/controlGpModel'; import { ControlGpData } from '../models/controlGpModel';
import { detail } from '../../../analysis/history/actions/analysisHistoryAction'; import { detail } from '../../../analysis/history/actions/analysisHistoryAction';
import { useSelector } from 'react-redux';
function* getControlGpSaga( function* getControlGpSaga(
action: ActionType<typeof Actions.controlGpAction.request> action: ActionType<typeof Actions.controlGpAction.request>
@ -28,24 +29,15 @@ function* getControlGpSaga(
//사용자가 등록한 기체(식별장치 포함)만 관제에서 볼 수 있게 필터처리 //사용자가 등록한 기체(식별장치 포함)만 관제에서 볼 수 있게 필터처리
if (controlGroupAuthInfo.length > 0) { if (controlGroupAuthInfo.length > 0) {
controlGroupAuthInfo.forEach(auth => { controlGroupAuthInfo.forEach(auth => {
// if (auth.groupAuthCd === 'CREATER' || auth.groupAuthCd === 'ADMIN') {
if (gpsData.length > 0) return false; if (gpsData.length > 0) return false;
gpsData = data.filter(gps => auth.idntfNum === gps.objectId); // gpsData = data.filter(gps => auth.idntfNum === gps.objectId);
// }
// 식별장치 마다 user를 판단할 수 없기 때문에 일단 주석 처리
// if (auth.groupAuthCd === 'USER') {
// if (gpsData.length > 0) return false;
// gpsData.filter(gps => auth.createUserId && auth.idntfNum === gps.objectId);
// }
}); });
} }
yield put( yield put(
Actions.controlGpAction.success({ Actions.controlGpAction.success({
// controlGpList: gpsData
controlGpList: data controlGpList: data
}) })
); );
@ -54,7 +46,8 @@ function* getControlGpSaga(
const controlIds: any = []; const controlIds: any = [];
data.forEach(gps => { data.forEach(gps => {
if (gps.controlId && gps.objectId.indexOf("PALDRONE") > -1) controlIds.push(gps.controlId); if (gps.controlId && gps.objectId.indexOf('PALDRONE') > -1)
controlIds.push(gps.controlId);
}); });
const param = controlIds.join(','); const param = controlIds.join(',');

Loading…
Cancel
Save