This commit is contained in:
myname 2023-11-13 10:47:51 +09:00
commit 46c6d8eb83
44 changed files with 3616 additions and 2405 deletions

View File

@ -581,4 +581,93 @@ public class EgovFileDownloadController {
printwriter.close(); printwriter.close();
} }
} }
/**
* 첨부파일로 등록된 파일에 대하여 다운로드 파일명을 변경하여 다운로드 한다. setDisposition(fvo.getOrignlFileNm()) 파라미터 변경
*
* @param commandMap
* @param response
* @throws Exception
*/
@RequestMapping(value = "/cmm/fms/fileNmChgDown.do")
public void cvplFileNmChgDownload(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception {
String atchFileId = (String) commandMap.get("atchFileId");
String fileSn = (String) commandMap.get("fileSn");
String chgNm = (String) commandMap.get("chgNm"); //변경 파일명
/*Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();*/
/*if (isAuthenticated) {*/
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(atchFileId);
fileVO.setFileSn(fileSn);
FileVO fvo = fileService.selectFileInf(fileVO);
if(fvo == null){
response.setContentType("application/x-msdownload");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
return ;
}
File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm());
long fSize = uFile.length();
if (fSize > 0) {
String mimetype = "application/x-msdownload";
response.setContentType(mimetype);
fvo.setOrignlFileNm(chgNm+"."+fvo.getFileExtsn()); //파일명 변경 처리
setDisposition(fvo.getOrignlFileNm(), request, response);
//response.setContentLength(fSize);
BufferedInputStream in = null;
BufferedOutputStream out = null;
try {
in = new BufferedInputStream(new FileInputStream(uFile));
out = new BufferedOutputStream(response.getOutputStream());
FileCopyUtils.copy(in, out);
out.flush();
} catch (Exception ex) {
LOGGER.debug("IGNORED: {}", ex.getMessage());
} finally {
if (in != null) {
try {
in.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
if (out != null) {
try {
out.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
} else {
response.setContentType("application/x-msdownload");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
/*}*/
}
} }

View File

@ -386,4 +386,28 @@ public class EgovFileMngController {
return "cmm/fms/selectRsltRprtFile"; return "cmm/fms/selectRsltRprtFile";
} }
/**
* 파일명을 변경하여 다운로드하기 위한 첨부파일 조회, 목록에 업로드 일자 추가 ex) 관리자 - 저작권체험교실 - 신청 상세
*
* @param fileVO
* @param commandMap
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cmm/fms/selectForNmChgFile.do")
public String selectForNmChgFile(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception {
String atchFileId = (String) commandMap.get("param_atchFileId");
String chgNm = (String) commandMap.get("chgNm");
fileVO.setAtchFileId(atchFileId);
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
model.addAttribute("atchFileId", atchFileId);
model.addAttribute("chgNm", chgNm);
return "cmm/fms/selectForNmChgFile";
}
} }

View File

@ -64,7 +64,10 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
public String sbmtId = ""; //제출 강사 ID public String sbmtId = ""; //제출 강사 ID
public String eduDocReqOrd = "";//서류요청 순번 public String eduDocReqOrd = "";//서류요청 순번
public String cnclCn = "";//기소유예 취소사유
public String getFileType() { public String getFileType() {
return fileType; return fileType;
} }
@ -169,6 +172,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
this.eduDocReqOrd = eduDocReqOrd; this.eduDocReqOrd = eduDocReqOrd;
} }
public String getCnclCn() {
return cnclCn;
}
public void setCnclCn(String cnclCn) {
this.cnclCn = cnclCn;
}

View File

@ -37,5 +37,7 @@ public interface InnorixFileService {
RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO); RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO);
RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO); RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO);
RestResponse insertInnorixSspnCnClAjax(AdrInnorixFileVO adrInnorixFileVO);
} }

View File

@ -27,11 +27,14 @@ import kcc.kccadr.cmm.innorix.service.AdrInnorixFileVO;
import kcc.kccadr.cmm.innorix.service.InnorixFileService; import kcc.kccadr.cmm.innorix.service.InnorixFileService;
import kcc.kccadr.cmm.innorix.service.InnorixFileVO; import kcc.kccadr.cmm.innorix.service.InnorixFileVO;
import kcc.let.utl.fcc.service.EgovStringUtil; import kcc.let.utl.fcc.service.EgovStringUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduMIXDAO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
/** /**
* @Class Name : EgovCmmUseServiceImpl.java * @Class Name : EgovCmmUseServiceImpl.java
@ -82,6 +85,20 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
//서류요청 순번 //서류요청 순번
@Resource(name="docReqOrdGnrService") @Resource(name="docReqOrdGnrService")
private EgovIdGnrService docReqOrdGnrService; private EgovIdGnrService docReqOrdGnrService;
// 교육 신청 정보
@Resource(name="sspnIdtmtService")
private SspnIdtmtService sspnIdtmtService;
//과정 관리
@Resource(name = "cndtnTrgtInfoMngService")
private CndtnTrgtMngService cndtnTrgtInfoMngService;
//
@Resource(name = "vEEduMIXDAO")
private VEEduMIXDAO vEEduMIXDAO;
/** /**
* @methodName : fileDataUpload * @methodName : fileDataUpload
* @author : 이호영 * @author : 이호영
@ -465,4 +482,32 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
} }
@Override
public RestResponse insertInnorixSspnCnClAjax(AdrInnorixFileVO adrInnorixFileVO) {
List<FileVO> result = null;
try {
// 파일 저장 저장할 file 정보를 받아옴
result = this.insertFileData(adrInnorixFileVO);
// 파일 정보 insert
String atchFileId = fileManageDAO.insertFileInfs(result);
//VE_EDU_DOC_REQ 서류요청테이블 insert
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setAplctStateCd("35"); // VEA_APLCT_DETAIL_INFO TB 상태코드 VEA003 10 - 미이수, 20 - 이수, 30 - 취소, 35 - 취소 요청
vEEduAplctVO.setCnclAtchFileId(atchFileId);
vEEduAplctVO.setCnclCn(adrInnorixFileVO.getCnclCn());
vEEduAplctVO.setPrcsAplctPrdOrd(adrInnorixFileVO.getPrcsAplctPrdOrd());
vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd());
vEEduMIXDAO.updateCnclStatus(vEEduAplctVO);
} catch (Exception e) {
e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
} }

View File

@ -185,6 +185,30 @@ public class InnorixFileController {
return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO)); return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO));
} }
/**
* @methodName : insertInnorixSspnCnClAjax
* @author : 이호영
* @date : 2023.11.08
* @description : 기소유예 취소 파일 업로드
* @param adrInnorixFileVO
* @return
* @throws Exception
*/
@RequestMapping(value = {"/web/common/insertInnorixSspnCnClAjax.do"}, method = RequestMethod.POST)
public ResponseEntity<RestResponse> insertInnorixSspnCnClAjax(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
}
adrInnorixFileVO.setUniqId(userId);
return ResponseEntity.ok(innorixService.insertInnorixSspnCnClAjax(adrInnorixFileVO));
}
/** /**
* @methodName : insertReqDocInnorixFile * @methodName : insertReqDocInnorixFile
* @author : 이지우 * @author : 이지우

View File

@ -110,6 +110,8 @@ public class MenuManageJTreeVO implements Serializable {
private String sort; //매뉴순번 private String sort; //매뉴순번
private String addMenu; //추가메뉴 - 사이트맵에 알림마당 추가하기 위한
public String getTmp_snsId() { public String getTmp_snsId() {
return tmp_snsId; return tmp_snsId;
} }
@ -491,6 +493,14 @@ public class MenuManageJTreeVO implements Serializable {
public void setSort(String sort) { public void setSort(String sort) {
this.sort = sort; this.sort = sort;
} }
public String getAddMenu() {
return addMenu;
}
public void setAddMenu(String addMenu) {
this.addMenu = addMenu;
}
} }

View File

@ -1,19 +1,21 @@
package kcc.ve.aplct.sspnIdtmt.service; package kcc.ve.aplct.sspnIdtmt.service;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
public interface SspnIdtmtService { public interface SspnIdtmtService {
void insertVeEduAplct(VEEduAplctVO paramVO); void insertVeEduAplct(VEEduAplctVO paramVO);
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO); void updateAprvlCd(VEEduAplctVO paramVO) throws Exception;
// String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO); VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
// String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
}
}

View File

@ -29,6 +29,11 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
public void insertVeEduAplct(VEEduAplctVO paramVO) { public void insertVeEduAplct(VEEduAplctVO paramVO) {
vEEduAplctDAO.insertVeEduAplct(paramVO); vEEduAplctDAO.insertVeEduAplct(paramVO);
} }
@Override
public void updateAprvlCd(VEEduAplctVO paramVO) throws Exception {
vEEduAplctDAO.updateReg(paramVO);
}
@Override @Override
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) { public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {

View File

@ -139,6 +139,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String isltn3Yn; //접적학교여부 private String isltn3Yn; //접적학교여부
private String ppltnReducAreaYn; //인구감소지역여부 private String ppltnReducAreaYn; //인구감소지역여부
private String cnclAtchFileId; //
private String cnclCn; //
public int getChasi() { public int getChasi() {
return chasi; return chasi;
@ -1680,6 +1682,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
this.ppltnReducAreaYn = ppltnReducAreaYn; this.ppltnReducAreaYn = ppltnReducAreaYn;
} }
public String getCnclAtchFileId() {
return cnclAtchFileId;
}
public void setCnclAtchFileId(String cnclAtchFileId) {
this.cnclAtchFileId = cnclAtchFileId;
}
public String getCnclCn() {
return cnclCn;
}
public void setCnclCn(String cnclCn) {
this.cnclCn = cnclCn;
}
} }

View File

@ -130,6 +130,10 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
public void insertVeEduAplct(VEEduAplctVO paramVO) { public void insertVeEduAplct(VEEduAplctVO paramVO) {
insert("VEEduAplctDAO.insertVeEduAplct", paramVO); insert("VEEduAplctDAO.insertVeEduAplct", paramVO);
} }
public void updateAprvlCd(VEEduAplctVO paramVO) {
insert("VEEduAplctDAO.updateAprvlCd", paramVO);
}
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) { public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
return (VEEduAplctVO) select("VEEduAplctDAO.findByAprvlCd", vEEduAplctReqVO); return (VEEduAplctVO) select("VEEduAplctDAO.findByAprvlCd", vEEduAplctReqVO);

View File

@ -186,6 +186,10 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
public void updateEduStateCd(VEEduAplctVO paramVO) { public void updateEduStateCd(VEEduAplctVO paramVO) {
update("VEEduMIXDAO.updateEduStateCd", paramVO); update("VEEduMIXDAO.updateEduStateCd", paramVO);
}
public void updateCnclStatus(VEEduAplctVO vEEduAplctVO) {
update("VEEduMIXDAO.updateCnclStatus", vEEduAplctVO);
} }
} }

View File

@ -1,50 +1,52 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEPrcsAplctPrdService { public interface VEPrcsAplctPrdService {
//C //C
void insert(VEPrcsDetailVO paramVO) throws Exception; void insert(VEPrcsDetailVO paramVO) throws Exception;
//R //R
VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception; VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception;
//U //U
int update(VEPrcsDetailVO paramVO) throws Exception; int update(VEPrcsDetailVO paramVO) throws Exception;
//D //D
int delete(VEPrcsDetailVO paramVO) throws Exception; int delete(VEPrcsDetailVO paramVO) throws Exception;
//L //L
List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
//Page List //Page List
List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception;
//기반강화, 기소유예 //기반강화, 기소유예
List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
//R //R
VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception; VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception;
VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception; VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception;
List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO); List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO);
List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO); List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO);
Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO); Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO);
VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception; VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
void updateOneColumn(VEPrcsDetailVO vEPrcsDetailVO) throws Exception; void updateOneColumn(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
} VEPrcsDetailVO findByCnclInfo(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -1,107 +1,111 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl; package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEPrcsAplctPrdDAO") @Repository("vEPrcsAplctPrdDAO")
public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
/** /**
* 등록 - C * 등록 - C
* @param VELctrDetailVO * @param VELctrDetailVO
* @throws Exception * @throws Exception
*/ */
public void insert(VEPrcsDetailVO paramVO) throws Exception { public void insert(VEPrcsDetailVO paramVO) throws Exception {
insert("VEPrcsAplctPrdDAO.insert", paramVO); insert("VEPrcsAplctPrdDAO.insert", paramVO);
} }
/** /**
* 상세보기 - R * 상세보기 - R
* @param CndtnTrgtInfoMngVO * @param CndtnTrgtInfoMngVO
* @return * @return
* @throws Exception * @throws Exception
*/ */
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO);
} }
/** /**
* 수정 - U * 수정 - U
* @param CndtnTrgtInfoMngVO * @param CndtnTrgtInfoMngVO
* @return * @return
* @throws Exception * @throws Exception
*/ */
public int update(VEPrcsDetailVO paramVO) throws Exception { public int update(VEPrcsDetailVO paramVO) throws Exception {
return update("VEPrcsAplctPrdDAO.update", paramVO); return update("VEPrcsAplctPrdDAO.update", paramVO);
} }
/** /**
* 삭제 - D * 삭제 - D
* @param addrAgencyVO * @param addrAgencyVO
* @return * @return
* @throws Exception * @throws Exception
*/ */
public int delete(VEPrcsDetailVO paramVO) throws Exception { public int delete(VEPrcsDetailVO paramVO) throws Exception {
return delete("VEPrcsAplctPrdDAO.delete", paramVO); return delete("VEPrcsAplctPrdDAO.delete", paramVO);
} }
//L //L
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO);
return tlist; return tlist;
} }
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO);
return tlist; return tlist;
} }
/** /**
* L - Page * L - Page
* @param addrVO * @param addrVO
* @return * @return
* @throws Exception * @throws Exception
*/ */
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO);
return tlist; return tlist;
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO);
return tlist; return tlist;
} }
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO);
} }
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO); return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO);
} }
public List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { public List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO); return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO);
} }
public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) { public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO); return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO);
} }
public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailByOrd", vEPrcsDetailVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailByOrd", vEPrcsDetailVO);
} }
} public VEPrcsDetailVO findByCnclInfo(VEPrcsDetailVO paramVO) {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.findByCnclInfo", paramVO);
}
}

