Merge branch 'advc' into hylee

This commit is contained in:
hylee 2023-12-28 14:40:52 +09:00
commit d3c4e7864a
36 changed files with 2561 additions and 607 deletions

View File

@ -102,7 +102,8 @@ public class MyPageController {
* 청소년 진행목록 * 청소년 진행목록
*/ */
{ {
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/
/*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년 // 청소년
// 사용자 교육신청 차시 리스트 // 사용자 교육신청 차시 리스트
@ -138,14 +139,45 @@ public class MyPageController {
model.addAttribute("tngrMap", tngrMap); model.addAttribute("tngrMap", tngrMap);
model.addAttribute("tngrList", tngrList); model.addAttribute("tngrList", tngrList);*/
//신청목록
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduAplctVO.setRecordCountPerPage(10);
vEEduAplctVO.setFirstIndex(0);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO);
int tngrAplctCnt = 0;
if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) {
tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt();
}
model.addAttribute("tngrAplctCnt", tngrAplctCnt);
//완료목록
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt());
vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt());
vEEduChasiVO.setRecordCountPerPage(10);
vEEduChasiVO.setFirstIndex(0);
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
int tngrEndCnt = 0;
if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) {
tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt();
}
model.addAttribute("tngrEndCnt", tngrEndCnt);
model.addAttribute("tngrList", vEEduChasiVOList);
} }
/* /*
* 성인 진행목록 * 성인 진행목록
*/ */
{ {
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/
/*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년 // 청소년
// 사용자 교육신청 차시 리스트 // 사용자 교육신청 차시 리스트
@ -176,7 +208,34 @@ public class MyPageController {
); );
model.addAttribute("adultMap", adultMap); model.addAttribute("adultMap", adultMap);
model.addAttribute("adultList", adultList); model.addAttribute("adultList", adultList);*/
//신청목록
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduAplctVO.setRecordCountPerPage(10);
vEEduAplctVO.setFirstIndex(0);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
int adultAplctCnt = 0;
if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) {
adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt();
}
model.addAttribute("adultAplctCnt", adultAplctCnt);
//완료목록
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(10);
vEEduChasiVO.setFirstIndex(0);
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
int adultEndCnt = 0;
if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) {
adultEndCnt = vEEduChasiVOList.get(0).getTotCnt();
}
model.addAttribute("adultEndCnt", adultEndCnt);
model.addAttribute("adultList", vEEduChasiVOList);
} }
/* /*
* 체험교실 * 체험교실

View File

@ -165,9 +165,12 @@ public interface EgovQustnrRespondInfoService {
// 차수별 설문 조회 // 차수별 설문 조회
public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception; public List<QustnrRespondInfoVO> selectChasiSrvyList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
// 차수별 설문 조회 // 차수별 설문 조회 - 상세 답변 정보
public List<QustnrRespondInfoVO> selectChasiSrvyList202312(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; public List<QustnrRespondInfoVO> selectChasiSrvyExcelList(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception;
void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO); void updateQustnrRespondManage(QustnrRespondManageVO qustnrRespondManageVO);

View File

@ -124,6 +124,13 @@ public class QustnrRespondInfoVO implements Serializable {
private String qustnrNm = ""; //등록자명 private String qustnrNm = ""; //등록자명
private String qustnrBirth = ""; //등록자생년월일 private String qustnrBirth = ""; //등록자생년월일
private String answer5 = "";
private String answer4 = "";
private String answer3 = "";
private String answer2 = "";
private String answer1 = "";
private String prcsAplctPrdOrd = "";
// 20231124 이호영 // 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;
}
} }

View File

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

View File

@ -207,6 +207,11 @@ public class QustnrRespondInfoDao extends EgovAbstractDAO {
return (List<QustnrRespondInfoVO>) list("QustnrRespondInfo.selectChasiSrvyList202312", qustnrRespondInfoVO); 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{ public QustnrRespondInfoVO selectSiteIdQustnrTmplat(QustnrRespondInfoVO qustnrRespondInfoVO) throws Exception{
return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO); return (QustnrRespondInfoVO) select("QustnrRespondInfo.selectSiteIdQustnrTmplat", qustnrRespondInfoVO);
} }

View File

@ -165,72 +165,81 @@ public class CrownixAjaxController {
System.out.println(request.getParameter("eduAplctOrd")); System.out.println(request.getParameter("eduAplctOrd"));
System.out.println("----------------"); System.out.println("----------------");
VEACmpltCrtfcVO vEACmpltCrtfcVO = new VEACmpltCrtfcVO(); try {
vEACmpltCrtfcVO.setPrcsAplctPrdOrd(request.getParameter("prcsAplctPrdOrd"));
vEACmpltCrtfcVO.setEduAplctOrd(request.getParameter("eduAplctOrd"));
vEACmpltCrtfcVO = vEACmpltCrtfcMixService.selectDetail_CC_1(vEACmpltCrtfcVO); VEACmpltCrtfcVO vEACmpltCrtfcVO = new VEACmpltCrtfcVO();
vEACmpltCrtfcVO.setPrcsAplctPrdOrd(request.getParameter("prcsAplctPrdOrd"));
vEACmpltCrtfcVO.setEduAplctOrd(request.getParameter("eduAplctOrd"));
vEACmpltCrtfcVO.setMberNm(egovCryptoUtil.decrypt(vEACmpltCrtfcVO.getMberNm())); vEACmpltCrtfcVO = vEACmpltCrtfcMixService.selectDetail_CC_1(vEACmpltCrtfcVO);
vEACmpltCrtfcVO.setInstrNm(egovCryptoUtil.decrypt(vEACmpltCrtfcVO.getInstrNm()));
/* vEACmpltCrtfcVO.setMberNm(egovCryptoUtil.decrypt(vEACmpltCrtfcVO.getMberNm()));
modelAndView.addObject("data_t", "교육연수이수증X"); vEACmpltCrtfcVO.setInstrNm(egovCryptoUtil.decrypt(vEACmpltCrtfcVO.getInstrNm()));
modelAndView.addObject("data_1", "허은성"); /*
modelAndView.addObject("data_2", "허은성"); modelAndView.addObject("data_t", "교육연수이수증X");
modelAndView.addObject("data_3", "1986-08-02");
modelAndView.addObject("data_4", "직무연수");
modelAndView.addObject("data_5", "선율과 함꼐하는 저작권 여행");
modelAndView.addObject("data_6", "총15시간(1학점)");
modelAndView.addObject("data_7", "2023년5월15일~2023년05월26일");
modelAndView.addObject("data_d", "2023년05월28일"); modelAndView.addObject("data_1", "허은성");
*/ modelAndView.addObject("data_2", "허은성");
modelAndView.addObject("data_3", "1986-08-02");
modelAndView.addObject("data_4", "직무연수");
modelAndView.addObject("data_5", "선율과 함꼐하는 저작권 여행");
modelAndView.addObject("data_6", "총15시간(1학점)");
modelAndView.addObject("data_7", "2023년5월15일~2023년05월26일");
//modelAndView.addObject("data_t", "교육연수이수증"); modelAndView.addObject("data_d", "2023년05월28일");
modelAndView.addObject("data_t", "<"+vEACmpltCrtfcVO.getEduCmpltCrtfcNmbr()+">"); */
modelAndView.addObject("data_1", vEACmpltCrtfcVO.getPrcsNm()); //modelAndView.addObject("data_t", "교육연수이수증");
modelAndView.addObject("data_t", "<"+vEACmpltCrtfcVO.getEduCmpltCrtfcNmbr()+">");
String s_birthDay = vEACmpltCrtfcVO.getBirthDay(); modelAndView.addObject("data_1", vEACmpltCrtfcVO.getPrcsNm());
if (s_birthDay.length()==6) { String s_birthDay = vEACmpltCrtfcVO.getBirthDay();
int i_birthDay = Integer.parseInt(s_birthDay.substring(0,2));
if (i_birthDay>23) { if (s_birthDay.length()==6) {
s_birthDay = "19"+s_birthDay.substring(0,2)+"."+s_birthDay.substring(2,4)+"."+s_birthDay.substring(4,6); int i_birthDay = Integer.parseInt(s_birthDay.substring(0,2));
}else {
s_birthDay = "20"+s_birthDay.substring(0,2)+"."+s_birthDay.substring(2,4)+"."+s_birthDay.substring(4,6); if (i_birthDay>23) {
s_birthDay = "19"+s_birthDay.substring(0,2)+"."+s_birthDay.substring(2,4)+"."+s_birthDay.substring(4,6);
}else {
s_birthDay = "20"+s_birthDay.substring(0,2)+"."+s_birthDay.substring(2,4)+"."+s_birthDay.substring(4,6);
}
} }
modelAndView.addObject("data_2", vEACmpltCrtfcVO.getMberNm()+"("+s_birthDay+")");
modelAndView.addObject("data_3", vEACmpltCrtfcVO.getEduStrtPnttm()+"~"+vEACmpltCrtfcVO.getEduDdlnPnttm());
//강사명1,2,3
System.out.println("vEACmpltCrtfcVO.getDesc1()");
System.out.println(vEACmpltCrtfcVO.getInstrNm());
System.out.println(vEACmpltCrtfcVO.getDesc1());
if ("".equals(vEACmpltCrtfcVO.getDesc1()) || vEACmpltCrtfcVO.getDesc1()==null) {
modelAndView.addObject("data_41", vEACmpltCrtfcVO.getInstrNm());
}else {
//modelAndView.addObject("data_41", vEACmpltCrtfcVO.getInstrNm());
modelAndView.addObject("data_41", vEACmpltCrtfcVO.getDesc1());
}
modelAndView.addObject("data_42", vEACmpltCrtfcVO.getDesc2());
modelAndView.addObject("data_43", vEACmpltCrtfcVO.getDesc3());
modelAndView.addObject("data_44", vEACmpltCrtfcVO.getDesc4());
modelAndView.addObject("data_7", "위 사람은 한국저작권위원회에서 진행하는 '"+vEACmpltCrtfcVO.getPrcsNm()+"'을 수료 하였기에 위 교육이수증을 부여 합니다.");
String s_rd = vEACmpltCrtfcVO.getRd();
s_rd = s_rd.substring(0,4)+""+s_rd.substring(4,6)+""+s_rd.substring(6,8)+"";
modelAndView.addObject("data_d", s_rd);
}catch(Exception ex) {
ex.printStackTrace();
} }
modelAndView.addObject("data_2", vEACmpltCrtfcVO.getMberNm()+"("+s_birthDay+")");
modelAndView.addObject("data_3", vEACmpltCrtfcVO.getEduStrtPnttm()+"~"+vEACmpltCrtfcVO.getEduDdlnPnttm());
//강사명1,2,3
if ("".equals(vEACmpltCrtfcVO.getDesc1())) {
modelAndView.addObject("data_41", vEACmpltCrtfcVO.getInstrNm());
}else {
//modelAndView.addObject("data_41", vEACmpltCrtfcVO.getInstrNm());
modelAndView.addObject("data_41", vEACmpltCrtfcVO.getDesc1());
}
modelAndView.addObject("data_42", vEACmpltCrtfcVO.getDesc2());
modelAndView.addObject("data_43", vEACmpltCrtfcVO.getDesc3());
modelAndView.addObject("data_44", vEACmpltCrtfcVO.getDesc4());
modelAndView.addObject("data_7", "위 사람은 한국저작권위원회에서 진행하는 '"+vEACmpltCrtfcVO.getPrcsNm()+"'을 수료 하였기에 위 교육이수증을 부여 합니다.");
String s_rd = vEACmpltCrtfcVO.getRd();
s_rd = s_rd.substring(0,4)+""+s_rd.substring(4,6)+""+s_rd.substring(6,8)+"";
modelAndView.addObject("data_d", s_rd);
return modelAndView; return modelAndView;
} }

