From db2a329644689ebbc1db3e6de7276e1497f3e76a Mon Sep 17 00:00:00 2001 From: jiwoo Date: Wed, 4 Oct 2023 14:13:44 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EC=A0=80?= =?UTF-8?q?=EC=9E=91=EA=B6=8C=EC=B2=B4=ED=97=98=EA=B5=90=EC=8B=A4=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../umt/service/EgovUserManageService.java | 2 + .../kcc/let/uss/umt/service/UserManageVO.java | 8 + .../impl/EgovUserManageServiceImpl.java | 5 + .../uss/umt/service/impl/UserManageDAO.java | 3 + .../comweb/CommonManageWebController.java | 57 +- .../web/OprtnAplctAnncmMngController.java | 44 +- .../web/OprtnAplctMngController.java | 260 +++++- .../let/uss/umt/EgovUserManage_SQL_Tibero.xml | 12 + .../ve/schol/ScholInfo_MIX_SQL_Tibero.xml | 13 +- .../jsp/oprtn/cmm/userPopListBower.jsp | 84 ++ .../cpyrgExprnClsrm/oprtnAplctMngList.jsp | 28 +- .../cpyrgExprnClsrm/oprtnAplctMngReg.jsp | 874 ++++++++---------- 12 files changed, 869 insertions(+), 521 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp diff --git a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java index d6ea6202..dba24813 100644 --- a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java +++ b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java @@ -127,5 +127,7 @@ public interface EgovUserManageService { public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception; + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception; + public void insertOffeduUser(UserManageVO userManageVO) throws Exception; } \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java index 736c935d..88fffdb2 100644 --- a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java @@ -176,6 +176,8 @@ public class UserManageVO extends UserDefaultVO{ private String mberId; //회원 Id + private int totCnt = 0; //회원 Id + public String getAuthorCode() { return authorCode; } @@ -707,6 +709,12 @@ public class UserManageVO extends UserDefaultVO{ public void setMberId(String mberId) { this.mberId = mberId; } + public int getTotCnt() { + return totCnt; + } + public void setTotCnt(int totCnt) { + this.totCnt = totCnt; + } } \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java index 5464139e..aa429bd9 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java @@ -312,6 +312,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement return userManageVO; } + @Override + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception{ + return userManageDAO.selectOffeduUserList(userManageVO); + } + @Override // @Transactional(rollbackFor = Exception.class) public void insertOffeduUser(UserManageVO userManageVO) throws Exception { diff --git a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java index e9ddfca6..68c68304 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java @@ -189,6 +189,9 @@ public class UserManageDAO extends EgovAbstractDAO{ return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO); } + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception{ + return (List)list("userManageDAO.selectOffeduUserList", userManageVO); + } public void insertOffeudUser(UserManageVO userManageVO){ insert("userManageDAO.insertOffeduUser", userManageVO); } diff --git a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java index 08f53614..21a2daf6 100644 --- a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java +++ b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java @@ -14,8 +14,9 @@ import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.LoginVO; -import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserManageVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; @@ -53,6 +54,11 @@ public class CommonManageWebController { // 교육신청발송이력 @Resource(name = "vEEduAplctSndHstryService") private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + + //회원조회 + @Resource(name = "userManageService") + private EgovUserManageService userManageService; /** * 학교정보 검색 팝업 리스트 @@ -78,13 +84,26 @@ public class CommonManageWebController { //검색 조건 String selectCondition = new String(); if (!"".equals(scholInfoVO.getSearchKeyword())) { - selectCondition += "AND a.SCHOL_NM LIKE CONCAT ('%', '" +scholInfoVO.getSearchKeyword() + "', '%')"; + selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; } //2.2 학교종류 - if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ + /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; - } + }*/ + if (!"".equals(scholInfoVO.getSearchCondition())) { + if(scholInfoVO.getSearchCondition().equals("10")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; + }else if(scholInfoVO.getSearchCondition().equals("20")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; + }else if(scholInfoVO.getSearchCondition().equals("30")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; + }else if(scholInfoVO.getSearchCondition().equals("40")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; + }else if(scholInfoVO.getSearchCondition().equals("50")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; + } + } scholInfoVO.setSelectPagingListQuery(selectCondition); @@ -198,5 +217,35 @@ public class CommonManageWebController { return "/web/ve/comm/selectPrcsDetailList"; } + /** + * 회원 검색 팝업 리스트 + */ + @RequestMapping("popup/userPopList.do") + public String userPopList(@ModelAttribute("searchVO") UserManageVO userManageVO , ModelMap model , HttpServletRequest request ) throws Exception { + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userManageVO.getPageUnit()); + paginationInfo.setPageSize(10); + // paging step2 + userManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userManageVO.setRecordCountPerPage(10); + + if("".equals(userManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + userManageVO.setSearchSortCnd("mber_id"); + userManageVO.setSearchSortOrd("asc"); + } + + List userList = userManageService.selectOffeduUserList(userManageVO); + //3.paging step3 + int totCnt = 0; + if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("userList", userList); + return "oprtn/cmm/userPopListBower"; + } } 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 6c1933a7..2fd204e3 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 @@ -24,8 +24,10 @@ import kcc.com.cmm.service.FileVO; import kcc.com.cmm.util.DateUtil; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.ve.cmm.VeConstants; 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; @@ -91,6 +93,9 @@ public class OprtnAplctAnncmMngController { @Resource(name = "checkFileUtil") private CheckFileUtil checkFileUtil; + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; /* @@ -174,7 +179,22 @@ public class OprtnAplctAnncmMngController { } - + /** + * 저작권체험교실 등록 화면 + */ + @RequestMapping("oprtnAplctAnncmMngReg.do") + public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception { + vEPrcsDetailVO.setMode(VeConstants.MODE_CRT); + //온라인차시 리스트 + vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg"; + + } + /** * 교육과정관리 상세 화면 */ @@ -402,29 +422,7 @@ public class OprtnAplctAnncmMngController { - /** - * 교육과정관리 등록 화면 - */ - @RequestMapping("oprtnAplctAnncmMngReg.do") - public String OprtnAplctAnncmMngReg( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - ) throws Exception { - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - model.addAttribute("loginVO", loginVO); - - //로그인 처리==================================== - - - 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 ce80adbe..2c10a45c 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 @@ -1,21 +1,36 @@ package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Properties; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +import org.springframework.util.FileCopyUtils; 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.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -153,20 +168,28 @@ public class OprtnAplctMngController { /** - * 저작권체험교실 등록 화면 + * 교육과정관리 등록 화면 */ @RequestMapping("oprtnAplctMngReg.do") - public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception { - vEPrcsDetailVO.setMode(VeConstants.MODE_CRT); - //온라인차시 리스트 - vEPrcsDetailVO.setUseYn("Y"); - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); - List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO); - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg"; + public String OprtnAplctAnncmMngReg( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 - } + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + model.addAttribute("loginVO", loginVO); + + //로그인 처리==================================== + + + return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg"; + } /** * 저작권체험교실 운영신청서 등록 @@ -459,7 +482,222 @@ String[] order = { return modelAndView; } + /** + * 저작권 체험교실 운영신청 목록 업로드 파일 일괄 다운로드 + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "oprtnAplctFileAllDownLoad.do") + public void oprtnAplctFileAllDownLoad(@RequestParam Map commandMap + , HttpServletRequest request, HttpServletResponse response) throws Exception { + + //파일 SN을 리스트에 담기 + List atchFileIdList = new ArrayList(); + //파일 SN을 리스트에 담기 + List atchFileSnList = new ArrayList(); + //split을 이용해 아이디를 각자 배열에 담기 + String[] splitIdStr = commandMap.get("atchFileId").toString().split(","); + String[] splitSnStr = commandMap.get("fileSn").toString().split(","); + //zip파일 이름 + String orgnZipNm = commandMap.get("orgnZipNm").toString(); + //downloadType (A:ID가 여러개고 fileSn이 1개인 경우 || B:ID는 하나이고 fileSn이 여러개인 경우) + String downloadType = commandMap.get("downloadType").toString(); + + String atchFileId = new String(); + String fileSn = new String(); + + + //ID가 여러개고 fileSn이 1개인 경우 + if("A".equals(downloadType)) { + fileSn = "0"; + for(int i=0; i fvoList = fileService.selectZipFileList(fileVO); // 해당 기능에 맞게 파일 조회 + + if(fvoList.size() == 0){ + response.setContentType("application/x-msdownload"); + PrintWriter printwriter = response.getWriter(); + printwriter.println(""); + printwriter.println("


Could not get file name:

"); + printwriter.println("


Back

"); + printwriter.println("


© webAccess"); + printwriter.println(""); + printwriter.flush(); + printwriter.close(); + return ; + } + + + // buffer size + int size = 1024; + byte[] buf = new byte[size]; + + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; + FileInputStream fis = null; + ZipArchiveOutputStream zos = null; + BufferedInputStream bis = null; + + try { + // Zip 파일생성 + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); + + for ( FileVO vo : fvoList ){ + zos.setEncoding("UTF-8"); + + //buffer에 해당파일의 stream을 입력한다. + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); + bis = new BufferedInputStream(fis,size); + + //zip에 넣을 다음 entry 를 가져온다. + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); + + //준비된 버퍼에서 집출력스트림으로 write 한다. + int len; + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); + + bis.close(); + fis.close(); + zos.closeArchiveEntry(); + } + + zos.close(); + + } catch (FileNotFoundException e) { + e.printStackTrace(); + }finally{ + if( zos != null ) zos.close(); + if( fis != null ) fis.close(); + if( bis != null ) bis.close(); + } + + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); + long fSize = uFile.length(); + + if (fSize > 0) { + String mimetype = "application/x-msdownload"; + + response.setContentType(mimetype); + setDisposition(orgnZipNm, request, response); + //response.setContentLength(fSize); + + BufferedInputStream in = null; + BufferedOutputStream out = null; + + try { + in = new BufferedInputStream(new FileInputStream(uFile)); + out = new BufferedOutputStream(response.getOutputStream()); + + FileCopyUtils.copy(in, out); + out.flush(); + } catch (Exception ex) { + LOGGER.debug("IGNORED: {}", ex.getMessage()); + } finally { + if (in != null) { + try { + in.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORED: {}", ignore.getMessage()); + } + } + if (out != null) { + try { + out.close(); + } catch (Exception ignore) { + LOGGER.debug("IGNORED: {}", ignore.getMessage()); + } + } + } + //파일 다운로드 후 파일 삭제 + File delFile = new File(outZipNm); + delFile.delete(); + } else { + response.setContentType("application/x-msdownload"); + PrintWriter printwriter = response.getWriter(); + printwriter.println(""); + printwriter.println("