View File

@ -1,111 +1,115 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl; package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Service("vEPrcsAplctPrdService") @Service("vEPrcsAplctPrdService")
public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//과정신청기간순번 //과정신청기간순번
@Resource(name="prcsAplctPrdGnrService") @Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService; private EgovIdGnrService prcsAplctPrdGnrService;
//과정 //과정
@Resource(name="vEPrcsAplctPrdDAO") @Resource(name="vEPrcsAplctPrdDAO")
private VEPrcsAplctPrdDAO vEPrcsAplctPrdDAO; private VEPrcsAplctPrdDAO vEPrcsAplctPrdDAO;
//과정 //과정
@Resource(name="vEPrcsDAO") @Resource(name="vEPrcsDAO")
private VEPrcsDAO vEPrcsDAO; private VEPrcsDAO vEPrcsDAO;
//C //C
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
//vEPrcsDetailVO.setUseYn("Y"); //vEPrcsDetailVO.setUseYn("Y");
vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO); vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO);
} }
//R //R
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetail(paramVO); return vEPrcsAplctPrdDAO.selectDetail(paramVO);
} }
//U //U
public int update(VEPrcsDetailVO paramVO) throws Exception{ public int update(VEPrcsDetailVO paramVO) throws Exception{
vEPrcsAplctPrdDAO.update(paramVO); vEPrcsAplctPrdDAO.update(paramVO);
return vEPrcsDAO.update(paramVO); return vEPrcsDAO.update(paramVO);
} }
//D //D
public int delete(VEPrcsDetailVO paramVO) throws Exception{ public int delete(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.delete(paramVO); return vEPrcsAplctPrdDAO.delete(paramVO);
} }
//List //List
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectList(paramVO); return vEPrcsAplctPrdDAO.selectList(paramVO);
} }
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO); return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO);
} }
//paging List //paging List
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList(paramVO); return vEPrcsAplctPrdDAO.selectPagingList(paramVO);
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO); return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
} }
//R //R
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO); return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO); return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO);
} }
@Override public VEPrcsDetailVO findByCnclInfo(VEPrcsDetailVO paramVO) {
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { return vEPrcsAplctPrdDAO.findByCnclInfo(paramVO);
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); }
}
@Override
@Override public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
public List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO);
return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO); }
}
@Override
@Override public List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) {
public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) { return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO);
return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO); }
}
@Override
public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.selectDetailByOrd(vEPrcsDetailVO); return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO);
} }
public void updateOneColumn(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
vEPrcsAplctPrdDAO.update(vEPrcsDetailVO); return vEPrcsAplctPrdDAO.selectDetailByOrd(vEPrcsDetailVO);
} }
} public void updateOneColumn(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
vEPrcsAplctPrdDAO.update(vEPrcsDetailVO);
}
}

View File

