2023-08-21 17:12 기반강화 및 기수유예 관리자 작업
This commit is contained in:
parent
9d17792222
commit
c7131e3d51
@ -20,10 +20,17 @@ public interface VEPrcsAplctPrdService {
|
||||
List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
|
||||
List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
|
||||
//Page List
|
||||
List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
//기반강화, 기소유예
|
||||
List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
//R
|
||||
VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -96,6 +96,19 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String oprtnFileId;
|
||||
|
||||
|
||||
private String eduStrtPnttm;
|
||||
|
||||
private String eduDdlnPnttm;
|
||||
|
||||
private String deadLineDt;
|
||||
private String eduPartCd;
|
||||
|
||||
private String nos;
|
||||
private String ddlnCd;
|
||||
|
||||
private String nosCnt1; //신청인
|
||||
|
||||
public String getPrcsOrd() {
|
||||
return prcsOrd;
|
||||
}
|
||||
@ -468,4 +481,46 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setPrcsKind(String prcsKind) {
|
||||
this.prcsKind = prcsKind;
|
||||
}
|
||||
public String getEduStrtPnttm() {
|
||||
return eduStrtPnttm;
|
||||
}
|
||||
public void setEduStrtPnttm(String eduStrtPnttm) {
|
||||
this.eduStrtPnttm = eduStrtPnttm;
|
||||
}
|
||||
public String getEduDdlnPnttm() {
|
||||
return eduDdlnPnttm;
|
||||
}
|
||||
public void setEduDdlnPnttm(String eduDdlnPnttm) {
|
||||
this.eduDdlnPnttm = eduDdlnPnttm;
|
||||
}
|
||||
public String getDeadLineDt() {
|
||||
return deadLineDt;
|
||||
}
|
||||
public void setDeadLineDt(String deadLineDt) {
|
||||
this.deadLineDt = deadLineDt;
|
||||
}
|
||||
public String getEduPartCd() {
|
||||
return eduPartCd;
|
||||
}
|
||||
public void setEduPartCd(String eduPartCd) {
|
||||
this.eduPartCd = eduPartCd;
|
||||
}
|
||||
public String getNos() {
|
||||
return nos;
|
||||
}
|
||||
public void setNos(String nos) {
|
||||
this.nos = nos;
|
||||
}
|
||||
public String getDdlnCd() {
|
||||
return ddlnCd;
|
||||
}
|
||||
public void setDdlnCd(String ddlnCd) {
|
||||
this.ddlnCd = ddlnCd;
|
||||
}
|
||||
public String getNosCnt1() {
|
||||
return nosCnt1;
|
||||
}
|
||||
public void setNosCnt1(String nosCnt1) {
|
||||
this.nosCnt1 = nosCnt1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,6 +19,8 @@ public interface VEPrcsService {
|
||||
//L
|
||||
List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
//List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
List<VEPrcsDetailVO> selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception;
|
||||
|
||||
//Page List
|
||||
|
||||
@ -55,6 +55,12 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
|
||||
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* L - Page
|
||||
* @param addrVO
|
||||
@ -66,8 +72,17 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
|
||||
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO);
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -44,13 +44,25 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
|
||||
return vEPrcsAplctPrdDAO.selectList(paramVO);
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
|
||||
return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO);
|
||||
}
|
||||
|
||||
//paging List
|
||||
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{
|
||||
return vEPrcsAplctPrdDAO.selectPagingList(paramVO);
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
|
||||
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
|
||||
}
|
||||
|
||||
//R
|
||||
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO);
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,393 @@
|
||||
package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctMng.web;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
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.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.util.IpUtil;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.sch.service.SchduleManageService;
|
||||
import kcc.let.uss.ion.cnt.service.EgovCntManageService;
|
||||
import kcc.let.uss.umt.service.EgovMberManageService;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.cmm.VeConstants;
|
||||
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.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.VEPrcsService;
|
||||
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
|
||||
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
|
||||
import kcc.ve.oprtn.tngrVisitEdu.eduAplctMng.service.EduAplctMngTngrService;
|
||||
|
||||
/**
|
||||
* 교육신청관리(관리자-청소년찾아가는저작권교육)
|
||||
* 교육신청관리에 관한 controller 클래스를 정의한다.
|
||||
* @author 조용준
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.12.16 조용준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Controller
|
||||
public class FndthPrcsAplctMngController {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(FndthPrcsAplctMngController.class);
|
||||
|
||||
//로그인 체크 util
|
||||
@Resource(name = "checkLoginUtil")
|
||||
private CheckLoginUtil checkLoginUtil;
|
||||
|
||||
//과정 관리
|
||||
@Resource(name = "vEPrcsService")
|
||||
private VEPrcsService vEPrcsService;
|
||||
|
||||
//기반연수 과정 관리
|
||||
@Resource(name = "vEPrcsAplctPrdService")
|
||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||
|
||||
|
||||
|
||||
//신청과정 관리
|
||||
@Resource(name = "vEEduMIXService")
|
||||
private VEEduMIXService vEEduMIXService;
|
||||
|
||||
//교육신청
|
||||
@Resource(name = "vEEduAplctService")
|
||||
private VEEduAplctService vEEduAplctService;
|
||||
|
||||
//교육과정신청
|
||||
@Resource(name = "vEPrcsMIXService")
|
||||
private VEPrcsMIXService vEPrcsMIXService;
|
||||
|
||||
//차시
|
||||
@Resource(name = "vEEduChasiService")
|
||||
private VEEduChasiService vVEEduChasiService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
// global 프로퍼티
|
||||
@Resource(name="globalSettings")
|
||||
protected Properties propertiesService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
@Resource(name = "eduAplctMngTngrService")
|
||||
private EduAplctMngTngrService eduAplctMngTngrService;
|
||||
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService egovCmmUseService;
|
||||
|
||||
//NOTI 서비스
|
||||
@Resource(name="vEAsgnmNotiService")
|
||||
private VEAsgnmNotiService vEAsgnmNotiService;
|
||||
|
||||
@Resource(name = "schduleManageService")
|
||||
private SchduleManageService schduleManageService;
|
||||
|
||||
@Resource(name = "egovCntManageService")
|
||||
private EgovCntManageService egovCntManageService;
|
||||
|
||||
/** mberManageService */
|
||||
@Resource(name = "mberManageService")
|
||||
private EgovMberManageService mberManageService;
|
||||
|
||||
/**
|
||||
* 기반강화연수 과정 신청 관리 목록 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList.do")
|
||||
public String fndthEduPrcsAplctMngList( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , HttpSession session, ModelMap model ) throws Exception {
|
||||
|
||||
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
|
||||
//년도
|
||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchYear())){
|
||||
//vEEduAplctVO.setSearchYear(String.valueOf(LocalDate.now().getYear()));
|
||||
}
|
||||
|
||||
//월
|
||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchMonth())){
|
||||
vEEduAplctVO.setSearchMonth(String.valueOf(LocalDate.now().getMonthValue()));
|
||||
}
|
||||
if(!"".equals(vEEduAplctVO.getSearchChrgNm())) {
|
||||
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchChrgNm()));
|
||||
}
|
||||
|
||||
// 요청, 반려건
|
||||
//vEEduAplctVO.setSearchNotStatusArr(new String[]{"60"});
|
||||
// 청소년
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
|
||||
|
||||
//정렬
|
||||
if("".equals(vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
vEEduAplctVO.setOrderByQuery("A.SBMT_PNTTM DESC");
|
||||
}else{
|
||||
vEEduAplctVO.setOrderByQuery(vEEduAplctVO.getSearchSortCnd() + " " +vEEduAplctVO.getSearchSortOrd());
|
||||
}
|
||||
|
||||
System.out.println("vEEduAplctVO.getOrderByQuery() :: "+ vEEduAplctVO.getOrderByQuery());
|
||||
|
||||
//2. pageing step2
|
||||
vEEduAplctVO = this.setPagingStep2Sub(vEEduAplctVO, paginationInfo);
|
||||
vEEduAplctVO.setNotiUserId(user.getUniqId());
|
||||
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
|
||||
|
||||
|
||||
/*
|
||||
* 리스트 검색에서 교육일자 시작/종료일 입력 없이 검색시
|
||||
* 기존 searchEndDt where 조건에 1=2로 되어있어서 리스트 검색이 안되던 것을
|
||||
* 저작위 요청사항으로 1=1로 변경하여 날짜 입력이 안되어도 검색이 되도록 수정함
|
||||
* 2023-04-28 우영두
|
||||
*
|
||||
* */
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchChrgNm()));
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("list", vEEduAplctVOList);
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수 신청 등록 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctReg.do")
|
||||
public String fndthEduPrcsAplctReg( @ModelAttribute("modelVO") VEEduAplctVO vEEduAplctVO , ModelMap model ) throws Exception {
|
||||
|
||||
vEEduAplctVO.setMode(VeConstants.MODE_CRT);
|
||||
//온라인차시 리스트
|
||||
vEEduAplctVO.setUseYn("Y");
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
|
||||
//사용자 교육신청 과정 리스트
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectList4Fndth(vEPrcsDetailVO);
|
||||
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
|
||||
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctReg";
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수 신청서 등록
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctRegAjax.do")
|
||||
public ModelAndView fndthEduPrcsAplctRegAjax(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request , final MultipartHttpServletRequest multiRequest ) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
//MberManageVO mberManageVO = mberManageService.selectMber4AdminReg(vEEduAplctVO.getEmail());
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
boolean flag = eduAplctMngTngrService.fndthEduAplctRegProcess(vEEduAplctVO, request, multiRequest, modelAndView);
|
||||
|
||||
if(!flag){
|
||||
modelAndView.addObject("result", "fail");
|
||||
return modelAndView;
|
||||
}
|
||||
modelAndView.addObject("VO", vEEduAplctVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수 신청 수정
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMdfyAjax.do")
|
||||
public ModelAndView fndthEduPrcsAplctMdfyAjax( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request , final MultipartHttpServletRequest multiRequest ) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
System.out.println("eduAplctMdfyProcessAdmin");
|
||||
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
boolean flag = eduAplctMngTngrService.fndthEduAplctMdfyProcessAdmin(vEEduAplctVO, request, multiRequest, modelAndView);
|
||||
if(!flag){
|
||||
modelAndView.addObject("result", "faii");
|
||||
return modelAndView;
|
||||
}
|
||||
modelAndView.addObject("VO", vEEduAplctVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수 신청관리 상세 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.do")
|
||||
public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request, HttpSession session ) throws Exception {
|
||||
|
||||
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
|
||||
//기본데이터 불러오기
|
||||
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
|
||||
//데이터 복호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
|
||||
//사용자 교육신청 과정 리스트
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
|
||||
model.addAttribute("list", vEPrcsDetailVOList);
|
||||
|
||||
|
||||
//사용자 교육신청 차시 리스트
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_50);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO);
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
|
||||
model.addAttribute("cryptoUtil",egovCryptoUtil);
|
||||
|
||||
//강의만족도 평가 여부를 위한 차시 리스트 MIX 조회
|
||||
VEEduChasiVO vEEduChasiAllVO = new VEEduChasiVO();
|
||||
vEEduChasiAllVO.setInstrDiv(VeConstants.LCTR_DIV_CD_50); //청소년
|
||||
vEEduChasiAllVO.setAprvlCd("60"); //교육확정코드
|
||||
vEEduChasiAllVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiAllVO.setPageIndex(0);
|
||||
List<VEEduChasiVO> vEEduChasiAllVOList = vEEduMIXService.selectChasiList(vEEduChasiAllVO);
|
||||
model.addAttribute("chasiAllList", vEEduChasiAllVOList);
|
||||
|
||||
//20220223 우영두 추가
|
||||
//강의내역 NOTI 입력
|
||||
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
|
||||
String tblUnitOrd = "";
|
||||
if(StringUtil.isNotEmpty(vEEduAplctVO.getEduChasiOrd())) {
|
||||
tblUnitOrd = vEEduAplctVO.getEduChasiOrd();
|
||||
}else {
|
||||
tblUnitOrd = vEEduAplctVO.getEduAplctOrd();
|
||||
}
|
||||
|
||||
vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd);
|
||||
vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId());
|
||||
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
|
||||
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
|
||||
|
||||
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
|
||||
|
||||
System.out.println("session.getAttribute(menuNo).toString()-since20230424");
|
||||
System.out.println(session.toString());
|
||||
System.out.println(session.getAttribute("menuNo").toString());
|
||||
|
||||
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail";
|
||||
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// private function
|
||||
//
|
||||
//
|
||||
|
||||
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||
private PaginationInfo setPagingStep1(
|
||||
VEEduAplctVO p_vEEduAplctVO
|
||||
)throws Exception{
|
||||
// pageing step1
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
|
||||
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
|
||||
|
||||
return paginationInfo;
|
||||
}
|
||||
|
||||
|
||||
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화
|
||||
private VEEduAplctVO setPagingStep2(
|
||||
VEEduAplctVO p_vEEduAplctVO
|
||||
, PaginationInfo p_paginationInfo
|
||||
)throws Exception{
|
||||
// pageing step2
|
||||
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||
|
||||
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
|
||||
p_vEEduAplctVO.setSearchSortOrd("desc");
|
||||
}
|
||||
|
||||
return p_vEEduAplctVO;
|
||||
}
|
||||
|
||||
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - 기존 prcs_ord 정렬부분 제외
|
||||
private VEEduAplctVO setPagingStep2Sub(
|
||||
VEEduAplctVO p_vEEduAplctVO
|
||||
, PaginationInfo p_paginationInfo
|
||||
)throws Exception{
|
||||
// pageing step2
|
||||
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||
|
||||
return p_vEEduAplctVO;
|
||||
}
|
||||
|
||||
|
||||
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||
private PaginationInfo setPagingStep3(
|
||||
List<VEEduAplctVO> p_vEEduAplctVOList
|
||||
|
||||
, PaginationInfo p_paginationInfo
|
||||
)throws Exception{
|
||||
// pageing step3
|
||||
int totCnt = 0;
|
||||
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
|
||||
p_paginationInfo.setTotalRecordCount(totCnt);
|
||||
|
||||
return p_paginationInfo;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,547 @@
|
||||
package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.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 org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
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.EgovFileMngUtil;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
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.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.VEPrcsCmpltDetailService;
|
||||
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 2023.07.12
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.12.16 조용준 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Controller
|
||||
//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn")
|
||||
public class FndthPrcsAplctPrdMngController {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(FndthPrcsAplctPrdMngController.class);
|
||||
|
||||
//로그인 체크 util
|
||||
@Resource(name = "checkLoginUtil")
|
||||
private CheckLoginUtil checkLoginUtil;
|
||||
|
||||
//과정 관리
|
||||
@Resource(name = "vEPrcsService")
|
||||
private VEPrcsService vEPrcsService;
|
||||
|
||||
//과정 관리
|
||||
@Resource(name = "vEEduMIXService")
|
||||
private VEEduMIXService vEEduMIXService;
|
||||
|
||||
//온라인콘텐츠과정 관리
|
||||
@Resource(name = "vEPrcsOnlnCntntService")
|
||||
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
|
||||
|
||||
//과정차시 관리
|
||||
@Resource(name = "vEPrcsAplctPrdService")
|
||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||
|
||||
//교육과정순번
|
||||
@Resource(name="prcsGnrService")
|
||||
private EgovIdGnrService prcsGnrService;
|
||||
|
||||
//과정신청기간순번
|
||||
@Resource(name="prcsAplctPrdGnrService")
|
||||
private EgovIdGnrService prcsAplctPrdGnrService;
|
||||
|
||||
//과정온라인콘텐츠순번
|
||||
@Resource(name="prcsOnlnGnrService")
|
||||
private EgovIdGnrService prcsOnlnGnrService;
|
||||
|
||||
//교육신청
|
||||
@Resource(name = "vEEduAplctService")
|
||||
private VEEduAplctService vEEduAplctService;
|
||||
|
||||
//교육과정신청
|
||||
@Resource(name = "vEPrcsMIXService")
|
||||
private VEPrcsMIXService vEPrcsMIXService;
|
||||
|
||||
//차시
|
||||
@Resource(name = "vEEduChasiService")
|
||||
private VEEduChasiService vVEEduChasiService;
|
||||
|
||||
//첨부파일 경로, realPath 설정
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
//교육과정신청
|
||||
@Resource(name = "vEPrcsCmpltDetailService")
|
||||
private VEPrcsCmpltDetailService vEPrcsCmpltDetailService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
/*
|
||||
|
||||
// 교육신청 서비스단
|
||||
@Resource(name = "AdjReqMgrService")
|
||||
private AdjReqMgrService adjReqMgrService;
|
||||
|
||||
// eGov 공통코드
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
// global 프로퍼티
|
||||
@Resource(name="globalSettings")
|
||||
protected Properties propertiesService;
|
||||
|
||||
//첨부파일 경로, realPath 설정
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
// 첨부파일 정보
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
|
||||
@Resource(name="KccadrMgrUdtService")
|
||||
private KccadrMgrUdtService kccadrMgrUdtService;
|
||||
|
||||
// 교육신청 서비스단
|
||||
@Resource(name = "checkAdrProcessUtil")
|
||||
private CheckAdrProcessUtil checkAdrProcessUtil;
|
||||
*/
|
||||
|
||||
/**
|
||||
* 기반강화연수 과정 신청 기간 관리 목록 화면
|
||||
*/
|
||||
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do")
|
||||
public String fndthEduPrcsAplctPrdMngList(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
//paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||
String selectCondition = "AND a.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);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("list", vEPrcsDetailVOList);
|
||||
|
||||
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList";
|
||||
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 등록 화면
|
||||
*/
|
||||
//@RequestMapping("eduPrcsMngReg.do")
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.do")
|
||||
public String fndthEduPrcsAplctPrdMngReg(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 정보 가져오기
|
||||
{
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc");
|
||||
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
//model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("listPrcs", vEPrcsDetailVOList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 등록
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngRegAjax.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 로그인 정보 가져오기
|
||||
|
||||
|
||||
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
|
||||
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
//vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
vEPrcsAplctPrdService.insert(vEPrcsDetailVO);
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 기간 상세화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.do")
|
||||
public String fndthEduPrcsMngDetail(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 정보 가져오기
|
||||
/*
|
||||
{
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc");
|
||||
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
vEPrcsDetailVO.setPrcsOrd("");
|
||||
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
//model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("listPrcs", vEPrcsDetailVOList);
|
||||
}
|
||||
*/
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
|
||||
//과정 신청자 정보 가져오기
|
||||
{
|
||||
//해당 과정을 제출한 사용자 정보를 가져온다.
|
||||
VEEduAplctVO paramVO = new VEEduAplctVO();
|
||||
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||
paramVO.setSbmtYn("Y");
|
||||
|
||||
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
||||
vEPrcsDetailVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEPrcsDetailVOList);
|
||||
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
|
||||
}
|
||||
|
||||
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 기간 상세수정화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.do")
|
||||
public String fndthEduPrcsAplctPrdMngMdfy(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 정보 가져오기
|
||||
{
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||
paginationInfo.setRecordCountPerPage(10000);
|
||||
|
||||
//2. pageing step2
|
||||
vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc");
|
||||
|
||||
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||
|
||||
//기반강화 조회
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
|
||||
vEPrcsDetailVO.setPrcsOrd("");
|
||||
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
//model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
|
||||
//대상 리스트, 페이징 정보 전달
|
||||
model.addAttribute("listPrcs", vEPrcsDetailVOList);
|
||||
}
|
||||
|
||||
//과정 조회
|
||||
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
|
||||
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||
|
||||
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 수정
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfyAjax.do")
|
||||
public ModelAndView fndthEduPrcsAplctPrdMngMdfyAjax(
|
||||
@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 로그인 정보 가져오기
|
||||
|
||||
|
||||
//String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
|
||||
//vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
|
||||
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||
//vEPrcsDetailVO.setUseYn("Y");
|
||||
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
vEPrcsAplctPrdService.update(vEPrcsDetailVO);
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -186,7 +186,7 @@ public class FndthPrcsInfoMngController {
|
||||
|
||||
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||
|
||||
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||
|
||||
@ -13,8 +13,13 @@ public interface EduAplctMngTngrService {
|
||||
|
||||
boolean eduAplctRegProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
//기반강화 교육 등록
|
||||
boolean fndthEduAplctRegProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
boolean eduAplctMdfyProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
boolean eduAplctMdfyProcessAdmin(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
boolean fndthEduAplctMdfyProcessAdmin(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -187,6 +187,94 @@ public class EduAplctMngTngrServiceImpl implements EduAplctMngTngrService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean fndthEduAplctRegProcess(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception {
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
//step2.파일 처리====================================
|
||||
//파일 정상 처리 여부와 첨부 파일 정보
|
||||
//String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO);
|
||||
//파일 제한 수량 가져오기, 없으면 기본값 사용
|
||||
int i_file_limit = checkFileUtil.getLimitCount(request); // file count
|
||||
int i_limit_size = checkFileUtil.getLimitSize(request); // file MB
|
||||
String s_file_exts = checkFileUtil.getS_exts(); // file exts
|
||||
|
||||
String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert(
|
||||
multiRequest, modelAndView
|
||||
, "SCHOLSEAL_" //file_name_prefix
|
||||
, s_file_exts
|
||||
, i_limit_size
|
||||
, i_file_limit
|
||||
); //EXT, MB size and ea
|
||||
|
||||
if ("ERROR".equals(s_scholSealAtchFileId)) return false;
|
||||
//step2.파일 처리====================================
|
||||
//교육신청 번호 생성 및 디비 저장하기
|
||||
String eduAplctOrd = eduAplctGnrService.getNextStringId(); // 고유ID
|
||||
vEEduAplctVO.setEduAplctOrd(eduAplctOrd);
|
||||
//vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); //강의 구분 코드 체험교실
|
||||
vEEduAplctVO.setScholSealAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
//저장전 암호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
|
||||
|
||||
MberManageVO mberManageVO = mberManageService.selectMber4AdminReg(vEEduAplctVO.getEmail());
|
||||
//System.out.println("mberManageVO2.getUniqId()");
|
||||
//System.out.println(mberManageVO.getUniqId());
|
||||
//System.out.println(mberManageVO.getUniqId());
|
||||
|
||||
if (mberManageVO!=null) {
|
||||
vEEduAplctVO.setUserId(mberManageVO.getUniqId());
|
||||
vEEduAplctVO.setFrstRegisterId(mberManageVO.getUniqId()); //esntl_id
|
||||
|
||||
}
|
||||
|
||||
//저장
|
||||
vEEduAplctService.insert(vEEduAplctVO);
|
||||
|
||||
|
||||
//차시 저장
|
||||
String[] s_eduHopeDt = request.getParameterValues("eduHopeDt");
|
||||
String[] s_strtTm = request.getParameterValues("strtTm");
|
||||
String[] s_endTm = request.getParameterValues("endTm");
|
||||
String[] s_lrnTm = request.getParameterValues("lrnTm");
|
||||
String[] s_divCd = request.getParameterValues("divCd");
|
||||
String[] s_trgt = request.getParameterValues("trgt");
|
||||
String[] s_prsnl = request.getParameterValues("prsnl");
|
||||
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(eduAplctOrd); //교육신청순번
|
||||
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
if (mberManageVO!=null) {
|
||||
vEEduChasiVO.setFrstRegisterId(mberManageVO.getUniqId()); //esntl_id
|
||||
|
||||
}
|
||||
|
||||
|
||||
String bb = null;
|
||||
for (int i=0;i<s_eduHopeDt.length;i++) {
|
||||
String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
|
||||
vEEduChasiVO.setEduChasiOrd(eduChasiOrd);
|
||||
vEEduChasiVO.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setStrtTm(s_strtTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setEndTm(s_endTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setLrnTm(s_lrnTm[i]);
|
||||
vEEduChasiVO.setDivCd(s_divCd[i]);
|
||||
vEEduChasiVO.setTrgt(s_trgt[i]);
|
||||
vEEduChasiVO.setPrsnl(s_prsnl[i]);
|
||||
vVEEduChasiService.insert(vEEduChasiVO);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean eduAplctMdfyProcess(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception {
|
||||
|
||||
@ -355,4 +443,91 @@ public class EduAplctMngTngrServiceImpl implements EduAplctMngTngrService {
|
||||
// }
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean fndthEduAplctMdfyProcessAdmin(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, MultipartHttpServletRequest multiRequest, ModelAndView modelAndView) throws Exception {
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
String s_scholSealAtchFileId = "";
|
||||
s_scholSealAtchFileId = vEEduAplctVO.getScholSealAtchFileId();
|
||||
|
||||
//DB에서 실제 첨부파일 존재 여부 확인
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(s_scholSealAtchFileId);
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
if (result.size()<=0) {
|
||||
s_scholSealAtchFileId = "";
|
||||
}
|
||||
|
||||
int i_file_limit = checkFileUtil.getLimitCount(request); // file count
|
||||
int i_limit_size = checkFileUtil.getLimitSize(request); // file MB
|
||||
String s_file_exts = checkFileUtil.getS_exts(); // file exts
|
||||
|
||||
if ("".equals(s_scholSealAtchFileId)) {
|
||||
s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert(
|
||||
multiRequest, modelAndView
|
||||
, "SCHOLSEAL_"
|
||||
, s_file_exts
|
||||
, i_limit_size
|
||||
, i_file_limit
|
||||
); //EXT, MB size and ea
|
||||
}else {
|
||||
s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdate(
|
||||
multiRequest, modelAndView
|
||||
, "SCHOLSEAL_"
|
||||
, s_file_exts
|
||||
, i_limit_size
|
||||
, i_file_limit
|
||||
, s_scholSealAtchFileId
|
||||
); //EXT, MB size and ea
|
||||
}
|
||||
|
||||
if ("ERROR".equals(s_scholSealAtchFileId)) return false;
|
||||
|
||||
//step3.파일 처리====================================
|
||||
//교육신청 번호 생성 및 디비 저장하기
|
||||
//vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); //강의 구분 코드 체험교실
|
||||
vEEduAplctVO.setScholSealAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
|
||||
//vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setUserId(null);
|
||||
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
//저장전 암호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
//수정
|
||||
vEEduAplctService.update(vEEduAplctVO);
|
||||
|
||||
//차시 수정-일괄 삭제 후 저장
|
||||
//교육확정은 수정 제외
|
||||
// if(!"60".equals(vEEduAplctVO.getAprvlCd())) {
|
||||
String[] s_eduHopeDt = request.getParameterValues("eduHopeDt");
|
||||
String[] s_strtTm = request.getParameterValues("strtTm");
|
||||
String[] s_endTm = request.getParameterValues("endTm");
|
||||
String[] s_lrnTm = request.getParameterValues("lrnTm");
|
||||
String[] s_divCd = request.getParameterValues("divCd");
|
||||
String[] s_trgt = request.getParameterValues("trgt");
|
||||
String[] s_prsnl = request.getParameterValues("prsnl");
|
||||
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
//차시 전체 삭제
|
||||
vVEEduChasiService.delete(vEEduChasiVO);
|
||||
for (int i=0;i<s_eduHopeDt.length;i++) {
|
||||
String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
|
||||
vEEduChasiVO.setEduChasiOrd(eduChasiOrd);
|
||||
vEEduChasiVO.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setStrtTm(s_strtTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setEndTm(s_endTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setLrnTm(s_lrnTm[i]);
|
||||
vEEduChasiVO.setDivCd(s_divCd[i]);
|
||||
vEEduChasiVO.setTrgt(s_trgt[i]);
|
||||
vEEduChasiVO.setPrsnl(s_prsnl[i]);
|
||||
vVEEduChasiService.insert(vEEduChasiVO);
|
||||
}
|
||||
// }
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2695,7 +2695,7 @@
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 7.과정신청기간 prcsAplct_ -->
|
||||
<!-- 7.과정신청 prcsAplct_ -->
|
||||
<bean name="prcsAplctGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="strategy" ref="prcsAplctStrategy" /><!-- strategy 값 수정 -->
|
||||
@ -2703,13 +2703,28 @@
|
||||
<property name="table" value="IDS"/>
|
||||
<property name="tableName" value="PRCS_APLCT_ORD"/><!-- tableName 값 수정 -->
|
||||
</bean>
|
||||
<!-- 과정신청기간 ID Generation Strategy Config -->
|
||||
<!-- 과정신청 ID Generation Strategy Config -->
|
||||
<bean name="prcsAplctStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
|
||||
<property name="prefix" value="prcsAplct_" /><!-- prefix 값 수정 -->
|
||||
<property name="cipers" value="10" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 7-1.과정신청기간 prcsAplctPrd_ -->
|
||||
<bean name="prcsAplctPrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="strategy" ref="prcsAplctPrdStrategy" /><!-- strategy 값 수정 -->
|
||||
<property name="blockSize" value="10"/>
|
||||
<property name="table" value="IDS"/>
|
||||
<property name="tableName" value="PRCS_APLCT_PRD_ORD"/><!-- tableName 값 수정 -->
|
||||
</bean>
|
||||
<!-- 과정신청기간 ID Generation Strategy Config -->
|
||||
<bean name="prcsAplctPrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
|
||||
<property name="prefix" value="prcsAplctPrd_" /><!-- prefix 값 수정 -->
|
||||
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 8.과정온라인콘텐츠 prcsOnln_ -->
|
||||
<bean name="prcsOnlnGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
|
||||
@ -123,6 +123,14 @@
|
||||
<include refid="VEEduMIXDAO.table_name"/> a
|
||||
WHERE
|
||||
1=1
|
||||
|
||||
<isNotEmpty property="prcsOrd">
|
||||
AND a.prcs_ord=#prcsOrd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="sbmtYn">
|
||||
AND a.sbmt_yn=#sbmtYn#
|
||||
</isNotEmpty>
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 L page -->
|
||||
|
||||
@ -29,6 +29,14 @@
|
||||
atch_file_id,
|
||||
|
||||
title
|
||||
|
||||
,dead_line_dt
|
||||
,prcs_ord
|
||||
,edu_part_cd
|
||||
,nos
|
||||
,ddln_cd
|
||||
,edu_strt_pnttm
|
||||
,edu_ddln_pnttm
|
||||
</sql>
|
||||
|
||||
<!-- 조회용 공통 컬럼 명 -->
|
||||
@ -50,6 +58,14 @@
|
||||
a.atch_file_id AS atchFileId,
|
||||
|
||||
a.title AS title
|
||||
|
||||
,a.dead_line_dt AS deadLineDt
|
||||
,a.prcs_ord AS prcsOrd
|
||||
,a.edu_part_cd AS eduPartCd
|
||||
,a.nos AS nos
|
||||
,a.ddln_cd AS ddlnCd
|
||||
,a.edu_strt_pnttm AS eduStrtPnttm
|
||||
,a.edu_ddln_pnttm AS eduDdlnPnttm
|
||||
</sql>
|
||||
|
||||
<!-- 강사 등록 C -->
|
||||
@ -76,6 +92,14 @@
|
||||
#atchFileId#,
|
||||
|
||||
#title#
|
||||
|
||||
,#deadLineDt#
|
||||
,#prcsOrd#
|
||||
,#eduPartCd#
|
||||
,#nos#
|
||||
,#ddlnCd#
|
||||
,#eduStrtPnttm#
|
||||
,#eduDdlnPnttm#
|
||||
)
|
||||
</insert>
|
||||
|
||||
@ -124,6 +148,28 @@
|
||||
, atch_file_id = #atchFileId#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="deadLineDt">
|
||||
, dead_line_dt = #deadLineDt#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="prcsOrd">
|
||||
, prcs_ord = #prcsOrd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="eduPartCd">
|
||||
, edu_part_cd = #eduPartCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="nos">
|
||||
, nos = #nos#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="ddlnCd">
|
||||
, ddln_cd = #ddlnCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="eduStrtPnttm">
|
||||
, edu_strt_pnttm = #eduStrtPnttm#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="eduDdlnPnttm">
|
||||
, edu_ddln_pnttm = #eduDdlnPnttm#
|
||||
</isNotEmpty>
|
||||
|
||||
WHERE
|
||||
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
</update>
|
||||
@ -156,6 +202,31 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기반강화등을 위한 신청 가능 과정 L -->
|
||||
<select id="VEPrcsAplctPrdDAO.selectList4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
|
||||
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
|
||||
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
|
||||
, b.prcs_nm as prcsNm
|
||||
FROM
|
||||
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
|
||||
, ve_prcs b
|
||||
|
||||
WHERE
|
||||
1=1
|
||||
AND a.prcs_ord=b.prcs_ord
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.lctr_div_cd=#lctrDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="useYn">
|
||||
AND a.use_yn=#useYn#
|
||||
</isNotEmpty>
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 L page -->
|
||||
<select id="VEPrcsAplctPrdDAO.selectPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
SELECT
|
||||
@ -174,6 +245,10 @@
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.lctr_div_cd=#lctrDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
@ -184,6 +259,65 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.prcs_aplct_prd_ord desc
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기반강화, 기소유예 L page -->
|
||||
<select id="VEPrcsAplctPrdDAO.selectPagingList4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
|
||||
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
|
||||
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
|
||||
, b.prcs_nm as prcsNm
|
||||
|
||||
, (SELECT COUNT(*)
|
||||
FROM ve_edu_aplct x
|
||||
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
|
||||
AND x.sbmt_yn='Y'
|
||||
) AS nosCnt1
|
||||
/*
|
||||
신청자 정보
|
||||
*/
|
||||
|
||||
FROM
|
||||
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
|
||||
, ve_prcs b
|
||||
|
||||
WHERE
|
||||
1=1
|
||||
AND a.prcs_ord=b.prcs_ord
|
||||
|
||||
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.lctr_div_cd=#lctrDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
@ -232,4 +366,55 @@
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
<select id="VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
|
||||
a.lctr_div_cd AS lctrDivCd,
|
||||
a.strt_pnttm AS strtPnttm,
|
||||
a.end_pnttm AS endPnttm,
|
||||
a.use_yn AS useYn,
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
a.anncm_cn AS anncmCn,
|
||||
a.popup_cn AS popupCn,
|
||||
a.atch_file_id AS atchFileId,
|
||||
a.title AS title ,
|
||||
(SELECT user_nm
|
||||
FROM comvnusermaster
|
||||
WHERE esntl_id = a.frst_register_id
|
||||
)
|
||||
AS frstRegisterNm ,
|
||||
(SELECT orignl_file_nm
|
||||
FROM lettnfiledetail
|
||||
WHERE atch_file_id = a.atch_file_id LIMIT 1
|
||||
)
|
||||
AS atchFileNm
|
||||
|
||||
, b.prcs_nm as prcsNm
|
||||
|
||||
,a.dead_line_dt AS deadLineDt
|
||||
,a.prcs_ord AS prcsOrd
|
||||
,a.edu_part_cd AS eduPartCd
|
||||
,a.nos AS nos
|
||||
,a.ddln_cd AS ddlnCd
|
||||
,a.edu_strt_pnttm AS eduStrtPnttm
|
||||
,a.edu_ddln_pnttm AS eduDdlnPnttm
|
||||
|
||||
FROM ve_prcs_aplct_prd a
|
||||
, ve_prcs b
|
||||
|
||||
WHERE
|
||||
1=1
|
||||
AND a.prcs_ord=b.prcs_ord
|
||||
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
ORDER BY a.strt_pnttm DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -0,0 +1,699 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="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="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" />
|
||||
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsAplctMngDetail.jsp
|
||||
* @Description : 기반강화연수 신청 상세 보기
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용준
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육신청 상세</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
function fncGoDetail(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngDetail.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function fncGoEdit(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMdfy.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function fncGoEdit2(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMdfy2.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function fncSendSubmit(){
|
||||
if(confirm("확정 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do",
|
||||
data: {
|
||||
"eduAplctOrd" : $("#eduAplctOrd").val() ,
|
||||
"aprvlCd" : VeConstants.APRVL_CD_20,
|
||||
},
|
||||
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 fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncRejectPopup() {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/rejectPopup.do"
|
||||
, "500"
|
||||
, "350"
|
||||
, "RejectPopup",$("#linkForm")
|
||||
);
|
||||
}
|
||||
|
||||
function fncPrintPopup() {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/eduAplctMngDetailPopup.do"
|
||||
, "1000"
|
||||
, "700"
|
||||
, "PrintPopup",$("#linkForm")
|
||||
);
|
||||
}
|
||||
|
||||
function fncGoRemove(){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/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 fncStatusChange(thisObj){
|
||||
var statusVal = $(thisObj).closest("div").find("select:first").val();
|
||||
if(statusVal == ''){
|
||||
alert('상태를 선택해주세요.');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(confirm("상태를 변경 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do",
|
||||
data: {
|
||||
"eduAplctOrd" : $("#eduAplctOrd").val() ,
|
||||
"aprvlCd" : statusVal,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
if(returnData.rsCnt > 0){
|
||||
|
||||
if(statusVal == VeConstants.APRVL_CD_60 ){
|
||||
// 확정일경우에 확정 목록으로 넘어가기때문에 목록으로 가도록 설정
|
||||
//fncInstrAsgnm(); //교육 확정시 강사 자동 배정이 필요하면 해당 주석 지울것
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("상태가 변경 되었습니다.");
|
||||
fncGoDetail();
|
||||
}
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncInstrAsgnm(){
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/web/ve/comm/instrAsgnmAjax.do",
|
||||
data: {
|
||||
"eduAplctOrd" : $("#eduAplctOrd").val() ,
|
||||
"instrDiv" : "10" ,
|
||||
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
if(returnData.result=="success"){
|
||||
alert("상태가 변경 되었습니다.");
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("강사 자동 배정 중에 오류가 발생 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//sms 발송
|
||||
function fncSndSms(){
|
||||
|
||||
var p_smsMsg = $("#smsMsg").val();
|
||||
|
||||
if (p_smsMsg==""){
|
||||
alert("SMS 발송 내용은 필수값입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
fncContent(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/smsSndAjax.do",
|
||||
"10",
|
||||
p_smsMsg,
|
||||
""
|
||||
);
|
||||
}
|
||||
|
||||
//이메일 발송
|
||||
function fncSndEmail(){
|
||||
|
||||
var p_smsEmail = $("#smsEmail").val();
|
||||
|
||||
if (p_smsEmail==""){
|
||||
alert("이메일 발송 내용은 필수값입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
fncContent(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndAjax.do",
|
||||
"20",
|
||||
p_smsEmail,
|
||||
"C"
|
||||
);
|
||||
}
|
||||
|
||||
//발송
|
||||
function fncContent(p_url, p_cd, p_cn, p_flag){
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
// enctype: 'multipart/form-data',
|
||||
url:p_url,
|
||||
//data: data,
|
||||
data:{
|
||||
"sndCd": p_cd,
|
||||
"sndCn": p_cn,
|
||||
"eduAplctOrd": $("#eduAplctOrd").val(),
|
||||
"clphone": '<c:out value="${info.clphone}" />',
|
||||
"email": '<c:out value="${info.email}" />',
|
||||
"sndFlag": p_flag
|
||||
},
|
||||
dataType:'json',
|
||||
/*
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
*/
|
||||
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("정상적으로 발송되었습니다.");
|
||||
|
||||
}else{
|
||||
alert("발송 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
function updateHiddenMemo(){
|
||||
$("#prvtMemoCn").val($("#hiddenMemo").val());
|
||||
|
||||
var data1 = new FormData(document.getElementById("hiddenMemoForm"));
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/unqIsuesRegPopupAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장 되었습니다.");
|
||||
location.reload();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' />"/>
|
||||
<input type="hidden" name="pageUnit" value="<c:out value='${vEEduAplctVO.pageUnit}' />"/>
|
||||
<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="searchStatus2" value="<c:out value="${vEEduAplctVO.searchStatus2}" />" />
|
||||
<input type="hidden" name="searchScholDivCd" value="<c:out value="${vEEduAplctVO.searchScholDivCd}" />" />
|
||||
<input type="hidden" name="searchEduSlctAreaCd" value="<c:out value="${vEEduAplctVO.searchEduSlctAreaCd}" />" />
|
||||
<input type="hidden" name="searchScholNm" value="<c:out value="${vEEduAplctVO.searchScholNm}" />" />
|
||||
<input type="hidden" name="searchStartDt" value="<c:out value="${vEEduAplctVO.searchStartDt}" />" />
|
||||
<input type="hidden" name="searchEndDt" value="<c:out value="${vEEduAplctVO.searchEndDt}" />" />
|
||||
<input type="hidden" name="searchSmbtStartDt" value="<c:out value="${vEEduAplctVO.searchSmbtStartDt}" />" />
|
||||
<input type="hidden" name="searchSmbtEndDt" value="<c:out value="${vEEduAplctVO.searchSmbtEndDt}" />" />
|
||||
</form:form>
|
||||
|
||||
<form id="popForm" name="popForm" method="post">
|
||||
<input type="hidden" name="callFunc" value="callFunc"/>
|
||||
<input type="hidden" name="targetId" value=""/>
|
||||
</form>
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
|
||||
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
|
||||
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="${info.lctrDivCd}" />
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' />"/>
|
||||
<input type="hidden" name="pageUnit" value="<c:out value='${vEEduAplctVO.pageUnit}' />"/>
|
||||
<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="searchStatus2" value="<c:out value="${vEEduAplctVO.searchStatus2}" />" />
|
||||
<input type="hidden" name="searchScholDivCd" value="<c:out value="${vEEduAplctVO.searchScholDivCd}" />" />
|
||||
<input type="hidden" name="searchEduSlctAreaCd" value="<c:out value="${vEEduAplctVO.searchEduSlctAreaCd}" />" />
|
||||
<input type="hidden" name="searchScholNm" value="<c:out value="${vEEduAplctVO.searchScholNm}" />" />
|
||||
<input type="hidden" name="searchStartDt" value="<c:out value="${vEEduAplctVO.searchStartDt}" />" />
|
||||
<input type="hidden" name="searchEndDt" value="<c:out value="${vEEduAplctVO.searchEndDt}" />" />
|
||||
<input type="hidden" name="searchSmbtStartDt" value="<c:out value="${vEEduAplctVO.searchSmbtStartDt}" />" />
|
||||
<input type="hidden" name="searchSmbtEndDt" value="<c:out value="${vEEduAplctVO.searchSmbtEndDt}" />" />
|
||||
</form:form>
|
||||
<form id="hiddenMemoForm" name="hiddenMemoForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
|
||||
<input type="hidden" name="prvtMemoCn" id="prvtMemoCn" value="" />
|
||||
</form>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 신청 상세</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>청소년 찾아가는 저작권교육</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육신청 상세</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육신청 내용</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육구분</p>
|
||||
</th>
|
||||
<td>
|
||||
<ve:code codeId="VE0007" code="${info.eduSlctCd}"/>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>학교(기관)명</p>
|
||||
</th>
|
||||
<td><c:out value="${info.scholInsttNm}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교구분</p>
|
||||
</th>
|
||||
<td>
|
||||
<ve:code codeId="VE0009" code="${info.scholDivCd}"/>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>도시벽지학교여부</p>
|
||||
</th>
|
||||
<td>${info.isltnScholYn eq 'Y' ? '예' : '아니오'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td colspan="3">${info.addr} ${info.addrDetail}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>담당자</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value="${info.chrgNm}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td>${info.clphone}</td>
|
||||
<th scope="row">
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td>${info.phone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td colspan="3">${info.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육장소</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:out value="${info.eduPlace}" />
|
||||
<p style="padding-left:10%;">
|
||||
<input type="checkbox" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if> disabled="disabled"> 집체교육
|
||||
</p>
|
||||
<p style="padding-left:20px;">
|
||||
<input type="checkbox" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if> disabled="disabled"> 방송실교육
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육내용</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<c:if test="${fn:contains(info.eduCn, list.prcsOrd)}">
|
||||
- ${list.prcsNm} <br/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>기자재 유무</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<ve:code codeId="VE0021" joinCode="${info.eqpmnCn}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>신청상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.useYn eq 'N' or info.aprvlCd eq '40'}">
|
||||
<span class="app_status3">신청취소</span>
|
||||
</c:when>
|
||||
<c:when test="${info.sbmtYn eq 'N' or empty info.sbmtYn}">
|
||||
<span class="app_status2">작성중</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '10'}">
|
||||
<span class="app_status1">교육신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '230'}">
|
||||
<span class="app_status1">대기</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '20'}">
|
||||
<span class="app_status1">교육승인</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '30'}">
|
||||
<span class="app_status1">교육반려</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '60'}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '70'}">
|
||||
<span class="app_status1">수정요청<c:if test="${info.isWait eq 'Y'}">(대기)</c:if></span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '80'}">
|
||||
<span class="app_status1">수정완료<c:if test="${info.isWait eq 'Y'}">(대기)</c:if></span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '70'}">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>수정요청사유</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value='${fn:replace(info.aprvlCn, replaceChar, "<br/>")}' escapeXml="false" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육차시 정보</p>
|
||||
</div>
|
||||
<div class="tb_type01 list2">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 14%">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">no</th>
|
||||
<th scope="col">교육희망일</th>
|
||||
<th scope="col">시간</th>
|
||||
<th scope="col">구분</th>
|
||||
<th scope="col">대상</th>
|
||||
<th scope="col">배정강사</th>
|
||||
<th scope="col">인원</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${status.count}" /></td>
|
||||
<td>
|
||||
<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"/> --%>
|
||||
${list.eduHopeDt}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<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"/>
|
||||
(${list.lrnTm}분)
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0010" code="${list.divCd}"/>
|
||||
</td>
|
||||
<td><c:out value="${list.trgt}" /></td>
|
||||
<td>
|
||||
<c:out value="${cryptoUtil.decrypt(list.instrNm)}"/>
|
||||
<c:if test="${list.instrNm eq null}">
|
||||
-
|
||||
</c:if>
|
||||
<c:if test="${list.instrNm ne null}">
|
||||
<br/>(${fn:split(list.userId,'_')[1]*1})
|
||||
</c:if>
|
||||
</td>
|
||||
<td><c:out value="${list.prsnl}" /></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 알림 정보 상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>알림정보</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>SMS 내용</p>
|
||||
</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea id="smsMsg" placeholder="* 메시지는 단문(90byte)으로만 작성 가능합니다." onkeyup="countBytes(this ,90 ,$('#byteSms')[0])"></textarea>
|
||||
<button type="button" class="btn_type08" onclick="fncSndSms();return false;">SMS 발송</button>
|
||||
</div>
|
||||
<p><span id="byteSms">0</span>/90 byte</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>이메일 답변 내용</p>
|
||||
</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea id="smsEmail" onkeyup="countBytes(this ,1000 ,$('#byteEmail')[0])"></textarea>
|
||||
<button type="button" class="btn_type08" onclick="fncSndEmail();return false;">이메일 발송</button>
|
||||
|
||||
</div>
|
||||
<p><span id="byteEmail">0</span>/1000 byte</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
|
||||
<!-- 비공개 메보 정보 -->
|
||||
<div class="tb_tit01">
|
||||
<p>비공개 메모</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>내용</p>
|
||||
</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="hiddenMemo" id="hiddenMemo"><c:out value="${info.prvtMemoCn}" /></textarea>
|
||||
<button type="button" class="btn_type08" onclick="updateHiddenMemo(); return false;">메모 저장</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //비공개 메모 정보 -->
|
||||
|
||||
<!-- //list_상세 -->
|
||||
<!-- //list -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<select id="saveStatus" name="saveStatus" class="sel_type1">
|
||||
<option value="">상태선택</option>
|
||||
<option value="${VeConstants.STATUS_CD_WAIT}">대기</option> <!-- 230 -->
|
||||
<option value="${VeConstants.STATUS_CD_SBMT}">교육신청</option> <!-- 10 -->
|
||||
<option value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option> <!-- 70 -->
|
||||
<option value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option> <!-- 80 -->
|
||||
<option value="${VeConstants.STATUS_CD_CAN}">교육취소</option> <!-- 40 -->
|
||||
<option value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option> <!-- 60 -->
|
||||
|
||||
</select>
|
||||
<button type="button" class="btn_type05" onclick="fncStatusChange(this); return false;">상태저장</button>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btn_type01" onclick="fncPrintPopup(); return false;">신청서 출력</button>
|
||||
<c:if test="${info.aprvlCd eq '10'}">
|
||||
<!-- 방식이 변경되어 해당 버튼은 삭제처리 합니다.
|
||||
<button type="button" class="btn_type05" onclick="fncSendSubmit();">확정</button>
|
||||
-->
|
||||
|
||||
|
||||
<!-- <button type="button" class="btn_type01" onclick="fncGoEdit();">신청서 수정</button> -->
|
||||
</c:if>
|
||||
<c:set var="qustnrRespondIdYn" value="N" />
|
||||
<c:forEach var="chasiAllList" items="${chasiAllList}" varStatus="status">
|
||||
<c:if test="${not empty chasiAllList.qustnrRespondId}">
|
||||
<c:set var="qustnrRespondIdYn" value="Y" />
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${qustnrRespondIdYn eq 'N'}">
|
||||
<button type="button" class="btn_type01" onclick="fncGoEdit();">신청서 수정</button>
|
||||
</c:if>
|
||||
<!--
|
||||
<button type="button" class="btn_type05" onclick="fncInstrAsgnm();">자동배정 테스트</button>
|
||||
-->
|
||||
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
|
||||
|
||||
<c:if test="${info.aprvlCd eq '10'}">
|
||||
<button type="button" class="btn_type02" onclick="fncRejectPopup();">수정요청</button>
|
||||
</c:if>
|
||||
<button type="button" class="btn_type03" onclick="fncGoRemove();" >삭제</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList();">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- //cont -->
|
||||
<a href="javascript:fncGoEdit2();">.</a>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -0,0 +1,464 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="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="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" />
|
||||
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
|
||||
.list_util .btn_type03 {
|
||||
height: 40px;
|
||||
padding: 0 18px 0 18px
|
||||
margin: 0 2px;
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
letter-spacing: -0.8px;
|
||||
border-radius: 5px;
|
||||
box-sizing: border-box;
|
||||
transition: background-color .1s linear;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
function press(event) {
|
||||
if (event.keyCode==13) {
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncCreate() {
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctReg.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function linkPhonePage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngPhoneList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function fncGoDetail(eduAplctOrd){
|
||||
var listForm = document.listForm ;
|
||||
listForm.eduAplctOrd.value = eduAplctOrd ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function excelDownLoad(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctExcelDownLoad.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
if($(this).prop('tagName') == 'SELECT'){
|
||||
if($(this).attr('name').indexOf('Month') != -1){
|
||||
$(this).val(new Date().getMonth()+1);
|
||||
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||
$(this).val(new Date().getFullYear());
|
||||
}else{
|
||||
$(this).prop("selectedIndex", 0);
|
||||
}
|
||||
}else{
|
||||
$(this).val('');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//체크박스 전체 선택
|
||||
function chkAll(thisObj){
|
||||
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
|
||||
}
|
||||
|
||||
// 신청서 일괄 출력
|
||||
function fncPrintListPopup() {
|
||||
if ($("input:checkbox[name='chk']:checked").length <= 0) {
|
||||
alert("출력할 신청목록을 하나 이상 체크하세요.");
|
||||
}
|
||||
else {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/eduAplctMngDetailListPopup.do"
|
||||
, "1000"
|
||||
, "700"
|
||||
, "ListPrintPopup",$("#listForm")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function fncChkStatusUpdate() {
|
||||
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||
var statusVal = $("#saveStatus option:selected").val();
|
||||
|
||||
if(chkLen == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(statusVal == ''){
|
||||
alert('상태를 선택해주세요.');
|
||||
return false;
|
||||
}
|
||||
$("#aprvlCd").val(statusVal);
|
||||
|
||||
var data1 = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("상태를 변경 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusListAjax.do",
|
||||
data: data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.rsCnt > 0){
|
||||
if(returnData.result == 'success'){
|
||||
alert("저장 되었습니다.");
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
<title>신청관리</title>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" method="post">
|
||||
<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" value="" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value="" />
|
||||
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="<c:out value="${vEEduAplctVO.lctrDivCd}" />" />
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육신청 목록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>청소년 찾아가는 저작권 교육</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육신청목록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_top -->
|
||||
<div class="list_top">
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>구분</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<label for="searchStatus2" class="label">신청상태 선택</label>
|
||||
<select class="sel_type1" 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_WAIT ? 'selected' : ''} value="${VeConstants.STATUS_CD_WAIT}">대기</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_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
||||
</select>
|
||||
<ve:select codeId="VE0009" name="searchScholDivCd" id="searchScholDivCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchScholDivCd}" defaultValue="" defaultText='전체'/>
|
||||
<ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchEduSlctAreaCd}" defaultValue="" defaultText='전체'/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>학교(기관)명</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchScholNm" name="searchScholNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.searchScholNm}" onkeyDown="press(event);">
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>신청자명</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchChrgNm" name="searchChrgNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.searchChrgNm}" onkeyDown="press(event);">
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_2">
|
||||
<div class="util_left">
|
||||
<p>교육일자</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="${vEEduAplctVO.searchStartDt}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="endDate" name="searchEndDt" value="${vEEduAplctVO.searchEndDt}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_3">
|
||||
<div class="util_left">
|
||||
<p>신청일자</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEEduAplctVO.searchSmbtStartDt}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEEduAplctVO.searchSmbtEndDt}">
|
||||
</div>
|
||||
<div style="padding-left:30px;">
|
||||
관리자 수정 건만 보기<input type="checkbox" name="searchAdminUpdtYn" id="searchAdminUpdtYn" value="Y" <c:if test="${vEEduAplctVO.searchAdminUpdtYn eq 'Y'}">checked</c:if>>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||
<option value='10' <c:if test="${vEEduAplctVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEEduAplctVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
|
||||
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 5%">
|
||||
<col style="width: 5%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
|
||||
<th>번호</th>
|
||||
<th>교육일자<button class="sort sortBtn" id="sort_eduHopeDt">▲</button></th>
|
||||
<th>신청일자<button class="sort sortBtn" id="sort_sbmtPnttm">▲</button></th>
|
||||
<th>지역</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">
|
||||
<c:choose>
|
||||
<c:when test="${list.notiCnt == 0}">
|
||||
<tr class="new_cont" title="<c:out value='${list.eduAplctOrd}'/>" style="cursor:pointer;">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr title="<c:out value='${list.eduAplctOrd}'/>" style="cursor:pointer;">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<td>
|
||||
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="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="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
<c:out value="${list.sbmtPnttm}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
<c:if test="${list.eduSlctCd eq '10'}">
|
||||
(온)
|
||||
</c:if>
|
||||
<ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
<c:out value="${list.scholInsttNm}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
<c:out value="${list.lrnTm}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
<ve:code codeId="VE0009" code="${list.scholDivCd}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||
|
||||
<c:out value="${list.chrgNm}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}">
|
||||
<span class="app_status1">대기</span>
|
||||
</c:when>
|
||||
<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">수정요청<c:if test="${list.isWait eq 'Y'}">(대기)</c:if></span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||
<span class="app_status3">수정완료<c:if test="${list.isWait eq 'Y'}">(대기)</c:if></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>
|
||||
<td>
|
||||
<c:if test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||
<p>${list.aprvlPnttm}</p>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.adminUpdtYn eq 'Y'}">
|
||||
예
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
아니오
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<select id="saveStatus" name="saveStatus" class="sel_type1">
|
||||
<option value="">상태선택</option>
|
||||
<option value="${VeConstants.STATUS_CD_WAIT}">대기</option>
|
||||
<option value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
|
||||
<option value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
|
||||
<option value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
|
||||
<option value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
|
||||
<option value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
||||
<%-- <option value="${VeConstants.STATUS_CD_WAIT_N}">대기(삭제)</option> --%>
|
||||
<%-- <option value="${VeConstants.STATUS_CD_WAIT_Y}">대기(처리)</option> --%>
|
||||
</select>
|
||||
<button type="button" class="btn_type05" onclick="fncChkStatusUpdate(); return false;">상태저장</button>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
<!-- //page -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<a href="#" onclick="javascript:linkPhonePage('1'); return false;">.</a>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,210 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsAplctPrdMngDetail.jsp
|
||||
* @Description : 기반강화연수 기간 상세화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
function fncMdfy(){
|
||||
var detailForm = document.detailForm ;
|
||||
detailForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.do'/>";
|
||||
detailForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 상세</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 상세</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<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>
|
||||
<c:out value="${info.prcsNm}"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">교육부분코드</th>
|
||||
<td>
|
||||
<ve:code codeId="VEA001" code="${info.eduPartCd}"/>
|
||||
</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>
|
||||
<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>
|
||||
<ve:code codeId="VE0034" code="${info.ddlnCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>공개여부(사용여부)</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${empty info.useYn or info.useYn eq 'Y'}">예</c:if>
|
||||
<c:if test="${info.useYn eq 'N'}">아니오</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육신청자</p>
|
||||
</div>
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 5%">
|
||||
<col style="width: 5%">
|
||||
<col style="width: 210px;"><!-- name -->
|
||||
<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>신청자<button class="sort sortBtn" id="sort_chrgNm">▲</button></th>
|
||||
<th>제출일시<button class="sort sortBtn" id="sort_sbmtPnttm">▲</button></th>
|
||||
-->
|
||||
<th>신청상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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="${status.count}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.chrgNm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.sbmtPnttm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,317 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsAplctPrdMngList.jsp
|
||||
* @Description : 기반강화연수 과정 신청기간관리 목록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.14 조용준 최초 생성
|
||||
* @author 조용준
|
||||
* @since 2021.12.14
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncGoDetail(prcsAplctPrdOrd){
|
||||
var listForm = document.listForm ;
|
||||
listForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncCreate() {
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngReg.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncDelete(prcsOrd){
|
||||
document.listForm.prcsOrd.value = prcsOrd ;
|
||||
|
||||
var pageIndex = document.listForm.pageIndex.value;
|
||||
if($(".listCount").length == '1'){
|
||||
pageIndex = pageIndex -1;
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.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("삭제되었습니다.");
|
||||
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||
linkPage(pageIndex);
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
}
|
||||
|
||||
function fncSaveSort(prcsOrd, count){
|
||||
|
||||
var sortNo = $('#prcsSortNo'+count).val();
|
||||
|
||||
if(sortNo == ''){
|
||||
|
||||
alert("표시순서를 입력해 주세요.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
$('#prcsOrd').val(prcsOrd);
|
||||
$('#prcsSortNo').val(sortNo);
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.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("저장되었습니다.");
|
||||
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>과정신청기간관리목록</title>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||
<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" id="prcsOrd" name="prcsOrd" value="" />
|
||||
<input type="hidden" id="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="" />
|
||||
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>과정신청기간관리목록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>기반강화연수관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">과정신청기간관리목록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<div class="tb_tit01">
|
||||
<p>과정 신청기간 관리</p>
|
||||
</div>
|
||||
<!-- list_top -->
|
||||
<div class="list_top">
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>이름</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<kc:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${vEPrcsDetailVO.prcsDiv}"
|
||||
defaultValue=""
|
||||
defaultText="전체"
|
||||
/>
|
||||
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '02')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind012">갱신</label>
|
||||
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '03')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind0123">의무</label>
|
||||
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>">
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_util">
|
||||
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list_top -->
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<%-- <div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
</div> --%>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 10%">
|
||||
<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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<kc:code codeId="VEA001" code="${list.eduPartCd}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<kc:code codeId="VE0034" code="${list.ddlnCd}"/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value="${list.useYn}"/>
|
||||
</td>
|
||||
<!--
|
||||
<td>
|
||||
<button class="btnType02" onclick="fncDelete('<c:out value='${list.prcsOrd}'/>'); return false;" >삭제</button>
|
||||
</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>
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</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="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //page -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,272 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsAplctPrdMngMdfy.jsp
|
||||
* @Description : 기반강화연수 기간 정보 수정
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
function addPro() {
|
||||
var addQuest = $(".addPro_wrap");
|
||||
var questLen = addQuest.children("div").length;
|
||||
questLen = Number(questLen+1);
|
||||
var trHtml="";
|
||||
|
||||
trHtml += '<div class="tbody_one">';
|
||||
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||
trHtml += '<div>';
|
||||
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||
trHtml += '</div>';
|
||||
trHtml += '</div>';
|
||||
|
||||
addQuest.append(trHtml);
|
||||
}
|
||||
|
||||
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||
function delPro(item) {
|
||||
var bodyThis = $(item).closest('.tbody_one');
|
||||
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||
var idx = bodyThis.index();
|
||||
|
||||
if(len == 1){
|
||||
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||
return false;
|
||||
}else{
|
||||
bodyThis.remove();
|
||||
|
||||
for(var i=0;i<len;i++){
|
||||
if(idx>i){
|
||||
tb.eq(i).find('.span_num3').text(i+1);
|
||||
}else{
|
||||
tb.eq(i).find('.span_num3').text(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncAddUser(){
|
||||
var obj = $(".memList:first").clone(true);
|
||||
obj.children('input').val('')
|
||||
/*
|
||||
var len = $(".memList").length;
|
||||
$.each(obj.find("input"), function(idx, objInput){
|
||||
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||
console.log(objInput.name);
|
||||
if(objInput.name.indexOf("memGrade") < 0){
|
||||
objInput.value = '';
|
||||
}
|
||||
});
|
||||
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||
obj.find("tr:last > td").text("");
|
||||
*/
|
||||
$(".memList:last").after(obj);
|
||||
}
|
||||
|
||||
function fncDelUser(obj){
|
||||
if($(".memList").length <= 1){
|
||||
alert("담당자은 최소1개가 존재해야합니다.");
|
||||
}else{
|
||||
$(obj).closest("td").remove();
|
||||
}
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfyAjax.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 fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' default='1' />"/>
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육 과정 수정</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육콘텐츠</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육 과정 관리</span></li>
|
||||
<li><span class="cur_nav">교육 과정 수정</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육과정관리</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<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:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||
|
||||
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
|
||||
|
||||
<c:forEach var="listPrcs" items="${listPrcs}" varStatus="status">
|
||||
<option value='<c:out value="${listPrcs.prcsOrd}"/>'
|
||||
<c:if test="${listPrcs.prcsOrd eq info.prcsOrd}"> selected</c:if>
|
||||
><c:out value="${listPrcs.prcsOrd}"/>_<c:out value="${listPrcs.prcsNm}"/></option>
|
||||
</c:forEach>
|
||||
|
||||
</select>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">교육부분코드</th>
|
||||
<td>
|
||||
<ve:select codeId="VEA001" name="eduPartCd" id="eduPartCd" css="class='sel_type1'" selectedValue="${info.eduPartCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">신청기간</th>
|
||||
<td>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${info.strtPnttm}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${info.endPnttm}">
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">교육기간</th>
|
||||
<td>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="eduStrtPnttm" name="eduStrtPnttm" value="${info.eduStrtPnttm}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="eduDdlnPnttm" name="eduDdlnPnttm" value="${info.eduDdlnPnttm}">
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">정원</th>
|
||||
<td class="addPro_wrap">
|
||||
<input type="text" name="nos" id="nos" value="${info.nos}" style="width:100px;" maxLength="6">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">상태</th>
|
||||
<td><ve:select codeId="VE0034" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>공개여부(사용여부)</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="radio" name="useYn" id="useY" value="Y" ${empty vEEduAplctVO.useYn or vEEduAplctVO.useYn eq 'Y' ? 'checked' : vEEduAplctVO.useYn}>
|
||||
<label for="useY">예</label>
|
||||
<input type="radio" name="useYn" id="useN" value="N" ${vEEduAplctVO.useYn eq 'N' ? 'checked' : vEEduAplctVO.useYn}>
|
||||
<label for="useN">아니오</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,262 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduPrcsAplctPrdMngReg.jsp
|
||||
* @Description : 기반강화연수 과정 신청기간 등록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.12.16 조용준 최초 생성
|
||||
* @author 조용주
|
||||
* @since 2021.12.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
function addPro() {
|
||||
var addQuest = $(".addPro_wrap");
|
||||
var questLen = addQuest.children("div").length;
|
||||
questLen = Number(questLen+1);
|
||||
var trHtml="";
|
||||
|
||||
trHtml += '<div class="tbody_one">';
|
||||
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||
trHtml += '<div>';
|
||||
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||
trHtml += '</div>';
|
||||
trHtml += '</div>';
|
||||
|
||||
addQuest.append(trHtml);
|
||||
}
|
||||
|
||||
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||
function delPro(item) {
|
||||
var bodyThis = $(item).closest('.tbody_one');
|
||||
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||
var idx = bodyThis.index();
|
||||
|
||||
if(len == 1){
|
||||
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||
return false;
|
||||
}else{
|
||||
bodyThis.remove();
|
||||
|
||||
for(var i=0;i<len;i++){
|
||||
if(idx>i){
|
||||
tb.eq(i).find('.span_num3').text(i+1);
|
||||
}else{
|
||||
tb.eq(i).find('.span_num3').text(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncAddUser(){
|
||||
var obj = $(".memList:first").clone(true);
|
||||
obj.children('input').val('')
|
||||
/*
|
||||
var len = $(".memList").length;
|
||||
$.each(obj.find("input"), function(idx, objInput){
|
||||
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||
console.log(objInput.name);
|
||||
if(objInput.name.indexOf("memGrade") < 0){
|
||||
objInput.value = '';
|
||||
}
|
||||
});
|
||||
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||
obj.find("tr:last > td").text("");
|
||||
*/
|
||||
$(".memList:last").after(obj);
|
||||
}
|
||||
|
||||
function fncDelUser(obj){
|
||||
if($(".memList").length <= 1){
|
||||
alert("담당자은 최소1개가 존재해야합니다.");
|
||||
}else{
|
||||
$(obj).closest("td").remove();
|
||||
}
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
if(confirm("저장하시겠습니까?")){
|
||||
var url = "${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngRegAjax.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 fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>기반강화연수 과정 신청기간 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>기반강화연수관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">기반강화연수 과정 신청기간 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>기반강화연수 과정 신청기간 등록</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<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:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||
|
||||
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
|
||||
|
||||
<c:forEach var="listPrcs" items="${listPrcs}" varStatus="status">
|
||||
<option value='<c:out value="${listPrcs.prcsOrd}"/>'><c:out value="${listPrcs.prcsOrd}"/>_<c:out value="${listPrcs.prcsNm}"/></option>
|
||||
</c:forEach>
|
||||
|
||||
</select>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">교육부분코드</th>
|
||||
<td>
|
||||
<ve:select codeId="VEA001" name="eduPartCd" id="eduPartCd" css="class='sel_type1'" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">신청기간</th>
|
||||
<td>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${vEEduAplctVO.strtPnttm}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${vEEduAplctVO.endPnttm}">
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">교육기간</th>
|
||||
<td>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="eduStrtPnttm" name="eduStrtPnttm" value="${vEEduAplctVO.eduStrtPnttm}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="eduDdlnPnttm" name="eduDdlnPnttm" value="${vEEduAplctVO.eduDdlnPnttm}">
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">정원</th>
|
||||
<td class="addPro_wrap">
|
||||
<input type="text" name="nos" id="nos" value="${vEEduAplctVO.nos}" style="width:100px;" maxLength="6">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>공개여부(사용여부)</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="radio" name="useYn" id="useY" value="Y" ${empty vEEduAplctVO.useYn or vEEduAplctVO.useYn eq 'Y' ? 'checked' : vEEduAplctVO.useYn}>
|
||||
<label for="useY">예</label>
|
||||
<input type="radio" name="useYn" id="useN" value="N" ${vEEduAplctVO.useYn eq 'N' ? 'checked' : vEEduAplctVO.useYn}>
|
||||
<label for="useN">아니오</label>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,834 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" 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" />
|
||||
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육신청 수정</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('input[name="strtTm"]').attr("autocomplete","off")
|
||||
$('input[name="endTm"]').attr("autocomplete","off")
|
||||
|
||||
});
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncGoDetail(){
|
||||
var createForm = document.createForm ;
|
||||
createForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngDetail.do'/>";
|
||||
createForm.submit();
|
||||
}
|
||||
|
||||
function fncScholList() {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/comm/popup/scholPopList.do"
|
||||
, "800"
|
||||
, "650"
|
||||
, "ScholListPop",$("#popupForm")
|
||||
);
|
||||
}
|
||||
|
||||
function fncUserList() {
|
||||
commonPopWindowopenForm(
|
||||
"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/eduAplctMngUserListPop.do"
|
||||
, "800"
|
||||
, "650"
|
||||
, "ScholListPop",$("#popupForm")
|
||||
);
|
||||
}
|
||||
|
||||
function callBackSchPop(schData){
|
||||
if(emptyObject(schData)){
|
||||
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-SCH-POP]")
|
||||
return false;
|
||||
}
|
||||
$("#scholInsttNm").val(schData.scholNm);
|
||||
$("#stndrdScholCd").val(schData.stndrdScholCd);
|
||||
$("#post").val(schData.newZipcd);
|
||||
$("#addr").val(schData.newAddr);
|
||||
$("#addrDetail").val(schData.newAddrDtl);
|
||||
|
||||
$('input[name=scholDivCd][value='+schData.scholDivCd+']').prop('checked', true);
|
||||
$('input[name=isltnScholYn][value='+schData.isltnScholYn+']').prop('checked', true);
|
||||
|
||||
$("#eduSlctAreaCd").find("option").each(function(index){
|
||||
if ($(this).text() == schData.locNm) {
|
||||
$("#eduSlctAreaCd").val($(this).val());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fncSave(type){
|
||||
|
||||
if(type == 'S'){
|
||||
if (!validCheck()) return;
|
||||
}
|
||||
|
||||
var url = '${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctRegAjax.do';
|
||||
if(VeConstants.MODE_UPT == $("#mode").val()){
|
||||
url = '${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMdfyAjax.do';
|
||||
}
|
||||
|
||||
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
||||
|
||||
$("#sbmtYn").val("Y");
|
||||
$("#aprvlCd").val(VeConstants.APRVL_CD_10);
|
||||
|
||||
//핸드폰번호 하이푼 추가
|
||||
var phoneAll = document.getElementById("clphone1").value + "-"+ document.getElementById("clphone2").value + "-"+ document.getElementById("clphone3").value;
|
||||
$("#clphone").val(phoneAll);
|
||||
|
||||
var tell = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
|
||||
$("#phone").val(tell);
|
||||
//이메일 합치기
|
||||
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
|
||||
$("#email").val(emailAll);
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
alert("등록 되었습니다.");
|
||||
$("#eduAplctOrd").val(returnData.VO.eduAplctOrd);
|
||||
fncGoDetail(); //현재 메인화면 이동
|
||||
} else if(status == 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
} else{
|
||||
alert(returnData.msg);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function validCheck(){
|
||||
/*
|
||||
if($("#eduSlctCd").val() == ''){
|
||||
alert('교육선택 구분을 선택해주세요.');
|
||||
$("#eduSlctCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#eduSlctAreaCd").val() == ''){
|
||||
alert('교육선택 지역을 선택해주세요.');
|
||||
$("#eduSlctAreaCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#scholInsttNm").val() == ''){
|
||||
alert('학교(기관)명을 선택해주세요.');
|
||||
$("#scholInsttNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#scholDivCd").val() == ''){
|
||||
alert('학교구분을 선택해주세요.');
|
||||
$("#scholDivCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#isltnScholYn").val() == ''){
|
||||
alert('도서벽지학교여부를 선택해주세요.');
|
||||
$("#isltnScholYn").focus();
|
||||
return false;
|
||||
};
|
||||
*/
|
||||
|
||||
if($("#chrgNm").val() == ''){
|
||||
alert('담당자를 입력해주세요.');
|
||||
$("#chrgNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#clphone1").val() == '' || $("#clphone2").val() == '' || $("#clphone3").val() == ''){
|
||||
alert('휴대폰 번호를 입력해주세요.');
|
||||
$("#clphone2").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
/*
|
||||
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
|
||||
alert('전화번호를 입력해주세요.');
|
||||
$("#phone1").focus();
|
||||
return false;
|
||||
};
|
||||
*/
|
||||
|
||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
||||
alert('이메일을 입력해주세요.');
|
||||
$("#email1").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
/*
|
||||
if($("#eduPlace").val() == ''){
|
||||
alert('교육장소를 입력해주세요.');
|
||||
$("#eduPlace").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
|
||||
if(trObj.length == 0){
|
||||
alert('교육차시 정보를 등록해주세요.');
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
var flag = true;
|
||||
/*
|
||||
$.each(trObj , function(idx, row){
|
||||
if($(this).find('input[name=eduHopeDt]').val() == ''){
|
||||
alert('교육희망일 입력해주세요.');
|
||||
$('input[name=eduHopeDt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=strtTm]').val() == ''){
|
||||
alert('교육시작 시간을 입력해주세요.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
if($(this).find('input[name=endTm]').val() == ''){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('select[name=divCd]').val() == ''){
|
||||
alert('구분을 선택해주세요.');
|
||||
$('select[name=divCd]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=trgt]').val() == ''){
|
||||
alert('대상을 입력해주세요.');
|
||||
$('input[name=trgt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=prsnl]').val() == ''){
|
||||
alert('인원을 입력해주세요.');
|
||||
$('input[name=prsnl]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="mask2" onclick="timeLayerUtil()"></div>
|
||||
<form id="popupForm" name="popupForm" method="post">
|
||||
<input type="hidden" name="openType" id="openType" value="callBackSchPop" />
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" value="1" />
|
||||
<input type="hidden" name="pageUnit" id="pageUnit" value="5" />
|
||||
<input type="hidden" name="callBackFnc" id="callBackFnc" value="callBackSchPop" />
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" commandName="modelVO" method="post" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${modelVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="pageUnit" value="<c:out value="${modelVO.pageUnit}" />" />
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${modelVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${modelVO.searchSortOrd}" />" />
|
||||
</form:form>
|
||||
<form:form id="createForm" name="createForm" commandName="modelVO" onsubmit="return false;">
|
||||
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
|
||||
<!-- validator 체크를 위한 핸드폰, 이메일 input -->
|
||||
<input type="hidden" name="clphone" id="clphone" value=""/><!-- 연락처(핸드폰) -->
|
||||
<input type="hidden" name="phone" id="phone" value=""/><!-- 연락처 -->
|
||||
<input type="hidden" name="email" id="email" value=""/><!-- 이메일 -->
|
||||
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="mode" id="mode" value="${modelVO.mode}" />
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${modelVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="pageUnit" value="<c:out value='${modelVO.pageUnit}' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${modelVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${modelVO.searchSortOrd}" />" />
|
||||
<input type="hidden" name="searchStatus2" value="<c:out value="${modelVO.searchStatus2}" />" />
|
||||
<input type="hidden" name="searchScholDivCd" value="<c:out value="${modelVO.searchScholDivCd}" />" />
|
||||
<input type="hidden" name="searchEduSlctAreaCd" value="<c:out value="${modelVO.searchEduSlctAreaCd}" />" />
|
||||
<input type="hidden" name="searchScholNm" value="<c:out value="${modelVO.searchScholNm}" />" />
|
||||
<input type="hidden" name="searchStartDt" value="<c:out value="${modelVO.searchStartDt}" />" />
|
||||
<input type="hidden" name="searchEndDt" value="<c:out value="${modelVO.searchEndDt}" />" />
|
||||
<input type="hidden" name="searchSmbtStartDt" value="<c:out value="${modelVO.searchSmbtStartDt}" />" />
|
||||
<input type="hidden" name="searchSmbtEndDt" value="<c:out value="${modelVO.searchSmbtEndDt}" />" />
|
||||
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value="" />
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육신청 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>교육신청관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">교육신청 등록</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육신청 내용</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<!-- 등록자ID 우선 운영자 ID로 넣고 추후 요청이 오면 신청자 선택하게끔 변경 -->
|
||||
<!-- <tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>신청자</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" style="min-width:100px;" readonly id="userNm" title="신청자명">
|
||||
<input type="hidden" title="신청자 아이디" id="userId" name="userId" value="">
|
||||
<button type="button" class="btn_type06" onclick="fncUserList();">신청자 검색</button>
|
||||
</td>
|
||||
</tr> -->
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>신청과정</p>
|
||||
</th>
|
||||
<td>
|
||||
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||
|
||||
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
|
||||
|
||||
<c:forEach var="listPrcs" items="${listPrcsAplct}" varStatus="status">
|
||||
<option value='<c:out value="${listPrcs.prcsAplctPrdOrd}"/>'>
|
||||
(<c:out value="${listPrcs.eduStrtPnttm}"/>~<c:out value="${listPrcs.eduDdlnPnttm}"/>) <c:out value="${listPrcs.prcsAplctPrdOrd}"/>_<c:out value="${listPrcs.prcsNm}"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
|
||||
</select>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교육선택</p>
|
||||
</th>
|
||||
<td>
|
||||
|
||||
<label for="eduSlctCd" class="label">교육선택 구분</label>
|
||||
<kc:select codeId="VE0007" selectedValue="${info.eduSlctCd}" id="eduSlctCd" name="eduSlctCd" styleClass="sel_type1"/>
|
||||
<label for="eduSlctAreaCd" class="label">지역 구분</label>
|
||||
<kc:select codeId="VE0008" selectedValue="${info.eduSlctAreaCd}" id="eduSlctAreaCd" name="eduSlctAreaCd" styleClass="sel_type1"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>학교(기관)명</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" value="${info.scholInsttNm}" style="min-width:400px;" size="25" readonly id="scholInsttNm" name="scholInsttNm" title="학교(기관)명">
|
||||
<button type="button" class="btn_type06" onclick="fncScholList();">학교검색</button>
|
||||
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>학교구분</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:radio codeId="VE0009" id="scholDivCd" name="scholDivCd" selectedValue="${empty info.scholDivCd ? '10' : info.scholDivCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>도서벽지학교여부</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="radio" name="isltnScholYn" id="isltn_schol_N" value="N" ${empty info.isltnScholYn or info.isltnScholYn eq 'N' ? 'checked' : info.isltnScholYn}>
|
||||
<label for="isltn_schol_N">아니오</label>
|
||||
<input type="radio" name="isltnScholYn" id="isltn_schol_Y" value="Y" ${info.isltnScholYn eq 'Y' ? 'checked' : info.isltnScholYn}>
|
||||
<label for="isltn_schol_Y">예</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="input_adress">
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" value="${info.post}" class="adressFst" id="post" name="post" title="우편번호" readonly><br/><%--<button type="button" class="btnType01">주소찾기</button>--%>
|
||||
<input type="text" value="${info.addr}" class="adressMid" id="addr" name="addr" title="중간주소" readonly><br/>
|
||||
<input type="text" value="${info.addrDetail}" class="adressLst" id="addrDetail" name="addrDetail" title="상세주소" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>담당자</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" name="chrgNm" value="${info.chrgNm}" id="chrgNm" size="25">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td class="input_phone">
|
||||
<c:set var="clphone" value="${fn:split(info.clphone,'-')}"/>
|
||||
<kc:select codeId="ADR020" id="clphone1" name="clphone1" selectedValue="${clphone[0]}" defaultValue="010" styleClass="sel_type1"/>
|
||||
-
|
||||
<input type="text" value="${clphone[1]}" id="clphone2" onkeyup="onlyNumber(this);" name="clphone2" maxlength="4" title="휴대폰 중간자리">
|
||||
-
|
||||
<input type="text" value="${clphone[2]}" id="clphone3" onkeyup="onlyNumber(this);" name="clphone3" maxlength="4" title="휴대폰 마지막자리">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td class="input_phone">
|
||||
<c:set var="phone" value="${fn:split(info.phone,'-')}"/>
|
||||
<input type="text" value="${phone[0]}" name="phone1" id="phone1" onkeyup="onlyNumber(this);" maxlength="3" style="width: 87px;" title="전화번호입력">
|
||||
-
|
||||
<input type="text" value="${phone[1]}" name="phone2" id="phone2" onkeyup="onlyNumber(this);" maxlength="4" title="전화번호입력">
|
||||
-
|
||||
<input type="text" value="${phone[2]}" name="phone3" id="phone3" onkeyup="onlyNumber(this);" maxlength="4" title="전화번호입력">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td class="input_mail">
|
||||
<c:set var="email" value="${fn:split(info.email,'@')}"/>
|
||||
<input type="text" value="${email[0]}" onkeyup="onlyAlphabetNumber(this);" name="email1" id="email1" size="20" maxlength="30" title="이메일 주소 입력">
|
||||
@
|
||||
<input type="text" value="${email[1]}" name="email2" id="email2" size="20" maxlength="30" title="이메일 직접 입력">
|
||||
<kc:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
|
||||
<span class="table_req_text">
|
||||
※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인<br>
|
||||
※ 교육일정 및 강사프로필은 교육 전 주에 메일로 발송됩니다.
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>교육장소</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25">
|
||||
<p style="padding-left:10%;">
|
||||
<input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>>
|
||||
<label for="corpsEdu">집체교육</label>
|
||||
</p>
|
||||
<p style="padding-left:20px;">
|
||||
<input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>>
|
||||
<label for="broadroomEdu">방송국교육</label>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육내용</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<input type="checkbox" id="eduCn${status.count}" name="eduCn" value="${list.prcsOrd}" ${fn:contains(info.eduCn, list.prcsOrd) ? 'checked' : ''}>
|
||||
<label for="eduCn${status.count}">${list.prcsNm}</label>
|
||||
<br/>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>기자재유무</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:checkbox codeId="VE0021" id="eqpmnCn" name="eqpmnCn" defaultValue="10" selectedJoinValue="${info.eqpmnCn}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>교육차시 정보</p>
|
||||
<span class="cf_text2">※ 교육추가 버튼을누러 대상별 1줄씩 작성(1줄 = 강사 1인) 바랍니다. (예시 : 3개 학급 신청 시 대상별 3줄 작성) </span>
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btn_type01" onclick="addEduClassCopy('addClassRow');">교육추가</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01">
|
||||
<table class="addClassRow" rowLimit="1">
|
||||
<colgroup>
|
||||
<col style="width: 16%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 6%;">
|
||||
</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:choose>
|
||||
<c:when test="${fn:length(chasiList) ne 0}">
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<div class="calendar_wrap">
|
||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||
<input type="text" value="<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>" name="eduHopeDt" class="calendar" title="시작일 선택" size="8">
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/>
|
||||
<input type="text" value="<fmt:formatDate value="${strtTm}" pattern="kk:mm"/>" class="time" name="strtTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="st_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01" <c:if test="${fn:substring(list.strtTm,0,2) eq '01'}">selected</c:if>>01</option>
|
||||
<option value="02" <c:if test="${fn:substring(list.strtTm,0,2) eq '02'}">selected</c:if>>02</option>
|
||||
<option value="03" <c:if test="${fn:substring(list.strtTm,0,2) eq '03'}">selected</c:if>>03</option>
|
||||
<option value="04" <c:if test="${fn:substring(list.strtTm,0,2) eq '04'}">selected</c:if>>04</option>
|
||||
<option value="05" <c:if test="${fn:substring(list.strtTm,0,2) eq '05'}">selected</c:if>>05</option>
|
||||
<option value="06" <c:if test="${fn:substring(list.strtTm,0,2) eq '06'}">selected</c:if>>06</option>
|
||||
<option value="07" <c:if test="${fn:substring(list.strtTm,0,2) eq '07'}">selected</c:if>>07</option>
|
||||
<option value="08" <c:if test="${fn:substring(list.strtTm,0,2) eq '08'}">selected</c:if>>08</option>
|
||||
<option value="09" <c:if test="${fn:substring(list.strtTm,0,2) eq '09'}">selected</c:if>>09</option>
|
||||
<option value="10" <c:if test="${fn:substring(list.strtTm,0,2) eq '10'}">selected</c:if>>10</option>
|
||||
<option value="11" <c:if test="${fn:substring(list.strtTm,0,2) eq '11'}">selected</c:if>>11</option>
|
||||
<option value="12" <c:if test="${fn:substring(list.strtTm,0,2) eq '12'}">selected</c:if>>12</option>
|
||||
<option value="13" <c:if test="${fn:substring(list.strtTm,0,2) eq '13'}">selected</c:if>>13</option>
|
||||
<option value="14" <c:if test="${fn:substring(list.strtTm,0,2) eq '14'}">selected</c:if>>14</option>
|
||||
<option value="15" <c:if test="${fn:substring(list.strtTm,0,2) eq '15'}">selected</c:if>>15</option>
|
||||
<option value="16" <c:if test="${fn:substring(list.strtTm,0,2) eq '16'}">selected</c:if>>16</option>
|
||||
<option value="17" <c:if test="${fn:substring(list.strtTm,0,2) eq '17'}">selected</c:if>>17</option>
|
||||
<option value="18" <c:if test="${fn:substring(list.strtTm,0,2) eq '18'}">selected</c:if>>18</option>
|
||||
<option value="19" <c:if test="${fn:substring(list.strtTm,0,2) eq '19'}">selected</c:if>>19</option>
|
||||
<option value="20" <c:if test="${fn:substring(list.strtTm,0,2) eq '20'}">selected</c:if>>20</option>
|
||||
<option value="21" <c:if test="${fn:substring(list.strtTm,0,2) eq '21'}">selected</c:if>>21</option>
|
||||
<option value="22" <c:if test="${fn:substring(list.strtTm,0,2) eq '22'}">selected</c:if>>22</option>
|
||||
<option value="23" <c:if test="${fn:substring(list.strtTm,0,2) eq '23'}">selected</c:if>>23</option>
|
||||
<option value="24" <c:if test="${fn:substring(list.strtTm,0,2) eq '24'}">selected</c:if>>24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="st_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00" <c:if test="${fn:substring(list.strtTm,2,4) eq '00'}">selected</c:if>>00</option>
|
||||
<option value="05" <c:if test="${fn:substring(list.strtTm,2,4) eq '05'}">selected</c:if>>05</option>
|
||||
<option value="10" <c:if test="${fn:substring(list.strtTm,2,4) eq '10'}">selected</c:if>>10</option>
|
||||
<option value="15" <c:if test="${fn:substring(list.strtTm,2,4) eq '15'}">selected</c:if>>15</option>
|
||||
<option value="20" <c:if test="${fn:substring(list.strtTm,2,4) eq '20'}">selected</c:if>>20</option>
|
||||
<option value="25" <c:if test="${fn:substring(list.strtTm,2,4) eq '25'}">selected</c:if>>25</option>
|
||||
<option value="30" <c:if test="${fn:substring(list.strtTm,2,4) eq '30'}">selected</c:if>>30</option>
|
||||
<option value="35" <c:if test="${fn:substring(list.strtTm,2,4) eq '35'}">selected</c:if>>35</option>
|
||||
<option value="40" <c:if test="${fn:substring(list.strtTm,2,4) eq '40'}">selected</c:if>>40</option>
|
||||
<option value="45" <c:if test="${fn:substring(list.strtTm,2,4) eq '45'}">selected</c:if>>45</option>
|
||||
<option value="50" <c:if test="${fn:substring(list.strtTm,2,4) eq '50'}">selected</c:if>>50</option>
|
||||
<option value="55" <c:if test="${fn:substring(list.strtTm,2,4) eq '55'}">selected</c:if>>55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/>
|
||||
<input type="text" value="<fmt:formatDate value="${endTm}" pattern="kk:mm"/>" class="time" name="endTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="en_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01" <c:if test="${fn:substring(list.endTm,0,2) eq '01'}">selected</c:if>>01</option>
|
||||
<option value="02" <c:if test="${fn:substring(list.endTm,0,2) eq '02'}">selected</c:if>>02</option>
|
||||
<option value="03" <c:if test="${fn:substring(list.endTm,0,2) eq '03'}">selected</c:if>>03</option>
|
||||
<option value="04" <c:if test="${fn:substring(list.endTm,0,2) eq '04'}">selected</c:if>>04</option>
|
||||
<option value="05" <c:if test="${fn:substring(list.endTm,0,2) eq '05'}">selected</c:if>>05</option>
|
||||
<option value="06" <c:if test="${fn:substring(list.endTm,0,2) eq '06'}">selected</c:if>>06</option>
|
||||
<option value="07" <c:if test="${fn:substring(list.endTm,0,2) eq '07'}">selected</c:if>>07</option>
|
||||
<option value="08" <c:if test="${fn:substring(list.endTm,0,2) eq '08'}">selected</c:if>>08</option>
|
||||
<option value="09" <c:if test="${fn:substring(list.endTm,0,2) eq '09'}">selected</c:if>>09</option>
|
||||
<option value="10" <c:if test="${fn:substring(list.endTm,0,2) eq '10'}">selected</c:if>>10</option>
|
||||
<option value="11" <c:if test="${fn:substring(list.endTm,0,2) eq '11'}">selected</c:if>>11</option>
|
||||
<option value="12" <c:if test="${fn:substring(list.endTm,0,2) eq '12'}">selected</c:if>>12</option>
|
||||
<option value="13" <c:if test="${fn:substring(list.endTm,0,2) eq '13'}">selected</c:if>>13</option>
|
||||
<option value="14" <c:if test="${fn:substring(list.endTm,0,2) eq '14'}">selected</c:if>>14</option>
|
||||
<option value="15" <c:if test="${fn:substring(list.endTm,0,2) eq '15'}">selected</c:if>>15</option>
|
||||
<option value="16" <c:if test="${fn:substring(list.endTm,0,2) eq '16'}">selected</c:if>>16</option>
|
||||
<option value="17" <c:if test="${fn:substring(list.endTm,0,2) eq '17'}">selected</c:if>>17</option>
|
||||
<option value="18" <c:if test="${fn:substring(list.endTm,0,2) eq '18'}">selected</c:if>>18</option>
|
||||
<option value="19" <c:if test="${fn:substring(list.endTm,0,2) eq '19'}">selected</c:if>>19</option>
|
||||
<option value="20" <c:if test="${fn:substring(list.endTm,0,2) eq '20'}">selected</c:if>>20</option>
|
||||
<option value="21" <c:if test="${fn:substring(list.endTm,0,2) eq '21'}">selected</c:if>>21</option>
|
||||
<option value="22" <c:if test="${fn:substring(list.endTm,0,2) eq '22'}">selected</c:if>>22</option>
|
||||
<option value="23" <c:if test="${fn:substring(list.endTm,0,2) eq '23'}">selected</c:if>>23</option>
|
||||
<option value="24" <c:if test="${fn:substring(list.endTm,0,2) eq '24'}">selected</c:if>>24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="en_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00" <c:if test="${fn:substring(list.endTm,2,4) eq '00'}">selected</c:if>>00</option>
|
||||
<option value="05" <c:if test="${fn:substring(list.endTm,2,4) eq '05'}">selected</c:if>>05</option>
|
||||
<option value="10" <c:if test="${fn:substring(list.endTm,2,4) eq '10'}">selected</c:if>>10</option>
|
||||
<option value="15" <c:if test="${fn:substring(list.endTm,2,4) eq '15'}">selected</c:if>>15</option>
|
||||
<option value="20" <c:if test="${fn:substring(list.endTm,2,4) eq '20'}">selected</c:if>>20</option>
|
||||
<option value="25" <c:if test="${fn:substring(list.endTm,2,4) eq '25'}">selected</c:if>>25</option>
|
||||
<option value="30" <c:if test="${fn:substring(list.endTm,2,4) eq '30'}">selected</c:if>>30</option>
|
||||
<option value="35" <c:if test="${fn:substring(list.endTm,2,4) eq '35'}">selected</c:if>>35</option>
|
||||
<option value="40" <c:if test="${fn:substring(list.endTm,2,4) eq '40'}">selected</c:if>>40</option>
|
||||
<option value="45" <c:if test="${fn:substring(list.endTm,2,4) eq '45'}">selected</c:if>>45</option>
|
||||
<option value="50" <c:if test="${fn:substring(list.endTm,2,4) eq '50'}">selected</c:if>>50</option>
|
||||
<option value="55" <c:if test="${fn:substring(list.endTm,2,4) eq '55'}">selected</c:if>>55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" value="${list.lrnTm}" class="input_time" name="lrnTm">분)
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<kc:select codeId="VE0010" name="divCd" selectedValue="${list.divCd}" styleClass="sel_type1"/>
|
||||
</td>
|
||||
<td><input type="text" style="width: 75%;" name="trgt" value="${list.trgt}"></td>
|
||||
<td><input type="text" style="width: 63%;" name="prsnl" value="${list.prsnl}" maxlength="3" onkeyup="onlyNumber(this);"><p class="input_text">명</p></td>
|
||||
<td><button type="button" class="table_del" onclick="tableDel(this)"><img src="<c:url value='/visitEdu/adm/publish/image/content/btn_del.png' />"></button></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:forEach var="list" begin="1" end="2" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" name="eduHopeDt" class="calendar" title="시작일 선택" size="8">
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="strtTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="st_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="st_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="endTm">
|
||||
<div class="time_layer">
|
||||
<div class="time_top">
|
||||
<p>시간 선택</p>
|
||||
</div>
|
||||
<div class="time_cont">
|
||||
<div class="hours">
|
||||
<select name="en_hours" class="hours_select" title="시 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
<option value="15">15</option>
|
||||
<option value="16">16</option>
|
||||
<option value="17">17</option>
|
||||
<option value="18">18</option>
|
||||
<option value="19">19</option>
|
||||
<option value="20">20</option>
|
||||
<option value="21">21</option>
|
||||
<option value="22">22</option>
|
||||
<option value="23">23</option>
|
||||
<option value="24">24</option>
|
||||
</select>
|
||||
</div>
|
||||
:
|
||||
<div class="min">
|
||||
<select name="en_minute" class="min_select" title="분 선택">
|
||||
<option value="선택">선택</option>
|
||||
<option value="00">00</option>
|
||||
<option value="05">05</option>
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
<option value="20">20</option>
|
||||
<option value="25">25</option>
|
||||
<option value="30">30</option>
|
||||
<option value="35">35</option>
|
||||
<option value="40">40</option>
|
||||
<option value="45">45</option>
|
||||
<option value="50">50</option>
|
||||
<option value="55">55</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" class="input_time" name="lrnTm">분)
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<kc:select codeId="VE0010" name="divCd" styleClass="sel_type1"/>
|
||||
</td>
|
||||
<td><input type="text" style="width: 75%;" name="trgt"></td>
|
||||
<td><input type="text" style="width: 63%;" name="prsnl" maxlength="3" onkeyup="onlyNumber(this);"><p class="input_text">명</p></td>
|
||||
<td><button type="button" class="table_del" onclick="tableDel(this)"><img src="<c:url value='/visitEdu/adm/publish/image/content/btn_del.png' />"></button></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type01" onclick="fncSave('S');">저장</button>
|
||||
<button type="button" class="btn_type03" onclick="fncGoDetail();">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -175,7 +175,10 @@
|
||||
<p>이름</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<kc:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${vEPrcsDetailVO.prcsDiv}"/>
|
||||
<kc:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${vEPrcsDetailVO.prcsDiv}"
|
||||
defaultValue=""
|
||||
defaultText="전체"
|
||||
/>
|
||||
|
||||
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '01')}">checked="checked"</c:if>>
|
||||
<label class="" for="prcsKind01">신규</label>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user