View File

@ -356,6 +356,80 @@ public class ScholInfoController {
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrPopList"; return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrPopList";
} }
/**
* 설문 팝업 리스트 - 실무, 기소
*/
@RequestMapping("popup/qustnrFndtnPopList.do")
public String qustnrFndtnPopList(
@ModelAttribute("vEEduChasiVO") VEEduChasiVO vEEduChasiVO
, QustnrRespondInfoVO qustnrRespondInfoVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
String s_action = request.getParameter("action"); //insert or select
System.out.println("s_action");
System.out.println(s_action);
System.out.println(vEEduChasiVO.getQustnrTmplatId());
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());
//차시 정보
/*
try {
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //10-청소년 강사, 20-성인강사 VE0001
VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO);
ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm()));
ChasiInfo.setStrtTm(ChasiInfo.getStrtTm().substring(0,2)+":"+ChasiInfo.getStrtTm().substring(2,4));
ChasiInfo.setEndTm(ChasiInfo.getEndTm().substring(0,2)+":"+ChasiInfo.getEndTm().substring(2,4));
model.addAttribute("chasiInfo", ChasiInfo);
}catch(Exception ex) {
System.out.println("Exception vEEduAplctOnlnService.updateBulk");
}
*/
//참석 답변 정보
try {
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");
}
//설문 참여 정보
/*
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
);
}catch(Exception ex) {
ex.printStackTrace();
}
*/
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/qustnrFndtnPopList";
}
/** /**
* 설문 출력 팝업 리스트 * 설문 출력 팝업 리스트
*/ */

View File

@ -232,7 +232,8 @@ public class FndtnEnhanceTrnController {
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
} }
*/ */
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); vEPrcsDetailVO.setSiteId("50");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다. // 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now(); LocalDate currentDate = LocalDate.now();
@ -420,9 +421,10 @@ public class FndtnEnhanceTrnController {
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
vEPrcsDetailVO.setSiteId("50");
} }
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다. // 현재 날짜를 가져옵니다.

View File

@ -215,7 +215,9 @@ public class SspnIdtmtController {
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
} }
*/ */
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); vEPrcsDetailVO.setSiteId("50");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다. // 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now(); LocalDate currentDate = LocalDate.now();
@ -690,9 +692,11 @@ public class SspnIdtmtController {
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
vEPrcsDetailVO.setSiteId("60");
} }
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); //List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다. // 현재 날짜를 가져옵니다.

View File

