diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java index 0285ccbb..c8dc4e53 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java @@ -87,6 +87,10 @@ public class ScholInfoVO extends ComDefaultVO implements Serializable { private String selectPagingListQuery; private String orderByQuery; + private String isltnYn; //도서벽지학교여부 + private String isltn2Yn; //벽지지역여부 + private String isltn3Yn; //접적지역여부 + private String ppltnReducAreaYn; //인구감소지역여부 public String getScholId() { return scholId; } @@ -414,4 +418,38 @@ public class ScholInfoVO extends ComDefaultVO implements Serializable { public void setCallBackFnc(String callBackFnc) { this.callBackFnc = callBackFnc; } + + public String getIsltnYn() { + return isltnYn; + } + + public void setIsltnYn(String isltnYn) { + this.isltnYn = isltnYn; + } + + public String getIsltn2Yn() { + return isltn2Yn; + } + + public void setIsltn2Yn(String isltn2Yn) { + this.isltn2Yn = isltn2Yn; + } + + public String getIsltn3Yn() { + return isltn3Yn; + } + + public void setIsltn3Yn(String isltn3Yn) { + this.isltn3Yn = isltn3Yn; + } + + public String getPpltnReducAreaYn() { + return ppltnReducAreaYn; + } + + public void setPpltnReducAreaYn(String ppltnReducAreaYn) { + this.ppltnReducAreaYn = ppltnReducAreaYn; + } + + } diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java index a333cfef..2ee29679 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java @@ -8,12 +8,15 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -474,6 +477,25 @@ public class ExprnClsrmAplctController { } + //체험교실 운영신청 초기화 시 첨부파일 삭제 + @RequestMapping(value = "/fmsfileMultipleDeleteAjax.do", method = RequestMethod.POST) + public ModelAndView fmsfileMultipleDeleteAjax(@RequestBody FileVO fileVo) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + try { + if(CollectionUtils.isNotEmpty(fileVo.getFileList())){ + for(FileVO file : fileVo.getFileList()){ + fileService.deleteFmsFileInf(file); + } + } + modelAndView.addObject("result", "success"); + }catch (Exception e) { + modelAndView.addObject("result", "fail"); + System.out.println("Exception Occured!!!"); + return modelAndView; + } + return modelAndView; + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // 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 195ea58c..989e6585 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 @@ -348,6 +348,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String qestnrId; // 설문 private String aplctStateCd; // 교육이수 상태 + //관리자 화면 등록 여부 + private String adminInsert; + //운영계획 필요 교재 수량 + private String needTxtbNum; @@ -1507,6 +1511,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setAplctStateCd(String aplctStateCd) { this.aplctStateCd = aplctStateCd; } + public String getAdminInsert() { + return adminInsert; + } + public void setAdminInsert(String adminInsert) { + this.adminInsert = adminInsert; + } + public String getNeedTxtbNum() { + return needTxtbNum; + } + public void setNeedTxtbNum(String needTxtbNum) { + this.needTxtbNum = needTxtbNum; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduOprtnVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduOprtnVO.java index 1fe72fba..49392d30 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduOprtnVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduOprtnVO.java @@ -51,6 +51,7 @@ public class VEEduOprtnVO extends ComDefaultVO implements Serializable { private String remoteYn; //벽지지역 private String clsCmbtYn; //접적지역 private String ppulDclnYn; //인구감소지역 + private String needTxtbNum; //필요 교재 수량 @@ -261,4 +262,13 @@ public class VEEduOprtnVO extends ComDefaultVO implements Serializable { public void setPpulDclnYn(String ppulDclnYn) { this.ppulDclnYn = ppulDclnYn; } + + public String getNeedTxtbNum() { + return needTxtbNum; + } + + public void setNeedTxtbNum(String needTxtbNum) { + this.needTxtbNum = needTxtbNum; + } + } diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/service/impl/OprtnAplctMngServiceImpl.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/service/impl/OprtnAplctMngServiceImpl.java index cb84f362..e3dfffc5 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/service/impl/OprtnAplctMngServiceImpl.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/service/impl/OprtnAplctMngServiceImpl.java @@ -118,8 +118,12 @@ public class OprtnAplctMngServiceImpl implements OprtnAplctMngService { vEEduAplctVO.setEduAplctOrd(eduAplctOrd); 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); @@ -146,6 +150,9 @@ public class OprtnAplctMngServiceImpl implements OprtnAplctMngService { String s_scholSealAtchFileId = ""; s_scholSealAtchFileId = vEEduAplctVO.getScholSealAtchFileId(); + if("30".equals(vEEduAplctVO.getLctrDivCd())) { + s_scholSealAtchFileId = vEEduAplctVO.getOprtnFileId(); + } //DB에서 실제 첨부파일 존재 여부 확인 FileVO fileVO = new FileVO(); diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java index 2fd204e3..89a1727b 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java @@ -188,9 +188,9 @@ public class OprtnAplctAnncmMngController { //온라인차시 리스트 vEPrcsDetailVO.setUseYn("Y"); vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); - List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO); + /*List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO);*/ //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); + /*model.addAttribute("list", vEPrcsDetailVOList);*/ return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg"; } diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java index 2c10a45c..cf42346b 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java @@ -52,6 +52,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; 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.oprtn.asgnmnoti.service.VEAsgnmNotiService; @@ -122,6 +123,9 @@ public class OprtnAplctMngController { //NOTI 서비스 @Resource(name="vEAsgnmNotiService") private VEAsgnmNotiService vEAsgnmNotiService; + + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; /** * 저작권체험교실 목록 화면 @@ -186,7 +190,10 @@ public class OprtnAplctMngController { model.addAttribute("loginVO", loginVO); //로그인 처리==================================== - + //신청서 양식다운로드 정보 가져오기(신청일자 기준 가장 최신 데이터, 1개 로우) + VEPrcsDetailVO detailVO = new VEPrcsDetailVO(); + detailVO = vEPrcsAplctPrdService.selectDetailNewOne(detailVO); + model.addAttribute("detailVO", detailVO); return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg"; } @@ -250,7 +257,7 @@ public class OprtnAplctMngController { * 체험교실 수정 화면 */ @RequestMapping("oprtnAplctMngMdfy.do") - public String oprtnAplctMngMdfy( @ModelAttribute("modelVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + public String oprtnAplctMngMdfy( @ModelAttribute("vEPrcsDetailVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { vEEduAplctVO.setMode(VeConstants.MODE_UPT); @@ -264,7 +271,8 @@ public class OprtnAplctMngController { //파일 정보 가져오기 FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(vEEduAplctVO.getScholSealAtchFileId()); + /*fileVO.setAtchFileId(vEEduAplctVO.getScholSealAtchFileId());*/ + fileVO.setAtchFileId(vEEduAplctVO.getOprtnFileId()); List result = fileService.selectFileInfs(fileVO); model.addAttribute("fileList", result); model.addAttribute("fileListCnt", result.size()); 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 593b7096..31fed8f6 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 @@ -387,7 +387,8 @@ ISLANDS_YN AS islandsYn, REMOTE_YN AS remoteYn, CLS_CMBT_YN clsCmbtYn, - PPUL_DCLN_YN AS ppulDclnYn + PPUL_DCLN_YN AS ppulDclnYn, + NEED_TXTB_NUM AS needTxtbNum , TO_CHAR(A.SBMT_PNTTM, 'YYYY-MM-DD HH24:MI:ss') AS sbmtPnttmDetail ,C.aprvl_cd AS exprnAprvlCd , C.orgnl_rslt_atch_file_id AS orgnlRsltAtchFileId @@ -1150,6 +1151,7 @@ FROM ve_prcs_aplct_prd a WHERE a.USE_YN = 'Y' - AND REPLACE(#sbmtPnttm#, '-', '') BETWEEN SUBSTR(a.strt_pnttm,1,6) AND SUBSTR(a.end_pnttm,1,6); + AND a.LCTR_DIV_CD = '30' + AND REPLACE(#sbmtPnttm#, '-', '') BETWEEN SUBSTR(a.strt_pnttm,3,6) AND SUBSTR(a.end_pnttm,3,6); diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml index e3127fbc..b2f2b968 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml @@ -32,6 +32,7 @@ ,REMOTE_YN ,CLS_CMBT_YN ,PPUL_DCLN_YN + ,NEED_TXTB_NUM )VALUES( #eduAplctOrd# ,#chrgMjr# @@ -58,6 +59,7 @@ ,#remoteYn# ,#clsCmbtYn# ,#ppulDclnYn# + ,#needTxtbNum# ) @@ -86,6 +88,7 @@ ,REMOTE_YN = #remoteYn# ,CLS_CMBT_YN = #clsCmbtYn# ,PPUL_DCLN_YN = #ppulDclnYn# + ,NEED_TXTB_NUM = #needTxtbNum# WHERE 1=1 AND EDU_APLCT_ORD = #eduAplctOrd# diff --git a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml index 16d61857..4b11abf9 100644 --- a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml @@ -85,7 +85,11 @@ /* , IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn */ , CASE WHEN b.schol_isltn_ord is null THEN 'N' ELSE 'Y' END isltnScholYn /* , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd */ - , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',CASE WHEN INSTR(schol_grade_nm, '각종학교') > 0 THEN '40' ELSE '50' END) AS scholDivCd + , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',CASE WHEN INSTR(schol_grade_nm, '각종학교') > 0 THEN '40' ELSE '50' END) AS scholDivCd + ,a.ISLTN_YN AS isltnYn + ,a.ISLTN2_YN AS isltn2Yn + ,a.ISLTN3_YN AS isltn3Yn + ,a.PPLTN_REDUC_AREA_YN AS ppltnReducAreaYn FROM a diff --git a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml index 2ee893ab..b199a452 100644 --- a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml @@ -82,6 +82,10 @@ ,A.ESTBS_DT AS estbsDt ,A.SCHOL_ANVSRY AS scholAnvsry ,A.LAST_UPDT_PNTTM AS lastUpdtPnttm + ,A.ISLTN_YN AS isltnYn + ,A.ISLTN2_YN AS isltn2Yn + ,A.ISLTN3_YN AS isltn3Yn + ,A.PPLTN_REDUC_AREA_YN AS ppltnReducAreaYn diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/scholPopListBower.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/scholPopListBower.jsp index 4d78e32c..66e54d2d 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/scholPopListBower.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/scholPopListBower.jsp @@ -109,6 +109,11 @@ + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp index 651b7a14..66049b67 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp @@ -210,7 +210,7 @@ } function fncGoList(){ - var listForm = document.listForm ; + var listForm = document.listForm; listForm.action = ""; listForm.submit(); } @@ -254,9 +254,9 @@ - - " /> - " /> + + " /> + " />
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp index 8d120e80..4dc1944b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp @@ -365,9 +365,11 @@

대상학생수

- - ${info.trgtPrsnl} - + ${info.trgtPrsnl} + +

필요 교재 수량

+ + ${info.needTxtbNum} @@ -428,9 +430,9 @@ - + <%-- --%> - + <%-- --%>
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp index fda94e59..63dfd005 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp @@ -9,6 +9,7 @@ <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> + <% /** * @Class Name : oprtnAplctAnncmMngReg.jsp @@ -42,52 +43,119 @@ }); }); - function fncSave(){ - - if($("#title").val() == ""){ - alert("제목을 입력해주세요."); - return false; - } - if($("#strtPnttm").val() == ""){ - alert("시작일을 입력해주세요."); - return false; - } - if($("#endPnttm").val() == ""){ - alert("종료일을 입력해주세요."); - return false; - } - /* if($("#anncmCn").val() == ""){ - alert("안내내용을 입력해주세요."); - return false; - } - if($("#popupCn").val() == ""){ - alert("팝업내용을 입력해주세요."); - return false; - } */ - - //첨부파일 등록 처리 - $('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가 - //var data = new FormData(form); - var data = new FormData(document.getElementById("createForm")); - - //첨부파일 등록 처리-step1 - //if(!data.get("fileSize")){ - if($('#tbody_fiielist tr').length*1<=0){ - alert("첨부파일을 등록해 주세요"); - return false; - - } - - //첨부파일 등록 처리-step2 - _fileForm2.forEach(function(obj, idx) { - if (obj) data.append("file"+idx, obj.fileObj); - + function birthSelectBoxDraw(){ + $('.birthYear').yearselect({ + start : 1900, + end : new Date().getFullYear(), + emptyOption: true, + emptyText: '선택', + selected:'', + order:'desc' + }) + // 년도를 바꾼다면 일자를 다시 선택하기 + $('.birthYear').change(function(){ + if($(this).next().next().next().next('select.birthDay')){ + if(Number($(this).next().next().next().next('select.birthDay').val()) > 28){ + dayDraw($(this).next().next().next().next('select.birthDay')); + } + } }); + $.each($(".birthMonth"), function(idx, elm){ + var selectValue = $(this).attr('selectValue'); + $(this).append($('