From 4e8c5138f4a54d2e2d1ef272510db38e52e709dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=9E=AC=EC=9A=B0?= <박재우@DESKTOP-EF7ECBO> Date: Fri, 26 Aug 2022 11:57:28 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=ED=96=89=EA=B3=84=ED=9A=8D=EC=84=9C?= =?UTF-8?q?=20=EA=B5=AC=EC=97=AD=ED=83=80=EC=9E=85=EC=9D=B4=20Line?= =?UTF-8?q?=EC=9D=BC=EC=8B=9C=20contains=EC=97=90=EC=84=9C=20Polygon=20?= =?UTF-8?q?=EB=A7=8C=EB=93=A4=EC=A7=80=20=EB=AA=BB=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bas/flight/service/BasFlightService.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/palnet/biz/api/bas/flight/service/BasFlightService.java b/src/main/java/com/palnet/biz/api/bas/flight/service/BasFlightService.java index 1e09403..11c2f9e 100644 --- a/src/main/java/com/palnet/biz/api/bas/flight/service/BasFlightService.java +++ b/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 arcrftModelList = rq.getArcrftList(); List 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 coordList = new ArrayList<>(); @@ -167,6 +168,9 @@ public class BasFlightService { bufferCoord.addAll(Arrays.asList(coords)); } List 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 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; } // 비행계획서 수정