이지우 - 저작권 체험교실 상태 값 추가 및 운영 계획서 등록 과정 변경으로 인하여 로직 변경, 대시보드 수정
This commit is contained in:
parent
b14c8049df
commit
01ad6c5561
@ -1,13 +1,11 @@
|
||||
package kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.impl;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
@ -18,18 +16,17 @@ import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.cmm.RestResponse;
|
||||
import kcc.kccadr.cmm.innorix.service.AdrInnorixFileVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.let.utl.fcc.service.EgovStringUtil;
|
||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ExprnClsrmAplctService;
|
||||
import kcc.ve.cmm.VeConstants;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduChasiDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
@ -91,6 +88,9 @@ public class ExprnClsrmAplctServiceImpl implements ExprnClsrmAplctService {
|
||||
@Resource(name = "vEPrcsAplctPrdService")
|
||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||
|
||||
//차시
|
||||
@Resource(name = "vEEduChasiDAO")
|
||||
private VEEduChasiDAO vVEEduChasiDAO;
|
||||
|
||||
|
||||
|
||||
@ -203,6 +203,38 @@ public class ExprnClsrmAplctServiceImpl implements ExprnClsrmAplctService {
|
||||
|
||||
// 저작권 등록
|
||||
veEduOprtnService.update(oprtn);
|
||||
|
||||
//저작권 체험교실 서류제출 시 차시별 운영계획서 제출
|
||||
if("30".equals(vEEduAplctVO.getLctrDivCd()) && "50".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_lrnSbjct = request.getParameterValues("lrnSbjct");
|
||||
String[] s_lrnCn = request.getParameterValues("lrnCn");
|
||||
String[] s_rmrks = request.getParameterValues("rmrks");
|
||||
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); //교육신청순번
|
||||
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
|
||||
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.setEduHopeDt(s_eduHopeDt[i]);
|
||||
vEEduChasiVO.setStrtTm(s_strtTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setEndTm(s_endTm[i].replaceAll("[^0-9]",""));
|
||||
vEEduChasiVO.setLrnTm(s_lrnTm[i]);
|
||||
vEEduChasiVO.setLrnSbjct(s_lrnSbjct[i]);
|
||||
vEEduChasiVO.setLrnCn(s_lrnCn[i]);
|
||||
vEEduChasiVO.setRmrks(s_rmrks[i]);
|
||||
vVEEduChasiDAO.insert(vEEduChasiVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
@ -157,7 +158,8 @@ public class ExprnClsrmAplctController {
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
|
||||
//2. pageing step2
|
||||
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
//List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
|
||||
@ -548,9 +550,13 @@ public class ExprnClsrmAplctController {
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
if("1".equals(Type)) { //type1 - 신청정보
|
||||
if("10".equals(Type) || "20".equals(Type)) { //type1 - 운영신청
|
||||
//등록일이 과정신청기간에 포함 되는지 확인 - 신청기간에 포함되며 신청 단계의 경우 수정 기능 추가
|
||||
int cnt = vEEduAplctService.selectCntAplctPrd(vEEduAplctVO);
|
||||
model.addAttribute("cnt", cnt);
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnAplctDashboard";
|
||||
}else if("2".equals(Type)) { //type2 - 서류제출
|
||||
}else if("40".equals(Type)) { //type4 - 결과보고
|
||||
|
||||
//거래선 파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getTransAtchFileId());
|
||||
@ -569,10 +575,111 @@ public class ExprnClsrmAplctController {
|
||||
result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("planFileList", result);
|
||||
model.addAttribute("planFileListCnt", result.size());
|
||||
|
||||
//운영계획 차시 리스트
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setInstrDiv("30");
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
if(vEEduChasiVOList != null) {
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
}
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnDocumentDashboard";
|
||||
}else if("3".equals(Type)) { //type3 - 운영계획
|
||||
|
||||
}else if("50".equals(Type) || "60".equals(Type)){ //type5 - 최종결과
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
if(vEEduAplctVO.getOrgnlRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOrgnlRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setOrgnlRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getCpyRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getCpyRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setCpyRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getEvdncPhtAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getEvdncPhtAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setEvdncPhtAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getRmtTrnAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getRmtTrnAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setRmtTrnAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnRprtDashboard";
|
||||
}else {
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
if(vEEduAplctVO.getOrgnlRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOrgnlRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setOrgnlRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getCpyRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getCpyRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setCpyRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getEvdncPhtAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getEvdncPhtAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setEvdncPhtAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getRmtTrnAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getRmtTrnAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setRmtTrnAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
|
||||
//운영계획 차시 리스트
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setInstrDiv("30");
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
if(vEEduChasiVOList != null) {
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
}
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnRsltDashboard";
|
||||
}
|
||||
/* if("10".equals(Type)) { //type1 - 운영신청
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnAplctDashboard";
|
||||
}else if("20".equals(Type)) { //type2 - 운영확정
|
||||
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnDocumentDashboard";
|
||||
}else if("30".equals(Type)) { //type3 - 서류제출
|
||||
//거래선 파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getTransAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("transFileList", result);
|
||||
model.addAttribute("transFileListCnt", result.size());
|
||||
|
||||
//서약서 파일 정보 가져오기
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOathAtchFileId());
|
||||
result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("oathFileList", result);
|
||||
model.addAttribute("oathFileListCnt", result.size());
|
||||
|
||||
//계획서 파일 정보 가져오기
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getPlanAtchFileId());
|
||||
result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("planFileList", result);
|
||||
model.addAttribute("planFileListCnt", result.size());
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnPlanDashboard";
|
||||
}else if("4".equals(Type)) { //type4 - 결과보고
|
||||
}else if("40".equals(Type)) { //type4 - 결과보고
|
||||
FileVO fileVO = new FileVO();
|
||||
if(vEEduAplctVO.getOrgnlRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOrgnlRsltAtchFileId());
|
||||
@ -620,7 +727,7 @@ public class ExprnClsrmAplctController {
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnRsltDashboard";
|
||||
}
|
||||
}
|
||||
*/ }
|
||||
|
||||
//체험교실 운영신청 초기화 시 첨부파일 삭제
|
||||
@RequestMapping(value = "/fmsfileMultipleDeleteAjax.do", method = RequestMethod.POST)
|
||||
|
||||
@ -25,6 +25,7 @@ import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
@ -35,10 +36,12 @@ import kcc.let.uss.olp.qrm.service.QustnrRespondManageVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ExprnClsrmAplctService;
|
||||
import kcc.ve.cmm.VeConstants;
|
||||
import kcc.ve.cmm.VeSendMail;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
@ -169,13 +172,15 @@ public class ExprnClsrmEndController {
|
||||
|
||||
// 저작권
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30);
|
||||
vEEduAplctVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
|
||||
//체험교실은 상태 종류 추가로 인하여 코드 20 이상일 시 운영 중
|
||||
vEEduAplctVO.setSearchQuery("AND A.APRVL_CD >= 20");
|
||||
|
||||
//1.pageing step1
|
||||
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
|
||||
//2. pageing step2
|
||||
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
//List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnEndPagingList(vEEduAplctVO);
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
|
||||
@ -223,6 +228,26 @@ public class ExprnClsrmEndController {
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
|
||||
//운영계획 차시 리스트
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setInstrDiv("30");
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
if(vEEduChasiVOList != null) {
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
}
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
|
||||
//결과보고 파일 존재 유무 체크(4개 모두)
|
||||
String rsltAllYn = "Y";
|
||||
if (StringUtil.isEmpty(vEEduAplctVO.getOrgnlRsltAtchFileId()) || StringUtil.isEmpty(vEEduAplctVO.getEvdncPhtAtchFileId()) || StringUtil.isEmpty(vEEduAplctVO.getCpyRsltAtchFileId()) || StringUtil.isEmpty(vEEduAplctVO.getRmtTrnAtchFileId())) {
|
||||
rsltAllYn = "N";
|
||||
}
|
||||
model.addAttribute("rsltAllYn", rsltAllYn);
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail";
|
||||
}
|
||||
|
||||
@ -551,6 +576,20 @@ public class ExprnClsrmEndController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value="/eduAplctStatusAjax.do")
|
||||
public ModelAndView eduAplctStatusAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
//권한에 따른 로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
|
||||
int rs = vEEduAplctService.statusUpdate(vEEduAplctVO);
|
||||
|
||||
modelAndView.addObject("rsCnt", rs);
|
||||
modelAndView.addObject("result", "success");
|
||||
return modelAndView;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -105,4 +105,18 @@ public class VeConstants {
|
||||
public static final String CLASS_TM_90 = "90";//, // 교육시간
|
||||
|
||||
public static final String ADULT_TM_60 = "60";//, // 성인 시간
|
||||
|
||||
public static final String EXPRN_APRVL_CD_10 = "10"; // 운영신청
|
||||
public static final String EXPRN_APRVL_CD_11 = "11"; // 수정요청
|
||||
public static final String EXPRN_APRVL_CD_12 = "12"; // 운영 미확정
|
||||
public static final String EXPRN_APRVL_CD_13 = "13"; // 수정완료
|
||||
public static final String EXPRN_APRVL_CD_20 = "20"; // 운영확정
|
||||
public static final String EXPRN_APRVL_CD_30 = "30"; // 서류제출 요청
|
||||
public static final String EXPRN_APRVL_CD_40 = "40"; // 서류제출
|
||||
public static final String EXPRN_APRVL_CD_50 = "50"; // 운영 진행중
|
||||
public static final String EXPRN_APRVL_CD_60 = "60"; // 결과보고 완료
|
||||
public static final String EXPRN_APRVL_CD_70 = "70"; // 검토중
|
||||
public static final String EXPRN_APRVL_CD_80 = "80"; // 운영종료
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -80,4 +80,7 @@ public interface VEEduMIXService {
|
||||
|
||||
//저작권 체험교실 이력 과정 목록
|
||||
List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
//Page List - 체험교실 운영목록(상태 값 20이상)
|
||||
List<VEEduAplctVO> selectExprnEndPagingList(VEEduAplctVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
|
||||
decryptVEEduAplctVO(vo);
|
||||
|
||||
//교육확정 시 관리번호 추가
|
||||
if("60".equals(vEEduAplctVO.getAprvlCd())) {
|
||||
if( ("60".equals(vEEduAplctVO.getAprvlCd()) && !"30".equals(vo.getLctrDivCd())) || ("20".equals(vEEduAplctVO.getAprvlCd()) && "30".equals(vo.getLctrDivCd())) ) {
|
||||
String mngNmbrDigits = "00000"; //관리번호 5자릿수로 만들기 변수
|
||||
String mngNmbr = "";
|
||||
String mngNmbrType = "";
|
||||
|
||||
@ -203,5 +203,9 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnHstryPagingList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEEduAplctVO> selectExprnEndPagingList(VEEduAplctVO paramVO) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnEndPagingList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
}
|
||||
|
||||
@ -181,4 +181,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||
public List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduMIXDAO.selectExprnHstryPagingList(paramVO);
|
||||
}
|
||||
|
||||
//paging List
|
||||
public List<VEEduAplctVO> selectExprnEndPagingList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduMIXDAO.selectExprnEndPagingList(paramVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -32,6 +32,7 @@ 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.eduInfo.service.VEEduOprtnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO;
|
||||
@ -143,7 +144,8 @@ public class OprtnStateMngController {
|
||||
//로그인 처리====================================
|
||||
|
||||
vEEduAplctVO.setLctrDivCd("30"); // 저작권체험교실
|
||||
vEEduAplctVO.setAprvlCd("60"); // 승인상태(VE0003) 교육확정코드(60)
|
||||
//체험교실은 상태 종류 추가로 인하여 코드 20 이상일 시 운영 중
|
||||
vEEduAplctVO.setSearchQuery("AND A.APRVL_CD >= 20");
|
||||
|
||||
if("2".equals(vEEduAplctVO.getSearchCondition())) { // 담당자 검색 시
|
||||
vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
|
||||
@ -154,8 +156,7 @@ public class OprtnStateMngController {
|
||||
|
||||
//2. pageing step2
|
||||
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
|
||||
vEEduAplctVO.setOrderByQuery("H.LAST_UPDT_PNTTM DESC, A.LAST_UPDT_PNTTM DESC , E.LAST_UPDT_PNTTM DESC");
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
||||
|
||||
//List복호화
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
@ -243,6 +244,19 @@ public class OprtnStateMngController {
|
||||
VEInstrDetailVO lastVEInstrDetailVO = vEInstrDetailService.selectLastYearDetail(vEEduAplctVO);
|
||||
model.addAttribute("lastVEInstrDetailVO",lastVEInstrDetailVO);
|
||||
|
||||
//차시별 운영계획 조회
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setInstrDiv("30");
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
if(vEEduChasiVOList != null) {
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
}
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
|
||||
return "oprtn/cpyrgExprnClsrm/oprtnStateMngDetail";
|
||||
}
|
||||
|
||||
|
||||
@ -1360,7 +1360,7 @@
|
||||
VE_EDU_APLCT a
|
||||
WHERE USER_ID = #userId#
|
||||
AND LCTR_DIV_CD = '30'
|
||||
AND APRVL_CD = '60'
|
||||
<!-- AND APRVL_CD >= '20' -->
|
||||
</select>
|
||||
|
||||
<insert id="VEEduAplctDAO.insertDocReq" parameterClass="VEEduAplctVO">
|
||||
|
||||
@ -66,29 +66,71 @@
|
||||
|
||||
<update id="VEEduOprtnDAO.update" parameterClass="VEEduOprtnVO" >
|
||||
UPDATE VE_EDU_OPRTN SET
|
||||
CHRG_MJR = #chrgMjr#
|
||||
,D_BIRTH = #dBirth#
|
||||
,CHRG_SEX_CD = #chrgSexCd#
|
||||
,CMPLT_YEAR = #cmpltYear#
|
||||
,CMPLT_NUM = #cmpltNum#
|
||||
,EXPRN_CLSRN_CD = #exprnClsrnCd#
|
||||
,EXPRN_CLSRN_YEAR = #exprnClsrnYear#
|
||||
,EXPRN_CLSRN_APLCT = #exprnClsrnAplct#
|
||||
,EXPRN_CLSRN_APLCT_CN = #exprnClsrnAplctCn#
|
||||
,TRGT_GRADE = #trgtGrade#
|
||||
,TRGT_CLSRM = #trgtClsrm#
|
||||
,TRGT_PRSNL = #trgtPrsnl#
|
||||
,RPRT_SBMT = #rprtSbmt#
|
||||
,OPRTN_STRT_DT = #oprtnStrtDt#
|
||||
,OPRTN_END_DT = #oprtnEndDt#
|
||||
,OPRTN_FILE_ID = #oprtnFileId#
|
||||
,LAST_UPDT_PNTTM = SYSDATE
|
||||
LAST_UPDT_PNTTM = SYSDATE
|
||||
,LAST_UPDUSR_ID = #lastUpdusrId#
|
||||
<isNotEmpty property="chrgMjr">
|
||||
,CHRG_MJR = #chrgMjr#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="dBirth">
|
||||
,D_BIRTH = #dBirth#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="chrgSexCd">
|
||||
,CHRG_SEX_CD = #chrgSexCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="cmpltYear">
|
||||
,CMPLT_YEAR = #cmpltYear#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="cmpltNum">
|
||||
,CMPLT_NUM = #cmpltNum#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="exprnClsrnCd">
|
||||
,EXPRN_CLSRN_CD = #exprnClsrnCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="exprnClsrnYear">
|
||||
,EXPRN_CLSRN_YEAR = #exprnClsrnYear#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="exprnClsrnAplct">
|
||||
,EXPRN_CLSRN_APLCT = #exprnClsrnAplct#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="exprnClsrnAplctCn">
|
||||
,EXPRN_CLSRN_APLCT_CN = #exprnClsrnAplctCn#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="trgtGrade">
|
||||
,TRGT_GRADE = #trgtGrade#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="trgtClsrm">
|
||||
,TRGT_CLSRM = #trgtClsrm#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="trgtPrsnl">
|
||||
,TRGT_PRSNL = #trgtPrsnl#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="rprtSbmt">
|
||||
,RPRT_SBMT = #rprtSbmt#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="oprtnStrtDt">
|
||||
,OPRTN_STRT_DT = #oprtnStrtDt#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="oprtnEndDt">
|
||||
,OPRTN_END_DT = #oprtnEndDt#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="oprtnFileId">
|
||||
,OPRTN_FILE_ID = #oprtnFileId#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="islandsYn">
|
||||
,ISLANDS_YN = #islandsYn#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="remoteYn">
|
||||
,REMOTE_YN = #remoteYn#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="clsCmbtYn">
|
||||
,CLS_CMBT_YN = #clsCmbtYn#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="ppulDclnYn">
|
||||
,PPUL_DCLN_YN = #ppulDclnYn#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="needTxtbNum">
|
||||
,NEED_TXTB_NUM = #needTxtbNum#
|
||||
</isNotEmpty>
|
||||
WHERE 1=1
|
||||
AND EDU_APLCT_ORD = #eduAplctOrd#
|
||||
</update>
|
||||
|
||||
@ -5216,33 +5216,18 @@ VALUES
|
||||
A.schol_instt_nm AS scholInsttNm,
|
||||
A.chrg_nm AS chrgNm,
|
||||
TO_CHAR(A.sbmt_pnttm, 'YYYY.MM.DD') AS sbmtPnttm,
|
||||
TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY.MM.DD') AS frstRegistPnttm,
|
||||
D.unfth_yn AS unfthYn,
|
||||
(
|
||||
SELECT COUNT(1)
|
||||
FROM ve_new_noti e
|
||||
WHERE ((A.edu_aplct_ord = e.tbl_uniq_ord OR B.edu_aplct_ord = e.tbl_uniq_ord) OR B.edu_chasi_ord = e.tbl_uniq_ord)
|
||||
WHERE A.edu_aplct_ord = e.tbl_uniq_ord
|
||||
AND e.menu_no = #menuNo#
|
||||
AND e.frst_register_id = #notiUserId#
|
||||
)
|
||||
AS notiCnt,
|
||||
C.CHRG_MJR AS chrgMjr
|
||||
FROM ve_edu_aplct A
|
||||
LEFT OUTER JOIN (
|
||||
SELECT
|
||||
EDU_APLCT_ORD
|
||||
,EDU_CHASI_ORD
|
||||
,SUM(lrn_tm) AS lrn_tm
|
||||
,MIN(
|
||||
REPLACE(
|
||||
CASE WHEN EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '' THEN NULL ELSE EDU_HOPE_DT END
|
||||
, '.'
|
||||
, ''
|
||||
)
|
||||
) AS EDU_HOPE_DT
|
||||
FROM VE_EDU_CHASI
|
||||
GROUP BY EDU_APLCT_ORD, EDU_CHASI_ORD
|
||||
) B
|
||||
ON A.edu_aplct_ord = B.edu_aplct_ord
|
||||
LEFT OUTER JOIN VE_EDU_OPRTN C
|
||||
ON A.EDU_APLCT_ORD = C.EDU_APLCT_ORD
|
||||
LEFT JOIN (
|
||||
@ -5268,12 +5253,28 @@ VALUES
|
||||
)D
|
||||
ON a.USER_ID = D.USER_ID
|
||||
WHERE 1=1
|
||||
AND A.SBMT_YN = 'Y'
|
||||
<isNotEmpty property="lctrDivCd" prepend="AND">
|
||||
A.lctr_div_cd = #lctrDivCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="userId" prepend="AND">
|
||||
A.user_id = #userId#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchYear">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYY') = #searchYear#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStatus2">
|
||||
AND A.APRVL_CD = #searchStatus2#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchQuery">
|
||||
$searchQuery$
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartSbmtPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchEndSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndSbmtPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="eduSlctAreaCd">
|
||||
AND A.EDU_SLCT_AREA_CD = #eduSlctAreaCd#
|
||||
</isNotEmpty>
|
||||
@ -5760,10 +5761,810 @@ VALUES
|
||||
AND a.user_id=b.user_id
|
||||
AND a.lctr_div_cd=b.lctr_div_cd
|
||||
AND a.edu_aplct_ord!=b.edu_aplct_ord
|
||||
AND b.sbmt_yn = 'Y'
|
||||
ORDER BY 1
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="VEEduMIXDAO.selectExprnEndPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt
|
||||
, ROWNUM AS rowNo
|
||||
, A.EDU_CN AS eduCn
|
||||
|
||||
<isNotEmpty property="s4Excel">
|
||||
, A.EDU_SLCT_CD AS eduSlctCd
|
||||
|
||||
|
||||
, (SELECT a0.code_nm
|
||||
FROM LETTCCMMNDETAILCODE a0
|
||||
WHERE a0.code_id='VE0008'
|
||||
AND a0.code =a.edu_slct_area_cd
|
||||
)
|
||||
AS eduSlctAreaCd
|
||||
, (SELECT a0.code_nm
|
||||
FROM LETTCCMMNDETAILCODE a0
|
||||
WHERE a0.code_id='VE0009'
|
||||
AND a0.code =a.schol_div_cd
|
||||
)
|
||||
AS scholDivCd
|
||||
|
||||
, (SELECT a0.code_nm
|
||||
FROM LETTCCMMNDETAILCODE a0
|
||||
WHERE a0.code_id='VE0003'
|
||||
AND a0.code =a.aprvl_cd
|
||||
)
|
||||
AS aprvlCd
|
||||
/*
|
||||
, IF(A.APRVL_CD = '60', TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD'), '-') AS aprvlPnttm
|
||||
*/
|
||||
|
||||
, CASE WHEN A.APRVL_CD = '60' THEN TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD') ELSE '-' END AS aprvlPnttm
|
||||
|
||||
, A.frst_Regist_Pnttm AS frstRegistPnttm
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
<isEmpty property="s4Excel">
|
||||
, A.EDU_SLCT_CD AS eduSlctCd
|
||||
, A.EDU_SLCT_AREA_CD AS eduSlctAreaCd
|
||||
, A.SCHOL_DIV_CD AS scholDivCd
|
||||
, A.APRVL_CD AS aprvlCd
|
||||
, TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD') AS aprvlPnttm
|
||||
</isEmpty>
|
||||
|
||||
, A.EDU_PLACE AS eduPlace
|
||||
|
||||
, A.SBMT_YN AS sbmtYn
|
||||
, TO_CHAR(A.SBMT_PNTTM, 'YYYY.MM.DD') AS sbmtPnttm
|
||||
|
||||
, A.SCHOL_INSTT_NM AS scholInsttNm
|
||||
|
||||
, A.INSTT_NM AS InsttNm
|
||||
|
||||
, A.EDU_APLCT_ORD AS eduAplctOrd
|
||||
, A.EDU_TRGT AS eduTrgt
|
||||
, A.EDU_PRSNL AS eduPrsnl
|
||||
, A.CHRG_NM AS chrgNm
|
||||
, A.JOB_NM AS jobNm
|
||||
, A.USE_YN AS useYn
|
||||
, A.MDFY_RQST_YN AS mdfyRqstYn
|
||||
, A.EQPMN_CN AS eqpmnCn
|
||||
, A.BLNG AS blng
|
||||
, A.DPRTM AS dprtm
|
||||
, A.FULL_NAME AS fullName
|
||||
, A.PSTN AS pstn
|
||||
, A.PRPS AS prps
|
||||
, A.RPRT_SBMT_DT AS rprtSbmtDt
|
||||
, A.hope_sbjct AS hopeSbjct
|
||||
, A.isltn_schol_yn AS isltnScholYn
|
||||
, A.clphone AS clphone
|
||||
, A.phone AS phone
|
||||
, A.Email AS email
|
||||
, A.Addr AS addr
|
||||
, A.IS_WAIT AS isWait
|
||||
, A.CORPS_EDU AS corpsEdu
|
||||
, A.BROADROOM_EDU AS broadroomEdu
|
||||
, A.ADMIN_UPDT_YN AS adminUpdtYn
|
||||
, A.OATH_ATCH_FILE_ID AS oathAtchFileId
|
||||
, A.PLAN_ATCH_FILE_ID AS planAtchFileId
|
||||
,(
|
||||
SELECT
|
||||
MAX(S2.PRCS_NM)||
|
||||
CASE WHEN COUNT(*) > 1 THEN '외' || (COUNT(*)-1)
|
||||
ELSE '' END AS PRCS_NM
|
||||
FROM VE_EDU_APLCT_ONLN S1 INNER JOIN VE_PRCS S2
|
||||
ON S1.PRCS_ORD = S2.PRCS_ORD
|
||||
WHERE 1=1
|
||||
AND S1.EDU_APLCT_ORD = A.EDU_APLCT_ORD
|
||||
GROUP BY S1.EDU_APLCT_ORD
|
||||
/*
|
||||
ORDER BY S1.PRCS_ORD
|
||||
*/
|
||||
) AS prcsGroupNm
|
||||
, A.INSTT_DIV_CD AS insttDivCd
|
||||
, A.FRST_REGISTER_ID AS frstRegisterId
|
||||
, TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY.MM.DD') AS frstRegistPnttm
|
||||
, A0.CNT-1 AS cnt
|
||||
, A0.PRCS_ORD AS prcsOrd
|
||||
, A0.PRCS_NM AS prcsNm
|
||||
, CC.EDU_HOPE_DT AS eduHopeDt
|
||||
, CC.EDU_CHASI_ORD AS eduChasiOrd
|
||||
, CC.lrn_tm AS lrnTm
|
||||
|
||||
, CC.strt_tm AS strtTm
|
||||
, CC.end_tm AS endTm
|
||||
|
||||
, D.USER_NM AS userNm
|
||||
, E.CHRG_MJR AS chrgMjr
|
||||
, E.D_BIRTH AS dBirth
|
||||
, E.CHRG_SEX_CD AS chrgSexCd
|
||||
, E.CMPLT_YEAR AS cmpltYear
|
||||
, E.CMPLT_NUM AS cmpltNum
|
||||
, E.EXPRN_CLSRN_CD AS exprnClsrnCd
|
||||
, E.EXPRN_CLSRN_YEAR AS exprnClsrnYear
|
||||
, E.EXPRN_CLSRN_APLCT AS exprnClsrnAplct
|
||||
, E.EXPRN_CLSRN_APLCT_CN AS exprnClsrnAplctCn
|
||||
, E.TRGT_GRADE AS trgtGrade
|
||||
, E.TRGT_CLSRM AS trgtClsrm
|
||||
, E.TRGT_PRSNL AS trgtPrsnl
|
||||
, E.RPRT_SBMT AS rprtSbmt
|
||||
, E.OPRTN_STRT_DT AS oprtnStrtDt
|
||||
, E.OPRTN_END_DT AS oprtnEndDt
|
||||
, E.OPRTN_FILE_ID AS oprtnFileId
|
||||
, H.APRVL_CD AS rprtAprvlCd
|
||||
, (
|
||||
SELECT
|
||||
S3.end_pnttm
|
||||
FROM ve_prcs_aplct_prd S3
|
||||
WHERE S3.use_YN = 'Y' AND S3.frst_regist_pnttm = (SELECT MAX(frst_regist_pnttm) FROM ve_prcs_aplct_prd)
|
||||
) AS endPnttm
|
||||
, (
|
||||
SELECT
|
||||
S4.end_pnttm
|
||||
FROM ve_prcs_aplct_prd S4
|
||||
WHERE S4.prcs_aplct_prd_ord = A.prcs_ord
|
||||
) AS prcsEndPnttm
|
||||
, (
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM ve_edu_chasi_instr_asgnm X
|
||||
, ve_edu_chasi y
|
||||
WHERE A.edu_aplct_ord = X.edu_aplct_ord
|
||||
|
||||
AND X.asgnm_aprvl_cd = '30'
|
||||
|
||||
AND x.EDU_APLCT_ORD=y.EDU_APLCT_ORD
|
||||
AND x.EDU_CHASI_ORD=y.EDU_CHASI_ORD
|
||||
) AS instrCnfrmCnt
|
||||
,(
|
||||
SELECT
|
||||
/*
|
||||
COUNT(1)
|
||||
*/
|
||||
sum(NVL(chasi,1))
|
||||
FROM ve_edu_chasi Z
|
||||
WHERE Z.edu_aplct_ord = A.edu_aplct_ord
|
||||
) AS chasiCnt
|
||||
, (
|
||||
SELECT COUNT(1)
|
||||
FROM ve_new_noti e
|
||||
WHERE ((A.edu_aplct_ord = e.tbl_uniq_ord OR CC.edu_aplct_ord = e.tbl_uniq_ord) OR CC.edu_chasi_ord = e.tbl_uniq_ord)
|
||||
AND e.menu_no = #menuNo#
|
||||
AND e.frst_register_id = #notiUserId#
|
||||
)
|
||||
AS notiCnt,
|
||||
( SELECT
|
||||
COUNT(1)
|
||||
FROM ve_acmdt_aplct ZZ
|
||||
, VE_EDU_CHASI YY
|
||||
WHERE A.EDU_APLCT_ORD = ZZ.EDU_APLCT_ORD
|
||||
AND ZZ.EDU_APLCT_ORD = YY.EDU_APLCT_ORD
|
||||
AND ZZ.EDU_CHASI_ORD = YY.EDU_CHASI_ORD
|
||||
AND ZZ.sbmt_yn = 'Y'
|
||||
AND ZZ.APRVL_CD = '10'
|
||||
) AS acmdtCnt,
|
||||
( SELECT COUNT(1)
|
||||
FROM VE_ACMDT_APLCT ZZ
|
||||
, VE_EDU_CHASI YY
|
||||
WHERE A.EDU_APLCT_ORD = ZZ.EDU_APLCT_ORD
|
||||
AND ZZ.EDU_APLCT_ORD = YY.EDU_APLCT_ORD
|
||||
AND ZZ.EDU_CHASI_ORD = YY.EDU_CHASI_ORD
|
||||
AND ZZ.SBMT_YN = 'Y'
|
||||
) AS acmdtAllCnt
|
||||
|
||||
,(
|
||||
|
||||
SELECT COUNT(*)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||
|
||||
) AS isEndCnt
|
||||
|
||||
,(
|
||||
|
||||
SELECT sum(a0.EDU_PRSNL)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||
|
||||
) AS endEduPrsnl
|
||||
|
||||
|
||||
, g.edu_strt_dt AS eduStrtDt
|
||||
, g.edu_end_dt AS eduEndDt
|
||||
/*
|
||||
, IF(A.APRVL_CD='20'
|
||||
and
|
||||
(
|
||||
|
||||
SELECT COUNT(*)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||
|
||||
)>0
|
||||
|
||||
, g.edu_reg_dt
|
||||
, ''
|
||||
) AS eduRegDt
|
||||
*/
|
||||
|
||||
/*
|
||||
, IF(A.APRVL_CD='20'
|
||||
and
|
||||
(
|
||||
|
||||
SELECT COUNT(*)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||
|
||||
)>0
|
||||
and length(g.edu_strt_dt)=8
|
||||
and length(g.edu_end_dt)=8
|
||||
|
||||
,
|
||||
SUBSTRING(g.edu_strt_dt,1,4) || '.' || SUBSTRING(g.edu_strt_dt,5,2) || '.' || SUBSTRING(g.edu_strt_dt,7,2)
|
||||
|| '~'
|
||||
|| SUBSTRING(g.edu_end_dt,1,4) || '.' || SUBSTRING(g.edu_end_dt,5,2) || '.' || SUBSTRING(g.edu_end_dt,7,2)
|
||||
|
||||
|
||||
, ''
|
||||
) AS eduDt
|
||||
*/
|
||||
|
||||
, i.instr_nm AS instrNm
|
||||
, i.asgnm_aprvl_cd AS asgnmAprvlCd
|
||||
, i.user_id AS userId
|
||||
|
||||
, j.acmdt_aplct_ord AS acmdtAplctOrd
|
||||
, j.sbmt_yn AS acmdtSbmtYn
|
||||
, j.aprvl_cd AS acmdtAprvlCd
|
||||
|
||||
FROM VE_EDU_APLCT A LEFT OUTER JOIN (
|
||||
SELECT
|
||||
AA.EDU_APLCT_ORD
|
||||
, AA.CNT
|
||||
, AA.PRCS_ORD
|
||||
, BB.PRCS_NM
|
||||
FROM (
|
||||
SELECT
|
||||
A.EDU_APLCT_ORD
|
||||
, COUNT(*) CNT
|
||||
, MIN(B.PRCS_ORD) PRCS_ORD
|
||||
FROM VE_EDU_APLCT A , VE_EDU_APLCT_ONLN B
|
||||
WHERE A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
|
||||
GROUP BY A.EDU_APLCT_ORD
|
||||
)AA, VE_PRCS BB
|
||||
WHERE AA.PRCS_ORD = BB.PRCS_ORD
|
||||
)A0 ON(A.EDU_APLCT_ORD = A0.EDU_APLCT_ORD)
|
||||
LEFT OUTER JOIN (
|
||||
SELECT
|
||||
EDU_APLCT_ORD
|
||||
,EDU_CHASI_ORD
|
||||
,SUM(lrn_tm) AS lrn_tm
|
||||
,MIN(strt_tm) AS strt_tm
|
||||
,MIN(end_tm) AS end_tm
|
||||
,MIN(
|
||||
REPLACE(
|
||||
/*
|
||||
IF(EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '', NULL, EDU_HOPE_DT)
|
||||
*/
|
||||
CASE WHEN EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '' THEN NULL ELSE EDU_HOPE_DT END
|
||||
, '.'
|
||||
, ''
|
||||
)
|
||||
) AS EDU_HOPE_DT
|
||||
FROM VE_EDU_CHASI
|
||||
GROUP BY EDU_APLCT_ORD, EDU_CHASI_ORD
|
||||
) CC ON A.EDU_APLCT_ORD = CC.EDU_APLCT_ORD
|
||||
LEFT OUTER JOIN COMVNUSERMASTER D
|
||||
ON A.USER_ID = D.USER_ID
|
||||
LEFT OUTER JOIN VE_EDU_OPRTN E
|
||||
ON A.EDU_APLCT_ORD = E.EDU_APLCT_ORD
|
||||
<isEqual property="lctrDivCd" compareValue="20">
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm DD
|
||||
ON (
|
||||
A.EDU_APLCT_ORD = DD.EDU_APLCT_ORD
|
||||
AND CC.EDU_CHASI_ORD = DD.EDU_CHASI_ORD
|
||||
)
|
||||
LEFT OUTER JOIN ve_instr_detail F
|
||||
ON (DD.USER_ID = F.USER_ID
|
||||
AND F.USE_YN = 'Y'
|
||||
<isNotEmpty property="instrDiv">
|
||||
AND F.instr_div = #instrDiv#
|
||||
</isNotEmpty>
|
||||
AND F.INSTR_DIV = #instrDiv#)
|
||||
</isEqual>
|
||||
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
/*
|
||||
SELECT edu_aplct_ord, edu_strt_dt, edu_end_dt , DATE_FORMAT(sbmt_pnttm,'%Y%m%d') AS edu_reg_dt
|
||||
FROM ve_prcs_cmplt_detail
|
||||
GROUP BY edu_aplct_ord, edu_strt_dt, edu_end_dt , DATE_FORMAT(sbmt_pnttm,'%Y%m%d')
|
||||
*/
|
||||
SELECT edu_aplct_ord, edu_strt_dt, edu_end_dt , TO_CHAR(sbmt_pnttm,'YYYYMMDD') AS edu_reg_dt
|
||||
FROM ve_prcs_cmplt_detail
|
||||
GROUP BY edu_aplct_ord, edu_strt_dt, edu_end_dt , TO_CHAR(sbmt_pnttm,'YYYYMMDD')
|
||||
) G
|
||||
ON A.EDU_APLCT_ORD = G.EDU_APLCT_ORD
|
||||
LEFT OUTER JOIN ve_edu_rslt_rprt H
|
||||
ON A.EDU_APLCT_ORD = H.EDU_APLCT_ORD
|
||||
|
||||
/* 청소년 교육배치확정 목록에서 사용 */
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
SELECT a.edu_aplct_ord
|
||||
, a.edu_chasi_ord
|
||||
, b.instr_nm
|
||||
, a.asgnm_aprvl_cd
|
||||
, a.user_id
|
||||
FROM ve_edu_chasi_instr_asgnm a
|
||||
, ve_instr_detail b
|
||||
WHERE a.user_id=b.user_id
|
||||
AND b.use_yn='Y'
|
||||
|
||||
) I
|
||||
ON (
|
||||
CC.EDU_APLCT_ORD = I.EDU_APLCT_ORD
|
||||
AND CC.EDU_CHASI_ORD = I.EDU_CHASI_ORD
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
SELECT bb.edu_aplct_ord
|
||||
, bb.edu_chasi_ord
|
||||
, bb.acmdt_aplct_ord
|
||||
, bb.sbmt_yn
|
||||
, bb.aprvl_cd
|
||||
FROM (
|
||||
SELECT a.edu_aplct_ord
|
||||
, a.edu_chasi_ord
|
||||
, max(acmdt_aplct_ord) AS acmdt_aplct_ord
|
||||
FROM ve_acmdt_aplct a
|
||||
WHERE a.use_yn='Y'
|
||||
GROUP BY a.edu_aplct_ord
|
||||
, a.edu_chasi_ord
|
||||
)aa
|
||||
, ve_acmdt_aplct bb
|
||||
WHERE aa.edu_aplct_ord=bb.edu_aplct_ord
|
||||
AND aa.edu_chasi_ord=bb.edu_chasi_ord
|
||||
AND aa.acmdt_aplct_ord=bb.acmdt_aplct_ord
|
||||
|
||||
)J
|
||||
ON (
|
||||
CC.EDU_APLCT_ORD = J.EDU_APLCT_ORD
|
||||
AND CC.EDU_CHASI_ORD = J.EDU_CHASI_ORD
|
||||
)
|
||||
|
||||
WHERE 1=1
|
||||
/*
|
||||
AND IFNULL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||
*/
|
||||
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||
|
||||
<isEmpty property="sbmtYn">
|
||||
AND A.SBMT_YN = 'Y'
|
||||
</isEmpty>
|
||||
|
||||
<isNotEmpty property="sbmtYn">
|
||||
AND A.SBMT_YN != 'Y'
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchAcmdtCnt">
|
||||
|
||||
<isEqual property="searchAcmdtCnt" compareValue="20">
|
||||
AND J.sbmt_yn='Y'
|
||||
AND J.aprvl_cd is null
|
||||
</isEqual>
|
||||
<isEqual property="searchAcmdtCnt" compareValue="30">
|
||||
AND NVL(J.sbmt_yn,'N')='N'
|
||||
</isEqual>
|
||||
<isEqual property="searchAcmdtCnt" compareValue="40">
|
||||
AND J.sbmt_yn='Y'
|
||||
AND J.aprvl_cd ='40'
|
||||
</isEqual>
|
||||
<isEqual property="searchAcmdtCnt" compareValue="50">
|
||||
AND J.sbmt_yn='Y'
|
||||
AND J.aprvl_cd ='50'
|
||||
</isEqual>
|
||||
|
||||
/*
|
||||
AND
|
||||
(
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
ve_acmdt_aplct ZZ
|
||||
WHERE
|
||||
A.edu_aplct_ord = ZZ.edu_aplct_ord
|
||||
AND
|
||||
ZZ.sbmt_yn = 'Y'
|
||||
) > 0
|
||||
*/
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND A.LCTR_DIV_CD = #lctrDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="aprvlCd">
|
||||
AND A.APRVL_CD >= #aprvlCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchAsgnmAprvlCd">
|
||||
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||
AND I.asgnm_aprvl_cd is null
|
||||
</isEqual>
|
||||
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||
AND I.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStartDt">
|
||||
AND CC.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndDt">
|
||||
AND CC.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartSbmtPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndSbmtPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartRegistPnttm">
|
||||
AND TO_CHAR(A.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartRegistPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndRegistPnttm">
|
||||
AND TO_CHAR(A.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndRegistPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStratAprvlPnttm">
|
||||
AND TO_CHAR(A.APRVL_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStratAprvlPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndAprvlPnttm">
|
||||
AND TO_CHAR(A.APRVL_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndAprvlPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchSmbtStartDt">
|
||||
AND TO_CHAR(A.SBMT_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchSmbtEndDt">
|
||||
AND TO_CHAR(A.SBMT_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchScholDivCd">
|
||||
AND A.SCHOL_DIV_CD = #searchScholDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isEmpty property="searchStartDt">
|
||||
<isEmpty property="searchEndDt">
|
||||
AND 1=1
|
||||
</isEmpty>
|
||||
</isEmpty>
|
||||
|
||||
<isNotEmpty property="searchEduSlctAreaCd">
|
||||
AND (
|
||||
|
||||
(
|
||||
A.EDU_SLCT_AREA_CD = #searchEduSlctAreaCd#
|
||||
AND
|
||||
A.EDU_SLCT_CD = '20'
|
||||
)
|
||||
OR
|
||||
(
|
||||
'400' = #searchEduSlctAreaCd#
|
||||
AND
|
||||
A.EDU_SLCT_CD = '10'
|
||||
)
|
||||
)
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEduSlctAreaCd2">
|
||||
AND (
|
||||
A.EDU_SLCT_AREA_CD = #searchEduSlctAreaCd2#
|
||||
OR
|
||||
'400' = #searchEduSlctAreaCd2#
|
||||
)
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEduSlctCd">
|
||||
AND A.EDU_SLCT_CD = #searchEduSlctCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchInsttDivCd">
|
||||
AND A.INSTT_DIV_CD = #searchInsttDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="userId">
|
||||
AND A.USER_ID = #userId#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="frstRegisterId">
|
||||
AND A.FRST_REGISTER_ID = #frstRegisterId#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchScholNm">
|
||||
AND A.SCHOL_INSTT_NM LIKE '%' || #searchScholNm# || '%'
|
||||
</isNotEmpty>
|
||||
<isEmpty property="searchCondition">
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND (
|
||||
A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# '%' OR
|
||||
A.INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||
)
|
||||
</isNotEmpty>
|
||||
</isEmpty>
|
||||
|
||||
<isNotEmpty property="searchCondition">
|
||||
<isEqual property="searchCondition" compareValue="0">
|
||||
AND (A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%' OR A.CHRG_NM LIKE '%' || #searchKeyword# || '%')
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="1">
|
||||
AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
AND A.CHRG_NM LIKE '%' || #searchKeyword# || '%'
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchChrgNm">
|
||||
AND A.CHRG_NM LIKE '%' || #searchChrgNm# , '%')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStatusArr">
|
||||
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND A.APRVL_CD IN " > #searchStatusArr[]#</iterate>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchNotStatusArr">
|
||||
<iterate open="(" close=")" conjunction="," property="searchNotStatusArr" prepend="AND A.APRVL_CD NOT IN " > #searchNotStatusArr[]#</iterate>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchScholDivCdArr">
|
||||
<iterate open="(" close=")" conjunction="," property="searchScholDivCdArr" prepend="AND A.SCHOL_DIV_CD IN " > #searchScholDivCdArr[]#</iterate>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStatus">
|
||||
<isEqual property="searchStatus" compareValue="99">
|
||||
AND
|
||||
(
|
||||
SELECT
|
||||
CNT
|
||||
FROM
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM VE_PRCS_CMPLT_DETAIL
|
||||
WHERE edu_aplct_ord = A.edu_aplct_ord ) bb
|
||||
WHERE bb.CNT <![CDATA[ > ]]> 0
|
||||
) > 0
|
||||
</isEqual>
|
||||
<isNotEqual property="searchStatus" compareValue="99">
|
||||
AND
|
||||
(
|
||||
SELECT
|
||||
CNT
|
||||
FROM
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM VE_PRCS_CMPLT_DETAIL
|
||||
WHERE edu_aplct_ord = A.edu_aplct_ord ) bb
|
||||
WHERE bb.CNT = 0
|
||||
) = 0
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStateYear">
|
||||
AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY') = #searchStateYear#
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
<isNotEmpty property="searchStateStatusArr">
|
||||
AND
|
||||
|
||||
(1=2
|
||||
<iterate property="searchStateStatusArr" >
|
||||
<isEqual property="searchStateStatusArr[]" compareValue="10">
|
||||
<!-- OR (A.strt_oprtn_dt <![CDATA[ <= ]]> TO_CHAR(NOW(), 'YYYYMMDD') AND end_oprtn_dt <![CDATA[ >= ]]> TO_CHAR(NOW(), 'YYYYMMDD')) -->
|
||||
OR (E.oprtn_strt_dt <![CDATA[ <= ]]> TO_CHAR(NOW(), 'YYYYMMDD') AND E.oprtn_end_dt <![CDATA[ >= ]]> TO_CHAR(NOW(), 'YYYYMMDD'))
|
||||
</isEqual>
|
||||
<isEqual property="searchStateStatusArr[]" compareValue="20">
|
||||
<!-- OR
|
||||
(
|
||||
A.end_oprtn_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||
AND
|
||||
(
|
||||
SELECT
|
||||
CNT
|
||||
FROM
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM ve_edu_rslt_rprt
|
||||
WHERE edu_aplct_ord = a.edu_aplct_ord ) AA
|
||||
WHERE AA.CNT = 0
|
||||
)
|
||||
) -->
|
||||
OR
|
||||
(
|
||||
E.oprtn_end_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||
AND
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM ve_edu_rslt_rprt
|
||||
WHERE edu_aplct_ord = A.edu_aplct_ord )
|
||||
= 0
|
||||
)
|
||||
</isEqual>
|
||||
<isEqual property="searchStateStatusArr[]" compareValue="30">
|
||||
<!-- OR
|
||||
(
|
||||
A.end_oprtn_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||
AND
|
||||
(
|
||||
SELECT
|
||||
CNT
|
||||
FROM
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM ve_edu_rslt_rprt
|
||||
WHERE edu_aplct_ord = a.edu_aplct_ord ) AA
|
||||
WHERE AA.CNT <![CDATA[ > ]]> 0
|
||||
)
|
||||
) -->
|
||||
OR
|
||||
(
|
||||
E.oprtn_end_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||
AND
|
||||
( SELECT COUNT(1) AS CNT
|
||||
FROM ve_edu_rslt_rprt
|
||||
WHERE edu_aplct_ord = A.edu_aplct_ord )
|
||||
> 0
|
||||
)
|
||||
</isEqual>
|
||||
<isEqual property="searchStateStatusArr[]" compareValue="40">
|
||||
/* 서류제출완료 */
|
||||
OR(
|
||||
1=1
|
||||
)
|
||||
|
||||
</isEqual>
|
||||
|
||||
</iterate>
|
||||
)
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStateStatusArr">
|
||||
|
||||
|
||||
<iterate property="searchStateStatusArr" >
|
||||
<isEqual property="searchStateStatusArr[]" compareValue="40">
|
||||
/* 서류제출완료 */
|
||||
AND
|
||||
(
|
||||
a.oath_atch_file_id IS NOT NULL
|
||||
OR a.trans_atch_file_id IS NOT null
|
||||
)
|
||||
|
||||
</isEqual>
|
||||
</iterate>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchChsYn">
|
||||
AND A.MDFY_RQST_YN = #searchChsYn#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="eduAplctOrd">
|
||||
AND A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStatus2">
|
||||
/* 교육콘텐츠 신청 > 수강신청 목록 셀렉트박스 검색자 */
|
||||
|
||||
|
||||
<isEqual property="searchStatus2" compareValue="90">
|
||||
AND A.APRVL_CD = '20'
|
||||
AND
|
||||
( SELECT COUNT(*)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N') ='Y'
|
||||
) > 0
|
||||
</isEqual>
|
||||
<isNotEqual property="searchStatus2" compareValue="90">
|
||||
AND A.APRVL_CD = #searchStatus2#
|
||||
AND 0>=
|
||||
( SELECT COUNT(*)
|
||||
FROM ve_prcs_cmplt_detail a0
|
||||
INNER JOIN ve_prcs b0
|
||||
ON a0.prcs_ord = b0.prcs_ord
|
||||
INNER JOIN ve_prcs_onln_cntnt c0
|
||||
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||
WHERE 1 =1
|
||||
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||
AND NVL(a0.sbmt_yn,'N') ='Y'
|
||||
)
|
||||
</isNotEqual>
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchYear">
|
||||
/*저작권 체험교실 년도 검색*/
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYY') = #searchYear#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="eduSlctAreaCd">
|
||||
/*저작권 체험교실 지역 검색*/
|
||||
AND A.EDU_SLCT_AREA_CD = #eduSlctAreaCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchCpyAprvlCd">
|
||||
/*저작권 체험교실 상태 검색*/
|
||||
AND A.APRVL_CD = #searchCpyAprvlCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchFullName">
|
||||
/*교육콘텐츠 신청자 검색*/
|
||||
AND (
|
||||
/*
|
||||
A.FULL_NAME like '%' || searchFullName || '%'
|
||||
OR A.BLNG like concat('%', searchFullName, '%')
|
||||
*/
|
||||
A.FULL_NAME like '%'||#searchFullName#||'%'
|
||||
OR A.BLNG like '%'||#searchFullName#||'%'
|
||||
)
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
<isEqual property="searchAdminUpdtYn" compareValue="Y">
|
||||
AND A.ADMIN_UPDT_YN = 'Y'
|
||||
</isEqual>
|
||||
|
||||
/*
|
||||
ORDER BY 1=1
|
||||
*/
|
||||
ORDER BY 1
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
<isNotEqual property="mode" compareValue="EXCEL">
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</isNotEqual>
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
aprvlCd = VeConstants.APRVL_CD_30;
|
||||
} else {
|
||||
msg = "수정요청";
|
||||
aprvlCd = VeConstants.APRVL_CD_70;
|
||||
aprvlCd = '11';
|
||||
}
|
||||
if(confirm(msg+" 하시겠습니까?")){
|
||||
$.ajax({
|
||||
|
||||
@ -182,41 +182,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>처리상태</p>
|
||||
<p>처리상태 </p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.useYn eq 'N'}">
|
||||
<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 '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">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '80'}">
|
||||
<span class="app_status1">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq '90'}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '70'}">
|
||||
@ -344,7 +313,8 @@
|
||||
</div>
|
||||
|
||||
<!-- 운영계획 -->
|
||||
<div class="tb_tit01">
|
||||
<!-- 231130 운영계획 - 고객 요청으로 서류제출 단계로 이동 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<p>운영 계획</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
@ -361,10 +331,10 @@
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
<%-- <th scope="row">
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td>${info.trgtClsrm}</td> --%>
|
||||
<td>${info.trgtClsrm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -401,7 +371,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div> --%>
|
||||
|
||||
|
||||
<!-- 운영계획 -->
|
||||
@ -449,8 +419,7 @@
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<td><c:out
|
||||
value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }" />
|
||||
<td><c:out value="${status.index+1}" />
|
||||
</td>
|
||||
<td><a
|
||||
href="javascript:fncGoDetail('${list.eduAplctOrd}');"
|
||||
@ -466,26 +435,7 @@
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq '10'}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq '70'}">
|
||||
<span class="app_status2">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq '80'}">
|
||||
<span class="app_status4">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq '60'}">
|
||||
<span class="app_status4">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq '90'}">
|
||||
<span class="app_status4">운영미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${list.aprvlCd}"/>
|
||||
</td>
|
||||
|
||||
<td><c:out value="${list.aprvlPnttm}" /></td>
|
||||
@ -518,7 +468,7 @@
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr>
|
||||
<td colspan="7"><spring:message code="common.nodata.msg" /></td>
|
||||
<td colspan="9"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
@ -529,38 +479,23 @@
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<!--
|
||||
<select name="saveStatus" name="saveStatus" class="sel_type1">
|
||||
<option value="">전체</option>
|
||||
<option value="10" <c:if test="${vEEduAplctVO.searchStatus eq '10'}">selected</c:if>>운영신청</option>
|
||||
<option value="70" <c:if test="${vEEduAplctVO.searchStatus eq '70'}">selected</c:if>>수정요청</option>
|
||||
<option value="80" <c:if test="${vEEduAplctVO.searchStatus eq '80'}">selected</c:if>>수정요청완료</option>
|
||||
<option value="60" <c:if test="${vEEduAplctVO.searchStatus eq '60'}">selected</c:if>>교육확정</option>
|
||||
<option value="90" <c:if test="${vEEduAplctVO.searchStatus eq '90'}">selected</c:if>>교육미확정</option>
|
||||
</select>
|
||||
-->
|
||||
|
||||
<!-- 운영신청 상태에서만 수정요청 가능 -->
|
||||
<c:if test="${info.aprvlCd eq '10'}">
|
||||
<!-- 운영신청 상태, 수정완료상태에서만 수정요청 가능 -->
|
||||
<c:if test="${info.aprvlCd eq '10' or info.aprvlCd eq '13'}">
|
||||
<button type="button" class="btn_type01" onclick="fncRejectPopup(); return false;">수정요청</button>
|
||||
</c:if>
|
||||
<!-- 운영신청, 수정요청완료 상태에서만 선정여부 설정 가능(선정여부는 교육확정 프로세스에 영향을 끼치지 않음 - 관리자 구분 용도)-->
|
||||
<%-- <c:if test="${info.aprvlCd eq '10' || info.aprvlCd eq '80'}">
|
||||
<button type="button" class="btn_type04" onclick="fncChsChange('Y'); return false;">선정</button>
|
||||
<button type="button" class="btn_type05" onclick="fncChsChange('N'); return false;">미선정</button>
|
||||
</c:if> --%>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<c:if test="${info.aprvlCd ne '60' && info.aprvlCd ne '90'}">
|
||||
<!-- <button type="button" class="btn_type01" onclick="fncStatusChange('60'); return false;">교육확정</button>
|
||||
<button type="button" class="btn_type02" onclick="fncStatusChange('90'); return false;">교육미확정</button> -->
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('60'); return false;">선정처리</button>
|
||||
<button type="button" class="btn_type02" onclick="fncStatusChange('90'); return false;">선정취소</button>
|
||||
<!-- 운영신청, 수정요청, 수정완료 시 -->
|
||||
<c:if test="${info.aprvlCd eq '10' || info.aprvlCd eq '13' || info.aprvlCd eq '11'}">
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('20'); return false;">선정처리</button>
|
||||
<button type="button" class="btn_type02" onclick="fncStatusChange('12'); return false;">선정취소</button>
|
||||
</c:if>
|
||||
<!-- 운영확정 시 -->
|
||||
<c:if test="${info.aprvlCd eq '20'}">
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('40'); return false;">서류제출 요청</button>
|
||||
</c:if>
|
||||
<!-- 교육 확정인 경우 관리자만 수정 가능 하도록 -->
|
||||
<%-- <c:if test="${info.aprvlCd eq '60'}"> --%>
|
||||
<button type="button" class="btn_type01" onclick="fncGoEdit();">수정</button>
|
||||
<%-- </c:if> --%>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">c
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only {
|
||||
background-color: #ededed;
|
||||
@ -250,14 +250,26 @@ input:read-only {
|
||||
<option value="">전체</option>
|
||||
<option value="10"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '10'}">selected</c:if>>운영신청</option>
|
||||
<option value="70"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '70'}">selected</c:if>>수정요청</option>
|
||||
<option value="80"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '80'}">selected</c:if>>수정완료</option>
|
||||
<option value="11"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '11'}">selected</c:if>>수정요청</option>
|
||||
<option value="12"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '12'}">selected</c:if>>운영 미확정</option>
|
||||
<option value="13"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '13'}">selected</c:if>>수정완료</option>
|
||||
<option value="20"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '20'}">selected</c:if>>운영 확정</option>
|
||||
<%-- <option value="30"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '30'}">selected</c:if>>서류제출 요청</option> --%>
|
||||
<option value="40"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '40'}">selected</c:if>>서류제출</option>
|
||||
<option value="50"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '50'}">selected</c:if>>운영 진행중</option>
|
||||
<option value="60"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '60'}">selected</c:if>>운영확정</option>
|
||||
<option value="90"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '90'}">selected</c:if>>운영미확정</option>
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '60'}">selected</c:if>>결과보고 완료</option>
|
||||
<option value="70"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '70'}">selected</c:if>>검토중</option>
|
||||
<option value="80"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '80'}">selected</c:if>>운영종료</option>
|
||||
</select>
|
||||
<%-- <p
|
||||
style="padding: 0 20px 0 30px; font-weight: 500; font-size: 18px;">선정여부</p>
|
||||
@ -355,29 +367,7 @@ input:read-only {
|
||||
value="${list.chrgNm}" />
|
||||
</a></td>
|
||||
<td><c:out value="${list.sbmtPnttm}" /></td>
|
||||
<%-- <td><c:if test="${list.mdfyRqstYn eq null}">-</c:if> <c:if
|
||||
test="${list.mdfyRqstYn eq 'Y'}">선정</c:if> <c:if
|
||||
test="${list.mdfyRqstYn eq 'N'}">미선정</c:if></td> --%>
|
||||
<td><c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status2">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status4">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status4">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status4">운영미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose></td>
|
||||
<td><ve:code codeId="VEA013" code="${list.aprvlCd}"/></td>
|
||||
<td>
|
||||
<c:if test="${list.unfthYn eq 'Y'}">
|
||||
불성실
|
||||
@ -403,9 +393,14 @@ input:read-only {
|
||||
<option value="">선택</option>
|
||||
<option value="10">운영신청</option>
|
||||
<!-- <option value="70">수정요청</option> -->
|
||||
<option value="80">수정완료</option>
|
||||
<option value="60">운영확정</option>
|
||||
<option value="90">운영미확정</option>
|
||||
<option value="12">운영미확정</option>
|
||||
<option value="13">수정완료</option>
|
||||
<option value="20">운영확정</option>
|
||||
<option value="40">서류제출 요청</option>
|
||||
<option value="50">운영 진행중</option>
|
||||
<option value="60">결과보고 완료</option>
|
||||
<option value="70">검토중</option>
|
||||
<option value="80">운영종료</option>
|
||||
</select>
|
||||
<button class="btn_type04" onclick="fncStatusChangeAll(); return false;" >일괄변경</button>
|
||||
</div>
|
||||
|
||||
@ -300,7 +300,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
if($('#trgtGrade').val() == ''){
|
||||
/* if($('#trgtGrade').val() == ''){
|
||||
alert('학년수를 입력해주세요.');
|
||||
$("#trgtGrade").focus();
|
||||
return false;
|
||||
@ -355,7 +355,7 @@
|
||||
if($(".uploaded_obj").length == 0){
|
||||
alert("파일을 첨부해 주세요.");
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
|
||||
/* if($("#agree1").length > 0 && !$('#agree1').prop('checked')){
|
||||
alert('개인정보 이용 약관에 동의해주세요.');
|
||||
@ -385,12 +385,12 @@
|
||||
$('#exprnClsrnYear').val(arr);
|
||||
}
|
||||
|
||||
if($('#oprtnStrtDt').val() != null){
|
||||
/* if($('#oprtnStrtDt').val() != null){
|
||||
$('#oprtnStrtDt').val($('#oprtnStrtDt').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
if($('#oprtnEndDt').val() != null){
|
||||
$('#oprtnEndDt').val($('#oprtnEndDt').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
} */
|
||||
/* //임시저장 데이터 불러왔을 시 duet-date-picker에서 날짜 input에 id를 넣어주지 않음
|
||||
if($('duet-date-picker[name=oprtnStrtDt]').val() != null){
|
||||
$('duet-date-picker[name=oprtnStrtDt]').val($('duet-date-picker[name=oprtnStrtDt]').val().replace(/[.]/gi, ''))
|
||||
@ -723,7 +723,8 @@
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="tb_tit01">
|
||||
<!-- 231130 운영계획 - 고객 요청으로 서류제출 단계로 이동 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
<div class="tb_type02 wirte">
|
||||
@ -867,7 +868,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div> --%>
|
||||
|
||||
<!-- //list_상세 -->
|
||||
|
||||
|
||||
@ -99,6 +99,28 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fncStatusChange(statusVal){
|
||||
|
||||
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){
|
||||
alert("상태가 변경 되었습니다.");
|
||||
location.reload();
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
@ -196,7 +218,9 @@
|
||||
<th scope="row">
|
||||
<p>진행상태</p>
|
||||
</th>
|
||||
<td colspan="3"><ve:code codeId="VE0003" code="${info.aprvlCd}" /></td>
|
||||
<td colspan="3">
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -208,27 +232,22 @@
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교(기관)명</p>
|
||||
</th>
|
||||
<td><c:out value='${info.scholInsttNm}'/></td>
|
||||
<th scope="row">
|
||||
<p>담당자</p>
|
||||
</th>
|
||||
<td><c:out value='${info.chrgNm}'/></td>
|
||||
<td>${info.scholInsttNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교지역특성</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<td>
|
||||
<input type="checkbox" id="islandsYn" name="islandsYn" disabled="disabled" <c:if test="${info.islandsYn eq 'Y'}">checked</c:if> /><label for="islandsYn"> 도서지역</label>
|
||||
<input type="checkbox" id="remoteYn" name="remoteYn" disabled="disabled" <c:if test="${info.remoteYn eq 'Y'}">checked</c:if> /><label for="remoteYn"> 벽지지역</label>
|
||||
<input type="checkbox" id="clsCmbtYn" name="clsCmbtYn" disabled="disabled" <c:if test="${info.clsCmbtYn eq 'Y'}">checked</c:if> /><label for="clsCmbtYn"> 접적지역</label>
|
||||
@ -236,56 +255,84 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>휴대폰</p></th>
|
||||
<td><c:out value='${info.clphone}'/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>이메일</p></th>
|
||||
<td><c:out value='${info.email}'/></td>
|
||||
<th scope="row">
|
||||
<p>교사명</p>
|
||||
</th>
|
||||
<td>${info.chrgNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
<p>성별</p>
|
||||
</th>
|
||||
<td class="file_download">
|
||||
<c:import url="/cmm/fms/selectForNmChgFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.scholSealAtchFileId}" />
|
||||
<c:param name="chgNm" value="${info.scholInsttNm}_${info.chrgNm}_신청서" />
|
||||
</c:import>
|
||||
<td>
|
||||
<ve:code codeId="COM014" code="${info.chrgSexCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>거래선 등록 여부</p>
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td class="file_download">
|
||||
|
||||
<c:if test="${info.transAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.transAtchFileId}" />
|
||||
</c:import>
|
||||
<td>${info.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td>${info.clphone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td>${info.phone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td>(${info.post}) ${info.addr} ${info.addrDetail}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>담당교과</p>
|
||||
</th>
|
||||
<td>${info.chrgMjr}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>생년월일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${not empty info.dBirth}">
|
||||
<c:set var="birthYear" value="${fn:substring(info.dBirth, 0, 4)}"/>
|
||||
<c:set var="birthMonth" value="${fn:substring(info.dBirth, 4, 6)}"/>
|
||||
<c:set var="birthDay" value="${fn:substring(info.dBirth, 6, 8)}"/>
|
||||
</c:if>
|
||||
<!-- <a href="#none" title="다운로드">신분증_사본.jpg</a>
|
||||
<a href="#none" title="다운로드">통장_사본.jpg</a> -->
|
||||
${birthYear}년 ${birthMonth}월 ${birthDay}일
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>서약서 제출</p>
|
||||
<p>체험교실운영여부</p>
|
||||
</th>
|
||||
<td class="file_download">
|
||||
|
||||
<c:if test="${info.oathAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
<td>
|
||||
운영구분코드 : <ve:code codeId="VE0031" code="${info.exprnClsrnCd}"/> <br/>
|
||||
운영구분년도 : ${info.exprnClsrnYear}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>신청경로</p>
|
||||
</th>
|
||||
<td>
|
||||
<ve:code codeId="VE0030" code="${info.exprnClsrnAplct}"/>
|
||||
<c:if test="${not empty info.exprnClsrnAplctCn}">
|
||||
(기타 내용 : ${info.exprnClsrnAplctCn})
|
||||
</c:if>
|
||||
<!-- <a href="#none" title="다운로드">신분증_사본.jpg</a>
|
||||
<a href="#none" title="다운로드">통장_사본.jpg</a> -->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@ -314,9 +361,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육내용</p>
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td colspan="3"><c:out value="${info.chrgMjr}" /></td>
|
||||
<td colspan="3"><c:out value="${info.needTxtbNum}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -330,7 +377,7 @@
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>계획서 파일</p>
|
||||
</th>
|
||||
@ -344,11 +391,67 @@
|
||||
<!-- <a href="#none" title="다운로드">신분증_사본.jpg</a>
|
||||
<a href="#none" title="다운로드">통장_사본.jpg</a> -->
|
||||
</td>
|
||||
</tr>
|
||||
</tr> --%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<p>차시별 운영계획</p>
|
||||
</div>
|
||||
<div class="tb_type01 list2">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><p>교육희망일</p></th>
|
||||
<th scope="col"><p>시간</p></th>
|
||||
<th scope="col"><p>학습주제</p></th>
|
||||
<th scope="col"><p>지도내용</p></th>
|
||||
<th scope="col"><p>비고</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.eduHopeDt}">
|
||||
${list.eduHopeDt}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
<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>${list.lrnSbjct}</td>
|
||||
<td>${list.lrnCn}</td>
|
||||
<td>${list.rmrks}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty chasiList}">
|
||||
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<p>결과보고</p>
|
||||
</div>
|
||||
@ -407,7 +510,7 @@
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p>사전 설문조사</p>
|
||||
</th>
|
||||
@ -437,7 +540,7 @@
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</tr> --%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -571,7 +674,16 @@
|
||||
<button type="button" class="btn_type05" onclick="fncSlctnTeacherPopup(); return false;">선정교사 설정</button>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btn_type01" onclick="fncGoMdfy(); return false;">수정</button>
|
||||
<!-- <button type="button" class="btn_type01" onclick="fncGoMdfy(); return false;">수정</button> -->
|
||||
<c:if test="${info.aprvlCd eq '20'}">
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('40'); return false;">서류제출 요청</button>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd eq '60'}">
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('70'); return false;">검토중</button>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd eq '70'}">
|
||||
<button type="button" class="btn_type01" onclick="fncStatusChange('80'); return false;">운영종료</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
|
||||
@ -178,7 +178,7 @@
|
||||
<p>처리상태</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="check_wrap">
|
||||
<%-- <div class="check_wrap">
|
||||
<c:set var="searchStatus" value="${fn:join(vEEduAplctVO.searchStateStatusArr, ',') }"/>
|
||||
<span><input type="radio" ${fn:indexOf(searchStatus, VeConstants.VE0020_10) ne -1 ? 'checked' : ''}
|
||||
value="${VeConstants.VE0020_10}" name="searchStateStatusArr" id="searchStateSatus2"><label for="searchStateSatus2">교육진행중</label>
|
||||
@ -192,12 +192,29 @@
|
||||
<span><input type="radio" ${fn:indexOf(searchStatus, VeConstants.VE0020_30) ne -1 ? 'checked' : ''}
|
||||
value="${VeConstants.VE0020_30}" name="searchStateStatusArr" id="searchStateSatus4"><label for="searchStateSatus4">결과보고제출(운영완료)</label>
|
||||
</span>
|
||||
</div>
|
||||
</div> --%>
|
||||
<select name="searchCpyAprvlCd" class="sel_type1">
|
||||
<option value="">전체</option>
|
||||
<option value="20"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '20'}">selected</c:if>>운영 확정</option>
|
||||
<%-- <option value="30"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '30'}">selected</c:if>>서류제출 요청</option> --%>
|
||||
<option value="40"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '40'}">selected</c:if>>서류제출</option>
|
||||
<option value="50"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '50'}">selected</c:if>>운영 진행중</option>
|
||||
<option value="60"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '60'}">selected</c:if>>결과보고 완료</option>
|
||||
<option value="70"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '70'}">selected</c:if>>검토중</option>
|
||||
<option value="80"
|
||||
<c:if test="${vEEduAplctVO.searchCpyAprvlCd eq '80'}">selected</c:if>>운영종료</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_3">
|
||||
<div class="util_left">
|
||||
<p>처리상태</p>
|
||||
<p>등록일</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
@ -270,35 +287,7 @@
|
||||
<td>
|
||||
<c:out value="${list.sbmtPnttm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<jsp:useBean id="date" class="java.util.Date" />
|
||||
<fmt:formatDate value="${date}" pattern="yyyyMMdd" var="now" />
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span >운영진행</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span >운영종료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span >운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span >운영취소</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span >(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span >(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td><ve:code codeId="VEA013" code="${list.aprvlCd}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
<%@ 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" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
@ -191,11 +192,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
function fncReject(){
|
||||
|
||||
// commonPopWindowopenForm("/kccadr/adjReqMgr/popup/adjReqMgrRegCompanionPopup.do" , "600", "340", "rejectPop",$("#detailForm"));
|
||||
}
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
@ -220,6 +216,187 @@
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn=0'/>");
|
||||
}
|
||||
|
||||
function fncSave(aprvlCd){
|
||||
if (!validCheck()) return;
|
||||
url = '${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctMdfyAjax.do';
|
||||
|
||||
if(confirm("계획서를 제출하시겠습니까?")){
|
||||
$("#aprvlCd").val('50');
|
||||
$('input[name="scholDivCd"]').val(""); /* 차시 최소시간 체크를 제외하기 위한 임시 scholDivCd를 update 처리에서 제외하기 위함 */
|
||||
|
||||
if($('input[name=oprtnStrtDt]').val() != null){
|
||||
$('input[name=oprtnStrtDt]').val($('input[name=oprtnStrtDt]').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
if($('input[name=oprtnEndDt]').val() != null){
|
||||
$('input[name=oprtnEndDt]').val($('input[name=oprtnEndDt]').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
|
||||
|
||||
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) {
|
||||
$("#eduAplctOrd").val(returnData.VO.eduAplctOrd);
|
||||
if(status == 'success'){
|
||||
alert("제출 되었습니다.");
|
||||
location.reload();
|
||||
} else if(status== 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
function validCheck(){
|
||||
|
||||
if($('#trgtGrade').val() == ''){
|
||||
alert('대상학년/반을 입력해주세요.');
|
||||
$("#trgtGrade").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('#trgtPrsnl').val() == ''){
|
||||
alert('전체학생 수를 입력해주세요.');
|
||||
$("#trgtPrsnl").focus();
|
||||
return
|
||||
false;
|
||||
}
|
||||
if($('#needTxtbNum').val() == ''){
|
||||
alert('필요 교재 수량을 입력해주세요.');
|
||||
$("#needTxtbNum").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('duet-date-picker[name=oprtnStrtDt]').val() == ''){
|
||||
alert('운영시기 시작일을 입력해주세요.');
|
||||
$("#oprtnStrtDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('duet-date-picker[name=oprtnEndDt]').val() == ''){
|
||||
alert('운영시기 종료일을 입력해주세요.');
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var oprtnStrtDt = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var oprtnEndDt = $('duet-date-picker[name=oprtnEndDt]').val();
|
||||
|
||||
oprtnStrtDt = oprtnStrtDt.replace(/[.]/gi, '');
|
||||
oprtnEndDt = oprtnEndDt.replace(/[.]/gi, '');
|
||||
|
||||
if(oprtnStrtDt > oprtnEndDt){
|
||||
alert("시작일이 종료일보다 클 수 없습니다.");
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var oprtnStrtDtDate = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var yyyy = oprtnStrtDtDate.substr(0,4);
|
||||
var mm = oprtnStrtDtDate.substr(5,2);
|
||||
var dd = oprtnStrtDtDate.substr(8,2);
|
||||
var oprtnStrtDtDate = new Date(yyyy, mm-1, dd); // 교육희망일을 Date 형태로 변경
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
var todayDate = new Date(tyyyy, tmm-1, tdd)
|
||||
|
||||
//교육희망일이 오늘보다 전인지 체크
|
||||
if(oprtnStrtDtDate < todayDate) {
|
||||
alert('시작일 오늘 이후의 날짜로 입력해주세요.');
|
||||
return flag = 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;
|
||||
}
|
||||
|
||||
var eduHopeDt = $(this).find('input[name=eduHopeDt]').val();
|
||||
var yyyy = eduHopeDt.substr(0,4);
|
||||
var mm = eduHopeDt.substr(5,2);
|
||||
var dd = eduHopeDt.substr(8,2);
|
||||
var eduHopeDtDate = new Date(yyyy, mm-1, dd); // 교육희망일을 Date 형태로 변경
|
||||
console.log(eduHopeDt);
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
var todayDate = new Date(tyyyy, tmm-1, tdd)
|
||||
|
||||
if(eduHopeDtDate < todayDate) {
|
||||
alert('교육희망일은 오늘 이후의 날짜로 입력해주세요.');
|
||||
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=strtTm]').val().indexOf('선택') != -1){
|
||||
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('input[name=endTm]').val().indexOf('선택') != -1){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=lrnSbjct]').val() == ''){
|
||||
alert('학습주제를 입력해주세요.');
|
||||
$('input[name=lrnSbjct]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=lrnCn]').val() == ''){
|
||||
alert('지도내용을 입력해주세요.');
|
||||
$('input[name=lrnCn]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
});
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
@ -240,6 +417,11 @@
|
||||
<div id="beforePrintPopupLoad"></div>
|
||||
<div id="afterPrintPopupLoad"></div>
|
||||
|
||||
<!-- 시간 선택 시 교육별 최소 시간 체크 제외를 위한 임시 checkbox -->
|
||||
<div style="display:none;">
|
||||
<input type="checkbox" name="scholDivCd" value="exprn" checked>
|
||||
</div>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_tit">
|
||||
<h2>운영상세</h2>
|
||||
@ -291,35 +473,7 @@
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||
<span class="app_status1">교육신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
|
||||
<span class="app_status2">교육승인</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_RJT}">
|
||||
<span class="app_status4">교육반려</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CAN}">
|
||||
<span class="app_status4">교육취소</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
|
||||
<span class="app_status4">선정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
임시저장
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
@ -432,24 +586,11 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- 서류요청 제출 시만 거래선, 서약서 제출 가능 -->
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<tr>
|
||||
<!-- <th scope="row"><p>거래선 등록 여부</p></th> -->
|
||||
<th scope="row"><p>거래선 양식</p></th>
|
||||
<td>
|
||||
<!-- 22.03.22 고객사 요청으로 숨김 -->
|
||||
<%--
|
||||
<c:choose>
|
||||
<c:when test="${info.transAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.transAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
--%>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=2'" title="거래선 양식 다운로드">거래선 양식 다운로드</button>
|
||||
<p>
|
||||
<span class="cf_text">※ 거래선 파일은 개인정보 수집 및 보호를 위해 반드시 메일(entt@copyright.or.kr)로 제출하시기 바랍니다.</span>
|
||||
@ -473,10 +614,289 @@
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=1'" title="서약서 양식 다운로드">서약서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd ne VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<tr>
|
||||
<th scope="row"><p>서약서</p></th>
|
||||
<td>
|
||||
<c:if test="${info.oathAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
<!-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 파일 변경</button> -->
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 서류요청 제출 시만 거래선, 서약서 제출 가능 -->
|
||||
<form:form id="createForm" name="createForm" commandName="modelVO" onsubmit="return false;">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/><!-- 승인코드 -->
|
||||
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영 계획</p>
|
||||
<span class="cf_text">* 항목은 필수 입력 사항입니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write tb_input">
|
||||
<table>
|
||||
<caption>운영 계획 (th 명)을 입력하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtGrade" class="label">대상 학년 입력</label>
|
||||
<input type="text" name="trgtGrade" id="trgtGrade" maxlength="20" value="${info.trgtGrade}" size="20">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전체학생 수</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtPrsnl" class="label">학생 수 입력</label>
|
||||
<input type="text" name="trgtPrsnl" id="trgtPrsnl" onkeyup="onlyNumber(this);" maxlength="4" value="${info.trgtPrsnl}" size="20"> 명
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td class="calendar_td">
|
||||
|
||||
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" name="oprtnStrtDt" value="" pattern="yyyy.MM.dd"/></duet-date-picker>
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" name="oprtnEndDt" value="" pattern="yyyy.MM.dd"/></duet-date-picker>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
|
||||
<script>
|
||||
$(window).on("load",function(){
|
||||
//title 변경
|
||||
$(".startDate .duet-date__input").attr("title","운영시기 시작날짜를 YYYY.MM.DD 형식으로 입력해주세요");
|
||||
$(".endDate .duet-date__input").attr("title","운영시기 종료날짜를 YYYY.MM.DD 형식으로 입력해주세요");
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="needTxtbNum" class="label">필요 교재 수량 입력</label>
|
||||
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.needTxtbNum}" title="필요 교재 수량" size="20" maxlength="4">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left" style="display: block;">
|
||||
<p>차시별 운영계획</p>
|
||||
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 운영지원금 지원을 위한 계획서(계획은 웅영에따 따라 변경 가능)<br/>※ 담당교사의 재량으로 자율 편성하되, 1일 최대 2차시까지만 운영 가능</span>
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" title="교육차시 입력테이블 추가생성" onclick="addEduClassCopyTngr('addClassRow')">교육추가</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tb_type02 tb_type02_write">
|
||||
<table class="addClassRow" rowLimit="1" >
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>교육희망일</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>시간</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>학습주제</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>지도내용</th>
|
||||
<th scope="col">비고</th>
|
||||
<th scope="col">삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="calendar_th">
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt"></duet-date-picker>
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="strtTm" title="시작 시간 입력" readonly>
|
||||
<button type="button" title="팝업 열림" class="time_set_btn"><img src="<c:url value='/visitEdu/usr/publish/images/content/timeIcon.png'/>" alt="시작 시간 선택"></button>
|
||||
<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" title="종료 시간 입력" readonly>
|
||||
<button type="button" title="팝업 열림" class="time_set_btn"><img src="<c:url value='/visitEdu/usr/publish/images/content/timeIcon.png'/>" alt="종료 시간 선택"></button>
|
||||
<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" title="교육 시간">분)
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label for="lrnSbjct" class="label">학습주제</label>
|
||||
<input type="text" id="lrnSbjct" name="lrnSbjct" maxlength="50">
|
||||
</td>
|
||||
<td>
|
||||
<label for="lrnCn" class="label">지도내용</label>
|
||||
<input type="text"" id="lrnCn" name="lrnCn" maxlength="50">
|
||||
</td>
|
||||
<td>
|
||||
<label for="text" class="label">비고</label>
|
||||
<input type="text" id="rmrks" name="rmrks" maxlength="50" >
|
||||
</td>
|
||||
<td><button type="button" class="table_del" onclick="tableDel(this)" title="해당 교육차시 정보 삭제"><img alt="" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/del_btn.png"></button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<script src="<c:url value='/visitEdu/usr/publish/script/duetdatepicker2.js' /> "></script>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
|
||||
<c:if test="${info.aprvlCd > VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
@ -497,10 +917,6 @@
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
<%-- <th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td>${info.trgtClsrm}</td> --%>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -519,16 +935,6 @@
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
<!--
|
||||
<th scope="row">
|
||||
<p>보고서 제출일(예정)</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.rprtSbmt}" var="rprtSbmt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rprtSbmt}" pattern="yyyy.MM.dd"/>
|
||||
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -538,46 +944,69 @@
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oprtnFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>차시별 계획서 제출</p></th>
|
||||
<td colspan="3">
|
||||
<c:if test="${info.planAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.planAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="PLAN" onclick="filePopupLayer('PLAN')" title="팝업 열림">계획서 업로드</button>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=0'" title="계획서 양식 다운로드">계획서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left" style="display: block;">
|
||||
<p>차시별 운영계획</p>
|
||||
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 운영지원금 지원을 위한 계획서(계획은 웅영에따 따라 변경 가능)<br/>※ 담당교사의 재량으로 자율 편성하되, 1일 최대 2차시까지만 운영 가능</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02 tb_type02_write">
|
||||
<table class="addClassRow" rowLimit="1" >
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">교육희망일</th>
|
||||
<th scope="col">시간</th>
|
||||
<th scope="col">학습주제</th>
|
||||
<th scope="col">지도내용</th>
|
||||
<th scope="col">비고</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.eduHopeDt}">
|
||||
${list.eduHopeDt}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
<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>${list.lrnSbjct}</td>
|
||||
<td>${list.lrnCn}</td>
|
||||
<td>${list.rmrks}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${fn:length(chasiList) eq 0}">
|
||||
<tr>
|
||||
<td colspan="5"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
</form:form>
|
||||
<!-- 220317 고객사 요청으로 숨김 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
@ -639,7 +1068,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div> --%>
|
||||
<c:if test="${info.orgnlRsltAtchFileId ne null}">
|
||||
<c:if test="${rsltAllYn eq 'Y'}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>결과보고</p>
|
||||
@ -710,10 +1139,13 @@
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<!-- 231101 요청사항으로 교육콘텐츠 관련 메뉴 삭제 -->
|
||||
<!-- <button type="button" class="btnType04" onclick="fncGoLctrAplctReg();">교육콘텐츠 신청</button> -->
|
||||
<c:if test="${info.exprnAprvlCd ne '10'}">
|
||||
<button type="button" class="btnType04" onclick="fncGoLctrAplctReg();">교육콘텐츠 신청</button>
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_50 or (rsltAllYn eq 'N' and info.aprvlCd > VeConstants.EXPRN_APRVL_CD_50)}">
|
||||
<button type="button" class="btnType05" onclick="fncGoRslt();">결과보고제출</button>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<button type="button" class="btnType05" onclick="fncSave('50');">계획서 제출</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList();">목록</button>
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
@ -104,8 +105,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||
<fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
|
||||
<fmt:parseDate value="${list.frstRegistPnttm}" var="year" pattern="yyyy.MM.dd"/>
|
||||
<fmt:formatDate value="${year}" pattern="yyyy년"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
@ -124,33 +125,7 @@
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<jsp:useBean id="date" class="java.util.Date" />
|
||||
<fmt:formatDate value="${date}" pattern="yyyyMMdd" var="now" />
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span class="app_status1">운영진행</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span class="app_status1">운영종료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영취소</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span class="app_status1">(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span class="app_status1">(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${list.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
@ -199,30 +174,43 @@
|
||||
<span>처리상태</span>
|
||||
<span>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span class="app_status1">운영진행</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span class="app_status1">운영종료</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<span class="app_status1">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">운영확정</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_12}">
|
||||
<span class="app_status1">운영 미확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영취소</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_13}">
|
||||
<span class="app_status1">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_20}">
|
||||
<span class="app_status3">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_30}">
|
||||
<span class="app_status3">서류제출 요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<span class="app_status1">서류제출</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_50}">
|
||||
<span class="app_status1">운영 진행중</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_60}">
|
||||
<span class="app_status1">결과보고 완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_70}">
|
||||
<span class="app_status1">검토중</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_80}">
|
||||
<span class="app_status1">운영 종료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span class="app_status1">(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span class="app_status1">(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -305,7 +305,7 @@
|
||||
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
fncStatusChange('60');
|
||||
}
|
||||
}
|
||||
|
||||
@ -365,7 +365,7 @@
|
||||
}
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
fncStatusChange('60');
|
||||
}
|
||||
}else{
|
||||
//업로드 경로 설정 -upload.jsp에서 uploader.setDirectory(innoDirPath) 식으로 사용
|
||||
@ -416,6 +416,25 @@
|
||||
control5.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control5.upload();
|
||||
}
|
||||
|
||||
function fncStatusChange(statusVal){
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/eduAplctStatusAjax.do",
|
||||
data: {
|
||||
"eduAplctOrd" : $("#eduAplctOrd").val() ,
|
||||
"aprvlCd" : statusVal,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
fncGoList();
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
@ -35,14 +36,14 @@
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_wrap" id="sub" style="margin-top: 20px;">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영신청 상세</p>
|
||||
</div>
|
||||
<div class="tb_tit01_right">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="nextTab('2');">다음 →</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('2');">다음 →</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -115,26 +116,7 @@
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
@ -274,13 +256,12 @@
|
||||
<button type="button" class="btnType05" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
<!-- 23.07031 - 신청기간 내 수정 기능 추가 - 요청중일때만 수정 가능 -->
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT and cnt > 0}">
|
||||
<c:if test="${(info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10 and cnt > 0) or info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('2');">서류제출로 이동</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
@ -20,27 +20,36 @@
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
var aprvlCd = ${info.aprvlCd}
|
||||
if(aprvlCd == '11' || aprvlCd == '12' || aprvlCd == '13'){
|
||||
aprvlCd = '10';
|
||||
}
|
||||
$( document ).ready(function(){
|
||||
if(${info == null}){
|
||||
alert("진행 중인 체험교실이 없습니다.");
|
||||
location.href = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.do'/>"
|
||||
location.href = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.do'/>";
|
||||
}else{
|
||||
$("#p_1").click();
|
||||
$("#p_"+aprvlCd).parent().attr('class', 'p_on');
|
||||
$("#p_"+aprvlCd).parent().prevAll().attr('class', 'p_on');
|
||||
$("#p_"+aprvlCd).css("color", "#FFFF00");
|
||||
$("#p_"+aprvlCd).click();
|
||||
}
|
||||
});
|
||||
|
||||
function tabLoad(tab, type){
|
||||
if(type > aprvlCd){
|
||||
return false;
|
||||
}
|
||||
if($("#loadType").val() != type){
|
||||
$("#loadType").val(type);
|
||||
var sendData = $("#loadForm").serializeArray() ;
|
||||
$("#loadArea").load("<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnDashboardLoadAjax.do' />", sendData ,function(response, status, xhr){
|
||||
if(status == 'success'){
|
||||
$(tab).parent().siblings().each(function(index){
|
||||
var className = $(this).attr('class').split('_on')[0];
|
||||
$(this).removeClass();
|
||||
$(this).attr('class', className);
|
||||
$(this).children('a').css('color', '')
|
||||
});
|
||||
$(tab).parent().attr('class',$(tab).parent().attr('class')+'_on')
|
||||
$(tab).css("color", "#FFFF00");
|
||||
|
||||
}else{
|
||||
alert("조회 실패");
|
||||
location.href="<c:url value='/web/main/mainPage.do'/>"
|
||||
@ -67,11 +76,18 @@
|
||||
</div>
|
||||
<!-- 체험교실 프로세스 -->
|
||||
<ul class="ex_process">
|
||||
<li class="p_1"><a href="#" id="p_1" onclick="tabLoad(this,'1');">신청정보</a></li>
|
||||
<!-- <li class="p_1"><a href="#" id="p_1" onclick="tabLoad(this,'1');">신청정보</a></li>
|
||||
<li class="p_2"><a href="#" onclick="tabLoad(this,'2');">서류 제출</a></li>
|
||||
<li class="p_3"><a href="#" onclick="tabLoad(this,'3');">운영계획</a></li>
|
||||
<li class="p_4"><a href="#" onclick="tabLoad(this,'4');">결과보고</a></li>
|
||||
<li class="p_5"><a href="#" onclick="tabLoad(this,'5');">최종결과</a></li>
|
||||
<li class="p_5"><a href="#" onclick="tabLoad(this,'5');">최종결과</a></li> -->
|
||||
<li class="p"><a href="#" id="p_10" onclick="tabLoad(this,'10');">운영신청</a></li>
|
||||
<li class="p"><a href="#" id="p_20" onclick="tabLoad(this,'20');">운영확정</a></li>
|
||||
<li class="p"><a href="#" id="p_40" onclick="tabLoad(this,'40');">서류제출</a></li>
|
||||
<li class="p"><a href="#" id="p_50" onclick="tabLoad(this,'50');">운영 진행중</a></li>
|
||||
<li class="p"><a href="#" id="p_60" onclick="tabLoad(this,'60');">결과보고 완료</a></li>
|
||||
<li class="p"><a href="#" id="p_70" onclick="tabLoad(this,'70');">검토중</a></li>
|
||||
<li class="p"><a href="#" id="p_80" onclick="tabLoad(this,'80');">운영종료</a></li>
|
||||
</ul>
|
||||
<div id="loadArea">
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
@ -173,26 +174,7 @@
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
@ -331,7 +313,8 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<!-- 231130 운영계획 - 고객 요청으로 서류제출 단계로 이동 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
@ -350,10 +333,10 @@
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
<%-- <th scope="row">
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td>${info.trgtClsrm}</td> --%>
|
||||
<td>${info.trgtClsrm}</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
@ -361,12 +344,12 @@
|
||||
</th>
|
||||
<td colspan="3">${info.trgtGrade}</td>
|
||||
</tr>
|
||||
<%-- <tr class="trLength2">
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td colspan="3">${info.trgtClsrm}</td>
|
||||
</tr> --%>
|
||||
</tr>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>대상학생수</p>
|
||||
@ -466,7 +449,7 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div> --%>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
@ -474,14 +457,14 @@
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ or info.sbmtYn ne 'Y'}">
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<%-- <c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11 or info.sbmtYn ne 'Y'}">
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<button type="button" class="btnType04" onclick="fncSendSubmit();">제출</button>
|
||||
</c:if>
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
<!-- 23.07031 - 신청기간 내 수정 기능 추가 - 요청중일때만 수정 가능 -->
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT and cnt > 0}">
|
||||
</c:if> --%>
|
||||
<!-- 23.07031 - 신청기간 내 수정 기능 추가 or 수정요청중일때 수정 가능 -->
|
||||
<c:if test="${(info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10 and cnt > 0) or info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList();">목록</button>
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
@ -96,11 +97,17 @@
|
||||
<label for="searchStatus2" class="label">처리상태 선택</label>
|
||||
<select class="selType1" id="searchStatus2" name="searchStatus2">
|
||||
<option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.APRVL_CD_10 ? 'selected' : ''} value="${VeConstants.APRVL_CD_10}">운영신청</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.APRVL_CD_70 ? 'selected' : ''} value="${VeConstants.APRVL_CD_70}">수정요청</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.APRVL_CD_80 ? 'selected' : ''} value="${VeConstants.APRVL_CD_80}">수정완료</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.APRVL_CD_60 ? 'selected' : ''} value="${VeConstants.APRVL_CD_60}">운영확정</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.APRVL_CD_90 ? 'selected' : ''} value="${VeConstants.APRVL_CD_90}">운영미확정</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_10 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_10}">운영신청</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_11 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_11}">수정요청</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_12 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_12}">운영 미확정</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_13 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_13}">수정완료</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_20 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_20}">운영확정</option>
|
||||
<%-- <option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_30 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_30}">서류제출 요청</option> --%>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_40 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_40}">서류제출</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_50 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_50}">운영 진행중</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_60 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_60}">운영결과보고 완료</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_70 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_70}">검토중</option>
|
||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.EXPRN_APRVL_CD_80 ? 'selected' : ''} value="${VeConstants.EXPRN_APRVL_CD_80}">운영종료</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
@ -150,10 +157,8 @@
|
||||
<td>
|
||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||
<!-- 프로세스 변경 후 적용. 신청단계에서는 운영계획이 없어서 등록일을 기준으로 운영년도 보여주기 -->
|
||||
<%-- <fmt:parseDate value="${list.frstRegistPnttm}" var="frstRegistPnttm" pattern="yyyy.MM.dd"/>
|
||||
<fmt:formatDate value="${frstRegistPnttm}" pattern="yyyy년"/> --%>
|
||||
<fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
|
||||
<fmt:parseDate value="${list.frstRegistPnttm}" var="year" pattern="yyyy.MM.dd"/>
|
||||
<fmt:formatDate value="${year}" pattern="yyyy년"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
@ -176,9 +181,18 @@
|
||||
<!-- 프로세스 변경 후 적용-->
|
||||
<c:choose>
|
||||
|
||||
<%-- <c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10}">
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<span class="app_status1">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_12}">
|
||||
<span class="app_status1">운영 미확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_13}">
|
||||
<span class="app_status1">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_20}">
|
||||
<span class="app_status3">운영확정</span>
|
||||
</c:when>
|
||||
@ -200,24 +214,6 @@
|
||||
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_80}">
|
||||
<span class="app_status1">운영 종료</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise> --%>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
@ -268,26 +264,7 @@
|
||||
<li>
|
||||
<span>처리상태</span>
|
||||
<span>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -36,6 +36,11 @@
|
||||
$("#file_temp").click();
|
||||
});
|
||||
// cmpltNoFormat(document.getElementById('cmpltNum'));
|
||||
|
||||
if('${info.exprnClsrnCd}' == '02'){
|
||||
$('input[name="eClsrnYear"]').attr('disabled',true);
|
||||
$('input[name="eClsrnYear"]').prop('checked',false);
|
||||
}
|
||||
});
|
||||
|
||||
function oprtnYn(){
|
||||
@ -182,7 +187,7 @@
|
||||
$("#sbmtYn").val("N");
|
||||
}else if(type == 'E'){
|
||||
$("#sbmtYn").val("Y");
|
||||
$("#aprvlCd").val(VeConstants.APRVL_CD_80);
|
||||
$("#aprvlCd").val(VeConstants.EXPRN_APRVL_CD_13);
|
||||
}else{
|
||||
$("#sbmtYn").val("Y");
|
||||
$("#aprvlCd").val(VeConstants.APRVL_CD_10);
|
||||
@ -262,19 +267,19 @@
|
||||
$('#exprnClsrnYear').val(arr);
|
||||
}
|
||||
|
||||
if($('#oprtnStrtDt').val() != null){
|
||||
/* if($('#oprtnStrtDt').val() != null){
|
||||
$('#oprtnStrtDt').val($('#oprtnStrtDt').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
if($('#oprtnEndDt').val() != null){
|
||||
$('#oprtnEndDt').val($('#oprtnEndDt').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
} */
|
||||
//임시저장 데이터 불러왔을 시 duet-date-picker에서 날짜 input에 id를 넣어주지 않음
|
||||
if($('duet-date-picker[name=oprtnStrtDt]').val() != null){
|
||||
/* if($('duet-date-picker[name=oprtnStrtDt]').val() != null){
|
||||
$('duet-date-picker[name=oprtnStrtDt]').val($('duet-date-picker[name=oprtnStrtDt]').val().replace(/[.]/gi, ''))
|
||||
}
|
||||
if($('duet-date-picker[name=oprtnEndDt]').val() != null){
|
||||
$('duet-date-picker[name=oprtnEndDt]').val($('duet-date-picker[name=oprtnEndDt]').val().replace(/[.]/gi, ''))
|
||||
}
|
||||
} */
|
||||
}
|
||||
|
||||
function validCheck(){
|
||||
@ -392,30 +397,30 @@
|
||||
}
|
||||
}
|
||||
|
||||
if($('#trgtGrade').val() == ''){
|
||||
/* if($('#trgtGrade').val() == ''){
|
||||
alert('학년수를 입력해주세요.');
|
||||
$("#trgtGrade").focus();
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
/* if($('#trgtClsrm').val() == ''){
|
||||
alert('대상반을 입력해주세요.');
|
||||
$("#trgtClsrm").focus();
|
||||
return false;
|
||||
} */
|
||||
|
||||
if($('#trgtPrsnl').val() == ''){
|
||||
/* if($('#trgtPrsnl').val() == ''){
|
||||
alert('전체학생 수를 입력해주세요.');
|
||||
$("#trgtPrsnl").focus();
|
||||
return
|
||||
false;
|
||||
}
|
||||
if($('#needTxtbNum').val() == ''){
|
||||
} */
|
||||
/* if($('#needTxtbNum').val() == ''){
|
||||
alert('필요 교재 수량을 입력해주세요.');
|
||||
$("#needTxtbNum").focus();
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
|
||||
if($('#oprtnStrtDt').val() == ''){
|
||||
/* if($('#oprtnStrtDt').val() == ''){
|
||||
alert('운영시기 시작일을 입력해주세요.');
|
||||
$("#oprtnStrtDt").focus();
|
||||
return false;
|
||||
@ -425,11 +430,9 @@
|
||||
alert('운영시기 종료일을 입력해주세요.');
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
|
||||
/* var oprtnStrtDt = $('#oprtnStrtDt').val();
|
||||
var oprtnEndDt = $('#oprtnEndDt').val(); */
|
||||
var oprtnStrtDt = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
/* var oprtnStrtDt = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var oprtnEndDt = $('duet-date-picker[name=oprtnEndDt]').val();
|
||||
|
||||
oprtnStrtDt = oprtnStrtDt.replace(/[.]/gi, '');
|
||||
@ -439,10 +442,10 @@
|
||||
alert("시작일이 종료일보다 클 수 없습니다.");
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
|
||||
/* var oprtnStrtDtDate = $('#oprtnStrtDt').val(); */
|
||||
var oprtnStrtDtDate = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
/* var oprtnStrtDtDate = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var yyyy = oprtnStrtDtDate.substr(0,4);
|
||||
var mm = oprtnStrtDtDate.substr(5,2);
|
||||
var dd = oprtnStrtDtDate.substr(8,2);
|
||||
@ -463,7 +466,7 @@
|
||||
if($(".uploaded_obj").length == 0){
|
||||
alert("파일을 첨부해 주세요.");
|
||||
return false;
|
||||
}
|
||||
} */
|
||||
|
||||
if($("#agree1").length > 0 && !$('#agree1').prop('checked')){
|
||||
alert('개인정보 이용 약관에 동의해주세요.');
|
||||
@ -579,26 +582,24 @@
|
||||
$("#exprnClsrnAplctCn").val('');
|
||||
}
|
||||
|
||||
$("#trgtGrade").val(info.trgtGrade);
|
||||
/* $("#trgtGrade").val(info.trgtGrade); */
|
||||
/* $("#trgtClsrm").val(info.trgtClsrm); */
|
||||
$("#trgtPrsnl").val(info.trgtPrsnl);
|
||||
$("#needTxtbNum").val(info.needTxtbNum);
|
||||
/* $("#trgtPrsnl").val(info.trgtPrsnl); */
|
||||
/* $("#needTxtbNum").val(info.needTxtbNum); */
|
||||
|
||||
if(isNotEmpty(info.oprtnStrtDt)){
|
||||
/* $("#oprtnStrtDt").val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date')); */
|
||||
/* if(isNotEmpty(info.oprtnStrtDt)){
|
||||
$('duet-date-picker[name=oprtnStrtDt]').val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date'))
|
||||
$('#oprtnStrtDt').val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date'));
|
||||
}
|
||||
|
||||
if(isNotEmpty(info.oprtnEndDt)){
|
||||
/* $("#oprtnEndDt").val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date')); */
|
||||
$('duet-date-picker[name=oprtnEndDt]').val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date'))
|
||||
$('#oprtnEndDt').val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date'));
|
||||
}
|
||||
} */
|
||||
|
||||
$("#oprtnFileId").val(info.oprtnFileId);
|
||||
/* $("#oprtnFileId").val(info.oprtnFileId); */
|
||||
|
||||
var fileTbody = $("#tbody_fiielist");
|
||||
/* var fileTbody = $("#tbody_fiielist");
|
||||
$.each(fileList, function(idx, obj){
|
||||
var tr = $("<tr/>").addClass('item_'+obj.atchFileId+'_'+obj.fileSn).addClass('uploaded_obj');
|
||||
var hiddenInput = $('<input/>').attr('type', 'hidden').attr('name', 'fileSize').addClass('item_file_size').val(obj.fileSize);
|
||||
@ -623,7 +624,7 @@
|
||||
if(fileList.length > 0){
|
||||
$(".no_img_box").hide();
|
||||
$(".fileAfter").show()
|
||||
}
|
||||
} */
|
||||
}
|
||||
|
||||
function fncEtcInputEnable(thisObj){
|
||||
@ -891,7 +892,8 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<!-- 231130 운영계획 - 고객 요청으로 서류제출 단계로 이동 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영 계획</p>
|
||||
<span class="cf_text">* 항목은 필수 입력 사항입니다.</span>
|
||||
@ -917,14 +919,14 @@
|
||||
<input type="text" name="trgtGrade" id="trgtGrade" maxlength="20" value="${info.trgtGrade}" size="20">
|
||||
</td>
|
||||
<!-- 231107 학년과 대상 통합 요청 -->
|
||||
<%--<th scope="row">
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>대상 반</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtClsrm" class="label">대상 반 입력</label>
|
||||
<input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
|
||||
</td> --%>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -942,26 +944,15 @@
|
||||
<td class="calendar_td">
|
||||
|
||||
|
||||
<%-- <div class="calendar_wrap">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<input type="text" value="<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>" name="oprtnStrtDt" id="oprtnStrtDt" class="calendar" title="시작일 선택">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<input type="text" value="<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>" name="oprtnEndDt" id="oprtnEndDt" class="calendar" title="종료일 선택">
|
||||
</div> --%>
|
||||
|
||||
|
||||
<div class="calendar_wrap">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEEduAplctVO.searchStartDt}"> --%>
|
||||
<input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEEduAplctVO.searchStartDt}">
|
||||
<duet-date-picker identifier="date" class="startDate" name="oprtnStrtDt" value="<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>" pattern="yyyy.MM.dd"></duet-date-picker>
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<%-- <input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEEduAplctVO.searchEndDt}"> --%>
|
||||
<input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEEduAplctVO.searchEndDt}">
|
||||
<duet-date-picker identifier="date" class="endDate" name="oprtnEndDt" value="<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>"></duet-date-picker>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
|
||||
@ -986,86 +977,6 @@
|
||||
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.needTxtbNum}" title="필요 교재 수량" size="20" maxlength="4">
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="upload_area" colspan="3">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType01 btn_add_file">파일찾기</button>
|
||||
<button type="button" class="btnType05" onclick="javascript:fn_egov_downFile('<c:out value="${detailVO.atchFileId}"/>','0')">양식 다운로드</button>
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
</div>
|
||||
<div class="file_wrap no_img_box file_upload_box">
|
||||
<table>
|
||||
<caption>첨부파일 파일명, 종류, 크기 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
</thead>
|
||||
<tbody class="tb_file_before">
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_wrap file_list_div fileAfter">
|
||||
<table>
|
||||
<caption>첨부파일 파일명, 종류, 크기, 삭제 정보 제공</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 100px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th scope="col">파일 명</th>
|
||||
<th scope="col">종류</th>
|
||||
<th scope="col">크기</th>
|
||||
<th scope="col">삭제</th>
|
||||
</thead>
|
||||
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||
<td class="td_filename">
|
||||
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||
</td>
|
||||
<td class="td_filesort">
|
||||
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||
</td>
|
||||
<td class="td_filesize">
|
||||
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span>3</span>개</p>
|
||||
<p><span>50MB</span>제한</p>
|
||||
</div>
|
||||
</div>
|
||||
<span class="table_req_text">
|
||||
※ 학교장 직인이 포함된 운영신청서 파일을 업로드
|
||||
</span>
|
||||
</td>
|
||||
</tr> --%>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -1075,7 +986,6 @@
|
||||
<dd class="upload_area">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType01 btn_add_file">파일찾기</button>
|
||||
<%-- <button type="button" class="btnType05" onclick="javascript:fn_egov_downFile('<c:out value="${detailVO.atchFileId}"/>','0')">양식 다운로드</button> --%>
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||
</div>
|
||||
<div class="file_wrap no_img_box file_upload_box">
|
||||
@ -1146,7 +1056,7 @@
|
||||
※ 학교장 직인이 포함된 운영신청서 파일을 업로드
|
||||
</span>
|
||||
</dd>
|
||||
</dl>
|
||||
</dl> --%>
|
||||
|
||||
<div class="agree_wrap">
|
||||
<div class="tb_tit01">
|
||||
@ -1200,7 +1110,7 @@
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<c:when test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_11}">
|
||||
<button type="button" class="btnType06" onclick="fncSave('E'); return false;">저장</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -28,6 +28,7 @@
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
@ -36,6 +37,139 @@
|
||||
$("#file_temp").click();
|
||||
});
|
||||
|
||||
//시간 selectbox 관련 content.js에 존재하지만, load로 호출한 페이지라 js의 $( document ).ready 작동 안함
|
||||
|
||||
//시간 설정 팝업
|
||||
$(".time_set_btn").click(function () {
|
||||
$(this).next($(".time_layer")).addClass("on");
|
||||
$(".mask2").show();
|
||||
})
|
||||
|
||||
|
||||
$('.table_time_wrap .time_wrap .time_layer').find(".ampm_select,.hours_select,.min_select").change(function(){
|
||||
var td = $(this).closest('td');
|
||||
var len = td.find(".time_wrap").length;
|
||||
var timeWarp = $(this).closest('.time_wrap');
|
||||
var idx = $(this).closest('.time_wrap').index();
|
||||
var houTxt = timeWarp.find(".hours_select option:selected").val();
|
||||
var minTxt = timeWarp.find(".min_select option:selected").val();
|
||||
var otherHouTxt = '00';
|
||||
var otherMinTxt = '00';
|
||||
var otherObj;
|
||||
var diffStartTime = '0000';
|
||||
var diffEndTime = '0000';
|
||||
var msg = '교육 시작시간이 종료시간보다 큽니다. 확인해주세요.';
|
||||
var flag = true;
|
||||
var time = '';
|
||||
var minute = '';
|
||||
|
||||
if(len > 1){
|
||||
if(idx == 1){
|
||||
otherObj = td.find('.time_wrap:eq('+0+')');
|
||||
otherHouTxt = otherObj.find(".hours_select option:selected").val();
|
||||
otherMinTxt = otherObj.find(".min_select option:selected").val();
|
||||
diffStartTime = otherHouTxt + otherMinTxt;
|
||||
diffEndTime = houTxt + minTxt;
|
||||
msg = '교육 종료시간이 시작시간보다 작습니다. 확인해주세요.';
|
||||
|
||||
time = houTxt - otherHouTxt;
|
||||
minute = minTxt - otherMinTxt;
|
||||
|
||||
}else{
|
||||
otherObj = td.find('.time_wrap:eq('+1+')');
|
||||
otherHouTxt = otherObj.find(".hours_select option:selected").val();
|
||||
otherMinTxt = otherObj.find(".min_select option:selected").val();
|
||||
diffEndTime = otherHouTxt + otherMinTxt;
|
||||
diffStartTime = houTxt + minTxt;
|
||||
time = otherHouTxt - houTxt;
|
||||
minute = otherMinTxt - minTxt;
|
||||
}
|
||||
if(diffStartTime.indexOf('선택') == -1 && diffEndTime.indexOf('선택') == -1){
|
||||
|
||||
if(diffStartTime > diffEndTime){
|
||||
flag = false;
|
||||
alert(msg);
|
||||
timeWarp.find('.time').val('');
|
||||
}else{
|
||||
var lrnTm = (time*60)+minute;
|
||||
var scholDivCd = $("input[name=scholDivCd]:checked").val();
|
||||
|
||||
if(isNotEmpty(scholDivCd)){
|
||||
|
||||
// 초등, 특수 , 기타
|
||||
if(scholDivCd == VeConstants.CLASS_CD_10 || scholDivCd == VeConstants.CLASS_CD_40 || scholDivCd == VeConstants.CLASS_CD_50){
|
||||
if(lrnTm < VeConstants.CLASS_TM_40){
|
||||
alert('학교구분이 초등/특수/기타와 같다면 최소교육시간 '+VeConstants.CLASS_TM_40+'분 이상이여야합니다.');
|
||||
$(this).focus();
|
||||
flag = false;
|
||||
}
|
||||
// 중등
|
||||
}else if(scholDivCd == VeConstants.CLASS_CD_20 ){
|
||||
if(lrnTm < VeConstants.CLASS_TM_45){
|
||||
alert('학교구분이 중등과 같다면 최소교육시간 '+VeConstants.CLASS_TM_45+'분 이상이여야합니다.');
|
||||
$(this).focus();
|
||||
flag = false;
|
||||
}
|
||||
// 고등
|
||||
}else if(scholDivCd == VeConstants.CLASS_CD_30){
|
||||
if(lrnTm < VeConstants.CLASS_TM_50){
|
||||
alert('학교구분이 고등과 같다면 최소교육시간 '+VeConstants.CLASS_TM_50+'분 이상이여야합니다.');
|
||||
$(this).focus();
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
td.find('.input_time').val('0');
|
||||
timeWarp.find('.time').val('');
|
||||
}else{
|
||||
if(lrnTm < VeConstants.ADULT_TM_60){
|
||||
alert('성인교육 최소시간 '+VeConstants.ADULT_TM_60+'분 이상이여야합니다.');
|
||||
$(this).focus();
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
td.find('.input_time').val(lrnTm);
|
||||
}else{
|
||||
timeWarp.find('.time').val('');
|
||||
td.find('.input_time').val('0');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(flag){
|
||||
timeWarp.find('.time').val(houTxt + ":" + minTxt);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
const oprtnStrtDt = document.querySelector(".oprtnStrtDt");
|
||||
oprtnStrtDt.localization = {
|
||||
placeholder: '시작일을 입력해주세요.',
|
||||
selectedDateMessage: 'Selected date is',
|
||||
prevMonthLabel: '이전 달 보기',
|
||||
nextMonthLabel: '다음 달 보기',
|
||||
monthSelectLabel: '달 선택',
|
||||
yearSelectLabel: '년도 선택',
|
||||
closeLabel: '달력 닫기',
|
||||
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
|
||||
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||
}
|
||||
|
||||
const oprtnEndDt = document.querySelector(".oprtnEndDt");
|
||||
oprtnEndDt.localization = {
|
||||
placeholder: '종료일을 입력해주세요.',
|
||||
selectedDateMessage: 'Selected date is',
|
||||
prevMonthLabel: '이전 달 보기',
|
||||
nextMonthLabel: '다음 달 보기',
|
||||
monthSelectLabel: '달 선택',
|
||||
yearSelectLabel: '년도 선택',
|
||||
closeLabel: '달력 닫기',
|
||||
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
|
||||
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function filePopupLayer(type){
|
||||
@ -57,8 +191,190 @@
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn=0'/>");
|
||||
}
|
||||
|
||||
</script>
|
||||
function fncSave(aprvlCd){
|
||||
if (!validCheck()) return;
|
||||
url = '${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctMdfyAjax.do';
|
||||
|
||||
if(confirm("계획서를 제출하시겠습니까?")){
|
||||
$("#aprvlCd").val('50');
|
||||
$('input[name="scholDivCd"]').val(""); /* 차시 최소시간 체크를 제외하기 위한 임시 scholDivCd를 update 처리에서 제외하기 위함 */
|
||||
|
||||
if($('input[name=oprtnStrtDt]').val() != null){
|
||||
$('input[name=oprtnStrtDt]').val($('input[name=oprtnStrtDt]').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
if($('input[name=oprtnEndDt]').val() != null){
|
||||
$('input[name=oprtnEndDt]').val($('input[name=oprtnEndDt]').val().replace(/[.]/gi, ''));
|
||||
}
|
||||
|
||||
|
||||
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) {
|
||||
$("#eduAplctOrd").val(returnData.VO.eduAplctOrd);
|
||||
if(status == 'success'){
|
||||
alert("제출 되었습니다.");
|
||||
location.reload();
|
||||
} else if(status== 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function validCheck(){
|
||||
|
||||
if($('#trgtGrade').val() == ''){
|
||||
alert('대상학년/반을 입력해주세요.');
|
||||
$("#trgtGrade").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('#trgtPrsnl').val() == ''){
|
||||
alert('전체학생 수를 입력해주세요.');
|
||||
$("#trgtPrsnl").focus();
|
||||
return
|
||||
false;
|
||||
}
|
||||
if($('#needTxtbNum').val() == ''){
|
||||
alert('필요 교재 수량을 입력해주세요.');
|
||||
$("#needTxtbNum").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('duet-date-picker[name=oprtnStrtDt]').val() == ''){
|
||||
alert('운영시기 시작일을 입력해주세요.');
|
||||
$("#oprtnStrtDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('duet-date-picker[name=oprtnEndDt]').val() == ''){
|
||||
alert('운영시기 종료일을 입력해주세요.');
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var oprtnStrtDt = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var oprtnEndDt = $('duet-date-picker[name=oprtnEndDt]').val();
|
||||
|
||||
oprtnStrtDt = oprtnStrtDt.replace(/[.]/gi, '');
|
||||
oprtnEndDt = oprtnEndDt.replace(/[.]/gi, '');
|
||||
|
||||
if(oprtnStrtDt > oprtnEndDt){
|
||||
alert("시작일이 종료일보다 클 수 없습니다.");
|
||||
$("#oprtnEndDt").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var oprtnStrtDtDate = $('duet-date-picker[name=oprtnStrtDt]').val();
|
||||
var yyyy = oprtnStrtDtDate.substr(0,4);
|
||||
var mm = oprtnStrtDtDate.substr(5,2);
|
||||
var dd = oprtnStrtDtDate.substr(8,2);
|
||||
var oprtnStrtDtDate = new Date(yyyy, mm-1, dd); // 교육희망일을 Date 형태로 변경
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
var todayDate = new Date(tyyyy, tmm-1, tdd)
|
||||
|
||||
//교육희망일이 오늘보다 전인지 체크
|
||||
if(oprtnStrtDtDate < todayDate) {
|
||||
alert('시작일 오늘 이후의 날짜로 입력해주세요.');
|
||||
return flag = 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;
|
||||
}
|
||||
|
||||
var eduHopeDt = $(this).find('input[name=eduHopeDt]').val();
|
||||
var yyyy = eduHopeDt.substr(0,4);
|
||||
var mm = eduHopeDt.substr(5,2);
|
||||
var dd = eduHopeDt.substr(8,2);
|
||||
var eduHopeDtDate = new Date(yyyy, mm-1, dd); // 교육희망일을 Date 형태로 변경
|
||||
console.log(eduHopeDt);
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
var todayDate = new Date(tyyyy, tmm-1, tdd)
|
||||
|
||||
if(eduHopeDtDate < todayDate) {
|
||||
alert('교육희망일은 오늘 이후의 날짜로 입력해주세요.');
|
||||
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=strtTm]').val().indexOf('선택') != -1){
|
||||
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('input[name=endTm]').val().indexOf('선택') != -1){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=lrnSbjct]').val() == ''){
|
||||
alert('학습주제를 입력해주세요.');
|
||||
$('input[name=lrnSbjct]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=lrnCn]').val() == ''){
|
||||
alert('지도내용을 입력해주세요.');
|
||||
$('input[name=lrnCn]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
});
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
</script>
|
||||
<div class="mask2" onclick="timeLayerUtil()"></div>
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" 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}" />" />
|
||||
@ -71,15 +387,20 @@
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<!-- 시간 선택 시 교육별 최소 시간 체크 제외를 위한 임시 checkbox -->
|
||||
<div style="display:none;">
|
||||
<input type="checkbox" name="scholDivCd" value="exprn" checked>
|
||||
</div>
|
||||
|
||||
<div class="cont_wrap" id="sub" style="margin-top: 20px;">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>거래선 및 서약서 정보</p>
|
||||
</div>
|
||||
<div class="tb_tit01_right">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="nextTab('1');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('3');">다음 →</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('1');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('3');">다음 →</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -91,6 +412,7 @@
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<tr>
|
||||
<th scope="row"><p>거래선 양식</p></th>
|
||||
<td>
|
||||
@ -117,10 +439,396 @@
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=1'" title="서약서 양식 다운로드">서약서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd > VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<tr>
|
||||
<th scope="row"><p>서약서 제출</p></th>
|
||||
<td>
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<form:form id="createForm" name="createForm" commandName="modelVO" onsubmit="return false;">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/><!-- 승인코드 -->
|
||||
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영 계획</p>
|
||||
<span class="cf_text">* 항목은 필수 입력 사항입니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write tb_input">
|
||||
<table>
|
||||
<caption>운영 계획 (th 명)을 입력하는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 150px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtGrade" class="label">대상 학년 입력</label>
|
||||
<input type="text" name="trgtGrade" id="trgtGrade" maxlength="20" value="${info.trgtGrade}" size="20">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>전체학생 수</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtPrsnl" class="label">학생 수 입력</label>
|
||||
<input type="text" name="trgtPrsnl" id="trgtPrsnl" onkeyup="onlyNumber(this);" maxlength="4" value="${info.trgtPrsnl}" size="20"> 명
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td class="calendar_td">
|
||||
|
||||
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" class="oprtnStrtDt" name="oprtnStrtDt" value="" pattern="yyyy.MM.dd"/></duet-date-picker>
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" class="oprtnEndDt" name="oprtnEndDt" value="" pattern="yyyy.MM.dd"/></duet-date-picker>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
|
||||
<script>
|
||||
$(window).on("load",function(){
|
||||
//title 변경
|
||||
$(".startDate .duet-date__input").attr("title","운영시기 시작날짜를 YYYY.MM.DD 형식으로 입력해주세요");
|
||||
$(".endDate .duet-date__input").attr("title","운영시기 종료날짜를 YYYY.MM.DD 형식으로 입력해주세요");
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td>
|
||||
<label for="needTxtbNum" class="label">필요 교재 수량 입력</label>
|
||||
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.needTxtbNum}" title="필요 교재 수량" size="20" maxlength="4">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left" style="display: block;">
|
||||
<p>차시별 운영계획</p>
|
||||
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 운영지원금 지원을 위한 계획서(계획은 웅영에따 따라 변경 가능)<br/>※ 담당교사의 재량으로 자율 편성하되, 1일 최대 2차시까지만 운영 가능</span>
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" title="교육차시 입력테이블 추가생성" onclick="addEduClassCopyTngr('addClassRow')">교육추가</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tb_type02 tb_type02_write">
|
||||
<table class="addClassRow" rowLimit="1" >
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 9%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>교육희망일</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>시간</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>학습주제</th>
|
||||
<th scope="col"><p class="req_text"><span>필수입력 항목</span>*</p>지도내용</th>
|
||||
<th scope="col">비고</th>
|
||||
<th scope="col">삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="calendar_th">
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt"></duet-date-picker>
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
<div class="table_time_wrap">
|
||||
<div class="time_wrap time_select_wrap">
|
||||
<input type="text" class="time" name="strtTm" title="시작 시간 입력" readonly>
|
||||
<button type="button" title="팝업 열림" class="time_set_btn"><img src="<c:url value='/visitEdu/usr/publish/images/content/timeIcon.png'/>" alt="시작 시간 선택"></button>
|
||||
<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" title="종료 시간 입력" readonly>
|
||||
<button type="button" title="팝업 열림" class="time_set_btn"><img src="<c:url value='/visitEdu/usr/publish/images/content/timeIcon.png'/>" alt="종료 시간 선택"></button>
|
||||
<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" title="교육 시간">분)
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label for="lrnSbjct" class="label">학습주제</label>
|
||||
<input type="text" id="lrnSbjct" name="lrnSbjct" maxlength="50">
|
||||
</td>
|
||||
<td>
|
||||
<label for="lrnCn" class="label">지도내용</label>
|
||||
<input type="text"" id="lrnCn" name="lrnCn" maxlength="50">
|
||||
</td>
|
||||
<td>
|
||||
<label for="text" class="label">비고</label>
|
||||
<input type="text" id="rmrks" name="rmrks" maxlength="50" >
|
||||
</td>
|
||||
<td><button type="button" class="table_del" onclick="tableDel(this)" title="해당 교육차시 정보 삭제"><img alt="" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/del_btn.png"></button></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<script src="<c:url value='/visitEdu/usr/publish/script/duetdatepicker2.js' /> "></script>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
|
||||
<c:if test="${info.aprvlCd > VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>운영계획 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>대상학년/반</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>대상학생수</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.trgtPrsnl}
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left" style="display: block;">
|
||||
<p>차시별 운영계획</p>
|
||||
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 운영지원금 지원을 위한 계획서(계획은 웅영에따 따라 변경 가능)<br/>※ 담당교사의 재량으로 자율 편성하되, 1일 최대 2차시까지만 운영 가능</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02 tb_type02_write">
|
||||
<table class="addClassRow" rowLimit="1" >
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">교육희망일</th>
|
||||
<th scope="col">시간</th>
|
||||
<th scope="col">학습주제</th>
|
||||
<th scope="col">지도내용</th>
|
||||
<th scope="col">비고</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.eduHopeDt}">
|
||||
${list.eduHopeDt}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
<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>${list.lrnSbjct}</td>
|
||||
<td>${list.lrnCn}</td>
|
||||
<td>${list.rmrks}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${fn:length(chasiList) eq 0}">
|
||||
<tr>
|
||||
<td colspan="5"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
</form:form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
@ -130,8 +838,13 @@
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('3');">운영계획으로 이동</button> -->
|
||||
<%-- <button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button> --%>
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_40}">
|
||||
<button type="button" class="btnType05" onclick="fncSave('50');">계획서 제출</button>
|
||||
</c:if>
|
||||
<c:if test="${info.aprvlCd eq VeConstants.EXPRN_APRVL_CD_50 or rsltAllYn eq 'N'}">
|
||||
<button type="button" class="btnType05" onclick="fncGoRslt();">결과보고제출</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -48,15 +48,15 @@
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_wrap" id="sub" >
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
<div class="tb_tit01_right">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="nextTab('2');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('4');">다음 →</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('2');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('4');">다음 →</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -186,7 +186,6 @@
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('4');">결과보고로 이동</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -305,7 +305,7 @@
|
||||
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
fncStatusChange('60');
|
||||
}
|
||||
}
|
||||
|
||||
@ -365,7 +365,7 @@
|
||||
}
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
fncStatusChange('60');
|
||||
}
|
||||
}else{
|
||||
//업로드 경로 설정 -upload.jsp에서 uploader.setDirectory(innoDirPath) 식으로 사용
|
||||
@ -378,6 +378,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
function fncStatusChange(statusVal){
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/eduAplctStatusAjax.do",
|
||||
data: {
|
||||
"eduAplctOrd" : $("#eduAplctOrd").val() ,
|
||||
"aprvlCd" : statusVal,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
location.reload();
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function fncTmprrSave(){
|
||||
|
||||
//첨부파일이 변경됐을시만 업로드. 임시저장으로 인하여 비교 필요
|
||||
@ -426,15 +445,15 @@
|
||||
</form:form>
|
||||
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_wrap" id="sub" style="margin-top: 20px;">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>결과보고</p>
|
||||
</div>
|
||||
<div class="tb_tit01_right">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="nextTab('3');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('5');">다음 →</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('3');">← 이전</button>
|
||||
<button type="button" class="btnType05" onclick="nextTab('5');">다음 →</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -616,7 +635,6 @@
|
||||
<div id="fileControl5" style="display:none"></div>
|
||||
</c:if>
|
||||
<button type="button" class="btnType05" onclick="location.href='<c:url value="/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do"/>'">운영 목록으로 이동</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('5');">최종결과로 이동</button> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
@ -240,14 +241,14 @@
|
||||
<div id="beforePrintPopupLoad"></div>
|
||||
<div id="afterPrintPopupLoad"></div>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_wrap" id="sub" style="margin-top: 20px;">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영내역 상세</p>
|
||||
</div>
|
||||
<div class="tb_tit01_right">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="nextTab('4');">← 이전</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('4');">← 이전</button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -289,38 +290,10 @@
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||
<span class="app_status1">교육신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
|
||||
<span class="app_status2">교육승인</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_RJT}">
|
||||
<span class="app_status4">교육반려</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CAN}">
|
||||
<span class="app_status4">교육취소</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
|
||||
<span class="app_status4">선정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
임시저장
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<ve:code codeId="VEA013" code="${info.aprvlCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
<c:if test="${info.aprvlCd eq '12'}">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>반려사유</p>
|
||||
@ -430,45 +403,21 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<!-- <th scope="row"><p>거래선 등록 여부</p></th> -->
|
||||
<%-- <tr>
|
||||
<th scope="row"><p>거래선 양식</p></th>
|
||||
<td>
|
||||
<!-- 22.03.22 고객사 요청으로 숨김 -->
|
||||
<%--
|
||||
<c:choose>
|
||||
<c:when test="${info.transAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.transAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
--%>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=2'" title="거래선 양식 다운로드">거래선 양식 다운로드</button>
|
||||
<p>
|
||||
<span class="cf_text">※ 거래선 파일은 개인정보 수집 및 보호를 위해 반드시 메일(entt@copyright.or.kr)로 제출하시기 바랍니다.</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tr> --%>
|
||||
<tr>
|
||||
<th scope="row"><p>서약서 제출</p></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${info.oathAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=1'" title="서약서 양식 다운로드">서약서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -517,16 +466,6 @@
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
<!--
|
||||
<th scope="row">
|
||||
<p>보고서 제출일(예정)</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.rprtSbmt}" var="rprtSbmt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rprtSbmt}" pattern="yyyy.MM.dd"/>
|
||||
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -536,42 +475,65 @@
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left" style="display: block;">
|
||||
<p>차시별 운영계획</p>
|
||||
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 운영지원금 지원을 위한 계획서(계획은 웅영에따 따라 변경 가능)<br/>※ 담당교사의 재량으로 자율 편성하되, 1일 최대 2차시까지만 운영 가능</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type02 tb_type02_write">
|
||||
<table class="addClassRow" rowLimit="1" >
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
<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>
|
||||
<th>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.eduHopeDt}">
|
||||
${list.eduHopeDt}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/>
|
||||
<fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/>
|
||||
<fmt:formatDate value="${endTm}" pattern="kk:mm"/>
|
||||
(${list.lrnTm}분)
|
||||
</td>
|
||||
<td>${list.lrnSbjct}</td>
|
||||
<td>${list.lrnCn}</td>
|
||||
<td>${list.rmrks}</td>
|
||||
</tr>
|
||||
-->
|
||||
</c:forEach>
|
||||
<c:if test="${fn:length(chasiList) eq 0}">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oprtnFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
<td colspan="5"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>차시별 계획서 제출</p></th>
|
||||
<td colspan="3">
|
||||
<c:if test="${info.planAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.planAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="PLAN" onclick="filePopupLayer('PLAN')" title="팝업 열림">계획서 업로드</button>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=0'" title="계획서 양식 다운로드">계획서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -710,7 +672,7 @@
|
||||
<!-- 231101 요청사항으로 교육콘텐츠 관련 메뉴 삭제 -->
|
||||
<!-- <button type="button" class="btnType04" onclick="fncGoLctrAplctReg();">교육콘텐츠 신청</button> -->
|
||||
<c:if test="${info.exprnAprvlCd ne '10'}">
|
||||
<button type="button" class="btnType05" onclick="nextTab('4');;">결과보고제출</button>
|
||||
<!-- <button type="button" class="btnType05" onclick="nextTab('4');;">결과보고제출</button> -->
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
|
||||
@ -66,4 +66,16 @@ var VeConstants = {
|
||||
|
||||
ADULT_TM_60 : "60", // 성인 시간
|
||||
|
||||
EXPRN_APRVL_CD_10 : "10", // 운영신청
|
||||
EXPRN_APRVL_CD_11 : "11", // 수정요청
|
||||
EXPRN_APRVL_CD_12 : "12", // 운영 미확정
|
||||
EXPRN_APRVL_CD_13 : "13", // 수정완료
|
||||
EXPRN_APRVL_CD_20 : "20", // 운영확정
|
||||
EXPRN_APRVL_CD_30 : "30", // 서류제출 요청
|
||||
EXPRN_APRVL_CD_40 : "40", // 서류제출
|
||||
EXPRN_APRVL_CD_50 : "50", // 운영 진행중
|
||||
EXPRN_APRVL_CD_60 : "60", // 결과보고 완료
|
||||
EXPRN_APRVL_CD_70 : "70", // 검토중
|
||||
EXPRN_APRVL_CD_80 : "80" // 운영종료
|
||||
|
||||
}
|
||||
|
||||
@ -362,7 +362,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
|
||||
.tb_list02 table .btnType06 {border-radius:5px; padding:5px 10px; font-size:15px;}
|
||||
|
||||
/*체험교실대시보드 - 5단계(감리용)*/
|
||||
.ex_process {display:flex; justify-content:space-between; background:#f5f5f5; border:1px solid #cbcbcb; width:100%; border-radius:10px; margin: 0 0 40px 0; }
|
||||
/* .ex_process {display:flex; justify-content:space-between; background:#f5f5f5; border:1px solid #cbcbcb; width:100%; border-radius:10px; margin: 0 0 40px 0; }
|
||||
.ex_process li {position:relative; background-position:25 center; background-repeat: no-repeat; width:20%; color:#666; font-size:22px; font-weight:500; letter-spacing:-0.5; }
|
||||
.ex_process li a {width:100%; padding:0; box-sizing: border-box; padding:45px 0 45px 125px ;}
|
||||
.ex_process li.p_1 {background-image: url(../images/content/ex_process1.png); background-position:50px center;}
|
||||
@ -376,14 +376,14 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
|
||||
.ex_process li.p_4_on {background-image: url(../images/content/ex_process4_on.png); background-position:50px center; background-color:#f37632; border-radius:10px; color:#fff; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);}
|
||||
.ex_process li.p_5_on {background-image: url(../images/content/ex_process5_on.png); background-position:50px center; background-color:#f37632; border-radius:10px; color:#fff; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);}
|
||||
.ex_process li::after {position:absolute; content:""; width:1px; height:60px; background-color: #d5d5d5; right: 0; align-items: center; margin:-85px 0 0 0;}
|
||||
.ex_process li.p_1_on::after, li.p_2_on::after, li.p_3_on::after, li.p_4_on::after, li.p_5::after, li.p_5_on::after {display:none; }
|
||||
.ex_process li.p_1_on::after, li.p_2_on::after, li.p_3_on::after, li.p_4_on::after, li.p_5::after, li.p_5_on::after {display:none; } */
|
||||
|
||||
/*체험교실대시보드 7단계
|
||||
/* 체험교실대시보드 7단계 */
|
||||
.ex_process {display:flex; justify-content:space-between;}
|
||||
.ex_process li {border-radius: 10px; width:13.5%; text-align: center; color:#fff; padding:15px 0 18px 0; font-size:22px;}
|
||||
.ex_process li.p {background-color: #a7acb6;}
|
||||
.ex_process li.p_on {background-color:#f37632;}
|
||||
*/
|
||||
|
||||
|
||||
/* 첨부파일 */
|
||||
.tb_type01.attach {margin-bottom: 10px;}
|
||||
@ -878,7 +878,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
|
||||
.sel_tpye {margin: 100px 120px 24px 120px;}
|
||||
|
||||
/*체험교실대시보드 5단계 (감리용)*/
|
||||
.ex_process {background:#f5f5f5; border:1px solid #cbcbcb; width:100%; border-radius:10px; margin: 0; margin:0 0 30px 0; }
|
||||
/* .ex_process {background:#f5f5f5; border:1px solid #cbcbcb; width:100%; border-radius:10px; margin: 0; margin:0 0 30px 0; }
|
||||
.ex_process li {position:relative; background-position:25 center; background-repeat: no-repeat; width:20%; color:#666; font-size:17px; letter-spacing: -1px; font-weight:500;}
|
||||
.ex_process li a { padding:20px 0; text-align:center;}
|
||||
.ex_process li.p_1_on {background-image: none;}
|
||||
@ -892,12 +892,12 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
|
||||
.ex_process li.p_4 {background-image: none;}
|
||||
.ex_process li.p_5 {background-image: none;}
|
||||
.ex_process li::after {position:absolute; content:""; width:1px; height:30px; background-color: #d5d5d5; right: 0; margin:-45px 0 0 0;}
|
||||
.ex_process li.p_1_on::after, li.p_2_on::after, li.p_3_on::after, li.p_4_on::after, li.p_5_on::after {display:none; }
|
||||
.ex_process li.p_1_on::after, li.p_2_on::after, li.p_3_on::after, li.p_4_on::after, li.p_5_on::after {display:none; } */
|
||||
|
||||
|
||||
/*체험교실대시보드 7단계
|
||||
/* 체험교실대시보드 7단계 */
|
||||
.ex_process li {font-size:18px; padding:8px 3px 10px 3px; border-radius:5px; width:12%; line-height:20px; display: flex; align-items: center; justify-content: center;}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
@media all and (max-width: 860px){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user