Browse Source

feat: 드론원스톱 비행승인 조회 주소검색 로직 보완

feature/address-coordinate^2
lkd9125(이경도) 2 months ago
parent
commit
9d5fd9a912
  1. 33
      pav-server/src/main/java/com/palnet/biz/jpa/repository/dos/DosFltPlanQueryRepository.java

33
pav-server/src/main/java/com/palnet/biz/jpa/repository/dos/DosFltPlanQueryRepository.java

@ -25,7 +25,17 @@ public class DosFltPlanQueryRepository {
QDosFltPlanBas bas = QDosFltPlanBas.dosFltPlanBas;
QDosFltPlanArea qDosFltPlanArea = QDosFltPlanArea.dosFltPlanArea;
String districtAddr = rq.getCtprvn() + " " + (rq.getSig() != null ? rq.getSig() : "");
short idx = 0;
StringBuilder districtAddr = new StringBuilder();
if(rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) {
districtAddr.append(rq.getCtprvn());
idx ++;
}
if(rq.getSig() != null && !rq.getSig().isBlank()) {
if(idx > 0) districtAddr.append(" ");
districtAddr.append(rq.getSig());
}
BooleanBuilder builder = new BooleanBuilder();
@ -38,8 +48,8 @@ public class DosFltPlanQueryRepository {
if(StringUtils.hasText(rq.getApplyNo())) {
builder.and(bas.applyNo.eq(rq.getApplyNo()));
}
if(!districtAddr.isBlank()){
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr + "%"));
if(!districtAddr.toString().isBlank()){
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr.toString() + "%"));
}
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%"));
@ -50,18 +60,29 @@ public class DosFltPlanQueryRepository {
.on(bas.planSno.eq(qDosFltPlanArea.planSno))
.where(builder)
.orderBy(bas.applyDt.desc(), bas.applyNo.desc())
.groupBy(bas.planSno)
.fetch();
}
public List<DosFltPlanArea> findByPlanSnoInAndAddrOrderByZoneNoAsc(List<Long> planSno, BasDosPlanRq rq){
QDosFltPlanArea qDosFltPlanArea = QDosFltPlanArea.dosFltPlanArea;
String districtAddr = rq.getCtprvn() + " " + (rq.getSig() != null ? rq.getSig() : "");
short idx = 0;
StringBuilder districtAddr = new StringBuilder();
if(rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) {
districtAddr.append(rq.getCtprvn());
idx ++;
}
if(rq.getSig() != null && !rq.getSig().isBlank()) {
if(idx > 0) districtAddr.append(" ");
districtAddr.append(rq.getSig());
}
BooleanBuilder builder = new BooleanBuilder();
builder.and(qDosFltPlanArea.planSno.in(planSno));
if(!districtAddr.isBlank()){
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr + "%"));
if(!districtAddr.toString().isBlank()){
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr.toString() + "%"));
}
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%"));

Loading…
Cancel
Save