Merge branch 'hylee' into advc

Conflicts:
	src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java
	src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp
This commit is contained in:
hylee 2023-11-10 14:30:05 +09:00
commit 892e8aea74
27 changed files with 2975 additions and 2278 deletions

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

@ -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

@ -179,6 +179,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

@ -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>
@ -4657,6 +4660,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

@ -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(){

View File

@ -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

@ -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

@ -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;
} }