@ -22,11 +22,14 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.ComDefaultVO;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.service.impl.CmmUseDAO; import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil; import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@ -114,8 +117,14 @@ public class CndtnPrcsInfoMngController {
//암복호화 유틸 //암복호화 유틸
@Resource(name = "egovCryptoUtil") @Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil; EgovCryptoUtil egovCryptoUtil;
//파일정보의 관리
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//온라인콘텐츠과정 관리
@Resource(name = "sspnIdtmtService")
private SspnIdtmtService sspnIdtmtService;
/** /**
* 기반강화연수 과정 관리 목록 화면 * 기반강화연수 과정 관리 목록 화면
*/ */
@ -721,6 +730,64 @@ public class CndtnPrcsInfoMngController {
} }
/**
* @methodName : updateAplctStateCdAjax_only
* @author : 이호영
* @date : 2023.11.10
* @description : 관리자 과정신청기간관리목록 > 상세 > 취소요청 > 팝업 > 승인 반려
* 반려일 경우 VE_EDU_APLCT 테이블에 update 안함
* @param vEEduAplctVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax_only.do")
public ModelAndView updateAplctStateCdAjax_only(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
//vEPrcsDetailVO.setUseYn("Y");
// VEA_APLCT_DETAIL_INFO 신청상세정보 상태값 update
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
// 취소 반려처리시 타면 안됨
//VE_EDU_APLCT UPDATE
if(StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd()))
{
sspnIdtmtService.updateAprvlCd(vEEduAplctVO);
}
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 조건부기소유예 기간 상세화면 * 조건부기소유예 기간 상세화면
*/ */
@ -798,25 +865,26 @@ public class CndtnPrcsInfoMngController {
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView("jsonView"); ModelAndView modelAndView = new ModelAndView("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
try { try {
//로그인 처리====================================
//로그인 정보 가져오기
// 신청상세정보 상태값 update String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// 신청상세정보 상태값 update
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduMIXService.updateAplctStateCd(vEEduAplctVO); vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
// 기소유예 대상자 상태값 udpate // 기소유예 대상자 상태값 udpate
vEEduMIXService.updateEduStateCd(vEEduAplctVO); vEEduMIXService.updateEduStateCd(vEEduAplctVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
@ -904,6 +972,7 @@ public class CndtnPrcsInfoMngController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try { try {
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId());
// 교육 신청 테이블에 신청자 상태값 update // 교육 신청 테이블에 신청자 상태값 update
vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO); vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO);
@ -1190,6 +1259,51 @@ public class CndtnPrcsInfoMngController {
return "/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup"; return "/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup";
} }
/**
* @methodName : cnclPopup
* @author : 이호영
* @date : 2023.11.09
* @description : 취소 정보 확인하는 팝업
* @param vEPrcsDetailVO
* @param model
* @param redirectAttributes
* @param session
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclPopup.do")
public String cnclPopup(
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
VEPrcsDetailVO info = vEPrcsAplctPrdService.findByCnclInfo(vEPrcsDetailVO);
//파일 정보 가져오기
// FileVO fileVO = new FileVO();
// fileVO.setAtchFileId(info.getCnclAtchFileId());
// List<FileVO> result = fileService.selectFileInfs(fileVO);
// model.addAttribute("fileList", result);
// model.addAttribute("fileListCnt", result.size());
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", info);
return "/oprtn/cndtnSspnIdtmt/popup/cnclPopup";
}
/** /**
* 강사배정 등록 처리 * 강사배정 등록 처리

View File

@ -512,8 +512,14 @@ public class MainController {
model.addAttribute("instrDiv", instrDiv); model.addAttribute("instrDiv", instrDiv);
} }
menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); menuManageVO.setMenuUserType(menuManageVO.getMenuUserType());
List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; //헤더 전체메뉴에 알림마당을 추가하기 위한 작업
//select문 selectMenuListJtreeWeb에 addmenu 변수를 이용하여 조건절에 알림마당 메뉴번호 추가
List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
MenuManageJTreeVO fullMenuVo = new MenuManageJTreeVO();
fullMenuVo.setAuthorCode(menuManageVO.getAuthorCode());
fullMenuVo.setAddMenu("9600000");
List<MenuManageJTreeVO> fullMenuResultList = menuCreateManageService.selectMenuListJtreeWeb(fullMenuVo) ;
// 메인 메뉴 청소년, 성인 색상 적용 // 메인 메뉴 청소년, 성인 색상 적용
for(MenuManageJTreeVO empMenuManageJTreeVO : menuResultList) { for(MenuManageJTreeVO empMenuManageJTreeVO : menuResultList) {
@ -551,6 +557,7 @@ public class MainController {
menuManageTopVO.setMenuNo("0");*/ menuManageTopVO.setMenuNo("0");*/
model.addAttribute("menuResultList", menuResultList); model.addAttribute("menuResultList", menuResultList);
model.addAttribute("fullMenuResultList", fullMenuResultList);
model.addAttribute("underMenuExist", underMenuExist); model.addAttribute("underMenuExist", underMenuExist);
model.addAttribute("underMenuEmpty", underMenuEmpty); model.addAttribute("underMenuEmpty", underMenuEmpty);

View File

@ -309,7 +309,14 @@
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
WHERE A.UPPER_MENU_NO = 0 WHERE A.UPPER_MENU_NO = 0
AND A.MENU_NO !=0 AND A.MENU_NO !=0
AND B.AUTHOR_CODE = #authorCode# ]]>
<isEmpty property="addMenu">
AND B.AUTHOR_CODE = #authorCode#
</isEmpty>
<isNotEmpty property="addMenu">
AND (B.AUTHOR_CODE = #authorCode# OR A.MENU_NO = #addMenu#)
</isNotEmpty>
<![CDATA[
/* /*
AND A.MENU_NO != '9050001' 사용자 메인페이지 */ AND A.MENU_NO != '9050001' 사용자 메인페이지 */
/* /*
@ -360,7 +367,14 @@
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
WHERE A.UPPER_MENU_NO = 0 WHERE A.UPPER_MENU_NO = 0
AND A.MENU_NO !=0 AND A.MENU_NO !=0
AND B.AUTHOR_CODE = #authorCode# ]]>
<isEmpty property="addMenu">
AND B.AUTHOR_CODE = #authorCode#
</isEmpty>
<isNotEmpty property="addMenu">
AND (B.AUTHOR_CODE = #authorCode# OR A.MENU_NO = #addMenu#)
</isNotEmpty>
<![CDATA[
/* /*
AND A.MENU_NO != '9050001' 사용자 메인페이지 */ AND A.MENU_NO != '9050001' 사용자 메인페이지 */
/* /*
@ -373,7 +387,15 @@
WHERE aa.MENU_NO=bb.upper_menu_no WHERE aa.MENU_NO=bb.upper_menu_no
AND bb.menu_no=cc.menu_no AND bb.menu_no=cc.menu_no
AND cc.AUTHOR_CODE = #authorCode# ]]>
<isEmpty property="addMenu">
AND cc.AUTHOR_CODE = #authorCode#
</isEmpty>
<isNotEmpty property="addMenu">
AND (cc.AUTHOR_CODE = #authorCode# OR aa.MENU_NO = #addMenu#)
</isNotEmpty>
AND (cc.AUTHOR_CODE = #authorCode# OR aa.MENU_NO = '9600000')
<![CDATA[
AND cc.use_yn='Y' AND cc.use_yn='Y'
AND bb.PROGRM_FILE_NM = dd.PROGRM_FILE_NM AND bb.PROGRM_FILE_NM = dd.PROGRM_FILE_NM

View File

@ -125,6 +125,8 @@
SELECT SELECT
qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */ qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */ vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
vadi.CNCL_CN AS cnclCn,
le.MBER_NM AS userNm, le.MBER_NM AS userNm,
<include refid="VEEduMIXDAO.select_column_name"/> <include refid="VEEduMIXDAO.select_column_name"/>
FROM FROM
@ -164,6 +166,7 @@
</isNotEmpty> </isNotEmpty>
AND a.use_yn = 'Y' AND a.use_yn = 'Y'
AND a.aprvl_cd != '40' /* 취소된 내역 안 보여줌 */
</select> </select>
@ -4938,6 +4941,24 @@ VALUES
vea_aplct_detail_info vea_aplct_detail_info
SET SET
aplct_state_cd = #aplctStateCd# aplct_state_cd = #aplctStateCd#
, last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = SYSDATE
WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
AND edu_aplct_ord = #eduAplctOrd#
</update>
<update id="VEEduMIXDAO.updateCnclStatus" parameterClass="VEEduAplctVO">
/* VEEduMIXDAO.updateCnclStatus */
UPDATE
vea_aplct_detail_info
SET
aplct_state_cd = #aplctStateCd#
, cncl_atch_file_id = #cnclAtchFileId#
, cncl_cn = #cnclCn#
, last_updt_pnttm = SYSDATE
WHERE WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd# prcs_aplct_prd_ord = #prcsAplctPrdOrd#
AND edu_aplct_ord = #eduAplctOrd# AND edu_aplct_ord = #eduAplctOrd#

View File

@ -1,186 +1,188 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 과정 테이블 --> <!-- 찾교 과정 테이블 -->
<sqlMap namespace="VEAPrcsAplctPrdInstrAsgnm"> <sqlMap namespace="VEAPrcsAplctPrdInstrAsgnm">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAPrcsAplctPrdInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO"/> <typeAlias alias="VEAPrcsAplctPrdInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/> <typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 --> <!-- 공통 테이블 명 -->
<sql id="VEAPrcsAplctPrdInstrAsgnmDAO.table_name"> <sql id="VEAPrcsAplctPrdInstrAsgnmDAO.table_name">
vea_prcs_aplct_prd_instr_asgnm vea_prcs_aplct_prd_instr_asgnm
</sql> </sql>
<!-- 저장용 공통 컬럼 명 --> <!-- 저장용 공통 컬럼 명 -->
<sql id="VEAPrcsAplctPrdInstrAsgnmDAO.column_name"> <sql id="VEAPrcsAplctPrdInstrAsgnmDAO.column_name">
prcs_aplct_prd_ord prcs_aplct_prd_ord
, user_id , user_id
, lctr_plan_atch_file_id , lctr_plan_atch_file_id
, doc_atch_file_id , doc_atch_file_id
, asgnm_aprvl_cd , asgnm_aprvl_cd
, asgnm_aprvl_pnttm , asgnm_aprvl_pnttm
, asgnm_aprvl_id , asgnm_aprvl_id
, rmrks , rmrks
, frst_regist_pnttm , frst_regist_pnttm
, frst_register_id , frst_register_id
, last_updt_pnttm , last_updt_pnttm
, last_updusr_id , last_updusr_id
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
<sql id="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"> <sql id="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name">
a.prcs_aplct_prd_ord as prcsAplctPrdOrd a.prcs_aplct_prd_ord as prcsAplctPrdOrd
, a.user_id as userId , a.user_id as userId
, a.lctr_plan_atch_file_id as lctrPlanAtchFileId , a.lctr_plan_atch_file_id as lctrPlanAtchFileId
, a.doc_atch_file_id as docAtchFileId , a.doc_atch_file_id as docAtchFileId
, a.asgnm_aprvl_cd as asgnmAprvlCd , a.asgnm_aprvl_cd as asgnmAprvlCd
, a.asgnm_aprvl_pnttm as asgnmAprvlPnttm , a.asgnm_aprvl_pnttm as asgnmAprvlPnttm
, a.asgnm_aprvl_id as asgnmAprvlId , a.asgnm_aprvl_id as asgnmAprvlId
, a.rmrks as rmrks , a.rmrks as rmrks
, a.frst_regist_pnttm as frstRegistPnttm , a.frst_regist_pnttm as frstRegistPnttm
, a.frst_register_id as frstRegisterId , a.frst_register_id as frstRegisterId
, a.last_updt_pnttm as lastUpdtPnttm , a.last_updt_pnttm as lastUpdtPnttm
, a.last_updusr_id as lastUpdusrId , a.last_updusr_id as lastUpdusrId
</sql> </sql>
<!-- 강사 배정 등록 --> <!-- 강사 배정 등록 -->
<insert id="VEAPrcsAplctPrdInstrAsgnmDAO.instrInsert" parameterClass="VEAPrcsAplctPrdInstrAsgnmVO"> <insert id="VEAPrcsAplctPrdInstrAsgnmDAO.instrInsert" parameterClass="VEAPrcsAplctPrdInstrAsgnmVO">
INSERT INTO <include refid="VEAPrcsAplctPrdInstrAsgnmDAO.table_name"/> ( INSERT INTO <include refid="VEAPrcsAplctPrdInstrAsgnmDAO.table_name"/> (
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.column_name"/> <include refid="VEAPrcsAplctPrdInstrAsgnmDAO.column_name"/>
)VALUES( )VALUES(
#prcsAplctPrdOrd# #prcsAplctPrdOrd#
, #userId# , #userId#
, #lctrPlanAtchFileId# , #lctrPlanAtchFileId#
, #docAtchFileId# , #docAtchFileId#
, #asgnmAprvlCd# , #asgnmAprvlCd#
, SYSDATE , SYSDATE
, #asgnmAprvlId# , #asgnmAprvlId#
, #rmrks# , #rmrks#
, SYSDATE , SYSDATE
, #frstRegisterId# , #frstRegisterId#
, SYSDATE , SYSDATE
, #lastUpdusrId# , #lastUpdusrId#
) )
</insert> </insert>
<!-- 강사 배정 등록 --> <!-- 강사 배정 등록 -->
<insert id="VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO"> <insert id="VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail */ /* VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail */
INSERT INTO vea_aplct_detail_info INSERT INTO vea_aplct_detail_info
( (
prcs_aplct_prd_ord prcs_aplct_prd_ord
, edu_aplct_ord , edu_aplct_ord
, aplct_state_cd , aplct_state_cd
, frst_regist_pnttm , frst_regist_pnttm
, frst_register_id , frst_register_id
) )
VALUES VALUES
( (
#prcsAplctPrdOrd# #prcsAplctPrdOrd#
, #eduAplctOrd# , #eduAplctOrd#
, #aplctStateCd# , #aplctStateCd#
, SYSDATE , SYSDATE
, #frstRegisterId# , #frstRegisterId#
) )
</insert> </insert>
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO"> <select id="VEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
select select
prcs_aplct_prd_ord as prcsAplctPrdOrd prcs_aplct_prd_ord as prcsAplctPrdOrd
, edu_aplct_ord as eduAplctOrd , edu_aplct_ord as eduAplctOrd
, aplct_state_cd as aplctStateCd , aplct_state_cd as aplctStateCd
, frst_regist_pnttm as frstRegistPnttm , frst_regist_pnttm as frstRegistPnttm
, frst_register_id as frstRegisterId , frst_register_id as frstRegisterId
from vea_aplct_detail_info from vea_aplct_detail_info
where edu_aplct_ord = #eduAplctOrd# where edu_aplct_ord = #eduAplctOrd#
and prcs_aplct_prd_ord = #prcsAplctPrdOrd# and prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</select> </select>
<delete id="VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO"> <delete id="VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail" parameterClass="VEPrcsDetailVO">
UPDATE vea_aplct_detail_info SET UPDATE vea_aplct_detail_info SET
aplct_state_cd = #aplctStateCd# aplct_state_cd = #aplctStateCd#
WHERE WHERE
edu_aplct_ord = #eduAplctOrd# edu_aplct_ord = #eduAplctOrd#
AND prcs_aplct_prd_ord = #prcsAplctPrdOrd# AND prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</delete> </delete>
<!-- 교육 신청자 상태 update --> <!-- 교육 신청자 상태 update -->
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct" parameterClass="VEPrcsDetailVO"> <update id="VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct" parameterClass="VEPrcsDetailVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct */ /* VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct */
UPDATE VE_EDU_APLCT UPDATE VE_EDU_APLCT
SET aprvl_cd = #aprvlCd# SET aprvl_cd = #aprvlCd#
WHERE edu_aplct_ord IN WHERE edu_aplct_ord IN
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=","> <iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
#eduAplctOrdList[]# #eduAplctOrdList[]#
</iterate> </iterate>
</update> </update>
<!-- 교육 신청자 상태 update --> <!-- 교육 신청자 상태 update -->
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax" parameterClass="VEPrcsDetailVO"> <update id="VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax" parameterClass="VEPrcsDetailVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax */ /* VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax */
UPDATE VEA_APLCT_DETAIL_INFO UPDATE VEA_APLCT_DETAIL_INFO
SET aplct_state_cd = #aplctStateCd# SET aplct_state_cd = #aplctStateCd#
WHERE edu_aplct_ord IN ,last_updusr_id = #lastUpdusrId#
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=","> ,last_updt_pnttm = sysdate
#eduAplctOrdList[]# WHERE edu_aplct_ord IN
</iterate> <iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
</update> #eduAplctOrdList[]#
</iterate>
<!-- 교육 신청자 상태 update --> </update>
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax" parameterClass="VEPrcsDetailVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax */ <!-- 교육 신청자 상태 update -->
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax" parameterClass="VEPrcsDetailVO">
UPDATE VEA_SSPN_IDMT_TRGT /* VEAPrcsAplctPrdInstrAsgnmDAO.updateEduStateCdListAjax */
SET edu_state_cd = #eduStateCd#
WHERE sspn_idtmt_trgt_ord IN UPDATE VEA_SSPN_IDMT_TRGT
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=","> SET edu_state_cd = #eduStateCd#
#sspnIdtmtTrgtOrdList[]# WHERE sspn_idtmt_trgt_ord IN
</iterate> <iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
</update> #sspnIdtmtTrgtOrdList[]#
</iterate>
<!-- 강사 배정 등록 --> </update>
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd" parameterClass="String" resultClass="VEAPrcsAplctPrdInstrAsgnmVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd */ <!-- 강사 배정 등록 -->
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd" parameterClass="String" resultClass="VEAPrcsAplctPrdInstrAsgnmVO">
SELECT /* VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd */
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"/>
, vid.instr_nm as instrNm SELECT
, vid.phone <include refid="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"/>
FROM , vid.instr_nm as instrNm
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.table_name"/> a , vid.phone
LEFT JOIN ve_instr_detail vid FROM
ON a.user_id = vid.user_id <include refid="VEAPrcsAplctPrdInstrAsgnmDAO.table_name"/> a
WHERE 1=1 LEFT JOIN ve_instr_detail vid
AND a.prcs_aplct_prd_ord = #prcsAplctPrdOrd# ON a.user_id = vid.user_id
AND vid.aprvl_cd ='20' <!-- 변경 승인 --> WHERE 1=1
AND vid.instr_div ='20' <!-- 성인강사 --> AND a.prcs_aplct_prd_ord = #prcsAplctPrdOrd#
AND vid.use_yn ='Y' AND vid.aprvl_cd ='20' <!-- 변경 승인 -->
</select> AND vid.instr_div ='20' <!-- 성인강사 -->
AND vid.use_yn ='Y'
<!-- 강의계획서 update --> </select>
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId" parameterClass="vEAPrcsAplctPrdInstrAsgnmVO">
/* VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId */ <!-- 강의계획서 update -->
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId" parameterClass="vEAPrcsAplctPrdInstrAsgnmVO">
UPDATE VEA_PRCS_APLCT_PRD_INSTR_ASGNM /* VEAPrcsAplctPrdInstrAsgnmDAO.updatLctrPlanAtchFileId */
SET lctr_plan_atch_file_id = #lctrPlanAtchFileId#
, last_updusr_id = #lastUpdusrId# UPDATE VEA_PRCS_APLCT_PRD_INSTR_ASGNM
, last_updt_pnttm = sysdate SET lctr_plan_atch_file_id = #lctrPlanAtchFileId#
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd# , last_updusr_id = #lastUpdusrId#
</update> , last_updt_pnttm = sysdate
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</update>
</sqlMap>
</sqlMap>

View File

@ -310,7 +310,8 @@
, (SELECT COUNT(*) , (SELECT COUNT(*)
FROM ve_edu_aplct x FROM ve_edu_aplct x
WHERE x.prcs_ord = a.prcs_aplct_prd_ord WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y' AND x.sbmt_yn='Y'
AND x.aprvl_cd != 40 /*취소된 신청자 제거*/
) AS nosCnt1 ) AS nosCnt1
/* /*
신청자 정보 신청자 정보
@ -576,6 +577,9 @@
vpap.edu_strt_pnttm AS eduStrtPnttm , vpap.edu_strt_pnttm AS eduStrtPnttm ,
vpap.edu_ddln_pnttm AS eduDdlnPnttm , vpap.edu_ddln_pnttm AS eduDdlnPnttm ,
a.APRVL_CD AS aprvlCd , a.APRVL_CD AS aprvlCd ,
vadi.APLCT_STATE_CD AS aplctStateCd,
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
vadi.CNCL_CN AS cnclCn,
CASE WHEN EXISTS ( /* 설문조사 */ CASE WHEN EXISTS ( /* 설문조사 */
SELECT 1 SELECT 1
FROM lettnqestnrrslt lerslt FROM lettnqestnrrslt lerslt
@ -654,4 +658,16 @@
ORDER BY a.strt_pnttm DESC ORDER BY a.strt_pnttm DESC
LIMIT 1 LIMIT 1
</select> </select>
<select id="VEPrcsAplctPrdDAO.findByCnclInfo" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.findByCnclInfo */
SELECT
CNCL_ATCH_FILE_ID as cnclAtchFileId
, CNCL_CN as cnclCn
FROM
vea_aplct_detail_info a
WHERE
PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
AND EDU_APLCT_ORD = #eduAplctOrd#
</select>
</sqlMap> </sqlMap>

View File

@ -0,0 +1,96 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
/**
* @Class Name : selectScholSealInfs.jsp
* @Description : 파일 목록화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ---------- ------ ---------------------------
* @ 2009.03.26 이삼섭 최초 생성
* @ 2011.07.20 옥찬우 <Input> Tag id속성 추가( Line : 68 )
*
* @author 공통서비스 개발팀 이삼섭
* @since 2009.03.26
* @version 1.0
* @see
*
*/
%>
<!-- link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"-->
<script type="text/javascript">
function fn_egov_downChgNmFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/fileNmChgDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"&chgNm="+$("#chgNm").val()+"'/>");
}
/* 등록되어 있는 파일 삭제버튼 클릭시 */
function delRsltRprtFile(itemId , fileSn, rprtFileType){
if(!confirm("삭제하시겠습니까?")){
return false;
}
$.ajax({
type: "POST",
url: "<c:url value='/kccadr/oprtn/cpyrgExprnClsrm/rsltRprtfileDeleteAjax.do' />",
data:{ "atchFileId" : itemId , "fileSn" : fileSn, "eduAplctOrd" : "${eduAplctOrd}", "rprtFileType" : rprtFileType},
dataType:'json',
cache: false,
async: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
if(returnData.result == 'fail'){
alert("삭제처리가 실패하였습니다.");
}else if(returnData.result == 'auth_fail'){
alert("세션이 종료되었습니다.");
}else if(returnData.result =='success'){
$('.item_'+returnData.fmsFileVO.atchFileId+"_"+returnData.fmsFileVO.fileSn).remove();
alert("삭제되었습니다.");
window.location.reload()
}
}else{
alert("삭제처리에 실패하였습니다.");
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("삭제처리에 실패하였습니다.");
}
});
}
</script>
<style type="text/css">
.cursor {
cursor: pointer;
vertical-align: middle;
}
</style>
<!-- <form name="fileForm" action="" method="post" > -->
<input type="hidden" name="atchFileId" value="${atchFileId}">
<input type="hidden" name="fileSn" >
<input type="hidden" name="fileListCnt" id="fileListCnt" value="${fileListCnt}">
<input type="hidden" name="chgNm" id="chgNm" value="${chgNm}">
<c:set var="fileCount" value="${fn:length(fileList) }" />
<!-- </form> -->
<!--<title>파일목록</title> -->
<c:forEach var="fileVO" items="${fileList}" varStatus="status">
<a href="javascript:fn_egov_downChgNmFile('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>')" class="file_download_a" title="다운로드" style="display:inline-block;">
<c:out value="${fileVO.orignlFileNm}"/>
<fmt:parseDate value="${fileVO.creatDt}" var="creatDt" pattern="yyyy-MM-dd HH:mm:ss"/>
(<fmt:formatDate value="${creatDt}" pattern="yyyy년MM월dd일"/>)
</a>
<br/>
</c:forEach>
<c:if test="${fn:length(fileList) == 0}">
</c:if>

View File

@ -28,6 +28,9 @@
<head> <head>
<title>교육과정관리</title> <title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
<script type="text/javascript"> <script type="text/javascript">
$(document).ready(function(){ $(document).ready(function(){
@ -288,16 +291,19 @@
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/> <c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td> </td>
</tr> </tr>
<c:if test="${info.prcsDiv eq 10}">
<tr>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
</c:if>
<tr> <tr>
<th scope="row">교육장소</th> <th scope="row">교육일자</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td> <td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/> <c:out value="${info.eduStrtPnttm}"/>
<%-- <c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/> --%>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -251,7 +251,7 @@
<th>NO</th> <th>NO</th>
<th>교육구분코드</th> <th>교육구분코드</th>
<th>과정명</th> <th>과정명</th>
<th>교육기간</th> <th>교육일자</th>
<th>신청자/정원</th> <th>신청자/정원</th>
<th>상태</th> <th>상태</th>
<th>강사배정</th> <th>강사배정</th>
@ -271,7 +271,8 @@
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td> </td>
<td> <td>
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> <%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<c:out value="${list.eduStrtPnttm}"/>
</td> </td>
<td> <td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/> <c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>

View File

@ -28,6 +28,7 @@
<head> <head>
<title>교육과정관리</title> <title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
<script type="text/javascript"> <script type="text/javascript">
@ -88,9 +89,6 @@
function fn_delInstr(data){ function fn_delInstr(data){
document.instrForm.userId.value = data ; document.instrForm.userId.value = data ;
var data = new FormData(document.getElementById("instrForm")); var data = new FormData(document.getElementById("instrForm"));
if(confirm("삭제하시겠습니까?")){ if(confirm("삭제하시겠습니까?")){
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/instrDelAjax.do'/>"; // var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/instrDelAjax.do'/>";
@ -122,26 +120,30 @@
// 강사 배치
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
var form = document.popForm;
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup.do'/>";
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
form.target = "_securityPop";
form.submit();
}
function chkAll(obj) { function chkAll(obj) {
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정 // 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
$("input[name='chk']").prop('checked', $(obj).prop('checked')); $("input[name='chk']").prop('checked', $(obj).prop('checked'));
} }
function updateEduAplctOrd(p_aprvlCd, p_prcsAplctPrdOrd) { // 사용자 승인 반려 처리 : 체크박스X
function updateEduAplctOrd(p_aprvlCd, p_eduAplctOrd, p_prcsAplctPrdOrd){
// 기존에 있던 updateEduAplctOrdList function 사용하기 위한 function
var selectedEduAplctOrd = [];
selectedEduAplctOrd.push(p_eduAplctOrd);
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
};
commAjax(dataToSend);
}
// 사용자 승인 반려 처리 : 체크박스O
function updateEduAplctOrdList(p_aprvlCd, p_prcsAplctPrdOrd) {
var selectedEduAplctOrd = []; var selectedEduAplctOrd = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
@ -150,7 +152,6 @@
selectedEduAplctOrd.push(eduAplctOrdValue); selectedEduAplctOrd.push(eduAplctOrdValue);
}); });
console.log('selectedEduAplctOrd : ', selectedEduAplctOrd);
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료 // 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (selectedEduAplctOrd.length === 0) { if (selectedEduAplctOrd.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요."); alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
@ -163,6 +164,11 @@
"prcsAplctPrdOrd": p_prcsAplctPrdOrd "prcsAplctPrdOrd": p_prcsAplctPrdOrd
}; };
commAjax(dataToSend);
}
function commAjax(dataToSend){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>"; var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
@ -186,7 +192,6 @@
console.error("Response:", jqXHR.responseText); console.error("Response:", jqXHR.responseText);
} }
}); });
} }
@ -219,11 +224,45 @@
}); });
} }
} }
// 강사 배치
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
var form = document.popForm;
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup.do'/>";
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
form.target = "_securityPop";
form.submit();
}
function fnCnclPopup(eduAplctOrd, prcsAplctPrdOrd) {
var form = document.cnclPopupForm;
form.eduAplctOrd.value = eduAplctOrd;
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cnclPopup.do'/>";
openPopupAndSubmitForm('cnclPopupForm', 'cnclPopupForm', 700, 380);
}
</script> </script>
</head> </head>
<body> <body>
<form id="cnclPopupForm" name="cnclPopupForm" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" />
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" />
</form>
<form id="modyfiForm" name="modyfiForm"> <form id="modyfiForm" name="modyfiForm">
<input type="hidden" id="modyDdlnCd" name="ddlnCd" /> <input type="hidden" id="modyDdlnCd" name="ddlnCd" />
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/> <input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
@ -458,9 +497,8 @@
<th>신청자</th> <th>신청자</th>
<th>신청일</th> <th>신청일</th>
<th>확정여부</th> <th>확정여부</th>
<th>이수여부</th> <th>교육상태</th>
<th>설문조사</th> <th>승인처리</th>
<th>이수증</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -469,8 +507,14 @@
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status"> <c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr> <tr>
<td> <td>
<input name="chk" class="${list.asgnmAprvlCd}" <c:choose>
value="${list.eduAplctOrd}" title="Check" type="checkbox"/> <c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}">
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td> </td>
<td> <td>
<c:out value="${list.userNm}"/> <c:out value="${list.userNm}"/>
@ -483,34 +527,27 @@
</td> </td>
<td> <td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/> <ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
<c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
(취소-반려)
</c:if>
</td> </td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${list.qestnrId }"> <c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button> <button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button>
<button type="button" class="btn_type05" onclick="updateEduAplctOrd('30', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">반려</button>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
미입력 <button type="button" class="btn_type05" onclick="fnCnclPopup('<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">취소요청</button>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<%-- <button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button> --%>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
<button type="button" class="btn_type04">이수증(테스트)</button>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach> </c:forEach>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<tr> <tr>
<td colspan="7">신청자가 없습니다.</td> <td colspan="6">신청자가 없습니다.</td>
</tr> </tr>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
@ -530,8 +567,8 @@
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btn_type04" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'; return false;">강의목록</button> <button type="button" class="btn_type04" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'; return false;">강의목록</button>
<button type="button" class="btn_type04" onclick="updateEduAplctOrd(30, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">접수취소(반려)</button> <button type="button" class="btn_type04" onclick="updateEduAplctOrdList(30, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">접수취소(반려)</button>
<button type="button" class="btn_type04" onclick="updateEduAplctOrd(20, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">교육승인</button> <button type="button" class="btn_type04" onclick="updateEduAplctOrdList(20, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">교육승인</button>
</div> </div>
</div> </div>

