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 e527905c..36d8c4f2 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/AdrInnorixFileVO.java @@ -68,6 +68,23 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { public String instrDetailOrd = "";//강사 고유PK + public String lctrSbjct; //강의주제 + public String lctrPlace; //강의장소 + public String lctrTrgt; //교육대상 + public String nos; //인원 + public String instrNm; //강사명(소속) + + public String lctrDay; + public String lctrStrtH; + public String lctrStrtM; + public String lctrEndH; + public String lctrEndM; + + + + + + //강의활동확인서 컬럼 추가 private String sex = ""; //성별 @@ -236,6 +253,86 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable { public void setDocuNmbr(String docuNmbr) { this.docuNmbr = docuNmbr; } + + public String getLctrSbjct() { + return lctrSbjct; + } + + public void setLctrSbjct(String lctrSbjct) { + this.lctrSbjct = lctrSbjct; + } + + public String getLctrPlace() { + return lctrPlace; + } + + public void setLctrPlace(String lctrPlace) { + this.lctrPlace = lctrPlace; + } + + public String getLctrTrgt() { + return lctrTrgt; + } + + public void setLctrTrgt(String lctrTrgt) { + this.lctrTrgt = lctrTrgt; + } + + public String getNos() { + return nos; + } + + public void setNos(String nos) { + this.nos = nos; + } + + public String getInstrNm() { + return instrNm; + } + + public void setInstrNm(String instrNm) { + this.instrNm = instrNm; + } + + public String getLctrDay() { + return lctrDay; + } + + public void setLctrDay(String lctrDay) { + this.lctrDay = lctrDay; + } + + public String getLctrStrtH() { + return lctrStrtH; + } + + public void setLctrStrtH(String lctrStrtH) { + this.lctrStrtH = lctrStrtH; + } + + public String getLctrStrtM() { + return lctrStrtM; + } + + public void setLctrStrtM(String lctrStrtM) { + this.lctrStrtM = lctrStrtM; + } + + public String getLctrEndH() { + return lctrEndH; + } + + public void setLctrEndH(String lctrEndH) { + this.lctrEndH = lctrEndH; + } + + public String getLctrEndM() { + return lctrEndM; + } + + public void setLctrEndM(String lctrEndM) { + this.lctrEndM = lctrEndM; + } 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 09955147..f8804d1e 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/service/InnorixFileService.java @@ -41,5 +41,7 @@ public interface InnorixFileService { RestResponse insertInnorixSspnCnClAjax(AdrInnorixFileVO adrInnorixFileVO); RestResponse insertInnorixInstrActvtAjax(AdrInnorixFileVO adrInnorixFileVO); + + RestResponse insertInnorixReqRsltAjax(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 736a4860..ce04f66f 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 @@ -88,6 +88,10 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I @Resource(name="docReqOrdGnrService") private EgovIdGnrService docReqOrdGnrService; + //성인 결과보고 테이블 + @Resource(name="veaRsltRprtOrdGnrService") + private EgovIdGnrService veaRsltRprtOrdGnrService; + //서류요청 순번 @Resource(name="instrActvtHstryOrdGnrService") private EgovIdGnrService instrActvtHstryOrdGnrService; @@ -562,4 +566,43 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now()); } + + @Override + public RestResponse insertInnorixReqRsltAjax(AdrInnorixFileVO adrInnorixFileVO) { + + List result = null; + try { + // 파일 저장 후 저장할 file 정보를 받아옴 + result = this.insertFileData(adrInnorixFileVO); + + // 파일 정보 insert + String atchFileId = fileManageDAO.insertFileInfs(result); + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setVeaRsltRprtOrd(veaRsltRprtOrdGnrService.getNextStringId()); + vEEduAplctVO.setEduAplctOrd(adrInnorixFileVO.getEduAplctOrd()); + vEEduAplctVO.setLctrSbjct(adrInnorixFileVO.getLctrSbjct()); + + vEEduAplctVO.setLctrDay(adrInnorixFileVO.getLctrDay()); + vEEduAplctVO.setLctrStrtH(adrInnorixFileVO.getLctrStrtH()); + vEEduAplctVO.setLctrStrtM(adrInnorixFileVO.getLctrStrtM()); + vEEduAplctVO.setLctrEndH(adrInnorixFileVO.getLctrEndH()); + vEEduAplctVO.setLctrEndM(adrInnorixFileVO.getLctrEndM()); + + vEEduAplctVO.setLctrPlace(adrInnorixFileVO.getLctrPlace()); + vEEduAplctVO.setLctrTrgt(adrInnorixFileVO.getLctrTrgt()); + vEEduAplctVO.setNos(adrInnorixFileVO.getNos()); + vEEduAplctVO.setInstrNm(adrInnorixFileVO.getInstrNm()); + vEEduAplctVO.setAtchFileId(atchFileId); + vEEduAplctVO.setFrstRegisterId(adrInnorixFileVO.getUniqId()); + + vEEduAplctService.insertRslt(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 c2a31051..f3a345b7 100644 --- a/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java +++ b/src/main/java/kcc/kccadr/cmm/innorix/web/InnorixFileController.java @@ -185,6 +185,30 @@ public class InnorixFileController { return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO)); } + /** + * @methodName : insertInnorixReqFileAjax + * @author : 이호영 + * @date : 2023.12.21 + * @description : 성인 찾교 > 완료상세 > 결과보고 업로드 버튼 팝업에 등록 + * @param adrInnorixFileVO + * @return + * @throws Exception + */ + @RequestMapping(value = {"/web/common/insertInnorixReqRsltAjax.do"}, method = RequestMethod.POST) + public ResponseEntity insertInnorixReqRsltAjax(@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.insertInnorixReqRsltAjax(adrInnorixFileVO)); + } + /** * @methodName : insertInnorixSspnCnClAjax * @author : 이호영 diff --git a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java index 4074c18c..64e38ff8 100644 --- a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java +++ b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java @@ -224,6 +224,13 @@ public class VEAStngVO extends ComDefaultVO implements Serializable { */ private boolean allDay; + + + private String atchFileId; + + + + public String getYr() { return yr; @@ -1031,5 +1038,11 @@ public class VEAStngVO extends ComDefaultVO implements Serializable { public void setDdlnDt(String ddlnDt) { this.ddlnDt = ddlnDt; } + public String getAtchFileId() { + return atchFileId; + } + public void setAtchFileId(String atchFileId) { + this.atchFileId = atchFileId; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctService.java index 4e7a4f59..36a8ba8e 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctService.java @@ -59,4 +59,6 @@ public interface VEEduAplctService { //요청서류 제출 void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception; + + void insertRslt(VEEduAplctVO vEEduAplctVO); } 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 8febb5b7..14b4cac2 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 @@ -428,6 +428,20 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String cmmNotifyOrd; // 알림 PK + private String veaRsltRprtOrd; + private String lctrSbjct; + private String lctrPnttm; + private String lctrPlace; + private String lctrTrgt; + private String nos; + + public String lctrDay; + public String lctrStrtH; + public String lctrStrtM; + public String lctrEndH; + public String lctrEndM; + + public String getSpecialWorkAllow() { return specialWorkAllow; } @@ -1857,6 +1871,72 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setCmmNotifyOrd(String cmmNotifyOrd) { this.cmmNotifyOrd = cmmNotifyOrd; } + public String getLctrSbjct() { + return lctrSbjct; + } + public void setLctrSbjct(String lctrSbjct) { + this.lctrSbjct = lctrSbjct; + } + public String getLctrPnttm() { + return lctrPnttm; + } + public void setLctrPnttm(String lctrPnttm) { + this.lctrPnttm = lctrPnttm; + } + public String getLctrPlace() { + return lctrPlace; + } + public void setLctrPlace(String lctrPlace) { + this.lctrPlace = lctrPlace; + } + public String getLctrTrgt() { + return lctrTrgt; + } + public void setLctrTrgt(String lctrTrgt) { + this.lctrTrgt = lctrTrgt; + } + public String getNos() { + return nos; + } + public void setNos(String nos) { + this.nos = nos; + } + public String getVeaRsltRprtOrd() { + return veaRsltRprtOrd; + } + public void setVeaRsltRprtOrd(String veaRsltRprtOrd) { + this.veaRsltRprtOrd = veaRsltRprtOrd; + } + public String getLctrDay() { + return lctrDay; + } + public void setLctrDay(String lctrDay) { + this.lctrDay = lctrDay; + } + public String getLctrStrtH() { + return lctrStrtH; + } + public void setLctrStrtH(String lctrStrtH) { + this.lctrStrtH = lctrStrtH; + } + public String getLctrStrtM() { + return lctrStrtM; + } + public void setLctrStrtM(String lctrStrtM) { + this.lctrStrtM = lctrStrtM; + } + public String getLctrEndH() { + return lctrEndH; + } + public void setLctrEndH(String lctrEndH) { + this.lctrEndH = lctrEndH; + } + public String getLctrEndM() { + return lctrEndM; + } + public void setLctrEndM(String lctrEndM) { + this.lctrEndM = lctrEndM; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java index 08ead63e..044e3bc1 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java @@ -169,5 +169,9 @@ public class VEEduAplctDAO extends EgovAbstractDAO { return (List) list("VEEduAplctDAO.selectVeEduQna", vEPrcsDetailVO); } + public void insertRslt(VEEduAplctVO paramVO) { + insert("VEEduAplctDAO.insertRslt", paramVO); + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java index b1ecea11..50eb3816 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java @@ -192,4 +192,9 @@ public class VEEduAplctServiceImpl implements VEEduAplctService { vo.setClphone(egovCryptoUtil.decrypt(vo.getClphone())); vo.setEmail(egovCryptoUtil.decrypt(vo.getEmail())); } + + @Override + public void insertRslt(VEEduAplctVO paramVO) { + vEEduAplctDAO.insertRslt(paramVO); + } } diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java index 61f0643c..34881f45 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java @@ -2728,6 +2728,7 @@ public class OprtnInstrTngrPrflContoller { public ModelAndView instrHstryMngPopupAjax( ModelMap model , HttpServletRequest request + , final MultipartHttpServletRequest multiRequest ) throws Exception { ModelAndView modelAndView = new ModelAndView(); @@ -2749,12 +2750,37 @@ public class OprtnInstrTngrPrflContoller { //System.out.println(request.getParameter("ddlnStateCd")); try { + + + + //step2.파일 처리==================================== + //파일 정상 처리 여부와 첨부 파일 정보 + //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); + //파일 제한 수량 가져오기, 없으면 기본값 사용 + int i_file_limit = checkFileUtil.getLimitCount(request); // file count + int i_limit_size = checkFileUtil.getLimitSize(request); // file MB + String s_file_exts = checkFileUtil.getS_exts(); // file exts + + String atchFileId = checkFileUtil.fileValCheckNdbInsert( + multiRequest, modelAndView + , "InstrH_" //file_name_prefix + , s_file_exts + , i_limit_size + , i_file_limit + ); //EXT, MB size and ea + + if ("ERROR".equals(atchFileId)) return modelAndView; + + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 String s_ord = instrHstryOrdGnrService.getNextStringId(); VEAStngVO vEAStngVO = new VEAStngVO(); + System.out.println("atchFileId : "+ atchFileId); vEAStngVO.setInstrHstryOrd(s_ord); vEAStngVO.setUserId(request.getParameter("userId")); @@ -2763,6 +2789,7 @@ public class OprtnInstrTngrPrflContoller { vEAStngVO.setStrtDt(request.getParameter("rgstrStrtPnttm_dt")); vEAStngVO.setDdlnDt(request.getParameter("rgstrDdlnPnttm_dt")); vEAStngVO.setFrstRegisterId(loginVO.getUniqId()); + vEAStngVO.setAtchFileId(atchFileId); vEAStngService.insert_VEAIHM(vEAStngVO); diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index 18cd8b88..16e3b574 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -3059,5 +3059,21 @@ + + + + + + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml index 591e3f9c..273e314f 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml @@ -475,15 +475,29 @@ @@ -1446,6 +1460,44 @@ ) + + /* VEEduAplctDAO.insertRslt */ + INSERT INTO VEA_RSLT_RPRT + ( + VEA_RSLT_RPRT_ORD + , EDU_APLCT_ORD + , LCTR_SBJCT + , LCTR_DAY + , LCTR_STRT_H + , LCTR_STRT_M + , LCTR_END_H + , LCTR_END_M + , LCTR_PLACE + , LCTR_TRGT + , NOS + , INSTR_NM + , ATCH_FILE_ID + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + )VALUES( + #veaRsltRprtOrd# + , #eduAplctOrd# + , #lctrSbjct# + , #lctrDay# + , #lctrStrtH# + , #lctrStrtM# + , #lctrEndH# + , #lctrEndM# + , #lctrPlace# + , #lctrTrgt# + , #nos# + , #instrNm# + , #atchFileId# + , SYSDATE + , #frstRegisterId# + ) + + + +

첨부파일 가능 용량은 20MB입니다.

+
+ + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+

첨부하실 파일을 마우스로 끌어서 넣어주세요.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+ + + + "> + + "> + + +
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp index 9e48eade..0603a6ef 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp @@ -31,6 +31,7 @@ + @@ -44,6 +45,13 @@ input:read-only { background-color: #f9f9f9 !important; } + #fileControl{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(/offedu/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; + } + tbody#rsltId input { + width: 100%; + } @@ -1161,6 +1298,15 @@

결과보고

+ + + + + + + + +<%-- @@ -1171,7 +1317,7 @@ - + --%> @@ -1345,3 +1491,289 @@ + + + + +
+ +
+ + + +
+ +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp index 0f7b8288..6e72f116 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.jsp @@ -982,6 +982,7 @@ + @@ -990,6 +991,7 @@ 교육기간 비고 등록자 + 첨부파일 등록일 @@ -1000,6 +1002,14 @@ ~ + + + + + + + +