Could not get file name:
" + orgnZipNm + "

"); + printwriter.println("


Back

"); + printwriter.println("


© webAccess"); + printwriter.println(""); + printwriter.flush(); + printwriter.close(); + } + } + + private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception { + String browser = getBrowser(request); + + String dispositionPrefix = "attachment; filename="; + String encodedFilename = null; + + if (browser.equals("MSIE")) { + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); + } else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지 + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); + } else if (browser.equals("Firefox")) { + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; + } else if (browser.equals("Opera")) { + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; + } else if (browser.equals("Chrome")) { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < filename.length(); i++) { + char c = filename.charAt(i); + if (c > '~') { + sb.append(URLEncoder.encode("" + c, "UTF-8")); + } else { + sb.append(c); + } + } + encodedFilename = sb.toString(); + } else { + //throw new RuntimeException("Not supported browser"); + throw new IOException("Not supported browser"); + } + +// response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename); // 파일명에 콤마 포함시 오류 + response.setHeader("Content-Disposition", dispositionPrefix + "\"" + encodedFilename + "\""); + + if ("Opera".equals(browser)) { + response.setContentType("application/octet-stream;charset=UTF-8"); + } + } + + private String getBrowser(HttpServletRequest request) { + String header = request.getHeader("User-Agent"); + if (header.indexOf("MSIE") > -1) { + return "MSIE"; + } else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지 + return "Trident"; + } else if (header.indexOf("Chrome") > -1) { + return "Chrome"; + } else if (header.indexOf("Opera") > -1) { + return "Opera"; + } + return "Firefox"; + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml index f58eb062..585300da 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml @@ -927,4 +927,16 @@ ) + + 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 f9d25b9b..16d61857 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 @@ -53,6 +53,7 @@ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp new file mode 100644 index 00000000..7d25d638 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp @@ -0,0 +1,84 @@ +<%@ 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"%> + + + + +학교명 검색 + + + + + + + + + + +" /> +" /> + +
+
+
+ + +
+ +
+ + + + + + + + + + + + + + + + +
아이디
+ + +
+
+ +
+ +
+ +
+
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp index a6d46df3..25def16b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp @@ -139,6 +139,20 @@ input:read-only { }); } } + + function fileDownLoad() { + alert("개발전"); + return; + var listForm = document.listForm; + listForm.action = ""; + listForm.submit(); + } + + function fncCreate() { + var listForm = document.listForm ; + listForm.action = ""; + listForm.submit(); + } 신청관리 @@ -279,7 +293,7 @@ input:read-only { selected>100줄 + onclick="fileDownLoad();">첨부파일 다운로드 @@ -385,10 +399,6 @@ input:read-only {
-
-
-
-
- + +
+
+
+
+ +
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 0b34acb2..fda94e59 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp @@ -1,44 +1,123 @@ -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="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"%> -<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> - - +<% + /** + * @Class Name : oprtnAplctAnncmMngReg.jsp + * @Description : 운영신청안내관리 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> - - + + + -교육신청 수정 +교육과정관리 -
+ + + " /> + " /> + +
- - - " /> - " /> - - - - - - - - - - - - - - - - - -
-
+ + + + +
+
+
-

교육신청 내용 변경

+

운영신청서 등록

  • -

    교육신청관리

    +

    저작권 체험교실

  • -
  • 교육신청 내용 변경
  • +
  • +

    운영신청 관리

    +
  • +
  • 운영신청서 등록
-
- -
-

교육신청 내용

-
-
- - - - - - +
+
+

저작권 체험교실 운영 신청 등록

+
+ +
+
+ + + + + + - @@ -353,8 +238,10 @@

교사명

+ + - + + + + + + + + + + + + + + + + @@ -384,129 +318,127 @@

필수입력 항목*

주소

- - - - - - - - - - - - - - - - - - - - - - - -

필수입력 항목*

-

학교(기관)명

+

교사 아이디

- - - + + +
- +

필수입력 항목*

성별

@@ -366,17 +253,64 @@

필수입력 항목*

-

이메일

+

휴대폰

- - - @ - - - - ※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인 - + + + + - + + - + +
+

필수입력 항목*

+

전화

+
+ + + - + + - + +
+

필수입력 항목*

+

학교(기관)명

+
+ + + + + +
+

필수입력 항목*

+

학교구분

+
+ +
+

필수입력 항목*

+

학교지역특성

+
+ + + +
- - <%----%>
-
- -
-

필수입력 항목*

-

담당교과

-
- -
-

생년월일*

-

생년월일

-
- - - - - - - - -
-

필수입력 항목*

-

저작권 오프라인
교원연수

-
- 이수년도 -     - 이수번호 - - ※ 교내에서 확인 가능한 메일 계정 입력 (예) 교육청 도메인 - -
-

필수입력 항목*

-

체험교실운영여부

-
-
- - - - -
-
-
-
-

필수입력 항목*

-

신청경로

-
- - -
-
- -
-
-

운영 계획

- * 항목은 필수 입력 사항입니다. -
-
-
- - - - - - - - - - - + + - + + + + + + + + + + + + + + + + +
-

필수입력 항목*

-

대학년수

-
- 학년 - -

필수입력 항목*

-

대상 반

-
- 반 +
<%----%> +
+

필수입력 항목*

-

대학생수

+

이메일

- 명 + + + + @ + +

필수입력 항목*

-

보고서제출일

+

담당교과

-
- - " name="rprtSbmt" id="rprtSbmt" class="calendar" title="시작일 선택"> -
+
+ + +
+

생년월일*

+

생년월일

+
+ + + + + + + + + + + +
+

필수입력 항목*

+

체험교실운영여부

+
+
+ + + + +
+
+
+
+ ※ 소속학교 변동 여부와는 관계없이 기운영 여부를 체크. +
+

필수입력 항목*

+

신청경로

+
+ + + +
+
+
+

운영계획

+
+
+ + + + + + + + + + + + + + + + @@ -515,15 +447,9 @@

운영시기

@@ -531,93 +457,97 @@

필수입력 항목*

첨부파일

-
+

필수입력 항목*

+

학년수

+
+ + 학년 +
+

필수입력 항목*

+

대상 반

+
+ + 반 +
+

필수입력 항목*

+

학생수

+
+ +
-
- - " name="oprtnStrtDt" id="oprtnStrtDt" class="calendar" title="시작일 선택"> -
- ~ -
- - " name="oprtnEndDt" id="oprtnEndDt" class="calendar" title="종료일 선택"> -
+ + +
-
- - -
-
- + - - - +
+ + + +

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

업로드 순서는 1.신청서 2.안내문 입니다.

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

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

-
-
-
- - - - - - - - - - - - - - - - - - - - - + -
파일 명종류크기삭제
- ${fileList.orignlFileNm} - - "> - - "> - - +
+

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

-
-
-

최대 3

-

50MB제한

-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+ + + + "> + + "> + + +
- - ※ 신청서(공문)양식 다운로드 후, 직인을 포함하여 업로드 해주세요. -
+
+ + + +
- - + +
-
- +