2023-12-28 10:24 실무역량강화 설문 수정
This commit is contained in:
parent
58f41c691a
commit
8bb5511c0b
@ -165,9 +165,12 @@ public interface EgovQustnrRespondInfoService {
|
||||
// 차수별 설문 조회
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
|
||||
|
||||
// 차수별 설문 조회
|
||||
// 차수별 설문 조회 - 상세 답변 정보
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
|
||||
|
||||
// 차수별 설문 조회 - 상세 답변 정보(기반, 기소 용)
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyFndtnList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
|
||||
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
|
||||
|
||||
void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO);
|
||||
|
||||
@ -124,6 +124,13 @@ public class QustnrRespondInfoVO implements Serializable {
|
||||
private String qustnrNm = ""; //등록자명
|
||||
private String qustnrBirth = ""; //등록자생년월일
|
||||
|
||||
private String answer5 = "";
|
||||
private String answer4 = "";
|
||||
private String answer3 = "";
|
||||
private String answer2 = "";
|
||||
private String answer1 = "";
|
||||
|
||||
private String prcsAplctPrdOrd = "";
|
||||
|
||||
|
||||
// 20231124 이호영
|
||||
@ -569,4 +576,76 @@ public class QustnrRespondInfoVO implements Serializable {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getAnswer5() {
|
||||
return answer5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setAnswer5(String answer5) {
|
||||
this.answer5 = answer5;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getAnswer4() {
|
||||
return answer4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setAnswer4(String answer4) {
|
||||
this.answer4 = answer4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getAnswer3() {
|
||||
return answer3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setAnswer3(String answer3) {
|
||||
this.answer3 = answer3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getAnswer2() {
|
||||
return answer2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setAnswer2(String answer2) {
|
||||
this.answer2 = answer2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getAnswer1() {
|
||||
return answer1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setAnswer1(String answer1) {
|
||||
this.answer1 = answer1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -253,6 +253,11 @@ public class EgovQustnrRespondInfoServiceImpl extends EgovAbstractServiceImpl im
|
||||
return dao.selectChasiSrvyList202312(qustnrRespondInfoVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyFndtnList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
|
||||
return dao.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception {
|
||||
return dao.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);
|
||||
|
||||
@ -207,6 +207,11 @@ public class QustnrRespondInfoDao extends EgovAbstractDAO {
|
||||
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyList202312", qustnrRespondInfoVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<QustnrRespondInfoVO> selectChasiSrvyFndtnList202312(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
|
||||
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyFndtnList202312", qustnrRespondInfoVO);
|
||||
}
|
||||
|
||||
public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
|
||||
return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO);
|
||||
}
|
||||
|
||||
@ -374,6 +374,7 @@ public class ScholInfoController {
|
||||
System.out.println(vEEduChasiVO.getQestnrId());
|
||||
System.out.println(vEEduChasiVO.getQustnrRespondId());
|
||||
|
||||
|
||||
System.out.println(qustnrRespondInfoVO.getQustnrTmplatId());
|
||||
System.out.println(qustnrRespondInfoVO.getQestnrId());
|
||||
System.out.println(qustnrRespondInfoVO.getQustnrRespondId());
|
||||
@ -396,10 +397,14 @@ public class ScholInfoController {
|
||||
*/
|
||||
//참석 답변 정보
|
||||
try {
|
||||
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList202312(qustnrRespondInfoVO);
|
||||
model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
|
||||
model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
|
||||
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO);
|
||||
//model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
|
||||
//model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
|
||||
System.out.println("chasiSrvyList.get(0).getPrcsAplctPrdOrd()");
|
||||
System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd());
|
||||
System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd());
|
||||
model.addAttribute("chasiSrvyList", chasiSrvyList);
|
||||
model.addAttribute("chasiSrvyListCnt", chasiSrvyList.size());
|
||||
}catch(Exception ex) {
|
||||
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
|
||||
}
|
||||
|
||||
@ -232,7 +232,7 @@ public class FndtnEnhanceTrnController {
|
||||
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
}
|
||||
*/
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
|
||||
|
||||
// 현재 날짜를 가져옵니다.
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
@ -423,7 +423,7 @@ public class FndtnEnhanceTrnController {
|
||||
vEPrcsDetailVO.setSiteId("50");
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
|
||||
|
||||
|
||||
// 현재 날짜를 가져옵니다.
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package kcc.ve.aplct.tngrVisitEdu.eduEnd.web;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -25,6 +27,7 @@ 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.uss.olp.qrm.service.EgovQustnrRespondManageService;
|
||||
@ -39,6 +42,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||
@ -147,6 +151,14 @@ public class EduEndTngrController {
|
||||
@Resource(name = "qustnrCommonUtil")
|
||||
private QustnrCommonUtil qustnrCommonUtil;
|
||||
|
||||
//과정차시 관리
|
||||
@Resource(name = "vEPrcsAplctPrdService")
|
||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||
|
||||
//알림 서비스
|
||||
@Resource(name = "NotifyManageService")
|
||||
private NotifyManageService notifyManageService;
|
||||
|
||||
/*
|
||||
|
||||
// 교육신청 서비스단
|
||||
@ -846,6 +858,205 @@ public class EduEndTngrController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육설문 등록 - 기반, 기소 - 개별 등록
|
||||
*/
|
||||
@RequestMapping(value="/insertNewSrvyFndtnInfoEAAjax.do")
|
||||
public ModelAndView insertNewSrvyFndtnInfoEAAjax( 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;
|
||||
}
|
||||
*/
|
||||
|
||||
//로그인 처리====================================
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//step1.응답결과가 저장되어 있는지 확인 한다.
|
||||
//없는 경우만 개별 설문 저장이 가능하다.
|
||||
|
||||
//차시 정보
|
||||
|
||||
try {
|
||||
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setLctrDivCd(veEduAplctVO.getSiteId());
|
||||
vEPrcsDetailVO.setSiteId(veEduAplctVO.getSiteId());
|
||||
|
||||
vEPrcsDetailVO.setEduAplctOrd(veEduAplctVO.getEduAplctOrd());
|
||||
|
||||
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
||||
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrDetailList(vEPrcsDetailVO);
|
||||
|
||||
if (vEPrcsDetailVOList.size()<=0) {
|
||||
//해당 설문 차시가 없으면 오류 발생 후 정지
|
||||
modelAndView.addObject("result", "fail1");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
vEPrcsDetailVO = vEPrcsDetailVOList.get(0);
|
||||
|
||||
if (vEPrcsDetailVO.getQestnrId10Cnt()!=null) {
|
||||
//해당 설문 결과값이 있으면 오류 발생 후 정지
|
||||
modelAndView.addObject("result", "fail2");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
System.out.println("Exception vEEduAplctOnlnService.updateBulk1");
|
||||
}
|
||||
|
||||
//step2.응답결과값을 저장한다.
|
||||
try {
|
||||
int i_chasiSrvyListSize = Integer.parseInt(request.getParameter("qestmInfoSize"));
|
||||
String[] a_qustnrQesitmId = request.getParameterValues("qustnrQesitmId");
|
||||
|
||||
qustnrRespondInfoVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
|
||||
|
||||
System.out.println("a_qustnrQesitmId.length");
|
||||
System.out.println(a_qustnrQesitmId.length);
|
||||
System.out.println(a_qustnrQesitmId.length);
|
||||
|
||||
for (int i=0;i<i_chasiSrvyListSize;i++) {
|
||||
//String s_answer = request.getParameter("answer_"+Integer.toString(i+1));
|
||||
String s_responseRadio = request.getParameter("resultList["+Integer.toString(i)+"].responseRadio");
|
||||
|
||||
System.out.println("a_qustnrQesitmId[i]");
|
||||
System.out.println(a_qustnrQesitmId[i]);
|
||||
//System.out.println(s_answer);
|
||||
System.out.println(s_responseRadio);
|
||||
|
||||
qustnrRespondInfoVO.setVerySatisfied("0");
|
||||
qustnrRespondInfoVO.setSatisfied("0");
|
||||
qustnrRespondInfoVO.setNeither("0");
|
||||
qustnrRespondInfoVO.setDissatisfied("0");
|
||||
qustnrRespondInfoVO.setVeryDissatisfied("0");
|
||||
|
||||
if ("5".equals(s_responseRadio)) {
|
||||
qustnrRespondInfoVO.setVerySatisfied("1");
|
||||
|
||||
}else if ("4".equals(s_responseRadio)) {
|
||||
qustnrRespondInfoVO.setSatisfied("1");
|
||||
|
||||
}else if ("3".equals(s_responseRadio)) {
|
||||
qustnrRespondInfoVO.setNeither("1");
|
||||
|
||||
}else if ("2".equals(s_responseRadio)) {
|
||||
qustnrRespondInfoVO.setDissatisfied("1");
|
||||
|
||||
}else if ("1".equals(s_responseRadio)) {
|
||||
qustnrRespondInfoVO.setVeryDissatisfied("1");
|
||||
|
||||
}
|
||||
|
||||
//qustnrRespondInfoVO.setQustnrQesitmId(a_qustnrQesitmId[i]);
|
||||
qustnrRespondInfoVO.setQestnrQesitmId(a_qustnrQesitmId[i]);
|
||||
|
||||
egovQustnrRespondInfoService.insertSrvyInfo(qustnrRespondInfoVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
System.out.println("Exception vEEduAplctOnlnService.updateBulk2");
|
||||
}
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
System.out.println("Exception vEEduAplctOnlnService.updateBulk3");
|
||||
}
|
||||
modelAndView.addObject("result", "success");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육설문 등록 - 기반, 기소 - 개별 등록 후 이수처리
|
||||
*/
|
||||
@RequestMapping(value="/updateAplctStateCdAjax.do")
|
||||
public ModelAndView updateAplctStateCdAjax(
|
||||
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView("jsonView");
|
||||
|
||||
try {
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) {
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
//로그인 처리====================================
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
|
||||
// System.out.println("vEEduAplctVO.getPrcsAplctPrdOrd() : "+ vEEduAplctVO.getPrcsAplctPrdOrd());
|
||||
System.out.println("vEEduAplctVO.getEduAplctOrd() : "+ vEEduAplctVO.getEduAplctOrd());
|
||||
// 이수 상태라면
|
||||
if("20".equals(vEEduAplctVO.getAplctStateCd())) {
|
||||
vEEduAplctVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEEduAplctVO.getLctrDivCd()));
|
||||
}else if("10".equals(vEEduAplctVO.getAplctStateCd())) {
|
||||
vEEduAplctVO.setEduCmpltCrtfcNmbr("DEL");
|
||||
}
|
||||
|
||||
// 신청상세정보 상태값 update
|
||||
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
|
||||
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
|
||||
|
||||
|
||||
// 기소유예 대상자 상태값 udpate
|
||||
vEEduMIXService.updateEduStateCd(vEEduAplctVO);
|
||||
|
||||
|
||||
// 알림 영역
|
||||
List<String> eduAplctOrdList = new ArrayList<String>();
|
||||
eduAplctOrdList.add(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduAplctVO.setEduAplctOrdList(eduAplctOrdList);
|
||||
notifyManageService.insertNotifyAprvlCd5060CmpltForUser(
|
||||
loginVO
|
||||
, vEEduAplctVO.getPrcsAplctPrdOrd()
|
||||
, vEEduAplctVO.getLctrDivCd()
|
||||
, vEEduAplctVO.getEduAplctOrdList()
|
||||
, vEEduAplctVO.getAplctStateCd()
|
||||
);
|
||||
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
} catch (Exception e) {
|
||||
modelAndView.addObject("result", "");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육설문조사 등록 로직
|
||||
*/
|
||||
@ -1314,4 +1525,26 @@ public class EduEndTngrController {
|
||||
|
||||
return p_paginationInfo;
|
||||
}
|
||||
|
||||
private String cmpltChkAndMakeNmber(String lctrDivCd) throws Exception {
|
||||
// 현재 년도
|
||||
String currentYear = String.valueOf(java.time.Year.now());
|
||||
|
||||
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||
|
||||
vEEduAplctVO.setLctrDivCd(lctrDivCd);
|
||||
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectEduCmpltCrtfcNmbrList(vEEduAplctVO);
|
||||
|
||||
// 값이 있으면 있는 값에 최대값 구하고
|
||||
// 값이 없으면 초기값 설정
|
||||
String maxCrtfcNmbr = vEEduAplctVOList.stream()
|
||||
.map(VEEduAplctVO::getEduCmpltCrtfcNmbr)
|
||||
.max(Comparator.comparingInt(item -> Integer.parseInt(item.split("-")[1])))
|
||||
.orElse( currentYear + "-00000"); // 기본값 설정
|
||||
|
||||
int nextNumber = Integer.parseInt(maxCrtfcNmbr.split("-")[1]) + 1;
|
||||
|
||||
return currentYear + "-" + String.format("%05d", nextNumber);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
|
||||
public interface VEPrcsAplctPrdService {
|
||||
@ -40,8 +39,15 @@ public interface VEPrcsAplctPrdService {
|
||||
|
||||
List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
//신청목록-실무역량강화, 기소유예 old
|
||||
List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용
|
||||
List<VEPrcsDetailVO> findByAprvlQustnrList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용 - 상세찾기용
|
||||
List<VEPrcsDetailVO> findByAprvlQustnrDetailList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
|
||||
|
||||
@ -204,6 +204,9 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
private String eduPrcsOrd;
|
||||
private String cmmNotifyOrd; //
|
||||
|
||||
private String qestnrId10Cnt;
|
||||
private String qestnrId20Cnt;
|
||||
private String qestnrId30Cnt;
|
||||
|
||||
|
||||
public String getEduPrcsOrd() {
|
||||
@ -992,6 +995,24 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setPhone(String phone) {
|
||||
this.phone = phone;
|
||||
}
|
||||
public String getQestnrId10Cnt() {
|
||||
return qestnrId10Cnt;
|
||||
}
|
||||
public void setQestnrId10Cnt(String qestnrId10Cnt) {
|
||||
this.qestnrId10Cnt = qestnrId10Cnt;
|
||||
}
|
||||
public String getQestnrId20Cnt() {
|
||||
return qestnrId20Cnt;
|
||||
}
|
||||
public void setQestnrId20Cnt(String qestnrId20Cnt) {
|
||||
this.qestnrId20Cnt = qestnrId20Cnt;
|
||||
}
|
||||
public String getQestnrId30Cnt() {
|
||||
return qestnrId30Cnt;
|
||||
}
|
||||
public void setQestnrId30Cnt(String qestnrId30Cnt) {
|
||||
this.qestnrId30Cnt = qestnrId30Cnt;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -6,9 +6,7 @@ import java.util.Map;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
|
||||
@Repository("vEPrcsAplctPrdDAO")
|
||||
@ -97,6 +95,14 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> findByAprvlQustnrList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlQustnrList", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> findByAprvlQustnrDetailList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlQustnrDetailList", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@ -9,9 +9,7 @@ import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
|
||||
@ -96,6 +94,16 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
|
||||
return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEPrcsDetailVO> findByAprvlQustnrList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return vEPrcsAplctPrdDAO.findByAprvlQustnrList(vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEPrcsDetailVO> findByAprvlQustnrDetailList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return vEPrcsAplctPrdDAO.findByAprvlQustnrDetailList(vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO);
|
||||
|
||||
@ -994,6 +994,8 @@ public class CndtnPrcsInfoMngController {
|
||||
// 이수 상태라면
|
||||
if("20".equals(vEEduAplctVO.getAplctStateCd())) {
|
||||
vEEduAplctVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEEduAplctVO.getLctrDivCd()));
|
||||
}else if("10".equals(vEEduAplctVO.getAplctStateCd())) {
|
||||
vEEduAplctVO.setEduCmpltCrtfcNmbr("DEL");
|
||||
}
|
||||
|
||||
// 신청상세정보 상태값 update
|
||||
|
||||
@ -728,6 +728,102 @@
|
||||
ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID
|
||||
</select>
|
||||
|
||||
<select id="QustnrRespondInfo.selectChasiSrvyFndtnList202312" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
|
||||
/* QustnrRespondInfo.selectChasiSrvyFndtnList202312 */
|
||||
|
||||
SELECT
|
||||
a.QUSTNR_TMPLAT_ID AS qustnrTmplatId
|
||||
, a.QESTNR_ID AS qestnrId
|
||||
, a.QUSTNR_QESITM_ID AS qustnrQesitmId
|
||||
, a.QESTN_SN AS qestnSn
|
||||
, a.QESTN_CN AS qestnCn
|
||||
|
||||
|
||||
, b.QUSTNR_RSLT_ID AS qustnrRsltId
|
||||
, b.VERY_SATISFIED AS verySatisfied
|
||||
, b.SATISFIED AS satisfied
|
||||
, b.NEITHER AS neither
|
||||
, b.DISSATISFIED AS dissatisfied
|
||||
, b.VERY_DISSATISFIED AS veryDissatisfied
|
||||
, b.ANSWER AS answer
|
||||
, b.QUSTNR_IEM_ID AS qustnrIemId
|
||||
|
||||
/*
|
||||
, c.QUSTNR_RESPOND_ID AS qestnrRespondId
|
||||
, c.QESTNR_RESPONDENT_COUNT AS qestnrParticipant
|
||||
, c.QESTNR_PARTICIPANT_COUNT AS qestnrRespondent
|
||||
*/
|
||||
|
||||
, d.answer5
|
||||
, d.answer4
|
||||
, d.answer3
|
||||
, d.answer2
|
||||
, d.answer1
|
||||
|
||||
, e.prcs_ord AS prcsAplctPrdOrd
|
||||
|
||||
|
||||
|
||||
FROM lettnqustnrqesitm a
|
||||
LEFT OUTER JOIN LETTNQESTNRRSLTDETAIL b
|
||||
on(1=1
|
||||
AND a.QUSTNR_TMPLAT_ID = b.QUSTNR_TMPLAT_ID
|
||||
AND a.QESTNR_ID = b.QESTNR_ID
|
||||
AND a.QUSTNR_QESITM_ID = b.QUSTNR_QESITM_ID
|
||||
AND b.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
|
||||
<isNotEmpty property="eduChasiOrd">
|
||||
AND b.EDU_CHASI_ORD = #eduChasiOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
)
|
||||
/*
|
||||
LEFT OUTER JOIN LETTNQUSTNRRESPONDINFO c
|
||||
ON (
|
||||
c.QUSTNR_TMPLAT_ID = B.QUSTNR_TMPLAT_ID
|
||||
AND c.QESTNR_ID = B.QESTNR_ID
|
||||
AND c.QUSTNR_RESPOND_ID = qustnrRespondId
|
||||
|
||||
)
|
||||
*/
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
SELECT a0.QUSTNR_TMPLAT_ID
|
||||
, a0.QESTNR_ID
|
||||
, a0.QUSTNR_QESITM_ID
|
||||
, max(decode(a0.iem_sn,'5',a0.iem_cn)) AS answer1
|
||||
, max(decode(a0.iem_sn,'4',a0.iem_cn)) AS answer2
|
||||
, max(decode(a0.iem_sn,'3',a0.iem_cn)) AS answer3
|
||||
, max(decode(a0.iem_sn,'2',a0.iem_cn)) AS answer4
|
||||
, max(decode(a0.iem_sn,'1',a0.iem_cn)) AS answer5
|
||||
|
||||
FROM lettnqustnriem a0
|
||||
GROUP BY a0.QUSTNR_TMPLAT_ID
|
||||
, a0.QESTNR_ID
|
||||
, a0.QUSTNR_QESITM_ID
|
||||
) d
|
||||
on(
|
||||
a.qustnr_tmplat_id=d.qustnr_tmplat_id
|
||||
AND a.qestnr_id=d.qestnr_id
|
||||
AND a.qustnr_qesitm_id=d.qustnr_qesitm_id
|
||||
|
||||
)
|
||||
|
||||
,(
|
||||
|
||||
SELECT a.prcs_ord
|
||||
FROM ve_edu_aplct a
|
||||
WHERE a.edu_aplct_ord = #eduAplctOrd#
|
||||
|
||||
) e
|
||||
|
||||
|
||||
WHERE a.QUSTNR_TMPLAT_ID = #qustnrTmplatId#
|
||||
AND a.QESTNR_ID = #qestnrId#
|
||||
|
||||
ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID
|
||||
</select>
|
||||
|
||||
<select id="QustnrRespondInfo.selectChasiSrvyList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
|
||||
/* QustnrRespondInfo.selectChasiSrvyList_bak */
|
||||
SELECT
|
||||
|
||||
@ -6368,9 +6368,27 @@ VALUES
|
||||
, aplct_pnttm = SYSDATE
|
||||
, last_updusr_id = #lastUpdusrId#
|
||||
, last_updt_pnttm = SYSDATE
|
||||
<isNotEmpty property="eduCmpltCrtfcNmbr">
|
||||
, EDU_CMPLT_CRTFC_NMBR = #eduCmpltCrtfcNmbr#
|
||||
</isNotEmpty>
|
||||
|
||||
<isEqual property="eduCmpltCrtfcNmbr" compareValue="DEL">
|
||||
, EDU_CMPLT_CRTFC_NMBR = null
|
||||
</isEqual>
|
||||
|
||||
<isNotEqual property="eduCmpltCrtfcNmbr" compareValue="DEL">
|
||||
<isNotEmpty property="eduCmpltCrtfcNmbr">
|
||||
|
||||
, EDU_CMPLT_CRTFC_NMBR = (
|
||||
|
||||
SELECT NVL(a0.EDU_CMPLT_CRTFC_NMBR,#eduCmpltCrtfcNmbr#)
|
||||
FROM vea_aplct_detail_info a0
|
||||
WHERE
|
||||
a0.prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
AND a0.edu_aplct_ord = #eduAplctOrd#
|
||||
|
||||
)
|
||||
|
||||
</isNotEmpty>
|
||||
</isNotEqual>
|
||||
|
||||
WHERE
|
||||
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
AND edu_aplct_ord = #eduAplctOrd#
|
||||
|
||||
@ -777,6 +777,331 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 교육 확정 목록 (설문조사, 이수증 수정)-->
|
||||
<select id="VEPrcsAplctPrdDAO.findByAprvlQustnrList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
/* VEPrcsAplctPrdDAO.findByAprvlQustnrList */
|
||||
select
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
a.edu_aplct_ord AS eduAplctOrd ,
|
||||
vpap.PRCS_APLCT_PRD_ORD AS prcsAplctPrdOrd ,
|
||||
vp.prcs_nm AS prcsNm ,
|
||||
vp.prcs_cn AS prcsCn ,
|
||||
vp.prcs_div AS prcsDiv ,
|
||||
vpap.strt_pnttm AS strtPnttm ,
|
||||
vpap.end_pnttm AS endPnttm ,
|
||||
vpap.edu_strt_pnttm AS eduStrtPnttm ,
|
||||
vpap.edu_ddln_pnttm AS eduDdlnPnttm ,
|
||||
|
||||
CASE
|
||||
WHEN to_char(sysdate, 'YYYY.MM.DD') > vpap.edu_ddln_pnttm THEN 1
|
||||
ELSE 0
|
||||
END AS qestRsltExists,
|
||||
|
||||
a.APRVL_CD AS aprvlCd ,
|
||||
vadi.APLCT_STATE_CD AS aplctStateCd,
|
||||
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
|
||||
vadi.CNCL_CN AS cnclCn,
|
||||
|
||||
|
||||
/* 설문지 정보 */
|
||||
I.qustnr_tmplat_id AS qustnrTmplatId ,
|
||||
|
||||
NVL(qustnr01.QESTNR_ID_10, i.qestnr_id_10) AS qestnrId10 ,
|
||||
NVL(qustnr01.QESTNR_ID_20, i.qestnr_id_20) AS qestnrId20 ,
|
||||
NVL(qustnr01.QESTNR_ID_30, i.qestnr_id_30) AS qestnrId30 ,
|
||||
|
||||
/* 답변 정보 */
|
||||
|
||||
qustnr01.QESTNR_ID_10_CNT AS qestnrId10Cnt ,
|
||||
qustnr01.QESTNR_ID_20_CNT AS qestnrId20Cnt ,
|
||||
qustnr01.QESTNR_ID_30_CNT AS qestnrId30Cnt
|
||||
|
||||
|
||||
/*
|
||||
qustnr01.QESTNR_ID_10 AS qestnrId10A ,
|
||||
qustnr01.QESTNR_ID_20 AS qestnrId20A ,
|
||||
qustnr01.QESTNR_ID_30 AS qestnrId30A ,
|
||||
|
||||
|
||||
i.qestnr_id_10 AS qestnrId10Q ,
|
||||
i.qestnr_id_20 AS qestnrId20Q ,
|
||||
i.qestnr_id_30 AS qestnrId30Q
|
||||
*/
|
||||
|
||||
|
||||
from
|
||||
VE_EDU_APLCT a
|
||||
join ve_prcs_aplct_prd vpap
|
||||
on a.prcs_ord = vpap.prcs_aplct_prd_ord
|
||||
join ve_prcs vp /* 과정 */
|
||||
on vpap.prcs_ord = vp.prcs_ord
|
||||
left join vea_aplct_detail_info vadi /* 신청상세정보 */
|
||||
on a.edu_aplct_ord = vadi.edu_aplct_ord
|
||||
and vpap.prcs_aplct_prd_ord = vadi.prcs_aplct_prd_ord
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
SELECT
|
||||
aa.EDU_APLCT_ORD ,
|
||||
aa.prcs_ord,
|
||||
aa.QUSTNR_TMPLAT_ID ,
|
||||
aa.user_id
|
||||
|
||||
, max(decode(bb.site_id_cd, '10', aa.QESTNR_ID)) AS QESTNR_ID_10
|
||||
, max(decode(bb.site_id_cd, '20', aa.QESTNR_ID)) AS QESTNR_ID_20
|
||||
, max(decode(bb.site_id_cd, '30', aa.QESTNR_ID)) AS QESTNR_ID_30
|
||||
|
||||
, SUM(decode(bb.site_id_cd, '10', 1,0)) AS QESTNR_ID_10_CNT
|
||||
, SUM(decode(bb.site_id_cd, '20', 1,0)) AS QESTNR_ID_20_CNT
|
||||
, SUM(decode(bb.site_id_cd, '30', 1,0)) AS QESTNR_ID_30_CNT
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
a.EDU_APLCT_ORD ,
|
||||
a.prcs_ord,
|
||||
b.QUSTNR_TMPLAT_ID ,
|
||||
b.QESTNR_ID
|
||||
, a.user_id
|
||||
|
||||
FROM
|
||||
ve_edu_aplct a ,
|
||||
LETTNQESTNRRSLTDETAIL b
|
||||
WHERE
|
||||
1 = 1
|
||||
/*
|
||||
AND b.respond_id = a.user_id
|
||||
*/
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND b.EDU_CHASI_ORD IS NULL
|
||||
AND a.user_id=#userId#
|
||||
|
||||
)aa
|
||||
, lettnqestnrinfo bb
|
||||
WHERE aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||
AND aa.qestnr_id=bb.qestnr_id
|
||||
|
||||
GROUP BY
|
||||
aa.EDU_APLCT_ORD ,
|
||||
aa.prcs_ord,
|
||||
aa.QUSTNR_TMPLAT_ID ,
|
||||
aa.user_id
|
||||
|
||||
) qustnr01
|
||||
on(
|
||||
|
||||
a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
|
||||
AND a.PRCS_ORD = qustnr01.prcs_Ord
|
||||
|
||||
)
|
||||
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||
SELECT
|
||||
a.QUSTNR_TMPLAT_ID ,
|
||||
a.SITE_ID ,
|
||||
max(decode(a.site_id_cd, '10', a.QESTNR_ID)) AS QESTNR_ID_10 ,
|
||||
max(decode(a.site_id_cd, '20', a.QESTNR_ID)) AS QESTNR_ID_20 ,
|
||||
max(decode(a.site_id_cd, '30', a.QESTNR_ID)) AS QESTNR_ID_30
|
||||
FROM
|
||||
LETTNQESTNRINFO a
|
||||
WHERE
|
||||
a.SITE_ID = #siteId#
|
||||
AND a.SITE_ID_CD IN ('10', '20', '30')
|
||||
AND TO_CHAR(SYSDATE,
|
||||
'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde,
|
||||
'2000.01.01')
|
||||
AND NVL(a.qustnr_endde,
|
||||
'9999.12.31')
|
||||
GROUP BY
|
||||
a.QUSTNR_TMPLAT_ID ,
|
||||
a.SITE_ID
|
||||
) I ON
|
||||
(1 = 1)
|
||||
|
||||
|
||||
where
|
||||
a.lctr_div_cd = #lctrDivCd#
|
||||
and a.user_id = #userId#
|
||||
|
||||
<isNotEmpty property="searchStartDt">
|
||||
AND vpap.edu_strt_pnttm <![CDATA[ >= ]]> #searchStartDt#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndDt">
|
||||
AND vpap.edu_strt_pnttm <![CDATA[ <= ]]> #searchEndDt#
|
||||
</isNotEmpty>
|
||||
<isEqual property="searchStatus" compareValue="5"> /*VEA003 미이수 : 수강중 강의*/
|
||||
AND vadi.aplct_state_cd = '10'
|
||||
</isEqual>
|
||||
<isEqual property="searchStatus" compareValue="30"> /*취소 : 취소*/
|
||||
AND vadi.aplct_state_cd = #searchStatus#
|
||||
</isEqual>
|
||||
<isEqual property="searchStatus" compareValue="20"> /*이수완료 : 종료 강의*/
|
||||
AND vadi.aplct_state_cd is not null
|
||||
AND a.aprvl_cd = #searchStatus#
|
||||
</isEqual>
|
||||
<isEqual property="searchStatus" compareValue="15"> /*수강중 강의*/
|
||||
AND vadi.aplct_state_cd is null
|
||||
AND a.aprvl_cd = 20
|
||||
</isEqual>
|
||||
<isEqual property="searchStatus" compareValue="10"> /*요청 : 요청 강의*/
|
||||
AND a.aprvl_cd = #searchStatus#
|
||||
</isEqual>
|
||||
|
||||
/*AND a.aprvl_cd != '100' 찜하기 제거*/
|
||||
ORDER BY vpap.edu_strt_pnttm desc
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 교육 확정 목록 (설문조사, 이수증 수정)-->
|
||||
<select id="VEPrcsAplctPrdDAO.findByAprvlQustnrDetailList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
/* VEPrcsAplctPrdDAO.findByAprvlQustnrDetailList */
|
||||
select
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
a.edu_aplct_ord AS eduAplctOrd ,
|
||||
vpap.PRCS_APLCT_PRD_ORD AS prcsAplctPrdOrd ,
|
||||
vp.prcs_nm AS prcsNm ,
|
||||
vp.prcs_cn AS prcsCn ,
|
||||
vp.prcs_div AS prcsDiv ,
|
||||
vpap.strt_pnttm AS strtPnttm ,
|
||||
vpap.end_pnttm AS endPnttm ,
|
||||
vpap.edu_strt_pnttm AS eduStrtPnttm ,
|
||||
vpap.edu_ddln_pnttm AS eduDdlnPnttm ,
|
||||
a.APRVL_CD AS aprvlCd ,
|
||||
vadi.APLCT_STATE_CD AS aplctStateCd,
|
||||
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
|
||||
vadi.CNCL_CN AS cnclCn,
|
||||
|
||||
|
||||
/* 설문지 정보 */
|
||||
I.qustnr_tmplat_id AS qustnrTmplatId ,
|
||||
|
||||
NVL(qustnr01.QESTNR_ID_10, i.qestnr_id_10) AS qestnrId10 ,
|
||||
NVL(qustnr01.QESTNR_ID_20, i.qestnr_id_20) AS qestnrId20 ,
|
||||
NVL(qustnr01.QESTNR_ID_30, i.qestnr_id_30) AS qestnrId30 ,
|
||||
|
||||
/* 답변 정보 */
|
||||
|
||||
qustnr01.QESTNR_ID_10_CNT AS qestnrId10Cnt ,
|
||||
qustnr01.QESTNR_ID_20_CNT AS qestnrId20Cnt ,
|
||||
qustnr01.QESTNR_ID_30_CNT AS qestnrId30Cnt
|
||||
|
||||
|
||||
/*
|
||||
qustnr01.QESTNR_ID_10 AS qestnrId10A ,
|
||||
qustnr01.QESTNR_ID_20 AS qestnrId20A ,
|
||||
qustnr01.QESTNR_ID_30 AS qestnrId30A ,
|
||||
|
||||
|
||||
i.qestnr_id_10 AS qestnrId10Q ,
|
||||
i.qestnr_id_20 AS qestnrId20Q ,
|
||||
i.qestnr_id_30 AS qestnrId30Q
|
||||
*/
|
||||
|
||||
|
||||
from
|
||||
VE_EDU_APLCT a
|
||||
join ve_prcs_aplct_prd vpap
|
||||
on a.prcs_ord = vpap.prcs_aplct_prd_ord
|
||||
join ve_prcs vp /* 과정 */
|
||||
on vpap.prcs_ord = vp.prcs_ord
|
||||
left join vea_aplct_detail_info vadi /* 신청상세정보 */
|
||||
on a.edu_aplct_ord = vadi.edu_aplct_ord
|
||||
and vpap.prcs_aplct_prd_ord = vadi.prcs_aplct_prd_ord
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
SELECT
|
||||
aa.EDU_APLCT_ORD ,
|
||||
aa.prcs_ord,
|
||||
aa.QUSTNR_TMPLAT_ID ,
|
||||
aa.user_id
|
||||
|
||||
, max(decode(bb.site_id_cd, '10', aa.QESTNR_ID)) AS QESTNR_ID_10
|
||||
, max(decode(bb.site_id_cd, '20', aa.QESTNR_ID)) AS QESTNR_ID_20
|
||||
, max(decode(bb.site_id_cd, '30', aa.QESTNR_ID)) AS QESTNR_ID_30
|
||||
|
||||
, SUM(decode(bb.site_id_cd, '10', 1,0)) AS QESTNR_ID_10_CNT
|
||||
, SUM(decode(bb.site_id_cd, '20', 1,0)) AS QESTNR_ID_20_CNT
|
||||
, SUM(decode(bb.site_id_cd, '30', 1,0)) AS QESTNR_ID_30_CNT
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
a.EDU_APLCT_ORD ,
|
||||
a.prcs_ord,
|
||||
b.QUSTNR_TMPLAT_ID ,
|
||||
b.QESTNR_ID
|
||||
, a.user_id
|
||||
|
||||
FROM
|
||||
ve_edu_aplct a ,
|
||||
LETTNQESTNRRSLTDETAIL b
|
||||
WHERE
|
||||
1 = 1
|
||||
AND b.respond_id = a.user_id
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND b.EDU_CHASI_ORD IS NULL
|
||||
AND a.user_id=#userId#
|
||||
|
||||
)aa
|
||||
, lettnqestnrinfo bb
|
||||
WHERE aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||
AND aa.qestnr_id=bb.qestnr_id
|
||||
|
||||
GROUP BY
|
||||
aa.EDU_APLCT_ORD ,
|
||||
aa.prcs_ord,
|
||||
aa.QUSTNR_TMPLAT_ID ,
|
||||
aa.user_id
|
||||
|
||||
) qustnr01
|
||||
on(
|
||||
|
||||
a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
|
||||
AND a.PRCS_ORD = qustnr01.prcs_Ord
|
||||
|
||||
)
|
||||
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||
SELECT
|
||||
a.QUSTNR_TMPLAT_ID ,
|
||||
a.SITE_ID ,
|
||||
max(decode(a.site_id_cd, '10', a.QESTNR_ID)) AS QESTNR_ID_10 ,
|
||||
max(decode(a.site_id_cd, '20', a.QESTNR_ID)) AS QESTNR_ID_20 ,
|
||||
max(decode(a.site_id_cd, '30', a.QESTNR_ID)) AS QESTNR_ID_30
|
||||
FROM
|
||||
LETTNQESTNRINFO a
|
||||
WHERE
|
||||
a.SITE_ID = #siteId#
|
||||
AND a.SITE_ID_CD IN ('10', '20', '30')
|
||||
AND TO_CHAR(SYSDATE,
|
||||
'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde,
|
||||
'2000.01.01')
|
||||
AND NVL(a.qustnr_endde,
|
||||
'9999.12.31')
|
||||
GROUP BY
|
||||
a.QUSTNR_TMPLAT_ID ,
|
||||
a.SITE_ID
|
||||
) I ON
|
||||
(1 = 1)
|
||||
|
||||
|
||||
where
|
||||
a.lctr_div_cd = #lctrDivCd#
|
||||
and a.user_id = #userId#
|
||||
|
||||
<isNotEmpty property="eduAplctOrd">
|
||||
AND a.edu_aplct_ord=#eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
ORDER BY vpap.edu_strt_pnttm desc
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<select id="VEPrcsAplctPrdDAO.findAllDashboardCnt" parameterClass="VEPrcsDetailVO" resultClass="java.util.HashMap">
|
||||
/*
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
, a.qustnr_endde qustnrEndde
|
||||
, a.qustnr_trget qustnrTrget
|
||||
, a.qustnr_tmplat_id qustnrTmplatId
|
||||
, a.frst_regist_pnttm frstRegisterPnttm
|
||||
, TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') frstRegistPnttm
|
||||
, a.frst_register_id
|
||||
, (select user_nm from comvnusermaster where esntl_id = a.frst_register_id) frstRegisterNm
|
||||
, a.last_updt_pnttm
|
||||
@ -54,6 +54,9 @@
|
||||
</isEqual>
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchConditionSite">
|
||||
AND a.site_id = #searchConditionSite#
|
||||
</isNotEmpty>
|
||||
ORDER BY 1
|
||||
<isNotEmpty property="searchSortCnd">
|
||||
,$searchSortCnd$
|
||||
|
||||
@ -207,13 +207,18 @@
|
||||
</c:forEach>
|
||||
</select>
|
||||
</c:if>
|
||||
<kc:select codeId="VE0011" id="srcDlvSts" defaultText="전체" defaultValue="" />
|
||||
<kc:select codeId="VE0011" id="searchConditionSite" name="searchConditionSite" defaultText="전체"
|
||||
defaultValue=""
|
||||
selectedValue="${searchVO.searchConditionSite}"
|
||||
css='style="width:200px;"'
|
||||
/>
|
||||
<select class="sel_type1" name="searchCondition" id="searchCondition">
|
||||
<option value=''>선택하세요</option>
|
||||
<option value='QUSTNR_SJ' <c:if test="${searchCondition == 'QUSTNR_SJ'}">selected</c:if>>설문제목</option>
|
||||
<option value='FRST_REGISTER_ID' <c:if test="${searchCondition == 'FRST_REGISTER_ID'}">selected</c:if>>작성자명</option>
|
||||
<option value='QUSTNR_SJ' <c:if test="${searchVO.searchCondition == 'QUSTNR_SJ'}">selected</c:if>>설문제목</option>
|
||||
<option value='FRST_REGISTER_ID' <c:if test="${searchVO.searchCondition == 'FRST_REGISTER_ID'}">selected</c:if>>등록자</option>
|
||||
</select>
|
||||
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchKeyword}'/>" size="25" title="검색" maxlength="250"/>
|
||||
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text"
|
||||
value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="250"/>
|
||||
<button class="btn_type08" onclick="fn_egov_search_QustnrManage(); return false;">검색</button>
|
||||
<select name="pageUnit" class="sel_type1" id="pageUnit" onchange="linkPage(1);" title="줄 선택">
|
||||
<option value='10' <c:if test="${adjReqMgrVO.pageUnit == '10' or adjReqMgrVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
@ -236,7 +241,8 @@
|
||||
<col style="width: 7%">
|
||||
<col style="width: 12%">
|
||||
<col style="width: 17%">
|
||||
<col style="width: 18%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
</colgroup>
|
||||
@ -250,6 +256,7 @@
|
||||
<th>등록자</th>
|
||||
<th>설문기간</th>
|
||||
<th>사용처</th>
|
||||
<th>등록일시</th>
|
||||
<th>대상</th>
|
||||
<th>삭제</th>
|
||||
</tr>
|
||||
@ -281,6 +288,7 @@
|
||||
<a href="#" onclick="fn_egov_modify_QustnrManage('${resultInfo.qestnrId}'); return false;">
|
||||
<c:out value="${resultInfo.qustnrSj}" escapeXml="true"/>
|
||||
</a>
|
||||
(${resultInfo.qestnrId})
|
||||
</td>
|
||||
<!-- <td> -->
|
||||
<%-- <input type="button" class="btnType2" value="미리보기" onclick="qustnrPopOpen(1,'${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%>
|
||||
@ -304,6 +312,7 @@
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>${resultInfo.frstRegistPnttm}</td>
|
||||
<td>
|
||||
<kc:code codeId="VEA012" code="${resultInfo.siteIdCd}"/>(${resultInfo.siteIdCd})
|
||||
</td>
|
||||
|
||||
@ -120,6 +120,12 @@ function addRow(){
|
||||
alert("질문유형이 만족도 평가에서는 문항을 추가 할 수 없습니다.");
|
||||
return ;
|
||||
}
|
||||
|
||||
if (itemTable.rows.length*1>=5){
|
||||
alert("5문항까지만 추가가 가능합니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
var oRow = itemTable.insertRow();
|
||||
th = document.createElement('th');
|
||||
th.innerHTML = itemTable.rows.length;;
|
||||
|
||||
@ -84,6 +84,7 @@
|
||||
}
|
||||
|
||||
function replyCalculation(){
|
||||
/*
|
||||
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
|
||||
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
|
||||
|
||||
@ -108,14 +109,19 @@
|
||||
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
|
||||
$("#responseRate").text(responseRateTxt + "%");
|
||||
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
|
||||
*/
|
||||
}
|
||||
|
||||
function popupSrvySendSubmit(){
|
||||
|
||||
var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
|
||||
var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
|
||||
var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
|
||||
|
||||
var v_qestmSize = parseInt('${chasiSrvyListCnt}'); //평가문항 수량
|
||||
var v_sum = 0;
|
||||
//var qestmSize = parseInt($("#qestmInfoSize").val()); //평가문항 수량
|
||||
//var qestnrParticipant = parseInt($("#qestnrParticipant").val()); //참석자 수량
|
||||
//var qestnrRespondent = parseInt($("#qestnrRespondent").val()); //응답자 수량
|
||||
|
||||
/*
|
||||
if(qestnrParticipant == null || qestnrParticipant == ""){
|
||||
alert("참석자 수량을 넣어주세요");
|
||||
$("#qestnrParticipant").focus();
|
||||
@ -133,14 +139,21 @@
|
||||
$("#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();
|
||||
for(var i=0; i < v_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();
|
||||
|
||||
|
||||
var radioNumber = $("input:radio[name='resultList["+i+"].responseRadio']:checked").val(); // 체크된 value
|
||||
|
||||
//alert(radioNumber);
|
||||
|
||||
/*
|
||||
if(verySatisfied == null || verySatisfied == ""){
|
||||
alert((i+1)+"번 [매우만족] 만족도를 정확히 넣어주세요");
|
||||
$("#verySatisfied_"+i).focus();
|
||||
@ -166,14 +179,28 @@
|
||||
$("#veryDissatisfied_"+i).focus();
|
||||
return
|
||||
}
|
||||
*/
|
||||
|
||||
var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
|
||||
//var sum = Number(verySatisfied) + Number(satisfied) + Number(neither) + Number(dissatisfied) + Number(veryDissatisfied);
|
||||
|
||||
if(qestnrRespondent != sum ){
|
||||
alert((i+1)+"문항의 합계가 응답수량과 맞지 않습니다.");
|
||||
$("#verySatisfied_"+i).focus();
|
||||
return
|
||||
radioNumber = Number(radioNumber);
|
||||
|
||||
if (radioNumber){
|
||||
v_sum = v_sum + 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//alert(v_sum);
|
||||
//alert(v_qestmSize);
|
||||
|
||||
|
||||
|
||||
if(v_qestmSize != v_sum ){
|
||||
alert("문항의 합계가 응답수량과 맞지 않습니다.");
|
||||
$("#verySatisfied_"+i).focus();
|
||||
return
|
||||
}
|
||||
|
||||
if(confirm("설문결과를 등록 하시겠습니까?")){
|
||||
@ -182,7 +209,9 @@
|
||||
|
||||
$.ajax({
|
||||
type:"POST"
|
||||
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertNewSrvyInfoAjax.do"
|
||||
//,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertNewSrvyInfoAjax.do"
|
||||
,url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/insertNewSrvyFndtnInfoEAAjax.do"
|
||||
|
||||
,data: data
|
||||
,dataType:'json'
|
||||
,async: false
|
||||
@ -191,8 +220,9 @@
|
||||
,cache: false
|
||||
,success:function(returnData){
|
||||
if(returnData.result == 'success'){
|
||||
alert("설문결과가 등록 되었습니다.");
|
||||
window.location.reload();
|
||||
//alert("설문결과가 등록 되었습니다.");
|
||||
fn_statusChg();
|
||||
//window.location.reload();
|
||||
}else if(returnData.result == 'fail'){
|
||||
alert(returnData.msg);
|
||||
location.href="/web/user/login/ssoLogin.do?test=test";
|
||||
@ -205,6 +235,37 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 기반 / 기소 공통
|
||||
function fn_statusChg(){
|
||||
var data = new FormData(document.getElementById("statusChgForm"));
|
||||
|
||||
var url = "${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/updateAplctStateCdAjax.do";
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("설문결과가 등록 되었습니다.");
|
||||
//alert("변경되었습니다.");
|
||||
// 새로고침
|
||||
window.location.reload();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
//event.stopImmediatePropagation();
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
/*
|
||||
boardCaptionDetailToggle4();
|
||||
@ -225,22 +286,31 @@ $(document).ready(function(){
|
||||
})
|
||||
</script>
|
||||
<!-- 일정 상세 -->
|
||||
<form id="statusChgForm" name="statusChgForm" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${chasiSrvyList[0].prcsAplctPrdOrd}' />"/>
|
||||
<input type="hidden" name="aplctStateCd" id="aplctStateCd" value="20"/>
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
|
||||
<input type="hidden" name="lctrDivCd" value="50"/>
|
||||
</form>
|
||||
|
||||
<form id="newSrvyPopupForm" name="newSrvyPopupForm" method="post" >
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${chasiInfo.eduAplctOrd}">
|
||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${chasiInfo.eduChasiOrd}">
|
||||
<input type="hidden" name="siteId" id="siteId" value="50">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
|
||||
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${vEEduChasiVO.eduChasiOrd}">
|
||||
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${chasiSrvyList[0].qustnrTmplatId}">
|
||||
<input type="hidden" name="qestnrId" id="qestnrId" value="${chasiSrvyList[0].qestnrId}">
|
||||
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
|
||||
|
||||
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
|
||||
<div class="popup_tit">
|
||||
<p>강의만족도 결과 등록</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
|
||||
<p>설문 결과 등록</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
|
||||
<div class="popup_cont">
|
||||
<div class="cont_body">
|
||||
|
||||
<div class="pop_tb_type02">
|
||||
<!--
|
||||
<table>
|
||||
<caption>교육일, 차시, 구분, 대상, 배정강사, 인원, 설문완료 여부 등의 정보제공</caption>
|
||||
<colgroup>
|
||||
@ -299,8 +369,9 @@ $(document).ready(function(){
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
-->
|
||||
|
||||
|
||||
<!--
|
||||
<table>
|
||||
<caption>참석자, 응답율, 응답자, 무응답에 대한 정보를 제공/입력</caption>
|
||||
<colgroup>
|
||||
@ -344,24 +415,18 @@ $(document).ready(function(){
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
-->
|
||||
|
||||
<table>
|
||||
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
|
||||
<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%;">
|
||||
<col style="width: 50%;">
|
||||
</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>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -382,30 +447,68 @@ $(document).ready(function(){
|
||||
<input type="hidden" name="resultList[${status1.index}].qestnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
|
||||
|
||||
</th>
|
||||
<td>
|
||||
<td style="text-align:left;">
|
||||
<br/>
|
||||
<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="${QestmInfo.verySatisfied}" >
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" numberOnly class="popupInput" style="width: 20px;padding:0 5px;text-align:center;"
|
||||
title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].responseRadio" value="5"
|
||||
|
||||
<c:if test="${QestmInfo.verySatisfied eq 1}">
|
||||
checked
|
||||
</c:if>
|
||||
|
||||
>
|
||||
${QestmInfo.answer5}
|
||||
<br/>
|
||||
|
||||
<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="${QestmInfo.satisfied}" >
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" numberOnly class="popupInput" style="width: 20px;padding:0 5px;text-align:center;"
|
||||
title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].responseRadio" value="4"
|
||||
|
||||
<c:if test="${QestmInfo.satisfied eq 1}">
|
||||
checked
|
||||
</c:if>
|
||||
|
||||
>
|
||||
${QestmInfo.answer4}
|
||||
<br/>
|
||||
|
||||
<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="${QestmInfo.neither}" >
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" numberOnly class="popupInput" style="width: 20px;padding:0 5px;text-align:center;"
|
||||
title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].responseRadio" value="3"
|
||||
|
||||
<c:if test="${QestmInfo.neither eq 1}">
|
||||
checked
|
||||
</c:if>
|
||||
|
||||
>
|
||||
${QestmInfo.answer3}
|
||||
<br/>
|
||||
|
||||
<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="${QestmInfo.dissatisfied}" >
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" numberOnly class="popupInput" style="width: 20px;padding:0 5px;text-align:center;"
|
||||
title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].responseRadio" value="2"
|
||||
|
||||
<c:if test="${QestmInfo.dissatisfied eq 1}">
|
||||
checked
|
||||
</c:if>
|
||||
|
||||
>
|
||||
${QestmInfo.answer2}
|
||||
<br/>
|
||||
|
||||
<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="${QestmInfo.veryDissatisfied}" >
|
||||
<input type="radio" numberOnly class="popupInput" style="width: 20px;padding:0 5px;text-align:center;"
|
||||
title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].responseRadio" value="1"
|
||||
|
||||
<c:if test="${QestmInfo.veryDissatisfied eq 1}">
|
||||
checked
|
||||
</c:if>
|
||||
|
||||
>
|
||||
${QestmInfo.answer1}
|
||||
<br/>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
@ -416,7 +519,7 @@ $(document).ready(function(){
|
||||
<br/>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${setQustnrRsltId eq '' or setQustnrRsltId eq null}">
|
||||
<c:when test="${empty setQustnrRsltId}">
|
||||
<!-- 응답이 없다. -->
|
||||
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
|
||||
@ -406,57 +406,72 @@ $(document).ready(function(){
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
|
||||
<c:choose>
|
||||
<c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button>
|
||||
|
||||
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
|
||||
<%-- <c:choose> --%>
|
||||
<%-- <c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> --%>
|
||||
<%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> --%>
|
||||
<!-- <button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> -->
|
||||
</c:when>
|
||||
<c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<%-- </c:when> --%>
|
||||
<%-- <c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> --%>
|
||||
<%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button> --%>
|
||||
<%-- </c:when> --%>
|
||||
<%-- <c:otherwise> --%>
|
||||
<!-- - -->
|
||||
<%-- </c:otherwise> --%>
|
||||
<%-- </c:choose> --%>
|
||||
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${list.qestRsltExists and list.aplctStateCd eq 20}">
|
||||
<button type="button" class="btnType02" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문완료</button>
|
||||
</c:when>
|
||||
<c:when test="${not empty list.qestnrId10 and list.aplctStateCd eq 20}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
<!--
|
||||
<button type="button" class="btnType04" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrPrintList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문출력</button>
|
||||
<c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}">
|
||||
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
|
||||
|
||||
<c:choose>
|
||||
|
||||
<c:when test="${list.qestnrId10Cnt gt 0}">
|
||||
<!-- 작성된 설문이 있다 -->
|
||||
<button type="button" class="btnType02" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문완료</button>
|
||||
</c:when>
|
||||
|
||||
<c:when test="${empty list.qestnrId10 and list.aplctStateCd eq 20}">
|
||||
<!-- 대상 설문이 없다 -->
|
||||
대상설문없음
|
||||
</c:when>
|
||||
|
||||
<c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}">
|
||||
<!-- 작성된 설문이 없다 -->
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
</c:when>
|
||||
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<button type="button" class="btnType04" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrQRPrintList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','print'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
|
||||
)" title="팝업 열림">설문QR</button>
|
||||
-->
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<!-- 설문노출대상 아님 -->
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.qestRsltExists }">
|
||||
<c:when test="${list.qestnrId10Cnt gt 0}">
|
||||
<button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
|
||||
</c:when>
|
||||
<c:when test="${list.aplctStateCd eq 20 and not list.qestRsltExists}">
|
||||
교육완료
|
||||
설문등록 후 발급
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
|
||||
Loading…
Reference in New Issue
Block a user