This commit is contained in:
myname 2023-11-27 18:45:13 +09:00
commit 256097fe17
31 changed files with 3186 additions and 246 deletions

View File

@ -856,6 +856,31 @@ public class EduEndAdultController {
}
@RequestMapping("eduEndQustnrNoLoginDetail.do")
public String eduEndQustnrNoLoginDetail(
ModelMap model
, HttpServletRequest request
) throws Exception {
//설문 정보
try {
model = qustnrCommonUtil._qustnrQesItm(
model
, VeConstants.LCTR_DIV_CD_20 //청소년 -10, 성인-20, ...VE0012
, "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012
, "QTMPLA_0000000000001"
, vEALettnQestnrMIXService
, egovQustnrRespondInfoService
);
}catch(Exception ex) {
ex.printStackTrace();
}
return "/web/ve/comm/eduEndQustnrNoLoginDetail";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//

View File

@ -321,6 +321,10 @@ public class FndtnEnhanceTrnController {
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
t.setAprvlCd(vEEduAplctVO.getAprvlCd());
}
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getEduAplctOrd())) {
t.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
}
});
}
//대상 리스트, 페이징 정보 전달
@ -513,7 +517,11 @@ public class FndtnEnhanceTrnController {
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId());
if(StringUtil.isEmpty(vEPrcsDetailVO.getEduAplctOrd())) {
vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId());
}else {
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
}
vEEduAplctVO.setLctrDivCd("50"); // 기반강화
vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려
@ -869,7 +877,58 @@ public class FndtnEnhanceTrnController {
}
/**
* 기반강화 찜하기
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduGgimAjax.do")
public ModelAndView eduGgimAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
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 로그인 정보 가져오기
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId());
vEEduAplctVO.setLctrDivCd("50"); // 기반강화
vEEduAplctVO.setAprvlCd("100"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려, 100 - 찜하기
// sbmt_pnttm 제출일시
vEEduAplctVO.setSbmtYn("Y"); // 제출여부
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId());
// frst_regist_pnttm
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
fndtnEnhanceTrnService.insertVeEduAplct(vEEduAplctVO);
modelAndView.addObject("result", "success");
return modelAndView;
}

View File

@ -954,6 +954,30 @@ public class EduEndTngrController {
}
@RequestMapping("eduEndQustnrNoLoginDetail.do")
public String eduEndQustnrNoLoginDetail(
ModelMap model
, HttpServletRequest request
) throws Exception {
//설문 정보
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/comm/eduEndQustnrNoLoginDetail";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//

View File

@ -1,7 +1,6 @@
package kcc.ve.instr.fndtnVisitEdu.asgnmInfo.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -11,39 +10,21 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.IpUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
@Controller
@ -77,7 +58,9 @@ public class VEFndtnAsgnmController {
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do")
@ -115,6 +98,7 @@ public class VEFndtnAsgnmController {
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
@ -126,8 +110,8 @@ public class VEFndtnAsgnmController {
//
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
@ -207,7 +191,71 @@ public class VEFndtnAsgnmController {
return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail";
}
// 기반강화 강의목록(종료) > 상세
@RequestMapping("/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.do")
public String instrEduEndDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail";
}
//성인강사 강의 요청 상세

View File

@ -29,6 +29,7 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
@ -93,6 +94,10 @@ public class VEFndtnEduEndController {
@Resource(name = "schduleManageService")
private SchduleManageService schduleManageService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
@ -136,6 +141,8 @@ public class VEFndtnEduEndController {
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("END"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
vEPrcsDetailVO.setEndPnttm("Y"); //종료 완료건만 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
@ -147,7 +154,8 @@ public class VEFndtnEduEndController {
//
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3

View File

@ -0,0 +1,680 @@
package kcc.ve.instr.sspnIdtmt.asgnmInfo.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
@Controller
public class VESspnIdtmtAsgnmController {
// eGov 공통 메세지
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//과정 관리
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//과정차시 관리
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
//배정 MIX 정보
@Resource(name="vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do")
public String instrAsgnmList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//3.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//4. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
// System.out.println(session.getAttribute("menuNo").toString());
// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
//
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList";
}
// 기반강화 강의목록(확정) > 상세
@RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail";
}
// 기반강화 강의목록(종료) > 상세
@RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndDetail.do")
public String instrEduEndDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail";
}
//성인강사 강의 요청 상세
/*@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do")
public String instrAsgnmRqstDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
//강사료
VEInstrFeeAcmdtVO instrFee = new VEInstrFeeAcmdtVO();
instrFee.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
instrFee.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
instrFee = vEInstrFeeService.selectDetail(instrFee);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(instrFee.getSpecialWorkAllow())
+ Integer.parseInt(instrFee.getDistanceAllow())
+ Integer.parseInt(instrFee.getTrafficFee())
+ Integer.parseInt(instrFee.getAcmdtFee());
instrFee.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", instrFee);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail";
}
//성인강사 강의 추가요청 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do")
public String instrAsgnmAddRqstDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmAddRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail";
}
//성인강사 강의확정내역 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
//배정 교육 정보
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
// 강사 상세정보
VEInstrDetailVO vEInstrDetailVOInfo = new VEInstrDetailVO();
vEInstrDetailVOInfo.setInstrDiv("20");
vEInstrDetailVOInfo.setUserId(loginVO.getUniqId());
vEInstrDetailVOInfo.setUseYn("Y");
vEInstrDetailVOInfo = vEInstrDetailService.selectDetail(vEInstrDetailVOInfo);
vEInstrDetailVOInfo = egovCryptoUtil.decryptVEInstrDetailVO(vEInstrDetailVOInfo);
model.addAttribute("instrInfo", vEInstrDetailVOInfo);
//강사료 상세정보
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = new VEInstrFeeAcmdtVO();
vEInstrFeeAcmdtVO.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
vEInstrFeeAcmdtVO.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(vEInstrFeeAcmdtVO);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getBsnsTripFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getSpareFee());
vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", vEInstrFeeAcmdtVO);
//강의계획서 정보 가져오기
int fileCnt = 0;
List<FileVO> result = null;
if (vEInstrAsgnmVOInfo != null) {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vEInstrAsgnmVOInfo.getLctrPlanAtchFileId());
result = fileMngService.selectFileInfs(fileVO);
fileCnt = result.size();
}
else {
fileCnt = 0;
}
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", fileCnt);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
vEAsgnmNotiVO.setMenuNo("9991200");
}
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail";
}
*//**
* 강의계획서 제출 Ajax
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do")
public ModelAndView filePopupAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, HttpServletRequest request
, final MultipartHttpServletRequest multiRequest
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
//XXX_로 첨부파일 네이밍
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "FILE_", 0, "", "", "");
atchFileId = fileMngService.insertFileInfs(result);
}
try {
//결과 저장
vEInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
vEAsgnmMIXService.updateLctrPlan(vEInstrAsgnmVO);
}catch(Exception ex) {
System.out.println("Exception vEAsgnmMIXService.updateLctrPlan");
}
modelAndView.addObject("result", "success");
return modelAndView;
}
*//**
* 숙박신청 등록 처리
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do")
public ModelAndView acmdtRegPopAjax(
@ModelAttribute("vEInstrFeeAcmdtVO") VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
Boolean isSuccess = true;
String msg = "";
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEInstrFeeAcmdtVO.setFrstRegisterId(loginVO.getUniqId());
vEAcmdtAplctService.insert(vEInstrFeeAcmdtVO);
} catch (Exception ex) {
ex.printStackTrace();
isSuccess = false;
msg = ex.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
//성인강사 강의 요청 수락,거절 처리
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do")
public ModelAndView instrAsgnmRqstMdfyAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정테이블 확정 코드 수정
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.updateAsgnmCode(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
if("30".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
vEInstrAsgnmVO.setInstrCnfrmCd("Y");
vEInstrAsgnmVO.setInstrCnfrmId(loginVO.getUniqId());
vEAsgnmMIXService.updateChasiCode(vEInstrAsgnmVO);
}else if("40".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("10"); //거절
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}else if("60".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("40"); //변경요청
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}
modelAndView.addObject("result", "success");
return modelAndView;
}
//성인강사 강의 추가요청 등록
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do")
public ModelAndView instrAsgnmAddRqstAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정내역테이블 등록
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
modelAndView.addObject("result", "success");
return modelAndView;
}
*/
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// private function
//
//
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEPrcsDetailVO p_vEPrcsDetailVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
VEPrcsDetailVO p_vEPrcsDetailVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
p_vEPrcsDetailVO.setSearchSortOrd("desc");
}
return p_vEPrcsDetailVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -0,0 +1,225 @@
package kcc.ve.instr.sspnIdtmt.endInfo.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.web.EgovFileDownloadController;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.sch.service.SchduleManageService;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
@Controller
public class VESspnIdtmtEduEndController {
// eGov 공통 메세지
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//강사상세 정보
@Resource(name="vEInstrDetailService")
private VEInstrDetailService vEInstrDetailService;
//결과보고
@Resource(name="vEEduRsltRprtService")
private VEEduRsltRprtService vEEduRsltRprtService;
//배정 MIX 정보
@Resource(name="vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
//강의
@Resource(name="vEPrcsService")
private VEPrcsService vEPrcsService;
//강사료
@Resource(name="vEInstrFeeService")
private VEInstrFeeService vEInstrFeeService;
//숙박
@Resource(name="vEAcmdtAplctService")
private VEAcmdtAplctService vEAcmdtAplctService;
//VO /복호화
@Resource(name="egovCryptoUtil4VO")
private EgovCryptoUtil4VO egovCryptoUtil4VO;
// 파일첨부
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//파일 체크 util
@Resource(name = "checkFileUtil")
private CheckFileUtil checkFileUtil;
//NOTI 서비스
@Resource(name="vEAsgnmNotiService")
private VEAsgnmNotiService vEAsgnmNotiService;
//일정 정보
@Resource(name = "schduleManageService")
private SchduleManageService schduleManageService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
// 기소유예 강의목록(종료)
@RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do")
public String instrEduEndList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//3.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//4. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("END"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
vEPrcsDetailVO.setEndPnttm("Y"); //종료 완료건만 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
// System.out.println(session.getAttribute("menuNo").toString());
// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
//
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList";
}
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEPrcsDetailVO p_vEPrcsDetailVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
VEPrcsDetailVO p_vEPrcsDetailVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
p_vEPrcsDetailVO.setSearchSortOrd("desc");
}
return p_vEPrcsDetailVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@ -23,6 +24,9 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
//과정
@Resource(name="cmmUseDAO")
private CmmUseDAO cmmUseDAO;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//C
@ -86,6 +90,8 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
VEEduAplctVO vo = new VEEduAplctVO();
vo = vEEduAplctDAO.selectDetail(vEEduAplctVO);
decryptVEEduAplctVO(vo);
//교육확정 관리번호 추가
if("60".equals(vEEduAplctVO.getAprvlCd())) {
String mngNmbrDigits = "00000"; //관리번호 5자릿수로 만들기 변수
@ -135,6 +141,7 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
vEEduAplctVO.setMngNmbrOrd(vo.getMngNmbrOrd());
}
if(true) return 0;
return vEEduAplctDAO.statusUpdate(vEEduAplctVO);
}
@ -180,4 +187,10 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception {
vEEduAplctDAO.updateSbmtAtchFileId(paramVO);
}
private void decryptVEEduAplctVO(VEEduAplctVO vo) {
vo.setClphone(egovCryptoUtil.decrypt(vo.getClphone()));
vo.setEmail(egovCryptoUtil.decrypt(vo.getEmail()));
}
}

