단일 검색을 쉼표(,) 구분 다중 키워드 검색으로 변경. (개선사항)

This commit is contained in:
eactive
2025-11-21 11:38:02 +09:00
parent 09a47db64b
commit aaf13a0579
@@ -20,6 +20,7 @@ import com.eactive.eai.data.entity.onl.unifbwk.UnifBwkTp;
import com.eactive.eai.data.jpa.AbstractDataService;
import com.eactive.eai.rms.data.entity.onl.bzwkdstcd.QUserBusiness;
import com.eactive.eai.rms.onl.manage.comm.unifbwk.UnifbwkUISearch;
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.dsl.BooleanExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
@@ -54,12 +55,27 @@ public class UnifBwkTpService extends AbstractDataService<UnifBwkTp, String, Uni
public Iterable<UnifBwkTp> findAllwithSearch(String searchBzwkName) {
QUnifBwkTp qUnifBwkTp = QUnifBwkTp.unifBwkTp;
BooleanBuilder builder = new BooleanBuilder();
if(StringUtils.isNotBlank(searchBzwkName)) {
String[] keywords = searchBzwkName.split(",");
for(String keyword : keywords) {
String param = keyword.trim();
BooleanExpression predicate = QUnifBwkTp.unifBwkTp.bzwkdsticname
.containsIgnoreCase(param)
.or(qUnifBwkTp.eaibzwkdstcd.containsIgnoreCase(param));
builder.or(predicate);
}
}
BooleanExpression predicate = QUnifBwkTp.unifBwkTp.bzwkdsticname
.containsIgnoreCase(searchBzwkName)
.or(qUnifBwkTp.eaibzwkdstcd.containsIgnoreCase(searchBzwkName));
return repository.findAll(predicate, qUnifBwkTp.eaibzwkdstcd.asc());
return repository.findAll(builder, qUnifBwkTp.eaibzwkdstcd.asc());
}
public Page<UnifBwkTp> findPageWithSearch(Pageable pageable, UnifbwkUISearch unifbwkUISearch) {