From 6ae2cfce9f70c33d60cd09ae92828f9513254412 Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 20 Nov 2023 15:33:25 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=EA=B8=B0=EB=B0=98=EA=B0=95=ED=99=94?= =?UTF-8?q?=EC=97=B0=EC=88=98=20=EB=AC=B8=EC=9D=98=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prcsInfo/service/VEPrcsDetailVO.java | 8 + .../prcsInfo/service/VEPrcsService.java | 6 + .../impl/VEPrcsAplctPrdServiceImpl.java | 4 +- .../prcsInfo/service/impl/VEPrcsDAO.java | 12 ++ .../service/impl/VEPrcsServiceImpl.java | 15 ++ .../web/FndthPrcsInfoMngController.java | 103 ++++++++- .../sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml | 1 + .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 6 +- .../sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml | 65 ++++++ .../fndthEnhanceTrn/fndthEduQnaMngDetail.jsp | 197 ++++++++++++++++++ .../fndthEnhanceTrn/fndthEduQnaMngList.jsp | 129 +++++------- .../ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp | 58 ++---- .../jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp | 8 +- .../jsp/web/ve/aplct/sspnIdtmt/main.jsp | 2 +- 14 files changed, 488 insertions(+), 126 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.jsp diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 0f284399..e2aa47f0 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -149,6 +149,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String qnaAnswerCn; private String qnaAnswerer; + private String mberNm; + @@ -723,6 +725,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setQnaAnswerer(String qnaAnswerer) { this.qnaAnswerer = qnaAnswerer; } + public String getMberNm() { + return mberNm; + } + public void setMberNm(String mberNm) { + this.mberNm = mberNm; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java index ca47e14e..ed8979d9 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java @@ -32,5 +32,11 @@ public interface VEPrcsService { void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO); void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO); + + List selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO); + + VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO); + + void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java index 29f8d8e6..70598b41 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java @@ -120,8 +120,8 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { @Override public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) { System.out.println(vEPrcsDetailVO.getPrpsCn()); - System.out.println(vEPrcsDetailVO.getChrctCn()); - System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd()); +// System.out.println(vEPrcsDetailVO.getChrctCn()); +// System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd()); vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java index 3c553509..93bed127 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java @@ -84,5 +84,17 @@ public class VEPrcsDAO extends EgovAbstractDAO { public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) { update("VEPrcsDAO.updateImageAtchFileId", vEPrcsDetailVO); } + + public List selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsDAO.selectQnaPagingList", vEPrcsDetailVO); + } + + public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) { + return (VEPrcsDetailVO) select("VEPrcsDAO.selectQnaDetail", vEPrcsDetailVO); + } + + public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) { + update("VEPrcsDAO.qnaUpdate", vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java index 7c6e7579..df4a90c7 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java @@ -69,5 +69,20 @@ public class VEPrcsServiceImpl implements VEPrcsService { public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) { vEPrcsDAO.updateImageAtchFileId(vEPrcsDetailVO); } + + @Override + public List selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsDAO.selectQnaPagingList(vEPrcsDetailVO); + } + + @Override + public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsDAO.selectQnaDetail(vEPrcsDetailVO); + } + + @Override + public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) { + vEPrcsDAO.qnaUpdate(vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java index 822e4c6e..d82cf32e 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java @@ -234,12 +234,12 @@ public class FndthPrcsInfoMngController { //기반강화 조회 vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ - String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; - vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); - } +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ +// String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; +// vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); +// } - List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); //3.pageing step3 paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); @@ -247,6 +247,9 @@ public class FndthPrcsInfoMngController { model.addAttribute("paginationInfo", paginationInfo); + // 사용자 이름 디코딩 + vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + //대상 리스트, 페이징 정보 전달 model.addAttribute("list", vEPrcsDetailVOList); @@ -348,10 +351,53 @@ public class FndthPrcsInfoMngController { VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO(); vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd()); List vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO); + + model.addAttribute("vEPrcsCntntList", vEPrcsCntntList); return "/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail"; } + + /** + * @methodName : fndthEduPrcsMngDetail + * @author : 이호영 + * @date : 2023.11.20 + * @description : + * @param vEPrcsDetailVO + * @param model + * @param redirectAttributes + * @param session + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.do") + public String fndthEduQnaMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + System.out.println("vEPrcsDetailVO.getPrcsAplctPrdQnaOrd() : "+ vEPrcsDetailVO.getPrcsAplctPrdQnaOrd()); + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO); + vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm())); + + model.addAttribute("info", vEPrcsQnaDetail); + //세부과정 목록 조회 + + return "/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail"; + } /** * 기반강화연수과정 수정화면 @@ -484,6 +530,53 @@ public class FndthPrcsInfoMngController { return modelAndView; } + /** + * @methodName : fndthEduQnaMngUpdateAjax + * @author : 이호영 + * @date : 2023.11.20 + * @description : + * @param vEPrcsDetailVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngUpdateAjax.do") + public ModelAndView fndthEduQnaMngUpdateAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id + vEPrcsService.qnaUpdate(vEPrcsDetailVO); + + + //세부과정 지우고 다시 생성 + VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO(); + vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd()); + modelAndView.addObject("result", "success"); + return modelAndView; + } + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do") public ModelAndView fndthEduPhotoPopupAjax( 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 689a0653..c28f342e 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 @@ -1355,6 +1355,7 @@ VEA_PRCS_APLCT_PRD_QNA WHERE QNA_REGIST = #qnaRegist# + AND LCTR_DIV_CD = #lctrDivCd# diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml index 697df2ef..29323d68 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml @@ -143,17 +143,17 @@ - + + /* VEPrcsDAO.selectQnaPagingList */ + + SELECT + qn.PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd + , qn.LCTR_DIV_CD as lctrDivCd + , qn.QNA_REGIST as qnaRegist + , mb.MBER_NM AS mberNm + , qn.QNA_CN as qnaCn + , qn.QNA_ANSWER_CN as qnaAnswerCn + , qn.QNA_ANSWERER as qnaAnswerer + ,TO_CHAR(qn.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm + , qn.FRST_REGISTER_ID as frstRegisterId + ,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm + , qn.LAST_UPDUSR_ID as lastUpdusrId + FROM + VEA_PRCS_APLCT_PRD_QNA qn + LEFT JOIN LETTNGNRLMBER mb + ON qn.QNA_REGIST = mb.MBER_ID + WHERE + 1=1 + AND LCTR_DIV_CD = #lctrDivCd# + + + + + + + + + + /* VEPrcsDAO.qnaUpdate */ + + UPDATE VEA_PRCS_APLCT_PRD_QNA SET + QNA_ANSWER_CN = #qnaAnswerCn# + , LAST_UPDUSR_ID = #lastUpdusrId# + , LAST_UPDT_PNTTM = SYSDATE + WHERE PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd# + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.jsp new file mode 100644 index 00000000..753c086e --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.jsp @@ -0,0 +1,197 @@ + +<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : fndthEduPrcsMngDetail.jsp + * @Description : 기반강화연수 상세화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + +
+
+ + + +
+
+ + +
+

교육문의상세

+
    +
  • +
  • +

    실무자역량강화(기반강화연수관리)

    +
  • +
  • 교육문의상세
  • +
+
+ + +
+ +
+

교육문의상세

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
질문자ID + +
질문자 이름 + +
질문내용 + +
답변상태 + + + 미완료 + + + 완료 + + +
답변일시 + + + - + + + + + +
+
+ + +
+

답변

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

내용

+
+
+ + +
+
+
+ + + +
+
+
+
+
+
+ +
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.jsp index 96f0c4cd..4ed7c19b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.jsp @@ -13,13 +13,13 @@ <% /** - * @Class Name : fndthEduPrcsMngList.jsp + * @Class Name : fndthEduQnaMngList.jsp * @Description : 기반강화연수 과정관리 목록 * @Modification Information * @ - * @ 수정일 수정자 수정내용 - * @ ------- -------- --------------------------- - * @ 2021.12.14 조용준 최초 생성 + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2023.11.17 이호영 최초 생성 * @author 조용준 * @since 2021.12.14 * @version 1.0 @@ -45,25 +45,20 @@ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; listForm.searchKeyword.value = $('#searchKeyword').val(); - listForm.action = ""; + listForm.action = ""; listForm.submit(); } - function fncGoDetail(prcsOrd){ - var listForm = document.listForm ; - listForm.prcsOrd.value = prcsOrd ; - listForm.action = ""; - listForm.submit(); + function fncGoDetail(prcsAplctPrdQnaOrd){ + var form = document.detailForm ; + form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ; + form.action = ""; + form.submit(); } - function fncCreate() { - var listForm = document.listForm ; - listForm.action = ""; - listForm.submit(); - } - + /* function fncDelete(prcsOrd){ document.listForm.prcsOrd.value = prcsOrd ; @@ -98,50 +93,17 @@ } event.stopImmediatePropagation(); - } + } */ - function fncSaveSort(prcsOrd, count){ - - var sortNo = $('#prcsSortNo'+count).val(); - - if(sortNo == ''){ - - alert("표시순서를 입력해 주세요."); - return false; - - } - - $('#prcsOrd').val(prcsOrd); - $('#prcsSortNo').val(sortNo); - var data = new FormData(document.getElementById("listForm")); - var url = ""; - $.ajax({ - type:"POST", - url: url, - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success:function(returnData){ - if(returnData.result == "success"){ - alert("저장되었습니다."); - document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화 - fncGoList(); - } - }, - error:function(request , status, error){ - alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); - } - }); - - } - 교육과정관리 + 교육문의 +
+ + +
" /> @@ -154,20 +116,20 @@
-

과정관리목록

+

교육문의목록

  • 실무자역량강화(기반강화연수관리)

  • -
  • 과정관리목록
  • +
  • 교육문의목록
-

교육 과정 관리

+

교육 문의 관리