View File

@ -162,6 +162,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String insttNm;
private String instrNm;
private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디
@ -793,6 +795,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setInstrNm(String instrNm) {
this.instrNm = instrNm;
}
public String getLctrPlanRsltAtchFileId() {
return lctrPlanRsltAtchFileId;
}
public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) {
this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId;
}
}

View File

@ -920,10 +920,10 @@
#mberId#,
#password#,
#emplyrSttusCode#,
SYSTIMESTAMP,
SYSDATE,
#uniqId#,
SYSTIMESTAMP,
SYSTIMESTAMP
SYSDATE,
SYSDATE
)
</insert>

View File

@ -256,7 +256,7 @@
<!-- 강사 등록 C -->
<insert id="VEEduAplctDAO.insertVeEduAplct" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduAplctDAO.table_name"/> (
<!-- INSERT INTO <include refid="VEEduAplctDAO.table_name"/> (
EDU_APLCT_ORD,
LCTR_DIV_CD,
USER_ID,
@ -292,7 +292,86 @@
#chrgNm#,
#insttNm#,
#dBirth#
)
) -->
/* VEEduAplctDAO.insertVeEduAplct */
MERGE INTO <include refid="VEEduAplctDAO.table_name"/>
USING DUAL
ON(EDU_APLCT_ORD=#eduAplctOrd#)
WHEN NOT MATCHED THEN
INSERT
(
EDU_APLCT_ORD,
LCTR_DIV_CD,
USER_ID,
PRCS_ORD,
SBMT_YN,
SBMT_PNTTM,
APRVL_CD,
APRVL_PNTTM,
APRVL_CN,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
USE_YN,
CHRG_NM,
INSTT_NM,
D_BIRTH
)
VALUES(
#eduAplctOrd#,
#lctrDivCd#,
#userId#,
#prcsOrd#,
#sbmtYn#,
SYSDATE,
#aprvlCd#,
SYSDATE,
#aprvlCn#,
SYSDATE,
#frstRegisterId#,
'Y',
#chrgNm#,
#insttNm#,
#dBirth#
)
WHEN MATCHED THEN
UPDATE
SET last_updt_pnttm = SYSDATE
, last_updusr_id = #frstRegisterId#
<isNotEmpty property="lctrDivCd">
,LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="userId">
,USER_ID = #userId#
</isNotEmpty>
<isNotEmpty property="prcsOrd">
,PRCS_ORD = #prcsOrd#
</isNotEmpty>
<isNotEmpty property="sbmtYn">
,SBMT_YN = #sbmtYn#
,SBMT_PNTTM = sysdate
</isNotEmpty>
<isNotEmpty property="aprvlCd">
,APRVL_CD = #aprvlCd#
,APRVL_PNTTM = sysdate
</isNotEmpty>
<isNotEmpty property="aprvlCn">
,APRVL_CN = #aprvlCn#
</isNotEmpty>
<isNotEmpty property="chrgNm">
,CHRG_NM = #chrgNm#
</isNotEmpty>
<isNotEmpty property="insttNm">
,INSTT_NM = #insttNm#
</isNotEmpty>
<isNotEmpty property="dBirth">
,D_BIRTH = #dBirth#
</isNotEmpty>
</insert>

View File

@ -498,7 +498,11 @@
,a.edu_strt_pnttm AS eduStrtPnttm
,a.edu_ddln_pnttm AS eduDdlnPnttm
,b.prcs_cn AS prcsCn
,(SELECT lctr_plan_atch_file_id
FROM vea_prcs_aplct_prd_instr_asgnm
WHERE prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
)
AS lctrPlanRsltAtchFileId
FROM ve_prcs_aplct_prd a
, ve_prcs b

View File

@ -505,7 +505,22 @@
AND c.instr_nm = #srchKwd3_1#
</isNotEmpty>
<!-- 강사ID -->
<isNotEmpty property="userId">
AND c.user_id = #userId#
</isNotEmpty>
<!-- 실무역량강화, 기소유예의 종료 기준 구분 -->
<isNotEmpty property="endPnttm">
<isEqual property="lctrDivCd" compareValue="50">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(a.edu_ddln_pnttm, '.' , '')
</isEqual>
<isEqual property="lctrDivCd" compareValue="60">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(a.end_pnttm, '.' , '')
</isEqual>
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">

View File

@ -17,6 +17,7 @@
<pattern>/web/survey/jsontest.do</pattern> <!-- 사용자 설문 결과 팝업 -->
<pattern>/web/ve/aplct/tngrVisitEdu/lctrSrvy/lctrSrvyReg.do</pattern> <!-- 찾교 설문조사 화면 -->
<pattern>*/web/ve/**/*Popup*</pattern> <!-- 찾교 팝업(강사신청 반려 팝업) -->
<pattern>*/eduEndQustnrNoLoginDetail.do</pattern>
</decorator>

View File

@ -294,7 +294,17 @@
<td id="ddlnCdStts">
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
</tr>
<c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<tr>
<th scope="row">강의계획서</th>
<td id="ddlnCdStts">
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.lctrPlanRsltAtchFileId}" />
</c:import>
</td>
</tr>
</c:if>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>

