Merge branch 'hylee' into advc

This commit is contained in:
hylee 2023-09-18 11:55:07 +09:00
commit 753fa32ad3
11 changed files with 1338 additions and 0 deletions

View File

@ -0,0 +1,13 @@
package kcc.ve.aplct.fndtnEnhanceTrn.service;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
public interface FndtnEnhanceTrnService {
void insertVeEduAplct(VEEduAplctVO paramVO);
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
}

View File

@ -0,0 +1,60 @@
package kcc.ve.aplct.fndtnEnhanceTrn.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
@Repository("fndtnEnhanceTrnDAO")
public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
public void insertIsltn(ScholInfoVO paramVO) throws Exception {
insert("ScholInfoDAO.insertIsltn", paramVO);
}
/**
* L - Page
* @param scholInfoVO
* @return
* @throws Exception
*/
public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
@SuppressWarnings("unchecked")
List<ScholInfoVO> list = (List<ScholInfoVO>) list("ScholInfoDAO.selectPagingList", paramVO);
return list;
}
public ScholInfoVO selectDetail(ScholInfoVO paramVO) throws Exception {
return (ScholInfoVO) select("ScholInfoDAO.selectDetail", paramVO);
}
public ScholInfoVO selectDetailWithQuery(ScholInfoVO paramVO) throws Exception {
return (ScholInfoVO) select("ScholInfoDAO.selectDetailWithQuery", paramVO);
}
public ScholInfoVO select(ScholInfoVO paramVO) throws Exception {
return (ScholInfoVO) select("ScholInfoDAO.select", paramVO);
}
public ScholInfoVO selectScholId(ScholInfoVO paramVO) throws Exception {
return (ScholInfoVO) select("ScholInfoDAO.selectScholId", paramVO);
}
public void insert(ScholInfoVO paramVO) throws Exception{
insert("ScholInfoDAO.insert" , paramVO);
}
public int update(ScholInfoVO paramVO)throws Exception{
return update("ScholInfoDAO.update", paramVO);
}
public void deleteIsltn(ScholInfoVO paramVO) throws Exception {
insert("ScholInfoDAO.deleteIsltn", paramVO);
}
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
}
}

View File

@ -0,0 +1,51 @@
package kcc.ve.aplct.fndtnEnhanceTrn.service.impl;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
@Service("fndtnEnhanceTrnService")
public class FndtnEnhanceTrnServiceImpl implements FndtnEnhanceTrnService {
//과정
@Resource(name="vEEduAplctDAO")
private VEEduAplctDAO vEEduAplctDAO;
@Override
public void insertVeEduAplct(VEEduAplctVO paramVO) {
//C
vEEduAplctDAO.insertVeEduAplct(paramVO);
}
@Override
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO);
}
}

View File

@ -0,0 +1,393 @@
package kcc.ve.aplct.fndtnEnhanceTrn.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
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 org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
/**
* 교육신청(성인찾아가는교육)
* 교육신청에 관한 controller 클래스를 정의한다.
* @author 조용준
* @since 2021.12.16
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.12.16 조용준 최초 생성
*
* </pre>
*/
@Controller
//@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn")
public class FndtnEnhanceTrnController {
private static final Logger LOGGER = LoggerFactory.getLogger(FndtnEnhanceTrnController.class);
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//파일 체크 util
@Resource(name = "checkFileUtil")
private CheckFileUtil checkFileUtil;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//파일정보의 관리
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//과정 관리
@Resource(name = "vEPrcsService")
private VEPrcsService vEPrcsService;
//온라인콘텐츠과정 관리
@Resource(name = "vEPrcsOnlnCntntService")
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
//교육신청
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
//차시
@Resource(name = "vEEduChasiService")
private VEEduChasiService vVEEduChasiService;
//교육과정신청
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//교육과정신청
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//교육과정순번
@Resource(name="prcsGnrService")
private EgovIdGnrService prcsGnrService;
//과정온라인콘텐츠순번
@Resource(name="prcsOnlnGnrService")
private EgovIdGnrService prcsOnlnGnrService;
//교육신청순번
@Resource(name="eduAplctGnrService")
private EgovIdGnrService eduAplctGnrService;
//교육차시순번
@Resource(name="eduChasiGnrService")
private EgovIdGnrService eduChasiGnrService;
//교육신청온라인
@Resource(name = "vEEduAplctOnlnService")
private VEEduAplctOnlnService vEEduAplctOnlnService;
@Resource(name = "eduAplctAdultService")
private EduAplctAdultService eduAplctAdultService;
//코드
@Resource(name="cmmUseDAO")
private CmmUseDAO cmmUseDAO;
//온라인콘텐츠과정 관리
@Resource(name = "fndtnEnhanceTrnService")
private FndtnEnhanceTrnService fndtnEnhanceTrnService;
/**
* 교육신청 목록 화면
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/main.do")
public String main( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
//로그인 처리====================================
/* LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
vEEduAplctVO.setUserId(loginVO.getUniqId());
// 성인
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduAplctVO.setInstrDiv("20");
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
//2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);*/
return "/web/ve/aplct/fndtnEnhanceTrn/main";
}
/**
* 교육신청 목록 화면
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do")
public String eduAplctList(
@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) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//로그인 처리====================================
//1.pageing step1
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
vEPrcsDetailVO.setSearchStatusArr(splited);
}
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
}
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기
vEPrcsDetailVOList.stream().forEach(t->{
VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO();
vEEduAplctReqVO.setUserId(loginVO.getUniqId());
vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd());
vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd());
VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO);
// VO를 먼저 null 체크 진행해야 에러안남
// vEEduAplctVO != null &&
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
t.setAprvlCd(vEEduAplctVO.getAprvlCd());
}
});
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
return "/web/ve/aplct/fndtnEnhanceTrn/eduAplctList";
}
/**
* 교육상세
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do")
public String eduAplctDetail(
@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) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
//1.pageing step1
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
model.addAttribute("info", vEPrcsDetailVODetail);
return "/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail";
}
/**
* 기반강화연수과정 신청기간 등록
*/
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do")
public ModelAndView fndthEduPrcsAplctPrdMngRegAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, 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("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려
// 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;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// 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

@ -291,6 +291,15 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String deadlineDt; //마감일자
private String prcsAplctPrdOrd;
public String getPrcsAplctPrdOrd() {
return prcsAplctPrdOrd;
}
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
}
public String getDeadlineDt() {
return deadlineDt;
}