@ -1,5 +1,7 @@
package kcc.ve.aplct.tngrVisitEdu.eduEnd.web; package kcc.ve.aplct.tngrVisitEdu.eduEnd.web;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import javax.annotation.Resource; 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.CheckLoginUtil;
import kcc.com.utl.user.service.QustnrCommonUtil; import kcc.com.utl.user.service.QustnrCommonUtil;
import kcc.let.uat.uia.service.SsoLoginVO; 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.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.uss.olp.qrm.service.EgovQustnrRespondManageService; 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.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; 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.VEPrcsCntntVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
@ -147,6 +151,14 @@ public class EduEndTngrController {
@Resource(name = "qustnrCommonUtil") @Resource(name = "qustnrCommonUtil")
private QustnrCommonUtil 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; 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; 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);
}
} }

View File

@ -130,11 +130,14 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
private String sumScore; //전체점수 private String sumScore; //전체점수
private String avgScore; //평균점수 private String avgScore; //평균점수
private String siteId; //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
private String siteIdCd; //사이트ID 구분 10-기본, 20-신청자, 30-강사 private String siteIdCd; //사이트ID 구분 10-기본, 20-신청자, 30-강사
private String prcsAplctPrdOrd; //기간과정신청정보 private String prcsAplctPrdOrd; //기간과정신청정보
private String eduTrgt; //대상 private String eduTrgt; //대상
private String eduAprvlCd; //교육 신청상태
public String getQustnrQesitmId10Cnt() { public String getQustnrQesitmId10Cnt() {
@ -715,5 +718,17 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
public void setEduTrgt(String eduTrgt) { public void setEduTrgt(String eduTrgt) {
this.eduTrgt = eduTrgt; this.eduTrgt = eduTrgt;
} }
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getEduAprvlCd() {
return eduAprvlCd;
}
public void setEduAprvlCd(String eduAprvlCd) {
this.eduAprvlCd = eduAprvlCd;
}
} }

View File

@ -57,6 +57,10 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
private String docuNmbrDp = ""; //문서번호-표시용 private String docuNmbrDp = ""; //문서번호-표시용
private String cnt = ""; //횟수
private String chasiSum = ""; //차시 합계
public String getInstrDetailActvtHstryOrd() { public String getInstrDetailActvtHstryOrd() {
return instrDetailActvtHstryOrd; return instrDetailActvtHstryOrd;
@ -208,6 +212,18 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
public void setDocuNmbrDp(String docuNmbrDp) { public void setDocuNmbrDp(String docuNmbrDp) {
this.docuNmbrDp = docuNmbrDp; this.docuNmbrDp = docuNmbrDp;
} }
public String getCnt() {
return cnt;
}
public void setCnt(String cnt) {
this.cnt = cnt;
}
public String getChasiSum() {
return chasiSum;
}
public void setChasiSum(String chasiSum) {
this.chasiSum = chasiSum;
}

View File

@ -3,7 +3,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEPrcsAplctPrdService { public interface VEPrcsAplctPrdService {
@ -40,8 +39,15 @@ public interface VEPrcsAplctPrdService {
List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO); List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO);
//신청목록-실무역량강화, 기소유예 old
List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO); List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO);
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용
List<VEPrcsDetailVO> findByAprvlQustnrList(VEPrcsDetailVO vEPrcsDetailVO);
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용 - 상세찾기용
List<VEPrcsDetailVO> findByAprvlQustnrDetailList(VEPrcsDetailVO vEPrcsDetailVO);
Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO); Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO);
VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception; VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;

View File

@ -204,6 +204,9 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String eduPrcsOrd; private String eduPrcsOrd;
private String cmmNotifyOrd; // private String cmmNotifyOrd; //
private String qestnrId10Cnt;
private String qestnrId20Cnt;
private String qestnrId30Cnt;
public String getEduPrcsOrd() { public String getEduPrcsOrd() {
@ -992,6 +995,24 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setPhone(String phone) { public void setPhone(String phone) {
this.phone = 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;
}
} }

View File

@ -6,9 +6,7 @@ import java.util.Map;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; 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.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEPrcsAplctPrdDAO") @Repository("vEPrcsAplctPrdDAO")
@ -97,6 +95,14 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO); 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) { public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO); return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO);
} }

View File

@ -9,9 +9,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; 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.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.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -96,6 +94,16 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO); 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 @Override
public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) { public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO); return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO);

View File

@ -994,6 +994,8 @@ public class CndtnPrcsInfoMngController {
// 이수 상태라면 // 이수 상태라면
if("20".equals(vEEduAplctVO.getAplctStateCd())) { if("20".equals(vEEduAplctVO.getAplctStateCd())) {
vEEduAplctVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEEduAplctVO.getLctrDivCd())); vEEduAplctVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEEduAplctVO.getLctrDivCd()));
}else if("10".equals(vEEduAplctVO.getAplctStateCd())) {
vEEduAplctVO.setEduCmpltCrtfcNmbr("DEL");
} }
// 신청상세정보 상태값 update // 신청상세정보 상태값 update

View File

@ -728,6 +728,102 @@
ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID ORDER BY a.qestn_sn, A.QUSTNR_QESITM_ID
</select> </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"> <select id="QustnrRespondInfo.selectChasiSrvyList_bak" parameterClass="QustnrRespondInfoVO" resultClass="QustnrRespondInfoVO">
/* QustnrRespondInfo.selectChasiSrvyList_bak */ /* QustnrRespondInfo.selectChasiSrvyList_bak */
SELECT SELECT

View File

@ -486,6 +486,9 @@
, A.APLCT_CN , A.APLCT_CN
, A.RSLT_ATCH_FILE_ID , A.RSLT_ATCH_FILE_ID
, A.EDU_MD_CD
, A.FEE_INSTT_CD
</select> </select>
<!-- 강사 정보 R --> <!-- 강사 정보 R -->

View File