View File

@ -62,6 +62,8 @@ $(document).ready(function (){
$("#full_9991000").parent('li').hide();
$("#99912000").parent('li').hide();
$("#full_99912000").parent('li').hide();
$("#99913000").parent('li').hide();
$("#full_99913000").parent('li').hide();
}else if("${instrDiv}" == 'adultInstrDiv'){
$("#99923000").parent('li').hide();
$("#full_99923000").parent('li').hide();

View File

@ -823,6 +823,24 @@
</tbody>
</table>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCode/qrcode.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCodeCustom.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function (){
var url = "";
url += "${pageContext.request.scheme}";
url += "://${pageContext.request.serverName}";
if("${pageContext.request.serverPort}" != '80' || "${pageContext.request.serverPort}" != '443' ){
url += ":${pageContext.request.serverPort}";
}
url += "${pageContext.request.contextPath}";
url += "/web/ve/aplct/adultVisitEdu/eduEnd/eduEndQustnrNoLoginDetail.do";
makeCode(url);
});
</script>
<div id="qrcode"></div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">

View File

@ -262,6 +262,16 @@
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<tr>
<th scope="row">강의계획서</th>
<td id="ddlnCdStts">
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.lctrPlanRsltAtchFileId}" />
</c:import>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>

View File

@ -143,6 +143,32 @@ $(document).ready(function(){
if ($thisCell.text().trim() === "접수중") {
$applyButton.prop('disabled', false); // 버튼 비활성화
}
if ($thisCell.text().trim() === "접수전") {
$applyButton.prop('disabled', false); // 버튼 비활성화
$applyButton.text('찜하기');
$applyButton.attr('onclick', "fn_ggim('" + $($thisCell).closest('tr').data('value') + "');");
}
if ($thisCell.text().trim() === "찜하기") {
var $currentRow = $thisCell.closest('tr');
var strtPnttm = new Date($currentRow.find("td:eq(2)").text().split("~")[0].trim());
var endPnttm = new Date($currentRow.find("td:eq(2)").text().split("~")[1].trim());
var currentDate = new Date();
// 시간, 분, 초 초기화
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
currentDate.setHours(0, 0, 0, 0);
var ddlnCdText = '';
if (currentDate >= strtPnttm && currentDate <= endPnttm && $thisCell.text().trim() === "찜하기") {
$applyButton.prop('disabled', false); // 버튼 비활성화
}
}
});
const dBirth = document.querySelector(".dBirth");
@ -259,9 +285,10 @@ $(document).ready(function(){
);
}
function fn_eduRegPopup(prcsAplctPrdOrd){
function fn_eduRegPopup(prcsAplctPrdOrd, eduAplctOrd){
var data ={
"prcsAplctPrdOrd": prcsAplctPrdOrd
"prcsAplctPrdOrd": prcsAplctPrdOrd,
"eduAplctOrd": eduAplctOrd
}
commonPopLayeropen(
@ -274,6 +301,35 @@ $(document).ready(function(){
);
}
function fn_ggim(prcsAplctPrdOrd){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("찜하시겠습니까?")){
var url = "/offedu/web/ve/aplct/fndtnEnhanceTrn/eduGgimAjax.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("저장되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
<!-- content -->
@ -403,7 +459,7 @@ $(document).ready(function(){
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount" data-value="<c:out value="${list.prcsAplctPrdOrd}"/>">
<tr class="listCount" data-value="<c:out value="${list.prcsAplctPrdOrd}"/>" data-eduAplctOrd="<c:out value="${list.eduAplctOrd}"/>">
<%-- <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value="${status.count}"/> --%>
<!-- </td> -->
@ -436,7 +492,7 @@ $(document).ready(function(){
</td>
<td class="aplctBtn">
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');" disabled>신청</button> --%>
<button type="button" class="btnType04" onclick="fn_eduRegPopup('<c:out value="${list.prcsAplctPrdOrd}"/>');" data-tooltip="target_confirm_popup" disabled>신청</button>
<button type="button" class="btnType04" onclick="fn_eduRegPopup('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" data-tooltip="target_confirm_popup" disabled>신청</button>
</td>
</c:if>
</tr>

View File

@ -113,6 +113,7 @@ $(document).ready(function(){
<input type="hidden" name="chrgNm">
<input type="hidden" name="insttNm">
<input type="hidden" name="dBirth">
<input type="hidden" name="eduAplctOrd" value="${vEPrcsDetailVO.eduAplctOrd}">
</form>
<form id="popForm" name="popForm" method="post">

View File

@ -572,7 +572,25 @@
</tbody>
</table>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCode/qrcode.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/qrCodeCustom.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function (){
var url = "";
url += "${pageContext.request.scheme}";
url += "://${pageContext.request.serverName}";
if("${pageContext.request.serverPort}" != '80' || "${pageContext.request.serverPort}" != '443' ){
url += ":${pageContext.request.serverPort}";
}
url += "${pageContext.request.contextPath}";
url += "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndQustnrNoLoginDetail.do";
makeCode(url);
});
</script>
<div id="qrcode"></div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>

View File

@ -0,0 +1,165 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<html lang="ko" class="hydrated">
<head>
<meta charset="UTF-8">
<style data-styles="">duet-date-picker{visibility:hidden}.hydrated{visibility:inherit}</style>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,user-scalable=yes">
<title>완료상세&lt;&lt;&lt; 한국저작권위원회 저작권교육 시스템</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/popup.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/font.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/datapicker/default.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/content.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/datepicker/classic.date.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/swiper.min.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/main.css">
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/common.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/popup.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/postcode.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/visitEduCom.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/visitEduConstants.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/content.js"></script>
<script src="${pageContext.request.contextPath}/js/antdatepicker/moment.min.js"></script>
<script src="${pageContext.request.contextPath}/js/year-select.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery.bxslider.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/swiper.min.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/main.js"></script>
<script type="module" src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.esm.js"></script>
<script nomodule src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.system.js"></script>
<script type="text/javascript" src="<c:url value='/js/web_common.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/util.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/ve/veConstants.js'/>"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#open').click()
});
</script>
</head>
<body style="overflow: hidden;">
<div class="container">
<div class="inner">
<!-- 강의만족도 결과 등록 팝업 -->
<div class="mask" style="display: block;"></div>
<!-- <div id="test" data-tooltip="instrInfo_pop01"></div> -->
<div id="open" data-tooltip="sub37_pop01" title="팝업 열림"/>
<form id="srvyPopupForm" name="srvyPopupForm" method="post" >
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${qustnrTmplatId}">
<input type="hidden" name="qestnrId" id="qestnrId" value="${qestnrId}">
<input type="hidden" id="qestmInfoSize" value="${fn:length(Comtnqustnrqesitm)}">
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close" style="width:800px;">
<div class="popup_tit">
<p>강의만족도 결과 등록</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_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: auto;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">평가문항</th>
<th scope="col">매우만족</th>
<th scope="col">만족</th>
<th scope="col">보통</th>
<th scope="col">불만족</th>
<th scope="col">매우불만족</th>
</tr>
</thead>
<tbody>
<c:forEach items="${Comtnqustnrqesitm}" var="QestmInfo" varStatus="status1">
<c:if test="${status1.count eq 1}">
<input type="hidden" name="qestnrTmplatId" value="${QestmInfo.qestnrTmplatId}">
</c:if>
<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.qestnrQesitmId}">
</th>
<td>
<label for="verySatisfied_${status1.index}" class="label">매우만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우만족" id="verySatisfied_${status1.index}" name="resultList[${status1.index}].verySatisfied" value="0" >
</td>
<td>
<label for="satisfied_${status1.index}" class="label">만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="만족" id="satisfied_${status1.index}" name="resultList[${status1.index}].satisfied" value="0" >
</td>
<td>
<label for="neither_${status1.index}" class="label">보통</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="보통" id="neither_${status1.index}" name="resultList[${status1.index}].neither" value="" >
</td>
<td>
<label for="dissatisfied_${status1.index}" class="label">불만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="불만족" id="dissatisfied_${status1.index}" name="resultList[${status1.index}].dissatisfied" value="" >
</td>
<td>
<label for="veryDissatisfied_${status1.index}" class="label">매우불만족</label>
<input type="text" numberOnly class="popupInput" style="width: 70%;padding:0 5px;text-align:center;" title="매우불만족" id="veryDissatisfied_${status1.index}" name="resultList[${status1.index}].veryDissatisfied" value="" >
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" id="popupSubmin" onclick="srvySendSubmit();">제출</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<!--// 강의만족도 결과 등록 팝업-->
</div>
</div>
</body>
</html>

View File

@ -6,6 +6,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
@ -96,7 +97,7 @@
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
detailForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
detailForm.submit();
}
@ -131,7 +132,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/> /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>강의내역상세</h2>
@ -271,23 +272,27 @@
<tr class="trLength4">
<th scope="row"><p>강의계획서</p></th>
<td>
<div class="btn_wrap">
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 lctrPlan_btn_add_file">강의계획서 파일찾기</button>
<button type="button" onclick="fileSave();" class="btnType01 lctrPlan_btn_add_file">제출</button>
<%-- <c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<button type="button" id="control1DownBtn" onclick="control1.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
</c:if> --%>
</div>
<div id="lctrPlan"></div><br/>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span class="lctrPlan_limitFileCount">1</span>개</p>
<c:if test="${info.lctrPlanRsltAtchFileId == null || info.lctrPlanRsltAtchFileId == ''}">
<div class="btn_wrap">
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 lctrPlan_btn_add_file">강의계획서 파일찾기</button>
<button type="button" onclick="fileSave();" class="btnType01 lctrPlan_btn_add_file">제출</button>
</div>
<div class="cf_right">
<p>등록된 파일 <span class="upload_number lctrPlan_totalfileCount">0</span>개</p>
<span class="upload_number lctrPlan_totalfileSize">0MB</span>
<div id="lctrPlan"></div><br/>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span class="lctrPlan_limitFileCount">1</span>개</p>
</div>
<div class="cf_right">
<p>등록된 파일 <span class="upload_number lctrPlan_totalfileCount">0</span>개</p>
<span class="upload_number lctrPlan_totalfileSize">0MB</span>
</div>
</div>
</div>
</c:if>
<c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.lctrPlanRsltAtchFileId}" />
</c:import>
</c:if>
</td>
</tr>
</tbody>
@ -297,7 +302,7 @@
<div class="tb_tit01">
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
@ -390,7 +395,7 @@
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<%-- <td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
@ -412,7 +417,7 @@
<c:otherwise>
</c:otherwise>
</c:choose>
</td> --%>
</td>
</tr>
</c:forEach>
</c:when>
@ -427,7 +432,7 @@
</tbody>
</table>
</div>
</div>
</div> --%>

View File

@ -0,0 +1,437 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육장소</p>
</th>
<td>
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육장소</p>
</th>
<td colspan="3"><c:out value="${info.eduPlace}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청자수</p>
</th>
<td>
<c:out value="${info.nosCnt1}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청자수</p>
</th>
<td colspan="3"><c:out value="${info.nosCnt1}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
<c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<tr class="trLength4">
<th scope="row"><p>강의계획서</p></th>
<td>
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.lctrPlanRsltAtchFileId}" />
</c:import>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="tb_list01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청자</p>
</div>
</div>
<div class="tb_type01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>신청자</th>
<th>신청일</th>
<th>확정여부</th>
<!-- <th>이수여부</th> -->
<!-- <th>설문조사</th> -->
<!-- <th>이수증</th> -->
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.userNm}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div> --%>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -6,6 +6,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
@ -25,7 +26,7 @@
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.submit();
}
@ -65,12 +66,12 @@
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEPrcsDetailVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEPrcsDetailVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
@ -82,21 +83,24 @@
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: 30%;">
<col style="width: 10%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육과정</th>
<th scope="col">교육기간</th>
<th scope="col">정원</th>
<th scope="col">신청자수</th>
<th>교육구분</th>
<th>과정명</th>
<th>교육기간</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
@ -104,10 +108,7 @@
${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }
</td>
<td>
${list.nos }
</td>
<td>
${list.nosCnt1 }
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
@ -120,66 +121,23 @@
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<ul onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />');">
<li>
<span>교육과정</span>
<span><a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a></span>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>정원</span>
<span>${list.nos }</span>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
<li>
<span>신청자수</span>
<span>${list.nosCnt1 }</span>
</li>
<%-- <li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value="${fee}" /></p></td>
</span>
</li> --%>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">

View File

@ -54,7 +54,7 @@ $( document ).ready(function() {
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.submit();
}

View File

@ -6,6 +6,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
@ -17,10 +18,9 @@
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(eduAplctOrd,eduChasiOrd){
$("#eduAplctOrd").val(eduAplctOrd);
$("#eduChasiOrd").val(eduChasiOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/endInfo/instrEduEndDetail.do").submit();
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.do").submit();
}
function linkPage(pageNo){
@ -51,6 +51,7 @@
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrAsgnmVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrAsgnmVO.searchSortOrd}" />" />
@ -67,167 +68,94 @@
<div class="list_top">
<div class="list_top_left">
<label for="searchSubmitYn" class="label">검색조건 선택</label>
<%-- <label for="searchSubmitYn" class="label">검색조건 선택</label>
<select class="selType1" name="searchSubmitYn" id="searchSubmitYn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq ''}">selected</c:if>>전체</option>
<option value="Y" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'Y'}">selected</c:if>>완료</option>
<option value="N" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'N'}">selected</c:if>>미완료</option>
</select>
</select> --%>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
<button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button>
<!-- <button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button> -->
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 5%;">
<col style="width: 10%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 30%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 15%;">
<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>
<th>교육구분</th>
<th>과정명</th>
<th>교육기간</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<c:choose>
<c:when test="${list.notiCnt == 0}">
<tr class="new_cont">
</c:when>
<c:otherwise>
<tr>
</c:otherwise>
</c:choose>
<td>
<p>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</p>
</td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');"><fmt:formatDate value="${eduHopeDt}" pattern="E"/></a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');"><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');"><c:out value='${list.insttNm}'/></a></td>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value="${fee}" /></p></td>
</tr>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }
</td>
<td>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<tr>
<td colspan="7"><spring:message code="common.nodata.msg" /></td>
</tr>
</c:if>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>
<span>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</span>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<span>
<c:out value='${fee}'/>
</span>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">

