diff --git a/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java b/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java index 19365c24..98aae1fa 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java @@ -38,6 +38,15 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { public String successMsg = ""; public String eduAplctOrd = ""; + // 컨트롤 엘리먼트 ID - 멀티 업로드 시 jsp에서 사용하는 el 값 + public String controlId = ""; + + // 승인코드 - 저작권 체험교실 결과보고서 임시저장 구분용으로 추가 + public String aprvlCd = ""; + + // 파일 ID + public String atchFileId = ""; + // private String frstRegistPnttm; //등록일시 // private String frstRegisterId; //등록자 @@ -89,6 +98,30 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { this.eduAplctOrd = eduAplctOrd; } + public String getControlId() { + return controlId; + } + + public void setControlId(String controlId) { + this.controlId = controlId; + } + + public String getAprvlCd() { + return aprvlCd; + } + + public void setAprvlCd(String aprvlCd) { + this.aprvlCd = aprvlCd; + } + + public String getAtchFileId() { + return atchFileId; + } + + public void setAtchFileId(String atchFileId) { + this.atchFileId = atchFileId; + } + diff --git a/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java b/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java index 39211c01..777a765c 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java @@ -24,5 +24,11 @@ import kcc.kccadr.cmm.RestResponse; public interface InnorixFileService { RestResponse insertInnorixFile(AdrInnorixFileVO adrInnorixFileVO); - + + RestResponse insertRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO); + + RestResponse deleteRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO); + + RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO); + } diff --git a/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java b/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java index 9487ed51..32402bab 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/impl/InnorixFileServiceImpl.java @@ -10,15 +10,11 @@ import javax.annotation.Resource; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import com.dreamsecurity.magicline.util.Log; - import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; @@ -26,8 +22,6 @@ import egovframework.rte.fdl.property.EgovPropertyService; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; import kcc.com.cmm.service.impl.FileManageDAO; -import kcc.kccadr.accdnt.ans.service.AnsVO; -import kcc.kccadr.accdnt.ans.service.impl.AnsDAO; import kcc.kccadr.cmm.RestResponse; import kcc.kccadr.cmm.innorix.service.AdrInnorixFileVO; import kcc.kccadr.cmm.innorix.service.InnorixFileService; @@ -35,6 +29,7 @@ import kcc.kccadr.cmm.innorix.service.InnorixFileVO; import kcc.let.utl.fcc.service.EgovStringUtil; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; /** * @Class Name : EgovCmmUseServiceImpl.java @@ -74,6 +69,9 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I @Resource(name = "vEEduAplctService") private VEEduAplctService vEEduAplctService; + //교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; /** * @methodName : fileDataUpload * @author : 이호영 @@ -204,4 +202,166 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); } + + @Override + public RestResponse insertRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO) { + + List result = null; + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + try { + // 파일 저장 후 저장할 file 정보를 받아옴 + + for(InnorixFileVO innorixFileVO : adrInnorixFileVO.getInnorixFileListVO()) { + + result = this.insertRprtFileData(innorixFileVO); + + // 파일 정보 insert + String atchFileId = fileManageDAO.insertFileInfs(result); + + if("orgn".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setOrgnlRsltAtchFileId(atchFileId); + }else if("cpy".equals(innorixFileVO.getControlId())){ + vEEduAplctVO.setCpyRsltAtchFileId(atchFileId); + }else if("evdnc".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setEvdncPhtAtchFileId(atchFileId); + }else if("rmttrn".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setRmtTrnAtchFileId(atchFileId); + } + + } + + vEEduAplctVO.setAprvlCd(adrInnorixFileVO.getAprvlCd()); + vEEduAplctVO.setFrstRegisterId(adrInnorixFileVO.getUniqId()); + vEEduAplctVO.setLastUpdusrId(adrInnorixFileVO.getUniqId()); + vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd()); + + //저장 + vEEduMIXService.insertExprnClsrmEndInfo(vEEduAplctVO); + + } catch (Exception e) { + e.printStackTrace(); + return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now()); + } + + return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); + } + + public List insertRprtFileData(InnorixFileVO innorixVO) throws Exception { + + + + List result = this.fileRprtChange(innorixVO); + + + return result; + } + + private List fileRprtChange(InnorixFileVO innorixVO) throws FdlException { + + + + List result = new ArrayList(); + String storePathString = propertyService.getString("Globals.fileStorePath"); + + + String atchFileId = idgenService.getNextStringId(); + int fileSn = 0; + FileVO fileVO = new FileVO(); + // new 파일명 + String oriFullPath = innorixVO.getServerFilePath(); + String fileType = ""; + + String newFileNm = innorixVO.getControlId() + "_" + EgovStringUtil.getTimeStamp() + "0"; + String newFullPath = storePathString + File.separator + newFileNm; + + try { + File orifile = FileUtils.getFile(oriFullPath); + File newfile = FileUtils.getFile(newFullPath); + FileUtils.moveFile(orifile, newfile); + + fileVO.setAtchFileId(atchFileId); + fileVO.setFileSn(Integer.toString(fileSn)); + fileVO.setFileStreCours(storePathString); + fileVO.setStreFileNm(newFileNm); + fileVO.setOrignlFileNm(innorixVO.getServerFileName()); + fileVO.setFileExtsn(FilenameUtils.getExtension(oriFullPath)); + fileVO.setFileMg(Integer.toString(innorixVO.getFileSize())); + result.add(fileVO); + + fileSn++; + } catch (IOException e) { + log.info("파일명 수정 실패 :: [{}] ==> [{}]", oriFullPath, newFullPath ); + e.printStackTrace(); + } + + log.info(" // file data 반복문 끝 "); + return result; + } + + @Override + public RestResponse deleteRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO) { + + + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(adrInnorixFileVO.getAtchFileId()); + fileVO.setFileSn("0"); //저작권 체험교실 결과보고서는 항목당 첨부파일 최대 1개 + try { + + fileMngService.deleteFmsFileInf(fileVO); //실제 파일 삭제 처리 + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd()); + vEEduAplctVO.setFileType(adrInnorixFileVO.getFileType()); + vEEduAplctVO.setLastUpdusrId(adrInnorixFileVO.getUniqId()); + //저장 + vEEduMIXService.updateRsltRprtFileIdNull(vEEduAplctVO); + + } catch (Exception e) { + e.printStackTrace(); + return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now()); + } + + return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); + } + + @Override + public RestResponse updateRprtInnorixFile(AdrInnorixFileVO adrInnorixFileVO) { + + List result = null; + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + try { + // 파일 저장 후 저장할 file 정보를 받아옴 + + for(InnorixFileVO innorixFileVO : adrInnorixFileVO.getInnorixFileListVO()) { + + result = this.insertRprtFileData(innorixFileVO); + + // 파일 정보 insert + String atchFileId = fileManageDAO.insertFileInfs(result); + + if("orgn".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setOrgnlRsltAtchFileId(atchFileId); + }else if("cpy".equals(innorixFileVO.getControlId())){ + vEEduAplctVO.setCpyRsltAtchFileId(atchFileId); + }else if("evdnc".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setEvdncPhtAtchFileId(atchFileId); + }else if("rmttrn".equals(innorixFileVO.getControlId())) { + vEEduAplctVO.setRmtTrnAtchFileId(atchFileId); + } + + } + + vEEduAplctVO.setAprvlCd(adrInnorixFileVO.getAprvlCd()); + vEEduAplctVO.setLastUpdusrId(adrInnorixFileVO.getUniqId()); + vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd()); + //저장 + vEEduMIXService.updateRsltRprtFileId(vEEduAplctVO); + + } catch (Exception e) { + e.printStackTrace(); + return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now()); + } + + return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); + } } diff --git a/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java b/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java index a1943df2..5c6ee42f 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java @@ -69,8 +69,71 @@ public class InnorixFileController { return ResponseEntity.ok(innorixService.insertInnorixFile(adrInnorixFileVO)); } - + /** + * @methodName : insertRprtInnorixFile + * @description : 저작권체험교실 결과보고 파일 insert 전용 + * @param adrInnorixFileVO + * @return + * @throws Exception + */ + @RequestMapping(value = {"/web/common/insertRprtInnorixFileAjax.do"}, method = RequestMethod.POST) + public ResponseEntity insertRprtInnorixFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception { + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + if(userId.equals("")) { + return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now())); + } + adrInnorixFileVO.setUniqId(userId); + + return ResponseEntity.ok(innorixService.insertRprtInnorixFile(adrInnorixFileVO)); + } + /** + * @methodName : deleteRprtInnorixFile + * @description : 저작권체험교실 결과보고 파일 delete 전용 + * @param adrInnorixFileVO + * @return + * @throws Exception + */ + @RequestMapping(value = {"/web/common/deleteRprtInnorixFileAjax.do"}, method = RequestMethod.POST) + public ResponseEntity deleteRprtInnorixFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception { + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + if(userId.equals("")) { + return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now())); + } + adrInnorixFileVO.setUniqId(userId); + + return ResponseEntity.ok(innorixService.deleteRprtInnorixFile(adrInnorixFileVO)); + } + /** + * @methodName : updateRprtInnorixFile + * @description : 저작권체험교실 결과보고 update 전용 + * @param adrInnorixFileVO + * @return + * @throws Exception + * 임시저장 후 다시 임시저장 or 제출 시 기존에 데이터가 있었기 때문에 insert가 아닌 update 처리 + */ + @RequestMapping(value = {"/web/common/updateRprtInnorixFileAjax.do"}, method = RequestMethod.POST) + public ResponseEntity updateRprtInnorixFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception { + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + if(userId.equals("")) { + return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now())); + } + adrInnorixFileVO.setUniqId(userId); + + return ResponseEntity.ok(innorixService.updateRprtInnorixFile(adrInnorixFileVO)); + } } \ No newline at end of file diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java index fdcaf983..13154ffe 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java @@ -408,8 +408,32 @@ public class ExprnClsrmEndController { //데이터 복호화 - VO 단위로 만들어서 사용 vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); + 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)); + } + model.addAttribute("info", vEEduAplctVO); - return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt"; +// return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt"; + //대량 업로드 솔루션 테스트 + return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest"; } /** diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java index d3655188..48b09a0e 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java @@ -2,7 +2,8 @@ package kcc.ve.instr.tngrVisitEdu.eduInfo.service; import java.io.Serializable; -import kcc.com.cmm.ComDefaultVO; +import kcc.com.cmm.ComDefaultVO; +import kcc.com.cmm.service.FileVO; public class VEEduAplctVO extends ComDefaultVO implements Serializable { @@ -161,6 +162,11 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String rprtAtchFileId; //교육결과 파일ID + //ve_edu_rslt_rprt 임시 저장 정보 조회 용 + private FileVO orgnlRsltAtchFileDetail;//원본결과첨부파일 상세 + private FileVO cpyRsltAtchFileDetail; //사본결과첨부파일 상세 + private FileVO evdncPhtAtchFileDetail; //증비사진첨부파일 상세 + private FileVO rmtTrnAtchFileDetail; //원격연수이수증첨부파일 상세 //ve_edu_aplct_unq_isues private String unqIsuesOrd; //특이사항순번 @@ -1425,5 +1431,30 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setEndEduPrsnl(String endEduPrsnl) { this.endEduPrsnl = endEduPrsnl; } + public FileVO getOrgnlRsltAtchFileDetail() { + return orgnlRsltAtchFileDetail; + } + public void setOrgnlRsltAtchFileDetail(FileVO orgnlRsltAtchFileDetail) { + this.orgnlRsltAtchFileDetail = orgnlRsltAtchFileDetail; + } + public FileVO getCpyRsltAtchFileDetail() { + return cpyRsltAtchFileDetail; + } + public void setCpyRsltAtchFileDetail(FileVO cpyRsltAtchFileDetail) { + this.cpyRsltAtchFileDetail = cpyRsltAtchFileDetail; + } + public FileVO getEvdncPhtAtchFileDetail() { + return evdncPhtAtchFileDetail; + } + public void setEvdncPhtAtchFileDetail(FileVO evdncPhtAtchFileDetail) { + this.evdncPhtAtchFileDetail = evdncPhtAtchFileDetail; + } + public FileVO getRmtTrnAtchFileDetail() { + return rmtTrnAtchFileDetail; + } + public void setRmtTrnAtchFileDetail(FileVO rmtTrnAtchFileDetail) { + this.rmtTrnAtchFileDetail = rmtTrnAtchFileDetail; + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java index 50cd0c5f..3ea98814 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java @@ -46,4 +46,8 @@ public interface VEEduMIXService { //교육신청 신청자 조회 List eduAplctMngUserList(UserManageVO userManageVO) throws Exception; + + void updateRsltRprtFileIdNull(VEEduAplctVO vEEduAplctVO) throws Exception; + + void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java index 76746bca..6eb4d909 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java @@ -129,4 +129,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO { List list = (List) list("VEEduMIXDAO.eduAplctMngUserList", paramVO); return list; } + + public void updateRsltRprtFileIdNull(VEEduAplctVO vEEduAplctVO) throws Exception { + insert("VEEduMIXDAO.updateRsltRprtFileIdNull", vEEduAplctVO); + } + + public void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception { + insert("VEEduMIXDAO.updateRsltRprtFileId", vEEduAplctVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java index 17bb4bc3..330c026d 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java @@ -99,7 +99,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public void insertExprnClsrmEndInfo(VEEduAplctVO vEEduAplctVO) throws Exception { String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번 vEEduAplctVO.setEduChasiOrd(eduChasiOrd); - vEEduAplctVO.setAprvlCd("10"); + //230811 이지우 - 저작권 체험교실 결과보고에 임시저장(230) 추가 + if(!"230".equals(vEEduAplctVO.getAprvlCd())){ + vEEduAplctVO.setAprvlCd("10"); + } vEEduMIXDAO.insertExprnClsrmEndInfo(vEEduAplctVO); } @@ -111,5 +114,15 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { //paging List public List eduAplctMngUserList(UserManageVO paramVO) throws Exception{ return vEEduMIXDAO.eduAplctMngUserList(paramVO); - } + } + + @Override + public void updateRsltRprtFileIdNull(VEEduAplctVO vEEduAplctVO) throws Exception { + vEEduMIXDAO.updateRsltRprtFileIdNull(vEEduAplctVO); + } + + @Override + public void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception { + vEEduMIXDAO.updateRsltRprtFileId(vEEduAplctVO); + } } diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 463f9206..8e6cbc46 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -85,7 +85,8 @@ Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindS Globals.MainPage = /cmm/main/mainPage.do #\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 #Globals.ckeditorUploadDir=/home/file/ckeditor/ -Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +#Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +Globals.ckeditorUploadDir=/app/doc/offedu/ckeditor/ #TEST SERVER Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ Globals.Solr.url=http://localhost:8983/solr diff --git a/src/main/resources/egovframework/egovProps/globals_svr.properties b/src/main/resources/egovframework/egovProps/globals_svr.properties index 977b4723..cb0f159c 100644 --- a/src/main/resources/egovframework/egovProps/globals_svr.properties +++ b/src/main/resources/egovframework/egovProps/globals_svr.properties @@ -91,7 +91,8 @@ Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep Globals.MainPage = /cmm/main/mainPage.do #\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 #Globals.ckeditorUploadDir=/home/file/ckeditor/ -Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +#Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +Globals.ckeditorUploadDir=/app/doc/offedu/ckeditor/ #TEST SERVER Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ Globals.Solr.url=http://localhost:8983/solr diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Cubrid.xml index d85bf83f..8b69e528 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Cubrid.xml @@ -3302,4 +3302,38 @@ VALUES + + + UPDATE + ve_edu_rslt_rprt + SET + $fileType$ = null, + last_updusr_id = #lastUpdusrId#, + last_updt_pnttm = now() + WHERE + edu_aplct_ord = #eduAplctOrd# + + + + UPDATE + ve_edu_rslt_rprt + SET + aprvl_cd = #aprvlCd#, + + orgnl_rslt_atch_file_id = #orgnlRsltAtchFileId#, + + + cpy_rslt_atch_file_id = #cpyRsltAtchFileId#, + + + evdnc_pht_atch_file_id = #evdncPhtAtchFileId#, + + + rmt_trn_atch_file_id = #rmtTrnAtchFileId#, + + last_updusr_id = #lastUpdusrId#, + last_updt_pnttm = now() + WHERE + edu_aplct_ord = #eduAplctOrd# + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp new file mode 100644 index 00000000..96131cd1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp @@ -0,0 +1,540 @@ +<%@ 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" %> + +<% pageContext.setAttribute("replaceChar", "\n"); %> + + + + + + + + + + + + + + " /> + + + +
+
+

결과보고

+
+ + +
+
+
+
+

결과보고 정보

+ ※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다. +
    용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다.
+
+
+
+
+

필수입력 항목*

원본 결과보고서
+
+
+ + + + +
+

+
+
+

최대 1

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+ +
+

필수입력 항목*

평가용 결과보고서
+
+
+ + + + +
+

+
+
+

최대 1

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+

필수입력 항목*

증빙사진
+
+
+ + + + +
+

+
+
+

최대 1

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+
원격연수 이수증
+
+
+ + + + +
+

+
+
+

최대 1

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+ +
+
+
+ + +
+
+ + +
+
+
+ diff --git a/src/main/webapp/innorix/exam/combine.html b/src/main/webapp/innorix/exam/combine.html index b62ff6bb..07ac7e0f 100644 --- a/src/main/webapp/innorix/exam/combine.html +++ b/src/main/webapp/innorix/exam/combine.html @@ -1 +1 @@ - ← 예제 목록


| \ No newline at end of file + ← 예제 목록


| \ No newline at end of file diff --git a/src/main/webapp/innorix/exam/download.jsp b/src/main/webapp/innorix/exam/download.jsp index cf11dcab..1cb52444 100644 --- a/src/main/webapp/innorix/exam/download.jsp +++ b/src/main/webapp/innorix/exam/download.jsp @@ -15,7 +15,8 @@ String filePath = saveDir.substring(0, saveDir.lastIndexOf("/") + 1); */ // filePath = request.getParameter("innoDirPath"); -filePath = "D:/usr/local/tomcat/file/sht/"; +// filePath = "D:/usr/local/tomcat/file/sht/"; +filePath = "/app/doc/offedu/sht/"; // downloadType : "stream" 설정시 자동 전달되는 GET Param 값 String szStartOffset = request.getParameter("_StartOffset"); String szEndOffset = request.getParameter("_EndOffset"); diff --git a/src/main/webapp/innorix/exam/uploadCustomTable.html b/src/main/webapp/innorix/exam/uploadCustomTable.html index 36677d79..bdb83ac6 100644 --- a/src/main/webapp/innorix/exam/uploadCustomTable.html +++ b/src/main/webapp/innorix/exam/uploadCustomTable.html @@ -28,7 +28,7 @@ #fileTable tr > .fileInfo { display:none; } - + +