View File

@ -6,6 +6,7 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEEduAplctDAO")
public class VEEduAplctDAO extends EgovAbstractDAO {
@ -122,4 +123,12 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
return (int) select("VEEduAplctDAO.selectCntAplctPrd",veEduAplctVO);
}
public void insertVeEduAplct(VEEduAplctVO paramVO) {
insert("VEEduAplctDAO.insertVeEduAplct", paramVO);
}
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
return (VEEduAplctVO) select("VEEduAplctDAO.findByAprvlCd", vEEduAplctReqVO);
}
}

View File

@ -116,6 +116,10 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String aprvlCd;
public String getPrcsOrd() {
return prcsOrd;
@ -549,6 +553,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setUserId(String userId) {
this.userId = userId;
}
public String getAprvlCd() {
return aprvlCd;
}
public void setAprvlCd(String aprvlCd) {
this.aprvlCd = aprvlCd;
}
}

View File

@ -240,6 +240,54 @@
)
</insert>
<!-- 강사 등록 C -->
<insert id="VEEduAplctDAO.insertVeEduAplct" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduAplctDAO.table_name"/> (
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
)VALUES(
#eduAplctOrd#,
#lctrDivCd#,
#userId#,
#prcsOrd#,
#sbmtYn#,
IF(#sbmtYn# = 'Y', NOW(), NULL),
#aprvlCd#,
IF(#aprvlCd# IS NOT NULL, NOW(), NULL),
#aprvlCn#,
NOW(),
#frstRegisterId#
)
</insert>
<!-- 강사 등록 C -->
<select id="VEEduAplctDAO.findByAprvlCd" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctDAO.select_column_name"/>
FROM ve_prcs_aplct_prd vpap
LEFT JOIN <include refid="VEEduAplctDAO.table_name"/> a
ON a.prcs_ord = #prcsAplctPrdOrd#
WHERE a.lctr_div_cd ='50'
AND a.user_id = #userId#
GROUP BY a.edu_aplct_ord
</select>
<!-- 강사 정보 R -->
<select id="VEEduAplctDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT

View File

@ -0,0 +1,221 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $("#ddlnCdStts");
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
var currentDate = new Date();
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function fncGoEdit(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.do'/>";
linkForm.submit();
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"sbmtYn" : 'Y',
"aprvlCd" : VeConstants.APRVL_CD_80,
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("제출 되었습니다.");
fncGoDetail();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancleSubmit(){
if(confirm("교육신청 취소하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N'
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("교육신청 취소되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
linkForm.submit();
}
function chrgInfoUpdatePop(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/chrgInfoUpdatePop.do"
, 650
, 464
, {'eduAplctOrd' : $("#eduAplctOrd").val()}
, "Y"
, "chrgInfoUpdatePop"
);
}
</script>
<div class="cont_wrap" id="sub">
<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="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>
‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>공공기관, 대학, 문화예술단체 등을 </span>대상으로 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.
<p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">담당자 연락처) 02-2669-0083</p>
</span>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청 내용</p>
</div>
<%--
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<div class="btn_wrap">
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
</div>
</c:if>
--%>
</div>
<div class="tb_type01 tb_write">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<c:out value="${info.nos}"/>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td id="ddlnCdStts">
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -0,0 +1,254 @@
<%@ 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="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
$(".ddlnCdStts").each(function() {
var $thisCell = $(this);
var $applyButton = $thisCell.closest('tr').find(".aplctBtn button");
// var $aprvlCd = $thisCell.closest('tr').find(".aplctBtn input");
// 텍스트가 비어있는지 확인
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();
var ddlnCdText = '';
if (currentDate < strtPnttm) {
ddlnCdText = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
ddlnCdText = "접수중";
} else if (currentDate > endPnttm) {
ddlnCdText = "접수종료";
}
$thisCell.text(ddlnCdText);
}
// 텍스트가 "접수중"인지 확인
if ($thisCell.text().trim() !== "접수중") {
$applyButton.prop('disabled', true); // 버튼 비활성화
}
});
});
function fncEduReg(prcsAplctPrdOrd){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do";
console.log(data);
$.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);
}
});
}
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do'/>";
listForm.submit();
}
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do'/>";
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" 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="searchStatus2" class="label">신청상태 선택</label>
<select class="selType1" id="searchStatus2" name="searchStatus2">
<option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEEduAplctVO.searchStartDt}"> --%>
<duet-date-picker identifier="date" name="searchStartDt" class="startDate" value="${vEEduAplctVO.searchStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEEduAplctVO.searchEndDt}"> --%>
<duet-date-picker identifier="date" name="searchEndDt" class="endDate" value="${vEEduAplctVO.searchEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="fncGoList();">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<!-- list -->
<div class="tb_list01">
<table>
<colgroup>
<%-- <col style="width: 5%"> --%>
<col style="width: 10%">
<col style="width: auto">
<col style="width: 180px;">
<col style="width: 180px;">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<!-- <th>NO</th> -->
<th>교육구분</th>
<th>과정명</th>
<th>신청기간</th>
<th>교육기간</th>
<th>신청자/정원</th>
<th>상태</th>
<th>교육신청</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<%-- <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value="${status.count}"/> --%>
<!-- </td> -->
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>
</td>
<td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
</td>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty list.aprvlCd}">
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</c:otherwise>
</c:choose>
</td>
<td class="aplctBtn">
<!-- <button type="button" class="btnType02" onclick="fncReset(this);">초기화</button> -->
<button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button>
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');"><c:out value="${list.aprvlCd }" /></button> --%>
</td>
<!-- <td> -->
<%-- <c:out value="${list.useYn}"/> --%>
<!-- </td> -->
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</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="btnType01" onclick="goWrite()">교육문의(미개발)</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -0,0 +1,270 @@
<%@ 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="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function goWrite(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(eduAplctOrd){
var listForm = document.listForm ;
listForm.eduAplctOrd.value = eduAplctOrd ;
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do").submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" 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="searchStatus2" class="label">신청상태 선택</label>
<select class="selType1" id="searchStatus2" name="searchStatus2">
<option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEEduAplctVO.searchStartDt}"> --%>
<duet-date-picker identifier="date" name="searchStartDt" class="startDate" value="${vEEduAplctVO.searchStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEEduAplctVO.searchEndDt}"> --%>
<duet-date-picker identifier="date" name="searchEndDt" class="endDate" value="${vEEduAplctVO.searchEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="fncGoList();">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 10%;">
<col style="width: 18%;">
<col style="width: 15%">
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</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 var="list" items="${list}" varStatus="status">
<tr>
<td>
<c:out value='${list.rowNo}'/>
</td>
<td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<c:choose>
<c:when test="${not empty list.eduHopeDt}">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</a>
</td>
<td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<ve:code codeId="VE0012" code="${list.insttDivCd}"/>
</a>
</td>
<td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<c:out value='${list.insttNm}'/>
</a>
</td>
<td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<ve:code codeId="VE0007" code="${list.eduSlctCd}"/>
</a>
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${list}" varStatus="status">
<ul onclick="javascript:fncGoDetail('${list.eduAplctOrd}');">
<li>
<span>번호</span>
<span><c:out value='${list.rowNo}'/></span>
</li>
<li>
<span>교육희망일</span>
<span>
<c:choose>
<c:when test="${not empty list.eduHopeDt}">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</span>
</li>
<li>
<span>기관구분</span>
<span><ve:code codeId="VE0012" code="${list.insttDivCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>신청유형</span>
<span><ve:code codeId="VE0007" code="${list.eduSlctCd}"/></span>
</li>
<li>
<span>신청상태</span>
<span>
<span class="app_status1">
<c:choose>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</span>
</span>
</li>
</ul>
</c:forEach>
</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="btnType04" onclick="goWrite()">등록</button>
</div>
</div>
<!-- page -->
<%-- <div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div> --%>
</form:form>
</div>