Browse Source

laanc 승인시 첫좌표로 주소 받아오기

pull/10/head
지대한 12 months ago
parent
commit
505a8f6ca5
  1. 7
      pav-server/build.gradle
  2. 3
      pav-server/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java
  3. 1
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancLastRs.java
  4. 32
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java
  5. 33
      pav-server/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java
  6. 113
      pav-server/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java
  7. 1
      pav-server/src/main/java/com/palnet/biz/scheduler/ctr/model/CtrTrnsLctnModel.java
  8. 23
      pav-server/src/test/java/com/palnet/biz/scheduler/ctr/service/CtrTrnsLctnServiceTest.java

7
pav-server/build.gradle

@ -100,6 +100,8 @@ dependencies {
implementation 'org.locationtech.jts:jts-core:1.19.0'
implementation 'org.geotools:gt-geojson:29.2'
testCompileOnly 'org.projectlombok:lombok:1.18.28'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.28'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testAnnotationProcessor "org.mapstruct:mapstruct-processor:1.5.5.Final"
@ -109,10 +111,15 @@ dependencies {
tasks.named('test') {
useJUnitPlatform()
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
tasks.withType(Test) {
enabled = false
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true

3
pav-server/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java

@ -14,7 +14,6 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@ -32,10 +31,8 @@ import java.util.List;
@Tag(name = "비행 이력 현황", description = "비행 이력 현황 관련 API")
public class AnlsHstryController {
@Autowired
private final AnlsHstryService service;
@GetMapping(value = "/list")
@ApiOperation(value = "비행 현황 목록 출력")
@Tag(name = "비행 이력 현황", description = "비행 이력 현황 관련 API")

1
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancLastRs.java

@ -22,4 +22,5 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class BasLaancLastRs {
private String pdfUrl;
private String address;
}

32
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java

@ -16,6 +16,8 @@ import com.palnet.biz.jpa.repository.flt.*;
import com.palnet.biz.jpa.repository.pty.PtyCstmrQueryRepository;
import com.palnet.biz.jpa.repository.pty.PtyGroupBasRepository;
import com.palnet.biz.jpa.repository.pty.PtyTermsAgreeTxnRepository;
import com.palnet.biz.scheduler.ctr.model.CtrTrnsLctnModel;
import com.palnet.biz.scheduler.ctr.service.CtrTrnsLctnService;
import com.palnet.comn.code.ErrorCode;
import com.palnet.comn.exception.CustomException;
import com.palnet.comn.utils.AirspaceUtils;
@ -49,7 +51,6 @@ import java.util.stream.Collectors;
@Service
public class BasLaancService {
private final PtyGroupBasRepository ptyGroupBasRepository;
private final FltPlanBasRepository fltPlanBasRepository;
private final FltPlanArcrftRepository fltPlanArcrftRepository;
@ -59,6 +60,7 @@ public class BasLaancService {
private final PtyCstmrQueryRepository ptyCstmrQueryRepository;
private final PtyTermsAgreeTxnRepository ptyTermsAgreeTxnRepository;
private final TsService tsService;
private final CtrTrnsLctnService ctrTrnsLctnService;
private final ComnFileService comnFileService;
private final JwtTokenUtil jwtTokenUtil;
private final AreaUtils areaUtils;
@ -182,6 +184,8 @@ public class BasLaancService {
Integer planAreaSno = rAreaEntity.getPlanAreaSno();
List<BasLaancAreaCoordModel> laancAreaModelCoordList = laancAreaModel.getCoordList();
if (laancAreaModelCoordList != null && !laancAreaModelCoordList.isEmpty()) {
laancAreaModelCoordList.get(0).getLat();
laancAreaModelCoordList.get(0).getLon();
for (BasLaancAreaCoordModel basLaancAreaCoordModel : laancAreaModelCoordList) {
FltPlanAreaCoord coordEntity = BasLaancMapper.MAPPER.modelToPlanEntity(basLaancAreaCoordModel);
coordEntity.setPlanAreaSno(planAreaSno);
@ -239,12 +243,28 @@ public class BasLaancService {
laancPdfModel.setUserName(fltPlanBas.getMemberName());
ComFileBas comFileBas = comnFileService.makePdf(laancPdfModel);
StringBuilder sb = new StringBuilder();
sb.append(FILE_DOWNLOAD_URL)
.append("?fileSno=")
.append(comFileBas.getFileSno());
String sb = FILE_DOWNLOAD_URL + "?fileSno=" + comFileBas.getFileSno();
// 주소 가져오기
String address = "";
try {
double firstLat = rq.getAreaList().get(0).getCoordList().get(0).getLat();
double firstLon = rq.getAreaList().get(0).getCoordList().get(0).getLon();
CtrTrnsLctnModel ctrTrnsLctnModel = ctrTrnsLctnService.convertLatlonToAddress(firstLat, firstLon);
address = ctrTrnsLctnModel.getArea1() + " " +
ctrTrnsLctnModel.getArea2() + " " +
ctrTrnsLctnModel.getLandNm() + " " +
ctrTrnsLctnModel.getLandNum();
} catch (Exception e) {
log.error("get first coords to address fail. : ", e);
address = "";
}
BasLaancLastRs rs = BasLaancLastRs.builder()
.pdfUrl(sb.toString())
.pdfUrl(sb)
.pdfUrl(address)
.build();
return rs;

33
pav-server/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java

@ -1,38 +1,27 @@
package com.palnet.biz.api.ctr.cntrl.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.LocalTime;
import java.util.*;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanModel;
import com.palnet.biz.api.comn.response.BasicResponse;
import com.palnet.biz.api.comn.response.ErrorResponse;
import com.palnet.biz.api.comn.response.SuccessResponse;
import com.palnet.biz.api.ctr.cntrl.model.*;
import com.palnet.biz.scheduler.ctr.model.CtrTrnsLctnModel;
import com.palnet.biz.scheduler.ctr.service.CtrTrnsLctnService;
import com.palnet.biz.api.ctr.cntrl.service.CtrCntrlService;
import com.palnet.comn.model.GPHistoryModel;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2;
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.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanModel;
import com.palnet.biz.api.comn.response.BasicResponse;
import com.palnet.biz.api.comn.response.ErrorResponse;
import com.palnet.biz.api.comn.response.SuccessResponse;
import com.palnet.biz.api.ctr.cntrl.service.CtrCntrlService;
import com.palnet.comn.model.GPHistoryModel;
import lombok.extern.log4j.Log4j2;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Log4j2
@RestController

113
pav-server/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java

@ -1,34 +1,5 @@
package com.palnet.biz.api.ctr.cntrl.service;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.Period;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanArcrftModel;
import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaCoordModel;
@ -36,56 +7,49 @@ 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.CtrCntrlArcrftComplModel;
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.CtrCntrlSocketContainsRq;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlWarnLogModel;
import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlWeatherModel;
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.api.ctr.cntrl.model.*;
import com.palnet.biz.jpa.entity.*;
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.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.biz.jpa.repository.flt.FltPlanCtrCntrlRelRepository;
import com.palnet.biz.jpa.repository.flt.*;
import com.palnet.biz.scheduler.ctr.model.CtrTrnsLctnModel;
import com.palnet.biz.scheduler.ctr.service.CtrTrnsLctnService;
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 lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
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.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import lombok.extern.log4j.Log4j2;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.time.*;
import java.util.*;
@Slf4j
@RequiredArgsConstructor
@Service
@Log4j2
public class CtrCntrlService {
@Autowired
private JwtTokenUtil jwtTokenUtil;
@Autowired
private CtrTrnsLctnService ctrTrnsLctnService;
@Autowired
private FltPlanCtrCntrlRelRepository relRepository;
private final JwtTokenUtil jwtTokenUtil;
private final CtrTrnsLctnService ctrTrnsLctnService;
private final FltPlanCtrCntrlRelRepository relRepository;
private final CtrCntrlQueryRepository query;
private final CtrCntrlBasRepository cntrlBasRepository;
@ -100,31 +64,6 @@ public class CtrCntrlService {
private final AreaUtils areaUtils;
private final ControlGpsDataContext shareContext;
public CtrCntrlService(CtrCntrlQueryRepository query,
CtrCntrlBasRepository cntrlBasRepository,
CtrCntrlHstryRepository cntrlHstryRepository,
CtrCntrlWarnLogRepository warnLogRepository,
ComIdntBasRepository idntfRepository,
ComArcrftBasRepository arcrftRepository,
FltPlanBasRepository planBasRepository,
FltPlanArcrftRepository planArcrftRepository,
FltPlanAreaRepository planAreaRepository,
FltPlanAreaCoordRepository planCoordRepository,
AreaUtils areaUtils,
ControlGpsDataContext shareContext) {
this.query = query;
this.cntrlBasRepository = cntrlBasRepository;
this.cntrlHstryRepository = cntrlHstryRepository;
this.warnLogRepository = warnLogRepository;
this.idntfRepository = idntfRepository;
this.arcrftRepository = arcrftRepository;
this.planBasRepository = planBasRepository;
this.planArcrftRepository = planArcrftRepository;
this.planAreaRepository = planAreaRepository;
this.planCoordRepository = planCoordRepository;
this.areaUtils = areaUtils;
this.shareContext = shareContext;
}
public List<GPHistoryModel> getListHistory(String objectId) {

1
pav-server/src/main/java/com/palnet/biz/scheduler/ctr/model/CtrTrnsLctnModel.java

@ -1,7 +1,6 @@
package com.palnet.biz.scheduler.ctr.model;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class CtrTrnsLctnModel {

23
pav-server/src/test/java/com/palnet/biz/scheduler/ctr/service/CtrTrnsLctnServiceTest.java

@ -0,0 +1,23 @@
package com.palnet.biz.scheduler.ctr.service;
import com.palnet.biz.scheduler.ctr.model.CtrTrnsLctnModel;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
@Slf4j
@ActiveProfiles({"local"})
@SpringBootTest
class CtrTrnsLctnServiceTest {
@Autowired
private CtrTrnsLctnService service;
@Test
void convertLatlonToAddress() {
CtrTrnsLctnModel ctrTrnsLctnModel = service.convertLatlonToAddress(37.5666805, 126.9784147);
log.info(">>> {}", ctrTrnsLctnModel);
}
}
Loading…
Cancel
Save