2023-11-16 17:36 설문 쿼리 수정

This commit is contained in:
myname 2023-11-16 17:36:26 +09:00
parent 511331f929
commit 07c8e9a5f1
6 changed files with 65 additions and 32 deletions

View File

@ -201,9 +201,18 @@ public class EgovQustnrManageController {
List<?> resultList = egovQustnrManageService.selectQustnrManageList(searchVO) ; List<?> resultList = egovQustnrManageService.selectQustnrManageList(searchVO) ;
//System.out.println(((EgovMap)resultList.get(0)).get("totcnt")); //System.out.println((long)((EgovMap)resultList.get(0)).get("totcnt"));
String s_totCnt = String.valueOf(((EgovMap)resultList.get(0)).get("totcnt"));
paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((int)((EgovMap)resultList.get(0)).get("totcnt")) : 0); System.out.println(s_totCnt);
if (resultList.size()> 0) {
paginationInfo.setTotalRecordCount( Integer.parseInt(s_totCnt));
}else {
paginationInfo.setTotalRecordCount( 0);
}
//paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((int)((EgovMap)resultList.get(0)).get("totcnt")) : 0);
model.addAttribute("resultList", resultList); model.addAttribute("resultList", resultList);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);

View File

@ -33,21 +33,22 @@
<!-- 설문정보::목록조회_게시물정보 --> <!-- 설문정보::목록조회_게시물정보 -->
<select id="QustnrManage.selectQustnrManageDetailModel" resultMap="QustnrManage"> <select id="QustnrManage.selectQustnrManageDetailModel" resultMap="QustnrManage">
/* QustnrManage.selectQustnrManageDetailModel */
<![CDATA[ <![CDATA[
SELECT SELECT
A.QESTNR_ID, A.QESTNR_ID,
A.QUSTNR_SJ, A.QUSTNR_SJ,
A.QUSTNR_PURPS, A.QUSTNR_PURPS,
A.QUSTNR_WRITNG_GUIDANCE_CN, A.QUSTNR_WRITNG_GUIDANCE_CN,
DATE_FORMAT(A.QUSTNR_BGNDE,'%Y-%m-%d') QUSTNR_BGNDE, TO_DATE(A.QUSTNR_BGNDE,'YYYY-MM-DD') QUSTNR_BGNDE,
DATE_FORMAT(A.QUSTNR_ENDDE,'%Y-%m-%d') QUSTNR_ENDDE, TO_DATE(A.QUSTNR_ENDDE,'YYYY-MM-DD') QUSTNR_ENDDE,
A.QUSTNR_TRGET, A.QUSTNR_TRGET,
A.QUSTNR_TMPLAT_ID, A.QUSTNR_TMPLAT_ID,
(SELECT QUSTNR_TMPLAT_TY FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID) QUSTNR_TMPLAT_TY, (SELECT QUSTNR_TMPLAT_TY FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID) QUSTNR_TMPLAT_TY,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d %T') FRST_REGIST_PNTTM, TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24') FRST_REGIST_PNTTM,
(SELECT USER_NM FROM LETTNEMPLYRINFO (SELECT USER_NM FROM LETTNEMPLYRINFO
WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_ID, WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_ID,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d %T') LAST_UPDT_PNTTM, TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD HH24') LAST_UPDT_PNTTM,
A.LAST_UPDUSR_ID, A.LAST_UPDUSR_ID,
( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) QUSTNRQESITM_CNT , ( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) QUSTNRQESITM_CNT ,
( SELECT COUNT(*) FROM LETTNQUSTNRRSPNSRESULT WHERE QESTNR_ID = A.QESTNR_ID ) RRSPNSRESULT_CNT, ( SELECT COUNT(*) FROM LETTNQUSTNRRSPNSRESULT WHERE QESTNR_ID = A.QESTNR_ID ) RRSPNSRESULT_CNT,
@ -55,7 +56,7 @@
CASE CASE
WHEN A.STTUS = '1' THEN WHEN A.STTUS = '1' THEN
CASE CASE
WHEN DATE_FORMAT(A.QUSTNR_ENDDE,'%Y%m%d') < DATE_FORMAT(now(), '%Y%m%d') THEN '2' WHEN TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') < TO_CHAR(SYSDATE, 'YYYYMMDD') THEN '2'
ELSE '1' ELSE '1'
END END
ELSE A.STTUS ELSE A.STTUS
@ -72,6 +73,7 @@
<!-- 설문정보::목록조회_게시물정보 --> <!-- 설문정보::목록조회_게시물정보 -->
<select id="QustnrManage.selectQustnrManage" parameterClass="comDefaultVO" resultClass="egovMap" > <select id="QustnrManage.selectQustnrManage" parameterClass="comDefaultVO" resultClass="egovMap" >
/* QustnrManage.selectQustnrManage */
<![CDATA[ <![CDATA[
select select
count(a.qestnr_id) over() as totcnt count(a.qestnr_id) over() as totcnt
@ -105,13 +107,16 @@
<isNotEmpty property="searchKeyword"> <isNotEmpty property="searchKeyword">
<isNotEqual property="searchKeyword" compareValue=""> <isNotEqual property="searchKeyword" compareValue="">
<isEqual property="searchCondition" compareValue=""> <isEqual property="searchCondition" compareValue="">
AND ( QUSTNR_SJ LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') OR FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) ) AND ( QUSTNR_SJ LIKE '%'||#searchKeyword#||'%'
OR FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE '%'||#searchKeyword#||'%'
)
)
</isEqual> </isEqual>
<isEqual property="searchCondition" compareValue="QUSTNR_SJ"> <isEqual property="searchCondition" compareValue="QUSTNR_SJ">
AND QUSTNR_SJ LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') AND QUSTNR_SJ LIKE '%'||#searchKeyword#||'%'
</isEqual> </isEqual>
<isEqual property="searchCondition" compareValue="FRST_REGISTER_ID"> <isEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE '%'||#searchKeyword#||'%' )
</isEqual> </isEqual>
</isNotEqual> </isNotEqual>
</isNotEmpty> </isNotEmpty>
@ -133,6 +138,7 @@
<!-- 설문정보::목록조회_게시물 총갯수 --> <!-- 설문정보::목록조회_게시물 총갯수 -->
<select id="QustnrManage.selectQustnrManageCnt" parameterClass="comDefaultVO" resultClass="int"> <select id="QustnrManage.selectQustnrManageCnt" parameterClass="comDefaultVO" resultClass="int">
/* QustnrManage.selectQustnrManageCnt */
SELECT SELECT
COUNT(*) totcnt COUNT(*) totcnt
FROM LETTNQESTNRINFO FROM LETTNQESTNRINFO
@ -140,13 +146,15 @@
<isNotEmpty property="searchKeyword"> <isNotEmpty property="searchKeyword">
<isNotEqual property="searchKeyword" compareValue=""> <isNotEqual property="searchKeyword" compareValue="">
<isEqual property="searchCondition" compareValue=""> <isEqual property="searchCondition" compareValue="">
AND ( QUSTNR_SJ LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') OR FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) ) AND ( QUSTNR_SJ LIKE '%'||#searchKeyword#||'%'
OR FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE '%'||#searchKeyword#||'%' )
)
</isEqual> </isEqual>
<isEqual property="searchCondition" compareValue="QUSTNR_SJ"> <isEqual property="searchCondition" compareValue="QUSTNR_SJ">
AND QUSTNR_SJ LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') AND QUSTNR_SJ LIKE '%'||#searchKeyword#||'%'
</isEqual> </isEqual>
<isEqual property="searchCondition" compareValue="FRST_REGISTER_ID"> <isEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') ) AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE '%'||#searchKeyword#||'%' )
</isEqual> </isEqual>
</isNotEqual> </isNotEqual>
</isNotEmpty> </isNotEmpty>
@ -200,7 +208,7 @@
QUSTNR_TRGET=#qestnrTrget#, QUSTNR_TRGET=#qestnrTrget#,
QUSTNR_VIEW_TRGET=#qestnrViewTrget#, QUSTNR_VIEW_TRGET=#qestnrViewTrget#,
QUSTNR_ENDDE=REPLACE(#qestnrEndDe#,'-',''), QUSTNR_ENDDE=REPLACE(#qestnrEndDe#,'-',''),
LAST_UPDT_PNTTM = NOW(), LAST_UPDT_PNTTM = SYSDATE,
SITE_ID = #siteId#, SITE_ID = #siteId#,
LAST_UPDUSR_ID = #lastUpdusrId#, LAST_UPDUSR_ID = #lastUpdusrId#,
STTUS = #sttus#, STTUS = #sttus#,
@ -211,17 +219,18 @@
<!-- 설문정보::상세보기 --> <!-- 설문정보::상세보기 -->
<select id="QustnrManage.selectQustnrManageDetail" parameterClass="QustnrManageVO" resultClass="egovMap"> <select id="QustnrManage.selectQustnrManageDetail" parameterClass="QustnrManageVO" resultClass="egovMap">
/* QustnrManage.selectQustnrManageDetail */
<![CDATA[ <![CDATA[
SELECT SELECT
A.QESTNR_ID, A.QESTNR_ID,
A.QUSTNR_SJ qestnrSj, A.QUSTNR_SJ qestnrSj,
A.QUSTNR_PURPS qestnrPurps, A.QUSTNR_PURPS qestnrPurps,
A.QUSTNR_WRITNG_GUIDANCE_CN qestnrWritngGuidanceCn, A.QUSTNR_WRITNG_GUIDANCE_CN qestnrWritngGuidanceCn,
DATE_FORMAT(A.QUSTNR_BGNDE,'%Y-%m-%d') QESTNR_BEGIN_DE, TO_DATE(A.QUSTNR_BGNDE,'YYYY-MM-DD') QESTNR_BEGIN_DE,
DATE_FORMAT(A.QUSTNR_ENDDE,'%Y-%m-%d') QESTNR_END_DE, TO_DATE(A.QUSTNR_ENDDE,'YYYY-MM-DD') QESTNR_END_DE,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d %T') frstRegisterPnttm, TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24') frstRegisterPnttm,
A.FRST_REGISTER_ID, A.FRST_REGISTER_ID,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d %T') LAST_UPDT_PNTTM, TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD HH24') LAST_UPDT_PNTTM,
A.LAST_UPDUSR_ID, A.LAST_UPDUSR_ID,
A.ATCH_FILE_ID atchFileId, A.ATCH_FILE_ID atchFileId,
A.QUSTNR_TRGET qestnrTrget, A.QUSTNR_TRGET qestnrTrget,
@ -230,7 +239,7 @@
( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) qustnrQesitmCnt , ( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) qustnrQesitmCnt ,
( SELECT COUNT(*) FROM LETTNQUSTNRRESPONDINFO WHERE QESTNR_ID = A.QESTNR_ID ) rrspnsResultCnt, ( SELECT COUNT(*) FROM LETTNQUSTNRRESPONDINFO WHERE QESTNR_ID = A.QESTNR_ID ) rrspnsResultCnt,
CASE CASE
WHEN DATE_FORMAT(A.QUSTNR_ENDDE,'%Y%m%d') < DATE_FORMAT(now(), '%Y%m%d') THEN '2' /* */ WHEN TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') < TO_CHAR(SYSDATE, 'YYYYMMDD') THEN '2' /* */
ELSE A.STTUS ELSE A.STTUS
END AS STTUS, END AS STTUS,
(SELECT QUSTNR_TMPLAT_PATH_NM FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID ) TEMPLATE_URL (SELECT QUSTNR_TMPLAT_PATH_NM FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID ) TEMPLATE_URL
@ -269,9 +278,9 @@
#qestnrViewTrget#, #qestnrViewTrget#,
#qestnrTmplatId#, #qestnrTmplatId#,
#siteId#, #siteId#,
NOW(), SYSDATE,
#frstRegisterId#, #frstRegisterId#,
NOW(), SYSDATE,
#lastUpdusrId#, #lastUpdusrId#,
#atchFileId# #atchFileId#
) )

View File

@ -77,6 +77,7 @@
<!-- 설문문항::상세보기 --> <!-- 설문문항::상세보기 -->
<select id="QustnrQestnManage.selectQustnrQestnManageDetail" parameterClass="QustnrQestnManageVO" resultClass="egovMap"> <select id="QustnrQestnManage.selectQustnrQestnManageDetail" parameterClass="QustnrQestnManageVO" resultClass="egovMap">
/* QustnrQestnManage.selectQustnrQestnManageDetail */
SELECT SELECT
A.QUSTNR_QESITM_ID qestnrQesitmId, A.QUSTNR_QESITM_ID qestnrQesitmId,
A.QESTNR_ID, A.QESTNR_ID,
@ -86,9 +87,9 @@
A.QESTN_CN qestnCn, A.QESTN_CN qestnCn,
A.MXMM_CHOISE_CO mxmmChoiseCo, A.MXMM_CHOISE_CO mxmmChoiseCo,
A.QUSTNR_TMPLAT_ID qestnrTmplatId, A.QUSTNR_TMPLAT_ID qestnrTmplatId,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d %H%:i:%s') FRST_REGIST_PNTTM, TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24:MI:SS') FRST_REGIST_PNTTM,
A.FRST_REGISTER_ID, A.FRST_REGISTER_ID,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d %H%:i:%s') LAST_UPDT_PNTTM, TO_CHAR(A.LAST_UPDT_PNTTM,'%Y-%m-%d %H%:i:%s') LAST_UPDT_PNTTM,
A.LAST_UPDUSR_ID A.LAST_UPDUSR_ID
FROM LETTNQUSTNRQESITM A FROM LETTNQUSTNRQESITM A
WHERE 1=1 WHERE 1=1
@ -98,6 +99,7 @@
<!-- 설문문항::목록조회_게시물정보 --> <!-- 설문문항::목록조회_게시물정보 -->
<select id="QustnrQestnManage.selectQustnrQestnManage" parameterClass="comDefaultVO" resultClass="egovMap"> <select id="QustnrQestnManage.selectQustnrQestnManage" parameterClass="comDefaultVO" resultClass="egovMap">
/* QustnrQestnManage.selectQustnrQestnManage */
<![CDATA[ <![CDATA[
SELECT SELECT
A.QUSTNR_QESITM_ID qestnrQesitmId, A.QUSTNR_QESITM_ID qestnrQesitmId,
@ -108,10 +110,10 @@
A.QESTN_CN, A.QESTN_CN,
A.MXMM_CHOISE_CO, A.MXMM_CHOISE_CO,
A.QUSTNR_TMPLAT_ID qestnrTmplatId, A.QUSTNR_TMPLAT_ID qestnrTmplatId,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d') FRST_REGIST_PNTTM, TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD') FRST_REGIST_PNTTM,
A.FRST_REGISTER_ID, A.FRST_REGISTER_ID,
(SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_NM, (SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID) FRST_REGISTER_NM,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d') LAST_UPDT_PNTTM, TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD') LAST_UPDT_PNTTM,
A.LAST_UPDUSR_ID, A.LAST_UPDUSR_ID,
( SELECT COUNT(*) FROM LETTNQUSTNRIEM WHERE QUSTNR_QESITM_ID = A.QUSTNR_QESITM_ID ) QUSTNRIEM_CNT ( SELECT COUNT(*) FROM LETTNQUSTNRIEM WHERE QUSTNR_QESITM_ID = A.QUSTNR_QESITM_ID ) QUSTNRIEM_CNT
FROM LETTNQUSTNRQESITM A FROM LETTNQUSTNRQESITM A
@ -135,7 +137,12 @@
<![CDATA[ <![CDATA[
ORDER BY A.QESTN_SN ASC ORDER BY A.QESTN_SN ASC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
]]> ]]>
</select> </select>

View File

@ -188,7 +188,11 @@
</isNotEmpty> </isNotEmpty>
<![CDATA[ <![CDATA[
ORDER BY A.FRST_REGIST_PNTTM DESC ORDER BY A.FRST_REGIST_PNTTM DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
]]> ]]>
</select> </select>

View File

@ -276,8 +276,8 @@
</td> </td>
</c:if> </c:if>
<td class="left"> <td class="left">
<a href="#" onclick="fn_egov_modify_QustnrManage('${resultInfo.qestnrId}'); return false;"> <a href="#" onclick="fn_egov_modify_QustnrManage('${resultInfo.qestnrid}'); return false;">
<c:out value="${resultInfo.qestnrSj}" escapeXml="true"/> <c:out value="${resultInfo.qestnrsj}" escapeXml="true"/>
</a> </a>
</td> </td>
<!-- <td> --> <!-- <td> -->
@ -285,11 +285,11 @@
<%-- <input type="button" class="btnType2" value="결과보기" onclick="qustnrPopOpen(2,'${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%> <%-- <input type="button" class="btnType2" value="결과보기" onclick="qustnrPopOpen(2,'${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%>
<%-- <input type="button" class="btnType2" value="엑셀다운로드" onclick="fn_egov_qustnr_excelDown('${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%> <%-- <input type="button" class="btnType2" value="엑셀다운로드" onclick="fn_egov_qustnr_excelDown('${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%>
<!-- </td> --> <!-- </td> -->
<td>${resultInfo.qustnrQesitmCnt}</td> <td>${resultInfo.qustnrqesitmcnt}</td>
<td>${resultInfo.rrspnsResultCnt}</td> <td>${resultInfo.rrspnsresultcnt}</td>
<td>${resultInfo.frstRegisterNm}</td> <td>${resultInfo.frstRegisterNm}</td>
<td class="wsClear"> <td class="wsClear">
${resultInfo.qestnrBeginDe}~${resultInfo.qestnrEndDe} ${resultInfo.qestnrbeginde}~${resultInfo.qestnrendde}
</td> </td>
<td> <td>
<kc:code codeId="VE0011" code="${resultInfo.siteId}"/> <kc:code codeId="VE0011" code="${resultInfo.siteId}"/>

View File

@ -52,6 +52,10 @@
$("input:text[numberOnly]").on("keyup", function(){ $("input:text[numberOnly]").on("keyup", function(){
$(this).val($(this).val().replace(/[^0-9]/g,"")); $(this).val($(this).val().replace(/[^0-9]/g,""));
}); });
$("input:text[numberOnly]").on("blur", function(){
$(this).val($(this).val().replace(/[^0-9]/g,""));
});
} }
function replyCalculation(){ function replyCalculation(){