From 76c1bccf6e38abd8321b43de6b93f8a9fc14fccd Mon Sep 17 00:00:00 2001 From: tolag3 Date: Fri, 14 Jul 2023 12:55:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A4=80=ED=98=B8=20=EC=A0=84?= =?UTF-8?q?=EC=9E=90=EC=A1=B0=EC=A0=95=EC=8B=9C=EC=8A=A4=ED=85=9C=EA=B3=A0?= =?UTF-8?q?=EB=8F=84=ED=99=94=20=EC=BB=A4=EB=B0=8B=20=20-=20=EC=A1=B0?= =?UTF-8?q?=EC=A0=95=EC=A2=85=EA=B2=B0=EB=AA=A9=EB=A1=9D=20>=20=EA=B2=80?= =?UTF-8?q?=EC=83=89=EC=A1=B0=EA=B1=B4=20=EC=B6=94=EA=B0=80=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solr/search/impl/SearchServiceImpl.java | 46 +++++++- .../kccadr/adjclsmgr/adjCloseMangeList.jsp | 110 +++++++++++------- 2 files changed, 113 insertions(+), 43 deletions(-) diff --git a/src/main/java/kcc/let/solr/search/impl/SearchServiceImpl.java b/src/main/java/kcc/let/solr/search/impl/SearchServiceImpl.java index 2624a441..2d31478b 100644 --- a/src/main/java/kcc/let/solr/search/impl/SearchServiceImpl.java +++ b/src/main/java/kcc/let/solr/search/impl/SearchServiceImpl.java @@ -2,6 +2,7 @@ package kcc.let.solr.search.impl; import java.net.URLDecoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; @@ -12,8 +13,10 @@ import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Stream; import javax.annotation.Resource; +import javax.persistence.criteria.CriteriaBuilder.Case; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.IOUtils; @@ -46,6 +49,11 @@ public class SearchServiceImpl implements InitializingBean, SearchService { @Value("${Globals.Solr.url}") private String SERVER_URL; + + @Value("${Globals.prod.islocal}") + private String islocal; + + //암복호화 유틸 @Resource(name = "egovCryptoUtil") @@ -336,11 +344,45 @@ public class SearchServiceImpl implements InitializingBean, SearchService { _q.append(q); } } - - if( !"*:*".equals(_q.toString()) ){ + + String searchCondition = (String)commandMap.get("searchCondition"); + String searchCondition2 = (String)commandMap.get("searchCondition2"); + + //검색조건 추가 + if( !"*:*".equals(_q.toString()) && StringUtils.isEmpty(searchCondition)){ _q.insert(0, "*"); _q.append("*"); + }else if( !"*:*".equals(_q.toString()) && !StringUtils.isEmpty(searchCondition)) { + + _q.insert(0, searchCondition + ":*"); + + if("adrNo".equals(searchCondition)) { + _q.append("*"); + }else if("appliCantNm".equals(searchCondition)) { + if("real".equals(islocal)) { + _q = new StringBuilder(searchCondition + ":*" + egovCryptoUtil.encrypt(_q.toString()) + "* OR " + searchCondition + ":*" +MagicDBAPIUtil.encryptOnlyOneString(_q.toString())); + }else { + _q = new StringBuilder(searchCondition + ":*" + egovCryptoUtil.encrypt(_q.toString())); + } + _q.append("*"); + } + } + //종결상태 체크박스 + if(StringUtils.isNotEmpty(searchCondition2)) { + String[] finalCd = searchCondition2.split(","); + int index=0; + _q.append(" AND ("); + for(String tmp : finalCd) { + if(index != 0) _q.append(" OR "); + _q.append("finalStatCd:" + tmp); + index++; + } + _q.append(")"); + + } + + if (StringUtils.isNotBlank(sdate) && StringUtils.isNotBlank(edate)) { query.addFilterQuery("registDt:["+sdate+" TO "+edate+"]"); } diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/adjclsmgr/adjCloseMangeList.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/adjclsmgr/adjCloseMangeList.jsp index c33eb8a4..f2def22f 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/adjclsmgr/adjCloseMangeList.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/adjclsmgr/adjCloseMangeList.jsp @@ -6,6 +6,8 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + @@ -15,6 +17,11 @@ $(document).ready(function() { //해당 페이지에 대한 권한 체크 _admin_fn_check_authority("adjCloseMangeList", "div.cont", "ALL"); + + //종결상태 체크박스 제어 + + fncCheckValue('searchCondition2', '${val}') + }); //권한 체크 결과값으로 후속처리 @@ -32,6 +39,8 @@ var q1 = form.q1.value; if(q1 == "") q1 = ":" listForm.q.value = q1 ; + listForm.searchCondition.value = form.searchCondition.value; + listForm.searchCondition2.value = getCheckboxValue(); listForm.action = ""; listForm.submit(); } @@ -52,6 +61,24 @@ listForm.submit(); } + function fncCheckValue(name, value) { + $("input[name=" + name + "]").each(function(index, item) { + if (item.value == value) { + item.checked = true; + } + }) + } + + function getCheckboxValue() { + const query = 'input[name="searchCondition2"]:checked'; + const selectedEls = + document.querySelectorAll(query); + let result = ''; + selectedEls.forEach((el) => { + result += el.value + ','; + }); + return result; + } @@ -61,7 +88,8 @@ - <%-- " /> --%> + " /> + " /> <%-- " /> --%> <%-- " /> --%> @@ -87,50 +115,50 @@