2024-04-25 17:09 성인 설문 기타의견 추가

This commit is contained in:
myname 2024-04-25 17:09:40 +09:00
parent 5ba3a389c5
commit 9e883cc958
18 changed files with 442 additions and 6 deletions

View File

@ -171,6 +171,9 @@ public interface EgovQustnrRespondInfoService {
// 차수별 설문 조회 - 상세 답변 정보(기반, 기소 ) // 차수별 설문 조회 - 상세 답변 정보(기반, 기소 )
public List<QustnrRespondInfoVO> selectChasiSrvyFndtnList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectChasiSrvyFndtnList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
// 차수별 설문 조회 - 주관식 답변 정보
public List<QustnrRespondInfoVO> selectSubjList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO); void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO);

View File

@ -137,6 +137,10 @@ public class QustnrRespondInfoVO implements Serializable {
// 강화 기반은 라디오 버튼이라 변수 추가함 // 강화 기반은 라디오 버튼이라 변수 추가함
private String responseRadio = ""; private String responseRadio = "";
//설문 주관식 입력을 받기위한 정보추가
private String qustnrCn = "";
private String userId = "";
public List<QustnrRespondInfoVO> getResultList() { public List<QustnrRespondInfoVO> getResultList() {
return resultList; return resultList;
} }
@ -648,4 +652,28 @@ public class QustnrRespondInfoVO implements Serializable {
} }
public String getQustnrCn() {
return qustnrCn;
}
public void setQustnrCn(String qustnrCn) {
this.qustnrCn = qustnrCn;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
} }

View File

@ -258,6 +258,11 @@ public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl im
return dao.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO); return dao.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO);
} }
@Override
public List<QustnrRespondInfoVO> selectSubjList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectSubjList(qustnrRespondInfoVO);
}
@Override @Override
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception { public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); return dao.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);

View File

