|
|
|
@ -85,7 +85,7 @@ public class BasFlightService {
|
|
|
|
|
} |
|
|
|
|
return rs; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 비행계획서 등록
|
|
|
|
|
public boolean createPlan(BasFlightPlanModel rq) { |
|
|
|
|
// 비행계획서
|
|
|
|
@ -140,7 +140,6 @@ public class BasFlightService {
|
|
|
|
|
arcrftEntity.setPlanSno(planSno); |
|
|
|
|
arcrftEntity.setCreateUserId(userId); |
|
|
|
|
arcrftEntity.setUpdateUserId(userId); |
|
|
|
|
|
|
|
|
|
fltPlanArcrftRepository.save(arcrftEntity); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -163,8 +162,8 @@ public class BasFlightService {
|
|
|
|
|
if (areaModelList != null && !areaModelList.isEmpty()) { |
|
|
|
|
List<FltPlanArea> areaEntityList = fltPlanAreaRepository.findByPlanSnoOrderByPlanAreaSnoAsc(planSno); |
|
|
|
|
for (BasFlightPlanAreaModel areaModel : areaModelList) { |
|
|
|
|
// FltPlanArea areaEntity = fltPlanAreaRepository.findById(areaModel.getPlanAreaSno()).orElse(null);
|
|
|
|
|
FltPlanArea areaEntity = areaEntityList.stream().filter(fltPlanArea -> fltPlanArea.getPlanAreaSno() == areaModel.getPlanAreaSno()).findFirst().orElse(null); |
|
|
|
|
//FltPlanArea areaEntity = fltPlanAreaRepository.findById(areaModel.getPlanAreaSno()).orElse(null);
|
|
|
|
|
FltPlanArea areaEntity = areaEntityList.stream().filter(fltPlanArea -> fltPlanArea.getPlanAreaSno().equals(areaModel.getPlanAreaSno())).findFirst().orElse(null); |
|
|
|
|
if (areaEntity == null) { |
|
|
|
|
areaEntity = BasFlightMapper.mapper.modelToEntity(areaModel); |
|
|
|
|
areaEntity.setCreateUserId(userId); |
|
|
|
@ -180,7 +179,7 @@ public class BasFlightService {
|
|
|
|
|
Integer areaSno = areaModel.getPlanAreaSno(); |
|
|
|
|
List<FltPlanAreaCoord> coordEntityList = fltPlanAreaCoordRepository.findByPlanAreaSnoOrderByPlanAreaCoordSnoAsc(areaSno); |
|
|
|
|
for (BasFlightPlanAreaCoordModel coordModel : coordsModelList) { |
|
|
|
|
FltPlanAreaCoord coordEntity = coordEntityList.stream().filter(fltPlanAreaCoord -> fltPlanAreaCoord.getPlanAreaCoordSno() == coordModel.getPlanAreaCoordSno()).findFirst().orElse(null); |
|
|
|
|
FltPlanAreaCoord coordEntity = coordEntityList.stream().filter(fltPlanAreaCoord -> fltPlanAreaCoord.getPlanAreaCoordSno().equals(coordModel.getPlanAreaCoordSno())).findFirst().orElse(null); |
|
|
|
|
if (coordEntity == null) { |
|
|
|
|
coordEntity = BasFlightMapper.mapper.modelToEntity(coordModel); |
|
|
|
|
coordEntity.setCreateUserId(userId); |
|
|
|
@ -219,13 +218,16 @@ public class BasFlightService {
|
|
|
|
|
if(pilotModelList != null && !pilotModelList.isEmpty()){ |
|
|
|
|
List<FltPlanPilot> pilotEntityList = fltPlanPilotRepository.findByPlanSnoOrderByPlanPilotSnoAsc(planSno); |
|
|
|
|
for(BasFlightPlanPilotModel pilotModel : pilotModelList){ |
|
|
|
|
FltPlanPilot pilotEntity = pilotEntityList.stream().filter(fltPlanPilot -> fltPlanPilot.getPlanPilotSno() == pilotModel.getPlanPilotSno()).findFirst().orElse(null); |
|
|
|
|
if(pilotEntity != null){ |
|
|
|
|
BasFlightMapper.mapper.updateEntityByModel(pilotEntity, pilotModel); |
|
|
|
|
FltPlanPilot pilotEntity = pilotEntityList.stream().filter(fltPlanPilot -> fltPlanPilot.getPlanPilotSno().equals(pilotModel.getPlanPilotSno())).findFirst().orElse(null); |
|
|
|
|
if(pilotEntity == null){ |
|
|
|
|
pilotEntity = BasFlightMapper.mapper.modelToEntity(pilotModel); |
|
|
|
|
pilotEntity.setUpdateUserId(userId); |
|
|
|
|
// pilotEntity.setCreateUserId(userId);
|
|
|
|
|
fltPlanPilotRepository.save(pilotEntity); |
|
|
|
|
|
|
|
|
|
}else { |
|
|
|
|
BasFlightMapper.mapper.updateEntityByModel(pilotEntity, pilotModel); |
|
|
|
|
} |
|
|
|
|
fltPlanPilotRepository.save(pilotEntity); |
|
|
|
|
} |
|
|
|
|
List<FltPlanPilot> deletePilotEntity = pilotEntityList.stream().filter(fltPlanPilot -> { |
|
|
|
|
for (BasFlightPlanPilotModel pilotModel : pilotModelList) { |
|
|
|
@ -242,12 +244,14 @@ public class BasFlightService {
|
|
|
|
|
if(arcrftModelList != null && !arcrftModelList.isEmpty()){ |
|
|
|
|
List<FltPlanArcrft> arcrftEntityList = fltPlanArcrftRepository.findByPlanSnoOrderByPlanArcrftSnoAsc(planSno); |
|
|
|
|
for(BasFlightPlanArcrftModel arcrftModel : arcrftModelList){ |
|
|
|
|
FltPlanArcrft arcrftEntity = arcrftEntityList.stream().filter(fltPlanArcrft -> fltPlanArcrft.getPlanArcrftSno() == arcrftModel.getPlanArcrftSno()).findFirst().orElse(null); |
|
|
|
|
if(arcrftEntity != null){ |
|
|
|
|
BasFlightMapper.mapper.updateEntityByModel(arcrftEntity, arcrftModel); |
|
|
|
|
FltPlanArcrft arcrftEntity = arcrftEntityList.stream().filter(fltPlanArcrft -> fltPlanArcrft.getPlanArcrftSno().equals(arcrftModel.getPlanArcrftSno())).findFirst().orElse(null); |
|
|
|
|
if(arcrftEntity == null){ |
|
|
|
|
arcrftEntity = BasFlightMapper.mapper.modelToEntity(arcrftModel); |
|
|
|
|
arcrftEntity.setUpdateUserId(userId); |
|
|
|
|
fltPlanArcrftRepository.save(arcrftEntity); |
|
|
|
|
}else { |
|
|
|
|
BasFlightMapper.mapper.updateEntityByModel(arcrftEntity, arcrftModel); |
|
|
|
|
} |
|
|
|
|
fltPlanArcrftRepository.save(arcrftEntity); |
|
|
|
|
} |
|
|
|
|
List<FltPlanArcrft> deleteArcrftEntity = arcrftEntityList.stream().filter(fltPlanArcrft -> { |
|
|
|
|
for (BasFlightPlanArcrftModel arcrftModel : arcrftModelList) { |
|
|
|
@ -309,12 +313,11 @@ public class BasFlightService {
|
|
|
|
|
for(BasFlightPlanAreaModel area : rq) { |
|
|
|
|
|
|
|
|
|
if("LINE".equals(area.getAreaType())) { |
|
|
|
|
List<Coordinate> convertCoordinates = areaUtils.convertCoordinates(area.getCoordList()); // 객체 타입 변환
|
|
|
|
|
List<Coordinate> transCoordList = areaUtils.transform(convertCoordinates, "EPSG:4326", "EPSG:5181"); |
|
|
|
|
|
|
|
|
|
List<Coordinate> bufferList = areaUtils.buffer(transCoordList, area.getBufferZone()); // buffer 영역 생성
|
|
|
|
|
List<Coordinate> transBufferList = areaUtils.transform(bufferList, "EPSG:5181", "EPSG:4326"); // buffer 영역 좌표계 변환
|
|
|
|
|
List<BasFlightPlanAreaCoordModel> bufferCoordList = areaUtils.convertModel(transBufferList); |
|
|
|
|
List<Coordinate> convertCoordinates = areaUtils.convertCoordinates(area.getCoordList()); |
|
|
|
|
|
|
|
|
|
List<Coordinate> bufferList = areaUtils.buffer(convertCoordinates, area.getBufferZone()); // buffer 영역 생성
|
|
|
|
|
// boolean overlaps = areaUtils.overlaps(bufferList); // buffer 영역 장애물 포함 여부 체크
|
|
|
|
|
List<BasFlightPlanAreaCoordModel> bufferCoordList = areaUtils.convertModel(bufferList); |
|
|
|
|
|
|
|
|
|
area.setBufferCoordList(bufferCoordList); |
|
|
|
|
} |
|
|
|
|