Browse Source

드론관제 List 필터 조건 수정 , rq타입 수정

Test
qkr7828(박재우) 2 years ago
parent
commit
ce0a6d3130
  1. 4
      src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java
  2. 70
      src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java
  3. 51
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

4
src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java

@ -118,11 +118,11 @@ public class CtrCntrlController {
@ApiOperation(value = "TODO 비행 관제 사용자 권한 정보")
@Tag(name = "드론 관제 시스템", description = "드론 관제 관련 API")
@ApiImplicitParam(name = "cstmrSno",value = "고객일련번호", dataTypeClass = Integer.class)
public ResponseEntity<? extends BasicResponse> findGroupAuthInfo(@RequestParam Integer cstmrSno) {
public ResponseEntity<? extends BasicResponse> findGroupAuthInfo() {
List<CtrCntrlGroupModel> list;
try {
list = service.getGroupAuthInfo(cstmrSno);
list = service.getGroupAuthInfo();
} catch (Exception e) {
log.error("IGNORE : {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)

70
src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java

@ -1,38 +1,66 @@
package com.palnet.biz.api.ctr.cntrl.service;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import ch.qos.logback.core.encoder.EchoEncoder;
import org.apache.commons.lang3.StringUtils;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel;
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaCoordModel;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaModel;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanModel;
import com.palnet.biz.api.bas.flight.service.BasFlightMapper;
import com.palnet.biz.api.comn.model.ControlGpsDataContext;
import com.palnet.biz.api.ctr.cntrl.model.*;
import com.palnet.biz.jpa.entity.*;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlArcrftWarnModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlDtlModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupArcrftModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlPlanContainsRq;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlPlanContainsRs;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlWarnLogModel;
import com.palnet.biz.jpa.entity.ComArcrftBas;
import com.palnet.biz.jpa.entity.ComIdntfBas;
import com.palnet.biz.jpa.entity.CtrCntrlBas;
import com.palnet.biz.jpa.entity.CtrCntrlHstry;
import com.palnet.biz.jpa.entity.CtrCntrlHstryArea;
import com.palnet.biz.jpa.entity.CtrCntrlWarnLog;
import com.palnet.biz.jpa.entity.FltPlanArcrft;
import com.palnet.biz.jpa.entity.FltPlanArea;
import com.palnet.biz.jpa.entity.FltPlanAreaCoord;
import com.palnet.biz.jpa.entity.FltPlanBas;
import com.palnet.biz.jpa.repository.com.ComArcrftBasRepository;
import com.palnet.biz.jpa.repository.com.ComIdntBasRepository;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlBasRepository;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlHstryRepository;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlQueryRepository;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlWarnLogRepository;
import com.palnet.biz.jpa.repository.flt.*;
import com.palnet.biz.jpa.repository.flt.FltPlanArcrftRepository;
import com.palnet.biz.jpa.repository.flt.FltPlanAreaCoordRepository;
import com.palnet.biz.jpa.repository.flt.FltPlanAreaRepository;
import com.palnet.biz.jpa.repository.flt.FltPlanBasRepository;
import com.palnet.comn.model.GPHistoryModel;
import com.palnet.comn.utils.AreaUtils;
import com.palnet.comn.utils.DateUtils;
import com.palnet.comn.utils.EncryptUtils;
import org.apache.commons.lang3.StringUtils;
import org.locationtech.jts.geom.Coordinate;
import org.springframework.stereotype.Service;
import com.palnet.biz.jpa.repository.ctr.CtrCntrlQueryRepository;
import com.palnet.comn.model.GPHistoryModel;
import lombok.extern.log4j.Log4j2;
import org.springframework.transaction.annotation.Transactional;
@Service
@Log4j2
public class CtrCntrlService {
@Autowired
private JwtTokenUtil jwtTokenUtil;
private final CtrCntrlQueryRepository query;
private final CtrCntrlBasRepository cntrlBasRepository;
private final CtrCntrlHstryRepository cntrlHstryRepository;
@ -156,17 +184,15 @@ public class CtrCntrlService {
* @param cstmrSno
* @return
*/
public List<CtrCntrlGroupModel> getGroupAuthInfo(Integer cstmrSno) {
public List<CtrCntrlGroupModel> getGroupAuthInfo() {
List<CtrCntrlGroupModel> list = query.findByGroupInfo();
for (CtrCntrlGroupModel group : list) {
// List<CtrCntrlGroupArcrftModel> arcrftList = query.findByGroupArcrft(group.getGroupId());
List<CtrCntrlGroupArcrftModel> arcrftList = query.findByGroupArcrft(group.getGroupId(), group.getGroupAuthCd(), cstmrSno);
group.setArcrftList(arcrftList);
}
return list;
for(CtrCntrlGroupModel lists : list) {
List<CtrCntrlGroupArcrftModel> arcrftList = query.findByGroupArcrft(lists.getGroupId());
lists.setArcrftList(arcrftList);
}
return list;
}
/**

51
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

@ -1484,18 +1484,17 @@ public List<AnlsHstryDetailModel> listCntrlHstry(String id){
String authId = jwtTokenUtil.getUserAuthByToken();
Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken();
List<JwtGroupModel> groupAuthByToken = jwtTokenUtil.getGroupAuthByToken();
//
List<JwtGroupModel> groupAuth = jwtTokenUtil.getGroupAuthByToken();
BooleanBuilder builder = new BooleanBuilder();
builder.and(pgb.useYn.eq("Y"));
if ("USER".equals(authId) || "ROLE_USER".equals(authId)) {
if ("USER".equals(authId) || "ROLE_USER".equals(authId)) { // 앱 권한이 노말이라면 , 본인의 그룹만 불러옴.
builder.and(pcg.aprvlYn.eq("Y"));
builder.and(pcg.cstmrSno.eq(cstmrSno));
}
List<CtrCntrlGroupModel> model = query.select(Projections.bean(CtrCntrlGroupModel.class,
pcg.cstmrSno.as("cstmrSno"),
pgb.groupId.as("groupId"),
pgb.groupNm.as("groupNm"),
pcg.groupAuthCd.as("groupAuthCd")
@ -1507,6 +1506,17 @@ public List<AnlsHstryDetailModel> listCntrlHstry(String id){
.where(builder)
.fetch();
for(CtrCntrlGroupModel list : model) {
for(JwtGroupModel lists : groupAuth) {
if(list.getGroupId().equals(lists.getGroupId())) {
list.setGroupAuthCd(lists.getGroupAuthCd());
break;
}else {
list.setGroupAuthCd("");
}
}
}
return model;
//
@ -1534,20 +1544,25 @@ public List<AnlsHstryDetailModel> listCntrlHstry(String id){
// public List<CtrCntrlGroupArcrftModel> findByGroupArcrft(String groupId) {
// public List<CtrCntrlGroupArcrftModel> findByGroupArcrft(String groupId, String groupAuthCd) {
public List<CtrCntrlGroupArcrftModel> findByGroupArcrft(String groupId, String groupAuthCd, int cstmrSno) {
public List<CtrCntrlGroupArcrftModel> findByGroupArcrft(String groupId) {
QComArcrftBas arcrftBas = QComArcrftBas.comArcrftBas;
QComIdntfBas idntfBas = QComIdntfBas.comIdntfBas;
String userIdByToken = jwtTokenUtil.getUserIdByToken();
//-------------------------------------------
String authId = jwtTokenUtil.getUserAuthByToken();
String appAuth = jwtTokenUtil.getUserAuthByToken();
int cstmrSno = jwtTokenUtil.getCstmrSnoByToken();
String groupAuth = null;
List<JwtGroupModel> groupAuthList = jwtTokenUtil.getGroupAuthByToken();
BooleanBuilder builder = new BooleanBuilder();
// if("ROLE_USER".equals(authId) || "USER".equals(authId)) {
// if("NORMAL".equals(groupAuthCd)) {
// builder.and(idntfBas.cstmrSno.eq(cstmrSno));
// }
// }
builder.and(arcrftBas.groupId.eq(groupId));
if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) {
for(JwtGroupModel list : groupAuthList) {
if(list.getGroupId().equals(groupId)) {
groupAuth = list.getGroupAuthCd();
}
}
if("NORMAL".equals(groupAuth)){ // 그룹권한이 노말인 경우
builder.and(idntfBas.cstmrSno.eq(cstmrSno));
}
}
List<CtrCntrlGroupArcrftModel> arcrftList = query.select(Projections.bean(CtrCntrlGroupArcrftModel.class,
arcrftBas.arcrftSno,
@ -1560,16 +1575,14 @@ public List<AnlsHstryDetailModel> listCntrlHstry(String id){
arcrftBas.prdctCmpnNm,
idntfBas.createDt,
idntfBas.updateDt
// idntfBas.cstmrSno
))
.from(arcrftBas)
.leftJoin(idntfBas)
.on(arcrftBas.arcrftSno.eq(idntfBas.arcrftSno))
.where(arcrftBas.useYn.eq("Y"),
idntfBas.idntfNum.isNotNull(),
arcrftBas.groupId.eq(groupId),
idntfBas.idntfNum.like("PALDRONE%"))
// .where(builder)
.where(builder)
.fetch();
return arcrftList;

Loading…
Cancel
Save