@ -212,6 +212,11 @@ public class QustnrRespondInfoDao extends EgovAbstractDAO {
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyFndtnList202312", qustnrRespondInfoVO); return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyFndtnList202312", qustnrRespondInfoVO);
} }
@SuppressWarnings("unchecked")
public List<QustnrRespondInfoVO> selectSubjList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectSubjList", qustnrRespondInfoVO);
}
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{ public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO); return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO);
} }
@ -229,6 +234,8 @@ public class QustnrRespondInfoDao extends EgovAbstractDAO {
public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) { public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) {
delete("QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo", vEEduAplctVO); delete("QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo", vEEduAplctVO);
delete("QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt", vEEduAplctVO); delete("QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt", vEEduAplctVO);
delete("QustnrRespondInfo.deleteVeaSulOpinion", vEEduAplctVO);
} }
public List<QustnrRespondInfoVO> selectQustnrDetail(QustnrRespondInfoVO qustnrVO) { public List<QustnrRespondInfoVO> selectQustnrDetail(QustnrRespondInfoVO qustnrVO) {

View File

@ -53,6 +53,9 @@ public interface EgovQustnrRespondManageService {
*/ */
void insertQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) throws Exception; void insertQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) throws Exception;
void insertSubjRespond(QustnrRespondManageVO qustnrRespondManageVO) throws Exception;
/** /**
* 응답자정보를() 수정한다. * 응답자정보를() 수정한다.
* @param qustnrRespondManageVO - 응답자정보 정보 담김 VO * @param qustnrRespondManageVO - 응답자정보 정보 담김 VO

View File

@ -78,6 +78,10 @@ public class QustnrRespondManageVO implements Serializable {
private String respondNm; private String respondNm;
private String qustnrCn;
private String userId;
/** /**
* qestnrId attribute 리턴한다. * qestnrId attribute 리턴한다.
* @return the String * @return the String
@ -332,4 +336,20 @@ public class QustnrRespondManageVO implements Serializable {
public void setRespondNm(String respondNm) { public void setRespondNm(String respondNm) {
this.respondNm = respondNm; this.respondNm = respondNm;
} }
public String getQustnrCn() {
return qustnrCn;
}
public void setQustnrCn(String qustnrCn) {
this.qustnrCn = qustnrCn;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
} }

View File

@ -86,6 +86,11 @@ public class EgovQustnrRespondManageServiceImpl extends EgovAbstractServiceImpl
dao.insertQustnrRespondManage(qustnrRespondManageVO); dao.insertQustnrRespondManage(qustnrRespondManageVO);
} }
@Override
public void insertSubjRespond(QustnrRespondManageVO qustnrRespondManageVO) throws Exception {
dao.insertSubjRespond(qustnrRespondManageVO);
}
/** /**
* 응답자정보를() 수정한다. * 응답자정보를() 수정한다.
* @param qustnrRespondManageVO - 응답자정보 조회할 정보가 담긴 VO * @param qustnrRespondManageVO - 응답자정보 조회할 정보가 담긴 VO

View File

@ -2,11 +2,11 @@ package kcc.let.uss.olp.qrm.service.impl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO; import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import org.springframework.stereotype.Repository;
/** /**
* 설문응답자관리 Dao Class 구현 * 설문응답자관리 Dao Class 구현
* @author 공통서비스 장동한 * @author 공통서비스 장동한
@ -66,6 +66,10 @@ public class QustnrRespondManageDao extends EgovAbstractDAO {
insert("QustnrRespondManage.insertQustnrRespondManage", qustnrRespondManageVO); insert("QustnrRespondManage.insertQustnrRespondManage", qustnrRespondManageVO);
} }
public void insertSubjRespond(QustnrRespondManageVO qustnrRespondManageVO) throws Exception{
insert("QustnrRespondManage.insertSubjRespond", qustnrRespondManageVO);
}
/** /**
* 응답자정보를() 수정한다. * 응답자정보를() 수정한다.
* @param qustnrRespondManageVO - 응답자정보 정보 담김 VO * @param qustnrRespondManageVO - 응답자정보 정보 담김 VO

View File

@ -337,6 +337,18 @@ public class ScholInfoController {
System.out.println("Exception vEEduAplctOnlnService.updateBulk"); System.out.println("Exception vEEduAplctOnlnService.updateBulk");
} }
//주관식 답변 정보
try {
List<QustnrRespondInfoVO> subjList = egovQustnrRespondInfoService.selectSubjList(qustnrRespondInfoVO);
if (subjList.size()>=0) {
model.addAttribute("subjInfo", subjList.get(0));
}
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
//설문 참여 정보 //설문 참여 정보
/* /*
try { try {

View File

@ -710,6 +710,18 @@ public class EduEndTngrController {
qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); qustnrRespondManageVO.setQestnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());
egovQustnrRespondManageService.insertQustnrRespondManage(qustnrRespondManageVO); egovQustnrRespondManageService.insertQustnrRespondManage(qustnrRespondManageVO);
//기타의견 저장
try {
qustnrRespondManageVO.setUserId(loginVO.getId());
qustnrRespondManageVO.setQustnrCn(qustnrRespondInfoVO.getQustnrCn());
egovQustnrRespondManageService.insertSubjRespond(qustnrRespondManageVO);
}catch(Exception ex) {
ex.printStackTrace();
}
// 설문 문항 결과 등록 // 설문 문항 결과 등록
for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) { for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) {
System.out.println("qustnrRespondInfoVO.getResultList().get(i).getQustnrQesitmId()"); System.out.println("qustnrRespondInfoVO.getResultList().get(i).getQustnrQesitmId()");
@ -739,10 +751,12 @@ public class EduEndTngrController {
ex.printStackTrace(); ex.printStackTrace();
} }
} }
modelAndView.addObject("result", "success");
}catch(Exception ex) { }catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk"); System.out.println("Exception vEEduAplctOnlnService.updateBulk");
modelAndView.addObject("result", "fail");
} }
modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
} }

View File

@ -308,6 +308,21 @@ public class EduRsltMngAdultController {
ex.printStackTrace(); ex.printStackTrace();
} }
//주관식 답변 정보
try {
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
List<QustnrRespondInfoVO> subjList = egovQustnrRespondInfoService.selectSubjList(qustnrRespondInfoVO);
if (subjList.size()>=0) {
model.addAttribute("subjInfo", subjList.get(0));
}
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
System.out.println("=============================================chasiSrvyList============================================="); System.out.println("=============================================chasiSrvyList=============================================");
return "oprtn/tngrVisitEdu/popup/chasiStatusPopup"; return "oprtn/tngrVisitEdu/popup/chasiStatusPopup";
@ -425,6 +440,22 @@ public class EduRsltMngAdultController {
ex.printStackTrace(); ex.printStackTrace();
} }
//주관식 답변 정보
try {
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
List<QustnrRespondInfoVO> subjList = egovQustnrRespondInfoService.selectSubjList(qustnrRespondInfoVO);
if (subjList.size()>=0) {
model.addAttribute("subjInfo", subjList.get(0));
}
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
System.out.println("=============================================chasiSrvyEAList============================================="); System.out.println("=============================================chasiSrvyEAList=============================================");
//20220223 우영두 추가 //20220223 우영두 추가

View File

@ -558,6 +558,18 @@ public class EduRsltMngTngrController {
} }
//기타의견 저장
try {
if (!"".equals(qustnrRespondInfoVO.getQustnrCn())) {
qustnrRespondManageVO.setUserId(loginVO.getId());
qustnrRespondManageVO.setQustnrCn(qustnrRespondInfoVO.getQustnrCn());
egovQustnrRespondManageService.insertSubjRespond(qustnrRespondManageVO);
}
}catch(Exception ex) {
ex.printStackTrace();
}
// 설문 문항별 결과 등록 // 설문 문항별 결과 등록
for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) { for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) {
qustnrRespondInfoVO.getResultList().get(i).setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId()); qustnrRespondInfoVO.getResultList().get(i).setQustnrTmplatId(qustnrRespondInfoVO.getQustnrTmplatId());

View File

@ -866,6 +866,40 @@
ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID
</select> </select>
<select id="QustnrRespondInfo.selectSubjList" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.selectSubjList 성인 설문 주관식 리스트 */
SELECT QUSTNR_TMPLAT_ID AS qustnrTmplatId,
QESTNR_ID AS qestnrId,
edu_aplct_ord AS eduAplctOrd,
edu_chasi_ord AS eduChasiOrd,
USER_ID AS userId,
QUSTNR_CN AS qustnrCn,
FRST_REGIST_PNTTM AS frstRegistPnttm ,
FRST_REGISTER_ID AS frstRegisterId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
LAST_UPDUSR_ID AS lastUpdusrId
FROM vea_sul_opinion
WHERE 1=1
<isNotEmpty property="qustnrTmplatId">
AND qustnr_tmplat_id=#qustnrTmplatId#
</isNotEmpty>
<isNotEmpty property="qestnrId">
AND qestnr_id=#qestnrId#
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="eduChasiOrd">
AND edu_chasi_ord=#eduChasiOrd#
</isNotEmpty>
<isNotEmpty property="userId">
AND user_id=#userId#
</isNotEmpty>
ORDER BY qustnr_tmplat_id, qestnr_id
</select>
<select id="QustnrRespondInfo.selectChasiSrvyList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO"> <select id="QustnrRespondInfo.selectChasiSrvyList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.selectChasiSrvyList_bak */ /* QustnrRespondInfo.selectChasiSrvyList_bak */
SELECT SELECT
@ -1014,6 +1048,14 @@
AND edu_chasi_ord = #eduChasiOrd# AND edu_chasi_ord = #eduChasiOrd#
</delete> </delete>
<delete id="QustnrRespondInfo.deleteVeaSulOpinion" parameterClass="vEEduAplctVO">
/* QustnrRespondInfo.deleteVeaSulOpinion */
DELETE FROM VEA_SUL_OPINION
WHERE 1=1
AND edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
<select id="QustnrRespondInfo.selectQustnr5060" parameterClass="VEPrcsDetailVO" resultClass="QustnrRespondInfoVO"> <select id="QustnrRespondInfo.selectQustnr5060" parameterClass="VEPrcsDetailVO" resultClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.selectQustnr5060 */ /* QustnrRespondInfo.selectQustnr5060 */
SELECT SELECT
@ -1041,7 +1083,7 @@
</select> </select>
<delete id="QustnrRespondInfo.deleteStatusFormlettnqestnrrslt" parameterClass="QustnrRespondInfoVO"> <delete id="QustnrRespondInfo.deleteStatusFormlettnqestnrrslt" parameterClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt */ /* QustnrRespondInfo.deleteStatusFormlettnqestnrrslt */
DELETE FROM lettnqestnrrsltDetail DELETE FROM lettnqestnrrsltDetail
WHERE 1=1 WHERE 1=1
AND edu_aplct_ord = #eduAplctOrd# AND edu_aplct_ord = #eduAplctOrd#

View File

@ -134,4 +134,56 @@
) )
]]> ]]>
</insert> </insert>
<!-- 응답자정보(설문조사)::기타의견입력 -->
<insert id="QustnrRespondManage.insertSubjRespond">
/* QustnrRespondManage.insertSubjRespond */
MERGE INTO VEA_SUL_OPINION
USING DUAL
ON(
QUSTNR_TMPLAT_ID=#qestnrTmplatId#
AND qestnr_Id=#qestnrId#
AND edu_aplct_ord=#eduAplctOrd#
AND edu_chasi_ord=#eduChasiOrd#
AND user_Id=#userId#
)
WHEN NOT MATCHED THEN
INSERT
(
QUSTNR_TMPLAT_ID
, QESTNR_ID
, EDU_APLCT_ORD
, EDU_CHASI_ORD
, USER_ID
, QUSTNR_CN
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
VALUES(
#qestnrTmplatId#
, #qestnrId#
, #eduAplctOrd#
, #eduChasiOrd#
, #userId#
, #qustnrCn#
, SYSDATE
, #frstRegisterId#
, SYSDATE
, #lastUpdusrId#
)
WHEN MATCHED THEN
UPDATE
SET last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = SYSDATE
, QUSTNR_CN = #qustnrCn#
</insert>
</sqlMap> </sqlMap>

View File

@ -6023,7 +6023,8 @@
/* /*
TO_CHAR(B.edu_hope_dt,'YYYYMMDD') AS eduHopeDt TO_CHAR(B.edu_hope_dt,'YYYYMMDD') AS eduHopeDt
*/ */
B.edu_hope_dt AS eduHopeDt A.LCTR_DIV_CD AS lctrDivCd
, B.edu_hope_dt AS eduHopeDt
, B.strt_tm AS strtTm , B.strt_tm AS strtTm
, B.end_tm AS endTm , B.end_tm AS endTm
, B.lrn_tm AS lrnTm , B.lrn_tm AS lrnTm

View File

@ -8,6 +8,11 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<% <%
/** /**
@ -862,6 +867,41 @@
</table> </table>
</div> </div>
</c:if> </c:if>
<!-- 기타의견이 있으면 보여준다. -->
<c:if test="${not empty subjInfo}">
<div class="tb_type01 list2">
<table>
<caption>기타의견</caption>
<colgroup>
<col style="auto;">
</colgroup>
<thead>
<tr>
<th scope="col">기타의견</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<br/>
<c:out value="${fn:replace(subjInfo.qustnrCn , crlf , '<br/>')}" escapeXml="false" />
<br/>
<br/>
</th>
</tr>
</tbody>
</table>
<br/>
<br/>
<br/>
</div>
</c:if>
<!-- btn_wrap --> <!-- btn_wrap -->
<!-- <!--
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
@ -881,6 +921,9 @@
<br/> <br/>
--> -->
<c:choose> <c:choose>
<%-- <c:when test="${chasiSrvyList[0].neither ne '' and chasiSrvyList[0].neither ne null}"> --%> <%-- <c:when test="${chasiSrvyList[0].neither ne '' and chasiSrvyList[0].neither ne null}"> --%>
<c:when test="${qestnrParticipant ne '' and qestnrParticipant ne null}"> <c:when test="${qestnrParticipant ne '' and qestnrParticipant ne null}">

View File

@ -104,6 +104,12 @@
function srvySendSubmit(){ function srvySendSubmit(){
//기타의견은 1000자 까지만 가능
if ($('#qustnrCn').val().length>1000){
alert("기타의견은 1000자까지만 등록가능합니다.("+$('#qustnrCn').val().length+")");
return;
}
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량 var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량 var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량 var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
@ -369,6 +375,82 @@
</table> </table>
</div> </div>
<c:choose>
<c:when test="${qestnrParticipant eq '' or qestnrParticipant eq null}">
<!-- 응답이 없다. -->
<!-- 성인은 기타의견을 받는다. -->
<c:if test="${empty subjInfo}">
<div class="pop_tb_type04">
<table>
<caption>기타의견</caption>
<colgroup>
<col style="auto;">
</colgroup>
<thead>
<tr>
<th scope="col">기타의견</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<textarea name="qustnrCn" id="qustnrCn" title="기타의견" hint="a" style="width:100%;height:100%;"></textarea>
</th>
</tr>
</tbody>
</table>
<br/>
<br/>
<br/>
</div>
</c:if>
</c:when>
<c:otherwise>
<!-- 응답이 있다. -->
<!-- 기타의견이 있으면 보여준다. -->
<c:if test="${not empty subjInfo}">
<div class="pop_tb_type04">
<table>
<caption>기타의견</caption>
<colgroup>
<col style="auto;">
</colgroup>
<thead>
<tr>
<th scope="col">기타의견</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<textarea name="qustnrCn" id="qustnrCn" title="기타의견" hint="a" style="width:100%;height:100%;">${subjInfo.qustnrCn}</textarea>
</th>
</tr>
</tbody>
</table>
<br/>
<br/>
<br/>
</div>
</c:if>
</c:otherwise>
</c:choose>
<div class="pop_btn_wrap btn_layout01"> <div class="pop_btn_wrap btn_layout01">
<div class="btn_left"></div> <div class="btn_left"></div>
<div class="btn_center"> <div class="btn_center">

View File

@ -23,6 +23,10 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
@ -110,6 +114,12 @@
function popupSrvySendSubmit(){ function popupSrvySendSubmit(){
//기타의견은 1000자 까지만 가능
if ($('#qustnrCn').val().length>1000){
alert("기타의견은 1000자까지만 등록가능합니다.("+$('#qustnrCn').val().length+")");
return;
}
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량 var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량 var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량 var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
@ -434,10 +444,40 @@ $(document).ready(function(){
<br/> <br/>
<br/> <br/>
<c:choose> <c:choose>
<c:when test="${setQustnrRsltId eq '' or setQustnrRsltId eq null}"> <c:when test="${setQustnrRsltId eq '' or setQustnrRsltId eq null}">
<!-- 응답이 없다. --> <!-- 응답이 없다. -->
<!-- 성인은 기타의견을 받는다. -->
<c:if test="${empty subjInfo and chasiInfo.lctrDivCd eq '20'}">
<table>
<caption>기타의견</caption>
<colgroup>
<col style="auto;">
</colgroup>
<thead>
<tr>
<th scope="col">기타의견</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<textarea name="qustnrCn" id="qustnrCn" title="기타의견" hint="a" style="width:95%;height:105%;"></textarea>
</th>
</tr>
</tbody>
</table>
<br/>
<br/>
<br/>
</c:if>
<div class="pop_btn_wrap btn_layout01"> <div class="pop_btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
</div> </div>
@ -454,6 +494,38 @@ $(document).ready(function(){
<c:otherwise> <c:otherwise>
<!-- 응답이 있다. --> <!-- 응답이 있다. -->
<!-- 기타의견이 있으면 보여준다. -->
<c:if test="${not empty subjInfo}">
<table>
<caption>기타의견</caption>
<colgroup>
<col style="auto;">
</colgroup>
<thead>
<tr>
<th scope="col">기타의견</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
<br/>
<c:out value="${fn:replace(subjInfo.qustnrCn , crlf , '<br/>')}" escapeXml="false" />
<br/>
<br/>
</th>
</tr>
</tbody>
</table>
<br/>
<br/>
<br/>
</c:if>
<script> <script>
replyCalculation(); replyCalculation();
</script> </script>