|
|
@ -1,7 +1,9 @@ |
|
|
|
package com.palnet.biz.jpa.repository.dos; |
|
|
|
package com.palnet.biz.jpa.repository.dos; |
|
|
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.bas.dos.model.BasDosPlanRq; |
|
|
|
import com.palnet.biz.api.bas.dos.model.BasDosPlanRq; |
|
|
|
|
|
|
|
import com.palnet.biz.jpa.entity.DosFltPlanArea; |
|
|
|
import com.palnet.biz.jpa.entity.DosFltPlanBas; |
|
|
|
import com.palnet.biz.jpa.entity.DosFltPlanBas; |
|
|
|
|
|
|
|
import com.palnet.biz.jpa.entity.QDosFltPlanArea; |
|
|
|
import com.palnet.biz.jpa.entity.QDosFltPlanBas; |
|
|
|
import com.palnet.biz.jpa.entity.QDosFltPlanBas; |
|
|
|
import com.querydsl.core.BooleanBuilder; |
|
|
|
import com.querydsl.core.BooleanBuilder; |
|
|
|
import com.querydsl.jpa.impl.JPAQueryFactory; |
|
|
|
import com.querydsl.jpa.impl.JPAQueryFactory; |
|
|
@ -21,6 +23,9 @@ public class DosFltPlanQueryRepository { |
|
|
|
|
|
|
|
|
|
|
|
public List<DosFltPlanBas> findPlanByBasSearch(BasDosPlanRq rq) { |
|
|
|
public List<DosFltPlanBas> findPlanByBasSearch(BasDosPlanRq rq) { |
|
|
|
QDosFltPlanBas bas = QDosFltPlanBas.dosFltPlanBas; |
|
|
|
QDosFltPlanBas bas = QDosFltPlanBas.dosFltPlanBas; |
|
|
|
|
|
|
|
QDosFltPlanArea qDosFltPlanArea = QDosFltPlanArea.dosFltPlanArea; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String districtAddr = rq.getCtprvn() + " " + (rq.getSig() != null ? rq.getSig() : ""); |
|
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
|
|
|
|
|
|
@ -33,10 +38,41 @@ public class DosFltPlanQueryRepository { |
|
|
|
if(StringUtils.hasText(rq.getApplyNo())) { |
|
|
|
if(StringUtils.hasText(rq.getApplyNo())) { |
|
|
|
builder.and(bas.applyNo.eq(rq.getApplyNo())); |
|
|
|
builder.and(bas.applyNo.eq(rq.getApplyNo())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(!districtAddr.isBlank()){ |
|
|
|
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr + "%")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){ |
|
|
|
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return query.selectFrom(bas) |
|
|
|
return query.selectFrom(bas) |
|
|
|
|
|
|
|
.leftJoin(qDosFltPlanArea) |
|
|
|
|
|
|
|
.on(bas.planSno.eq(qDosFltPlanArea.planSno)) |
|
|
|
.where(builder) |
|
|
|
.where(builder) |
|
|
|
.orderBy(bas.applyDt.desc(), bas.applyNo.desc()) |
|
|
|
.orderBy(bas.applyDt.desc(), bas.applyNo.desc()) |
|
|
|
.fetch(); |
|
|
|
.fetch(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<DosFltPlanArea> findByPlanSnoInAndAddrOrderByZoneNoAsc(List<Long> planSno, BasDosPlanRq rq){ |
|
|
|
|
|
|
|
QDosFltPlanArea qDosFltPlanArea = QDosFltPlanArea.dosFltPlanArea; |
|
|
|
|
|
|
|
String districtAddr = rq.getCtprvn() + " " + (rq.getSig() != null ? rq.getSig() : ""); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
|
|
|
builder.and(qDosFltPlanArea.planSno.in(planSno)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!districtAddr.isBlank()){ |
|
|
|
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr + "%")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){ |
|
|
|
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%")); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
|
|
|
.select(qDosFltPlanArea) |
|
|
|
|
|
|
|
.from(qDosFltPlanArea) |
|
|
|
|
|
|
|
.where(builder) |
|
|
|
|
|
|
|
.orderBy(qDosFltPlanArea.zoneNo.asc()) |
|
|
|
|
|
|
|
.fetch(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|