2025-10-24 16:38 관리자 설뭉 & 이수증 수정

This commit is contained in:
myname 2025-10-24 16:40:26 +09:00
parent 9fc2876a75
commit 92ea30250c
8 changed files with 764 additions and 75 deletions

View File

@ -38,8 +38,11 @@ import kcc.com.cmm.spring.data.util.ExcelUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.com.utl.user.service.QustnrCommonUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.ITNotiUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
@ -57,6 +60,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngService;
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO;
import kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.service.ExcelVO;
import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService;
/**
* 기반강화연수(관리자)
@ -174,6 +178,17 @@ public class CmdPrcsInfoMngController {
@Resource(name="eduAplctGnrService")
private EgovIdGnrService eduAplctGnrService;
// 설문 util
@Resource(name = "qustnrCommonUtil")
private QustnrCommonUtil qustnrCommonUtil;
// 설문 복합 VEA_
@Resource(name = "vEALettnQestnrMIXService")
private VEALettnQestnrMIXService vEALettnQestnrMIXService;
@Resource(name = "egovQustnrRespondInfoService")
private EgovQustnrRespondInfoService egovQustnrRespondInfoService;
/**
* 기반강화연수 과정 관리 목록 화면
*/
@ -1328,6 +1343,92 @@ public class CmdPrcsInfoMngController {
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
//설문 문항 정보
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
);
}catch(Exception ex) {
ex.printStackTrace();
}
/*
// 설문조사 정보
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20);
QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);
// 설문조사 문항리스트 조회
Map <String, Object> commandMap =new HashMap<String, Object>();
commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001");
commandMap.put("qestnrId",info.getQestnrId()); //문제 ID
model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap));
*/
try{
model = qustnrCommonUtil._chasiSrvyList(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
, vEALettnQestnrMIXService
);
}catch(Exception ex) {
ex.printStackTrace();
}
//개인별 만족도 관리 - chasiSrvyEAList
try{
model = qustnrCommonUtil._chasiSrvyEAList(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
, vEALettnQestnrMIXService
);
}catch(Exception ex) {
ex.printStackTrace();
}
//주관식 답변 정보
try {
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
//qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
qustnrRespondInfoVO.setEduChasiOrd("");
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=============================================");
return "/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngDetail";
}

View File

@ -38,8 +38,11 @@ import kcc.com.cmm.spring.data.util.ExcelUtil;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.com.utl.user.service.QustnrCommonUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.ITNotiUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
@ -57,6 +60,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
import kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.service.ExcelVO;
import kcc.ve.oprtn.qestnr.service.VEALettnQestnrMIXService;
/**
* 기반강화연수(관리자)
@ -166,7 +170,16 @@ public class PreventMngController {
@Resource(name = "checkFileUtil")
private CheckFileUtil checkFileUtil;
// 설문 util
@Resource(name = "qustnrCommonUtil")
private QustnrCommonUtil qustnrCommonUtil;
// 설문 복합 VEA_
@Resource(name = "vEALettnQestnrMIXService")
private VEALettnQestnrMIXService vEALettnQestnrMIXService;
@Resource(name = "egovQustnrRespondInfoService")
private EgovQustnrRespondInfoService egovQustnrRespondInfoService;
/**
* 기반강화연수 과정 관리 목록 화면
@ -1322,6 +1335,93 @@ public class PreventMngController {
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
//설문 문항 정보
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
);
}catch(Exception ex) {
ex.printStackTrace();
}
/*
// 설문조사 정보
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20);
QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);
// 설문조사 문항리스트 조회
Map <String, Object> commandMap =new HashMap<String, Object>();
commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001");
commandMap.put("qestnrId",info.getQestnrId()); //문제 ID
model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap));
*/
try{
model = qustnrCommonUtil._chasiSrvyList(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
, vEALettnQestnrMIXService
);
}catch(Exception ex) {
ex.printStackTrace();
}
//개인별 만족도 관리 - chasiSrvyEAList
try{
model = qustnrCommonUtil._chasiSrvyEAList(
model
, LCTR_DIV_CD //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, ""
//, vEEduAplctVO.getEduAplctOrd()
//, vEEduAplctVO.getEduChasiOrd()
, vEALettnQestnrMIXService
);
}catch(Exception ex) {
ex.printStackTrace();
}
//주관식 답변 정보
try {
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
//qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
qustnrRespondInfoVO.setEduChasiOrd("");
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=============================================");
return "/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail";
}

View File

@ -134,7 +134,9 @@
FROM LETTNQUSTNRQESITM A
WHERE 1=1
AND A.QESTNR_ID = #qestnrId#
AND A.QUSTNR_TMPLAT_ID = #qestnrTmplatId#
/*
AND A.QUSTNR_TMPLAT_ID = qestnrTmplatId
*/
ORDER BY A.QESTN_SN
</select>
<!-- 설문조사(설문등록):: 설문등록 /설문 항목정보 -->

View File

@ -917,24 +917,35 @@
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ,
a.QESTNR_ID as QESTNR_ID_10 ,
null as QESTNR_ID_20 ,
null as QESTNR_ID_30 ,
a.qustnr_bgnde ,
a.qustnr_endde
/*
MAX(CASE WHEN a.site_id_cd = '10' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_10,
MAX(CASE WHEN a.site_id_cd = '20' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_20,
MAX(CASE WHEN a.site_id_cd = '30' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_30
MAX(CASE WHEN a.site_id_cd = '30' THEN a.QESTNR_ID ELSE NULL END) AS QESTNR_ID_30
*/
FROM
LETTNQESTNRINFO a
WHERE
a.SITE_ID = #siteId#
AND a.SITE_ID_CD IN ('10', '20', '30')
AND TO_CHAR(NOW(),
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
'2000.01.01')
AND COALESCE(a.qustnr_endde,
'9999.12.31')
/*
AND TO_CHAR(NOW(), 'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde, '2000.01.01') AND COALESCE(a.qustnr_endde, '9999.12.31')
GROUP BY
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ) I ON
(1 = 1)
a.SITE_ID
*/
) I ON
(vpap.edu_strt_pnttm between coalesce(I.qustnr_bgnde, '20000101') and coalesce(I.qustnr_endde,'99991231'))

View File

@ -147,7 +147,9 @@
lettnqustnrrespondinfo b
WHERE
b.edu_aplct_ord=#eduAplctOrd#
AND b.edu_chasi_ord=#eduChasiOrd#
/*
AND b.edu_chasi_ord=eduChasiOrd
*/
GROUP BY
b.QUSTNR_TMPLAT_ID ,
b.QESTNR_ID
@ -160,14 +162,22 @@
AND a.site_id_cd = #siteIdCd#
)b
on(1=1)
on(1=1)
, ve_prcs_aplct_prd c
WHERE 1 =1
AND A.SITE_ID = #siteId#
AND COALESCE(A.site_id_cd, '10')=#siteIdCd#
AND c.prcs_aplct_prd_ord=#eduAplctOrd#
AND c.edu_strt_pnttm between coalesce(a.qustnr_bgnde, '20000101') and coalesce(a.qustnr_endde, '99991231')
/*
AND to_char(NOW(), 'YYYY.MM.DD') BETWEEN
COALESCE(a.qustnr_bgnde,'2000.01.01') AND COALESCE(a.qustnr_endde,'9999.12.31')
*/
AND A.SITE_ID = #siteId#
AND COALESCE(A.site_id_cd, '10')=#siteIdCd#
ORDER BY A.QESTNR_ID DESC
LIMIT 1
@ -230,30 +240,42 @@
SELECT c02.*
FROM (
SELECT
c00.qustnr_tmplat_id
, c00.qestnr_id
, c00.qustnr_qesitm_id
, max(c00.qustnr_rslt_id) AS qustnr_rslt_id
c00.qestnr_id ,
c00.qustnr_qesitm_id ,
max(c00.qustnr_rslt_id) as qustnr_rslt_id
FROM
LETTNQESTNRRSLTDetail c00
, ve_edu_aplct d00
WHERE
c00.EDU_APLCT_ORD = #eduAplctOrd#
AND c00.EDU_CHASI_ORD = #eduChasiOrd#
d00.prcs_ord = #eduAplctOrd#
and d00.EDU_APLCT_ORD=c00.edu_aplct_ord
/*
and c00.EDU_CHASI_ORD = ''
*/
GROUP BY
c00.qustnr_tmplat_id
, c00.qestnr_id
, c00.qustnr_qesitm_id
c00.qestnr_id ,
c00.qustnr_qesitm_id
)c01
, LETTNQESTNRRSLTDetail c02
WHERE c01.qustnr_tmplat_id=c02.qustnr_tmplat_id
WHERE 1=1
/*
c01.qustnr_tmplat_id=c02.qustnr_tmplat_id
*/
AND c01.qestnr_id=c02.qestnr_id
AND c01.qustnr_qesitm_id=c02.qustnr_qesitm_id
AND c01.qustnr_rslt_id=c02.qustnr_rslt_id
) c
on(
1=1
/*
b.QUSTNR_TMPLAT_ID =c.QUSTNR_TMPLAT_ID
*/
AND b.QESTNR_ID =c.QESTNR_ID
AND b.QUSTNR_QESITM_ID =c.QUSTNR_QESITM_ID
@ -287,7 +309,10 @@
LEFT OUTER JOIN LETTNQUSTNRRESPONDINFO e
on
(
d.QUSTNR_TMPLAT_ID =e.QUSTNR_TMPLAT_ID
1=1
/*
d.QUSTNR_TMPLAT_ID =e.QUSTNR_TMPLAT_ID
*/
AND d.QESTNR_ID =e.QESTNR_ID
AND d.QUSTNR_RESPOND_ID =e.QUSTNR_RESPOND_ID
AND d.EDU_APLCT_ORD = e.EDU_APLCT_ORD
@ -321,7 +346,10 @@
)F
on(
1=1
/*
b.QUSTNR_TMPLAT_ID =f.QUSTNR_TMPLAT_ID
*/
AND b.QESTNR_ID =f.QESTNR_ID
AND b.QUSTNR_QESITM_ID =f.QUSTNR_QESITM_ID
@ -331,7 +359,9 @@
WHERE a.site_id=#siteId#
AND COALESCE(a.SITE_ID_CD,'10') =#siteIdCd#
AND b.QUSTNR_TMPLAT_ID =a.QUSTNR_TMPLAT_ID
/*
AND b.QUSTNR_TMPLAT_ID =a.QUSTNR_TMPLAT_ID
*/
AND b.QESTNR_ID =a.QESTNR_ID
</select>

View File

@ -961,7 +961,8 @@
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
</div>
</div>
</div>
<br/>
<div class="tb_tit01">
@ -1015,6 +1016,227 @@
</div>
</div>
<!-- 문항리스트_상세 -->
<div class="tb_tit01">
<p>교육 내용에 대한 전반적 만족도 평가</p>
</div>
<!-- <div class="tb_type01"> -->
<!-- <table> -->
<%-- <c:if test="${!empty chasiSrvyList}"> --%>
<%-- <colgroup> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- </colgroup> --%>
<!-- <tbody class="ta_con"> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>참석자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>"> --%>
<%-- <c:out value="${qestnrParticipant}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>응답율</p> -->
<!-- </th> -->
<!-- <td id="responseRate">-</td> -->
<!-- </tr> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>응답자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>"> --%>
<%-- <c:out value="${qestnrRespondent}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>무응답</p> -->
<!-- </th> -->
<!-- <td id="noResponse">-</td> -->
<!-- </tr> -->
<!-- </tbody> -->
<%-- </c:if> --%>
<%-- <c:if test="${empty chasiSrvyList}"> --%>
<!-- <tr> -->
<!-- <td colspan="2">등록된 평가문항이 없습니다.</td> -->
<!-- </tr> -->
<%-- </c:if> --%>
<!-- </table> -->
<!-- </div> -->
<c:if test="${!empty chasiSrvyList}">
<div class="tb_type01 list2">
<table>
<colgroup>
<col style="width: auto;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">평가문항</th>
<th scope="col">매우만족</th>
<th scope="col">만족</th>
<th scope="col">보통</th>
<th scope="col">불만족</th>
<th scope="col">매우불만족</th>
</tr>
</thead>
<tbody>
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
<c:forEach items="${chasiSrvyList}" var="chasiSrvyInfo" varStatus="">
<c:if test="${QestmInfo.qestnrQesitmId eq chasiSrvyInfo.qestnrQesitmId}">
<tr>
<th scope="row" class="t_left">
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="true" />
</th>
<td>
<c:out value="${chasiSrvyInfo.verySatisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.satisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.neither}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.dissatisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.veryDissatisfied}"/>
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
</tbody>
</table>
</div>
</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 -->
<!--
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<c:if test="${!empty chasiSrvyList}">
<button class="btn_type02" onclick="fncExcelDown(); return false;">엑셀 다운로드</button>
</c:if>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
<br/>
<br/>
-->
<c:choose>
<%-- <c:when test="${chasiSrvyList[0].neither ne '' and chasiSrvyList[0].neither ne null}"> --%>
<c:when test="${qestnrParticipant ne '' and qestnrParticipant ne null}">
<div class="btn_wrap">
<div class="btn_right">
<c:forEach var="list" items="${chasiQr}" varStatus="status">
<c:choose>
<c:when test="${not empty list.qestnrId10}">
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
)" title="팝업 열림">설문QR</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
<button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">수정</button>
<button type="button" class="btn_type01" onclick="fn_delete(); return false;">삭제</button>
</div>
</div>
</c:when>
<c:otherwise>
<!-- 등록버튼 추가 필요 -->
<div class="btn_wrap">
<div class="btn_right">
<c:forEach var="list" items="${chasiQr}" varStatus="status">
<c:choose>
<c:when test="${not empty list.qestnrId10}">
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
)" title="팝업 열림">설문QR</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
<!-- <button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button> -->
</div>
</div>
</c:otherwise>
</c:choose>
</div>
</div>

View File

@ -1108,51 +1108,51 @@
<div class="tb_tit01">
<p>교육 내용에 대한 전반적 만족도 평가</p>
</div>
<div class="tb_type01">
<table>
<c:if test="${!empty chasiSrvyList}">
<colgroup>
<col style="width: 120px;">
<col style="width: auto;">
<col style="width: 120px;">
<col style="width: auto;">
</colgroup>
<tbody class="ta_con">
<tr>
<th scope="row">
<p>참석자</p>
</th>
<td>
<input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>">
<c:out value="${qestnrParticipant}"/>
</td>
<th scope="row">
<p>응답율</p>
</th>
<td id="responseRate">-</td>
</tr>
<tr>
<th scope="row">
<p>응답자</p>
</th>
<td>
<input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>">
<c:out value="${qestnrRespondent}"/>
</td>
<th scope="row">
<p>무응답</p>
</th>
<td id="noResponse">-</td>
</tr>
</tbody>
</c:if>
<c:if test="${empty chasiSrvyList}">
<tr>
<td colspan="2">등록된 평가문항이 없습니다.</td>
</tr>
</c:if>
</table>
</div>
<!-- <div class="tb_type01"> -->
<!-- <table> -->
<%-- <c:if test="${!empty chasiSrvyList}"> --%>
<%-- <colgroup> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- </colgroup> --%>
<!-- <tbody class="ta_con"> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>참석자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>"> --%>
<%-- <c:out value="${qestnrParticipant}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>응답율</p> -->
<!-- </th> -->
<!-- <td id="responseRate">-</td> -->
<!-- </tr> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>응답자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>"> --%>
<%-- <c:out value="${qestnrRespondent}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>무응답</p> -->
<!-- </th> -->
<!-- <td id="noResponse">-</td> -->
<!-- </tr> -->
<!-- </tbody> -->
<%-- </c:if> --%>
<%-- <c:if test="${empty chasiSrvyList}"> --%>
<!-- <tr> -->
<!-- <td colspan="2">등록된 평가문항이 없습니다.</td> -->
<!-- </tr> -->
<%-- </c:if> --%>
<!-- </table> -->
<!-- </div> -->
<c:if test="${!empty chasiSrvyList}">
<div class="tb_type01 list2">
<table>
@ -1317,7 +1317,7 @@
</c:forEach>
<button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button>
<!-- <button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button> -->
</div>
</div>
</c:otherwise>

View File

@ -962,7 +962,8 @@
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
</div>
</div>
</div>
<br/>
<div class="tb_tit01">
@ -1016,7 +1017,229 @@
<%-- <button type="button" class="btn_type04" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngList.do" />'; return false;">교육확정목록</button> --%>
</div>
</div>
</div>
<!-- 문항리스트_상세 -->
<div class="tb_tit01">
<p>교육 내용에 대한 전반적 만족도 평가</p>
</div>
<!-- <div class="tb_type01"> -->
<!-- <table> -->
<%-- <c:if test="${!empty chasiSrvyList}"> --%>
<%-- <colgroup> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- <col style="width: 120px;"> --%>
<%-- <col style="width: auto;"> --%>
<%-- </colgroup> --%>
<!-- <tbody class="ta_con"> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>참석자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}"/>"> --%>
<%-- <c:out value="${qestnrParticipant}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>응답율</p> -->
<!-- </th> -->
<!-- <td id="responseRate">-</td> -->
<!-- </tr> -->
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>응답자</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <input type="hidden" class="popupInput" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value="${qestnrRespondent}"/>"> --%>
<%-- <c:out value="${qestnrRespondent}"/> --%>
<!-- </td> -->
<!-- <th scope="row"> -->
<!-- <p>무응답</p> -->
<!-- </th> -->
<!-- <td id="noResponse">-</td> -->
<!-- </tr> -->
<!-- </tbody> -->
<%-- </c:if> --%>
<%-- <c:if test="${empty chasiSrvyList}"> --%>
<!-- <tr> -->
<!-- <td colspan="2">등록된 평가문항이 없습니다.</td> -->
<!-- </tr> -->
<%-- </c:if> --%>
<!-- </table> -->
<!-- </div> -->
<c:if test="${!empty chasiSrvyList}">
<div class="tb_type01 list2">
<table>
<colgroup>
<col style="width: auto;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">평가문항</th>
<th scope="col">매우만족</th>
<th scope="col">만족</th>
<th scope="col">보통</th>
<th scope="col">불만족</th>
<th scope="col">매우불만족</th>
</tr>
</thead>
<tbody>
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
<c:forEach items="${chasiSrvyList}" var="chasiSrvyInfo" varStatus="">
<c:if test="${QestmInfo.qestnrQesitmId eq chasiSrvyInfo.qestnrQesitmId}">
<tr>
<th scope="row" class="t_left">
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="true" />
</th>
<td>
<c:out value="${chasiSrvyInfo.verySatisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.satisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.neither}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.dissatisfied}"/>
</td>
<td>
<c:out value="${chasiSrvyInfo.veryDissatisfied}"/>
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
</tbody>
</table>
</div>
</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 -->
<!--
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<c:if test="${!empty chasiSrvyList}">
<button class="btn_type02" onclick="fncExcelDown(); return false;">엑셀 다운로드</button>
</c:if>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
<br/>
<br/>
-->
<c:choose>
<%-- <c:when test="${chasiSrvyList[0].neither ne '' and chasiSrvyList[0].neither ne null}"> --%>
<c:when test="${qestnrParticipant ne '' and qestnrParticipant ne null}">
<div class="btn_wrap">
<div class="btn_right">
<c:forEach var="list" items="${chasiQr}" varStatus="status">
<c:choose>
<c:when test="${not empty list.qestnrId10}">
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
)" title="팝업 열림">설문QR</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
<button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">수정</button>
<button type="button" class="btn_type01" onclick="fn_delete(); return false;">삭제</button>
</div>
</div>
</c:when>
<c:otherwise>
<!-- 등록버튼 추가 필요 -->
<div class="btn_wrap">
<div class="btn_right">
<c:forEach var="list" items="${chasiQr}" varStatus="status">
<c:choose>
<c:when test="${not empty list.qestnrId10}">
<button type="button" class="btn_type04" data-info="${list.eduChasiOrd}" data-tooltip="sub37_pop20"
onclick="fn_chasiQRPop('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
,'${list.qustnrTmplatId}','${list.qestnrId10}','${list.qustnrRespondId10}'
)" title="팝업 열림">설문QR</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
<!-- <button type="button" class="btn_type06" onclick="fn_chasiStatusPop(); return false;">등록</button> -->
</div>
</div>
</c:otherwise>
</c:choose>
</div>
</div>