View File

@ -263,7 +263,7 @@
<th>대면구분</th> <th>대면구분</th>
<th>과정명</th> <th>과정명</th>
<th>신청기간</th> <th>신청기간</th>
<th>교육기간</th> <th>교육일자</th>
<th>신청자/정원</th> <th>신청자/정원</th>
<th>상태</th> <th>상태</th>
<!-- <th>공개여부</th> --> <!-- <th>공개여부</th> -->
@ -285,7 +285,8 @@
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/> <c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>
</td> </td>
<td> <td>
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> <%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<c:out value="${list.eduStrtPnttm}"/>
</td> </td>
<td> <td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/> <c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>

View File

@ -230,7 +230,7 @@
<tr> <tr>
<th scope="row">교육부분</th> <th scope="row">교육부분</th>
<td> <td>
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/> <input type="text" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
<%-- <ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}"/> --%> <%-- <ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}"/> --%>
</td> </td>
</tr> </tr>

View File

@ -0,0 +1,139 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 강사배치 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 안주영
* @since 2022.1.8
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
<script type="text/javascript">
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
function fncPopClose(){
self.close();
}
function fn_updateCnclUpdate(aplctStateCd, aprvlCd, p_msg) {
var msg = p_msg;
var form = document.updateForm ;
form.aplctStateCd.value = aplctStateCd ;
form.aprvlCd.value = aprvlCd ;
var data1 = new FormData(document.getElementById("updateForm"));
if(confirm(msg+" 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax_only.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("처리 되었습니다.");
window.opener.location.reload();
fncPopClose();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form id="updateForm" name="updateForm" method="post">
<input type="hidden" id="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="<c:out value="${vEPrcsDetailVO.prcsAplctPrdOrd }" />">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${vEPrcsDetailVO.eduAplctOrd }" />">
<input type="hidden" id="aplctStateCd" name="aplctStateCd" value="">
<input type="hidden" id="aprvlCd" name="aprvlCd" value="">
</form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<div class="area_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>교육취소 내용</p>
</div>
<div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 9%;">
<col style="width: 15%;">
</colgroup>
<tbody>
<tr>
<th scope="row"><p>구분</p></th>
<td><c:out value="${info.cnclCn }" /></td>
</tr>
<tr>
<th scope="row"><p>선택</p></th>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.cnclAtchFileId}" />
<c:param name="pdf_view" value="Y" />
</c:import>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type05" onclick="fn_updateCnclUpdate(30, 40, '취소');">승인</button>
<button type="button" class="btn_type02" onclick="fn_updateCnclUpdate(10, '', '반려');">반려</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -332,10 +332,8 @@
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'" <ve:code codeId="VEA008" code="${info.cmptntAthrt }"/>
selectedText="${info.cmptntAthrt }" defaultValue="" <input type="hidden" name="cmptntAthrt" value="${info.cmptntAthrt }">
defaultText='선택'
/>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -160,21 +160,21 @@
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy.MM.dd"/> <fmt:formatDate value="${sbmtPnttm}" pattern="yyyy.MM.dd"/>
</c:when> --%> </c:when> --%>
<c:when test="${not empty info.sbmtPnttm}"> <c:when test="${not empty info.sbmtPnttm}">
<fmt:parseDate value="${info.sbmtPnttm}" var="sbmtPnttm" pattern="yy-MM-dd"/> <%-- <fmt:parseDate value="${info.sbmtPnttm}" var="sbmtPnttm" pattern="yy-MM-dd"/>
<fmt:formatDate value="${sbmtPnttm}" pattern="20yy.MM.dd"/> <fmt:formatDate value="${sbmtPnttm}" pattern="20yy.MM.dd"/> --%>
<%-- <c:out value="${info.sbmtPnttm}" /> --%> <c:out value="${info.sbmtPnttmDetail}" />
</c:when> </c:when>
<c:otherwise> <c:otherwise>
- -
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td> </td>
<th scope="row"> <%-- <th scope="row">
<p>접수종료일</p> <p>접수종료일</p>
</th> </th>
<td> <td>
<c:out value="${endPnttm}"/> <c:out value="${endPnttm}"/>
</td> </td> --%>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
@ -389,9 +389,9 @@
<p>첨부파일</p> <p>첨부파일</p>
</th> </th>
<td class="file_download" colspan="3"> <td class="file_download" colspan="3">
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8"> <c:import url="/cmm/fms/selectForNmChgFile.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.oprtnFileId}" /> <c:param name="param_atchFileId" value="${info.oprtnFileId}" />
<c:param name="designTy" value="EMPTY" /> <c:param name="chgNm" value="${info.scholInsttNm}_${info.chrgNm}_신청서" />
</c:import> </c:import>
</td> </td>
</tr> </tr>

View File

@ -182,9 +182,9 @@
<p>신청일</p> <p>신청일</p>
</th> </th>
<td> <td>
<fmt:parseDate value="${info.frstRegistPnttm}" var="frstRegistPnttm" pattern="yyyy-MM-dd"/> <%-- <fmt:parseDate value="${info.frstRegistPnttm}" var="frstRegistPnttm" pattern="yyyy-MM-dd"/>
<fmt:formatDate value="${frstRegistPnttm}" pattern="yyyy.MM.dd"/> <fmt:formatDate value="${frstRegistPnttm}" pattern="yyyy.MM.dd"/> --%>
<%-- <c:out value="${info.frstRegistPnttm}" /> --%> <c:out value="${info.sbmtPnttmDetail}" />
</td> </td>
<th scope="row"> <th scope="row">
<p>결과보고일</p> <p>결과보고일</p>
@ -248,8 +248,9 @@
<p>첨부파일</p> <p>첨부파일</p>
</th> </th>
<td class="file_download"> <td class="file_download">
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8"> <c:import url="/cmm/fms/selectForNmChgFile.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.scholSealAtchFileId}" /> <c:param name="param_atchFileId" value="${info.scholSealAtchFileId}" />
<c:param name="chgNm" value="${info.scholInsttNm}_${info.chrgNm}_신청서" />
</c:import> </c:import>
</td> </td>
</tr> </tr>

