|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
package com.palnet.biz.api.external.service; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.external.model.ApprovalCd; |
|
|
|
|
import com.palnet.biz.api.external.model.DosApprovalResult; |
|
|
|
|
import com.palnet.biz.jpa.entity.DosFltPlanArea; |
|
|
|
|
import com.palnet.biz.jpa.entity.DosFltPlanResult; |
|
|
|
|
import com.palnet.biz.jpa.repository.dos.DosFltPlanAreaRepository; |
|
|
|
@ -16,7 +16,7 @@ import java.time.Instant;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
@ActiveProfiles("prod") |
|
|
|
|
@ActiveProfiles("local") |
|
|
|
|
@Slf4j |
|
|
|
|
@SpringBootTest |
|
|
|
|
class DronOneStopServiceTest { |
|
|
|
@ -43,18 +43,18 @@ class DronOneStopServiceTest {
|
|
|
|
|
Coordinate centerPoint = new Coordinate(area.getLon(), area.getLat()); |
|
|
|
|
|
|
|
|
|
// 검증
|
|
|
|
|
ApprovalCd approvalCd = dronOneStopService.getApprovalCd(bufferZone, fltElev, centerPoint); |
|
|
|
|
DosApprovalResult approvalResult = dronOneStopService.getApprovalResult(bufferZone, fltElev, centerPoint); |
|
|
|
|
|
|
|
|
|
List<DosFltPlanResult> rList = resultList.stream().filter(result -> result.getPlanSno().equals(area.getPlanSno()) && result.getPlanAreaSno().equals(area.getPlanAreaSno())).collect(Collectors.toList()); |
|
|
|
|
log.info("rList size: {}", rList.size()); |
|
|
|
|
if(!rList.isEmpty()){ |
|
|
|
|
rList.forEach(r -> { |
|
|
|
|
|
|
|
|
|
if(r.getApprovalCd().equals(approvalCd.getCode())) { |
|
|
|
|
if(r.getApprovalCd().equals(approvalResult.getApprovalCd().getCode())) { |
|
|
|
|
log.info("approvalCd is same"); |
|
|
|
|
} else { |
|
|
|
|
log.info("approvalCd is different{} -> {}", r.getApprovalCd(), approvalCd.getCode()); |
|
|
|
|
r.setApprovalCd(approvalCd.getCode()); |
|
|
|
|
log.info("approvalCd is different{} -> {}", r.getApprovalCd(), approvalResult.getApprovalCd().getCode()); |
|
|
|
|
r.setApprovalCd(approvalResult.getApprovalCd().getCode()); |
|
|
|
|
r.setUpdateDt(Instant.now()); |
|
|
|
|
DosFltPlanResult save = dosFltPlanResultRepository.save(r); |
|
|
|
|
log.info("update: {}", save); |
|
|
|
@ -66,16 +66,58 @@ class DronOneStopServiceTest {
|
|
|
|
|
DosFltPlanResult dosFltPlanResultInsert = DosFltPlanResult.builder() |
|
|
|
|
.planSno(area.getPlanSno()) |
|
|
|
|
.planAreaSno(area.getPlanAreaSno()) |
|
|
|
|
.approvalCd(approvalCd.getCode()) |
|
|
|
|
.approvalCd(approvalResult.getApprovalCd().getCode()) |
|
|
|
|
.updateDt(Instant.now()) |
|
|
|
|
.createDt(Instant.now()) |
|
|
|
|
.build(); |
|
|
|
|
DosFltPlanResult save = dosFltPlanResultRepository.save(dosFltPlanResultInsert); |
|
|
|
|
log.info("insert: {}", save); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void updateFltElevMax() { |
|
|
|
|
List<DosFltPlanArea> areaList = dosFltPlanAreaRepository.findAll(); |
|
|
|
|
List<DosFltPlanResult> resultList = dosFltPlanResultRepository.findAll(); |
|
|
|
|
|
|
|
|
|
for(DosFltPlanArea area : areaList) { |
|
|
|
|
// Circle만 체크
|
|
|
|
|
Double bufferZone = area.getBufferZone(); |
|
|
|
|
Double fltElev = area.getFltElev() != null ? area.getFltElev() : 0; |
|
|
|
|
|
|
|
|
|
// 좌표 추출 - 중심 좌표
|
|
|
|
|
Coordinate centerPoint = new Coordinate(area.getLon(), area.getLat()); |
|
|
|
|
|
|
|
|
|
// 검증
|
|
|
|
|
DosApprovalResult approvalResult = dronOneStopService.getApprovalResult(bufferZone, fltElev, centerPoint); |
|
|
|
|
|
|
|
|
|
List<DosFltPlanResult> rList = resultList.stream().filter(result -> result.getPlanSno().equals(area.getPlanSno()) && result.getPlanAreaSno().equals(area.getPlanAreaSno())).collect(Collectors.toList()); |
|
|
|
|
log.info("rList size: {}", rList.size()); |
|
|
|
|
if(!rList.isEmpty()){ |
|
|
|
|
rList.forEach(r -> { |
|
|
|
|
|
|
|
|
|
if(r.getFltElevMax() == null){ |
|
|
|
|
log.info("fltElevMax is null"); |
|
|
|
|
r.setFltElevMax(approvalResult.getFltElevMax()); |
|
|
|
|
r.setUpdateDt(Instant.now()); |
|
|
|
|
DosFltPlanResult save = dosFltPlanResultRepository.save(r); |
|
|
|
|
log.info("update: {}", save); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
log.info("result is empty"); |
|
|
|
|
DosFltPlanResult dosFltPlanResultInsert = DosFltPlanResult.builder() |
|
|
|
|
.planSno(area.getPlanSno()) |
|
|
|
|
.planAreaSno(area.getPlanAreaSno()) |
|
|
|
|
.approvalCd(approvalResult.getApprovalCd().getCode()) |
|
|
|
|
.fltElevMax(approvalResult.getFltElevMax()) |
|
|
|
|
.updateDt(Instant.now()) |
|
|
|
|
.createDt(Instant.now()) |
|
|
|
|
.build(); |
|
|
|
|
DosFltPlanResult save = dosFltPlanResultRepository.save(dosFltPlanResultInsert); |
|
|
|
|
log.info("insert: {}", save); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |