feat : "pms:#3252 [관리자] 만족도 평가 ==> 삭제 및 수정 가능 하도록 해주세요" 완료

This commit is contained in:
hylee 2023-07-06 15:10:32 +09:00
parent 20a8b6cfe5
commit 2d177dc1c8
9 changed files with 417 additions and 286 deletions

View File

@ -4,6 +4,8 @@ import java.util.List;
import java.util.Map;
import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
/**
* 설문조사 Service Class 구현
* @author 공통서비스 장동한
@ -156,4 +158,8 @@ public interface EgovQustnrRespondInfoService {
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO);
void deleteChasiStatus(VEEduAplctVO vEEduAplctVO);
}

View File

@ -8,6 +8,8 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import javax.annotation.Resource;
@ -222,6 +224,11 @@ public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl im
dao.updateSrvyInfo(qustnrRespondInfoVO);
}
@Override
public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) {
dao.updateQustnrRespondManage(qustnrRespondManageVO);
}
@Override
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectChasiSrvyList(qustnrRespondInfoVO);
@ -234,5 +241,9 @@ public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl im
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return dao.selectChasiSrvyExcelList(qustnrRespondInfoVO);
}
@Override
public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) {
dao.deleteChasiStatus(vEEduAplctVO);
}
}

View File

@ -6,6 +6,8 @@ import java.util.Map;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.com.cmm.ComDefaultVO;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import org.springframework.stereotype.Repository;
/**
@ -199,4 +201,13 @@ public class QustnrRespondInfoDao extends EgovAbstractDAO {
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyExcelList", qustnrRespondInfoVO);
}
public void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO) {
update("QustnrRespondInfo.updateQustnrRespondManage", qustnrRespondManageVO);
}
public void deleteChasiStatus(VEEduAplctVO vEEduAplctVO) {
delete("QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo", vEEduAplctVO);
delete("QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt", vEEduAplctVO);
}
}

View File

@ -571,6 +571,7 @@ public class EduEndTngrController {
return modelAndView;
}
/**
* 교육설문조사 등록 로직
*/

View File

@ -50,6 +50,7 @@ import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.cmm.CmmUtil;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.cmm.VeInstrFeeMng;
@ -408,6 +409,32 @@ public class EduRsltMngTngrController {
}
/**
* 교육결과 삭제
*/
@RequestMapping("deleteChasiStatus.do")
public ModelAndView deleteChasiStatus(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
try {
egovQustnrRespondInfoService.deleteChasiStatus(vEEduAplctVO);
modelAndView.addObject("result", "success");
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
modelAndView.addObject("result", "fail");
}
return modelAndView;
}
/**
* 교육결과관리 상세 화면
*/
@ -441,9 +468,69 @@ public class EduRsltMngTngrController {
}
System.out.println("=============================================chasiSrvyList=============================================");
return "oprtn/tngrVisitEdu/popup/chasiStatusPopup";
}
/**
* 교육설문 수정
*/
@RequestMapping(value="/updateSrvyInfoAjax.do")
public ModelAndView updateSrvyInfoAjax( HttpServletRequest request
, ModelMap model
, VEEduAplctVO veEduAplctVO
, QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
if (loginVO == null) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("msg", "로그인 해주세요.");
return modelAndView;
}
// 설문 참석자, 응답자, 결과 저장
QustnrRespondManageVO qustnrRespondManageVO = new QustnrRespondManageVO();
qustnrRespondManageVO.setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
qustnrRespondManageVO.setEduChasiOrd(veEduAplctVO.getEduChasiOrd());
qustnrRespondManageVO.setQestnrId(qustnrRespondInfoVO.getQestnrId());
qustnrRespondManageVO.setQestnrParticipant(qustnrRespondInfoVO.getQestnrParticipant());
qustnrRespondManageVO.setQestnrRespondent(qustnrRespondInfoVO.getQestnrRespondent());
qustnrRespondManageVO.setFrstRegisterId(loginVO.getId());
qustnrRespondManageVO.setLastUpdusrId(loginVO.getId());
qustnrRespondManageVO.setQestnrRespondId(qustnrRespondInfoVO.getQestnrRespondId());
// eduAplctOrd "eduAplct_00000001371" (id=816)
// eduChasiOrd "eduChasi_00000001584" (id=821)
// qestnrRespondId "QRPD_000000000000630" (id=906)
System.out.println("qustnrRespondManageVO.getQestnrRespondId() :: "+ qustnrRespondManageVO.getQestnrRespondId());
egovQustnrRespondInfoService.updateQustnrRespondManage(qustnrRespondManageVO);
// 설문 문항 결과 등록
for(int i=0; i < qustnrRespondInfoVO.getResultList().size(); i++) {
qustnrRespondInfoVO.getResultList().get(i).setRespondId(loginVO.getId());
qustnrRespondInfoVO.getResultList().get(i).setFrstRegisterId(loginVO.getId());
qustnrRespondInfoVO.getResultList().get(i).setLastUpdusrId(loginVO.getId());
qustnrRespondInfoVO.getResultList().get(i).setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
qustnrRespondInfoVO.getResultList().get(i).setEduChasiOrd(veEduAplctVO.getEduChasiOrd());
egovQustnrRespondInfoService.updateSrvyInfo(qustnrRespondInfoVO.getResultList().get(i));
}
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 교육결과관리 상세 화면
*/

View File

@ -6,7 +6,10 @@
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="vEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<typeAlias alias="QustnrRespondInfoVO" type="kcc.let.uss.olp.qri.service.QustnrRespondInfoVO"/>
<typeAlias alias="qustnrRespondManageVO" type="kcc.let.uss.olp.qrm.service.QustnrRespondManageVO"/>
<select id="QustnrRespondInfo.selectSiteIdQustnrTmplat" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
SELECT
@ -446,20 +449,34 @@
</insert>
<update id="QustnrRespondInfo.updateSrvyInfo" parameterClass="QustnrRespondInfoVO">
UPDATE
LETTNQESTNRRSLT
SET
very_satisfied = #verySatisfied#
, satisfied = #satisfied#
, neither = #neither#
, dissatisfied = #dissatisfied#
, very_dissatisfied = #veryDissatisfied#
, last_updt_pnttm = now()
, last_updusr_id = #lastUpdusrId#
WHERE 1=1
AND qestnr_id = #qestnrId#
AND qustnr_qesitm_id = #qestnrQesitmId#
AND qustnr_rslt_id = #qustnrRsltId#
UPDATE
LETTNQESTNRRSLT
SET
very_satisfied = #verySatisfied#
, satisfied = #satisfied#
, neither = #neither#
, dissatisfied = #dissatisfied#
, very_dissatisfied = #veryDissatisfied#
, last_updt_pnttm = now()
, last_updusr_id = #lastUpdusrId#
WHERE 1=1
AND qestnr_id = #qestnrId#
AND qustnr_qesitm_id = #qestnrQesitmId#
AND qustnr_rslt_id = #qustnrRsltId#
</update>
<update id="QustnrRespondInfo.updateQustnrRespondManage" parameterClass="qustnrRespondManageVO">
UPDATE
lettnqustnrrespondinfo
SET
qestnr_respondent_count = #qestnrParticipant#
, qestnr_participant_count = #qestnrRespondent#
, last_updt_pnttm = NOW()
, last_updusr_id = #lastUpdusrId#
WHERE 1=1
AND EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#
AND QUSTNR_RESPOND_ID = #qestnrRespondId#
</update>
<select id="QustnrRespondInfo.selectChasiSrvyList" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
@ -519,4 +536,18 @@ WHERE 1=1
AND B.EDU_APLCT_ORD = #eduAplctOrd#
AND B.EDU_CHASI_ORD = #eduChasiOrd#
</select>
<delete id="QustnrRespondInfo.deleteChasiStatusFormLettnqustnrrespondinfo" parameterClass="vEEduAplctVO">
DELETE FROM lettnqustnrrespondinfo
WHERE 1=1
AND edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
<delete id="QustnrRespondInfo.deleteChasiStatusFormlettnqestnrrslt" parameterClass="vEEduAplctVO">
DELETE FROM lettnqestnrrslt
WHERE 1=1
AND edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
</sqlMap>

View File

@ -43,7 +43,10 @@ function fncGoEdit(){
function replyCalculation(){
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
$("#responseRate").text(Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100) +"%");
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
$("#responseRate").text(responseRateTxt +"%");
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
}
function fileDownload(atchFileId, fileSn, newFileNm){
@ -224,25 +227,43 @@ function replyCalculation(){
function fn_delete(){
if (!confirm("삭제 하시겠습니까?")) {
return false;
}
// 강사 변경
var form = new FormData(document.getElementById("chasiStatusPopForm"));
$.ajax({
type:"POST",
url:"<c:url value='/kccadr/oprtn/tngrVisitEdu/deleteChasiStatus.do'/>",
data:form,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("정상적으로 삭제 되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
// 만족도 평가 수정 팝업
function fn_chasiStatusPop() {
var form = document.chasiStatusPopForm;
// form.eduAplctOrd.value = aplctOrd;
// form.eduChasiOrd.value = chasiOrd;
// form.strtTm.value = strtTm;
// form.endTm.value = endTm;
// form.asgnmAprvlCd.value = code;
//추가 강사 변경
// form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmAddPopup.do'/>";
console.log("form :: ", form);
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/chasiStatusPopup.do'/>";
window.open("#", "_chasiStatusPop", "scrollbars = no, top=100px, left=100px, height=750px, width=1200px");
window.open("#", "_chasiStatusPop", "scrollbars = no, top=100px, left=100px, height=750px, width=830px");
form.target = "_chasiStatusPop";
form.submit();
}
@ -671,11 +692,14 @@ console.log("form :: ", form);
</table>
</div>
</c:if>
<c:if test="${!empty chasiSrvyList}">
<div class="btn_wrap">
<div class="btn_right">
<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:if>
<!-- 비공개 메보 정보 -->
<div class="tb_tit01">
<p>비공개 메모</p>

View File

@ -33,8 +33,170 @@
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function() {
});
$(document).ready(function () {
replyCalculation();
// 강의 만족도
var id = $('#eduAplctOrd').val();
var chId = $('#eduChasiOrd').val();
selectChasiStatus(id, chId);
});
function replyCalculation(){
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
$("#responseRate").text(responseRateTxt +"%");
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
}
function selectChasiStatus(id, chId, action){
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/selectEduChasiStatusAjax.do"
,data: {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
}
,dataType:'json'
,success:function(returnData){
console.log(returnData);
var info = returnData.chasiInfo;
var tm = info.strtTm.replace(/(.{2})/,"$1:") +"~"+ info.endTm.replace(/(.{2})/,"$1:")+"("+info.lrnTm+"분)"
$("#popupEduHopeDt").text(info.eduHopeDt);
$("#popupTm").text(tm);
$("#popupDivCd").text(info.divCd);
$("#popupTrgt").text(info.trgt);
$("#popupInstrNm").text(info.instrNm);
$("#popupPrsnl").text(info.prsnl);
$("#eduAplctOrd").val(info.eduAplctOrd);
$("#eduChasiOrd").val(info.eduChasiOrd);
// $(".popupInput").removeAttr("readonly");
// $(".popupInput").val("0");
// if(action == "select"){
// $("#popupSubmin").hide();
$("#popupSrvyStatus").text("설문완료");
// selectChasiSrvyInfo(id, chId);
// }else{
// $("#popupSubmin").show();
// $("#popupSrvyStatus").text("설문진행중");
// }
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function fn_self_close(){
window.open('','_self').close();
}
function srvySendSubmit(){
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
if(qestnrParticipant == null || qestnrParticipant == ""){
alert("참석자 수량을 넣어주세요");
$("#qestnrParticipant").focus();
return
}
if(qestnrRespondent == null || qestnrRespondent == ""){
alert("응답자 수량을 넣어주세요");
$("#qestnrRespondent").focus();
return
}
if(qestnrParticipant < qestnrRespondent){
alert("응답자 수량이 참석자 수보다 많습니다 확인해 주세요");
$("#qestnrRespondent").focus();
return
}
for(var i=0; i < qestmSize; i++){
var verySatisfied = $("#verySatisfied_"+i).val();
var satisfied = $("#satisfied_"+i).val();
var neither = $("#neither_"+i).val();
var dissatisfied = $("#dissatisfied_"+i).val();
var veryDissatisfied = $("#veryDissatisfied_"+i).val();
if(verySatisfied == null || verySatisfied == ""){
alert((i+1)+"번 [매우만족] 만족도를 정확히 넣어주세요");
$("#verySatisfied_"+i).focus();
return
}
if(satisfied == null || satisfied == ""){
alert((i+1)+"번 [만족] 만족도를 정확히 넣어주세요");
$("#satisfied_"+i).focus();
return
}
if(neither == null || neither == ""){
alert((i+1)+"번 [보통] 만족도를 정확히 넣어주세요");
$("#neither_"+i).focus();
return
}
if(dissatisfied == null || dissatisfied == ""){
alert((i+1)+"번 [불만족] 만족도를 정확히 넣어주세요");
$("#dissatisfied_"+i).focus();
return
}
if(veryDissatisfied == null || veryDissatisfied == ""){
alert((i+1)+"번 [매우불만족] 만족도를 정확히 넣어주세요");
$("#veryDissatisfied_"+i).focus();
return
}
var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
if(qestnrRespondent != sum ){
alert((i+1)+"문항의 합계가 응답수량과 맞지 않습니다.");
$("#verySatisfied_"+i).focus();
return
}
}
if(confirm("설문결과를 수정 하시겠습니까?")){
// var frm = document.srvyPopupForm;
var data = new FormData(document.getElementById("srvyPopupForm"));
$.ajax({
type:"POST"
,url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/updateSrvyInfoAjax.do"
,data: data
,dataType:'json'
,async: false
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
alert("설문결과가 수정 되었습니다.");
window.location.reload();
}else if(returnData.result == 'fail'){
alert(returnData.msg);
location.href="/web/user/login/ssoLogin.do?test=test";
}
}
,error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
@ -45,19 +207,15 @@
</head>
<body>
<!-- ============================================================ -->
<!-- ============================================================ -->
<!-- ============================================================ -->
<form id="srvyPopupForm" name="srvyPopupForm" method="post">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="eduAplct_00000001371">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="eduChasi_00000001585">
<input type="hidden" name="qestnrId" id="qestnrId" value="QMANAGE_000000000400">
<input type="hidden" id="qestmInfoSize" value="8">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${vEEduAplctVO.eduAplctOrd }' />">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${vEEduAplctVO.eduChasiOrd }' />">
<input type="hidden" name="qestnrRespondId" id="qestnrRespondId" value="<c:out value='${chasiSrvyList[0].qestnrRespondId }' />">
<input type="hidden" id="qestmInfoSize" value="${fn:length(Comtnqustnrqesitm)}">
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close" style="width: 800px; display: block; left: 666.5px; top: 75.1145px;">
<div class="popup_tit">
<p>강의만족도 결과 등록</p>
<p>강의만족도 결과</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
@ -87,13 +245,13 @@
</thead>
<tbody>
<tr>
<th scope="row" id="popupEduHopeDt">2022-03-30</th>
<td id="popupTm">14:10~15:35(85분)</td>
<td id="popupDivCd">10</td>
<td id="popupTrgt">1-1반</td>
<td id="popupInstrNm">원영현</td>
<td id="popupPrsnl">55</td>
<td id="popupSrvyStatus">설문진행중</td>
<th scope="row" id="popupEduHopeDt"></th>
<td id="popupTm"></td>
<td id="popupDivCd"></td>
<td id="popupTrgt"></td>
<td id="popupInstrNm"></td>
<td id="popupPrsnl"></td>
<td id="popupSrvyStatus"></td>
</tr>
</tbody>
</table>
@ -114,7 +272,7 @@
</th>
<td>
<label for="qestnrParticipant" class="label">참석자 수 입력</label>
<input type="text" numberonly="" class="popupInput" style="width: 50%;" id="qestnrParticipant" name="qestnrParticipant" value="">
<input type="text" numberonly="" class="popupInput" style="width: 50%;" id="qestnrParticipant" name="qestnrParticipant" value="<c:out value='${qestnrParticipant }' />">
</td>
<th scope="row">
<p>응답율</p>
@ -127,7 +285,7 @@
</th>
<td>
<label for="qestnrRespondent" class="label">응답자 수 입력</label>
<input type="text" numberonly="" class="popupInput" style="width: 50%;" id="qestnrRespondent" name="qestnrRespondent" value="" onblur="replyCalculation(); return false;">
<input type="text" numberonly="" class="popupInput" style="width: 50%;" id="qestnrRespondent" name="qestnrRespondent" value="<c:out value='${qestnrRespondent }' />" onblur="replyCalculation(); return false;">
</td>
<th scope="row">
<p>무응답</p>
@ -161,245 +319,47 @@
</thead>
<tbody>
<tr>
<th scope="row" class="t_left">
1) 본 교육운영에 대하여 전반적으로 만족하십니까?
<input type="hidden" name="resultList[0].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[0].qestnrQesitmId" value="QQESTN_0000000000510">
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
<c:forEach items="${chasiSrvyList}" var="chasiSrvyInfo" varStatus="">
<c:if test="${QestmInfo.qestnrQesitmId eq chasiSrvyInfo.qestnrQesitmId}">
</th>
<td>
<label for="verySatisfied_0" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_0" name="resultList[0].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_0" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_0" name="resultList[0].satisfied" value="0">
</td>
<td>
<label for="neither_0" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_0" name="resultList[0].neither" value="">
</td>
<td>
<label for="dissatisfied_0" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_0" name="resultList[0].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_0" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_0" name="resultList[0].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="true" />
<c:if test="${QestmInfo.mxmmChoiseCo > 1}">
<font color="red"><b>(최대선택건수 ${QestmInfo.mxmmChoiseCo})</b></font>
</c:if>
<input type="hidden" name="resultList[${status1.index}].qestnrId" value="${QestmInfo.qestnrId}">
<input type="hidden" name="resultList[${status1.index}].qestnrQesitmId" value="${QestmInfo.qestnrQesitmId}">
<input type="hidden" name="resultList[${status1.index}].qustnrRsltId" value="${chasiSrvyInfo.qustnrRsltId}">
<tr>
<th scope="row" class="t_left">
2) 본 교육 내용구성에 대해서는 어느 정도 만족 하십니까?
</th>
<td>
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].verySatisfied" value="<c:out value="${chasiSrvyInfo.verySatisfied}"/>" >
</td>
<td>
<label for="satisfied_${status1.index}" class="label">만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].satisfied" value="<c:out value="${chasiSrvyInfo.satisfied }"/>" >
</td>
<td>
<label for="neither_${status1.index}" class="label">보통</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].neither" value="<c:out value="${chasiSrvyInfo.neither }"/>" >
</td>
<td>
<label for="dissatisfied_${status1.index}" class="label">불만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].dissatisfied" value="<c:out value="${chasiSrvyInfo.dissatisfied }"/>" >
</td>
<td>
<label for="veryDissatisfied_${status1.index}" class="label">매우불만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].veryDissatisfied" value="<c:out value="${chasiSrvyInfo.veryDissatisfied }"/>" >
</td>
</tr>
</c:if>
</c:forEach>
</c:forEach>
<input type="hidden" name="resultList[1].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[1].qestnrQesitmId" value="QQESTN_0000000000511">
</th>
<td>
<label for="verySatisfied_1" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_1" name="resultList[1].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_1" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_1" name="resultList[1].satisfied" value="0">
</td>
<td>
<label for="neither_1" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_1" name="resultList[1].neither" value="">
</td>
<td>
<label for="dissatisfied_1" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_1" name="resultList[1].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_1" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_1" name="resultList[1].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
3) 교육 시간은 적절했다고 생각하십니까?
<input type="hidden" name="resultList[2].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[2].qestnrQesitmId" value="QQESTN_0000000000512">
</th>
<td>
<label for="verySatisfied_2" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_2" name="resultList[2].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_2" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_2" name="resultList[2].satisfied" value="0">
</td>
<td>
<label for="neither_2" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_2" name="resultList[2].neither" value="">
</td>
<td>
<label for="dissatisfied_2" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_2" name="resultList[2].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_2" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_2" name="resultList[2].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
4) 본 교육을 받기 전 귀하의 저작권에 대한 인식은 어느 정도라고 생각하십니까?
<input type="hidden" name="resultList[3].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[3].qestnrQesitmId" value="QQESTN_0000000000513">
</th>
<td>
<label for="verySatisfied_3" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_3" name="resultList[3].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_3" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_3" name="resultList[3].satisfied" value="0">
</td>
<td>
<label for="neither_3" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_3" name="resultList[3].neither" value="">
</td>
<td>
<label for="dissatisfied_3" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_3" name="resultList[3].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_3" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_3" name="resultList[3].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
5) 본 교육을 받은 후, 귀하의 저작권에 대한 인식은 어느 정도라고 생각하십니까?
<input type="hidden" name="resultList[4].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[4].qestnrQesitmId" value="QQESTN_0000000000514">
</th>
<td>
<label for="verySatisfied_4" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_4" name="resultList[4].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_4" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_4" name="resultList[4].satisfied" value="0">
</td>
<td>
<label for="neither_4" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_4" name="resultList[4].neither" value="">
</td>
<td>
<label for="dissatisfied_4" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_4" name="resultList[4].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_4" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_4" name="resultList[4].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
6) 본 교육을 통해, 학교 수업 혹은 직무에 얼마나 도움이 될 것이라고 생각하십니까?
<input type="hidden" name="resultList[5].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[5].qestnrQesitmId" value="QQESTN_0000000000515">
</th>
<td>
<label for="verySatisfied_5" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_5" name="resultList[5].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_5" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_5" name="resultList[5].satisfied" value="0">
</td>
<td>
<label for="neither_5" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_5" name="resultList[5].neither" value="">
</td>
<td>
<label for="dissatisfied_5" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_5" name="resultList[5].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_5" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_5" name="resultList[5].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
7) 강사가 교육 5분 전까지 도착했나요?(지각여부_교사 only)
<input type="hidden" name="resultList[6].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[6].qestnrQesitmId" value="QQESTN_0000000000520">
</th>
<td>
<label for="verySatisfied_6" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_6" name="resultList[6].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_6" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_6" name="resultList[6].satisfied" value="0">
</td>
<td>
<label for="neither_6" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_6" name="resultList[6].neither" value="">
</td>
<td>
<label for="dissatisfied_6" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_6" name="resultList[6].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_6" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_6" name="resultList[6].veryDissatisfied" value="">
</td>
</tr>
<tr>
<th scope="row" class="t_left">
8) 본 교육과 관련하여 강사가 교육 5분 전까지 도착했습니까?(지각여부확인_교사만)
<input type="hidden" name="resultList[7].qestnrId" value="QMANAGE_000000000400">
<input type="hidden" name="resultList[7].qestnrQesitmId" value="QQESTN_0000000000516">
</th>
<td>
<label for="verySatisfied_7" class="label">매우만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_7" name="resultList[7].verySatisfied" value="0">
</td>
<td>
<label for="satisfied_7" class="label">만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_7" name="resultList[7].satisfied" value="0">
</td>
<td>
<label for="neither_7" class="label">보통</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_7" name="resultList[7].neither" value="">
</td>
<td>
<label for="dissatisfied_7" class="label">불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_7" name="resultList[7].dissatisfied" value="">
</td>
<td>
<label for="veryDissatisfied_7" class="label">매우불만족</label>
<input type="text" numberonly="" class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_7" name="resultList[7].veryDissatisfied" value="">
</td>
</tr>
</tbody>
</table>
@ -408,8 +368,8 @@
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left"></div>
<div class="btn_center">
<button type="button" class="btn_type05" id="popupSubmin" onclick="srvySendSubmit();">제출</button>
<button type="button" class="btn_type02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">취소</button>
<button type="button" class="btn_type05" id="popupSubmin" onclick="srvySendSubmit();">수정</button>
<button type="button" class="btn_type02 tooltip-close" onclick="fn_self_close()">취소</button>
</div>
<div class="btn_right"></div>
</div>

View File

@ -76,7 +76,7 @@
return
}
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1)
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
$("#responseRate").text(responseRateTxt + "%");
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
}