@ -884,7 +884,7 @@
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchChrgNm"> <isNotEmpty property="searchChrgNm">
AND A.CHRG_NM LIKE '%' || #searchChrgNm# , '%') AND A.CHRG_NM LIKE '%' || #searchChrgNm# || '%'
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchStatusArr"> <isNotEmpty property="searchStatusArr">
@ -3805,6 +3805,7 @@
, A.hope_sbjct AS hopeSbjct , A.hope_sbjct AS hopeSbjct
, A.INSTT_DIV_CD AS insttDivCd , A.INSTT_DIV_CD AS insttDivCd
, A.EDU_SLCT_CD AS eduSlctCd , A.EDU_SLCT_CD AS eduSlctCd
, A.APRVL_CD AS eduAprvlCd
, B.EDU_CHASI_ORD AS eduChasiOrd , B.EDU_CHASI_ORD AS eduChasiOrd
/* /*
, TO_CHAR(B.EDU_HOPE_DT,'YYYY.MM.DD') AS eduHopeDt , TO_CHAR(B.EDU_HOPE_DT,'YYYY.MM.DD') AS eduHopeDt
@ -6378,9 +6379,27 @@ VALUES
, aplct_pnttm = SYSDATE , aplct_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId# , last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = SYSDATE , last_updt_pnttm = SYSDATE
<isNotEmpty property="eduCmpltCrtfcNmbr">
, EDU_CMPLT_CRTFC_NMBR = #eduCmpltCrtfcNmbr# <isEqual property="eduCmpltCrtfcNmbr" compareValue="DEL">
</isNotEmpty> , 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 WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd# prcs_aplct_prd_ord = #prcsAplctPrdOrd#
AND edu_aplct_ord = #eduAplctOrd# AND edu_aplct_ord = #eduAplctOrd#

View File

@ -133,15 +133,38 @@
TO_CHAR(a.state_pnttm, 'YYYY') ||'-'||a.docu_nmbr||'호' AS docuNmbrDp , TO_CHAR(a.state_pnttm, 'YYYY') ||'-'||a.docu_nmbr||'호' AS docuNmbrDp ,
b.INSTR_NM AS instrNm , b.INSTR_NM AS instrNm ,
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/> <include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
, c.cnt
, c.chasiSum
FROM FROM
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a <include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
JOIN ve_instr_detail b JOIN ve_instr_detail b
ON a.user_id = b.user_id ON a.user_id = b.user_id
AND a.instr_detail_ord = b.instr_detail_ord AND a.instr_detail_ord = b.instr_detail_ord
left outer join
(
SELECT c.USER_ID AS userId
, count(*) AS cnt
, sum(b.chasi) AS chasiSum
FROM ve_edu_aplct a
, ve_edu_chasi b
, ve_edu_chasi_instr_asgnm c
WHERE a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
AND b.EDU_APLCT_ORD =c.EDU_APLCT_ORD
AND b.EDU_CHASI_ORD =c.EDU_CHASI_ORD
AND a.aprvl_cd='60'
AND c.asgnm_aprvl_Cd='30'
GROUP BY c.USER_ID
)c
on(
a.user_id=c.userId
)
WHERE WHERE
1=1 1=1
AND a.docu_nmbr IS not null AND a.docu_nmbr IS not null
<isNotEmpty prepend="AND" property="searchKeyword"> <isNotEmpty prepend="AND" property="searchKeyword">
b.INSTR_NM = #searchKeyword# b.INSTR_NM = #searchKeyword#
</isNotEmpty> </isNotEmpty>

View File

@ -1063,10 +1063,12 @@
AND d.use_yn='Y' AND d.use_yn='Y'
) )
WHERE 1=1 WHERE 1=1
AND a.use_yn='Y'
AND a00.instrDiv =a.instr_div AND a00.instrDiv =a.instr_div
AND a00.userId =a.user_id AND a00.userId =a.user_id
AND a00.instrDetailOrd=a.instr_detail_ord AND a00.instrDetailOrd=a.instr_detail_ord
AND userId IN AND a00.userId IN
<iterate property="userIdList" open="(" close=")" conjunction=","> <iterate property="userIdList" open="(" close=")" conjunction=",">
#userIdList[]# #userIdList[]#
</iterate> </iterate>

View File

@ -649,7 +649,9 @@
LETTNQESTNRRSLTDETAIL lersltD LETTNQESTNRRSLTDETAIL lersltD
WHERE WHERE
lersltD.respond_id = a.USER_ID lersltD.respond_id = a.USER_ID
AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1 AND a.edu_aplct_ord = lersltD.edu_aplct_ord
AND i.qestnr_id_10 = lersltD.qestnr_id
) THEN 1
ELSE 0 ELSE 0
END AS qestRsltExists END AS qestRsltExists
@ -726,7 +728,7 @@
FROM FROM
LETTNQESTNRINFO a LETTNQESTNRINFO a
WHERE WHERE
a.SITE_ID = '10' a.SITE_ID = #siteId#
AND a.SITE_ID_CD IN ('10', '20', '30') AND a.SITE_ID_CD IN ('10', '20', '30')
AND TO_CHAR(SYSDATE, AND TO_CHAR(SYSDATE,
'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde, 'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde,
@ -775,6 +777,331 @@
</select> </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') > NVL(vpap.edu_ddln_pnttm,vpap.edu_strt_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"> <select id="VEPrcsAplctPrdDAO.findAllDashboardCnt" parameterClass="VEPrcsDetailVO" resultClass="java.util.HashMap">
/* /*

View File

@ -18,7 +18,7 @@
, a.qustnr_endde qustnrEndde , a.qustnr_endde qustnrEndde
, a.qustnr_trget qustnrTrget , a.qustnr_trget qustnrTrget
, a.qustnr_tmplat_id qustnrTmplatId , a.qustnr_tmplat_id qustnrTmplatId
, a.frst_regist_pnttm frstRegisterPnttm , TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') frstRegistPnttm
, a.frst_register_id , a.frst_register_id
, (select user_nm from comvnusermaster where esntl_id = a.frst_register_id) frstRegisterNm , (select user_nm from comvnusermaster where esntl_id = a.frst_register_id) frstRegisterNm
, a.last_updt_pnttm , a.last_updt_pnttm
@ -54,6 +54,9 @@
</isEqual> </isEqual>
</isNotEqual> </isNotEqual>
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND a.site_id = #searchConditionSite#
</isNotEmpty>
ORDER BY 1 ORDER BY 1
<isNotEmpty property="searchSortCnd"> <isNotEmpty property="searchSortCnd">
,$searchSortCnd$ ,$searchSortCnd$

View File

@ -34,9 +34,12 @@
, vadi.edu_cmplt_crtfc_nmbr AS eduCmpltCrtfcNmbr , vadi.edu_cmplt_crtfc_nmbr AS eduCmpltCrtfcNmbr
*/ */
, NVL(vadi.edu_cmplt_crtfc_nmbr,'이수번호발급전') AS eduCmpltCrtfcNmbr , NVL(vadi.edu_cmplt_crtfc_nmbr,'이수번호발급전') AS eduCmpltCrtfcNmbr
/*
, to_char(sysdate, 'YYYYMMDD') AS rd , to_char(sysdate, 'YYYYMMDD') AS rd
*/
, to_char(NVL(vadi.aplct_pnttm,sysdate), 'YYYYMMDD') AS rd
, vi.DESC_1 AS desc1 , NVL(vi.DESC_1,'') AS desc1
, vi.DESC_2 AS desc2 , vi.DESC_2 AS desc2
, vi.DESC_3 AS desc3 , vi.DESC_3 AS desc3
, vi.DESC_4 AS desc4 , vi.DESC_4 AS desc4

View File

@ -364,8 +364,8 @@
viewer.hideToolbarItem(["save"]); viewer.hideToolbarItem(["save"]);
viewer.showToolbarItem(["print_pdf"]); viewer.showToolbarItem(["print_pdf"]);
viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']'); //viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
// viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn='+v_searchQlfctEndYn+'&p_searcDivCd='+v_searcDivCd+'&p_searchKeyword='+v_searchKeyword+']'); viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.32:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax_v2.do?userIdList='+userIdList+']');
} }
</script> </script>

View File

