Browse Source

비행계획서 구역타입이 Line일시 contains에서 Polygon 만들지 못하는 오류 수정

feature/auth
박재우 2 years ago
parent
commit
4e8c5138f4
  1. 24
      src/main/java/com/palnet/biz/api/bas/flight/service/BasFlightService.java

24
src/main/java/com/palnet/biz/api/bas/flight/service/BasFlightService.java

@ -110,8 +110,9 @@ public class BasFlightService {
}
// 비행계획서 등록
public boolean createPlan(BasFlightPlanModel rq) {
public BasFlightPlanResultMessageRq createPlan(BasFlightPlanModel rq) {
// 비행계획서 등록 시 계획일자 중복 , 비행구역 중복 체크
BasFlightPlanResultMessageRq ReturnCheck = new BasFlightPlanResultMessageRq();
GeometryFactory geometryFactory = new GeometryFactory();
List<BasFlightPlanArcrftModel> arcrftModelList = rq.getArcrftList();
List<BasFlightPlanAreaModel> areaModelList = rq.getAreaList();
@ -119,11 +120,11 @@ public class BasFlightService {
String idntfNum = arcrftModelList.get(i).getIdntfNum();
int size = fltPlanQueryRepository.arcrftCheck(rq, idntfNum).size();
if( size != 0) {
BasFlightPlanResultMessageRq dateCheck = new BasFlightPlanResultMessageRq();
dateCheck.setDateCheck(false);
return false;
ReturnCheck.setDateCheck(false);
ReturnCheck.setFinalCheck(false);
return ReturnCheck;
}else {
ReturnCheck.setDateCheck(true);
}
}
List<Coordinate> coordList = new ArrayList<>();
@ -167,6 +168,9 @@ public class BasFlightService {
bufferCoord.addAll(Arrays.asList(coords));
}
List<Coordinate> reverseBufferList = areaUtils.transform(bufferCoord, "EPSG:5181","EPSG:4326");
coord = null;
coord = new Coordinate(reverseBufferList.get(0).getX(), reverseBufferList.get(0).getY());
reverseBufferList.add(coord);
int k=0;
for(int i = 0; i<queryCount.size(); i++) {
List<Coordinate> queryBufferCoord = new ArrayList<>();
@ -176,7 +180,6 @@ public class BasFlightService {
for(int j=0; j< queryCount.get(i).getCnt(); j++) {
Double lat = queryList.get(k).getLat();
Double lon = queryList.get(k).getLon();
System.out.println(lon + "," + lat);
k++;
queryCoord = new Coordinate(lon , lat);
queryCoordList.add(queryCoord);
@ -218,7 +221,6 @@ public class BasFlightService {
Coordinate coo = new Coordinate(co.x , co.y);
rqCooCheck.add(coo);
}
System.out.println("ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ");
for(Coordinate co : queryPoly) {
Coordinate coo = new Coordinate(co.x , co.y);
queryCooCheck.add(coo);
@ -242,8 +244,12 @@ public class BasFlightService {
boolean check = FlightUtils.overlaps(rqPoly, queryPoly);
boolean checks = FlightUtils.overlaps(queryPoly, rqPoly);
if(check == true || checks == true || rqContains == true || queryContains == true) {
return false;
ReturnCheck.setAreaCheck(false);
ReturnCheck.setFinalCheck(false);
return ReturnCheck;
}
ReturnCheck.setAreaCheck(true);
ReturnCheck.setFinalCheck(true);
}
//비행계획서
String userId = jwtTokenUtil.getCstmrSnoByToken().toString();
@ -298,7 +304,7 @@ public class BasFlightService {
fltPlanArcrftRepository.save(arcrftEntity);
}
}
return true;
return ReturnCheck;
}
// 비행계획서 수정

Loading…
Cancel
Save