|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행계획서 수정
|
|
|
|
|