@ -172,13 +172,12 @@
<colgroup> <colgroup>
<col style="width: 60px;"> <col style="width: 60px;">
<col style="width: 150px;"> <col style="width: 150px;">
<col style="width: 60px;"> <col style="width: 120px;">
<col style="width: 120px;">
<col style="width: 120px;">
<col style="width: 120px;">
<col style="width: 120px;">
<col style="width: auto;"> <col style="width: auto;">
<col style="width: 150px;">
<col style="width: 120px;">
<col style="width: 120px;">
<col style="width: 120px;">
<col style="width: 120px;">
<%-- <col style="width: 10%;"> --%> <%-- <col style="width: 10%;"> --%>
<%-- <col style="width: 10%;"> --%> <%-- <col style="width: 10%;"> --%>
@ -187,14 +186,14 @@
<thead> <thead>
<tr> <tr>
<th>번호</th> <th>번호</th>
<th>강사명</th> <th>항목</th>
<th>성별</th>
<th>용도</th>
<th>사업자명<br/>사업자등록번호</th>
<th>신청일</th>
<th>처리일</th>
<th>문서번호</th> <th>문서번호</th>
<th>발급상태</th> <th>횟수</th>
<th>차시</th>
<th>성명</th>
<th>발급일자</th>
<th>비고</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -204,33 +203,7 @@
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/> <c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</td> </td>
<td> <td>
<c:out value="${list.instrNm }" /> 강사활동확인서
</td>
<td>
<c:out value="${list.sex }" />
</td>
<td>
<c:out value="${list.purpose }" />
</td>
<td>
<c:out value="${list.bsnsNm }" />
<br/>
(<c:out value="${list.bsnsNmbr }" />)
</td>
<td>
<c:out value="${list.aplctPnttm }" />
</td>
<td>
<c:choose>
<c:when test="${list.stateCd eq 10 }">
-
</c:when>
<c:otherwise>
<c:out value="${list.statePnttm }" />
</c:otherwise>
</c:choose>
</td> </td>
<td> <td>
<c:choose> <c:choose>
@ -243,7 +216,21 @@
</c:choose> </c:choose>
</td> </td>
<td> <td>
<ve:code codeId="VEA011" code="${list.stateCd}"/> <c:out value="${list.cnt }" />
</td>
<td>
<c:out value="${list.chasiSum }" />
</td>
<td>
<c:out value="${list.instrNm }" />
</td>
<td>
<c:out value="${list.aplctPnttm }" />
</td>
<td>
-
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>

View File

@ -207,13 +207,18 @@
</c:forEach> </c:forEach>
</select> </select>
</c:if> </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"> <select class="sel_type1" name="searchCondition" id="searchCondition">
<option value=''>선택하세요</option> <option value=''>선택하세요</option>
<option value='QUSTNR_SJ' <c:if test="${searchCondition == 'QUSTNR_SJ'}">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="${searchCondition == 'FRST_REGISTER_ID'}">selected</c:if>>작성자명</option> <option value='FRST_REGISTER_ID' <c:if test="${searchVO.searchCondition == 'FRST_REGISTER_ID'}">selected</c:if>>등록자</option>
</select> </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> <button class="btn_type08" onclick="fn_egov_search_QustnrManage(); return false;">검색</button>
<select name="pageUnit" class="sel_type1" id="pageUnit" onchange="linkPage(1);" title="줄 선택"> <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> <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: 7%">
<col style="width: 12%"> <col style="width: 12%">
<col style="width: 17%"> <col style="width: 17%">
<col style="width: 18%"> <col style="width: 10%">
<col style="width: 8%">
<col style="width: 8%"> <col style="width: 8%">
<col style="width: 8%"> <col style="width: 8%">
</colgroup> </colgroup>
@ -250,6 +256,7 @@
<th>등록자</th> <th>등록자</th>
<th>설문기간</th> <th>설문기간</th>
<th>사용처</th> <th>사용처</th>
<th>등록일시</th>
<th>대상</th> <th>대상</th>
<th>삭제</th> <th>삭제</th>
</tr> </tr>
@ -281,6 +288,7 @@
<a href="#" onclick="fn_egov_modify_QustnrManage('${resultInfo.qestnrId}'); return false;"> <a href="#" onclick="fn_egov_modify_QustnrManage('${resultInfo.qestnrId}'); return false;">
<c:out value="${resultInfo.qustnrSj}" escapeXml="true"/> <c:out value="${resultInfo.qustnrSj}" escapeXml="true"/>
</a> </a>
(${resultInfo.qestnrId})
</td> </td>
<!-- <td> --> <!-- <td> -->
<%-- <input type="button" class="btnType2" value="미리보기" onclick="qustnrPopOpen(1,'${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%> <%-- <input type="button" class="btnType2" value="미리보기" onclick="qustnrPopOpen(1,'${resultInfo.qestnrId}','QTMPLA_0000000000001'); return false;"> --%>
@ -304,6 +312,7 @@
</c:when> </c:when>
</c:choose> </c:choose>
</td> </td>
<td>${resultInfo.frstRegistPnttm}</td>
<td> <td>
<kc:code codeId="VEA012" code="${resultInfo.siteIdCd}"/>(${resultInfo.siteIdCd}) <kc:code codeId="VEA012" code="${resultInfo.siteIdCd}"/>(${resultInfo.siteIdCd})
</td> </td>

View File

@ -120,6 +120,12 @@ function addRow(){
alert("질문유형이 만족도 평가에서는 문항을 추가 할 수 없습니다."); alert("질문유형이 만족도 평가에서는 문항을 추가 할 수 없습니다.");
return ; return ;
} }
if (itemTable.rows.length*1>=5){
alert("5문항까지만 추가가 가능합니다.");
return;
}
var oRow = itemTable.insertRow(); var oRow = itemTable.insertRow();
th = document.createElement('th'); th = document.createElement('th');
th.innerHTML = itemTable.rows.length;; th.innerHTML = itemTable.rows.length;;

View File

@ -19,6 +19,8 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<head> <head>
<script type="text/javascript"> <script type="text/javascript">
$( document ).ready(function() { $( document ).ready(function() {
@ -115,10 +117,10 @@
</div> </div>
<div class="inner_text" style="text-align: left;"> <div class="inner_text" style="text-align: left;">
<a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctList.do' />"> <a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctList.do' />">
<p><i></i>교육진행 <span>${tngrMap['tngrIng']}</span>건</p> <p><i></i>교육신청 <span>${tngrAplctCnt}</span>건</p>
</a> </a>
<a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do' />"> <a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육종료 <span>${tngrMap['tngrEnd']}</span>건</p> <p><i></i>교육완료 <span>${tngrEndCnt}</span>건</p>
</a> </a>
</div> </div>
</div> </div>
@ -130,10 +132,10 @@
</div> </div>
<div class="inner_text" style="text-align: left;"> <div class="inner_text" style="text-align: left;">
<a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do' />"> <a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do' />">
<p><i></i>교육진행 <span>${adultMap['adultIng']}</span>건</p> <p><i></i>교육신청 <span>${adultAplctCnt}</span>건</p>
</a> </a>
<a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduEnd/eduEndList.do' />"> <a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육종료 <span>${adultMap['adultEnd']}</span>건</p> <p><i></i>교육완료 <span>${adultEndCnt}</span>건</p>
</a> </a>
</div> </div>
</div> </div>
@ -193,7 +195,7 @@
<th>교육일</th> <th>교육일</th>
<th>신청유형</th> <th>신청유형</th>
<th>신청상태</th> <th>신청상태</th>
<th>설문</th> <th>강의평가</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -204,34 +206,34 @@
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td> <td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}"> <c:when test="${list.eduAprvlCd eq VeConstants.APRVL_CD_230}">
<span class="app_status1">대기</span> <span class="app_status1">대기</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span> <span class="app_status1">교육신청</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span> <span class="app_status2">교육승인</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span> <span class="app_status4">교육반려</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span> <span class="app_status4">교육취소</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span> <span class="app_status4">선정완료</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span> <span class="app_status3">수정요청</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span> <span class="app_status3">수정완료</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span> <span class="app_status1">교육확정</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_WAIT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_WAIT}">
<span class="app_status1">대기</span> <span class="app_status1">대기</span>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
@ -276,7 +278,7 @@
<th>교육일</th> <th>교육일</th>
<th>신청유형</th> <th>신청유형</th>
<th>신청상태</th> <th>신청상태</th>
<th>설문</th> <th>결과보고</th>
</tr> </tr>
</thead> </thead>
<c:forEach var="list" items="${adultList}" varStatus="status" begin="0" end="2"> <c:forEach var="list" items="${adultList}" varStatus="status" begin="0" end="2">
@ -286,34 +288,34 @@
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td> <td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}"> <c:when test="${list.eduAprvlCd eq VeConstants.APRVL_CD_230}">
<span class="app_status1">대기</span> <span class="app_status1">대기</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span> <span class="app_status1">교육신청</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span> <span class="app_status2">교육승인</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span> <span class="app_status4">교육반려</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span> <span class="app_status4">교육취소</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span> <span class="app_status4">선정완료</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span> <span class="app_status3">수정요청</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span> <span class="app_status3">수정완료</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span> <span class="app_status1">교육확정</span>
</c:when> </c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_WAIT}"> <c:when test="${list.eduAprvlCd eq VeConstants.STATUS_CD_WAIT}">
<span class="app_status1">대기</span> <span class="app_status1">대기</span>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
@ -323,7 +325,7 @@
</td> </td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${not empty list.qustnrRespondId}"> <c:when test="${not empty list.rsltAtchFileId}">
제출 제출
</c:when> </c:when>
<c:otherwise> <c:otherwise>