@@ -212,45 +174,57 @@
- + - - - - - + + + + + + - - + - @@ -271,7 +245,6 @@
-
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp index f713dfed..2b554295 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp @@ -74,10 +74,27 @@ $(document).ready(function(){ //-- /반복끝 }); + + // 이달의 과정 상태값 확인 + $(".best_con").each(function() { + var currentDate = new Date(); // 현재 날짜 가져오기 + var strtPnttmValue = $(this).find("#strtPnttm").val(); // 시작 시간 값 가져오기 + var endPnttmValue = $(this).find("#endPnttm").val(); // 종료 시간 값 가져오기 + + var strtDate = new Date(strtPnttmValue); // 시작 시간을 Date 객체로 변환 + var endDate = new Date(endPnttmValue); // 종료 시간을 Date 객체로 변환 + + + // 현재 날짜가 시작 시간과 종료 시간 사이에 있는지 확인 + if (currentDate >= strtDate && currentDate <= endDate) { + console.log("현재 날짜가 포함됩니다: " + $(this).text().trim()); + } else { + console.log("현재 날짜가 포함되지 않습니다: " + $(this).text().trim()); + $(this).find("button").attr('onclick', 'location.href="${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduInfo.do"') + } + }); - - - // 상태값 확인 + // 리스트 상태값 확인 $(".ddlnCdStts").each(function() { var $thisCell = $(this); var $applyButton = $thisCell.closest('tr').find(".aplctBtn button"); @@ -290,8 +307,9 @@ $(document).ready(function(){
-
+ +
  • ~
  • @@ -299,36 +317,6 @@ $(document).ready(function(){
-
@@ -458,7 +446,7 @@ $(document).ready(function(){
- +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp index a898c1c5..2892cf92 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp @@ -58,7 +58,11 @@ function fn_qnaReg(){ - + if(!confirm("문의 등록을 하시겠습니까?")){ + $('#qnaCn').val(''); + $('.btn_popup_close').click(); + return false; + } var data = new FormData(document.getElementById("qnaForm")); @@ -104,7 +108,7 @@
-

대시보드

+

나의강의실

  • '"> diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp index 85fc9e80..c68a5a2a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp @@ -51,7 +51,7 @@
    -

    대시보드

    +

    나의강의실

    • 신청중 강의

    • From 084f443f5ed6f6bcb7a63b528ca29905bc65c673 Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 20 Nov 2023 16:49:41 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=EB=8C=80=EC=83=81=EC=9E=90=20=EB=93=B1?= =?UTF-8?q?=EB=A1=9D/=EC=88=98=EC=A0=95=20=EA=B4=80=ED=95=A0=EC=B2=AD=20or?= =?UTF-8?q?derby=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cmm/service/EgovCmmUseService.java | 160 +++++----- .../kcc/com/cmm/service/impl/CmmUseDAO.java | 169 ++++++----- .../service/impl/EgovCmmUseServiceImpl.java | 284 +++++++++--------- .../trgtMng/web/CndtnTrgtMngController.java | 22 ++ .../let/cmm/use/EgovCmmUse_SQL_Tibero.xml | 203 +++++++------ .../jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp | 16 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp | 12 +- 7 files changed, 472 insertions(+), 394 deletions(-) diff --git a/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java b/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java index 2cfc4525..eab0888a 100644 --- a/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java +++ b/src/main/java/kcc/com/cmm/service/EgovCmmUseService.java @@ -1,79 +1,81 @@ -package kcc.com.cmm.service; - -import java.util.List; -import java.util.Map; - -import kcc.com.cmm.ComDefaultCodeVO; - - - -/** - * - * 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스 - * @author 공통서비스 개발팀 이삼섭 - * @since 2009.04.01 - * @version 1.0 - * @see - * - *
      - * << 개정이력(Modification Information) >>
      - *
      - *   수정일      수정자           수정내용
      - *  -------    --------    ---------------------------
      - *   2009.03.11  이삼섭          최초 생성
      - *
      - * 
      - */ -public interface EgovCmmUseService { - - /** - * 공통코드를 조회한다. - * - * @param vo - * @return List(코드) - * @throws Exception - */ - public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; - - /** - * 공통코드를 조회한다.(by String codeId) - * - * @param String codeId - * @return List(코드) - * @throws Exception - */ - public List selectCmmCodeDetail(String codeId) throws Exception; - - /** - * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. - * - * @param voList - * @return Map(코드) - * @throws Exception - */ - public Map> selectCmmCodeDetails(List voList) throws Exception; - - /** - * 조직정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 조직정보 List - * @throws Exception - */ - public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; - - /** - * 그룹정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 그룹정보 List - * @throws Exception - */ - public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; - - public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ; - - public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo); - - public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo); -} +package kcc.com.cmm.service; + +import java.util.List; +import java.util.Map; + +import kcc.com.cmm.ComDefaultCodeVO; + + + +/** + * + * 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.01 + * @version 1.0 + * @see + * + *
      + * << 개정이력(Modification Information) >>
      + *
      + *   수정일      수정자           수정내용
      + *  -------    --------    ---------------------------
      + *   2009.03.11  이삼섭          최초 생성
      + *
      + * 
      + */ +public interface EgovCmmUseService { + + /** + * 공통코드를 조회한다. + * + * @param vo + * @return List(코드) + * @throws Exception + */ + public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * 공통코드를 조회한다.(by String codeId) + * + * @param String codeId + * @return List(코드) + * @throws Exception + */ + public List selectCmmCodeDetail(String codeId) throws Exception; + + /** + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. + * + * @param voList + * @return Map(코드) + * @throws Exception + */ + public Map> selectCmmCodeDetails(List voList) throws Exception; + + /** + * 조직정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 조직정보 List + * @throws Exception + */ + public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; + + public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ; + + public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo); + + public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo); + + public List selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam); +} diff --git a/src/main/java/kcc/com/cmm/service/impl/CmmUseDAO.java b/src/main/java/kcc/com/cmm/service/impl/CmmUseDAO.java index 067c3c4c..d258a9e6 100644 --- a/src/main/java/kcc/com/cmm/service/impl/CmmUseDAO.java +++ b/src/main/java/kcc/com/cmm/service/impl/CmmUseDAO.java @@ -1,78 +1,91 @@ -package kcc.com.cmm.service.impl; - -import java.util.List; - -import org.springframework.stereotype.Repository; - -import kcc.com.cmm.ComDefaultCodeVO; -import kcc.com.cmm.service.CmmnDetailCode; - -/** - * @Class Name : CmmUseDAO.java - * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스 - * @Modification Information - * - * 수정일 수정자 수정내용 - * ------- ------- ------------------- - * 2009. 3. 11. 이삼섭 - * - * @author 공통 서비스 개발팀 이삼섭 - * @since 2009. 3. 11. - * @version - * @see - * - */ -@Repository("cmmUseDAO") -public class CmmUseDAO extends EgovComAbstractDAO { - - /** - * 주어진 조건에 따른 공통코드를 불러온다. - * - * @param vo - * @return - * @throws Exception - */ - @SuppressWarnings("unchecked") - public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { - return (List) list("CmmUseDAO.selectCmmCodeDetail", vo); - } - - /** - * 공통코드로 사용할 조직정보를 를 불러온다. - * - * @param vo - * @return - * @throws Exception - */ - @SuppressWarnings("unchecked") - public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { - return (List) list("CmmUseDAO.selectOgrnztIdDetail", vo); - } - - /** - * 공통코드로 사용할그룹정보를 를 불러온다. - * - * @param vo - * @return - * @throws Exception - */ - @SuppressWarnings("unchecked") - public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { - return (List) list("CmmUseDAO.selectGroupIdDetail", vo); - } - - /** - * 주어진 조건에 따른 공통코드를 불러온다. - * - * @param vo - * @return - * @throws Exception - */ - public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) { - return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo); - } - - public CmmnDetailCode selectCmmCodeDetailValueOnlyName(ComDefaultCodeVO vo) { - return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValueOnlyName", vo); - } -} +package kcc.com.cmm.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.service.CmmnDetailCode; + +/** + * @Class Name : CmmUseDAO.java + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Repository("cmmUseDAO") +public class CmmUseDAO extends EgovComAbstractDAO { + + /** + * 주어진 조건에 따른 공통코드를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { + return (List) list("CmmUseDAO.selectCmmCodeDetail", vo); + } + + /** + * 공통코드로 사용할 조직정보를 를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { + return (List) list("CmmUseDAO.selectOgrnztIdDetail", vo); + } + + /** + * 공통코드로 사용할그룹정보를 를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { + return (List) list("CmmUseDAO.selectGroupIdDetail", vo); + } + + /** + * 주어진 조건에 따른 공통코드를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) { + return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo); + } + + public CmmnDetailCode selectCmmCodeDetailValueOnlyName(ComDefaultCodeVO vo) { + return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValueOnlyName", vo); + } + + /** + * @methodName : selectCmmCodeDetailOrderByCode + * @author : 이호영 + * @date : 2023.11.20 + * @description : code로 order by + * @param codeParam + * @return + */ + @SuppressWarnings("unchecked") + public List selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) { + return (List) list("CmmUseDAO.selectCmmCodeDetailOrderByCode", codeParam); + } +} diff --git a/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java b/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java index b18bdc52..3b6ed35f 100644 --- a/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java +++ b/src/main/java/kcc/com/cmm/service/impl/EgovCmmUseServiceImpl.java @@ -1,139 +1,145 @@ -package kcc.com.cmm.service.impl; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; -import kcc.com.cmm.ComDefaultCodeVO; -import kcc.com.cmm.service.CmmnDetailCode; -import kcc.com.cmm.service.EgovCmmUseService; - -/** - * @Class Name : EgovCmmUseServiceImpl.java - * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스 - * @Modification Information - * - * 수정일 수정자 수정내용 - * ------- ------- ------------------- - * 2009. 3. 11. 이삼섭 - * - * @author 공통 서비스 개발팀 이삼섭 - * @since 2009. 3. 11. - * @version - * @see - * - */ -@Service("EgovCmmUseService") -public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService { - - @Resource(name = "cmmUseDAO") - private CmmUseDAO cmmUseDAO; - - /** - * 공통코드를 조회한다. - * - * @param vo - * @return - * @throws Exception - */ - @Override - public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { - return cmmUseDAO.selectCmmCodeDetail(vo); - } - - /** - * 공통코드를 조회한다.(by String codeId) - * - * @param String codeId - * @return - * @throws Exception - */ - @Override - public List selectCmmCodeDetail(String codeId) throws Exception { - ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); - comDefaultCodeVO.setCodeId(codeId); - return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO); - } - - /** - * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. - * - * @param voList - * @return - * @throws Exception - */ - @Override - @SuppressWarnings("rawtypes") - public Map> selectCmmCodeDetails(List voList) throws Exception { - ComDefaultCodeVO vo; - Map> map = new HashMap>(); - - Iterator iter = voList.iterator(); - while (iter.hasNext()) { - vo = (ComDefaultCodeVO) iter.next(); - map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo)); - } - - return map; - } - - /** - * 조직정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 조직정보 List - * @throws Exception - */ - @Override - public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { - return cmmUseDAO.selectOgrnztIdDetail(vo); - } - - /** - * 그룹정보를 코드형태로 리턴한다. - * - * @param 조회조건정보 vo - * @return 그룹정보 List - * @throws Exception - */ - @Override - public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { - return cmmUseDAO.selectGroupIdDetail(vo); - } - - @Override - public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) { - return cmmUseDAO.selectCmmCodeDetailValue(vo); - } - - @Override - public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) { - String resultCodeNm = ""; - if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){ - CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo); - if(code != null){ - resultCodeNm = code.getCodeNm(); - } - } - return resultCodeNm; - } - - @Override - public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) { - String resultCodeNm = ""; - if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){ - CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo); - if(code != null){ - resultCodeNm = code.getCodeNm(); - } - } - return resultCodeNm; - } -} +package kcc.com.cmm.service.impl; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.service.CmmnDetailCode; +import kcc.com.cmm.service.EgovCmmUseService; + +/** + * @Class Name : EgovCmmUseServiceImpl.java + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovCmmUseService") +public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService { + + @Resource(name = "cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + /** + * 공통코드를 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + @Override + public List selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectCmmCodeDetail(vo); + } + + /** + * 공통코드를 조회한다.(by String codeId) + * + * @param String codeId + * @return + * @throws Exception + */ + @Override + public List selectCmmCodeDetail(String codeId) throws Exception { + ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); + comDefaultCodeVO.setCodeId(codeId); + return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO); + } + + /** + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. + * + * @param voList + * @return + * @throws Exception + */ + @Override + @SuppressWarnings("rawtypes") + public Map> selectCmmCodeDetails(List voList) throws Exception { + ComDefaultCodeVO vo; + Map> map = new HashMap>(); + + Iterator iter = voList.iterator(); + while (iter.hasNext()) { + vo = (ComDefaultCodeVO) iter.next(); + map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo)); + } + + return map; + } + + /** + * 조직정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 조직정보 List + * @throws Exception + */ + @Override + public List selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectOgrnztIdDetail(vo); + } + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + @Override + public List selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectGroupIdDetail(vo); + } + + @Override + public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) { + return cmmUseDAO.selectCmmCodeDetailValue(vo); + } + + @Override + public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) { + String resultCodeNm = ""; + if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){ + CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo); + if(code != null){ + resultCodeNm = code.getCodeNm(); + } + } + return resultCodeNm; + } + + @Override + public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) { + String resultCodeNm = ""; + if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){ + CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo); + if(code != null){ + resultCodeNm = code.getCodeNm(); + } + } + return resultCodeNm; + } + + @Override + public List selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) { + // TODO Auto-generated method stub + return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam); + } +} diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index e16f3180..0c12205d 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -22,7 +22,10 @@ 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.ComDefaultCodeVO; import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.CmmnDetailCode; +import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; import kcc.com.cmm.util.DateUtil; @@ -105,6 +108,8 @@ public class CndtnTrgtMngController { @Resource(name = "EgovFileMngService") private EgovFileMngService fileService; + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService egovCmmUseService; /* @@ -386,6 +391,13 @@ public class CndtnTrgtMngController { String userWork = this.getUserWork(request); model.addAttribute("userWork", userWork); + + + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + return "oprtn/cndtnSspnIdtmt/trgtReg"; } @@ -722,6 +734,16 @@ public class CndtnTrgtMngController { model.addAttribute("info", cndtnTrgtInfoVO); + // 관할청 공통코드 + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + String userWork = this.getUserWork(request); + model.addAttribute("userWork", userWork); + + //파일 정보 가져오기 FileVO fileVO = new FileVO(); fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); diff --git a/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Tibero.xml index 1757a85f..47c1033e 100644 --- a/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Tibero.xml @@ -1,96 +1,109 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp index 8c199bf8..12b1b798 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp @@ -332,8 +332,20 @@
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp index 29c264b4..7d631969 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtReg.jsp @@ -279,10 +279,20 @@ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAsgnmCnfrmMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAsgnmCnfrmMngDetail.jsp index 071c7d05..5fb80df8 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAsgnmCnfrmMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAsgnmCnfrmMngDetail.jsp @@ -112,7 +112,7 @@ } //sms 발송 - function fncSndSms(){ + /* function fncSndSms(){ var p_smsMsg = $("#smsMsg").val(); @@ -124,7 +124,25 @@ fncContent("${pageContext.request.contextPath}/kccadr/oprtn/pblc/smsSndAjax.do","10",p_smsMsg,""); } - + */ + + function fncSndSms(){ + + var p_smsMsg = $("#smsMsg").val(); + + if (p_smsMsg==""){ + alert("SMS 발송 내용은 필수값입니다."); + return false; + } + + + fncContent( + "${pageContext.request.contextPath}/kccadr/oprtn/pblc/offeduSMSSndAjax.do", + "10", //코드 10:sms 20:mail + p_smsMsg, + "" + ); + } //이메일 발송 function fncSndEmail(){ @@ -142,38 +160,40 @@ function fncContent(p_url, p_cd, p_cn, p_flag){ $.ajax({ - type: "POST", - // enctype: 'multipart/form-data', - url:p_url, - //data: data, + type: "POST", + // enctype: 'multipart/form-data', + url:p_url, + //data: data, data:{ "sndCd": p_cd, "sndCn": p_cn, "eduAplctOrd": $("#eduAplctOrd").val(), "clphone": '', "email": '', - "sndFlag": p_flag - }, - dataType:'json', - /* - async: false, - processData: false, - contentType: false, - cache: false, - */ - + "sndFlag": p_flag, + "trgtId" : '' + }, + dataType:'json', + /* + async: false, + processData: false, + contentType: false, + cache: false, + */ + success:function(returnData){ if(returnData.result == "success"){ - alert("정상적으로 발송되었습니다."); - + alert(returnData.message); }else{ - alert("발송 중 오류가 발생하였습니다."); + alert(returnData.message); } }, error:function(request , status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); + + } function reloadLinkPage(){ @@ -502,10 +522,11 @@ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.jsp index 2f2016bd..9c37e4e7 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.jsp @@ -118,7 +118,7 @@ } //sms 발송 - function fncSndSms(){ + /* function fncSndSms(){ var p_smsMsg = $("#smsMsg").val(); @@ -129,6 +129,24 @@ fncContent("${pageContext.request.contextPath}/kccadr/oprtn/pblc/smsSndAjax.do","10",p_smsMsg,""); + } */ + + function fncSndSms(){ + + var p_smsMsg = $("#smsMsg").val(); + + if (p_smsMsg==""){ + alert("SMS 발송 내용은 필수값입니다."); + return false; + } + + + fncContent( + "${pageContext.request.contextPath}/kccadr/oprtn/pblc/offeduSMSSndAjax.do", + "10", //코드 10:sms 20:mail + p_smsMsg, + "" + ); } //이메일 발송 @@ -141,11 +159,16 @@ return false; } - fncContent("${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndAjax.do","20",p_smsEmail,"C"); + fncContent( + "${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndAjax.do", + "20", + p_smsEmail, + "C" + ); } //발송 - function fncContent(p_url, p_cd, p_cn, p_flag){ + /* function fncContent(p_url, p_cd, p_cn, p_flag){ var form = document.cellForm; form.sndCd.value = p_cd; @@ -178,6 +201,45 @@ console.log("++++++++++++++++++++++++++++++++++++++++++ code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); + } */ + + function fncContent(p_url, p_cd, p_cn, p_flag){ + + $.ajax({ + type: "POST", + // enctype: 'multipart/form-data', + url:p_url, + //data: data, + data:{ + "sndCd": p_cd, + "sndCn": p_cn, + "eduAplctOrd": $("#eduAplctOrd").val(), + "clphone": '', + "email": '', + "sndFlag": p_flag, + "trgtId" : '' + }, + dataType:'json', + /* + async: false, + processData: false, + contentType: false, + cache: false, + */ + + success:function(returnData){ + if(returnData.result == "success"){ + alert(returnData.message); + }else{ + alert(returnData.message); + } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + + } function reloadLinkPage(){ @@ -590,10 +652,11 @@ From 24b8e4eb89606bb7311abe99dc617f8792ef9c0d Mon Sep 17 00:00:00 2001 From: tolag3 Date: Mon, 20 Nov 2023 20:50:56 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=EC=9D=B4=EC=A4=80=ED=98=B8=20=EC=B0=BE?= =?UTF-8?q?=EA=B5=90=20=EA=B3=A0=EB=8F=84=ED=99=94=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 운영신청 안내 수정 --- .../com/cmm/web/EgovFileMngController.java | 27 + .../com/utl/user/service/CheckFileUtil.java | 177 +++++ .../web/ExprnClsrmAplctController.java | 14 + .../prcsInfo/service/VEPrcsDetailVO.java | 16 + .../impl/VEPrcsAplctPrdServiceImpl.java | 5 +- .../web/OprtnAplctAnncmMngController.java | 131 +++- .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 15 +- .../jsp/cmm/fms/EgovBBSFileListCustom.jsp | 139 ++++ .../oprtnAplctAnncmMngDetail.jsp | 21 +- .../cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp | 113 ++- .../oprtnAplctAnncmMngUpdate.jsp | 125 +++- .../exprnClsrmInfo/exprnClsrmAplctGuide.jsp | 313 +------- .../exprnClsrmAplctGuide_back_231120.jsp | 407 ++++++++++ src/main/webapp/js/ncms_common.js | 1 + src/main/webapp/js/web_common_custom.js | 701 ++++++++++++++++++ 15 files changed, 1902 insertions(+), 303 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/cmm/fms/EgovBBSFileListCustom.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide_back_231120.jsp create mode 100644 src/main/webapp/js/web_common_custom.js diff --git a/src/main/java/kcc/com/cmm/web/EgovFileMngController.java b/src/main/java/kcc/com/cmm/web/EgovFileMngController.java index 67246c8e..27b5d058 100644 --- a/src/main/java/kcc/com/cmm/web/EgovFileMngController.java +++ b/src/main/java/kcc/com/cmm/web/EgovFileMngController.java @@ -410,4 +410,31 @@ public class EgovFileMngController { return "cmm/fms/selectForNmChgFile"; } + + /** + * 게시판 첨부파일에 대한 목록을 조회한다. + * + * @param fileVO + * @param commandMap + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cmm/fms/selectBBSFileInfsCustom.do") + public String selectBBSFileInfsCustom(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map commandMap, ModelMap model) throws Exception { + String atchFileId = (String) commandMap.get("param_atchFileId"); + String pdfView = (String) commandMap.get("pdf_view"); //'Y' 이면 pdf 직접 보여주기 + + fileVO.setAtchFileId(atchFileId); + List result = fileService.selectFileInfs(fileVO); + model.addAttribute("fileList", result); + model.addAttribute("updateFlag", "N"); + model.addAttribute("fileListCnt", result.size()); + model.addAttribute("atchFileId", atchFileId); + if("Y".equals(pdfView)){ + model.addAttribute("pdfView", pdfView); + } + + return "cmm/fms/EgovBBSFileListCustom"; + } } diff --git a/src/main/java/kcc/com/utl/user/service/CheckFileUtil.java b/src/main/java/kcc/com/utl/user/service/CheckFileUtil.java index a80a6db9..a9aea0c1 100644 --- a/src/main/java/kcc/com/utl/user/service/CheckFileUtil.java +++ b/src/main/java/kcc/com/utl/user/service/CheckFileUtil.java @@ -299,6 +299,62 @@ public class CheckFileUtil { , i_data_start_row ); } + + /** + * @param p_multiRequest - MultipartHttpServletRequest + * @param p_modelAndView - ModelAndView + * @param p_file_nm_prefix - 파일 저장명 prefix + * @param p_exts - 가능한 확장자 + * @param p_i_file_size - 가능한 파일 용량 MB 단위 + * @param p_i_file_count - 가능한 파일 수량 + * @return + * @throws Exception + */ + public String fileValCheckNdbInsertCustom( +// MultipartHttpServletRequest p_multiRequest + Map files + , ModelAndView p_modelAndView + , String p_file_nm_prefix //파일 저장명 prefix + , String p_exts //가능한 확장자를 받는다. | + , int p_i_file_size //가능한 파일 용량 MB 단위 + , int p_i_file_count //가능한 파일 수량 + + ) throws Exception{ + + return this.p_fileValCheckNdbInsertCustom(files, p_modelAndView, p_file_nm_prefix, p_exts, p_i_file_size, p_i_file_count); + + } + + + + /** + * @param p_multiRequest - MultipartHttpServletRequest + * @param p_modelAndView - ModelAndView + * @param p_file_nm_prefix - 파일 저장명 prefix + * @param p_exts - 가능한 확장자 + * @param p_i_file_size - 가능한 파일 용량 MB 단위 + * @param p_i_file_count - 가능한 파일 수량 + * @param p_atchFileId - 기존 파일 그룹명 + * @return + * @throws Exception + */ + public String fileValCheckNdbUpdateCustom( +// MultipartHttpServletRequest p_multiRequest + Map files + , ModelAndView p_modelAndView + , String p_file_nm_prefix //파일 저장명 prefix + , String p_exts //가능한 확장자를 받는다. | + , int p_i_file_size //가능한 파일 용량 MB 단위 + , int p_i_file_count //가능한 파일 수량 + , String p_atchFileId + //, BoardMasterVO p_bmVO //게시판 형인 경우 사용 + ) throws Exception{ + + return this.p_fileValCheckNdbUpdateCustom(files, p_modelAndView, p_file_nm_prefix, p_exts, p_i_file_size, p_i_file_count, p_atchFileId); + } + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // @@ -939,5 +995,126 @@ public class CheckFileUtil { return p_atchFileId; } + + + + + /** + * @param p_multiRequest - MultipartHttpServletRequest + * @param p_modelAndView - ModelAndView + * @param p_file_nm_prefix - 파일 저장명 prefix + * @param p_exts - 가능한 확장자 + * @param p_i_file_size - 가능한 파일 용량 MB 단위 + * @param p_i_file_count - 가능한 파일 수량 + * @return + * @throws Exception + */ + private String p_fileValCheckNdbInsertCustom( +// MultipartHttpServletRequest p_multiRequest + Map files + , ModelAndView p_modelAndView + , String p_file_nm_prefix //파일 저장명 prefix + , String p_exts //가능한 확장자를 받는다. | + , int p_i_file_size //가능한 파일 용량 MB 단위 + , int p_i_file_count //가능한 파일 수량 + + ) throws Exception{ + + LOGGER.debug("CheckFileUtil.fileValCheckNdbInsertCustom()"); + + boolean in_bool = true; + + + List result = null; + String atchFileId = ""; + String isThumbFile = ""; + //String isThumbFile = "thumbFile"; //"thumbFile" - 썸네일을 생성한다. + +// final Map files = p_multiRequest.getFileMap(); + if (!files.isEmpty()) { + result = egovFileMngUtil.parseFileInf(files, p_file_nm_prefix, 0, "", "", isThumbFile); + + + //관리자에서 게시판 설정시 업로드 파일 사이즈와 수량 체크용 + //사용자 설정용 업로드 파일 사이즈 & 파일 수량 & 확장자 체크용 + if(!isPosblAtchFileMvWithUserSetting(result, p_modelAndView, p_exts, p_i_file_size, p_i_file_count, 0)) { + p_modelAndView.addObject("result", "fail"); + in_bool = false; + }else { + atchFileId = fileMngService.insertFileInfs(result); //첨부 파일 + } + + }else { + System.out.println("isempty"); + } + + if (!in_bool) atchFileId = "ERROR"; + + return atchFileId; + } + + //사용자 업로드 파일 처리 - 파일수량 상관없음 - 전자정부 게시판 인 경우에 대한 변형만 있음(파일수량은 1~ 처리 가능) + /** + * @param p_multiRequest - MultipartHttpServletRequest + * @param p_modelAndView - ModelAndView + * @param p_file_nm_prefix - 파일 저장명 prefix + * @param p_exts - 가능한 확장자 + * @param p_i_file_size - 가능한 파일 용량 MB 단위 + * @param p_i_file_count - 가능한 파일 수량 + * @param p_atchFileId - 기존 파일 그룹명 + * @return + * @throws Exception + */ + private String p_fileValCheckNdbUpdateCustom( +// MultipartHttpServletRequest p_multiRequest + Map files + , ModelAndView p_modelAndView + , String p_file_nm_prefix //파일 저장명 prefix + , String p_exts //가능한 확장자를 받는다. | + , int p_i_file_size //가능한 파일 용량 MB 단위 + , int p_i_file_count //가능한 파일 수량 + , String p_atchFileId + //, BoardMasterVO p_bmVO //게시판 형인 경우 사용 + ) throws Exception{ + + LOGGER.debug("CheckFileUtil.fileValCheckNdbUpdateCustom()"); + + boolean in_bool = true; + + List result = null; + //String atchFileId = ""; + String isThumbFile = ""; + //String isThumbFile = "thumbFile"; //"thumbFile" - 썸네일을 생성한다. + +// final Map files = p_multiRequest.getFileMap(); + if (!files.isEmpty()) { + FileVO fvo = new FileVO(); + fvo.setAtchFileId(p_atchFileId); + int cnt = fileMngService.getMaxFileSN(fvo); + + + //관리자에서 게시판 설정시 업로드 파일 사이즈와 수량 체크용 + //사용자 설정용 업로드 파일 사이즈 & 파일 수량 & 확장자 체크용 + if(!isPosblAtchFileMvWithUserSetting(result, p_modelAndView, p_exts, p_i_file_size, p_i_file_count, 0)) { + p_modelAndView.addObject("result", "fail"); + + in_bool = false; + + }else { + //atchFileId = fileMngService.insertFileInfs(result); //첨부 파일 + //result = egovFileMngUtil.parseFileInf(files, "CHGDATE_", cnt, p_atchFileId, "", isThumbFile); + result = egovFileMngUtil.parseFileInf(files, p_file_nm_prefix, cnt, p_atchFileId, "", isThumbFile); + fileMngService.updateFileInfs(result); + + } + + }else { + System.out.println("isempty"); + } + + if (!in_bool) p_atchFileId = "ERROR"; + + return p_atchFileId; + } } \ No newline at end of file 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 8f95cbab..4ecec0a3 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 @@ -182,6 +182,20 @@ public class ExprnClsrmAplctController { detailVO = vEPrcsAplctPrdService.selectDetailNewOne(detailVO); model.addAttribute("detailVO", detailVO); + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + + VEPrcsDetailVO info = vEPrcsAplctPrdService.selectPagingList(vEPrcsDetailVO).get(0); + model.addAttribute("info", info); + + //파일 정보 가져오기 + FileVO fileVO_cn = new FileVO(); + fileVO_cn.setAtchFileId(info.getCnAtchFileId()); + List result_cn = fileService.selectFileInfs(fileVO_cn); + model.addAttribute("fileList", result_cn); + model.addAttribute("fileListCnt", result_cn.size()); + + + return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide"; } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 717cd553..9eff236d 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -142,6 +142,9 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String chrctCn; private String prcsAplctPrdEtcOrd; + private String dprtmNm; + private String cnAtchFileId; + @@ -686,6 +689,19 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setPrcsAplctPrdEtcOrd(String prcsAplctPrdEtcOrd) { this.prcsAplctPrdEtcOrd = prcsAplctPrdEtcOrd; } + public String getDprtmNm() { + return dprtmNm; + } + public void setDprtmNm(String dprtmNm) { + this.dprtmNm = dprtmNm; + } + public String getCnAtchFileId() { + return cnAtchFileId; + } + public void setCnAtchFileId(String cnAtchFileId) { + this.cnAtchFileId = cnAtchFileId; + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java index 29f8d8e6..fba89adc 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java @@ -44,8 +44,9 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { //U public int update(VEPrcsDetailVO paramVO) throws Exception{ - vEPrcsAplctPrdDAO.update(paramVO); - return vEPrcsDAO.update(paramVO); +// vEPrcsAplctPrdDAO.update(paramVO); +// return vEPrcsDAO.update(paramVO); + return vEPrcsAplctPrdDAO.update(paramVO); } //D 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 07e63813..c4ef1d92 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 @@ -2,7 +2,9 @@ package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -13,6 +15,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.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -97,6 +100,11 @@ public class OprtnAplctAnncmMngController { @Resource(name = "vEPrcsMIXService") private VEPrcsMIXService vEPrcsMIXService; + //교육과정순번 + @Resource(name="prcsAplctPrdGnrService") + private EgovIdGnrService prcsAplctPrdGnrService; + + /* // 교육신청 서비스단 @@ -230,6 +238,13 @@ public class OprtnAplctAnncmMngController { List result = fileService.selectFileInfs(fileVO); model.addAttribute("fileList", result); model.addAttribute("fileListCnt", result.size()); + + //파일 정보 가져오기 + FileVO fileVO_cn = new FileVO(); + fileVO_cn.setAtchFileId(info.getCnAtchFileId()); + List result_cn = fileService.selectFileInfs(fileVO_cn); + model.addAttribute("fileList", result_cn); + model.addAttribute("fileListCnt", result_cn.size()); return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail"; @@ -308,6 +323,11 @@ public class OprtnAplctAnncmMngController { model.addAttribute("fileList", result); model.addAttribute("fileListCnt", result.size()); + FileVO fileVO_cn = new FileVO(); + fileVO_cn.setAtchFileId(info.getCnAtchFileId()); + List result_cn = fileService.selectFileInfs(fileVO_cn); + model.addAttribute("fileList_cn", result_cn); + model.addAttribute("fileListCnt_cn", result_cn.size()); return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate"; } @@ -347,6 +367,9 @@ public class OprtnAplctAnncmMngController { //step2.첨부파일 체크 후 저장 하기 String s_scholSealAtchFileId = ""; s_scholSealAtchFileId = vEPrcsDetailVO.getAtchFileId(); + + String cnAtchFileId = ""; + cnAtchFileId = vEPrcsDetailVO.getCnAtchFileId(); //DB에서 실제 첨부파일 존재 여부 확인 FileVO fileVO = new FileVO(); @@ -356,6 +379,13 @@ public class OprtnAplctAnncmMngController { s_scholSealAtchFileId = ""; } + FileVO cnFileVO = new FileVO(); + cnFileVO.setAtchFileId(cnAtchFileId); + List cnResult = fileService.selectFileInfs(cnFileVO); + if (cnResult.size()<=0) { + cnAtchFileId = ""; + } + //step3.파일 처리==================================== //파일 정상 처리 여부와 첨부 파일 정보 @@ -364,13 +394,36 @@ public class OprtnAplctAnncmMngController { 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 - + + int i_file_limit_cn = 50; // file count + int i_limit_size_cn = 100; // file MB + String s_file_exts_cn = "pdf|txt"; // file exts + + + final Map files = multiRequest.getFileMap(); + + Map files_ori = new HashMap(); + Map files_cn = new HashMap(); + + + files.forEach((k,v) -> { + if( k.contains("file_cn") || k.contains("file_temp_cn")) { + files_cn.put(k, v); + }else { + files_ori.put(k, v); + } + }); + + //break point +// if(true) { +// return modelAndView; +// } //기존 파일 존재 여부에 따라서 insert or update 처리 if ("".equals(s_scholSealAtchFileId)) { - //atchFileId = this.fileValCheckNdbInsert(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit); //EXT, MB size and ea - s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( - multiRequest, modelAndView + //atchFileId = this.fileValCheckNdbInsert(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit); //EXT, MB size and ea + s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsertCustom( + files_ori, modelAndView , "ATCH_" , s_file_exts , i_limit_size @@ -379,8 +432,8 @@ public class OprtnAplctAnncmMngController { vEPrcsDetailVO.setAtchFileId(s_scholSealAtchFileId); }else { //atchFileId = this.fileValCheckNdbUpdate(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit, atchFileId); //EXT, MB size and ea - s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdate( - multiRequest, modelAndView + s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdateCustom( + files_ori, modelAndView , "ATCH_" , s_file_exts , i_limit_size @@ -391,6 +444,29 @@ public class OprtnAplctAnncmMngController { if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + + if ("".equals(cnAtchFileId)) { + cnAtchFileId = checkFileUtil.fileValCheckNdbInsertCustom( + files_cn, modelAndView + , "ATCH_" + , s_file_exts_cn + , i_limit_size_cn + , i_file_limit_cn + ); //EXT, MB size and ea + vEPrcsDetailVO.setCnAtchFileId(cnAtchFileId); + }else { + cnAtchFileId = checkFileUtil.fileValCheckNdbUpdateCustom( + files_cn, modelAndView + , "ATCH_" + , s_file_exts_cn + , i_limit_size_cn + , i_file_limit_cn + , cnAtchFileId + ); //EXT, MB size and ea + } + + if ("ERROR".equals(cnAtchFileId)) return modelAndView; + //step3.파일 처리==================================== @@ -459,23 +535,54 @@ public class OprtnAplctAnncmMngController { 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 + + int i_file_limit_cn = 50; // file count + int i_limit_size_cn = 100; // file MB + String s_file_exts_cn = "pdf|txt"; // file exts + + final Map files = multiRequest.getFileMap(); + + Map files_ori = new HashMap(); + Map files_cn = new HashMap(); + + files.forEach((k,v) -> { + if( k.contains("file_cn") || k.contains("file_temp_cn")) { + files_cn.put(k, v); + }else { + files_ori.put(k, v); + } + }); - String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( - multiRequest, modelAndView + String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsertCustom( + files_ori, modelAndView , "ATCH_" //file_name_prefix - , s_file_exts - , i_limit_size - , i_file_limit + , s_file_exts_cn + , i_limit_size_cn + , i_file_limit_cn ); //EXT, MB size and ea if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + String s_cnAtchFileId = checkFileUtil.fileValCheckNdbInsertCustom( + files_cn, modelAndView + , "ATCH_" //file_name_prefix + , s_file_exts_cn + , i_limit_size_cn + , i_file_limit_cn + ); //EXT, MB size and ea + + if ("ERROR".equals(s_cnAtchFileId)) return modelAndView; + //step2.파일 처리==================================== //번호 생성 및 디비 생성해주기 - String prcsAplctPrdOrd = prcsGnrService.getNextStringId(); // 고유ID +// String prcsAplctPrdOrd = prcsGnrService.getNextStringId(); // 고유ID +// String prcsAplctPrdOrd = prcsAplctGnrService.getNextStringId(); // 고유ID + String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID vEPrcsDetailVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 + vEPrcsDetailVO.setCnAtchFileId(s_cnAtchFileId); //안내 첨부파일 + vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); System.out.println("vEPrcsDetailVO.getStrtPnttm()"); diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml index 697df2ef..3edcb61e 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml @@ -38,6 +38,8 @@ ,edu_strt_pnttm ,edu_ddln_pnttm ,edu_place + ,dprtm_nm + ,cn_atch_file_id @@ -73,7 +75,8 @@ ,a.edu_strt_pnttm AS eduStrtPnttm ,a.edu_ddln_pnttm AS eduDdlnPnttm - + ,a.dprtm_nm AS dprtmNm + ,a.cn_atch_file_id AS cnAtchFileId @@ -109,7 +112,9 @@ ,#ddlnCd# ,#eduStrtPnttm# ,#eduDdlnPnttm# - ,#eduPlace# + ,#eduPlace# + ,#dprtmNm# + ,#cnAtchFileId# ) @@ -224,6 +229,12 @@ , edu_place = #eduPlace# + + + , dprtm_nm = #dprtmNm# + + + , cn_atch_file_id = #cnAtchFileId# WHERE diff --git a/src/main/webapp/WEB-INF/jsp/cmm/fms/EgovBBSFileListCustom.jsp b/src/main/webapp/WEB-INF/jsp/cmm/fms/EgovBBSFileListCustom.jsp new file mode 100644 index 00000000..a411993d --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/cmm/fms/EgovBBSFileListCustom.jsp @@ -0,0 +1,139 @@ +<%@ 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 : EgovFileList.jsp + * @Description : 파일 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- ------ --------------------------- + * @ 2009.03.26 이삼섭 최초 생성 + * @ 2011.07.20 옥찬우 Tag id속성 추가( Line : 68 ) + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.26 + * @version 1.0 + * @see + * + */ +%> + + + + + + +
    + +