View File

@ -332,14 +332,14 @@ function usrJoin(){
<div class="inner"> <div class="inner">
<h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></h1> <h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></h1>
<ul class="depth01"> <ul class="depth01">
<c:forEach var="resultListOne" items="${menuResultList}" varStatus="status"> <c:forEach var="resultListOne" items="${fullMenuResultList}" varStatus="status">
<c:if test="${resultListOne.depths eq '1' }"> <c:if test="${resultListOne.depths eq '1' }">
<li class="depth01_li"> <li class="depth01_li">
<a href="#" class="menu_link" id="full_${resultListOne.menuNo}"> <a href="#" class="menu_link" id="full_${resultListOne.menuNo}">
<c:out value="${resultListOne.menuNm}" escapeXml="false" /> <c:out value="${resultListOne.menuNm}" escapeXml="false" />
</a> </a>
<ul class="depth02"> <ul class="depth02">
<c:forEach var="resultListTwo" items="${menuResultList}" varStatus="status"> <c:forEach var="resultListTwo" items="${fullMenuResultList}" varStatus="status">
<c:if test="${resultListTwo.depths eq '2' && resultListOne.menuNo eq resultListTwo.upperMenuId }"> <c:if test="${resultListTwo.depths eq '2' && resultListOne.menuNo eq resultListTwo.upperMenuId }">
<li> <li>
<a href="${pageContext.request.contextPath}${empty resultListTwo.url ? '#' : resultListTwo.url }" ${resultListTwo.menuType eq 'O' ? 'target="_blank"' : ""} > <a href="${pageContext.request.contextPath}${empty resultListTwo.url ? '#' : resultListTwo.url }" ${resultListTwo.menuType eq 'O' ? 'target="_blank"' : ""} >

View File

@ -123,7 +123,8 @@ var _searchYear = "${boardVO.searchYear}";
and brdMstrVO.bbsId ne 'BBSMSTR_000000000725' and brdMstrVO.bbsId ne 'BBSMSTR_000000000725'
}"> }">
<div class="tit_box type2"> <!-- 231110 삭제 요청 -->
<%-- <div class="tit_box type2">
<i class="tit_box_icon2"></i> <i class="tit_box_icon2"></i>
<div> <div>
<c:choose> <c:choose>
@ -168,7 +169,7 @@ var _searchYear = "${boardVO.searchYear}";
</c:choose> </c:choose>
</div> </div>
</div> </div> --%>
</c:if> </c:if>