View File

@ -214,7 +214,7 @@
<span>결과보고</span> <span>결과보고</span>
<span> <span>
<c:choose> <c:choose>
<c:when test="${not empty list.qustnrRespondId}"> <c:when test="${not empty list.rsltAtchFileId}">
제출 제출
</c:when> </c:when>
<c:otherwise> <c:otherwise>

View File

@ -0,0 +1,634 @@
<%--
Class Name : qustnrFndtnPopList.jsp
Description : 설문팝업
Modification Information
1.강의 종류(청소년, 성인 ... VE0011) 및 설문 종류 (10-기본, 20-신청자, 30-강사) 및 상태(등록, 완료) 에 맞는 설문 레이어 팝업을 만든다.
수정일 수정자 수정내용
------- -------- ---------------------------
2021.12.02 조용준 내용
author : 조용준
since : 2021.12.02
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<script type="text/javaScript" language="javascript">
/*
function fncGoScholList(){
linkPage(1);
}
function linkPage(pageNo){
var data = {
pageIndex : pageNo,
searchKeyword : $("#searchKeyword").val(),
searchCondition : $("#searchCondition").val(),
pageUnit : 5,
formId : $("#formId").val(),
}
fncScholList(data);
}
function fncScholList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : $("#formId").val(),
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
, 500
, 600
, paramObj
, "N"
, "scholPop"
);
}
*/
function fncScholDataSlct_back(p_code, p_nm){
var fNm = "#"+$("#formId").val();
$(fNm + " #stndrdScholCd").val(p_code);
$(fNm + " #scholInsttNm").val(p_nm);
$(".btn_popup_close").click();
}
function fncScholDataSlct(thisObj){
var inObj = $(thisObj).closest("td").find("input[type=hidden]");
var rsObj = new Object();
$.each(inObj, function(idx, value){
console.log(value.value);
rsObj[value.name] = value.value;
});
callBackSchPop(rsObj);
$(".btn_popup_close").click();
}
function replyCalculation(){
/*
var qestnrParticipant = $("#qestnrParticipant").val(); //참석자 수량
var qestnrRespondent = $("#qestnrRespondent").val(); //응답자 수량
if(qestnrParticipant == "" || qestnrParticipant == null){
alert("참석자 수량을 넣어주세요");
$("#qestnrParticipant").focus();
return
}
if(qestnrRespondent == "" || qestnrRespondent == null){
alert("응답자 수량을 넣어주세요");
$("#qestnrParticipant").focus();
return
}
if(Number(qestnrParticipant) < Number(qestnrRespondent)){
alert("응답자 수량이 참석자 수량보다 많습니다.");
$("#qestnrParticipant").focus();
return
}
var responseRateTxt = (Number(qestnrRespondent) / Number(qestnrParticipant)*Number(100)).toFixed(1);
$("#responseRate").text(responseRateTxt + "%");
$("#noResponse").text(Number(qestnrParticipant) - Number(qestnrRespondent));
*/
}
function popupSrvySendSubmit(){
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();
return
}
if(qestnrRespondent == null || qestnrRespondent == ""){
alert("응답자 수량을 넣어주세요");
$("#qestnrRespondent").focus();
return
}
if(qestnrParticipant < qestnrRespondent){
alert("응답자 수량이 참석자 수보다 많습니다 확인해 주세요");
$("#qestnrRespondent").focus();
return
}
*/
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();
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);
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("설문결과를 등록 하시겠습니까?")){
// var frm = document.newSrvyPopupForm;
var data = new FormData(document.getElementById("newSrvyPopupForm"));
$.ajax({
type:"POST"
//,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
,processData: false
,contentType: false
,cache: false
,success:function(returnData){
if(returnData.result == 'success'){
//alert("설문결과가 등록 되었습니다.");
fn_statusChg();
//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);
}
});
}
}
// 기반 / 기소 공통
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();
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
activeTarget.hide();
$('[data-tooltip="sub01_pop02"]').focus();
});
//레이어팝업 초정 이동 시 필요한 data 값 추가
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
btnLast.attr('data-focus-next','sub36_pop02');
btnLast.attr('data-focus','sub36_pop02_close');
*/
})
</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="siteId" id="siteId" value="${vEEduChasiVO.siteId}">
<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>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type02">
<!--
<table>
<caption>교육일, 차시, 구분, 대상, 배정강사, 인원, 설문완료 여부 등의 정보제공</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 8%;">
<col style="width: 10%;">
</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>
<tr>
<th scope="row" id="popupEduHopeDt">
<c:out value="${chasiInfo.eduHopeDt}" />
</th>
<td id="popupTm">
<c:out value="${chasiInfo.strtTm}" />~<c:out value="${chasiInfo.endTm}" />
</td>
<td id="popupDivCd">
<c:out value="${chasiInfo.divCd}" />
</td>
<td id="popupTrgt">
<c:out value="${chasiInfo.trgt}" />
</td>
<td id="popupInstrNm">
<c:out value="${chasiInfo.instrNm}" />
</td>
<td id="popupPrsnl">
<c:out value="${chasiInfo.prsnl}" />
</td>
<td id="popupSrvyStatus">
<c:choose>
<c:when test="${qestnrParticipant eq '' or qestnrParticipant eq null}">
설문진행중
</c:when>
<c:otherwise>
설문완료
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
<br/>
<br/>
-->
<!--
<table>
<caption>참석자, 응답율, 응답자, 무응답에 대한 정보를 제공/입력</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto;">
<col style="width: 120px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>참석자</p>
</th>
<td>
<label for="qestnrParticipant" class="label">참석자 수 입력</label>
<input type="text" numberOnly class="popupInput" style="width: 50%;"
id="qestnrParticipant" name="qestnrParticipant" value="<c:out value="${qestnrParticipant}" />">
</td>
<th scope="row">
<p>응답율</p>
</th>
<td id="responseRate">-</td>
</tr>
<tr>
<th scope="row">
<p>응답자</p>
</th>
<td>
<label for="qestnrRespondent" class="label">응답자 수 입력</label>
<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>
</th>
<td id="noResponse">-</td>
</tr>
</tbody>
</table>
<br/>
<br/>
-->
<table>
<caption>평가문항, 매우만족, 만족, 보통, 불만족, 매우 불만족 입력</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th scope="col">평가문항</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<c:forEach items="${chasiSrvyList}" var="QestmInfo" varStatus="status1">
<c:set var="setQustnrRsltId" value="${QestmInfo.qustnrRsltId}"/>
<input type="hidden" name="qustnrQesitmId" value="${QestmInfo.qustnrQesitmId}">
<tr>
<th scope="row" class="t_left">
${status1.count}) <c:out value="${QestmInfo.qestnCn}" escapeXml="false" />
<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.qustnrQesitmId}">
</th>
<td style="text-align:left;">
<br/>
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
<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="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="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="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="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>
</tbody>
</table>
<br/>
<br/>
<c:choose>
<c:when test="${empty setQustnrRsltId}">
<!-- 응답이 없다. -->
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" id="popupSubmin" onclick="popupSrvySendSubmit();">제출</button>
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</c:when>
<c:otherwise>
<!-- 응답이 있다. -->
<script>
replyCalculation();
</script>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</c:otherwise>
</c:choose>
<!--
<table>
<caption>학교명 검색 학교급, 지역, 행정구, 선택 을/를 제공하는 표</caption>
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th scope="col">학교급</th>
<th scope="col">지역</th>
<th scope="col">행정구</th>
<th scope="col">선택</th>
</tr>
</thead>
<tbody>
<c:forEach var="row" items="${scholList}" varStatus="status">
<tr>
<th scope="row"><c:out value="${row.scholGradeNm}" /></th>
<td><c:out value="${row.locNm}" /></td>
<td><c:out value="${row.newAddrDtl}" /></td>
<td class="c_ce4900">
<a href="#" onclick="fncScholDataSlct(this); return false;"><c:out value="${row.scholNm}" /></a>
<input type="hidden" name="scholId" value="${row.scholId}"/>
<input type="hidden" name="offcCd" value="${row.offcCd}"/>
<input type="hidden" name="offcNm" value="${row.offcNm}"/>
<input type="hidden" name="stndrdScholCd" value="${row.stndrdScholCd}"/>
<input type="hidden" name="scholNm" value="${row.scholNm}"/>
<input type="hidden" name="scholNmEng" value="${row.scholNmEng}"/>
<input type="hidden" name="scholGradeNm" value="${row.scholGradeNm}"/>
<input type="hidden" name="locNm" value="${row.locNm}"/>
<input type="hidden" name="cptntOrgnzNm" value="${row.cptntOrgnzNm}"/>
<input type="hidden" name="estbsNm" value="${row.estbsNm}"/>
<input type="hidden" name="newZipcd" value="${row.newZipcd}"/>
<input type="hidden" name="newAddr" value="${row.newAddr}"/>
<input type="hidden" name="newAddrDtl" value="${row.newAddrDtl}"/>
<input type="hidden" name="telNum" value="${row.telNum}"/>
<input type="hidden" name="homepage" value="${row.homepage}"/>
<input type="hidden" name="coeduDivsnNm" value="${row.coeduDivsnNm}"/>
<input type="hidden" name="faxNum" value="${row.faxNum}"/>
<input type="hidden" name="hsDivsnNm" value="${row.hsDivsnNm}"/>
<input type="hidden" name="indSpclCls" value="${row.indSpclCls}"/>
<input type="hidden" name="hsTypeNm" value="${row.hsTypeNm}"/>
<input type="hidden" name="spclPrpsHsLineNm" value="${row.spclPrpsHsLineNm}"/>
<input type="hidden" name="exmPrdDivsnNm" value="${row.exmPrdDivsnNm}"/>
<input type="hidden" name="dnDvisnNm" value="${row.dnDvisnNm}"/>
<input type="hidden" name="estbsDt" value="${row.estbsDt}"/>
<input type="hidden" name="scholDivCd" value="${row.scholDivCd}"/>
<input type="hidden" name="isltnScholYn" value="${row.isltnScholYn}"/>
<input type="hidden" name="isltnYn" value="${row.isltnYn}"/>
<input type="hidden" name="isltn2Yn" value="${row.isltn2Yn}"/>
<input type="hidden" name="isltn3Yn" value="${row.isltn3Yn}"/>
<input type="hidden" name="ppltnReducAreaYn" value="${row.ppltnReducAreaYn}"/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
-->
<br/>
<br/>
</div>
</div>
</div>
</div>
</form>

