|
|
|
@ -28,66 +28,71 @@ public class DosFltPlanQueryRepository {
|
|
|
|
|
short idx = 0; |
|
|
|
|
|
|
|
|
|
StringBuilder districtAddr = new StringBuilder(); |
|
|
|
|
if(rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) { |
|
|
|
|
if (rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) { |
|
|
|
|
districtAddr.append(rq.getCtprvn()); |
|
|
|
|
idx ++; |
|
|
|
|
idx++; |
|
|
|
|
} |
|
|
|
|
if(rq.getSig() != null && !rq.getSig().isBlank()) { |
|
|
|
|
if(idx > 0) districtAddr.append(" "); |
|
|
|
|
if (rq.getSig() != null && !rq.getSig().isBlank()) { |
|
|
|
|
if (idx > 0) districtAddr.append(" "); |
|
|
|
|
districtAddr.append(rq.getSig()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
BooleanBuilder builder = new BooleanBuilder(); |
|
|
|
|
|
|
|
|
|
if(rq.getSearchStDt() != null) { |
|
|
|
|
if (rq.getSearchStDt() != null) { |
|
|
|
|
builder.and(bas.applyDt.goe(rq.getSearchStDt())); |
|
|
|
|
} |
|
|
|
|
if(rq.getSearchEndDt() != null) { |
|
|
|
|
if (rq.getSearchEndDt() != null) { |
|
|
|
|
builder.and(bas.applyDt.loe(rq.getSearchEndDt())); |
|
|
|
|
} |
|
|
|
|
if(StringUtils.hasText(rq.getApplyNo())) { |
|
|
|
|
if (StringUtils.hasText(rq.getApplyNo())) { |
|
|
|
|
builder.and(bas.applyNo.eq(rq.getApplyNo())); |
|
|
|
|
} |
|
|
|
|
if(!districtAddr.toString().isBlank()){ |
|
|
|
|
if (!districtAddr.toString().isBlank()) { |
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr.toString() + "%")); |
|
|
|
|
} |
|
|
|
|
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){ |
|
|
|
|
if (rq.getAddress() != null && !rq.getAddress().isEmpty()) { |
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return query.selectFrom(bas) |
|
|
|
|
.leftJoin(qDosFltPlanArea) |
|
|
|
|
.on(bas.planSno.eq(qDosFltPlanArea.planSno)) |
|
|
|
|
.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){ |
|
|
|
|
public List<DosFltPlanArea> findByPlanSnoInAndSearchOrderByZoneNoAsc(List<Long> planSno, BasDosPlanRq rq) { |
|
|
|
|
QDosFltPlanArea qDosFltPlanArea = QDosFltPlanArea.dosFltPlanArea; |
|
|
|
|
short idx = 0; |
|
|
|
|
|
|
|
|
|
StringBuilder districtAddr = new StringBuilder(); |
|
|
|
|
if(rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) { |
|
|
|
|
if (rq.getCtprvn() != null && !rq.getCtprvn().isBlank()) { |
|
|
|
|
districtAddr.append(rq.getCtprvn()); |
|
|
|
|
idx ++; |
|
|
|
|
idx++; |
|
|
|
|
} |
|
|
|
|
if(rq.getSig() != null && !rq.getSig().isBlank()) { |
|
|
|
|
if(idx > 0) districtAddr.append(" "); |
|
|
|
|
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.toString().isBlank()){ |
|
|
|
|
if (!districtAddr.toString().isBlank()) { |
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + districtAddr.toString() + "%")); |
|
|
|
|
} |
|
|
|
|
if(rq.getAddress() != null && !rq.getAddress().isEmpty()){ |
|
|
|
|
if (rq.getAddress() != null && !rq.getAddress().isEmpty()) { |
|
|
|
|
builder.and(qDosFltPlanArea.addr.like("%" + rq.getAddress() + "%")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 검토 결과 - W일 경우 W, null 모두 조회(null == W)
|
|
|
|
|
if (rq.getReviewedType() != null) { |
|
|
|
|
builder.and(qDosFltPlanArea.reviewedType.eq(rq.getReviewedType()).or(qDosFltPlanArea.reviewedType.isNull())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return query |
|
|
|
|
.select(qDosFltPlanArea) |
|
|
|
|
.from(qDosFltPlanArea) |
|
|
|
|