View File

@ -216,7 +216,7 @@ function instrChk(){
<div class="inner"> <div class="inner">
<div class="text_area"> <div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스</p> <p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">실무역량강화교육!</p> <p class="title">실무역량강화!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p> <p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a> <a href="#none">교육신청 등록</a>
</div> </div>
@ -226,7 +226,7 @@ function instrChk(){
<div class="inner"> <div class="inner">
<div class="text_area"> <div class="text_area">
<p class="sub_title">대국민 저작권 교육 서비스</p> <p class="sub_title">대국민 저작권 교육 서비스</p>
<p class="title">기소유예교육!</p> <p class="title">교육조건부 기소유예교육!</p>
<p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p> <p class="summary">편리하고 안전한 저작권 이용환경 조성을 통해 올바른 저작권 문화 구축에 앞장서겠습니다.</p>
<a href="#none">교육신청 등록</a> <a href="#none">교육신청 등록</a>
</div> </div>

View File

@ -24,24 +24,63 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<style> <div class="cont_wrap edu_wrap">
input:disabled { <div class="cont_tit">
background-color: #f9f9f9 !important; <h2>교육소개</h2>
} <div class="sns_go">
input:read-only { <button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
background-color: #f9f9f9 !important; src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
} </div>
</style> </div>
<script type="text/javaScript" language="javascript">
</script>
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="edu_img">
<h2>교육소개</h2> <img src="/offedu/visitEdu/usr/publish/images/content/sub_edu02_main.png" alt="찾아가는 교육 성인 교육소개 이미지">
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
찾아가는교육 성인 교육소개 임시 페이지입니다. <div class="tb_tit01_left">
</div> <p>찾아가는 교육 성인</p>
</div> </div>
</div>
<div class="tb_type01 tb_write">
<table class="edu_table">
<caption>교육소개를 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육대상</p>
</th>
<td>일반인(공공부문, 문화예술, 대학, 기업, 단체 등)</td>
</tr>
<tr>
<th scope="row">
<p>모집규모</p>
</th>
<td>신청기관 단위 / 약 150회 이내(예산범위 내)</td>
</tr>
<tr>
<th scope="row">
<p>교육일정</p>
</th>
<td>연중</td>
</tr>
<tr>
<th scope="row">
<p>주요내용</p>
</th>
<td>현장 실무자가 알아야 할 저작권<br>저작권 분쟁사례 및 대처방법 등</td>
</tr>
<tr>
<th scope="row">
<p>진행방법</p>
</th>
<td>교수, 변호사 등 저작권 전문강사 지원(대면 또는 비대면)</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -24,24 +24,63 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<style> <div class="cont_wrap edu_wrap">
input:disabled { <div class="cont_tit">
background-color: #f9f9f9 !important; <h2>교육소개</h2>
} <div class="sns_go">
input:read-only { <button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
background-color: #f9f9f9 !important; src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
} </div>
</style> </div>
<script type="text/javaScript" language="javascript">
</script>
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="edu_img">
<h2>교육소개</h2> <img src="/offedu/visitEdu/usr/publish/images/content/sub_edu03_main.png" alt="체험교실 교육소개 이미지">
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
체험교실 교육소개 임시 페이지입니다. <div class="tb_tit01_left">
</div> <p>체험교실</p>
</div> </div>
</div>
<div class="tb_type01 tb_write">
<table class="edu_table">
<caption>교육소개를 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육대상</p>
</th>
<td>초·중·고등학교 학생</td>
</tr>
<tr>
<th scope="row">
<p>모집규모</p>
</th>
<td>350개교</td>
</tr>
<tr>
<th scope="row">
<p>교육일정</p>
</th>
<td>연중</td>
</tr>
<tr>
<th scope="row">
<p>주요내용</p>
</th>
<td>체험활동 중심의 저작권 인식 제고 교육</td>
</tr>
<tr>
<th scope="row">
<p>진행방법</p>
</th>
<td>학교 교사가 해당 학급 또는 동아리를 대상으로 직접 교육 실시</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -24,24 +24,63 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<style> <div class="cont_wrap edu_wrap">
input:disabled { <div class="cont_tit">
background-color: #f9f9f9 !important; <h2>교육소개</h2>
} <div class="sns_go">
input:read-only { <button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
background-color: #f9f9f9 !important; src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
} </div>
</style> </div>
<script type="text/javaScript" language="javascript">
</script>
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="edu_img">
<h2>교육소개</h2> <img src="/offedu/visitEdu/usr/publish/images/content/sub_edu04_main.png" alt="실무역량강화교육 교육소개 이미지">
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
실무역량강화 교육 교육소개 임시 페이지입니다. <div class="tb_tit01_left">
</div> <p>실무역량강화교육</p>
</div> </div>
</div>
<div class="tb_type01 tb_write">
<table class="edu_table">
<caption>교육소개를 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육대상</p>
</th>
<td>문화콘텐츠 산업종사자, 문화예술인, 일반인 등</td>
</tr>
<tr>
<th scope="row">
<p>모집규모</p>
</th>
<td>25명 내외</td>
</tr>
<tr>
<th scope="row">
<p>교육일정</p>
</th>
<td>연중</td>
</tr>
<tr>
<th scope="row">
<p>주요내용</p>
</th>
<td>저작권 사례연습 및 주요 쟁점 등(기관 수요에 맞게 조정 가능)</td>
</tr>
<tr>
<th scope="row">
<p>진행방법</p>
</th>
<td>기관별 맞춤형 대면교육</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -24,24 +24,64 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<style> <div class="cont_wrap edu_wrap">
input:disabled { <div class="cont_tit">
background-color: #f9f9f9 !important; <h2>교육소개</h2>
} <div class="sns_go">
input:read-only { <button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
background-color: #f9f9f9 !important; src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
} </div>
</style> </div>
<script type="text/javaScript" language="javascript">
</script>
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="edu_img">
<h2>교육소개</h2> <img src="/offedu/visitEdu/usr/publish/images/content/sub_edu05_main.png" alt="기소유예교육 교육소개 이미지">
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
기소유예교육 교육소개 임시 페이지입니다. <div class="tb_tit01_left">
</div> <p>기소유예교육</p>
</div> </div>
</div>
<div class="tb_type01 tb_write">
<table class="edu_table">
<caption>교육소개를 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육대상</p>
</th>
<td>저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자</td>
</tr>
<tr>
<th scope="row">
<p style="line-height: 14;">교육절차</p>
</th>
<td>
<ul class="edu_sus_num">
<li>
<p class="num">1</p>
<p><b>교육의뢰</b>검찰청 <img src="/offedu/visitEdu/usr/publish/images/content/edu_arrow.png" alt="다음"> <span>위원회</span></p>
</li>
<li class="sus_te">
<p class="num">2</p>
<p><b>교육 실시·운영<span>(8시간)</span></b>한국저작권위원회</p>
</li>
<li>
<p class="num">3</p>
<p><b>교육 이수자 확정</b>한국저작권위원회</p>
</li>
<li class="sus_te">
<p class="num">4</p>
<p><b>교육 결과 통보<span>(분기별 또는 요청 시)</span></b>위원회 <img src="/offedu/visitEdu/usr/publish/images/content/edu_arrow.png" alt="다음"> <span>검찰청</span></p>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -1,367 +1,508 @@
<%@ page contentType="text/html; charset=utf-8"%> <%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> <%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title> <title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript"> <spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
$(document).ready(function(){ <style>
input:disabled {
}); background-color: #f9f9f9 !important;
}
function fncEduReg(prcsAplctPrdOrd){ input:read-only {
var regForm = document.regForm; background-color: #f9f9f9 !important;
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd; }
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
var data = new FormData(document.getElementById("regForm")); .innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
if(confirm("신청하시겠습니까?")){ .irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do"; </style>
console.log(data); <script type="text/javaScript" language="javascript">
$.ajax({
type:"POST",
url: url,
data: data, $(document).ready(function(){
dataType:'json',
async: false, //대용량 업로드 세팅
processData: false,
contentType: false, /*
cache: false, * ==================================================================
success:function(returnData){ * INNORIX
if(returnData.result == "success"){ * 파일전송 컨트롤 생성
alert("저장되었습니다."); * ==================================================================
fncGoList(); */
} control = innorix.create({
}, el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
error:function(request , status, error){ , transferMode: 'both' // 업로드, 다운로드 혼합사용
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); , installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
} , uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
}); , height:40
} , width: 650
} , maxFileCount : 1 // 첨부파일 최대 갯수
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
function linkPage(pageNo){ // 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
var listForm = document.listForm ; });
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do'/>"; // 업로드 완료 후 이벤트
listForm.submit(); control.on('uploadComplete', function (p) {
} console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
function goEduAplctList(prcsAplctPrdOrd){ });
var goEduAplctListForm = document.goEduAplctListForm ;
goEduAplctListForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do'/>";
goEduAplctListForm.submit(); /*
} * 교육 확정일떄 취소를하면 팝업이 열림
* 열리기전 데이터를 form에 넣고 팝업 오픈
*/
function fncGoList(){ function fn_cnclUpdate(eduAplctOrd, prcsAplctPrdOrd){
linkPage(1); var cnclForm = document.cnclForm;
} cnclForm.eduAplctOrd.value = eduAplctOrd;
cnclForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
function fncReset(thisObj){ }
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){ function fn_veEduAplctCnclUpdate(eduAplctOrd){
$(this).val(''); var form = document.veEduAplctForm;
}); form.eduAplctOrd.value = eduAplctOrd;
}
var data = new FormData(document.getElementById("veEduAplctForm"));
if(confirm("취소 신청하시겠습니까?")){
function fncGoDetail(prcsAplctPrdOrd){ var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/cnclUpdateAjax.do";
var viewForm = document.viewForm ; console.log(data);
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ; $.ajax({
viewForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do'/>"; type:"POST",
viewForm.submit(); url: url,
} data: data,
dataType:'json',
async: false,
</script> processData: false,
contentType: false,
<!-- content --> cache: false,
<div class="cont_wrap" id="sub"> success:function(returnData){
if(returnData.result == "success"){
<form name="regForm" id="regForm"> alert("취소되었습니다.");
<input type="hidden" name="prcsAplctPrdOrd"> fncGoList();
</form> }
<form name="viewForm" id="viewForm"> },
<input type="hidden" name="prcsAplctPrdOrd"> error:function(request , status, error){
</form> alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
<form name="goEduAplctListForm" id="goEduAplctListForm"> }
</form> });
}
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO"> }
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" /> function linkPage(pageNo){
<div class="cont_tit"> var listForm = document.listForm ;
<h2>신청목록</h2> listForm.pageIndex.value = pageNo ;
<div class="sns_go"> listForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do'/>";
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button> listForm.submit();
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button> }
</div>
</div>
<div class="list_top">
<div class="list_top_left"> function fncGoList(){
<label for="searchStatus" class="label">신청상태 선택</label> linkPage(1);
<select class="selType1" id="searchStatus" name="searchStatus"> }
<option ${vEPrcsDetailVO.searchStatus eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option> function fncReset(thisObj){
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option> var targetObj = $(thisObj).closest('.list_top').find('select,input');
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option> $.each(targetObj, function(){
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option> $(this).val('');
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option> });
</select> }
</div>
<div class="btn_wrap">
<div class="calendar_wrap"> function fncGoDetail(prcsAplctPrdOrd){
<%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEPrcsDetailVO.searchStartDt}"> --%> var viewForm = document.viewForm ;
<duet-date-picker identifier="date" name="searchStartDt" class="startDate" value="${vEPrcsDetailVO.searchStartDt}"></duet-date-picker> viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
</div> viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
~ viewForm.submit();
<div class="calendar_wrap"> }
<%-- <input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEPrcsDetailVO.searchEndDt}"> --%>
<duet-date-picker identifier="date" name="searchEndDt" class="endDate" value="${vEPrcsDetailVO.searchEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script> //서류 요청
<button type="button" class="btnType01" onclick="fncGoList();">검색</button> function insetDocReq(){
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button> //서류명 체크
</div> if($("input[name=cnclCn]").val() == ''){
</div> alert("취소사유를 입력해 주세요");
return false;
}
<!-- list --> //첨부파일 체크 및 요청
<div class="tb_list01"> if(confirm("제출 하시겠습니까?")){
<table> if(control.getUploadFiles().length > 0){
<caption>교육 목록표</caption> var postObj = new Object();
<colgroup> postObj.innoDirPath = $('#innoDirPath').val();
<col style="width:35%;"> control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
<col style="width:;"> control.upload(); // 업로드 시작
<col style="width:13%;"> }else{
<col style="width:13%;"> alert("등록된 첨부파일이 없습니다.");
<col style="width:13%;"> return false;
</colgroup> }
<thead> }
<tr> }
<th>교육과정</th>
<th>교육일자</th> //서류 요청 양식 업로드 후 콜백
<th>신청결과</th> function fn_callBackInnorix(data){
<th>설문조사</th> var url = "<c:url value='/web/common/insertInnorixSspnCnClAjax.do' />";
<th>이수증</th> //선택된 강사 ID
</tr>
</thead> var sendData = {
<tbody> "fileType": "sspnForm"
<c:forEach var="list" items="${list}" varStatus="status"> , "eduAplctOrd": $('#cnclForm #eduAplctOrd').val()
<tr> , "prcsAplctPrdOrd": $('#cnclForm #prcsAplctPrdOrd').val()
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;"> , "innorixFileListVO": data
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) , "cnclCn" : $('#cnclCn').val()
</td> , "successMsg" : "등록이 완료되었습니다."
<td> }
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%> console.log('sendData : ', sendData);
<c:out value="${list.eduStrtPnttm}"/> /*
</td> * 공통 : innorixCommon.js
<td> * fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
<!-- */
10 요청 if(fn_innorixCmmAjax(sendData, url) == "OK")
120 선정완료 {
140 선정취소 location.reload(true);
20 승인 }
230 대기 }
30 반려
40 취소 </script>
60 교육확정
70 수정요청 <!-- content -->
80 수정완료 <div class="cont_wrap" id="sub">
90 교육미확정
--> <form id="veEduAplctForm" name="veEduAplctForm">
<kc:code codeId="VE0003" code="${list.aprvlCd}"/> <input type="hidden" id="eduAplctOrd" name="eduAplctOrd">
<c:if test="${list.aprvlCd eq 10 <input type="hidden" id="aprvlCd" name="aprvlCd" value="40">
or list.aprvlCd eq 120 </form>
or list.aprvlCd eq 20
or list.aprvlCd eq 230 <form id="cnclForm" name="cnclForm">
}"> <input type="hidden" id="eduAplctOrd" name="eduAplctOrd">
<button type="button" title="신청취소" class="btnType02" data-tooltip="sub01_pop01">취소</button> <input type="hidden" id="prcsAplctPrdOrd" name="prcsAplctPrdOrd">
</c:if> </form>
</td>
<td> <form name="regForm" id="regForm">
<!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 --> <input type="hidden" name="prcsAplctPrdOrd">
<c:choose> </form>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and not list.qestRsltExists }"> <form name="viewForm" id="viewForm">
<button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button> <input type="hidden" name="prcsAplctPrdOrd">
</c:when> </form>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }"> <form name="goEduAplctListForm" id="goEduAplctListForm">
설문완료 </form>
</c:when>
<c:otherwise> <form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
- <input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
</c:otherwise> <input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
</c:choose> <input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
</td>
<td> <input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<c:choose> <div class="cont_tit">
<c:when test="${list.qestRsltExists }"> <h2>신청목록</h2>
<button type="button" title="출력" class="btnType03">출력</button> <div class="sns_go">
</c:when> <button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}"> <button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
교육완료 </div>
</c:when> </div>
<c:otherwise> <div class="list_top">
- <div class="list_top_left">
</c:otherwise> <label for="searchStatus" class="label">신청상태 선택</label>
</c:choose> <select class="selType1" id="searchStatus" name="searchStatus">
<option ${vEPrcsDetailVO.searchStatus eq '' ? 'selected' : ''} value="">전체</option>
<button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button> <option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
</td> <option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
<!-- <td>-</td> --> <option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
</tr> <option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
</c:forEach> </select>
<c:if test="${empty list}"> </div>
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr> <div class="btn_wrap">
</c:if> <div class="calendar_wrap">
</tbody> <%-- <input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEPrcsDetailVO.searchStartDt}"> --%>
</table> <duet-date-picker identifier="date" name="searchStartDt" class="startDate" value="${vEPrcsDetailVO.searchStartDt}"></duet-date-picker>
</div> </div>
~
<div class="btn_wrap btn_layout01"> <div class="calendar_wrap">
<div class="btn_left"> <%-- <input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEPrcsDetailVO.searchEndDt}"> --%>
</div> <duet-date-picker identifier="date" name="searchEndDt" class="endDate" value="${vEPrcsDetailVO.searchEndDt}"></duet-date-picker>
<div class="btn_center"> </div>
</div> <script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<div class="btn_right"> <button type="button" class="btnType01" onclick="fncGoList();">검색</button>
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/eduAplctList.do" />'">강의목록</button> <button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div> </div>
</div> </div>
<!-- page -->
<div class="page"> <!-- list -->
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> <div class="tb_list01">
</div> <table>
</form:form> <caption>교육 목록표</caption>
</div> <colgroup>
<col style="width:35%;">
<!-- 교육신청 취소 --> <col style="width:10%;">
<div class="tooltip-wrap"> <col style="width:13%;">
<div class="popup_wrap popType01" tabindex="0" <col style="width:13%;">
data-tooltip-con="sub01_pop01" data-focus="sub01_pop01" <col style="width:13%;">
data-focus-prev="sub01_pop01_close"> </colgroup>
<div class="popup_tit"> <thead>
<p>교육신청 취소</p> <tr>
<button class="btn_popup_close tooltip-close" <th>교육과정</th>
data-focus="sub01_pop01_close" title="팝업 닫기"> <th>교육일자</th>
<i></i> <th>신청결과</th>
</button> <th>설문조사</th>
</div> <th>이수증</th>
<div class="popup_cont"> </tr>
<div class="cont_body"> </thead>
<div class="pop_tb_type01"> <tbody>
<table> <c:forEach var="list" items="${list}" varStatus="status">
<colgroup> <tr>
<col style="width: 22%;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<col style=""> <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</colgroup> </td>
<tr> <td>
<th>첨부파일</th> <%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<td> <c:out value="${list.eduStrtPnttm}"/>
<div class="btn_wrap"> </td>
<button type="button" class="btnType01 right">파일찾기</button> <td>
</div> <!--
<div class="file_wrap"> 10 요청
<table> 120 선정완료
<colgroup> 140 선정취소
<col style="width: auto;"> 20 승인
<col style="width: 15%;"> 230 대기
<col style="width: 15%;"> 30 반려
</colgroup> 40 취소
<thead> 60 교육확정
<th>파일 명</th> 70 수정요청
<th>종류</th> 80 수정완료
<th>크기</th> 90 교육미확정
</thead> -->
<tbody class="tb_file_before"> <c:choose>
<tr> <c:when test="${not empty list.aplctStateCd }">
<td colspan="3"> <!--
<p> VEA003 10 미이수
첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요. VEA003 20 이수완료
</p> VEA003 30 취소
</td> VEA003 35 취소요청
</tr> -->
</tbody> <kc:code codeId="VEA003" code="${list.aplctStateCd }"/>
</table> <!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
</div> <c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
</td> (취소-반려)
</tr> </c:if>
<tr> <c:if test="${list.aplctStateCd eq 10 }"> <!--교육 승인된 상태 (미이수)일 때만 취소버튼 노출 -->
<th>취소사유</th> <button type="button" title="신청취소" class="btnType02" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">취소</button>
<td><textarea></textarea></td> </c:if>
</tr> </c:when>
</table> <c:otherwise>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
</div> <c:if test="${list.aprvlCd eq 10 }">
<div class="pop_btn_wrap btn_layout01"> <button type="button" title="신청취소" class="btnType02" onclick="fn_veEduAplctCnclUpdate('${list.eduAplctOrd }')">취소</button>
<div class="btn_left"></div> </c:if>
<div class="btn_center"> </c:otherwise>
<button type="button" class="btnType05">제출</button> </c:choose>
<button type="button" class="btnType02 tooltip-close" <!-- <button type="button" title="신청취소" class="btnType02" data-tooltip="sub01_pop01">취소</button> -->
data-focus="imsi-close" data-focus-next="imsi">취소</button> </td>
</div> <td>
<div class="btn_right"></div> <!-- 신청 승인상태 20 and 현재가 교육종료보다 이후 체크 1 -->
</div> <!--
</div> 취소상태
</div> list.aplctStateCd ne 30
</div> list.aprvlCd ne 40
</div> -->
<!--// 교육신청 취소 --> <c:choose>
<c:when test="${list.aprvlCd eq 20
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script> and list.dateChk eq 1
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css"> and not list.qestRsltExists
<script> and list.aplctStateCd ne 30
/* and list.aprvlCd ne 40
* 오버레이 방식 }">
*/ <button type="button" title="설문등록" class="btnType04" data-tooltip="edu_in">설문등록</button>
function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd) { </c:when>
<c:when test="${list.aprvlCd eq 20 and list.dateChk eq 1 and list.qestRsltExists }">
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service'); 설문완료
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]'); </c:when>
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]'); <c:otherwise>
//viewer.openFile('sample.mrd','/rfn [sample.txt]'); -
//viewer.hideToolbarItem(["save"]); </c:otherwise>
//viewer.openFile('sample.mrd'); </c:choose>
viewer.hideToolbarItem([ "save" ]); </td>
//viewer.showToolbarItem(["print"]); <td>
viewer.showToolbarItem([ "print_pdf" ]); <!--
//viewer.openFile('cmplt_crtfc_20231030.mrd'); 취소상태
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]'); list.aplctStateCd ne 30
viewer list.aprvlCd ne 40
.openFile( -->
'cmplt_crtfc_20231030.mrd', <c:choose>
'/rf [http://119.193.215.98:9989/offedu/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd=' <c:when test="${list.qestRsltExists }">
+ p_prcsAplctPrdOrd <button type="button" title="출력" class="btnType03">출력</button>
+ '&eduAplctOrd=' </c:when>
+ p_eduAplctOrd + ']'); <c:when test="${list.dateChk eq 1
and not list.qestRsltExists
/* and list.aplctStateCd ne 30
and list.aprvlCd ne 40
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service', }">
'crownix-viewer'); 교육완료
viewer.openFile('cmplt_crtfc_20231030.mrd'); </c:when>
*/ <c:otherwise>
-
} </c:otherwise>
/* </c:choose>
window.onload = function(){
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service'); <button type="button" title="이수증" class="btnType01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증테스트</button>
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
}; </td>
*/ <!-- <td>-</td> -->
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/eduAplctList.do" />'">강의목록</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>
<!-- 서류요청 팝업 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
<div class="popup_tit">
<p>취소 사용 제출</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="popup_table_top">
<button type="button" class="btnType06">취소양식 다운로드</button>
</div>
<div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: 22%;">
<col style="">
</colgroup>
<tr>
<th>취소사유</th>
<td><textarea id="cnclCn" name="cnclCn"></textarea></td>
</tr>
</table>
</div>
<div class="popup_cont upload_area">
<div>
<div class="pop_search_wrap">
<label for="fileNm" class="label">첨부파일 선택</label>
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
</div>
<div id="fileControl"></div><br/>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<!-- <button type="button" class="btnType05">제출</button> -->
<button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">요청</button>
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop02_close" data-focus-next="sub37_pop02">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 서류요청 팝업-->
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
<script>
/*
* 오버레이 방식
*/
function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd) {
var viewer = new m2soft.crownix.Viewer(
'http://119.193.215.98:8093/ReportingServer/service');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
//viewer.hideToolbarItem(["save"]);
//viewer.openFile('sample.mrd');
viewer.hideToolbarItem([ "save" ]);
//viewer.showToolbarItem(["print"]);
viewer.showToolbarItem([ "print_pdf" ]);
//viewer.openFile('cmplt_crtfc_20231030.mrd');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
viewer
.openFile(
'cmplt_crtfc_20231030.mrd',
'/rf [http://119.193.215.98:9989/offedu/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='
+ p_prcsAplctPrdOrd
+ '&eduAplctOrd='
+ p_eduAplctOrd + ']');
/*
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
'crownix-viewer');
viewer.openFile('cmplt_crtfc_20231030.mrd');
*/
}
/*
window.onload = function(){
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
};
*/
>>>>>>> refs/heads/hylee
</script> </script>