View File

@ -49,7 +49,7 @@ $(document).ready(function(){
} }
} }
function linkPage(pageNo){ function linkPageTop(pageNo){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'/>"; listForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'/>";
@ -65,7 +65,7 @@ $(document).ready(function(){
function fncGoList(){ function fncGoList(){
linkPage(1); linkPageTop(1);
} }
function fncReset(thisObj){ function fncReset(thisObj){
@ -277,7 +277,39 @@ $(document).ready(function(){
}); });
} }
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "50" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
</script> </script>
<!-- content --> <!-- content -->
@ -375,34 +407,78 @@ $(document).ready(function(){
</c:choose> </c:choose>
</td> </td>
<td> <td>
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
<c:choose> <!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
<c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> <%-- <c:choose> --%>
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> <%-- <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> --> <!-- <button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> -->
</c:when> <%-- </c:when> --%>
<c:when test="${list.aplctStateCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> <%-- <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> <%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button> --%>
</c:when> <%-- </c:when> --%>
<c:otherwise> <%-- <c:otherwise> --%>
- <!-- - -->
</c:otherwise> <%-- </c:otherwise> --%>
</c:choose> <%-- </c:choose> --%>
</td>
<td>
<c:choose> <c:choose>
<c:when test="${list.qestRsltExists }"> <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}">
<button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button> <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
</c:when>
<c:when test="${list.aplctStateCd eq 20 and not list.qestRsltExists}"> <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.aprvlCd 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>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<!-- 설문노출대상 아님 -->
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td>
<td>
<c:choose>
<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>
-
</c:otherwise>
</c:choose>
</td> </td>
<!-- <td>-</td> --> <!-- <td>-</td> -->
</tr> </tr>
@ -426,7 +502,7 @@ $(document).ready(function(){
<!-- page --> <!-- page -->
<div class="page"> <div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPageTop" />
</div> </div>
</form:form> </form:form>
</div> </div>
@ -523,7 +599,7 @@ $(document).ready(function(){
viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']' viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']'
, {clientSidePdf: {embeddedFont: true}}); , {clientSidePdf: {embeddedFont: true}});
*/ */
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']'); //viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://192.168.0.32:3080/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']'); viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
} }

View File

@ -185,6 +185,42 @@
}); });
} }
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "50" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
</script> </script>
<!-- content --> <!-- content -->
@ -255,29 +291,31 @@
</td> </td>
<td><kc:code codeId="VE0003" code="${list.aprvlCd}"/></td> <td><kc:code codeId="VE0003" code="${list.aprvlCd}"/></td>
<td> <td>
<c:choose>
<c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20 and list.dateChk eq 1}">
<!-- <%-- <c:choose> --%>
<button type="button" class="btnType02" data-tooltip="sub37_pop20" <%-- <c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20 and list.dateChk eq 1}"> --%>
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduPrcsOrd}','10','select' <!--
,'${list.qustnrTmplatId}','${list.qestnrId10}','' <!-- <button type="button" class="btnType02" data-tooltip="sub37_pop20" -->
)" title="팝업 열림">설문완료</button> <!-- onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduPrcsOrd}','10','select' -->
--> <!-- ,'${list.qustnrTmplatId}','${list.qestnrId10}','' -->
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문완료</button> <!-- )" title="팝업 열림">설문완료</button> -->
</c:when> <!-- -->
<c:when test="${not empty list.qestnrId10 and list.aprvlCd eq 20 and list.dateChk eq 1}"> <%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문완료</button> --%>
<!-- <%-- </c:when> --%>
<button type="button" class="btnType01" data-tooltip="sub37_pop20" <%-- <c:when test="${not empty list.qestnrId10 and list.aprvlCd eq 20 and list.dateChk eq 1}"> --%>
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduPrcsOrd}','10','insert' <!--
,'${list.qustnrTmplatId}','${list.qestnrId10}','' <!-- <button type="button" class="btnType01" data-tooltip="sub37_pop20" -->
)" title="팝업 열림">설문등록</button> <!-- onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduPrcsOrd}','10','insert' -->
--> <!-- ,'${list.qustnrTmplatId}','${list.qestnrId10}','' -->
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> <!-- )" title="팝업 열림">설문등록</button> -->
</c:when> <!-- -->
<c:otherwise> <%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> --%>
해당설문없음 <%-- </c:when> --%>
</c:otherwise> <%-- <c:otherwise> --%>
</c:choose> <!-- 해당설문없음 -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 --> <!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
@ -293,20 +331,73 @@
<%-- </c:otherwise> --%> <%-- </c:otherwise> --%>
<%-- </c:choose> --%> <%-- </c:choose> --%>
<c:choose>
<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.aprvlCd 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>
</c:when>
<c:otherwise>
<!-- 설문노출대상 아님 -->
-
</c:otherwise>
</c:choose>
</td> </td>
<td> <td>
<%-- <c:choose> --%>
<%-- <c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20 and list.dateChk eq 1}"> --%>
<%-- <button type="button" title="출력" class="btnType03" onclick="fncCmpltCrtfc('<c:out value="${list.prcsOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">출력</button> --%>
<%-- </c:when> --%>
<%-- <c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20}"> --%>
<!-- 교육완료 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- - -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<c:choose> <c:choose>
<c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20 and list.dateChk eq 1}"> <c:when test="${list.qestnrId10Cnt gt 0}">
<button type="button" title="출력" class="btnType03" onclick="fncCmpltCrtfc('<c:out value="${list.prcsOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">출력</button> <button type="button" title="이수증"
style="height:30px;width:73px;"
class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
</c:when> </c:when>
<c:when test="${list.qustnrQesitmId10Cnt gt 0 and list.aprvlCd eq 20}"> <c:when test="${list.aplctStateCd eq 20 and not list.qestRsltExists}">
교육완료 설문등록 후 발급
</c:when> </c:when>
<c:otherwise> <c:otherwise>
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>
@ -470,7 +561,6 @@
<tbody id="qestnTbody"> <tbody id="qestnTbody">
</tbody> </tbody>
</table> </table>
</div>
<div class="pop_btn_wrap btn_layout01"> <div class="pop_btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
@ -486,6 +576,10 @@
<div class="btn_right"> <div class="btn_right">
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -107,6 +107,41 @@
form.submit(); form.submit();
} }
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
</script> </script>
<!-- content --> <!-- content -->
@ -149,7 +184,7 @@
<col style="width:;"> <col style="width:;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <col style="width:13%;">
<col style="width:13%;"> <%-- <col style="width:13%;"> --%>
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
@ -157,7 +192,7 @@
<th>교육일자</th> <th>교육일자</th>
<th>신청결과</th> <th>신청결과</th>
<th>설문조사</th> <th>설문조사</th>
<th>이수증</th> <!-- <th>이수증</th> -->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -174,18 +209,59 @@
<td><kc:code codeId="VE0003" code="${list.aprvlCd}"/></td> <td><kc:code codeId="VE0003" code="${list.aprvlCd}"/></td>
<td> <td>
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 --> <!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
<%-- <c:choose> --%>
<%-- <c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> --%>
<!-- <button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> -->
<%-- </c:when> --%>
<%-- <c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> --%>
<!-- 설문완료 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- - -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<c:choose> <c:choose>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}">
<button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
</c:when>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> <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.aprvlCd 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>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<!-- 설문노출대상 아님 -->
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<!--
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.qestRsltExists }"> <c:when test="${list.qestRsltExists }">
@ -199,6 +275,7 @@
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
-->
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">