+
  • + ','')" class="fileName" title="다운로드"> +  <%-- [ byte] --%> + + + +<%-- ','' , '' )"> --%> + + + + + +
  • + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail.jsp index 7540d084..acb17dbd 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail.jsp @@ -338,7 +338,26 @@ - + + + + + + + + + <%-- + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp index 9ff43a4f..5444b41a 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.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" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> <% /** * @Class Name : oprtnAplctAnncmMngUpdate.jsp @@ -32,11 +33,15 @@ + @@ -250,6 +264,7 @@ + @@ -588,6 +603,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp index f8248a2b..c561a4ab 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp @@ -5,6 +5,9 @@ <%@ 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"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<%pageContext.setAttribute("crlt", "<"); %> +<%pageContext.setAttribute("crgt", ">"); %> 운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템 @@ -81,316 +84,60 @@

    운영신청 안내

    +
    -

    사업개요

    +

    제목

    -
    -
    · 사업내용
    -
    학교 현장의 교사가 초·중 ·고등학생을 대상으로 체험활동 중심의 저작권 교육을 실시하도록 지원함으로써 청소년의 저작권 인식 제고 도모
    -
    -
    -
    · 운영 지원 학급
    - 전국 초·중·고등학교 350개교 -
      -
    • - 학교 교사가 직접 1학교당 1개 학급 이상 또는 동아리 등을 대상으로 저작권 체험교실을 운영할 수 있도록 지원
    • -
    -
    * 여러 명의 교사가 함께 체험교실 운영 불가
    -
    -
    -
    -
    · 운영 시간
    -
    - 총 6차시(교시, 차시 당 40~50분) -
      -
    • - 대상 학급 또는 동아리를 기준으로 6차시 이상 교육 실시함
    • -
    • - 담당교사의 재량으로 자율 편성(예 : 6차시씩 1일, 2차시씩 3일 등)하되, 1일 최대 2차시까지만 운영 가능
    • -
    -
    -
    -
    -
    · 교육 주체
    -
    - 체험 교실 운영 대상으로 선정된 학교의 담당 교사 1인 -
      -
    • - 운영교사에게는 저작권 교육내용 연구 및 교수학습법 적용에 대한 외부 강의료 지급
    • -
    -
    * 1차시 당 15만원(최대 6차시) 지급. 단, 결과보고서 제출자에 한함
    -
    -
    -
    -
    · 교육 내용
    -
    -
      -
    • - 체험 활동 중심 저작권 교육 프로그램 활용을 통한 저작권 개념, 올바른 저작물 이용방법, 저작권 문제 해결 방법 등 교육
    • - -
    -
    * 원활한 교육 운영을 위해 교육 교재[첨부4]를 지원하오나, 교사 재량에 따라 저작권 교육 연구내용 및 창의적 체험 활동 등 자유롭게 구성 가능
    +
    -
    -

    교육 신청

    +

    부서

    - -
    +
    -
    · 신청방법
    -
    신청서(첨부 1)를 작성하여 학교장 직인 날인 후 위원회 홈페이지(www.copyright.or.kr/offedu)에서 개별 접수
    -
      -
    • - 신청기간 : 2023. 2. 27.(월) ~ 3. 6.(월), 9:00 ~ 18:00
    • -
      * 세부 신청 절차는 [첨부] 참조
      -
    -
    -
    -
    -
    · 운영교사 인원
    -
    전국 초·중·고 교사 350명 선정
    -
    -
      -
    • - - 체험교실 운영 교사 선정 기준 -
        -
      • · 지역균형 및 초·중등 학급 수 비율 고려
      • -
      • · 운영 교사 전체의 50% 수준으로 신규 운영교사 선정 고려
      • -
      • · 위원회 주관의 저작권 오프라인 교원연수 이수자 우선 고려
      • -
      • * 2022.1.1. 이후 특수 분야 교원 연수(교원을 위한 저작권법 입문과정, 학교 교육을 위한 저작권법 실전과정) 이수자
      • -
      • · 위원회 공동 주관, KERIS 협업과정 오프라인 교원연수 이수자 우선 고려
      • -
      • * 2021.8. 교육기관 저작권 전문가 양성 연수「기초과정」이수자, 2022.8. 교육기관 저작권 전문가 양성 연수「중급과정」이수자
      • -
      • · 교육 대상인원이 15명 미만인 경우 선정에서 제외하며, 도서벽지 또는 인구감소 지역의 경우에는 교육 대상인원과 관계없이 우선 선정 고려
      • -
      • · 전년도 포기 교사 및 불성실 운영 교사(기존 보고 내용 답습 등)는 당해연도 참여 제한
      • -
      • · 해당 학급 및 지역 경쟁률이 높을 경우 3년 연속 또는 5회 이상 운영 교사는 차순위로 배정될 수 있음
      • -
      -
    • -
    +
    -
    -

    교육 운영

    +

    등록일

    - -
    +
    -
    · 사전 연수
    - 저작권 체험교실 선정 교사를 대상으로 저작권 기본 이론 및 프로그램 운영 전반에 대한 사전 안내 등 연수 실시 -
      -
    • - 연수시간: 각 일자별 09:00~18:00(예정)
    • -
    -
    교육부문과정명설명등록일시사용여부 질문자ID질문자이름질문내용답변상태질문일시답변일시
    - + ');" style="cursor:pointer;"> - + ');" style="cursor:pointer;"> + ');" style="cursor:pointer;"> - + ');" style="cursor:pointer;"> + - + + + 미완료 + + + 완료 + + + + - - 사용 - - - 미사용 - + + + - + + + + +
    관할청 - - + + + + + + + + +
    - + --%> + + + + From f2ee4038c671a70e3b12c27424e67390465fbdd3 Mon Sep 17 00:00:00 2001 From: jiwoo Date: Mon, 20 Nov 2023 20:49:43 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=EC=9E=90=20=EC=B2=AD=EC=86=8C=EB=85=84/=EC=84=B1?= =?UTF-8?q?=EC=9D=B8=20=EC=8B=A0=EC=B2=AD=EC=83=81=EC=84=B8,=20=EB=B0=B0?= =?UTF-8?q?=EC=B9=98=ED=99=95=EC=A0=95=EC=83=81=EC=84=B8=20SMS,=20?= =?UTF-8?q?=EB=A7=A4=EC=9D=BC=20=EC=95=8C=EB=A6=BC=20=EC=A0=84=EC=86=A1=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/kcc/ve/cmm/VeSendMail.java | 7 +- .../pblc/sndMng/web/SndMngController.java | 9 ++- .../oprtn/adultVisitEdu/eduAplctMngDetail.jsp | 40 +++++++--- .../adultVisitEdu/eduAsgnmCnfrmMngDetail.jsp | 63 ++++++++++------ .../tngrVisitEdu/eduAsgnmCnfrmMngDetail.jsp | 73 +++++++++++++++++-- 5 files changed, 150 insertions(+), 42 deletions(-) diff --git a/src/main/java/kcc/ve/cmm/VeSendMail.java b/src/main/java/kcc/ve/cmm/VeSendMail.java index f723723a..9c3da710 100644 --- a/src/main/java/kcc/ve/cmm/VeSendMail.java +++ b/src/main/java/kcc/ve/cmm/VeSendMail.java @@ -75,7 +75,10 @@ public class VeSendMail { { String id = "no-reply@copyright.or.kr"; String pw = "Copycopy12!"; - if("C".equals(sndFlag) || "Z".equals(sndFlag)) { + /*231120 - 성인 교육용 메일 정보 불일치 > 전부 청소년 메일로 우선 사용*/ + id = "school@copyright.or.kr"; + pw = "dustndnjs2669!"; + /*if("C".equals(sndFlag) || "Z".equals(sndFlag)) { id = "school@copyright.or.kr"; //pw = "연수원2669!"; pw = "dustndnjs2669!"; @@ -93,7 +96,7 @@ public class VeSendMail { id = vEEduAplctVO.getClphone1(); pw = vEEduAplctVO.getClphone2(); - } + }*/ System.out.println(id); System.out.println(pw); diff --git a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java index 4487472f..e9f70a8c 100644 --- a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java +++ b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java @@ -386,21 +386,24 @@ public class SndMngController { vEEduAplctVO.setEmail("tolag3@gmail.com"); } + String message = "정상적으로 발송되었습니다."; String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); - if("success".equals(result)) { //메일 발송 로그 String snd_ord = sndGnrService.getNextStringId(); vEEduAplctVO.setSndHstryOrd(snd_ord); vEEduAplctVO.setSndId(loginVO.getUniqId()); - + vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail()); vEEduAplctSndHstryService.insert(vEEduAplctVO); - } + }else { + message = "발송 실패하였습니다."; + } //메일 발송 부 끝 modelAndView.addObject("result", result); + modelAndView.addObject("message", message); return modelAndView; diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp index 246f3442..19ac9aae 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/adultVisitEdu/eduAplctMngDetail.jsp @@ -154,7 +154,7 @@ } } //sms 발송 - function fncSndSms(){ + /* function fncSndSms(){ var p_smsMsg = $("#smsMsg").val(); @@ -170,6 +170,24 @@ p_smsMsg ,"" ); + } */ + + function fncSndSms(){ + + var p_smsMsg = $("#smsMsg").val(); + + if (p_smsMsg==""){ + alert("SMS 발송 내용은 필수값입니다."); + return false; + } + + + fncContent( + "${pageContext.request.contextPath}/kccadr/oprtn/pblc/offeduSMSSndAjax.do", + "10", //코드 10:sms 20:mail + p_smsMsg, + "" + ); } //이메일 발송 @@ -193,22 +211,22 @@ //발송 function fncContent(p_url, p_cd, p_cn, p_flag){ - //sndFlag 메일발송 페이지 구분값(페이지마다 발송 계정이 다르기 때문에)_이준호_220221 $.ajax({ type: "POST", - // enctype: 'multipart/form-data', + // enctype: 'multipart/form-data', url:p_url, //data: data, data:{ - "sndCd": p_cd, + "sndCd": p_cd, "sndCn": p_cn, "eduAplctOrd": $("#eduAplctOrd").val(), "clphone": '', "email": '', - "sndFlag": p_flag + "sndFlag": p_flag, + "trgtId" : '' }, - /* dataType:'json', + /* async: false, processData: false, contentType: false, @@ -217,10 +235,9 @@ success:function(returnData){ if(returnData.result == "success"){ - alert("정상적으로 발송되었습니다."); - location.reload(true); + alert(returnData.message); }else{ - alert("발송 중 오류가 발생하였습니다."); + alert(returnData.message); } }, error:function(request , status, error){ @@ -589,10 +606,11 @@
    - + +
    -

    0/90 byte

    +
    - + +
    -

    0/90 byte

    +
    - + +
    -

    0/90 byte

    +
    +

    작성자

    +
    + +
    +

    안내첨부파일

    +
    + + + + +

    안내내용

    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 b966cd5e..38f1278b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp @@ -9,6 +9,7 @@ <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%> <% /** * @Class Name : oprtnAplctAnncmMngReg.jsp @@ -32,9 +33,12 @@ + @@ -594,6 +606,105 @@
    +

    필수입력 항목*

    +

    담당부서

    +
    + +
    +

    필수입력 항목*

    +

    내용

    +
    + + + +
    +

    필수입력 항목*

    +

    안내첨부파일

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

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

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

    필수입력 항목*

    +

    담당부서

    +
    + +
    +

    필수입력 항목*

    +

    내용

    +
    + + + +
    +

    필수입력 항목*

    +

    안내첨부파일

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

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

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    첨부파일 리스트 : 파일명, 종류, 크기, 삭제
    파일 명종류크기삭제
    + + + "> + + "> + + +
    +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분3.25.(토)4.1.(토)4.8.(토)참고
    참여대상(신규)      
    초등 교사
    (신규)           
    중·고등 교사
    (신규)               
    초·중·고등 교사
    참여 대상에 맞춰 교육 프로그램 설계
    단, 사전 협의시 일정 변경 가능         
    - -
    -
      -
    • - (방법) 비대면 온라인 교육
    • -
    • 【 체험교실 운영 교사 필수 교육 안내 】
    • -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분필수교육비고
    신규 교사- 사전 연수(연수일) -
    - 온라인 교육(23년 3월~결과보고 제출일) -
      ‣‘저작권 e-배움터’의 교원 대상 교육(15학점 또는 30학점) -
    필수 교육 2개 모두 이수
    기존 교사- 사전 연수(연수일) -
    - 온라인 교육(23년 3월~결과보고 제출일) -
      ‣‘저작권 e-배움터’의 교원 대상 교육(15학점 또는 30학점) -
    필수 교육 2개 중 하나 이수
    -
    * 필수교육 미이수시 선정 취소
    -
    - - -
    -
    · 저작권 체험교실 대상 지원
    -
    -
      -
    • - 저작권 체험교실 운영교사 대상 사전 연수 실시 (3회)
    • -
    • - 청소년 저작권 교육용 교재(초·중등 각 1종 및 교사용 지도서)
    • -
    • - 기타 청소년 저작권 교육·홍보 자료 수시 제공
    • -
    -
    -
    -
    -
    · 결과 제출
    -
    저작권 체험교실 운영 교사는 반드시 결과보고서를 제출해야 하며, 본 자료는 강의료 지급 근거이자 우수 운영 교사 선정을 위한 평가 대상으로 활용됨 -
      -
    • - 2023. 10. 13.(금)까지 교육 결과보고서를 위원회로 제출
    • -
    -
    -
    -
    -
    · 우수 운영 교사 선정
    -
    저작권 체험교실 운영 교사가 제출한 결과보고서를 토대로 우수 운영 교사를 선정하여 포상 실시 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분대상자 및 인원상세내역총계(천원)
    최우수초‧중‧고 교사 중 1명- (교사) 상장 및 상금 50만원 -
    - (참여학생) 50만원 상당의 기념품
    1,000
    우수상초‧중‧고 교사 3명- (교사) 상장 및 상금 30만원 -
    - (참여학생) 50만원 상당의 기념품
    2,400
    장려상초‧중‧고 교사 5명- (교사) 상장 및 상금 20만원 -
    - (참여학생) 50만원 상당의 기념품
    3,500
    특별상으뜸상 1명- (교사) 상장 및 부상 50만원500
    버금상 2명- (교사) 상장 및 부상 30만원600
    합계총12명-8,000
    -
    * 상기 포상 내역은 위원회 사정에 따라 변경될 수 있음 -
    * 체험교실 운영 과정에서 본인만의 교육자료(교안, 교보재 등)를 만든 교사 중 우수 교육자료 제작‧활용 교사에게 특별상 수여
    -
    -
    -
    -
    · 의견청취
    -
    * 체험교실 운영 학급 현장 방문 또는 의견 청취 회의 개최
    -
    -
    -
    · 추진일정
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    추진일정관련 구분, 상세일정을 제공하는 표
    구분상세일정
    체험교실 신청서 접수2월 27일(월)~3월 6일(월), 7일간
    운영교사 선정 및 학교 통보3월 17일(금), 예정
    운영교사 사전 연수
    * 신규운영 교사는 2개 그룹(초/중등)으로 나누어 진행
    3월 25일(토): 신규 초등 교사
    4월 1일(토): 신규 중․고등 교사
    4월 8일(토): 기존 교사
    결과보고서 제출 마감10월 13일(금)
    우수학급 선정 및 포상11월~12월
    -
    * 상기 일정은 위원회 내부 사정에 따라 변경될 수 있음
    +
    +
    +
    +

    첨부파일

    +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +
    @@ -403,5 +150,3 @@
    - - diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide_back_231120.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide_back_231120.jsp new file mode 100644 index 00000000..f8248a2b --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide_back_231120.jsp @@ -0,0 +1,407 @@ +<%@ 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"%> + +운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템 + + + +
    +
    +

    운영신청 안내

    +
    +
    +
    +

    사업개요

    +
    +
    + +
    +
    +
    · 사업내용
    +
    학교 현장의 교사가 초·중 ·고등학생을 대상으로 체험활동 중심의 저작권 교육을 실시하도록 지원함으로써 청소년의 저작권 인식 제고 도모
    +
    +
    +
    · 운영 지원 학급
    +
    + 전국 초·중·고등학교 350개교 +
      +
    • - 학교 교사가 직접 1학교당 1개 학급 이상 또는 동아리 등을 대상으로 저작권 체험교실을 운영할 수 있도록 지원
    • +
    +
    * 여러 명의 교사가 함께 체험교실 운영 불가
    +
    +
    +
    +
    · 운영 시간
    +
    + 총 6차시(교시, 차시 당 40~50분) +
      +
    • - 대상 학급 또는 동아리를 기준으로 6차시 이상 교육 실시함
    • +
    • - 담당교사의 재량으로 자율 편성(예 : 6차시씩 1일, 2차시씩 3일 등)하되, 1일 최대 2차시까지만 운영 가능
    • +
    +
    +
    +
    +
    · 교육 주체
    +
    + 체험 교실 운영 대상으로 선정된 학교의 담당 교사 1인 +
      +
    • - 운영교사에게는 저작권 교육내용 연구 및 교수학습법 적용에 대한 외부 강의료 지급
    • +
    +
    * 1차시 당 15만원(최대 6차시) 지급. 단, 결과보고서 제출자에 한함
    +
    +
    +
    +
    · 교육 내용
    +
    +
      +
    • - 체험 활동 중심 저작권 교육 프로그램 활용을 통한 저작권 개념, 올바른 저작물 이용방법, 저작권 문제 해결 방법 등 교육
    • + +
    +
    * 원활한 교육 운영을 위해 교육 교재[첨부4]를 지원하오나, 교사 재량에 따라 저작권 교육 연구내용 및 창의적 체험 활동 등 자유롭게 구성 가능
    +
    +
    +
    + +
    +
    +

    교육 신청

    +
    +
    + +
    +
    +
    · 신청방법
    +
    신청서(첨부 1)를 작성하여 학교장 직인 날인 후 위원회 홈페이지(www.copyright.or.kr/offedu)에서 개별 접수
    +
    +
      +
    • - 신청기간 : 2023. 2. 27.(월) ~ 3. 6.(월), 9:00 ~ 18:00
    • +
      * 세부 신청 절차는 [첨부] 참조
      +
    +
    +
    +
    +
    · 운영교사 인원
    +
    전국 초·중·고 교사 350명 선정
    +
    +
      +
    • + - 체험교실 운영 교사 선정 기준 +
        +
      • · 지역균형 및 초·중등 학급 수 비율 고려
      • +
      • · 운영 교사 전체의 50% 수준으로 신규 운영교사 선정 고려
      • +
      • · 위원회 주관의 저작권 오프라인 교원연수 이수자 우선 고려
      • +
      • * 2022.1.1. 이후 특수 분야 교원 연수(교원을 위한 저작권법 입문과정, 학교 교육을 위한 저작권법 실전과정) 이수자
      • +
      • · 위원회 공동 주관, KERIS 협업과정 오프라인 교원연수 이수자 우선 고려
      • +
      • * 2021.8. 교육기관 저작권 전문가 양성 연수「기초과정」이수자, 2022.8. 교육기관 저작권 전문가 양성 연수「중급과정」이수자
      • +
      • · 교육 대상인원이 15명 미만인 경우 선정에서 제외하며, 도서벽지 또는 인구감소 지역의 경우에는 교육 대상인원과 관계없이 우선 선정 고려
      • +
      • · 전년도 포기 교사 및 불성실 운영 교사(기존 보고 내용 답습 등)는 당해연도 참여 제한
      • +
      • · 해당 학급 및 지역 경쟁률이 높을 경우 3년 연속 또는 5회 이상 운영 교사는 차순위로 배정될 수 있음
      • +
      +
    • +
    +
    +
    +
    + +
    +
    +

    교육 운영

    +
    +
    + +
    +
    +
    · 사전 연수
    +
    + 저작권 체험교실 선정 교사를 대상으로 저작권 기본 이론 및 프로그램 운영 전반에 대한 사전 안내 등 연수 실시 +
      +
    • - 연수시간: 각 일자별 09:00~18:00(예정)
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분3.25.(토)4.1.(토)4.8.(토)참고
    참여대상(신규)      
    초등 교사
    (신규)           
    중·고등 교사
    (신규)               
    초·중·고등 교사
    참여 대상에 맞춰 교육 프로그램 설계
    단, 사전 협의시 일정 변경 가능         
    +
    +
    +
      +
    • - (방법) 비대면 온라인 교육
    • +
    • 【 체험교실 운영 교사 필수 교육 안내 】
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분필수교육비고
    신규 교사- 사전 연수(연수일) +
    - 온라인 교육(23년 3월~결과보고 제출일) +
      ‣‘저작권 e-배움터’의 교원 대상 교육(15학점 또는 30학점) +
    필수 교육 2개 모두 이수
    기존 교사- 사전 연수(연수일) +
    - 온라인 교육(23년 3월~결과보고 제출일) +
      ‣‘저작권 e-배움터’의 교원 대상 교육(15학점 또는 30학점) +
    필수 교육 2개 중 하나 이수
    +
    * 필수교육 미이수시 선정 취소
    +
    + +
    +
    +
    · 저작권 체험교실 대상 지원
    +
    +
      +
    • - 저작권 체험교실 운영교사 대상 사전 연수 실시 (3회)
    • +
    • - 청소년 저작권 교육용 교재(초·중등 각 1종 및 교사용 지도서)
    • +
    • - 기타 청소년 저작권 교육·홍보 자료 수시 제공
    • +
    +
    +
    +
    +
    · 결과 제출
    +
    저작권 체험교실 운영 교사는 반드시 결과보고서를 제출해야 하며, 본 자료는 강의료 지급 근거이자 우수 운영 교사 선정을 위한 평가 대상으로 활용됨 +
      +
    • - 2023. 10. 13.(금)까지 교육 결과보고서를 위원회로 제출
    • +
    +
    +
    +
    +
    · 우수 운영 교사 선정
    +
    저작권 체험교실 운영 교사가 제출한 결과보고서를 토대로 우수 운영 교사를 선정하여 포상 실시 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    저작권 체험교실 운영 교사 대상 사전 연수관련 구분, 필수교육, 교육 미이수시를 제공하는 표
    구분대상자 및 인원상세내역총계(천원)
    최우수초‧중‧고 교사 중 1명- (교사) 상장 및 상금 50만원 +
    - (참여학생) 50만원 상당의 기념품
    1,000
    우수상초‧중‧고 교사 3명- (교사) 상장 및 상금 30만원 +
    - (참여학생) 50만원 상당의 기념품
    2,400
    장려상초‧중‧고 교사 5명- (교사) 상장 및 상금 20만원 +
    - (참여학생) 50만원 상당의 기념품
    3,500
    특별상으뜸상 1명- (교사) 상장 및 부상 50만원500
    버금상 2명- (교사) 상장 및 부상 30만원600
    합계총12명-8,000
    +
    * 상기 포상 내역은 위원회 사정에 따라 변경될 수 있음 +
    * 체험교실 운영 과정에서 본인만의 교육자료(교안, 교보재 등)를 만든 교사 중 우수 교육자료 제작‧활용 교사에게 특별상 수여
    +
    +
    +
    +
    · 의견청취
    +
    * 체험교실 운영 학급 현장 방문 또는 의견 청취 회의 개최
    +
    +
    +
    · 추진일정
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    추진일정관련 구분, 상세일정을 제공하는 표
    구분상세일정
    체험교실 신청서 접수2월 27일(월)~3월 6일(월), 7일간
    운영교사 선정 및 학교 통보3월 17일(금), 예정
    운영교사 사전 연수
    * 신규운영 교사는 2개 그룹(초/중등)으로 나누어 진행
    3월 25일(토): 신규 초등 교사
    4월 1일(토): 신규 중․고등 교사
    4월 8일(토): 기존 교사
    결과보고서 제출 마감10월 13일(금)
    우수학급 선정 및 포상11월~12월
    +
    * 상기 일정은 위원회 내부 사정에 따라 변경될 수 있음
    +
    +
    +
    + +
    +
    + + + + +
    +
    +
    + + + + diff --git a/src/main/webapp/js/ncms_common.js b/src/main/webapp/js/ncms_common.js index 6fb81b2a..aad1fc7b 100644 --- a/src/main/webapp/js/ncms_common.js +++ b/src/main/webapp/js/ncms_common.js @@ -337,6 +337,7 @@ function delete_item(obj, fileIdx){ }); $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; } + drawUploadArea(); } function drawUploadArea(){ diff --git a/src/main/webapp/js/web_common_custom.js b/src/main/webapp/js/web_common_custom.js new file mode 100644 index 00000000..89892ee5 --- /dev/null +++ b/src/main/webapp/js/web_common_custom.js @@ -0,0 +1,701 @@ +$(document).ready(function(){ //공통 js + + /* 목록 정렬 항목 아이콘 표시 */ + var searchSortCnd = $("[name='searchSortCnd']").val(); + var searchSortOrd = $("[name='searchSortOrd']").val(); + if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) { + var $sort_div = $("#sort_"+ searchSortCnd); + var sortClass = 'sortBtnAsc' ; + if (searchSortOrd == "desc") sortClass = "sortBtnDesc"; + $sort_div.replaceClass('btn_sort' , sortClass) ; + $sort_div.attr("btn_odr", searchSortOrd); + } + + // 정렬 항목 이벤트 + $(".sort").click(function(e) { + listSortOrd(this); + }); + + //파일업로드 드래그앤 드롭 + var objDragAndDrop = $(".upload_area_cn"); + $(document).on("dragenter",".upload_area_cn",function(e){ + e.stopPropagation(); + e.preventDefault(); + //$(this).css('border', '2px solid #0B85A1'); + }); + $(document).on("dragover",".upload_area_cn",function(e){ + e.stopPropagation(); + e.preventDefault(); + }); + $(document).on("drop",".upload_area_cn",function(e){ + //$(this).css('border', '2px dotted #0B85A1'); + e.preventDefault(); + var files = e.originalEvent.dataTransfer.files; + handleFileUpload_cn(files,objDragAndDrop); //파일업로드 + }); + + $(document).on('dragenter', function (e){ + e.stopPropagation(); + e.preventDefault(); + }); + $(document).on('dragover', function (e){ + e.stopPropagation(); + e.preventDefault(); + //objDragAndDrop.css('border', '2px dotted #0B85A1'); + }); + $(document).on('drop', function (e){ + e.stopPropagation(); + e.preventDefault(); + }); + + drawUploadArea_cn(); + $(function(){ //단일 파일업로드 + $('#file_temp_cn').change(function(e){ + var objUpload = $(".upload_area_cn"); + var files = $('#file_temp_cn')[0].files; + handleFileUpload_cn(files,objUpload); //파일업로드 + if($("#file_temp_cn").length > 0){ + $("#file_temp_cn").val(""); //파일지우기 + } + }); + }); + + //최대 업로드 파일갯수 화면 노출 세팅 + if($("[name='limitcount']").length>0){ + if($('.limitcount_li').length > 0){ + $('.limitcount_li').text($("[name='limitcount']").val()); + } + + } + + //프린트 워커 마크 + $('.printBtn').click(function(e){ + if(!confirm("프린트 하시겠습니까?")){ + return false; + } + var printPopup ; + printPopup= window.open("/offedu/tempPrint.html","print_open","width=760,height=750,top=0,left=0,noresizable,toolbar=no,status=no,scrollbars=yes,directory=n"); + }); +}); + +//목록 정렬 항목 클릭 +function listSortOrd(obj){ + var sortOrd = $(obj).attr("sortOrd"); + var sortCnd = $(obj).attr("id"); + + $("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거 + if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc"); + else $("[name='searchSortOrd']").val("desc"); + linkPage('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨 +} + +//인쇄 영역 공통 +function printDiv(divName) { + var printContents = $("."+divName).html(); + var originalContents = document.body.innerHTML; + document.body.innerHTML = printContents; + window.print(); + document.body.innerHTML = originalContents; + + //originalContents 다시 그려줘서 이전의 메소드 다시 재지정 + $(".sort").click(function(e) { + listSortOrd(this); + }); +} + +function printDiv2(divName) { + var printContents = document.getElementById(divName).innerHTML; + var originalContents = document.body.innerHTML; + document.body.innerHTML = printContents; + window.print(); + document.body.innerHTML = originalContents; +} + +/* 파일사이즈 가져오기 */ +function getStrFileSize(filesize){ + var sizeStr=""; + var sizeKB = filesize/1024; + if(parseInt(sizeKB) > 1024){ + var sizeMB = sizeKB/1024; + sizeStr = sizeMB.toFixed(2)+" MB"; + }else{ + sizeStr = sizeKB.toFixed(2)+" KB"; + } + return sizeStr; +} + +/* 파일 이미지 가져오기 */ +function getfile_img(file_name){ + var img_type = file_name.split('.')[file_name.split('.').length-1].toLowerCase(); + if(img_type == "xlsx"){ + img_type = "xls"; + }else if(img_type == "jpeg" || img_type == "png" || img_type == "bmp"){ + img_type = "jpg"; + }else if(img_type == "doc"){ + img_type = "hwp"; + } + + var img_url = ""; + switch (img_type) { + case "pdf" : + img_url = "/offedu/direct/img/enroll_pdf_file.png" ; + break; + case "xls" : + img_url = "/offedu/direct/img/enroll_exel_file.png" ; + break; + case "hwp" : + img_url = "/offedu/direct/img/enroll_hwp_file.png" ; + break; + case "jpg" : + img_url = "/offedu/direct/img/enroll_jpg_file.png" ; + break; + case "mp4" : + img_url = "/offedu/direct/img/enroll_mp4_file.png" ; + break; + case "ppt" : + img_url = "/offedu/direct/img/enroll_ppt_file.png" ; + break; + case "zip" : + img_url = "/offedu/direct/img/enroll_zip_file.png" ; + break; + default : + img_url = "/offedu/direct/img/enroll_jpg_file.png" ; + } + + return img_url ; +} + +/*등록 시간 가져오기 */ +function getDate(){ + var d = new Date(); + var year = d.getFullYear(); + var month = d.getMonth() + 1 ; month.toString().length < 2 ? month = "0"+month : month; + var date = d.getDate() ; date.toString().length < 2 ? date = "0"+date : date; + var currentDate = year+"-"+month+"-"+date+" "; + var hour = d.getHours(); hour.toString().length < 2 ? hour = "0"+hour : hour; + var minutes = d.getMinutes() ; minutes.toString().length < 2 ? minutes = "0"+minutes : minutes; + var seconds = d.getSeconds() ; seconds.toString().length < 2 ? seconds = "0"+seconds : hour; + currentTime = hour+"-"+minutes+"-"+seconds ; + return currentDate + currentTime ; +} + +/*파일 드래그앤 드롭*/ +/* 파일등록 */ +var _fileIdx_cn = 0; +var _fileForm2_cn = new Array(); +function handleFileUpload_cn(files,obj) //업로드 function +{ + var limitsize = 50*1024*1024; //파일 제한 체크(50개, 50MB) + var limitcount = 999 ; + var allrowFileExtsn = $("input[name=allrowFileExtsn]").val(); + + if($('#tbody_fiielist_cn').find('tr').length + files.length > limitcount ){ + alert("업로드 파일은 최대 "+limitcount+"개 입니다."); + return ; + } + for (var i = 0; i < files.length; i++){ + if(files[i].size > limitsize){ + alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 50MB이하만 업로드 가능합니다."); + return ; + } + + if(allrowFileExtsn != undefined && allrowFileExtsn != ""){ + if(allrowFileExtsn.toLowerCase().indexOf(files[i].name.split(".")[1].toLowerCase()) < 0 ){ + alert(allrowFileExtsn.toUpperCase() +" 파일 형식만 업로드 가능합니다."); + return ; + } + } + } + + for (var i = 0; i < files.length; i++) + { + var fd = new FormData(); + fd.append('file', files[i]); + var tmpObj = new Object(); + tmpObj.name = "file_" + _fileIdx_cn; + tmpObj.fileObj = files[i]; + + _fileForm2_cn.push(tmpObj); + sendFileToServer_cn(fd, obj, files[i], _fileIdx_cn); + _fileIdx_cn++; + + var totalfileSize = 0; + $('.totalfileCount').text($('.item_file_size_cn').length) ; + $('.item_file_size_cn').each(function(){ + totalfileSize += $(this).val()*1 ; + }); + $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; + } +} + +function sendFileToServer_cn(formData, obj , fileObj, _fileIdx_cn) +{ + $('.no_img_box_cn').hide(); //list 박스 형식 변경 + $('.file_list_div_cn').show(); + var list_html = ""; + var tt = ""; + + var fileNm = fileObj.name; + var fileExt = fileNm.split('.').pop().toLowerCase(); + + list_html += ''; + + //list_html += ''; + //list_html += ''+fileObj.name+''; + list_html += ''+fileObj.name+''; + list_html += '.'+fileExt+''; + list_html += ''+getStrFileSize(fileObj.size)+''; + //list_html += ''+getDate()+''; + list_html += ''; + list_html += ''; + list_html += ''; + list_html += ''; + $('#tbody_fiielist_cn').append(list_html); +} + +function resetFileZone(){ + $('.file_size').each(function(index, element){ + $(this).text(getStrFileSize($(this).text())) ; + }); +} + +/* 등록되어 있는 파일 삭제버튼 클릭시 */ +function delAtchFile_cn(itemId , fileSn){ + if(!confirm("삭제하시겠습니까?")){ + return false; + } + + $.ajax({ + type: "POST", + /*url: "/offedu/uss/ion/fms/fmsfileDeleteAjax.do",*/ + url: "/offedu/web/fms/fmsfileDeleteAjax.do", + data:{ "atchFileId" : itemId , "fileSn" : fileSn}, + 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("삭제되었습니다."); + drawUploadArea_cn(); +// $('.td_txt_exist > img').attr('src', '/images/no_img.jpg') ; + } + }else{ + alert("삭제처리에 실패하였습니다."); + } + }, + error: function (e) { + console.log("ERROR : ", e); + alert("삭제처리에 실패하였습니다."); + } + }); +} + +function autoDelAtchFile(data){ + $.ajax({ + type: "POST", + url: "/offedu/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/fmsfileMultipleDeleteAjax.do", + data: JSON.stringify(data), + dataType:'json', + async: false, + processData: false, + contentType: "application/json", + cache: false, + success: function (returnData, status) { + if(status == 'success'){ + console.log('파일이 삭제되었습니다.'); + }else{ + alert("파일 삭제처리에 실패하였습니다."); + } + }, + error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); } + }); +} + +/* 임시파일 삭제버튼 클릭시 */ +function delete_item_cn(obj, fileIdx){ + $(obj).closest("tr").remove(); + _fileForm2_cn.forEach(function(fobj, idx) { + if (fobj.name == ("file_cn" + fileIdx)) _fileForm2_cn[idx] = ""; + }); + + if($('.item_file_size_cn').length == 0){ + $('.file_upload_box_cn ').show(); + $('.upload_box_text').show(); + $('.fileAfter_cn').hide(); + }else{ + var totalfileSize = 0; + $('.totalfileCount').text($('.item_file_size_cn').length) ; + $('.item_file_size_cn').each(function(){ + totalfileSize += $(this).val()*1 ; + }); + $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; + } +} + +function drawUploadArea_cn(){ + $('.no_img_box_cn').hide(); //list 박스 형식 변경 + $('.file_list_div_cn').show(); + + $('.file_name_text').each(function(index, item){ + $(this).parent().find('img').attr('src', getfile_img($(this).text())) ; //이미지 변경 + }); + $('.file_size_text').each(function(index, item){ + $(this).text(getStrFileSize($(this).attr('value'))) + }); + + var totalfileSize = 0; + $('.totalfileCount').text($('.item_file_size_cn').length) ; + $('.item_file_size_cn').each(function(){ + totalfileSize += $(this).val()*1 ; + }); + $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; + + + //if( $("#tbody_fiielist_cn > [class^=item]").length == 0 && $("#tbody_fiielist_cn > [class^=item]").length > 0 ){ + if( $("#tbody_fiielist_cn > [class^=item]").length == 0){ + $('.no_img_box_cn').show(); + $('.file_list_div_cn ').hide(); + } + + if($('.fileTable').length > 0 ){ + //$('.fileTable').remove(); + } + + +} + +/*강사 첨부파일 등록 시작 - 썸네일 추가 기능*/ +//파일업로드 드래그앤 드롭 +var photoDragAndDrop = $(".photo_upload_area"); +$(document).on("dragenter",".photo_upload_area",function(e){ + e.stopPropagation(); + e.preventDefault(); + //$(this).css('border', '2px solid #0B85A1'); +}); +$(document).on("dragover",".photo_upload_area",function(e){ + e.stopPropagation(); + e.preventDefault(); +}); +$(document).on("drop",".photo_upload_area",function(e){ + //$(this).css('border', '2px dotted #0B85A1'); + e.preventDefault(); + var files = e.originalEvent.dataTransfer.files; + handlePhotoFileUpload(files,photoDragAndDrop); //파일업로드 +}); + +$(function(){ //단일 파일업로드 + $('#photo_file_temp').change(function(e){ + var objUpload = $(".photo_upload_area"); + var files = $('#photo_file_temp')[0].files; + handlePhotoFileUpload(files,objUpload); //파일업로드 + if($("#photo_file_temp").length > 0){ + $("#photo_file_temp").val(""); //파일지우기 + } + }); + }); + +/*파일 드래그앤 드롭*/ +/* 파일등록 */ +var _photoFileIdx = 0; +var _photoFileForm2 = new Array(); +function handlePhotoFileUpload(files,obj) //업로드 function +{ + var limitsize = 50*1024*1024; //파일 제한 체크(50개, 50MB) + var limitcount = $("input[name=limitcount]").val()*1 ; + if($('#tbody_fiielist_cn').find('tr').length + files.length > limitcount ){ + alert("업로드 파일은 최대 "+limitcount+"개 입니다."); + return ; + } + for (var i = 0; i < files.length; i++){ + if(files[i].size > limitsize){ + alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 50MB이하만 업로드 가능합니다."); + return ; + } + } + /*이미지 확장자 체크*/ + for (var i = 0; i < files.length; i++){ + var fileNm = files[i].name; + if (fileNm != "") { + var ext = fileNm.slice(fileNm.lastIndexOf(".") + 1).toLowerCase(); + if (!(ext == "gif" || ext == "jpg" || ext == "png" || ext == "jpeg")) { + alert("이미지파일 (jpg, jpeg, png, gif ) 만 업로드 가능합니다."); + e.stopImmediatePropagation(); //js의 파일 업로드 막지 + return false; + } + } + } + + for (var i = 0; i < files.length; i++) + { + var fd = new FormData(); + fd.append('file', files[i]); + var tmpObj = new Object(); + tmpObj.name = "file_" + _photoFileIdx; + tmpObj.fileObj = files[i]; + + _photoFileForm2.push(tmpObj); + sendPhotoFileToServer(fd, obj, files[i], _photoFileIdx); + _photoFileIdx++; + + /*사진 썸네일 등록*/ + $(".put_photo_box").html(""); + var reader = new FileReader(); + reader.onload = function(e){ + //이미지 형식 + $('.put_photo_box').html(''); + //백그라운드 형식 +/* $('.put_photo_in').css({'background':'url('+e.target.result+')', + 'background-repeat': 'no-repeat', + 'background-position':'center', + 'background-size' : '100%' + }); +*/ } + reader.readAsDataURL(files[i]); + + } +} + +function sendPhotoFileToServer(formData, obj , fileObj, _photoFileIdx) +{ + $('.no_img_box_cn').hide(); //list 박스 형식 변경 + $('.file_list_div_cn').show(); + var list_html = ""; + var tt = ""; + + var fileNm = fileObj.name; + var fileExt = fileNm.split('.').pop().toLowerCase(); + + list_html += ''; + + //list_html += ''+fileObj.name+''; + list_html += ''+fileObj.name+''; + list_html += '.'+fileExt+''; + list_html += ''+getStrFileSize(fileObj.size)+''; + //list_html += ''+getDate()+''; + list_html += ''; + list_html += ''; + list_html += ''; + list_html += ''; + $('#tbody_fiielist_cn').append(list_html); +} + + +/* 등록되어 있는 파일 삭제버튼 클릭시 */ +function delAtchPhotoFile_cn(itemId , fileSn){ + if(!confirm("삭제하시겠습니까?")){ + return false; + } + + $.ajax({ + type: "POST", + url: "/offedu/uss/ion/fms/fmsfileDeleteAjax.do", + data:{ "atchFileId" : itemId , "fileSn" : fileSn}, + 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+"_cn").remove(); + alert("삭제되었습니다."); + drawUploadArea_cn(); + $('.put_photo_box').html('이미지를 넣어주세요'); + /*강사 디테일 첨부파일 ID 삭제*/ + /*각각 jsp파일에 function존재*/ + atchFileIdDelete(); + + } + }else{ + alert("삭제처리에 실패하였습니다."); + } + }, + error: function (e) { + console.log("ERROR : ", e); + alert("삭제처리에 실패하였습니다."); + } + }); + + deleteLodingBar(); +} +/*function delAtchPhotoFile(itemId , fileSn){ + if(!confirm("삭제하시겠습니까?")){ + return false; + } + + $.ajax({ + type: "POST", + url: "/uss/ion/fms/fmsfileDeleteAjax.do", + data:{ "atchFileId" : itemId , "fileSn" : fileSn}, + 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("삭제되었습니다."); + drawUploadArea_cn(); + $('.put_photo_box').html('이미지를 넣어주세요'); + 강사 디테일 첨부파일 ID 삭제 + 각각 jsp파일에 function존재 + atchFileIdDelete(); + + } + }else{ + alert("삭제처리에 실패하였습니다."); + } + }, + error: function (e) { + console.log("ERROR : ", e); + alert("삭제처리에 실패하였습니다."); + } + }); +} +*/ + +/*function drawUploadArea_cn(){ + $('.no_img_box_cn').hide(); //list 박스 형식 변경 + $('.file_list_div_cn').show(); + + $('.file_name_text').each(function(index, item){ + $(this).parent().find('img').attr('src', getfile_img($(this).text())) ; //이미지 변경 + }); + $('.file_size_text').each(function(index, item){ + $(this).text(getStrFileSize($(this).attr('value'))) + }); + + var totalfileSize = 0; + $('.totalfileCount').text($('.item_file_size_cn').length) ; + $('.item_file_size_cn').each(function(){ + totalfileSize += $(this).val()*1 ; + }); + $('.totalfileSize').text(getStrFileSize(totalfileSize)) ; + + + //if( $("#tbody_fiielist_cn > [class^=item]").length == 0 && $("#tbody_fiielist_cn > [class^=item]").length > 0 ){ + if( $("#tbody_fiielist_cn > [class^=item]").length == 0){ + $('.no_img_box_cn').show(); + $('.file_list_div_cn ').hide(); + } + + if($('.fileTable').length > 0 ){ + //$('.fileTable').remove(); + } + + +}*/ + +/*임시파일 삭제버튼 클릭시*/ +function delete_photo(obj, fileIdx){ + $(obj).closest("tr").remove(); + _photoFileForm2.forEach(function(fobj, idx) { + if (fobj.name == ("file_" + fileIdx)) _photoFileForm2[idx] = ""; + }); + + if($('.item_file_size_cn').length == 0){ + $('.file_upload_box_cn ').show(); + $('.fileAfter_cn').hide(); + //백그라운드 형식 + /*$('.put_photo_in').css({'background':'', + 'background-color': '#f5f5f5', + 'width':'128px', + 'height' : '165px', + 'border' : '1px solid #d5d5d5', + 'border-radius' : '5px', + 'box-sizing' : 'border-box', + 'position' : 'relative', + 'height' : '165px', + 'overflow' : 'hidden' + }); */ + //이미지 형식 + $('.put_photo_box').html('이미지를 넣어주세요 '); + } +} +/*강사 첨부파일 등록 종료 - 썸네일 추가 기능*/ + +/* 게시판 글 저장 function */ +function goWebSave(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해) + if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){ + if($('#atchFileNece').length > 0 ){ + if("Y" == $('#atchFileNece').val()){ //추가 2021.04.14 + if($('#tbody_fiielist_cn').find('tr').length == 0){ + alert("첨부파일을 추가해 주십시오"); + return false; + } + } + } + } + + var msg; + msg = "해당 첨부파일을 수정하시겠습니까?"; + var data = new FormData(document.writeForm == undefined ? document.board : document.writeForm); + _fileForm2_cn.forEach(function(obj, idx) { + if (obj) data.append("file"+idx, obj.fileObj); + }); + + var url = ""; + if($("#pageType").val() == "insert"){//게시판저장 + url = "/offedu/web/cop/bbs/insertBoardArticleAjax.do"; + }else if($("#pageType").val() == "update"){ //게시판 답변 + url = "/offedu/web/cop/bbs/updateBoardArticleAjax.do"; + }/*else{ + url = document.writeForm == undefined ? "/cop/bbs/updateBoardArticleAjax.do" : "/uss/ion/fms/FmsFileInsertAjax.do?logParam="+method_parm; + }*/ + + $.ajax({ + type: "POST", + enctype: 'multipart/form-data', + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + //timeout: 600000, + success: function (returnData, status) { + if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 + if("fail"==returnData.result){ + alert(returnData.message); + return; + } + alert("저장 되었습니다."); + fn_egov_select_noticeList() + } else if(status== 'fail'){ + alert("저장에 실패하였습니다. !!"); + } + }, + error: function (request,status,error) { + + //alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + alert("저장에 실패하였습니다."); + console.log("ERROR : ", e); + } + }); +} + + +(function ($) { + $.fn.replaceClass = function (pFromClass, pToClass) { + return this.removeClass(pFromClass).addClass(pToClass); + }; +}(jQuery)); From 589df904a7c7ceab13cb7776e863f413dc0b573b Mon Sep 17 00:00:00 2001 From: hylee Date: Tue, 21 Nov 2023 10:52:55 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EA=B8=B0?= =?UTF-8?q?=EB=B0=98=EA=B0=95=ED=99=94=20select2(=EB=8B=A4=EC=A4=91?= =?UTF-8?q?=EC=84=A0=ED=83=9D)=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trgtMng/service/CndtnTrgtMngVO.java | 13 +- .../trgtMng/web/CndtnTrgtMngController.java | 74 ++- .../ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml | 6 + .../jsp/oprtn/cndtnSspnIdtmt/trgtDetail.jsp | 17 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp | 16 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp | 70 ++- .../jsp/oprtn/cndtnSspnIdtmt/trgtMngMdfy.jsp | 12 +- .../jsp/oprtn/cndtnSspnIdtmt/trgtMngReg.jsp | 458 ------------------ 8 files changed, 135 insertions(+), 531 deletions(-) delete mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngReg.jsp diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java index a7e6dfd4..1e98b1cd 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java @@ -1,6 +1,8 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service; import java.io.Serializable; +import java.util.Arrays; +import java.util.List; import kcc.com.cmm.ComDefaultVO; @@ -42,6 +44,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { private String atchFileId;// 첨부파일 ID + private List searchSelStatusList; @@ -197,8 +200,16 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { public void setAtchFileId(String atchFileId) { this.atchFileId = atchFileId; } + public List getSearchSelStatusList() { + return searchSelStatusList; + } + public void setSearchSelStatusList(List searchSelStatusList) { + this.searchSelStatusList = searchSelStatusList; + } - + public void setSearchSelStatusToList(String searchSelStatus) { + this.searchSelStatusList = Arrays.asList(searchSelStatus.split(",")); + } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index 0c12205d..df0f6ef6 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -169,8 +169,6 @@ public class CndtnTrgtMngController { //로그인 처리==================================== - - String userWork = this.getUserWork(request); cndtnTrgtInfoMngVO.setSearchCondition(userWork); @@ -214,6 +212,9 @@ public class CndtnTrgtMngController { //대상 리스트, 페이징 정보 전달 model.addAttribute("list", cndtnTrgtInfoMngVOList); + + + return "oprtn/cndtnSspnIdtmt/trgtList"; } @@ -257,7 +258,7 @@ public class CndtnTrgtMngController { if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; //로그인 처리==================================== - + //1.pageing step1 PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); @@ -268,19 +269,23 @@ public class CndtnTrgtMngController { cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); //검색 조회 + String selectCondition = ""; if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ - - - String selectCondition = ""; String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); - - selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; +// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); - } - -// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + + System.out.println("cndtnTrgtInfoMngVO.getSearchSelStatus() : "+ cndtnTrgtInfoMngVO.getSearchSelStatus()); + + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus())) + { + cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus()); + } + List cndtnTrgtInfoMngVOList = null; + try { cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); @@ -297,6 +302,11 @@ public class CndtnTrgtMngController { //대상 리스트, 페이징 정보 전달 model.addAttribute("list", cndtnTrgtInfoMngVOList); + + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); return "oprtn/cndtnSspnIdtmt/trgtMngList"; } @@ -629,6 +639,9 @@ public class CndtnTrgtMngController { CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); model.addAttribute("info", cndtnTrgtInfoVO); + String userWork = this.getUserWork(request); + model.addAttribute("userWork", userWork); + //파일 정보 가져오기 FileVO fileVO = new FileVO(); @@ -639,38 +652,6 @@ public class CndtnTrgtMngController { return "oprtn/cndtnSspnIdtmt/trgtDetail"; } - /** - * 대상자목록 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do") - public String trgtMngDetail( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 조회 - CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); - model.addAttribute("info", cndtnTrgtInfoVO); - - - //파일 정보 가져오기 - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); - List result = fileService.selectFileInfs(fileVO); - model.addAttribute("fileList", result); - model.addAttribute("fileListCnt", result.size()); - - return "oprtn/cndtnSspnIdtmt/trgtMngDetail"; - } /** * 조건부기소유예과정 수료자 상세화면 */ @@ -782,6 +763,13 @@ public class CndtnTrgtMngController { model.addAttribute("fileList", result); model.addAttribute("fileListCnt", result.size()); + + // 관할청 공통코드 + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + return "oprtn/cndtnSspnIdtmt/trgtMngMdfy"; } diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index 1097ccd7..1b6a78f4 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -201,6 +201,12 @@ AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') REPLACE(#searchSmbtEndDt#, '.' , '') + + AND a.cmptnt_athrt IN + + #searchSelStatusList[]# + + ORDER BY a.frst_regist_pnttm desc OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtDetail.jsp index 05e9b650..9b4ef269 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtDetail.jsp @@ -42,6 +42,11 @@ detailForm.action = ""; detailForm.submit(); } + function fncMngMdfy(){ + var detailForm = document.detailForm ; + detailForm.action = ""; + detailForm.submit(); + } @@ -193,7 +198,17 @@
    - + + + + + + + + + + +
    diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp index 12b1b798..8c199bf8 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp @@ -332,20 +332,8 @@ 관할청 - - - - - - - - - + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp index d912d3c9..a3e5fef2 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp @@ -28,7 +28,11 @@ */ %> + + + +