View File

@ -24,24 +24,63 @@
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" /> <un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<style> <div class="cont_wrap edu_wrap">
input:disabled { <div class="cont_tit">
background-color: #f9f9f9 !important; <h2>교육소개</h2>
} <div class="sns_go">
input:read-only { <button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
background-color: #f9f9f9 !important; src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
} </div>
</style> </div>
<script type="text/javaScript" language="javascript">
</script>
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="edu_img">
<h2>교육소개</h2> <img src="/offedu/visitEdu/usr/publish/images/content/sub_edu01_main.png" alt="찾아가는 교육 청소년 교육소개 이미지">
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
찾아가는교육 청소년 교육소개 임시 페이지입니다. <div class="tb_tit01_left">
</div> <p>찾아가는 교육 청소년</p>
</div> </div>
</div>
<div class="tb_type01 tb_write">
<table class="edu_table">
<caption>교육소개를 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>교육대상</p>
</th>
<td>초·중·고등학교, 학교 밖 청소년, 예비창작자, 방과후 아카데미 등</td>
</tr>
<tr>
<th scope="row">
<p>모집규모</p>
</th>
<td>11,000회</td>
</tr>
<tr>
<th scope="row">
<p>교육일정</p>
</th>
<td>연중</td>
</tr>
<tr>
<th scope="row">
<p>주요내용</p>
</th>
<td>[창의와 나눔] 저작권 문화 교실</td>
</tr>
<tr>
<th scope="row">
<p>진행방법</p>
</th>
<td>청소년 전담강사가 직접 현장을 방문하여 교육 실시</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -559,6 +559,72 @@
</div> </div>
</c:if> </c:if>
</c:if> </c:if>
</form:form>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>활동확인서 내역</p>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
</div>
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do'">강사활동확인서 신청</button>
</div>
</div>
<div class="tb_type02">
<table>
<caption>강의 설정 정보 번호, 요청일, 구분, 신청상태, 승인일(반려일), 비고 을/를 제공하는 표</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">
<%-- <col style="width: 15%;"> --%>
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: auto;">
</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:set var="sbmtCnt" value="0"/>
<c:forEach var="result" items="${vEInstrMdfyList}" varStatus="status">
<tr>
<td>
${status.count}
</td>
<!-- 일시 > 일자로 변경-->
<%-- <fmt:parseDate value="${result.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm"/> --%>
<%-- <fmt:formatDate value="${sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/> --%>
<td>
2023-11-02
</td>
<%-- <td><c:out value="${result.apptDiv}"/></td> --%>
<%-- <c:set var="aprvlCd" value=""></c:set> --%>
<td>
2023-11-03
</td>
<td>
완료 / 처리중 / 반려
</td>
<td>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">신청서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">확인서</button>
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">반려</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<!-- 하단 버튼 --> <!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
@ -611,7 +677,6 @@
</div> </div>
</div> </div>
<!-- //하단 버튼 --> <!-- //하단 버튼 -->
</form:form>
</div> </div>
<!-- //cont --> <!-- //cont -->