View File

@ -0,0 +1,413 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>강의내역상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청기간</p>
</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육기간</p>
</th>
<td colspan="3"><c:out value="${info.eduStrtPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
</tbody>
</table>
</div>
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="tb_list01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청자</p>
</div>
</div>
<div class="tb_type01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>신청자</th>
<th>신청일</th>
<th>확정여부</th>
<!-- <th>이수여부</th> -->
<!-- <th>설문조사</th> -->
<!-- <th>이수증</th> -->
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.userNm}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div> --%>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,152 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEPrcsDetailVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>강의내역목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEPrcsDetailVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEPrcsDetailVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>교육구분</th>
<th>과정명</th>
<th>교육일자</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm }
</td>
<td>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />');">
<li>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -0,0 +1,413 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청기간</p>
</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육기간</p>
</th>
<td colspan="3"><c:out value="${info.eduStrtPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
</tbody>
</table>
</div>
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="tb_list01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청자</p>
</div>
</div>
<div class="tb_type01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>신청자</th>
<th>신청일</th>
<th>확정여부</th>
<!-- <th>이수여부</th> -->
<!-- <th>설문조사</th> -->
<!-- <th>이수증</th> -->
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.userNm}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div> --%>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,165 @@
<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.submit();
}
function schdlPage(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/endInfo/instrEduEndSchdl.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrAsgnmVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrAsgnmVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEInstrAsgnmVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>종료교육목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
<label for="searchSubmitYn" class="label">검색조건 선택</label>
<select class="selType1" name="searchSubmitYn" id="searchSubmitYn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq ''}">selected</c:if>>전체</option>
<option value="Y" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'Y'}">selected</c:if>>완료</option>
<option value="N" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'N'}">selected</c:if>>미완료</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
<!-- <button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button> -->
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>교육구분</th>
<th>과정명</th>
<th>교육일자</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm }
</td>
<td>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>교육일자</span>
<span>${list.eduStrtPnttm }</span>
</li>
<li>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>