View File

@ -372,6 +372,39 @@ $(document).ready(function(){
}); });
} }
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
</script> </script>
<!-- content --> <!-- content -->
@ -514,49 +547,62 @@ $(document).ready(function(){
list.aplctStateCd ne 30 list.aplctStateCd ne 30
list.aprvlCd ne 40 list.aprvlCd ne 40
--> -->
<%-- <c:choose> --%>
<%-- <c:when test="${list.aprvlCd eq 20 --%>
<%-- and list.dateChk eq 1 --%>
<%-- and not list.qestRsltExists --%>
<%-- and list.aplctStateCd ne 30 --%>
<%-- and list.aprvlCd ne 40 --%>
<%-- }"> --%>
<%-- <button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> --%>
<%-- </c:when> --%>
<%-- <c:when test="${list.aprvlCd 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:choose>
<c:when test="${list.aprvlCd eq 20 <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}">
and list.dateChk eq 1 <!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
and not list.qestRsltExists
and list.aplctStateCd ne 30 <c:choose>
and list.aprvlCd ne 40
}"> <c:when test="${list.qestnrId10Cnt gt 0}">
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','insert')" title="팝업 열림">설문등록</button> <!-- 작성된 설문이 있다 -->
</c:when> <button type="button" class="btnType02" data-tooltip="sub37_pop20"
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="selectQestnInfo('${list.eduAplctOrd}','update')" title="팝업 열림">설문수정</button> ,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문완료</button>
</c:when>
<c:when test="${empty list.qestnrId10 and list.aprvlCd 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>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<!-- 설문노출대상 아님 -->
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<!-- <td> -->
<!--
취소상태
list.aplctStateCd ne 30
list.aprvlCd ne 40
-->
<%-- <c:choose>
<c:when test="${list.qestRsltExists }">
<button type="button" title="출력" class="btnType03">출력</button>
</c:when>
<c:when test="${list.dateChk eq 1
and not list.qestRsltExists
and list.aplctStateCd ne 30
and list.aprvlCd ne 40
}">
교육완료
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose> --%>
<%-- <button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button> --%>
<!-- </td> -->
<!-- <td>-</td> -->
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">