|
|
|
@ -6,38 +6,24 @@ import java.io.InputStream;
|
|
|
|
|
import java.io.InputStreamReader; |
|
|
|
|
import java.io.UnsupportedEncodingException; |
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.time.Instant; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.bas.flight.model.*; |
|
|
|
|
import org.json.simple.JSONObject; |
|
|
|
|
import org.json.simple.parser.JSONParser; |
|
|
|
|
import org.json.simple.parser.ParseException; |
|
|
|
|
import org.locationtech.jts.geom.Coordinate; |
|
|
|
|
import org.locationtech.proj4j.CRSFactory; |
|
|
|
|
import org.locationtech.proj4j.CoordinateReferenceSystem; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.beans.propertyeditors.CustomDateEditor; |
|
|
|
|
import org.springframework.core.env.Environment; |
|
|
|
|
import org.springframework.core.io.ClassPathResource; |
|
|
|
|
import org.springframework.core.io.Resource; |
|
|
|
|
import org.springframework.http.HttpStatus; |
|
|
|
|
import org.springframework.http.MediaType; |
|
|
|
|
import org.springframework.http.ResponseEntity; |
|
|
|
|
import org.springframework.web.bind.WebDataBinder; |
|
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightAprovRq; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanArcrftModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanListRq; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightPlanPilotModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightScheduleRs; |
|
|
|
|
import com.palnet.biz.api.bas.flight.model.BasFlightWeatherModel; |
|
|
|
|
import com.palnet.biz.api.bas.flight.service.BasFlightService; |
|
|
|
|
import com.palnet.biz.api.comn.model.ComnPagingRs; |
|
|
|
|
import com.palnet.biz.api.comn.response.BasicResponse; |
|
|
|
@ -117,7 +103,7 @@ public class BasFlightController {
|
|
|
|
|
@GetMapping(value = "/plan/detail/{planSno}") |
|
|
|
|
@ApiOperation(value = "비행계획서 상세 조회") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
@ApiImplicitParam(name = "planSno",value = "비행계획서일련번호", dataTypeClass = Integer.class) |
|
|
|
|
@ApiImplicitParam(name = "planSno", value = "비행계획서일련번호", dataTypeClass = Integer.class) |
|
|
|
|
public ResponseEntity<? extends BasicResponse> detailPlan(@PathVariable("planSno") Integer planSno) { |
|
|
|
|
BasFlightPlanModel result = null; |
|
|
|
|
try { |
|
|
|
@ -136,14 +122,14 @@ public class BasFlightController {
|
|
|
|
|
@ApiOperation(value = "비행계획서 등록") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
public ResponseEntity<? extends BasicResponse> createPlan(@RequestBody BasFlightPlanModel rq) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
|
|
|
BasFlightPlanLaancRs rs = null; |
|
|
|
|
try { |
|
|
|
|
log.error(">>> rq : {}", rq); |
|
|
|
|
boolean result = basFlightService.createPlan(rq); |
|
|
|
|
resultMap.put("result", result); |
|
|
|
|
log.info(">>> resultMap : " , resultMap); |
|
|
|
|
log.debug(">>> rq : {}", rq); |
|
|
|
|
rs = basFlightService.createPlan(rq); |
|
|
|
|
log.debug(">>> rs : {}", rs); |
|
|
|
|
|
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
|
|
|
log.error("IGNORE : {}", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
@ -155,7 +141,7 @@ public class BasFlightController {
|
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(rs)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행계획서 수정
|
|
|
|
@ -163,12 +149,12 @@ public class BasFlightController {
|
|
|
|
|
@ApiOperation(value = "비행계획서 수정") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
public ResponseEntity<? extends BasicResponse> updatePlan(@RequestBody BasFlightPlanModel rq) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
|
|
|
BasFlightPlanLaancRs rs = null; |
|
|
|
|
try { |
|
|
|
|
boolean result = basFlightService.updatePlan(rq); |
|
|
|
|
resultMap.put("result", result); |
|
|
|
|
rs = basFlightService.updatePlan(rq); |
|
|
|
|
|
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
|
|
|
log.error("IGNORE : {}", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
@ -180,14 +166,14 @@ public class BasFlightController {
|
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(rs)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행계획서 삭제
|
|
|
|
|
@DeleteMapping(value = "/plan/delete/{planSno}") |
|
|
|
|
@ApiOperation(value = "비행계획서 삭제") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
@ApiImplicitParam(name = "planSno",value = "비행계획서일련번호", dataTypeClass = Integer.class) |
|
|
|
|
@ApiImplicitParam(name = "planSno", value = "비행계획서일련번호", dataTypeClass = Integer.class) |
|
|
|
|
public ResponseEntity<? extends BasicResponse> deletePlan(@PathVariable("planSno") Integer planSno) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<String, Object>(); |
|
|
|
|
try { |
|
|
|
@ -212,7 +198,7 @@ public class BasFlightController {
|
|
|
|
|
@GetMapping(value = "/plan/pilot/{groupId}") |
|
|
|
|
@ApiOperation(value = "그룹의 조종사 조회") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
@ApiImplicitParam(name = "groupId",value = "그룹ID", dataTypeClass = String.class) |
|
|
|
|
@ApiImplicitParam(name = "groupId", value = "그룹ID", dataTypeClass = String.class) |
|
|
|
|
public ResponseEntity<? extends BasicResponse> findPilot(@PathVariable("groupId") String groupId) { |
|
|
|
|
List<BasFlightPlanPilotModel> result = null; |
|
|
|
|
try { |
|
|
|
@ -227,11 +213,12 @@ public class BasFlightController {
|
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 그룹 기체 조회
|
|
|
|
|
@GetMapping(value = "/plan/arcrft/{groupId}") |
|
|
|
|
@ApiOperation(value = "그룹의 기체 조회") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
@ApiImplicitParam(name = "groupId",value = "그룹ID", dataTypeClass = String.class) |
|
|
|
|
@ApiImplicitParam(name = "groupId", value = "그룹ID", dataTypeClass = String.class) |
|
|
|
|
public ResponseEntity<? extends BasicResponse> findArcrft(@PathVariable("groupId") String groupId) { |
|
|
|
|
List<BasFlightPlanArcrftModel> result = null; |
|
|
|
|
try { |
|
|
|
@ -266,7 +253,7 @@ public class BasFlightController {
|
|
|
|
|
@GetMapping("/plan/api/weather") |
|
|
|
|
@ApiOperation(value = "비행계획서 날씨") |
|
|
|
|
@Tag(name = "비행계획서", description = "비행계획서 관련 API") |
|
|
|
|
public ResponseEntity<? extends BasicResponse> restApiGetWeather(BasFlightWeatherModel rq){ |
|
|
|
|
public ResponseEntity<? extends BasicResponse> restApiGetWeather(BasFlightWeatherModel rq) { |
|
|
|
|
JSONObject jsonObject = null; |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
@ -280,6 +267,7 @@ public class BasFlightController {
|
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(jsonObject)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행계획서 리스트(승인)
|
|
|
|
|
@GetMapping(value = "/aprv/list") |
|
|
|
|
@ApiOperation(value = "비행계획서 리스트(승인)") |
|
|
|
@ -296,6 +284,7 @@ public class BasFlightController {
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 비행계획서 승인/미승인
|
|
|
|
|
@PutMapping(value = "/aprv/proc") |
|
|
|
|
@ApiOperation(value = "비행 계획서 승인/미승인") |
|
|
|
@ -389,8 +378,8 @@ public class BasFlightController {
|
|
|
|
|
Coordinate circleCoord = new Coordinate(getY, getX); |
|
|
|
|
|
|
|
|
|
List<Coordinate> coordList = utils.createCircle(circleCoord, buffer); |
|
|
|
|
for(Coordinate a : coordList) { |
|
|
|
|
System.out.println("["+a.getX() + ", " + a.getY()+"],"); |
|
|
|
|
for (Coordinate a : coordList) { |
|
|
|
|
System.out.println("[" + a.getX() + ", " + a.getY() + "],"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|