View File

@ -1,21 +1,55 @@
/**************************************************************** /****************************************************************
* *
* 파일명 : popup * 파일명 : popup
* : 팝업 기능을 처리하는 JavaScript * : 팝업 기능을 처리하는 JavaScript
* *
* 수정일 수정자 Version Function * 수정일 수정자 Version Function
* ------------ --------- ------------- ---------------------------- * ------------ --------- ------------- ----------------------------
* 2016.08.05 장동한 1.0 최초생성 * 2016.08.05 장동한 1.0 최초생성
* *
*/ */
/* ******************************************************** /* ********************************************************
* 팝업창 오픈 * 팝업창 오픈
******************************************************** */ ******************************************************** */
function fn_egov_popup(sName, sUrl, width, height){ function fn_egov_popup(sName, sUrl, width, height){
var LeftPosition=(screen.width-width)/2; var LeftPosition=(screen.width-width)/2;
var TopPosition=(screen.height-height)/2; var TopPosition=(screen.height-height)/2;
var oPopup = window.open(sUrl,sName,"width="+width+",height="+height+",top="+TopPosition+",left="+LeftPosition+", scrollbars=no"); var oPopup = window.open(sUrl,sName,"width="+width+",height="+height+",top="+TopPosition+",left="+LeftPosition+", scrollbars=no");
if(oPopup){oPopup.focus();} if(oPopup){oPopup.focus();}
}
/* ********************************************************
* 팝업창 form action + 모니터 가운데 노출
******************************************************** */
function openPopupAndSubmitForm(p_targetNm, p_formId, p_width, p_height) {
var width = p_width; // 팝업 창의 너비
var height = p_height; // 팝업 창의 높이
// 화면의 너비와 높이를 가져옵니다.
var curX = window.screenLeft;
var curWidth = document.body.clientWidth;
// 팝업 창의 x, y 위치를 계산합니다.
var left = curX + (curWidth / 2) - (width / 2);
var top = (window.screen.height / 2) - (height / 2);
// 팝업 창 설정 및 중앙 위치
var popup = window.open('', p_targetNm, 'width=' + width + ',height=' + height + ',scrollbars=yes,resizable=yes,left=' + left + ',top=' + top);
// form의 target을 새 창으로 설정하고 제출
var form = document.getElementById(p_formId);
console.log('p_formId : ', p_formId);
console.log('form : ', form);
form.target = p_targetNm;
form.submit();
// 포커스를 새 팝업 창으로 이동
popup.focus();
return false;
} }