Merge branch 'advc' of http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
2318e21808
@ -343,4 +343,30 @@ public class EgovFileMngController {
|
||||
return "cmm/fms/selectSimpleDownInfs";
|
||||
}
|
||||
|
||||
/**
|
||||
* 저작권 체험교실 결과보고 파일 조회
|
||||
*
|
||||
* @param fileVO
|
||||
* @param commandMap
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/cmm/fms/selectRsltRprtFile.do")
|
||||
public String selectRsltRprtFile(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception {
|
||||
String atchFileId = (String) commandMap.get("param_atchFileId");
|
||||
String eduAplctOrd = (String) commandMap.get("eduAplctOrd");
|
||||
String type = (String) commandMap.get("type");
|
||||
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("updateFlag", "N");
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
model.addAttribute("atchFileId", atchFileId);
|
||||
model.addAttribute("eduAplctOrd", eduAplctOrd);
|
||||
model.addAttribute("type", type);
|
||||
|
||||
return "cmm/fms/selectRsltRprtFile";
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,7 +55,8 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
public List<InnorixFileVO> innorixFileListVO = new ArrayList<InnorixFileVO>();
|
||||
|
||||
|
||||
// 전체 교육인원 - 저작권 체험교실 결과보고서 항목
|
||||
public String trgtPrsnlReal = "";
|
||||
|
||||
|
||||
public String getFileType() {
|
||||
@ -122,6 +123,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
|
||||
this.atchFileId = atchFileId;
|
||||
}
|
||||
|
||||
public String getTrgtPrsnlReal() {
|
||||
return trgtPrsnlReal;
|
||||
}
|
||||
|
||||
public void setTrgtPrsnlReal(String trgtPrsnlReal) {
|
||||
this.trgtPrsnlReal = trgtPrsnlReal;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -234,6 +234,7 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
vEEduAplctVO.setFrstRegisterId(adrInnorixFileVO.getUniqId());
|
||||
vEEduAplctVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
|
||||
vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd());
|
||||
vEEduAplctVO.setTrgtPrsnlReal(adrInnorixFileVO.getTrgtPrsnlReal());
|
||||
|
||||
//저장
|
||||
vEEduMIXService.insertExprnClsrmEndInfo(vEEduAplctVO);
|
||||
@ -354,6 +355,7 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
|
||||
vEEduAplctVO.setAprvlCd(adrInnorixFileVO.getAprvlCd());
|
||||
vEEduAplctVO.setLastUpdusrId(adrInnorixFileVO.getUniqId());
|
||||
vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd());
|
||||
vEEduAplctVO.setTrgtPrsnlReal(adrInnorixFileVO.getTrgtPrsnlReal());
|
||||
//저장
|
||||
vEEduMIXService.updateRsltRprtFileId(vEEduAplctVO);
|
||||
|
||||
|
||||
@ -339,7 +339,12 @@ public class ExprnClsrmAplctController {
|
||||
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setPrcsAplctPrdOrd(vEEduAplctVO.getPrcsOrd());
|
||||
vEPrcsDetailVO = vEPrcsAplctPrdService.selectDetailByOrd(vEPrcsDetailVO);
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
//등록일이 과정신청기간에 포함 되는지 확인 - 신청기간에 포함되며 신청 단계의 경우 수정 기능 추가
|
||||
int cnt = vEEduAplctService.selectCntAplctPrd(vEEduAplctVO);
|
||||
model.addAttribute("cnt", cnt);
|
||||
@ -477,6 +482,126 @@ public class ExprnClsrmAplctController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 체험교실 대시보드
|
||||
*/
|
||||
@RequestMapping("exprnClsrmAplctDashboard.do")
|
||||
public String exprnClsrmAplctDashboard( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
|
||||
//현재 진행중인 체험교실 운영 조회
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
String eduAplctOrd = vEEduAplctService.selectProceedingOrd(loginVO.getUniqId());
|
||||
|
||||
if(eduAplctOrd != null) {
|
||||
//데이터 복호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO.setEduAplctOrd(eduAplctOrd);
|
||||
vEEduAplctVO = vEEduAplctService.selectOprtnDetail(vEEduAplctVO);
|
||||
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
//등록일이 과정신청기간에 포함 되는지 확인 - 신청기간에 포함되며 신청 단계의 경우 수정 기능 추가
|
||||
int cnt = vEEduAplctService.selectCntAplctPrd(vEEduAplctVO);
|
||||
model.addAttribute("cnt", cnt);
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard";
|
||||
}
|
||||
|
||||
/**
|
||||
* 체험교실 대시보드 load
|
||||
*/
|
||||
@RequestMapping("exprnDashboardLoadAjax.do")
|
||||
public String exprnDashboardLoadAjax( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
//탭 종류
|
||||
String Type = vEEduAplctVO.getLoadType();
|
||||
//기본데이터 불러오기
|
||||
vEEduAplctVO = vEEduAplctService.selectOprtnDetail(vEEduAplctVO);
|
||||
//데이터 복호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
//접수종료일 조회 - 교육신청과정기간 종료일
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setPrcsAplctPrdOrd(vEEduAplctVO.getPrcsOrd());
|
||||
vEPrcsDetailVO = vEPrcsAplctPrdService.selectDetailByOrd(vEPrcsDetailVO);
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
if("1".equals(Type)) { //type1 - 신청정보
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnAplctDashboard";
|
||||
}else if("2".equals(Type)) { //type2 - 운영계획
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnPlanDashboard";
|
||||
}else if("3".equals(Type)) { //type3 - 거래선
|
||||
//거래선 파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getTransAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("transFileList", result);
|
||||
model.addAttribute("transFileListCnt", result.size());
|
||||
|
||||
//서약서 파일 정보 가져오기
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOathAtchFileId());
|
||||
result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("oathFileList", result);
|
||||
model.addAttribute("oathFileListCnt", result.size());
|
||||
|
||||
//계획서 파일 정보 가져오기
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getPlanAtchFileId());
|
||||
result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("planFileList", result);
|
||||
model.addAttribute("planFileListCnt", result.size());
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnDocumentDashboard";
|
||||
}else if("4".equals(Type)) { //type4 - 결과보고
|
||||
FileVO fileVO = new FileVO();
|
||||
if(vEEduAplctVO.getOrgnlRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOrgnlRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setOrgnlRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getCpyRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getCpyRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setCpyRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getEvdncPhtAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getEvdncPhtAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setEvdncPhtAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getRmtTrnAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getRmtTrnAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setRmtTrnAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnRprtDashboard";
|
||||
}else { //type5 - 최종결과
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
if(vEEduAplctVO.getOrgnlRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getOrgnlRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setOrgnlRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getCpyRsltAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getCpyRsltAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setCpyRsltAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getEvdncPhtAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getEvdncPhtAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setEvdncPhtAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
if(vEEduAplctVO.getRmtTrnAtchFileId() != null){
|
||||
fileVO.setAtchFileId(vEEduAplctVO.getRmtTrnAtchFileId());
|
||||
fileVO.setFileSn("0");
|
||||
vEEduAplctVO.setRmtTrnAtchFileDetail(fileService.selectFileInf(fileVO));
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnRsltDashboard";
|
||||
}
|
||||
}
|
||||
|
||||
//체험교실 운영신청 초기화 시 첨부파일 삭제
|
||||
@RequestMapping(value = "/fmsfileMultipleDeleteAjax.do", method = RequestMethod.POST)
|
||||
public ModelAndView fmsfileMultipleDeleteAjax(@RequestBody FileVO fileVo) throws Exception {
|
||||
|
||||
@ -40,6 +40,8 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||
@ -146,6 +148,9 @@ public class ExprnClsrmEndController {
|
||||
@Resource(name = "egovQustnrRespondManageService")
|
||||
private EgovQustnrRespondManageService egovQustnrRespondManageService;
|
||||
|
||||
@Resource(name = "vEPrcsAplctPrdService")
|
||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||
|
||||
/**
|
||||
* 체험교실 완료목록
|
||||
*/
|
||||
@ -211,6 +216,13 @@ public class ExprnClsrmEndController {
|
||||
model.addAttribute("planFileListCnt", result.size());
|
||||
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setPrcsAplctPrdOrd(vEEduAplctVO.getPrcsOrd());
|
||||
vEPrcsDetailVO = vEPrcsAplctPrdService.selectDetailByOrd(vEPrcsDetailVO);
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail";
|
||||
}
|
||||
|
||||
|
||||
@ -485,10 +485,14 @@ public class SspnIdtmtController {
|
||||
|
||||
String id = sspnIdtmtService.findByTrgtNm(cndtnTrgtInfoMngVO);
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
String result="";
|
||||
if(StringUtils.isNotEmpty(id)) {
|
||||
result = "success";
|
||||
}
|
||||
modelAndView.addObject("result", result);
|
||||
modelAndView.addObject("id", id);
|
||||
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
@ -45,4 +45,7 @@ public interface VEEduAplctService {
|
||||
int selectMngNoMax(VEEduAplctVO veEduAplctVO) throws Exception;
|
||||
|
||||
int selectCntAplctPrd(VEEduAplctVO veEduAplctVO) throws Exception;
|
||||
|
||||
//사용자 진행중인 체험교실 조회하기
|
||||
String selectProceedingOrd(String userId) throws Exception;
|
||||
}
|
||||
|
||||
@ -303,6 +303,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String vs_clphone; //기소유예 대상자 폰번호
|
||||
|
||||
private String lastYear; //불성실여부 작년
|
||||
|
||||
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
@ -356,8 +358,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
private String adminInsert;
|
||||
//운영계획 필요 교재 수량
|
||||
private String needTxtbNum;
|
||||
|
||||
|
||||
//결과보고 제출 코드
|
||||
private String rprtAprvlCd;
|
||||
//대시보드 load 타입
|
||||
private String loadType;
|
||||
//전체 교육인원(결과보고 제출 시)
|
||||
private String trgtPrsnlReal;
|
||||
|
||||
public String getSpecialWorkAllow() {
|
||||
return specialWorkAllow;
|
||||
@ -1539,6 +1545,31 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setVs_clphone(String vs_clphone) {
|
||||
this.vs_clphone = vs_clphone;
|
||||
}
|
||||
public String getRprtAprvlCd() {
|
||||
return rprtAprvlCd;
|
||||
}
|
||||
public void setRprtAprvlCd(String rprtAprvlCd) {
|
||||
this.rprtAprvlCd = rprtAprvlCd;
|
||||
}
|
||||
public String getLoadType() {
|
||||
return loadType;
|
||||
}
|
||||
public void setLoadType(String loadType) {
|
||||
this.loadType = loadType;
|
||||
}
|
||||
public String getTrgtPrsnlReal() {
|
||||
return trgtPrsnlReal;
|
||||
}
|
||||
public void setTrgtPrsnlReal(String trgtPrsnlReal) {
|
||||
this.trgtPrsnlReal = trgtPrsnlReal;
|
||||
}
|
||||
public String getLastYear() {
|
||||
return lastYear;
|
||||
}
|
||||
public void setLastYear(String lastYear) {
|
||||
this.lastYear = lastYear;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -270,5 +270,5 @@ public class VEEduOprtnVO extends ComDefaultVO implements Serializable {
|
||||
public void setNeedTxtbNum(String needTxtbNum) {
|
||||
this.needTxtbNum = needTxtbNum;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -130,5 +130,9 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
|
||||
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
|
||||
return (VEEduAplctVO) select("VEEduAplctDAO.findByAprvlCd", vEEduAplctReqVO);
|
||||
}
|
||||
|
||||
public String selectProceedingOrd(String userId) {
|
||||
return (String) select("VEEduAplctDAO.selectProceedingOrd", userId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -158,4 +158,9 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
|
||||
public int selectCntAplctPrd(VEEduAplctVO veEduAplctVO) throws Exception {
|
||||
return vEEduAplctDAO.selectCntAplctPrd(veEduAplctVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectProceedingOrd(String userId) throws Exception {
|
||||
return vEEduAplctDAO.selectProceedingOrd(userId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,8 @@ package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
|
||||
public interface VEInstrDetailService {
|
||||
|
||||
//C
|
||||
@ -41,5 +43,6 @@ public interface VEInstrDetailService {
|
||||
//EgovMap selectAdrRpplInfo(AdjstChangeDateVO adjstChangeDateVO) throws Exception;
|
||||
|
||||
//List<?> selectPagingList(AdjstChangeDateVO adjstChangeDateVO) throws Exception;
|
||||
|
||||
|
||||
VEInstrDetailVO selectLastYearDetail(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -134,6 +134,7 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
||||
private String unfthYn; // 불성실여부
|
||||
private String extraPayYn; // 수당지급여부
|
||||
private String rmrks; // 비고
|
||||
private String rprtScore; // 보고서 평가
|
||||
|
||||
//강사거리
|
||||
private String onewayDstnc;
|
||||
@ -803,5 +804,11 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setSigMemo(String sigMemo) {
|
||||
this.sigMemo = sigMemo;
|
||||
}
|
||||
public String getRprtScore() {
|
||||
return rprtScore;
|
||||
}
|
||||
public void setRprtScore(String rprtScore) {
|
||||
this.rprtScore = rprtScore;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
|
||||
@Repository("vEInstrDetailDAO")
|
||||
@ -104,4 +105,7 @@ public class VEInstrDetailDAO extends EgovAbstractDAO {
|
||||
}
|
||||
*/
|
||||
|
||||
public VEInstrDetailVO selectLastYearDetail(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
return (VEInstrDetailVO) select("VEInstrDetailDAO.selectLastYearDetail", vEEduAplctVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,8 @@ import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.com.cmm.service.impl.FileManageDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
|
||||
@ -22,6 +24,9 @@ public class VEInstrDetailServiceImpl implements VEInstrDetailService {
|
||||
@Resource(name = "instrDetailGnrService")
|
||||
private EgovIdGnrService instrDetailGnrService;
|
||||
|
||||
//첨부파일
|
||||
@Resource(name = "FileManageDAO")
|
||||
private FileManageDAO fileMngDAO;
|
||||
|
||||
//C
|
||||
public void insert(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||
@ -90,7 +95,8 @@ public class VEInstrDetailServiceImpl implements VEInstrDetailService {
|
||||
return vEInstrDetailDAO.updateInstrSigMemo(vEInstrDetailVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public VEInstrDetailVO selectLastYearDetail(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
return vEInstrDetailDAO.selectLastYearDetail(vEEduAplctVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -42,5 +42,7 @@ public interface VEPrcsAplctPrdService {
|
||||
List<VEPrcsDetailVO> findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
Map<String, Object> findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -100,5 +100,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
return (Map<String, Object>) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
|
||||
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailByOrd", vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -100,4 +100,7 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
|
||||
return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailByOrd(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
|
||||
return vEPrcsAplctPrdDAO.selectDetailByOrd(vEPrcsDetailVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,6 +49,8 @@ public class VEEduRprtVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String userId; // 강사ID
|
||||
|
||||
private String rprtFileType;// 결과보고 첨부파일 종류
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
@ -199,5 +201,11 @@ public class VEEduRprtVO extends ComDefaultVO implements Serializable {
|
||||
public void setOrderByQuery(String orderByQuery) {
|
||||
this.orderByQuery = orderByQuery;
|
||||
}
|
||||
public String getRprtFileType() {
|
||||
return rprtFileType;
|
||||
}
|
||||
public void setRprtFileType(String rprtFileType) {
|
||||
this.rprtFileType = rprtFileType;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,6 +2,9 @@ package kcc.ve.instr.tngrVisitEdu.rprtInfo.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO;
|
||||
|
||||
public interface VEEduRsltRprtService {
|
||||
|
||||
//C
|
||||
@ -21,5 +24,8 @@ public interface VEEduRsltRprtService {
|
||||
|
||||
//Page List
|
||||
List<VEEduRprtVO> selectPagingList(VEEduRprtVO paramVO) throws Exception;
|
||||
|
||||
|
||||
//결과보고 첨부파일 삭제 처리
|
||||
public void deleteRsltRprtFileInf(FileVO fileVO, VEEduRprtVO vEEduRprtVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO;
|
||||
|
||||
@Repository("vEEduRsltRprtDAO")
|
||||
@ -66,4 +67,8 @@ public class VEEduRsltRprtDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public int updateNullFile(VEEduRprtVO vEEduRprtVO) throws Exception {
|
||||
return update("VEEduRsltRprtDAO.updateNullFile", vEEduRprtVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,12 +1,16 @@
|
||||
package kcc.ve.instr.tngrVisitEdu.rprtInfo.service.impl;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.cmm.service.impl.FileManageDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService;
|
||||
|
||||
@ -17,6 +21,9 @@ public class VEEduRsltRprtServiceImpl implements VEEduRsltRprtService {
|
||||
@Resource(name="vEEduRsltRprtDAO")
|
||||
private VEEduRsltRprtDAO vEEduRsltRprtDAO;
|
||||
|
||||
//첨부파일
|
||||
@Resource(name = "FileManageDAO")
|
||||
private FileManageDAO fileMngDAO;
|
||||
|
||||
//C
|
||||
public void insert(VEEduRprtVO paramVO) throws Exception {
|
||||
@ -49,4 +56,17 @@ public class VEEduRsltRprtServiceImpl implements VEEduRsltRprtService {
|
||||
return vEEduRsltRprtDAO.selectPagingList(paramVO);
|
||||
}
|
||||
|
||||
public void deleteRsltRprtFileInf(FileVO fileVO, VEEduRprtVO vEEduRprtVO) throws Exception {
|
||||
//결과 보고 첨부파일 ID 삭제 처리
|
||||
vEEduRsltRprtDAO.updateNullFile(vEEduRprtVO);
|
||||
|
||||
//파일 삭제처리
|
||||
FileVO returnFileVO = new FileVO();
|
||||
returnFileVO = fileMngDAO.selectFileInf(fileVO);
|
||||
if(returnFileVO !=null) {
|
||||
File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm());
|
||||
delFile.delete();
|
||||
}
|
||||
fileMngDAO.deleteFileInf(fileVO); //DB삭제
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,7 +174,6 @@ public class CndtnTrgtMngController {
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo);
|
||||
|
||||
System.out.println("paginationInfo :: "+ paginationInfo.getTotalRecordCount());
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
|
||||
|
||||
@ -192,8 +192,12 @@ public class OprtnAplctMngServiceImpl implements OprtnAplctMngService {
|
||||
//step3.파일 처리====================================
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); //강의 구분 코드 체험교실
|
||||
vEEduAplctVO.setOprtnFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
if(!"Y".equals(vEEduAplctVO.getAdminInsert())) {
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||
}else {
|
||||
vEEduAplctVO.setFrstRegisterId(vEEduAplctVO.getUserId());
|
||||
}
|
||||
//저장전 암호화 - VO 단위로 만들어서 사용
|
||||
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@ -158,6 +159,13 @@ public class OprtnAplctMngController {
|
||||
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
|
||||
//List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
vEEduAplctVO.setLctrDivCd("30");
|
||||
|
||||
//작년도 불성실 여부 조건
|
||||
LocalDate now = LocalDate.now();
|
||||
int nowYear = now.getYear();
|
||||
String lastYear = Integer.toString(nowYear-1);
|
||||
vEEduAplctVO.setLastYear(lastYear);
|
||||
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
||||
//List복호화
|
||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||
@ -233,6 +241,13 @@ public class OprtnAplctMngController {
|
||||
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
//접수종료일 조회 - 교육신청과정기간 종료일
|
||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||
vEPrcsDetailVO.setPrcsAplctPrdOrd(vEEduAplctVO.getPrcsOrd());
|
||||
vEPrcsDetailVO = vEPrcsAplctPrdService.selectDetailByOrd(vEPrcsDetailVO);
|
||||
if(vEPrcsDetailVO != null) {
|
||||
model.addAttribute("endPnttm", vEPrcsDetailVO.getEndPnttm());
|
||||
}
|
||||
//20220223 우영두 추가
|
||||
//강의내역 NOTI 입력
|
||||
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnStateMng.web;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -13,6 +14,7 @@ import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
@ -20,6 +22,7 @@ import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.uss.ion.fms.service.FmsFileVO;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
|
||||
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
|
||||
@ -191,6 +194,7 @@ public class OprtnStateMngController {
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
|
||||
//기본데이터 불러오기
|
||||
vEEduAplctVO = vEEduAplctService.selectOprtnDetail(vEEduAplctVO);
|
||||
|
||||
@ -199,13 +203,15 @@ public class OprtnStateMngController {
|
||||
|
||||
model.addAttribute("info", vEEduAplctVO);
|
||||
|
||||
|
||||
|
||||
// 결과보고
|
||||
VEEduRprtVO vEEduRprtVOInfo = new VEEduRprtVO();
|
||||
vEEduRprtVOInfo.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
|
||||
vEEduRprtVOInfo = vEEduRsltRprtService.selectDetail(vEEduRprtVOInfo);
|
||||
model.addAttribute("resultInfo",vEEduRprtVOInfo);
|
||||
|
||||
|
||||
|
||||
// 첨부파일 조회
|
||||
int fileCnt = 0;
|
||||
List<FileVO> result = null;
|
||||
@ -229,7 +235,14 @@ public class OprtnStateMngController {
|
||||
|
||||
model.addAttribute("vEInstrDetailVO",vEInstrDetailVO);
|
||||
|
||||
|
||||
//작년도 선정교사 정보
|
||||
LocalDate now = LocalDate.now();
|
||||
int nowYear = now.getYear();
|
||||
String lastYear = Integer.toString(nowYear-1);
|
||||
vEEduAplctVO.setLastYear(lastYear);
|
||||
VEInstrDetailVO lastVEInstrDetailVO = vEInstrDetailService.selectLastYearDetail(vEEduAplctVO);
|
||||
model.addAttribute("lastVEInstrDetailVO",lastVEInstrDetailVO);
|
||||
|
||||
return "oprtn/cpyrgExprnClsrm/oprtnStateMngDetail";
|
||||
}
|
||||
|
||||
@ -452,6 +465,31 @@ public class OprtnStateMngController {
|
||||
|
||||
}
|
||||
|
||||
/* 관리자 결과보고 첨부파일 삭제 */
|
||||
@RequestMapping(value = "rsltRprtfileDeleteAjax.do")
|
||||
public ModelAndView fmsfileDeleteAjax(
|
||||
FmsFileVO fmsFileVO,
|
||||
@ModelAttribute("fileVO") FileVO fileVO,
|
||||
VEEduRprtVO vEEduRprtVO
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
vEEduRprtVO.setLastUpdusrId(loginVO.getUniqId());
|
||||
try {
|
||||
vEEduRsltRprtService.deleteRsltRprtFileInf(fileVO, vEEduRprtVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
}catch (Exception e) {
|
||||
modelAndView.addObject("result", "fail");
|
||||
System.out.println("Exception Occured!!!");
|
||||
return modelAndView;
|
||||
}
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||
private PaginationInfo setPagingStep1(
|
||||
VEEduAplctVO p_vEEduAplctVO
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
#sspnIdtmtTrgtOrd#
|
||||
, #userId#
|
||||
, #eduStateCd#
|
||||
, now()
|
||||
, SYSDATE
|
||||
, #frstRegisterId#
|
||||
, #lastUpdtPnttm#
|
||||
, #lastUpdusrId#
|
||||
|
||||
@ -396,6 +396,7 @@
|
||||
, C.evdnc_pht_atch_file_id AS evdncPhtAtchFileId
|
||||
, C.rmt_trn_atch_file_id AS rmtTrnAtchFileId
|
||||
, C.frst_regist_pnttm AS cpyrprtSbmtDt
|
||||
, C.trgt_prsnl_real AS trgtPrsnlReal
|
||||
,(SELECT
|
||||
F.qustnr_respond_id
|
||||
FROM
|
||||
@ -1157,4 +1158,20 @@
|
||||
AND a.LCTR_DIV_CD = '30'
|
||||
AND REPLACE(#sbmtPnttm#, '-', '') BETWEEN SUBSTR(a.strt_pnttm,3,6) AND SUBSTR(a.end_pnttm,3,6);
|
||||
</select>
|
||||
|
||||
<select id="VEEduAplctDAO.selectProceedingOrd" parameterClass="String" resultClass="String">
|
||||
/* VEEduAplctDAO.selectProceedingOrd */
|
||||
SELECT
|
||||
MAX(EDU_APLCT_ORD)
|
||||
FROM
|
||||
VE_EDU_APLCT a
|
||||
WHERE USER_ID = #userId#
|
||||
AND LCTR_DIV_CD = '30'
|
||||
AND APRVL_CD = '60'
|
||||
AND PRCS_ORD = (SELECT
|
||||
MAX(PRCS_APLCT_PRD_ORD)
|
||||
FROM VE_PRCS_APLCT_PRD
|
||||
WHERE LCTR_DIV_CD = '30'
|
||||
AND USE_YN = 'Y')
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -300,6 +300,8 @@
|
||||
, A.CORPS_EDU AS corpsEdu
|
||||
, A.BROADROOM_EDU AS broadroomEdu
|
||||
, A.ADMIN_UPDT_YN AS adminUpdtYn
|
||||
, A.OATH_ATCH_FILE_ID AS oathAtchFileId
|
||||
, A.PLAN_ATCH_FILE_ID AS planAtchFileId
|
||||
,(
|
||||
SELECT
|
||||
MAX(S2.PRCS_NM)||
|
||||
@ -340,6 +342,7 @@
|
||||
, E.OPRTN_STRT_DT AS oprtnStrtDt
|
||||
, E.OPRTN_END_DT AS oprtnEndDt
|
||||
, E.OPRTN_FILE_ID AS oprtnFileId
|
||||
, H.APRVL_CD AS rprtAprvlCd
|
||||
, (
|
||||
SELECT
|
||||
S3.end_pnttm
|
||||
@ -2794,6 +2797,7 @@ INTO ve_edu_rslt_rprt
|
||||
,cpy_rslt_atch_file_id
|
||||
,evdnc_pht_atch_file_id
|
||||
,rmt_trn_atch_file_id
|
||||
,trgt_prsnl_real
|
||||
|
||||
,frst_regist_pnttm
|
||||
,frst_register_id
|
||||
@ -2810,6 +2814,7 @@ VALUES
|
||||
, #cpyRsltAtchFileId#
|
||||
, #evdncPhtAtchFileId#
|
||||
, #rmtTrnAtchFileId#
|
||||
, #trgtPrsnlReal#
|
||||
|
||||
, SYSDATE
|
||||
, #frstRegisterId#
|
||||
@ -3524,6 +3529,7 @@ VALUES
|
||||
<isNotEmpty property="rmtTrnAtchFileId">
|
||||
rmt_trn_atch_file_id = #rmtTrnAtchFileId#,
|
||||
</isNotEmpty>
|
||||
trgt_prsnl_real = #trgtPrsnlReal#,
|
||||
last_updusr_id = #lastUpdusrId#,
|
||||
last_updt_pnttm = SYSDATE
|
||||
WHERE
|
||||
@ -3586,15 +3592,27 @@ VALUES
|
||||
LEFT OUTER JOIN VE_EDU_OPRTN C
|
||||
ON A.EDU_APLCT_ORD = C.EDU_APLCT_ORD
|
||||
LEFT JOIN (
|
||||
SELECT MAX(dd.edu_aplct_ord) AS edu_aplct_ord
|
||||
FROM ve_edu_aplct dd
|
||||
JOIN ve_edu_scltn_teacher ddd
|
||||
ON dd.edu_aplct_ord = ddd.edu_aplct_ord
|
||||
GROUP BY dd.FRST_REGISTER_ID
|
||||
) dddd
|
||||
ON a.EDU_APLCT_ORD = dddd.EDU_APLCT_ORD
|
||||
LEFT JOIN ve_edu_scltn_teacher D
|
||||
ON D.EDU_APLCT_ORD = dddd.EDU_APLCT_ORD
|
||||
SELECT
|
||||
DD.EDU_APLCT_ORD, DD.UNFTH_YN, DDD.USER_ID
|
||||
FROM
|
||||
VE_EDU_SCLTN_TEACHER DD
|
||||
LEFT JOIN
|
||||
VE_EDU_APLCT DDD
|
||||
ON
|
||||
DD.EDU_APLCT_ORD = DDD.EDU_APLCT_ORD
|
||||
WHERE
|
||||
DD.EDU_APLCT_ORD IN(
|
||||
SELECT
|
||||
MAX(EDU_APLCT_ORD)
|
||||
FROM
|
||||
VE_EDU_APLCT
|
||||
WHERE
|
||||
TO_CHAR(SBMT_PNTTM,'YYYY') = #lastYear#
|
||||
GROUP BY
|
||||
USER_ID)
|
||||
|
||||
)D
|
||||
ON a.USER_ID = D.USER_ID
|
||||
WHERE 1=1
|
||||
<isNotEmpty property="lctrDivCd" prepend="AND">
|
||||
A.lctr_div_cd = #lctrDivCd#
|
||||
|
||||
@ -505,7 +505,7 @@
|
||||
,rmrks
|
||||
,frst_regist_pnttm
|
||||
,frst_register_id
|
||||
|
||||
,rprt_score
|
||||
)VALUES(
|
||||
#eduAplctOrd#,
|
||||
#divCd#,
|
||||
@ -514,7 +514,8 @@
|
||||
#extraPayYn#,
|
||||
#rmrks#,
|
||||
SYSDATE,
|
||||
#frstRegisterId#
|
||||
#frstRegisterId#,
|
||||
#rprtScore#
|
||||
)
|
||||
|
||||
</insert>
|
||||
@ -537,6 +538,7 @@
|
||||
,a.unfth_yn AS unfthYn
|
||||
,a.extra_pay_yn AS extraPayYn
|
||||
,a.rmrks AS rmrks
|
||||
,a.rprt_score AS rprtScore
|
||||
,TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||
,a.frst_register_id AS frstRegisterId
|
||||
FROM
|
||||
@ -573,5 +575,25 @@
|
||||
AND
|
||||
INSTR_DIV = #instrDiv#
|
||||
</update>
|
||||
|
||||
|
||||
<select id="VEInstrDetailDAO.selectLastYearDetail" parameterClass="vEEduAplctVO" resultClass="VEInstrDetailVO">
|
||||
/* VEInstrDetailDAO.selectSlctnTeacher */
|
||||
SELECT
|
||||
a.edu_aplct_ord AS eduAplctOrd
|
||||
,a.div_cd AS divCd
|
||||
,a.awards_hist AS awardsHist
|
||||
,a.unfth_yn AS unfthYn
|
||||
,a.extra_pay_yn AS extraPayYn
|
||||
,a.rmrks AS rmrks
|
||||
,a.rprt_score AS rprtScore
|
||||
,TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||
,a.frst_register_id AS frstRegisterId
|
||||
FROM
|
||||
VE_EDU_SCLTN_TEACHER a
|
||||
WHERE
|
||||
a.edu_aplct_ord = (SELECT MAX(edu_aplct_ord)
|
||||
FROM VE_EDU_APLCT
|
||||
WHERE user_id = #userId#
|
||||
AND TO_CHAR(SBMT_PNTTM,'YYYY') = #lastYear#)
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -121,8 +121,7 @@
|
||||
|
||||
UPDATE VE_EDU_APLCT
|
||||
SET aprvl_cd = #aprvlCd#
|
||||
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
AND edu_aplct_ord IN
|
||||
WHERE edu_aplct_ord IN
|
||||
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
|
||||
#eduAplctOrdList[]#
|
||||
</iterate>
|
||||
@ -134,8 +133,7 @@
|
||||
|
||||
UPDATE VEA_APLCT_DETAIL_INFO
|
||||
SET aplct_state_cd = #aplctStateCd#
|
||||
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
AND edu_aplct_ord IN
|
||||
WHERE edu_aplct_ord IN
|
||||
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
|
||||
#eduAplctOrdList[]#
|
||||
</iterate>
|
||||
|
||||
@ -615,5 +615,38 @@
|
||||
a.lctr_div_cd = #lctrDivCd#
|
||||
AND a.user_id = #userId#
|
||||
</select>
|
||||
|
||||
|
||||
<select id="VEPrcsAplctPrdDAO.selectDetailByOrd" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
/* VEPrcsAplctPrdDAO.selectDetailNewOne */
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
|
||||
a.lctr_div_cd AS lctrDivCd,
|
||||
TO_CHAR(TO_DATE(a.strt_pnttm,'YYYYMMDDHH24MISS'), 'YYYY-MM-dd') AS strtPnttm,
|
||||
TO_CHAR(TO_DATE(a.end_pnttm,'YYYYMMDDHH24MISS'), 'YYYY-MM-dd') AS endPnttm,
|
||||
a.use_yn AS useYn,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
a.anncm_cn AS anncmCn,
|
||||
a.popup_cn AS popupCn,
|
||||
a.atch_file_id AS atchFileId,
|
||||
a.title AS title ,
|
||||
(SELECT orignl_file_nm
|
||||
FROM lettnfiledetail
|
||||
WHERE atch_file_id = a.atch_file_id LIMIT 1
|
||||
)
|
||||
AS atchFileNm
|
||||
FROM ve_prcs_aplct_prd a
|
||||
WHERE 1 = 1
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.lctr_div_cd=#lctrDivCd#
|
||||
</isNotEmpty>
|
||||
AND
|
||||
a.use_yn = 'Y'
|
||||
AND
|
||||
a.prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||
ORDER BY a.strt_pnttm DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -249,4 +249,28 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VEEduRsltRprtDAO.updateNullFile" parameterClass="VEEduRprtVO">
|
||||
UPDATE
|
||||
<include refid="VEEduRsltRprtDAO.table_name"/>
|
||||
SET
|
||||
APRVL_CD = '230'
|
||||
,LAST_UPDT_PNTTM = SYSDATE
|
||||
,LAST_UPDUSR_ID = #lastUpdusrId#
|
||||
<isEqual property="rprtFileType" compareValue="rslt">
|
||||
,ORGNL_RSLT_ATCH_FILE_ID = null
|
||||
</isEqual>
|
||||
<isEqual property="rprtFileType" compareValue="cpy">
|
||||
,CPY_RSLT_ATCH_FILE_ID = null
|
||||
</isEqual>
|
||||
<isEqual property="rprtFileType" compareValue="evdnc">
|
||||
,EVDNC_PHT_ATCH_FILE_ID = null
|
||||
</isEqual>
|
||||
<isEqual property="rprtFileType" compareValue="rmt">
|
||||
,RMT_TRN_ATCH_FILE_ID = null
|
||||
</isEqual>
|
||||
|
||||
WHERE
|
||||
edu_aplct_ord = #eduAplctOrd#
|
||||
</update>
|
||||
</sqlMap>
|
||||
|
||||
@ -155,6 +155,8 @@
|
||||
|
||||
<pattern>*/kccadr/oprtn/cpyrgExprnClsrm/cautionGuidePreView.do</pattern> <!-- 관리자 저작권체험교실 교육과정안내 미리보기 팝업 -->
|
||||
|
||||
<pattern>*/kccadr/oprtn/cpyrgExprnClsrm/popup/slctnTeacherPopup.do</pattern> <!-- 관리자 저작권체험교실 교육과정안내 미리보기 팝업 -->
|
||||
|
||||
<!-- <pattern>*/tngrVisitEdu/popup/*Popup.do</pattern>
|
||||
<pattern>*/adultVisitEdu/popup/*Popup.do</pattern> -->
|
||||
|
||||
|
||||
93
src/main/webapp/WEB-INF/jsp/cmm/fms/selectRsltRprtFile.jsp
Normal file
93
src/main/webapp/WEB-INF/jsp/cmm/fms/selectRsltRprtFile.jsp
Normal file
@ -0,0 +1,93 @@
|
||||
<%@ 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"%>
|
||||
<%
|
||||
|
||||
/**
|
||||
* @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_downFile(atchFileId, fileSn){
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
|
||||
}
|
||||
|
||||
/* 등록되어 있는 파일 삭제버튼 클릭시 */
|
||||
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}">
|
||||
<c:set var="fileCount" value="${fn:length(fileList) }" />
|
||||
<!-- </form> -->
|
||||
<!--<title>파일목록</title> -->
|
||||
<c:forEach var="fileVO" items="${fileList}" varStatus="status">
|
||||
<a href="javascript:fn_egov_downFile('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>')" class="file_download_a" title="다운로드" style="display:inline-block;">
|
||||
<c:out value="${fileVO.orignlFileNm}"/>
|
||||
</a>
|
||||
<img src="<c:url value='/images/egovframework/com/cmm/btn/btn_del.png' />" class="cursor" onClick="delRsltRprtFile('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}" />', '<c:out value="${type}"/>'); return false;" alt="첨부파일">
|
||||
<br/>
|
||||
</c:forEach>
|
||||
|
||||
<c:if test="${fn:length(fileList) == 0}">
|
||||
</c:if>
|
||||
|
||||
@ -342,9 +342,9 @@
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<%-- <div class="page">
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div> --%>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<script type="text/javascript">
|
||||
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||
$(document).ready(function() {
|
||||
$('#dBirth').on('input', function() {
|
||||
/* $('#dBirth').on('input', function() {
|
||||
var input = $(this).val();
|
||||
var length = input.length;
|
||||
var lastChar = input.charAt(length - 1);
|
||||
@ -46,7 +46,7 @@
|
||||
if (length === 4 || length === 7) {
|
||||
$(this).val(input + '-');
|
||||
}
|
||||
});
|
||||
}); */
|
||||
});
|
||||
|
||||
function fncSave(){
|
||||
@ -185,7 +185,7 @@
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>대상자 목록</h2>
|
||||
<h2>대상자 등록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
|
||||
@ -173,16 +173,7 @@
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.endPnttm}">
|
||||
<%-- <fmt:parseDate value="${info.endPnttm}" var="endPnttm" pattern="yyMMddHHmmss"/>
|
||||
<fmt:formatDate value="${endPnttm}" pattern="yyyy.MM.dd"/> --%>
|
||||
<c:out value="${info.endPnttm}" />
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${endPnttm}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@ -74,10 +74,41 @@
|
||||
);
|
||||
}
|
||||
|
||||
function updateHiddenMemo(){
|
||||
$("#prvtMemoCn").val($("#hiddenMemo").val());
|
||||
|
||||
var data1 = new FormData(document.getElementById("hiddenMemoForm"));
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/unqIsuesRegPopupAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장 되었습니다.");
|
||||
location.reload();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form id="hiddenMemoForm" name="hiddenMemoForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
|
||||
<input type="hidden" name="prvtMemoCn" id="prvtMemoCn" value="" />
|
||||
</form>
|
||||
|
||||
<form id="popForm1" name="popForm1" method="post">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${info.pageIndex}' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${info.searchSortCnd}" />" />
|
||||
@ -332,8 +363,10 @@
|
||||
<p>결과보고서 원본</p>
|
||||
</th>
|
||||
<td class="file_download" colspan="3">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.orgnlRsltAtchFileId}" />
|
||||
<c:param name="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<c:param name="type" value="rslt" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
@ -342,8 +375,10 @@
|
||||
<p>결과보고서 평가용</p>
|
||||
</th>
|
||||
<td class="file_download" colspan="3">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.cpyRsltAtchFileId}" />
|
||||
<c:param name="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<c:param name="type" value="cpy" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
@ -352,8 +387,10 @@
|
||||
<p>증빙사진</p>
|
||||
</th>
|
||||
<td class="file_download" colspan="3">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.evdncPhtAtchFileId}" />
|
||||
<c:param name="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<c:param name="type" value="evdnc" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
@ -362,8 +399,10 @@
|
||||
<p>원격연수 이수증</p>
|
||||
</th>
|
||||
<td class="file_download" colspan="3">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:import url="/cmm/fms/selectRsltRprtFile.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.rmtTrnAtchFileId}" />
|
||||
<c:param name="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<c:param name="type" value="rmt" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
@ -408,16 +447,12 @@
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 30%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 30%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>수상이력</p>
|
||||
</th>
|
||||
<td><c:out value="${vEInstrDetailVO.awardsHist}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>불성실 여부</p>
|
||||
@ -431,6 +466,52 @@
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>전년도 불성실 여부</p>
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="${lastVEInstrDetailVO.unfthYn eq 'Y'}">불성실</c:when>
|
||||
<c:when test="${lastVEInstrDetailVO.unfthYn eq 'N'}">성실</c:when>
|
||||
<c:otherwise>-</c:otherwise>
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>보고서 평가</p>
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="${vEInstrDetailVO.rprtScore eq '3'}">상</c:when>
|
||||
<c:when test="${vEInstrDetailVO.rprtScore eq '2'}">중</c:when>
|
||||
<c:when test="${vEInstrDetailVO.rprtScore eq '1'}">하</c:when>
|
||||
<c:otherwise>-</c:otherwise>
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>전년도 보고서 평가</p>
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<c:choose>
|
||||
<c:when test="${lastVEInstrDetailVO.rprtScore eq '3'}">상</c:when>
|
||||
<c:when test="${lastVEInstrDetailVO.rprtScore eq '2'}">중</c:when>
|
||||
<c:when test="${lastVEInstrDetailVO.rprtScore eq '1'}">하</c:when>
|
||||
<c:otherwise>-</c:otherwise>
|
||||
</c:choose>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>수상이력</p>
|
||||
</th>
|
||||
<td><c:out value="${vEInstrDetailVO.awardsHist}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
@ -457,6 +538,30 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 비공개 메보 정보 -->
|
||||
<div class="tb_tit01">
|
||||
<p>비공개 메모</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>내용</p>
|
||||
</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="hiddenMemo" id="hiddenMemo"><c:out value="${info.prvtMemoCn}" /></textarea>
|
||||
<button type="button" class="btn_type08" onclick="updateHiddenMemo(); return false;">메모 저장</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
|
||||
@ -271,27 +271,33 @@
|
||||
<c:out value="${list.sbmtPnttm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<%-- <ve:code codeId="VE0003" code="${list.aprvlCd}" /> --%>
|
||||
<jsp:useBean id="date" class="java.util.Date" />
|
||||
<fmt:formatDate value="${date}" pattern="yyyyMMdd" var="now" />
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span >운영진행</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status2">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status4">수정완료</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span >운영종료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status4">운영확정</span>
|
||||
<span >운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status4">운영미확정</span>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span >운영취소</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span >(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span >(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
<%@ 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"%>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/script/jquery-3.5.0.js"></script>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
@ -59,6 +60,11 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$('input:radio[name=rprtScore]').is(':checked')) {
|
||||
alert("보고서 평가를 선택해주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if ($("[name='rmrks']").val() == '') {
|
||||
alert("비고를 입력해주세요.");
|
||||
@ -104,6 +110,23 @@
|
||||
<label for="extraPayN">비지급</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pop_tb_tit01">
|
||||
<p>보고서 평가${vEInstrDetailVO.extraPayYn}</p>
|
||||
</div>
|
||||
<div class="pop_cbx_wrap">
|
||||
<div class="check_wrap">
|
||||
<input type="radio" name="rprtScore" id="rprtScore3" value="3" <c:if test="${vEInstrDetailVO.rprtScore eq '3'}">checked</c:if>>
|
||||
<label for="rprtScore3">상</label>
|
||||
</div>
|
||||
<div class="check_wrap">
|
||||
<input type="radio" name="rprtScore" id="rprtScore2" value="2" <c:if test="${vEInstrDetailVO.rprtScore eq '2'}">checked</c:if>>
|
||||
<label for="rprtScore2">중</label>
|
||||
</div>
|
||||
<div class="check_wrap">
|
||||
<input type="radio" name="rprtScore" id="rprtScore1" value="1" <c:if test="${vEInstrDetailVO.rprtScore eq '1'}">checked</c:if>>
|
||||
<label for="rprtScore1">하</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pop_tb_tit01">
|
||||
<p>비고</p>
|
||||
</div>
|
||||
|
||||
@ -283,15 +283,7 @@
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.prcsEndPnttm}">
|
||||
<fmt:parseDate value="${info.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyMMddHHmm"/>
|
||||
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${endPnttm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -701,6 +693,14 @@
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전체 교육인원</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
${info.trgtPrsnlReal}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@ -128,26 +128,32 @@
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<jsp:useBean id="date" class="java.util.Date" />
|
||||
<fmt:formatDate value="${date}" pattern="yyyyMMdd" var="now" />
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span class="app_status1">운영진행</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정완료</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span class="app_status1">운영종료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영미확정</span>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영취소</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span class="app_status1">(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span class="app_status1">(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
@ -197,25 +203,30 @@
|
||||
<span>처리상태</span>
|
||||
<span>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && list.oprtnStrtDt <= now && now <= list.oprtnEndDt}">
|
||||
<span class="app_status1">운영진행</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60 && now > list.oprtnEndDt}">
|
||||
<span class="app_status1">운영종료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
<span class="app_status1">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
<c:when test="${list.aprvlCd eq list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영취소</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${list.rprtAprvlCd eq '10'}">
|
||||
<span class="app_status1">(결과보고)</span>
|
||||
</c:when>
|
||||
<c:when test="${list.oathAtchFileId ne null || list.planAtchFileId ne null}">
|
||||
<span class="app_status1">(서류제출)</span>
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -298,6 +298,7 @@
|
||||
var sendData = {
|
||||
"eduAplctOrd": $('#eduAplctOrd').val()
|
||||
, "aprvlCd" : $('#aprvlCd').val() //결과제출 - 10, 임시제출 - 230
|
||||
, "trgtPrsnlReal" : $('#trgtPrsnlRealTxt').val()
|
||||
, "innorixFileListVO": data
|
||||
, "successMsg" : "제출 완료되었습니다."
|
||||
}
|
||||
@ -359,6 +360,7 @@
|
||||
var sendData = {
|
||||
"eduAplctOrd": $('#eduAplctOrd').val()
|
||||
, "aprvlCd" : $('#aprvlCd').val()
|
||||
, "trgtPrsnlReal" : $('#trgtPrsnlRealTxt').val()
|
||||
, "successMsg" : "제출 완료되었습니다."
|
||||
}
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
@ -405,6 +407,7 @@
|
||||
|
||||
|
||||
document.getElementById('aprvlCd').value = '230';
|
||||
document.getElementById('trgtPrsnlReal').value = $("trgtPrsnlRealTxt").val()
|
||||
//업로드 경로 설정 -upload.jsp에서 uploader.setDirectory(innoDirPath) 식으로 사용
|
||||
//230810 기준 : innoDirPath = globals_local.properties = /usr/local/tomcat/file/sht/ 경로지만
|
||||
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
|
||||
@ -418,6 +421,7 @@
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value="" />
|
||||
<input type="hidden" name="trgtPrsnlReal" id="trgtPrsnlReal" value="" />
|
||||
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||
</form:form>
|
||||
|
||||
@ -523,6 +527,13 @@
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="filewrap_div">
|
||||
<dt>전체 교육인원</dt>
|
||||
<dd>
|
||||
<label for="trgtGrade" class="label">전체 교육인원</label>
|
||||
<input type="text" id="trgtPrsnlRealTxt" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="3">
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
|
||||
@ -0,0 +1,281 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
});
|
||||
|
||||
function fncGoEdit(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctMdfy.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영신청 상세</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>운영신청 상세 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>신청일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.sbmtPnttmDetail}">
|
||||
<fmt:parseDate value="${info.sbmtPnttmDetail}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy.MM.dd HH시 mm분"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
|
||||
<th scope="row">
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${endPnttm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>신청일</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.sbmtPnttm}">
|
||||
<fmt:parseDate value="${info.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/>
|
||||
<fmt:formatDate value="${sbmtPnttm}" pattern="20yy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.endPnttm}">
|
||||
<fmt:parseDate value="${info.endPnttm}" var="endPnttm" pattern="yyyyMMddHHmm"/>
|
||||
<fmt:formatDate value="${endPnttm}" pattern="yyyy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">교육미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>반려사유</p>
|
||||
</th>
|
||||
<td colspan="3">${info.aprvlCn}</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>신청자 정보</p>
|
||||
</div>
|
||||
<%--<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
|
||||
</div>
|
||||
</c:if>--%>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교(기관)명</p>
|
||||
</th>
|
||||
<td>${info.scholInsttNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교지역특성</p>
|
||||
</th>
|
||||
<td>
|
||||
<input type="checkbox" id="islandsYn" name="islandsYn" disabled="disabled" <c:if test="${info.islandsYn eq 'Y'}">checked</c:if> /><label for="islandsYn"> 도서지역</label>
|
||||
<input type="checkbox" id="remoteYn" name="remoteYn" disabled="disabled" <c:if test="${info.remoteYn eq 'Y'}">checked</c:if> /><label for="remoteYn"> 벽지지역</label>
|
||||
<input type="checkbox" id="clsCmbtYn" name="clsCmbtYn" disabled="disabled" <c:if test="${info.clsCmbtYn eq 'Y'}">checked</c:if> /><label for="clsCmbtYn"> 접적지역</label>
|
||||
<input type="checkbox" id="ppulDclnYn" name="ppulDclnYn" disabled="disabled" <c:if test="${info.ppulDclnYn eq 'Y'}">checked</c:if> /><label for="ppulDclnYn"> 인구감소지역</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교사명</p>
|
||||
</th>
|
||||
<td>${info.chrgNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>성별</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:code codeId="COM014" code="${info.chrgSexCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td>${info.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td>${info.clphone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td>${info.phone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td>(${info.post}) ${info.addr} ${info.addrDetail}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>담당교과</p>
|
||||
</th>
|
||||
<td>${info.chrgMjr}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>생년월일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${not empty info.dBirth}">
|
||||
<c:set var="birthYear" value="${fn:substring(info.dBirth, 0, 4)}"/>
|
||||
<c:set var="birthMonth" value="${fn:substring(info.dBirth, 4, 6)}"/>
|
||||
<c:set var="birthDay" value="${fn:substring(info.dBirth, 6, 8)}"/>
|
||||
</c:if>
|
||||
${birthYear}년 ${birthMonth}월 ${birthDay}일
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>체험교실운영여부</p>
|
||||
</th>
|
||||
<td>
|
||||
운영구분코드 : <kc:code codeId="VE0031" code="${info.exprnClsrnCd}"/> <br/>
|
||||
운영구분년도 : ${info.exprnClsrnYear}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>신청경로</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:code codeId="VE0030" code="${info.exprnClsrnAplct}"/>
|
||||
<c:if test="${not empty info.exprnClsrnAplctCn}">
|
||||
(기타 내용 : ${info.exprnClsrnAplctCn})
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ or info.sbmtYn ne 'Y'}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
<!-- 23.07031 - 신청기간 내 수정 기능 추가 - 요청중일때만 수정 가능 -->
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT and cnt > 0}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,75 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
if(${info == null}){
|
||||
alert("진행 중인 체험교실이 없습니다.");
|
||||
location.href = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.do'/>"
|
||||
}else{
|
||||
$("#p_1").click();
|
||||
}
|
||||
});
|
||||
|
||||
function tabLoad(tab, type){
|
||||
if($("#loadType").val() != type){
|
||||
$("#loadType").val(type);
|
||||
var sendData = $("#loadForm").serializeArray() ;
|
||||
$("#loadArea").load("<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnDashboardLoadAjax.do' />", sendData ,function(response, status, xhr){
|
||||
if(status == 'success'){
|
||||
$(tab).parent().siblings().each(function(index){
|
||||
var className = $(this).attr('class').split('_on')[0];
|
||||
$(this).removeClass();
|
||||
$(this).attr('class', className);
|
||||
});
|
||||
$(tab).parent().attr('class',$(tab).parent().attr('class')+'_on')
|
||||
}else{
|
||||
alert("조회 실패");
|
||||
location.href="<c:url value='/web/main/mainPage.do'/>"
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<form id="loadForm" name="loadForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="loadType" id="loadType" value="" />
|
||||
</form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="cont_tit">
|
||||
<h2>체험교실 대시보드</h2>
|
||||
</div>
|
||||
<!-- 체험교실 프로세스 -->
|
||||
<ul class="ex_process">
|
||||
<li class="p_1"><a href="#" id="p_1" onclick="tabLoad(this,'1');">신청정보</a></li>
|
||||
<li class="p_2"><a href="#" onclick="tabLoad(this,'2');">운영계획</a></li>
|
||||
<li class="p_3"><a href="#" onclick="tabLoad(this,'3');">서류 제출</a></li>
|
||||
<li class="p_4"><a href="#" onclick="tabLoad(this,'4');">결과보고</a></li>
|
||||
<li class="p_5"><a href="#" onclick="tabLoad(this,'5');">최종결과</a></li>
|
||||
</ul>
|
||||
<div id="loadArea">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -162,15 +162,7 @@
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.endPnttm}">
|
||||
<fmt:parseDate value="${info.endPnttm}" var="endPnttm" pattern="yyyyMMddHHmm"/>
|
||||
<fmt:formatDate value="${endPnttm}" pattern="yyyy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:out value="${endPnttm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
|
||||
@ -154,17 +154,8 @@
|
||||
</td>
|
||||
<td>
|
||||
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
|
||||
<fmt:parseDate value="${list.endPnttm}" var="endPnttm" pattern="yyyyMMddHHmm"/>
|
||||
<fmt:formatDate value="${endPnttm}" pattern="yyyy.MM.dd"/>
|
||||
<%--<c:choose>
|
||||
<c:when test="${not empty list.rprtSbmtDt}">
|
||||
<fmt:parseDate value="${list.rprtSbmtDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>--%>
|
||||
<fmt:parseDate value="${list.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyyyMMddHHmm"/>
|
||||
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
@ -968,7 +968,7 @@
|
||||
</th>
|
||||
<td>
|
||||
<label for="trgtGrade" class="label">필요 교재 수량 입력</label>
|
||||
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.needTxtbNum}" title="필요 교재 수량" size="20" maxlength="3">
|
||||
<input type="text" name="trgtPrsnlReal" id="trgtPrsnlReal" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="4">
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>
|
||||
|
||||
@ -0,0 +1,129 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<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>
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
.file_list .file_download_a {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.onlyFile .file_download_a {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
//파일첨부버튼
|
||||
$(".btn_add_file").on('click', function(){
|
||||
$("#file_temp").click();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
}
|
||||
|
||||
function fileDown(atchFileId){
|
||||
if(atchFileId == ''){
|
||||
alert("등록된 설문지가 없습니다.");
|
||||
return;
|
||||
}
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn=0'/>");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||
<input type="hidden" name="searchStatus" value="<c:out value="${vEEduAplctVO.searchStatus}" />" />
|
||||
<input type="hidden" name="eduAplctOrd" value="${info.eduAplctOrd}">
|
||||
</form:form>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>거래선 및 서약서 정보</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>거래선 및 서약서 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><p>거래선 양식</p></th>
|
||||
<td>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=2'" title="거래선 양식 다운로드">거래선 양식 다운로드</button>
|
||||
<p>
|
||||
<span class="cf_text">※ 거래선 파일은 개인정보 수집 및 보호를 위해 반드시 메일(entt@copyright.or.kr)로 제출하시기 바랍니다.</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>서약서 제출</p></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${info.oathAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=1'" title="서약서 양식 다운로드">서약서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,184 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<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>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
});
|
||||
|
||||
function fncGoEdit(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctMdfy.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>대상학년</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td>${info.trgtClsrm}</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>대상학년</p>
|
||||
</th>
|
||||
<td colspan="3">${info.trgtGrade}</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td colspan="3">${info.trgtClsrm}</td>
|
||||
</tr>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>대상학생수</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.trgtPrsnl}
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>대상학생수</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
${info.trgtPrsnl}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength4">
|
||||
<th scope="row">
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="trLength2">
|
||||
<th scope="row">
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="file_download" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oprtnFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>차시별 계획서 제출</p></th>
|
||||
<td colspan="3">
|
||||
<c:if test="${info.planAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.planAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="PLAN" onclick="filePopupLayer('PLAN')" title="팝업 열림">계획서 업로드</button>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=0'" title="계획서 양식 다운로드">계획서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ or info.sbmtYn ne 'Y'}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
<!-- 23.07031 - 신청기간 내 수정 기능 추가 - 요청중일때만 수정 가능 -->
|
||||
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT and cnt > 0}">
|
||||
<button type="button" class="btnType06" onclick="fncGoEdit();">수정</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,610 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
|
||||
<script>
|
||||
/* js에 전달용 */
|
||||
var contextPath = '${pageContext.request.contextPath}';
|
||||
var eduAplctOrd = "<c:out value='${info.eduAplctOrd}'/>";
|
||||
</script>
|
||||
<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">
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
#orgn{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offeduadvc/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
|
||||
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
|
||||
#cpy{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
#evdnc{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
#evdnc div.irx_filetree.empty-uploader{background: url(/offeduadvc/visitEdu/usr/publish/images/content/dropzone_file_before_only_zip.png) no-repeat center; height: 150px !important;}
|
||||
#rmttrn{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
//대용량 업로드 솔루션
|
||||
var control1 = new Object();
|
||||
var control2 = new Object();
|
||||
var control3 = new Object();
|
||||
var control4 = new Object();
|
||||
var control5 = new Object();
|
||||
|
||||
//첨부파일 변화 유무
|
||||
var control1Chg = 'N';
|
||||
var control2Chg = 'N';
|
||||
var control3Chg = 'N';
|
||||
var control4Chg = 'N';
|
||||
|
||||
//임시파일 유무 설정
|
||||
var control1Tmprr = 'N';
|
||||
var control2Tmprr = 'N';
|
||||
var control3Tmprr = 'N';
|
||||
var control4Tmprr = 'N';
|
||||
|
||||
//기존 임시저장 확인 여부 - tmprrYn이 == N 테이블 insert / tmprrYn == Y 테이블 update
|
||||
var tmprrYn = 'N';
|
||||
|
||||
var control1Id = '${info.orgnlRsltAtchFileId}';
|
||||
var control2Id = '${info.cpyRsltAtchFileId}';
|
||||
var control3Id = '${info.evdncPhtAtchFileId}';
|
||||
var control4Id = '${info.rmtTrnAtchFileId}';
|
||||
|
||||
|
||||
if(control1Id != null && control1Id != ''){
|
||||
control1Tmprr = 'Y';
|
||||
tmprrYn = 'Y';
|
||||
}
|
||||
if(control2Id != null && control2Id != ''){
|
||||
control2Tmprr = 'Y';
|
||||
tmprrYn = 'Y';
|
||||
}
|
||||
if(control3Id != null && control3Id != ''){
|
||||
control3Tmprr = 'Y';
|
||||
tmprrYn = 'Y';
|
||||
}
|
||||
if(control4Id != null && control4Id != ''){
|
||||
control4Tmprr = 'Y';
|
||||
tmprrYn = 'Y';
|
||||
}
|
||||
|
||||
//임시파일 다운로드 jsp 기본 경로
|
||||
var urlBase = "<c:url value='/innorix/exam/'/>"
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
//대용량 업로드 솔루션 innorix
|
||||
//원본 결과 보고서 컨트롤 생성
|
||||
control1 = innorix.create({
|
||||
el : '#orgn', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=orgn" />', // 업로드 URL
|
||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||
width : 870, // 컨트롤 출력 너비(pixel)
|
||||
height : 80, // 컨트롤 출력 높이(pixel)
|
||||
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
|
||||
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
|
||||
});
|
||||
|
||||
// 파일 추가 이벤트
|
||||
control1.on('afterAddFiles', function (p) {
|
||||
$('.orgnl_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||
$('.orgnl_totalfileCount').text(p.length);
|
||||
control1Chg = 'Y';
|
||||
});
|
||||
|
||||
// 파일 삭제 이벤트
|
||||
// 임시 저장이 아닌, 새로 afterAddFiles(업로드 전 파일추가) - control1Chg 'N'
|
||||
// 임시 저장 파일 삭제 시 - control1Chg 'Y'
|
||||
control1.on('removeFiles', function (p) {
|
||||
$('.orgnl_totalfileSize').text('0MB') ;
|
||||
$('.orgnl_totalfileCount').text('0');
|
||||
control1Chg = 'N';
|
||||
if(control1Tmprr == 'Y'){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
innorixDelRprtAtchFile(p[0].uniqueFileName, 'orgnl_rslt_atch_file_id')
|
||||
control1Tmprr = 'N';
|
||||
control1Chg = 'Y';
|
||||
$("#control1DownBtn").css('display', 'none');
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//평가용 결과 보고서 컨트롤 생성
|
||||
control2 = innorix.create({
|
||||
el : '#cpy', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=cpy" />', // 업로드 URL
|
||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||
width : 870, // 컨트롤 출력 너비(pixel)
|
||||
height : 80, // 컨트롤 출력 높이(pixel)
|
||||
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
|
||||
useContextMenu : 'false'
|
||||
});
|
||||
|
||||
// 파일 추가 이벤트
|
||||
control2.on('afterAddFiles', function (p) {
|
||||
$('.cpy_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||
$('.cpy_totalfileCount').text(p.length);
|
||||
control2Chg = 'Y';
|
||||
});
|
||||
|
||||
// 파일 삭제 이벤트
|
||||
control2.on('removeFiles', function (p) {
|
||||
$('.cpy_totalfileSize').text('0MB') ;
|
||||
$('.cpy_totalfileCount').text('0');
|
||||
control2Chg = 'N';
|
||||
if(control2Tmprr == 'Y'){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
innorixDelRprtAtchFile(p[0].uniqueFileName, 'cpy_rslt_atch_file_id')
|
||||
control2Tmprr = 'N';
|
||||
control2Chg = 'Y';
|
||||
$("#control2DownBtn").css('display', 'none');
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//증빙사진 컨트롤 생성
|
||||
control3 = innorix.create({
|
||||
el : '#evdnc', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=evdnc" />', // 업로드 URL
|
||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||
width : 870, // 컨트롤 출력 너비(pixel)
|
||||
height : 80, // 컨트롤 출력 높이(pixel)
|
||||
allowExtension : ["zip"],
|
||||
useContextMenu : 'false'
|
||||
});
|
||||
|
||||
// 파일 추가 이벤트
|
||||
control3.on('afterAddFiles', function (p) {
|
||||
$('.evdnc_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||
$('.evdnc_totalfileCount').text(p.length);
|
||||
control3Chg = 'Y';
|
||||
});
|
||||
|
||||
// 파일 삭제 이벤트
|
||||
control3.on('removeFiles', function (p) {
|
||||
$('.evdnc_totalfileSize').text('0MB') ;
|
||||
$('.evdnc_totalfileCount').text('0');
|
||||
control3Chg = 'N';
|
||||
if(control3Tmprr == 'Y'){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
innorixDelRprtAtchFile(p[0].uniqueFileName, 'evdnc_pht_atch_file_id')
|
||||
control3Tmprr = 'N';
|
||||
control3Chg = 'Y';
|
||||
$("#control3DownBtn").css('display', 'none');
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//원격연수 이수증 컨트롤 생성
|
||||
control4 = innorix.create({
|
||||
el : '#rmttrn', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=rmttrn" />', // 업로드 URL
|
||||
maxFileCount : 1, // 첨부가능 파일 전체 개수
|
||||
width : 870, // 컨트롤 출력 너비(pixel)
|
||||
height : 80, // 컨트롤 출력 높이(pixel)
|
||||
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
|
||||
useContextMenu : 'false'
|
||||
});
|
||||
|
||||
// 파일 추가 이벤트
|
||||
control4.on('afterAddFiles', function (p) {
|
||||
$('.rmtTrn_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
|
||||
$('.rmtTrn_totalfileCount').text(p.length);
|
||||
control4Chg = 'Y';
|
||||
});
|
||||
|
||||
// 파일 삭제 이벤트
|
||||
control4.on('removeFiles', function (p) {
|
||||
$('.rmtTrn_totalfileSize').text('0MB') ;
|
||||
$('.rmtTrn_totalfileCount').text('0');
|
||||
control4Chg = 'N';
|
||||
if(control4Tmprr == 'Y'){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
innorixDelRprtAtchFile(p[0].uniqueFileName, 'rmt_trn_atch_file_id')
|
||||
control4Tmprr = 'N';
|
||||
control4Chg = 'Y';
|
||||
$("#control4DownBtn").css('display', 'none');
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//멀티 컨트롤 생성 - hidden으로 화면 비노출, 제출 시 컨트롤 1~4를 add하여 업로드
|
||||
control5 = innorix.create({
|
||||
el : '#fileControl5', // 컨트롤 출력 객체 ID
|
||||
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
|
||||
uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />', // 업로드 URL
|
||||
maxFileCount : 4, // 첨부가능 파일 전체 개수
|
||||
});
|
||||
|
||||
|
||||
|
||||
//임시저장 데이터가 있을 시 임시저장 파일 처리
|
||||
if(control1Tmprr == 'Y'){
|
||||
control1.presetDownloadFiles([{
|
||||
printFileName: '${info.orgnlRsltAtchFileDetail.orignlFileNm}',
|
||||
fileSize: '${info.orgnlRsltAtchFileDetail.fileSize}',
|
||||
downloadUrl: urlBase + "download.jsp?fileName=" + '${info.orgnlRsltAtchFileDetail.streFileNm}',
|
||||
uniqueFileName : '${info.orgnlRsltAtchFileDetail.atchFileId}'
|
||||
}]);
|
||||
control1Chg = 'N'; //임시저장 파일 세팅 시 'afterAddFiles' 이벤트에서 control1Chg = 'Y' 처리가 되어 다시 N으로 설정
|
||||
}
|
||||
if(control2Tmprr == 'Y'){
|
||||
control2.presetDownloadFiles([{
|
||||
printFileName: '${info.cpyRsltAtchFileDetail.orignlFileNm}',
|
||||
fileSize: '${info.cpyRsltAtchFileDetail.fileSize}',
|
||||
downloadUrl: urlBase + "download.jsp?fileName=" + '${info.cpyRsltAtchFileDetail.streFileNm}',
|
||||
uniqueFileName : '${info.cpyRsltAtchFileDetail.atchFileId}'
|
||||
}]);
|
||||
control2Chg = 'N';
|
||||
}
|
||||
if(control3Tmprr == 'Y'){
|
||||
control3.presetDownloadFiles([{
|
||||
printFileName: '${info.evdncPhtAtchFileDetail.orignlFileNm}',
|
||||
fileSize: '${info.evdncPhtAtchFileDetail.fileSize}',
|
||||
downloadUrl: urlBase + "download.jsp?fileName=" + '${info.evdncPhtAtchFileDetail.streFileNm}',
|
||||
uniqueFileName : '${info.evdncPhtAtchFileDetail.atchFileId}'
|
||||
}]);
|
||||
control3Chg = 'N';
|
||||
}
|
||||
if(control4Tmprr == 'Y'){
|
||||
control4.presetDownloadFiles([{
|
||||
printFileName: '${info.rmtTrnAtchFileDetail.orignlFileNm}',
|
||||
fileSize: '${info.rmtTrnAtchFileDetail.fileSize}',
|
||||
downloadUrl: urlBase + "download.jsp?fileName=" + '${info.rmtTrnAtchFileDetail.streFileNm}',
|
||||
uniqueFileName : '${info.rmtTrnAtchFileDetail.atchFileId}'
|
||||
}]);
|
||||
control4Chg = 'N';
|
||||
}
|
||||
|
||||
|
||||
//첨부파일 업로드 후속조치 - 결과제출 시 처리
|
||||
control5.on('uploadComplete', function (p) {
|
||||
fn_callBackInnorixInsert(p.files);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function fn_callBackInnorixInsert(data){
|
||||
var url = "<c:url value='/web/common/insertRprtInnorixFileAjax.do' />";
|
||||
if(tmprrYn == 'Y'){ //임시 저장 데이터가 있을 시 테이블 update 처리
|
||||
var url = "<c:url value='/web/common/updateRprtInnorixFileAjax.do' />";
|
||||
}
|
||||
|
||||
var sendData = {
|
||||
"eduAplctOrd": $('#eduAplctOrd').val()
|
||||
, "aprvlCd" : $('#aprvlCd').val() //결과제출 - 10, 임시제출 - 230
|
||||
, "trgtPrsnlReal" : $('#trgtPrsnlRealTxt').val()
|
||||
, "innorixFileListVO": data
|
||||
, "successMsg" : "제출 완료되었습니다."
|
||||
}
|
||||
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function fncSave(){
|
||||
if(control1.getFileCount() == 0){
|
||||
alert("원본 결과보고서를 첨부해주세요.")
|
||||
return false;
|
||||
}
|
||||
|
||||
if(control2.getFileCount() == 0){
|
||||
alert("평가용 결과보고서를 첨부해주세요.")
|
||||
return false;
|
||||
}
|
||||
|
||||
if(control3.getFileCount() == 0){
|
||||
alert("증빙사진을 첨부해주세요.")
|
||||
return false;
|
||||
}
|
||||
document.getElementById('aprvlCd').value = '10';
|
||||
|
||||
//임시저장 파일이 아닌 새로 추가한 파일만 업로드 처리
|
||||
control5.removeAllFiles(); //control5 초기화
|
||||
if(control1Chg == 'Y'){
|
||||
control5.addFiles(control1.getAllFiles());
|
||||
}
|
||||
if(control2Chg == 'Y'){
|
||||
control5.addFiles(control2.getAllFiles());
|
||||
}
|
||||
if(control3Chg == 'Y'){
|
||||
control5.addFiles(control3.getAllFiles());
|
||||
}
|
||||
if(control4Chg == 'Y'){
|
||||
control5.addFiles(control4.getAllFiles());
|
||||
}
|
||||
//업로드 파일 사이즈 500MB 제한
|
||||
//임시로 저장되어 있던 파일들 용량까지 체크하기 위하여 control5.getTotalSize()가 아닌 각각 파일의 사이즈를 더하여 비교
|
||||
if(control1.getTotalSize() + control2.getTotalSize() + control3.getTotalSize() + control4.getTotalSize()> 524288000){
|
||||
alert("업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다.")
|
||||
return false;
|
||||
}
|
||||
|
||||
//기존 임시 저장상태에서 새로 등록한 파일이 없다면, 상태 값만 10으로 update 처리
|
||||
if(control5.getFileCount() == '0'){
|
||||
var url = "<c:url value='/web/common/updateRprtInnorixFileAjax.do' />";
|
||||
var sendData = {
|
||||
"eduAplctOrd": $('#eduAplctOrd').val()
|
||||
, "aprvlCd" : $('#aprvlCd').val()
|
||||
, "trgtPrsnlReal" : $('#trgtPrsnlRealTxt').val()
|
||||
, "successMsg" : "제출 완료되었습니다."
|
||||
}
|
||||
if(fn_innorixCmmAjax(sendData, url) == "OK")
|
||||
{
|
||||
fncGoList();
|
||||
}
|
||||
}else{
|
||||
//업로드 경로 설정 -upload.jsp에서 uploader.setDirectory(innoDirPath) 식으로 사용
|
||||
//230810 기준 : innoDirPath = globals_local.properties = /usr/local/tomcat/file/sht/ 경로지만
|
||||
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
control5.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control5.upload();
|
||||
}
|
||||
}
|
||||
|
||||
function fncTmprrSave(){
|
||||
|
||||
//첨부파일이 변경됐을시만 업로드. 임시저장으로 인하여 비교 필요
|
||||
control5.removeAllFiles(); //control5 초기화
|
||||
if(control1Chg == 'Y'){
|
||||
control5.addFiles(control1.getAllFiles());
|
||||
}
|
||||
if(control2Chg == 'Y'){
|
||||
control5.addFiles(control2.getAllFiles());
|
||||
}
|
||||
if(control3Chg == 'Y'){
|
||||
control5.addFiles(control3.getAllFiles());
|
||||
}
|
||||
if(control4Chg == 'Y'){
|
||||
control5.addFiles(control4.getAllFiles());
|
||||
}
|
||||
//업로드 파일 사이즈 500MB 제한
|
||||
if(control1.getTotalSize() + control2.getTotalSize() + control3.getTotalSize() + control4.getTotalSize()> 524288000){
|
||||
alert("업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다.")
|
||||
return false;
|
||||
}
|
||||
if((control1Chg == 'N' && control2Chg == 'N'
|
||||
&& control3Chg == 'N' && control4Chg == 'N') || control5.getFileCount() == '0'){
|
||||
alert("임시저장할 파일을 첨부해주세요.")
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
document.getElementById('aprvlCd').value = '230';
|
||||
document.getElementById('trgtPrsnlReal').value = $("trgtPrsnlRealTxt").val()
|
||||
//업로드 경로 설정 -upload.jsp에서 uploader.setDirectory(innoDirPath) 식으로 사용
|
||||
//230810 기준 : innoDirPath = globals_local.properties = /usr/local/tomcat/file/sht/ 경로지만
|
||||
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
|
||||
var postObj = new Object();
|
||||
postObj.innoDirPath = $('#innoDirPath').val();
|
||||
control5.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
|
||||
control5.upload();
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
<input type="hidden" name="aprvlCd" id="aprvlCd" value="" />
|
||||
<input type="hidden" name="trgtPrsnlReal" id="trgtPrsnlReal" value="" />
|
||||
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
|
||||
</form:form>
|
||||
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>결과보고</p>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${info.exprnAprvlCd == '10'}">
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>결과보고 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>결과보고서 원본</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.orgnlRsltAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>결과보고서 평가용</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.cpyRsltAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>증빙사진</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.evdncPhtAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>원격연수 이수증</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.rmtTrnAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전체 교육인원</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
${info.trgtPrsnlReal}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${info.exprnAprvlCd != '10'}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<span class="cf_text" style="font-size: 16px; font-weight: 400; color: #e40000;line-height: 1.5;">※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다.
|
||||
<br/> 용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다. </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="exprnClsrmEndRslt_wrap">
|
||||
<dl class="filewrap_div">
|
||||
<dt><p class="req_text"><span>필수입력 항목</span>*</p>원본 결과보고서</dt>
|
||||
<dd>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" onclick="control1.openFileDialogSingle();" class="btnType01 orgnl_btn_add_file">원본 결과보고서 파일찾기</button>
|
||||
<c:if test="${info.orgnlRsltAtchFileId != null && info.orgnlRsltAtchFileId != ''}">
|
||||
<button type="button" id="control1DownBtn" onclick="control1.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div id="orgn"></div><br/>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span class="orgnl_limitFileCount">1</span>개</p>
|
||||
</div>
|
||||
<div class="cf_right">
|
||||
<p>등록된 파일 <span class="upload_number orgnl_totalfileCount">0</span>개</p>
|
||||
<span class="upload_number orgnl_totalfileSize">0MB</span>
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="filewrap_div">
|
||||
<dt><p class="req_text"><span>필수입력 항목</span>*</p>평가용 결과보고서</dt>
|
||||
<dd>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" onclick="control2.openFileDialogSingle();" class="btnType01 cpy_btn_add_file">평가용 결과보고서 파일찾기</button>
|
||||
<c:if test="${info.cpyRsltAtchFileId != null && info.cpyRsltAtchFileId != ''}">
|
||||
<button type="button" id="control2DownBtn" onclick="control2.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div id="cpy"></div><br/>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span class="cpy_limitFileCount">1</span>개</p>
|
||||
</div>
|
||||
<div class="cf_right">
|
||||
<p>등록된 파일 <span class="upload_number cpy_totalfileCount">0</span>개</p>
|
||||
<span class="upload_number cpy_totalfileSize">0MB</span>
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="filewrap_div">
|
||||
<dt><p class="req_text"><span>필수입력 항목</span>*</p>증빙사진</dt>
|
||||
<dd>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" onclick="control3.openFileDialogSingle();" class="btnType01 evdnc_btn_add_file">증빙 사진 파일찾기</button>
|
||||
<c:if test="${info.evdncPhtAtchFileId != null && info.evdncPhtAtchFileId != ''}">
|
||||
<button type="button" id="control3DownBtn" onclick="control3.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div id="evdnc"></div><br/>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span class="evdnc_limitFileCount">1</span>개</p>
|
||||
</div>
|
||||
<div class="cf_right">
|
||||
<p>등록된 파일 <span class="upload_number evdnc_totalfileCount">0</span>개</p>
|
||||
<span class="upload_number evdnc_totalfileSize">0MB</span>
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="filewrap_div">
|
||||
<dt>원격연수 이수증</dt>
|
||||
<dd>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" onclick="control4.openFileDialogSingle();" class="btnType01 rmtTrn_btn_add_file">원격연수 이수증 파일찾기</button>
|
||||
<c:if test="${info.rmtTrnAtchFileId != null && info.rmtTrnAtchFileId != ''}">
|
||||
<button type="button" id="control4DownBtn" onclick="control4.download();" class="btnType01 cpy_btn_add_file">다운로드</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div id="rmttrn"></div><br/>
|
||||
<div class="file_cf">
|
||||
<div class="cf_left">
|
||||
<p>최대 <span class="rmtTrn_limitFileCount">1</span>개</p>
|
||||
</div>
|
||||
<div class="cf_right">
|
||||
<p>등록된 파일 <span class="upload_number rmtTrn_totalfileCount">0</span>개</p>
|
||||
<span class="upload_number rmtTrn_totalfileSize">0MB</span>
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="filewrap_div">
|
||||
<dt>전체 교육인원</dt>
|
||||
<dd>
|
||||
<label for="trgtGrade" class="label">전체 교육인원</label>
|
||||
<input type="text" id="trgtPrsnlRealTxt" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="3">
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left"></div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType06" onclick="fncSave();">결과제출</button>
|
||||
<button type="button" class="btnType06" onclick="fncTmprrSave();">임시저장</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<div id="fileControl5" style="display:none"></div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,714 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<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>
|
||||
|
||||
<style>
|
||||
input:disabled {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
input:read-only {
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
.file_list .file_download_a {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.onlyFile .file_download_a {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
setNumberOnly();
|
||||
|
||||
$('.focusout').focusout(function() {
|
||||
replyCalculation();
|
||||
});
|
||||
|
||||
/* beforeSrvyPopupAjax();
|
||||
beforePrintPopupAjax();
|
||||
|
||||
afterSrvyPopupAjax();
|
||||
afterPrintPopupAjax(); */
|
||||
|
||||
//파일첨부버튼
|
||||
$(".btn_add_file").on('click', function(){
|
||||
$("#file_temp").click();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
var printDiv;
|
||||
var initBody;
|
||||
function onclickPrint(divId) {
|
||||
|
||||
var $container = $("#"+divId).clone();
|
||||
var innerHtml = $container[0].innerHTML
|
||||
var popupWindow = window.open("", "_blank", "width=800,height=800")
|
||||
popupWindow.document.write(
|
||||
"<!DOCTYPE html>"+
|
||||
"<html>"+
|
||||
"<head>"+
|
||||
"<link rel='stylesheet' href='<c:url value='/visitEdu/usr/publish/css/popup.css'/>'>"+
|
||||
"<script src='<c:url value='/visitEdu/usr/publish/script/jquery-3.5.0.js'/>'><\/script>"+
|
||||
|
||||
"<style>"+
|
||||
|
||||
"</style>"+
|
||||
"<script>"+
|
||||
"$( document ).ready( function() {" +
|
||||
"$('div').removeClass('popup_wrap');"+
|
||||
"$('.btn_layout01').hide();"+
|
||||
"$('.pop_tb_type01').css('overflow-y','initial');"+
|
||||
"});"+
|
||||
"<\/script>"+
|
||||
"</head>"+
|
||||
"<body>"+innerHtml+"</body>"+
|
||||
"</html>")
|
||||
popupWindow.document.close()
|
||||
popupWindow.focus()
|
||||
setTimeout(function() {
|
||||
popupWindow.print()
|
||||
popupWindow.close()
|
||||
}, 5000);
|
||||
|
||||
|
||||
/* var initBody;
|
||||
window.onbeforeprint = function(){
|
||||
initBody = document.body.innerHTML;
|
||||
document.body.innerHTML = document.getElementById('beforePrintDiv').innerHTML;
|
||||
};
|
||||
window.onafterprint = function(){
|
||||
document.body.innerHTML = initBody;
|
||||
};
|
||||
window.print();
|
||||
location.reload(); */
|
||||
};
|
||||
|
||||
|
||||
function beforePrint(){
|
||||
initBody = document.body.innerHTML;
|
||||
document.body.innerHTML = printDiv.innerHTML;
|
||||
}
|
||||
function afterPrint(){
|
||||
document.body.innerHTML = initBody;
|
||||
}
|
||||
|
||||
//설문조사 주석 임시로
|
||||
function beforeSrvyPopupAjax(){
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#beforeSrvyPopupLoad").load("${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/Popup/beforeSrvyPopup.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
function beforePrintPopupAjax(){
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#beforePrintPopupLoad").load("${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/Popup/beforePrintPopupLoad.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
|
||||
function afterSrvyPopupAjax(){
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#afterSrvyPopupLoad").load("${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/Popup/afterSrvyPopup.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
function afterPrintPopupAjax(){
|
||||
var sendData= $(document.listForm).serializeArray();
|
||||
$("#afterPrintPopupLoad").load("${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/Popup/afterPrintPopup.do", sendData ,function(response, status, xhr){
|
||||
});
|
||||
}
|
||||
|
||||
function setNumberOnly(){ //숫자만 입력
|
||||
$("input:text[numberOnly]").on("keyup", function(){
|
||||
$(this).val($(this).val().replace(/[^0-9]/g,""));
|
||||
});
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.eduAplctOrd.value = "";
|
||||
listForm.action = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoRslt(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt.do'/>";
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function srvySendSubmit(type){
|
||||
if(type == 'before'){
|
||||
if(!beforeFromCheck()){
|
||||
return;
|
||||
}
|
||||
}else if('after'){
|
||||
if(!afterFromCheck()){
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(confirm("설문결과를 등록 하시겠습니까?")){
|
||||
var data;
|
||||
if(type == 'before'){
|
||||
data = new FormData(document.getElementById("beforeSrvyPopupForm"));
|
||||
}else if('after'){
|
||||
data = new FormData(document.getElementById("afterSrvyPopupForm"));
|
||||
}
|
||||
$.ajax({
|
||||
type:"POST"
|
||||
,url:"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/insertSrvyInfoAjax.do"
|
||||
,data: data
|
||||
,dataType:'json'
|
||||
,async: false
|
||||
,processData: false
|
||||
,contentType: false
|
||||
,cache: false
|
||||
,success:function(returnData){
|
||||
if(returnData.result == 'success'){
|
||||
alert("설문결과가 등록 되었습니다.");
|
||||
window.location.reload();
|
||||
}else if(returnData.result == 'fail'){
|
||||
alert(returnData.msg);
|
||||
location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
|
||||
}
|
||||
}
|
||||
,error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncReject(){
|
||||
|
||||
// commonPopWindowopenForm("/kccadr/adjReqMgr/popup/adjReqMgrRegCompanionPopup.do" , "600", "340", "rejectPop",$("#detailForm"));
|
||||
}
|
||||
|
||||
function filePopupLayer(type){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/fileUploadPop.do"
|
||||
, 650
|
||||
, 464
|
||||
, {'eduAplctOrd' : '<c:out value='${info.eduAplctOrd}'/>','fileType' : type}
|
||||
, "Y"
|
||||
, "fileUploadPop"
|
||||
);
|
||||
}
|
||||
function fncGoLctrAplctReg(){
|
||||
var linkForm = document.linkForm ;
|
||||
linkForm.action = "<c:url value='/web/ve/aplct/otsdCprtnPrcs/lctrAplct/lctrAplctReg.do'/>"
|
||||
linkForm.submit();
|
||||
}
|
||||
|
||||
function fileDown(atchFileId){
|
||||
if(atchFileId == ''){
|
||||
alert("등록된 설문지가 없습니다.");
|
||||
return;
|
||||
}
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn=0'/>");
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||
<input type="hidden" name="searchStatus" value="<c:out value="${vEEduAplctVO.searchStatus}" />" />
|
||||
<input type="hidden" name="eduAplctOrd" value="${info.eduAplctOrd}">
|
||||
</form:form>
|
||||
|
||||
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" onsubmit="return false;" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
|
||||
</form:form>
|
||||
|
||||
<div id="beforeSrvyPopupLoad"></div>
|
||||
<div id="afterSrvyPopupLoad"></div>
|
||||
|
||||
<div id="beforePrintPopupLoad"></div>
|
||||
<div id="afterPrintPopupLoad"></div>
|
||||
|
||||
<div class="cont_wrap" id="sub">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영내역 상세</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>운영내역 상세 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>신청일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.sbmtPnttm}">
|
||||
<fmt:parseDate value="${info.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/>
|
||||
<fmt:formatDate value="${sbmtPnttm}" pattern="20yy.MM.dd"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
|
||||
<th scope="row">
|
||||
<p>접수종료일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:out value="${endPnttm }"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>처리상태</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<c:choose>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||
<span class="app_status1">교육신청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
|
||||
<span class="app_status2">교육승인</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_RJT}">
|
||||
<span class="app_status4">교육반려</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CAN}">
|
||||
<span class="app_status4">교육취소</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
|
||||
<span class="app_status4">선정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
</c:when>
|
||||
<c:when test="${info.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||
<span class="app_status1">교육확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
임시저장
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${info.aprvlCd eq '30'}">
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>반려사유</p>
|
||||
</th>
|
||||
<td colspan="3">${info.aprvlCn}</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>신청자 정보</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>신청자 정보 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>학교(기관)명</p>
|
||||
</th>
|
||||
<td>${info.scholInsttNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교사명</p>
|
||||
</th>
|
||||
<td>${info.chrgNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>성별</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:code codeId="COM014" code="${info.chrgSexCd}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>이메일</p>
|
||||
</th>
|
||||
<td>${info.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>휴대폰</p>
|
||||
</th>
|
||||
<td>${info.clphone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전화</p>
|
||||
</th>
|
||||
<td>${info.phone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>주소</p>
|
||||
</th>
|
||||
<td>(${info.post}) ${info.addr} ${info.addrDetail}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>담당교과</p>
|
||||
</th>
|
||||
<td>${info.chrgMjr}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>생년월일</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:if test="${not empty info.dBirth}">
|
||||
<c:set var="birthYear" value="${fn:substring(info.dBirth, 0, 4)}"/>
|
||||
<c:set var="birthMonth" value="${fn:substring(info.dBirth, 4, 6)}"/>
|
||||
<c:set var="birthDay" value="${fn:substring(info.dBirth, 6, 8)}"/>
|
||||
</c:if>
|
||||
${birthYear}년 ${birthMonth}월 ${birthDay}일
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>체험교실운영여부</p>
|
||||
</th>
|
||||
<td>
|
||||
운영구분코드 : <kc:code codeId="VE0031" code="${info.exprnClsrnCd}"/> <br/>
|
||||
운영구분년도 : ${info.exprnClsrnYear}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>신청경로</p>
|
||||
</th>
|
||||
<td>
|
||||
<kc:code codeId="VE0030" code="${info.exprnClsrnAplct}"/>
|
||||
<c:if test="${not empty info.exprnClsrnAplctCn}">
|
||||
(기타 내용 : ${info.exprnClsrnAplctCn})
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<!-- <th scope="row"><p>거래선 등록 여부</p></th> -->
|
||||
<th scope="row"><p>거래선 양식</p></th>
|
||||
<td>
|
||||
<!-- 22.03.22 고객사 요청으로 숨김 -->
|
||||
<%--
|
||||
<c:choose>
|
||||
<c:when test="${info.transAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectSimpleDownInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.transAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" onclick="filePopupLayer('TRANS')">거래선 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
--%>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=2'" title="거래선 양식 다운로드">거래선 양식 다운로드</button>
|
||||
<p>
|
||||
<span class="cf_text">※ 거래선 파일은 개인정보 수집 및 보호를 위해 반드시 메일(entt@copyright.or.kr)로 제출하시기 바랍니다.</span>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>서약서 제출</p></th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${info.oathAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oathAtchFileId}" />
|
||||
</c:import>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 파일 변경</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="OATH" onclick="filePopupLayer('OATH')" title="팝업 열림">서약서 업로드</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=1'" title="서약서 양식 다운로드">서약서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>운영계획</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>운영계획 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>대상학년</p>
|
||||
</th>
|
||||
<td>${info.trgtGrade}</td>
|
||||
<th scope="row">
|
||||
<p>대상반</p>
|
||||
</th>
|
||||
<td>${info.trgtClsrm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>대상학생수</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.trgtPrsnl}
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
<!--
|
||||
<th scope="row">
|
||||
<p>보고서 제출일(예정)</p>
|
||||
</th>
|
||||
<td>
|
||||
<fmt:parseDate value="${info.rprtSbmt}" var="rprtSbmt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rprtSbmt}" pattern="yyyy.MM.dd"/>
|
||||
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>필요 교재 수량</p>
|
||||
</th>
|
||||
<td>
|
||||
${info.needTxtbNum}
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>운영시기</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<fmt:parseDate value="${info.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
~
|
||||
<fmt:parseDate value="${info.oprtnEndDt}" var="oprtnEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${oprtnEndDt}" pattern="yyyy.MM.dd"/>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>첨부파일</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.oprtnFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><p>차시별 계획서 제출</p></th>
|
||||
<td colspan="3">
|
||||
<c:if test="${info.planAtchFileId ne null}">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.planAtchFileId}" />
|
||||
</c:import>
|
||||
</c:if>
|
||||
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="PLAN" onclick="filePopupLayer('PLAN')" title="팝업 열림">계획서 업로드</button>
|
||||
<button type="button" class="btnType01" onclick="location.href='${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000015299&fileSn=0'" title="계획서 양식 다운로드">계획서 양식 다운로드</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 220317 고객사 요청으로 숨김 -->
|
||||
<%-- <div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>설문조사</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>결과보고 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>사전 설문조사</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.beforeQustnrRespondId}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop01" onclick="beforeReplyCalculation()">사전 설문완료</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop01">사전 설문조사</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>설문지 보기</p>
|
||||
</th>
|
||||
<td>
|
||||
<button type="button" class="btnType01" onclick="fileDown('${info.beforeQustnrFileId}')">사전 설문지</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>사후 설문조사</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty info.afterQustnrRespondId}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub38_pop01" onclick="afterReplyCalculation()">사후 설문완료</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType01" data-tooltip="sub38_pop01">사후 설문조사</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<th scope="row">
|
||||
<p>설문지 보기</p>
|
||||
</th>
|
||||
<td>
|
||||
<button type="button" class="btnType01" onclick="fileDown('${info.afterQustnrFileId}')">사후 설문지</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div> --%>
|
||||
<c:if test="${info.orgnlRsltAtchFileId ne null}">
|
||||
<div class="tb_tit01">
|
||||
<div class="tb_tit01_left">
|
||||
<p>결과보고</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_type01 tb_write">
|
||||
<table>
|
||||
<caption>결과보고 (th 명)을 보여주는 표</caption>
|
||||
<colgroup>
|
||||
<col style="width: 220px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>결과보고서 원본</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.orgnlRsltAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>결과보고서 평가용</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.cpyRsltAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>증빙사진</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.evdncPhtAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>원격연수 이수증</p>
|
||||
</th>
|
||||
<td class="file_download onlyFile" colspan="3">
|
||||
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${info.rmtTrnAtchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>전체 교육인원</p>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
${info.trgtPrsnlReal}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType04" onclick="fncGoLctrAplctReg();">교육콘텐츠 신청</button>
|
||||
<c:if test="${info.exprnAprvlCd ne '10'}">
|
||||
<button type="button" class="btnType05" onclick="fncGoRslt();">결과보고제출</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -132,6 +132,7 @@ $(document).ready(function(){
|
||||
|
||||
function fn_confirm(){
|
||||
|
||||
console.log('??');
|
||||
|
||||
var form = document.confirmForm;
|
||||
var dBirth = $('#dBirth').val().replace(/\./g, '');
|
||||
@ -154,6 +155,7 @@ $(document).ready(function(){
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
console.log('returnData : ', returnData);
|
||||
if(returnData.result == "success"){
|
||||
// 대상자 테이블 pk 값
|
||||
var sspnIdtmtTrgtOrd = returnData.id;
|
||||
@ -166,6 +168,8 @@ $(document).ready(function(){
|
||||
} else {
|
||||
alert("대상자에 없습니다.");
|
||||
}
|
||||
}else{
|
||||
alert("대상자에 없습니다.");
|
||||
}
|
||||
fn_target_confirm_clean();
|
||||
|
||||
|
||||
@ -54,9 +54,9 @@
|
||||
<h2>기소유예 대시보드</h2>
|
||||
</div>
|
||||
<ul class="edu_process">
|
||||
<li class="edu_apply"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>
|
||||
<li class="edu_register"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_20']}" /></span>건</p></div></li>
|
||||
<li class="edu_close"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${countMap['COUNT_END_CD']}" /></span>건</p></div></li>
|
||||
<li class="edu_apply"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>
|
||||
<li class="edu_register"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li>
|
||||
<li class="edu_close"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li>
|
||||
</ul>
|
||||
|
||||
<div class="tb_tit02">
|
||||
|
||||
@ -10,8 +10,8 @@ body {color: #222;}
|
||||
.logo img {width: 200px;}
|
||||
|
||||
/* header */
|
||||
header{width: 100%; height: 130px; position: fixed; top: 0; left: 0; transition: height .4s ease-in-out, background-color .4s ease-in-out, margin .4s ease-in-out; overflow: hidden; box-sizing: border-box;z-index: 20; background-color: #fff;}
|
||||
header.on{background-color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.1);}
|
||||
header{width: 100%; height: 130px; position: fixed; top: 0; left: 0; transition: height .4s ease-in-out, background-color .4s ease-in-out, margin .4s ease-in-out; overflow: hidden; box-sizing: border-box;z-index: 20; background-color: #fff; border-bottom: 1px solid #e2e4e6;max-height: 350px;}
|
||||
header.on{background-color: #fff; box-shadow: 0 3px 10px rgba(0,0,0,0.1); max-height: 350px;}
|
||||
header::before{position: absolute; content: " "; display: block; top: 130px; left: 0; height: 1px; background-color: #ddd; opacity: 0; transition: opacity .4s ease-in-out;}
|
||||
header::after{position: absolute; content: " "; display: block; width: 100%; height: 1px; background-color: #d5d5d5; top: 130px; left: 0; opacity: 0; transition: opacity .4s ease-in-out;}
|
||||
header.on::after{top: 130px; opacity: 1;}
|
||||
@ -54,20 +54,22 @@ header.scroll{box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
|
||||
.header_inner .depth01 {display: flex; height: 100%;}
|
||||
.header_inner .dep_li_01,.header_inner .dep_li_02,.header_inner .dep_li_03 {justify-content:flex-start;}
|
||||
.header_inner .dep_li_04,.header_inner .dep_li_05,.header_inner .dep_li_06,.header_inner .dep_li_07 {justify-content:space-between;}
|
||||
.header_inner .depth01_li{position: relative; padding: 0; box-sizing: border-box;}
|
||||
.header_inner .depth01_li{position: relative; height:100%; padding: 0; box-sizing: border-box;}
|
||||
.header_inner .dep_li_04 .depth01_li{width: calc((100% - 40px)/4);}
|
||||
.header_inner .dep_li_01 .depth01_li{width: 100%;}
|
||||
.header_inner .dep_li_02 .depth01_li{width: calc((100% - 20px)/2);}
|
||||
.header_inner .dep_li_03 .depth01_li{width: calc((100% - 30px)/3);max-width:270px;}
|
||||
.header_inner .dep_li_05 .depth01_li{width: calc(100%/5);}
|
||||
.header_inner .dep_li_06 .depth01_li{width: calc((100% - 60px)/6);}
|
||||
.header_inner .dep_li_07 .depth01_li{width: auto;}
|
||||
.header_inner .menu_link{font-size: 20px; font-weight: 600; letter-spacing: -0.5px; display: flex; align-items: center; justify-content: center; flex-flow: column; height: 100%; position: relative;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; line-height: 1.25;}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(n+2):nth-child(-n+4){width: 16%;}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(n+5){width: 12%; min-width: 85px;}
|
||||
.header_inner .dep_li_07 .depth01_li:nth-child(1),.header_inner .dep_li_07 .depth01_li:nth-child(2){width:170px;}
|
||||
.header_inner .menu_link{font-size: 18px; font-weight: 600; letter-spacing: -0.5px; display: flex; align-items: center; justify-content: center; flex-flow: column; height: 100%; position: relative;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; line-height: 1.25;}
|
||||
.header_inner .menu_link::before{position: absolute; content: " "; display: block; width: 0; height: 4px; background-color: #E95504; left: 50%; transform: translateX(-50%); transition: width .4s ease-in-out; top: 87px; z-index: 1;}
|
||||
.header_inner .menu_link .menu_link_br {color: #E95504;font-family: 'nanumsquare', 'Noto Sans KR', sans-serif; }
|
||||
.header_inner .on .menu_link{color: #E95504;}
|
||||
.on .nav_wrap .on .menu_link::before{width: 100%;}
|
||||
.header_inner .depth02{position: absolute; text-align: center; padding: 15px 0; width: 100%; left: 50%; transform: translateX(-50%);border-right: 1px solid #d5d5d5;}
|
||||
.header_inner .depth02{position: absolute; text-align: center; padding: 15px 0; width: 100%; left: 50%; transform: translateX(-50%);border-right: 1px solid #d5d5d5; max-height: 350px;}
|
||||
.header_inner .depth01_li:first-child .depth02{border-left: 1px solid #d5d5d5;}
|
||||
.header_inner .depth01_li:hover .depth02::after{position:absolute;content:"";width:calc(100% + 4px);height:100%;background-color:#fff8f4;left:-2px;top:0;}
|
||||
.header_inner .depth01_li:hover .depth02 li{position:relative;z-index:1;}
|
||||
|
||||
@ -159,16 +159,23 @@ function header() {
|
||||
function open_gnb(item) {
|
||||
var depth01 = item;
|
||||
var depth01_li = depth01.closest(".depth01_li");
|
||||
var depth02 = depth01_li.find(".depth02");
|
||||
var height_array = gnb.find('.depth02').map(function(){
|
||||
return $(this).outerHeight();
|
||||
});
|
||||
if($("body").hasClass("renewal") == true){
|
||||
var h=Math.max.apply(Math, height_array)+130;
|
||||
|
||||
var h = Math.max.apply(Math, height_array)+150;
|
||||
//console.log(height_array,Math.max.apply(Math, height_array)+150);
|
||||
if(h+1>=Math.max.apply(Math, height_array)){
|
||||
h;
|
||||
header.addClass("on").css('height',h + 'px');
|
||||
$("header .depth02").css('height',h+'px');
|
||||
//console.log("1");
|
||||
}else{
|
||||
var h=Math.max.apply(Math, height_array)+180;
|
||||
header.addClass("on").css('height',h + 'px');
|
||||
$("header .depth02").css('height',h+'px');
|
||||
//console.log("2");
|
||||
}
|
||||
|
||||
header.addClass("on").css('height',h + 'px');
|
||||
depth01_li.addClass("on");
|
||||
}
|
||||
|
||||
@ -197,6 +204,7 @@ function header() {
|
||||
header.on("mouseleave", function () {
|
||||
header.removeClass("on").attr('style','');
|
||||
$(".depth01_li").removeClass("on");
|
||||
$("header .depth02").animate({height:'auto'},1000);
|
||||
});
|
||||
|
||||
$("#menu .depth01_li:last-child .depth02 li:last-child").on("focusout", function () {
|
||||
@ -283,7 +291,6 @@ function gnbOpen() {
|
||||
var depth = target.find('.gnb .depth01');
|
||||
var h = target.find('.gnb').outerHeight() - 60;
|
||||
h += 178;
|
||||
|
||||
function gnbActive() {
|
||||
target.addClass('active').css('height', h + 'px');
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user