|
|
@ -990,10 +990,10 @@ public class BasDosService { |
|
|
|
Long totalDataCount = dosFltPlanQueryRepository.countByPlanSnoInAndSearchOrderByZoneNoAsc(planSnoList, rq); |
|
|
|
Long totalDataCount = dosFltPlanQueryRepository.countByPlanSnoInAndSearchOrderByZoneNoAsc(planSnoList, rq); |
|
|
|
Long totalPages = totalDataCount / rq.getPageDataSize(); |
|
|
|
Long totalPages = totalDataCount / rq.getPageDataSize(); |
|
|
|
|
|
|
|
|
|
|
|
if(rq.getPage() > totalPages || rq.getPage() < 1) throw new CustomException(ErrorCode.NON_VALID_PARAMETER, String.format("페이지는 [ %s ] page 부터 [ %s ] page 까지입니다.", 1, totalPages)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(totalDataCount % rq.getPageDataSize() > 0) totalPages ++; |
|
|
|
if(totalDataCount % rq.getPageDataSize() > 0) totalPages ++; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(rq.getPage() > totalPages || rq.getPage() < 1) throw new CustomException(ErrorCode.NON_VALID_PARAMETER, String.format("페이지는 [ %s ] page 부터 [ %s ] page 까지입니다.", 1, totalPages)); |
|
|
|
|
|
|
|
|
|
|
|
Boolean isFirst = rq.getPage() == 1; |
|
|
|
Boolean isFirst = rq.getPage() == 1; |
|
|
|
Boolean isLast = rq.getPage().equals(totalPages); |
|
|
|
Boolean isLast = rq.getPage().equals(totalPages); |
|
|
|
|
|
|
|
|
|
|
@ -1049,7 +1049,22 @@ public class BasDosService { |
|
|
|
List<BasDosPlanRs> rs = new ArrayList<>(); |
|
|
|
List<BasDosPlanRs> rs = new ArrayList<>(); |
|
|
|
List<Geometry> boundary = null; |
|
|
|
List<Geometry> boundary = null; |
|
|
|
|
|
|
|
|
|
|
|
for(Map.Entry<Long, DosFltPlanBas> entry : fltPlanBasMap.entrySet()){ |
|
|
|
Map<Long, DosFltPlanBas> sortedMap = fltPlanBasMap.entrySet().stream() |
|
|
|
|
|
|
|
.sorted((e1, e2) -> { |
|
|
|
|
|
|
|
int cmp = e2.getValue().getApplyDt().compareTo(e1.getValue().getApplyDt()); |
|
|
|
|
|
|
|
if (cmp == 0) { |
|
|
|
|
|
|
|
return e2.getValue().getApplyNo().compareTo(e1.getValue().getApplyNo()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return cmp; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.collect(Collectors.toMap( |
|
|
|
|
|
|
|
Map.Entry::getKey, |
|
|
|
|
|
|
|
Map.Entry::getValue, |
|
|
|
|
|
|
|
(e1, e2) -> e1, |
|
|
|
|
|
|
|
LinkedHashMap::new |
|
|
|
|
|
|
|
)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(Map.Entry<Long, DosFltPlanBas> entry : sortedMap.entrySet()){ |
|
|
|
Long planSno = entry.getKey(); |
|
|
|
Long planSno = entry.getKey(); |
|
|
|
DosFltPlanBas bas = entry.getValue(); |
|
|
|
DosFltPlanBas bas = entry.getValue(); |
|
|
|
|
|
|
|
|
|
|
@ -1074,6 +1089,9 @@ public class BasDosService { |
|
|
|
|
|
|
|
|
|
|
|
DosFltPlanArea area = areaList.get(i); |
|
|
|
DosFltPlanArea area = areaList.get(i); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TOOD :: 추후 리스트를 삭제하며 돌 수 있도록 수정 필요
|
|
|
|
|
|
|
|
// Boolean addResult = false;
|
|
|
|
|
|
|
|
|
|
|
|
if (area.getPlanSno().equals(planSno)) { |
|
|
|
if (area.getPlanSno().equals(planSno)) { |
|
|
|
Optional<DosFltPlanResult> first = resultList.stream().filter(result -> result.getPlanAreaSno().equals(area.getPlanAreaSno())).findFirst(); |
|
|
|
Optional<DosFltPlanResult> first = resultList.stream().filter(result -> result.getPlanAreaSno().equals(area.getPlanAreaSno())).findFirst(); |
|
|
|
ApprovalCd approvalCd = null; |
|
|
|
ApprovalCd approvalCd = null; |
|
|
@ -1233,10 +1251,13 @@ public class BasDosService { |
|
|
|
.bufferCoordList(bufferCoordList) |
|
|
|
.bufferCoordList(bufferCoordList) |
|
|
|
.reqBufferCoordList(reqBufferCoordList) |
|
|
|
.reqBufferCoordList(reqBufferCoordList) |
|
|
|
.build(); |
|
|
|
.build(); |
|
|
|
|
|
|
|
// addResult =
|
|
|
|
areaRsList.add(areaRs); |
|
|
|
areaRsList.add(areaRs); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// if(addResult) areaList.remove(i);
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// TODO :: 속도이슈 걸리는 곳.. [paging 하면 완화됨]
|
|
|
|
List<BasDosPlanDroneRs> droneList = null; |
|
|
|
List<BasDosPlanDroneRs> droneList = null; |
|
|
|
List<BasDosPlanPilotRs> pilotList = null; |
|
|
|
List<BasDosPlanPilotRs> pilotList = null; |
|
|
|
if (type == PlanSelectType.LIST) { |
|
|
|
if (type == PlanSelectType.LIST) { |
|
|
@ -1265,6 +1286,14 @@ public class BasDosService { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int count = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < rs.size(); i ++){ |
|
|
|
|
|
|
|
BasDosPlanRs rsNode = rs.get(i); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
count += rsNode.getAreaList().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
SearchBasDosPlanRS result = new SearchBasDosPlanRS(); |
|
|
|
SearchBasDosPlanRS result = new SearchBasDosPlanRS(); |
|
|
|
result.setContent(rs); |
|
|
|
result.setContent(rs); |
|
|
|
result.setPagination(pagination); |
|
|
|
result.setPagination(pagination); |
|
|
|