From 789658198c16eb6a11ef63da7a1a6fa0236197b6 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Thu, 23 Oct 2025 15:15:04 +0900 Subject: [PATCH 01/20] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=B7=A8=EC=86=8C=EC=9A=94=EC=B2=AD=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sspnIdtmt/web/SspnIdtmtController.java | 30 +++++++++++++------ src/main/java/kcc/ve/cmm/VeConstants.java | 8 +++++ .../eduInfo/service/VEEduMIXService.java | 2 ++ .../service/impl/VEEduMIXServiceImpl.java | 6 ++++ .../web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp | 2 +- .../jsp/web/ve/aplct/sspnIdtmt/main.jsp | 2 +- .../ve/aplct/sspnIdtmt/popup/eduCancelPop.jsp | 1 + 7 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java index f10e1228..c23bff7e 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -800,7 +800,8 @@ public class SspnIdtmtController { */ @RequestMapping("/web/ve/aplct/sspnIdtmt/popup/eduCancelPopupAjax.do") public ModelAndView filePopupAjax( - @ModelAttribute("vEEduRprtVO") VEEduRprtVO vEEduRprtVO + @ModelAttribute("vEEduRprtVO") VEEduRprtVO vEEduRprtVO, + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model //, RedirectAttributes redirectAttributes , HttpServletRequest request @@ -868,16 +869,27 @@ public class SspnIdtmtController { System.out.println(vEEduRprtVO.getAprvlCn()); System.out.println(s_atchFileId); - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - vEEduAplctVO.setEduAplctOrd(vEEduRprtVO.getEduAplctOrd()); + /* + * VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + * vEEduAplctVO.setEduAplctOrd(vEEduRprtVO.getEduAplctOrd()); + * + * vEEduAplctVO.setAplctCn(vEEduRprtVO.getAprvlCn()); + * vEEduAplctVO.setRsltAtchFileId(s_atchFileId); + * vEEduAplctVO.setAprvlCd("35"); + * vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + * vEEduAplctService.update(vEEduAplctVO); + */ - vEEduAplctVO.setAplctCn(vEEduRprtVO.getAprvlCn()); - vEEduAplctVO.setRsltAtchFileId(s_atchFileId); - vEEduAplctVO.setAprvlCd("35"); - vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + /* + 251023 + ve_edu_aplct는 확정 상태 유지. + vea_aplct_detail_info에서 취소 관련 처리 + */ + vEEduAplctVO.setAplctStateCd(VeConstants.EDU_CD_CANCLE_REQ); //취소요청 코드 35 + vEEduAplctVO.setCnclAtchFileId(s_atchFileId); + vEEduAplctVO.setCnclCn(vEEduAplctVO.getAprvlCn()); //취소사유 - 기존에는 aprvlCn 사용 + vEEduMIXService.updateCnclStatus(vEEduAplctVO); - //취소요청 정보 저장 - vEEduAplctService.update(vEEduAplctVO); }catch(Exception ex) { diff --git a/src/main/java/kcc/ve/cmm/VeConstants.java b/src/main/java/kcc/ve/cmm/VeConstants.java index 5ebec9a6..3bab0f72 100644 --- a/src/main/java/kcc/ve/cmm/VeConstants.java +++ b/src/main/java/kcc/ve/cmm/VeConstants.java @@ -253,6 +253,14 @@ public class VeConstants { public static final String DDLN_CD_APP_ING = "40"; public static final String DDLN_CD_APP_END = "50"; + /* + * VEA003 - edu_state_cd(vea_sspn_idmt_trgt), aplct_state_cd(vea_aplct_detail_info) + */ + public static final String EDU_CD_NOTCOMPLETE= "10"; //미이수 + public static final String EDU_CD_COMPLETE = "20"; //이수 + public static final String EDU_CD_CANCLE_REQ = "35"; //취소요청 + public static final String EDU_CD_DELAY = "60"; //연기 + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java index 8ee092ad..872f3a3b 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduMIXService.java @@ -128,4 +128,6 @@ public interface VEEduMIXService { List selectTngrRsltRprtList(VEEduAplctVO paramVO) throws Exception; List selectExprnRsltFileDownList(VEEduAplctVO paramVO) throws Exception; + + void updateCnclStatus(VEEduAplctVO vEEduAplctVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java index abd474e1..f634f524 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXServiceImpl.java @@ -277,4 +277,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public List selectExprnRsltFileDownList(VEEduAplctVO paramVO) throws Exception{ return vEEduMIXDAO.selectExprnRsltFileDownList(paramVO); } + + @Override + public void updateCnclStatus(VEEduAplctVO paramVO) { + vEEduMIXDAO.updateCnclStatus(paramVO); + + } } diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp index 9db0a0bf..3db5fbf2 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctDetail.jsp @@ -609,7 +609,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 2d9d4231..ba66759c 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 @@ -254,7 +254,7 @@ - + - diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduCancelPop.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduCancelPop.jsp index 13950005..290da886 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduCancelPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduCancelPop.jsp @@ -141,6 +141,7 @@ " /> " /> + " /> " /> From 59b66a3bda2278491cf1b426ff7faee7b0c6131c Mon Sep 17 00:00:00 2001 From: JIWOO Date: Fri, 24 Oct 2025 10:45:55 +0900 Subject: [PATCH 02/20] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EA=B5=90=EC=9C=A1=20=EC=8B=A0?= =?UTF-8?q?=EC=B2=AD=20=EC=8B=9C=20=EC=A4=91=EB=B3=B5=20=EC=8B=A0=EC=B2=AD?= =?UTF-8?q?=20=EC=B2=B4=ED=81=AC=20=EC=8B=9C=20=EB=B0=98=EB=A0=A4=EB=8A=94?= =?UTF-8?q?=20=EC=A0=9C=EC=99=B8=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml | 1 + .../egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml index a0fd6ab4..01872086 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Postgresql.xml @@ -849,6 +849,7 @@ AND b.sex = #sex# and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD') + and a.aprvl_cd in ('10','20','60') diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml index a45dedf9..b526f3eb 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml @@ -603,7 +603,7 @@ /* 신청 후 반려 */ , user_id = NULL , edu_aplct_ord = NULL - , edu_state_cd = '10' + , prcs_aplct_prd_ord_cmplt = NULL @@ -642,11 +642,11 @@ - + WHERE edu_aplct_ord = #eduAplctOrd# From b2c67fafcbfde9c31f3984532490bd68840dc298 Mon Sep 17 00:00:00 2001 From: JIWOO Date: Fri, 24 Oct 2025 10:56:55 +0900 Subject: [PATCH 03/20] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9E=90=20=EB=A9=94=EC=9D=B8,=20=EC=8B=A0?= =?UTF-8?q?=EC=B2=AD=20=EA=B4=80=EB=A0=A8=20=EC=88=98=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsp/web/ve/aplct/cmdTrgt/eduAplctDetail.jsp | 2 +- .../webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp | 11 ++++++++--- .../jsp/web/ve/aplct/cmdTrgt/popup/eduAplctPop.jsp | 4 ++-- .../jsp/web/ve/aplct/prevent/eduAplctDetail.jsp | 2 +- .../webapp/WEB-INF/jsp/web/ve/aplct/prevent/main.jsp | 11 ++++++++--- .../jsp/web/ve/aplct/prevent/popup/eduAplctPop.jsp | 4 ++-- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctDetail.jsp index 41ce9b92..19ee4615 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctDetail.jsp @@ -609,7 +609,7 @@ -<%-- --%> + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp index fd56bd33..b0694394 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp @@ -216,7 +216,12 @@ - + + + - + + + <%-- @@ -229,8 +234,8 @@ -<%-- --%> - + + --%> diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/popup/eduAplctPop.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/popup/eduAplctPop.jsp index ac4fe5d0..c858b445 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/popup/eduAplctPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/popup/eduAplctPop.jsp @@ -12,7 +12,6 @@ 교육신청 목록 > 기소유예 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 - + + 직인대장관리(이수증) + + +
+ +
+
+ + " /> + " /> + +
+
+ + +
+

직인대장관리(이수증) 목록

+
    +
  • +
  • +

    운영관리

    +
  • +
  • 직인대장관리(이수증)
  • +
+
+ + +
+ +
+ +
+
+

발급일자

+
+
+
+ +
+ ~ +
+ +
+ +
+
+
+
+

성명

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

총 건수 :

+
+ +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + +<%-- --%> + + + + + + + + + + + + + + + +
번호항목문서번호과정명교육일시성명발급일자
+ + + + + 실무역량- + 기소유예- + + + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+ + +
+ + + From 46bdb48b6de8fdb23cd58e2146d3cb1f071afa0b Mon Sep 17 00:00:00 2001 From: ijunho Date: Mon, 27 Oct 2025 12:27:50 +0900 Subject: [PATCH 10/20] Merge branch 'master_tolag3' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 화면 네비게이션 문구 수정 --- src/main/java/kcc/web/MainController.java | 27 ++++++++++++++++++- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 2 +- .../webapp/WEB-INF/jsp/web/com/webLayout.jsp | 15 ++++++++++- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 1dbc34e7..875959f3 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -968,7 +968,7 @@ public class MainController { /*최초 사이트 체크와 동시에 session 설정, 점검중 페이지 적용 */ @RequestMapping(value="/com/firstSiteCheck.do") public String firstSiteCheck(HttpServletRequest request, @RequestParam Map commandMap, - ModelMap model) + ModelMap model, MenuManageJTreeVO menuManageVO) throws Exception { try { SiteManagerVO siteManagerVO = new SiteManagerVO(); @@ -978,6 +978,31 @@ public class MainController { return "web/com/insp"; } model.addAttribute("siteManagerVO", siteManagerVO); + + + //로그인 권한 정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String auth = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + //권한별 메뉴표시 + if(!auth.equals("ROLE_ADMIN") && auth != "") { + menuManageVO.setAuthorCode(auth); + }else if(auth.equals("ROLE_ADMIN")) { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + else { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); + List menuResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; + model.addAttribute("menuResultList", menuResultList); + String pageUrl = request.getRequestURI().replaceAll(request.getContextPath(), ""); + + String pageUri = pageUrl.substring(0, pageUrl.lastIndexOf("/")); + model.addAttribute("pageUri", pageUri); }catch(Exception ex) { ex.printStackTrace(); } diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index 6b5b689e..6ff3bbb6 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -73,7 +73,7 @@
- 상표권조건부 기소유예 +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp index 744c91fd..32beb54f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp @@ -126,7 +126,20 @@
    - 상표권 교육조건부 기소유예 + + + + + + + + + + ${resultListTit.menuNm } + + + +

    지식재산보호교육시스템

    From 204fcfd4af67c712c016cd43e39555b95eb5fdce Mon Sep 17 00:00:00 2001 From: JIWOO Date: Mon, 27 Oct 2025 17:33:14 +0900 Subject: [PATCH 11/20] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cmdTrgt/cndtnEduPrcsAplctCfnMngDetail.jsp | 10 ++-- .../cndtnEduPrcsAplctCfnMngDetail.jsp | 10 ++-- .../prevent/cndtnEduPrcsAplctCfnMngDetail.jsp | 10 ++-- .../aplct/cmdTrgt/sspnIdtmtEduAplctList.jsp | 4 +- .../aplct/prevent/sspnIdtmtEduAplctList.jsp | 4 +- .../aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp | 59 +------------------ 6 files changed, 21 insertions(+), 76 deletions(-) diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngDetail.jsp index 4cb1951c..9622f003 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -858,24 +858,24 @@ - + 취소승인

    ${list.cnclCn}
    - +
    - + 취소반려

    - ${list.aplctCn} + ${list.cnclCn}
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp index 6e18c718..bec36544 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -937,24 +937,24 @@
    - + 취소승인

    ${list.cnclCn}
    - +
    - + 취소반려

    - ${list.aplctCn} + ${list.cnclCn}
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp index f1911b2e..e403c254 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -858,24 +858,24 @@
    - + 취소승인

    ${list.cnclCn}
    - +
    - + 취소반려

    - ${list.aplctCn} + ${list.cnclCn}
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.jsp index 35683d3b..91036ebf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.jsp @@ -561,13 +561,13 @@ $(document).ready(function(){ (취소-반려) - + <%-- --%>
    - + <%-- --%> diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp index 6fa2b734..b0a0c038 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp @@ -561,13 +561,13 @@ $(document).ready(function(){ (취소-반려) - + <%-- --%>
    - + <%-- --%> diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp index c51361d6..38269484 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.jsp @@ -11,10 +11,6 @@ 교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 - - - - - - - - + 직인대장관리(이수증) + + +
    + +
    +
    + + " /> + " /> + +
    +
    + + +
    +

    직인대장관리(이수증) 목록

    +
      +
    • +
    • +

      운영관리

      +
    • +
    • 직인대장관리(이수증)
    • +
    +
    + + +
    + +
    + +
    +
    +

    발급일자

    +
    +
    +
    + +
    + ~ +
    + +
    + +
    +
    +
    +
    +

    성명

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

    총 건수 :

    +
    + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +<%-- --%> + + + + + + + + + + + + + + + +
    번호항목문서번호과정명교육일시성명발급일자
    + + + + + 실무역량- + 기소유예- + + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +
    + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/newEduPrfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/newEduPrfrmMngList.jsp new file mode 100644 index 00000000..34809448 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/newEduPrfrmMngList.jsp @@ -0,0 +1,1304 @@ + +<%@ 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="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + +<% + /** + * @Class Name : newEduPrfrmMngList.jsp + * @Description : 교육신청관리 > 교육실적통계 (new 2024-01-10) + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.14 조용준 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + +교육확정관리 + + + + + " /> + " /> + + + +
    +
    + +
    +

    교육실적통계

    +
      +
    • +
    • +

      조건부기소유예관리

      +
    • +
    • 교육실적통계
    • +
    +
    + + +
    + +
    +
    +
    +

    구분

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

    + ①검찰청별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분의뢰(명)
    +
    + + + + +
    + +

    + ②월별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm}월 + + +
    의뢰(명)
    +
    + + + +
    + +

    + ③대상별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm} + + +
    의뢰(명)
    +
    + + + + +
    + +

    + ④검찰청별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분이수(명)
    +
    + + + + +
    + +

    + ⑤월별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm}월 + + +
    이수(명)
    횟수
    +
    + + + + +
    + +

    + ⑥대상별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm} + + +
    이수(명)
    +
    + + + + + + + + + + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp index 13db7c96..c4b1d1d6 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/newEduPrfrmMngList.jsp @@ -1220,21 +1220,20 @@ -
    +

    ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계

    -
    - +
    + --> + 차시 이수인원 @@ -1260,18 +1258,6 @@ - 합계 @@ -1305,9 +1291,9 @@
    + --> - - +
    diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/instrActvtHstrySignAndCmpltCrtfcMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/instrActvtHstrySignAndCmpltCrtfcMngList.jsp new file mode 100644 index 00000000..8642c40f --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/instrActvtHstrySignAndCmpltCrtfcMngList.jsp @@ -0,0 +1,249 @@ + +<%@ 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="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> + +<% + /** + * @Class Name : instrActvtHstrySignMngList.jsp + * @Description : 운영관리 > 직인대장관리 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2022.12.7 안주영 최초 생성 + * @author 안주영 + * @since 2022.2.7 + * @version 1.0 + * @see + * + */ +%> + + + + + + 직인대장관리(이수증) + + +
    + +
    +
    + + " /> + " /> + +
    +
    + + +
    +

    직인대장관리(이수증) 목록

    +
      +
    • +
    • +

      운영관리

      +
    • +
    • 직인대장관리(이수증)
    • +
    +
    + + +
    + +
    + +
    +
    +

    발급일자

    +
    +
    +
    + +
    + ~ +
    + +
    + +
    +
    +
    +
    +

    성명

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

    총 건수 :

    +
    + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +<%-- --%> + + + + + + + + + + + + + + + +
    번호항목문서번호과정명교육일시성명발급일자
    + + + + + 실무역량- + 기소유예- + + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +
    + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/newEduPrfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/newEduPrfrmMngList.jsp new file mode 100644 index 00000000..c162c52e --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/newEduPrfrmMngList.jsp @@ -0,0 +1,1304 @@ + +<%@ 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="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + +<% + /** + * @Class Name : newEduPrfrmMngList.jsp + * @Description : 교육신청관리 > 교육실적통계 (new 2024-01-10) + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.14 조용준 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + +교육확정관리 + + + + + " /> + " /> + + + +
    +
    + +
    +

    교육실적통계

    +
      +
    • +
    • +

      조건부기소유예관리

      +
    • +
    • 교육실적통계
    • +
    +
    + + +
    + +
    +
    +
    +

    구분

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

    + ①검찰청별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분의뢰(명)
    +
    + + + + +
    + +

    + ②월별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm}월 + + +
    의뢰(명)
    +
    + + + +
    + +

    + ③대상별 교육 의뢰 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm} + + +
    의뢰(명)
    +
    + + + + +
    + +

    + ④검찰청별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분이수(명)
    +
    + + + + +
    + +

    + ⑤월별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm}월 + + +
    이수(명)
    횟수
    +
    + + + + +
    + +

    + ⑥대상별 교육 이수 현황 +

    +
    + + + +
    +
    + + + + + + + + + + + +
    +
    +
    + +
    + + + +
    + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    구분 + + 합계 + ${list.codeNm} + + +
    이수(명)
    +
    + + + + + + + + + + +
    +
    +
    +
    +
    + + + \ No newline at end of file From 9853c06508e28e4bcb29a6b3dc6e4dc9285a49c0 Mon Sep 17 00:00:00 2001 From: ijunho Date: Tue, 28 Oct 2025 15:45:32 +0900 Subject: [PATCH 16/20] Merge branch 'master_tolag3' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 메뉴 정리 중 --- .../java/kcc/let/my/web/MyPageController.java | 553 ++------ .../my/web/MyPageController_back_251028.java | 667 ++++++++++ .../service/VEPrcsAplctPrdService.java | 3 + .../service/impl/VEPrcsAplctPrdDAO.java | 4 + .../impl/VEPrcsAplctPrdServiceImpl.java | 4 + src/main/java/kcc/web/MainController.java | 2 +- .../ve/cmd/cmdTrgtInfoMng_SQL_Postgresql.xml | 1 + .../ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml | 237 +++- .../WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp | 4 +- .../webapp/WEB-INF/jsp/web/com/webLayout.jsp | 1 - .../webapp/WEB-INF/jsp/web/main/mainPage.jsp | 27 +- .../WEB-INF/jsp/web/my/myPageDashBoard.jsp | 1162 +++++------------ 12 files changed, 1378 insertions(+), 1287 deletions(-) create mode 100644 src/main/java/kcc/let/my/web/MyPageController_back_251028.java diff --git a/src/main/java/kcc/let/my/web/MyPageController.java b/src/main/java/kcc/let/my/web/MyPageController.java index 96e094f7..50abed76 100644 --- a/src/main/java/kcc/let/my/web/MyPageController.java +++ b/src/main/java/kcc/let/my/web/MyPageController.java @@ -1,10 +1,9 @@ package kcc.let.my.web; -import java.util.ArrayList; -import java.util.HashMap; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -17,7 +16,6 @@ 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.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; @@ -26,14 +24,7 @@ import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.let.uss.notify.service.NotifyManageService; -import kcc.let.uss.notify.service.NotifyManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; @@ -60,277 +51,94 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; @Controller public class MyPageController { + private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class); + // 로그인 체크 util @Resource(name = "checkLoginUtil") private CheckLoginUtil checkLoginUtil; - // 교육과정신청 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - //암복호화 유틸 @Resource(name = "egovCryptoUtil") EgovCryptoUtil egovCryptoUtil; - //과정차시 관리 - @Resource(name = "vEPrcsAplctPrdService") - private VEPrcsAplctPrdService vEPrcsAplctPrdService; - //과정 관리 @Resource(name = "vEPrcsService") private VEPrcsService vEPrcsService; - //온라인콘텐츠과정 관리 - @Resource(name = "fndtnEnhanceTrnService") - private FndtnEnhanceTrnService fndtnEnhanceTrnService; - - @Resource(name = "NotifyManageService") - private NotifyManageService notifyManageService; + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; - private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class); + private String p_lctr_div_cd = "60"; @RequestMapping(value = { "/web/my/myPageDashBoard.do" }) - public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO, + public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception { - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다. - } - - /* - * 청소년 진행목록 - */ - { - /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ - /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 청소년 - - // 사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(1000000); - vEEduChasiVO.setFirstIndex(0); - // List vEEduChasiVOList = - // vEEduMIXService.selectChasiList(vEEduChasiVO); - - vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); - vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); - vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); - - List tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); - - - Map tngrMap = tngrList.stream() - .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) - //.collect(Collectors.partitioningBy(vo -> "60".equals(vo.getAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "tngrEnd" : "tngrIng", - entry -> entry.getValue().toString() - ) - ); - - System.out.println(tngrMap); - System.out.println(tngrMap); - - - model.addAttribute("tngrMap", tngrMap); - model.addAttribute("tngrList", tngrList);*/ - - //신청목록 - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduAplctVO.setRecordCountPerPage(10); - vEEduAplctVO.setFirstIndex(0); - List vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO); - int tngrAplctCnt = 0; - if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { - tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); - } - model.addAttribute("tngrAplctCnt", tngrAplctCnt); - - //완료목록 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt()); - vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt()); - vEEduChasiVO.setRecordCountPerPage(10); - vEEduChasiVO.setFirstIndex(0); - List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); - int tngrEndCnt = 0; - if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { - tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt(); - } - model.addAttribute("tngrEndCnt", tngrEndCnt); - model.addAttribute("tngrList", vEEduChasiVOList); - } - - /* - * 성인 진행목록 - */ - { - /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ - /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 청소년 - - // 사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(1000000); - vEEduChasiVO.setFirstIndex(0); - // List vEEduChasiVOList = - // vEEduMIXService.selectChasiList(vEEduChasiVO); - - vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); - vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); - vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); - - List adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); - - - Map adultMap = adultList.stream() - .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "adultEnd" : "adultIng", - entry -> entry.getValue().toString() - ) - ); - - model.addAttribute("adultMap", adultMap); - model.addAttribute("adultList", adultList);*/ - //신청목록 - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduAplctVO.setRecordCountPerPage(10); - vEEduAplctVO.setFirstIndex(0); - List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); - int adultAplctCnt = 0; - if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { - adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); - } - model.addAttribute("adultAplctCnt", adultAplctCnt); - - //완료목록 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(10); - vEEduChasiVO.setFirstIndex(0); - List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); - int adultEndCnt = 0; - if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { - adultEndCnt = vEEduChasiVOList.get(0).getTotCnt(); - } - model.addAttribute("adultEndCnt", adultEndCnt); - model.addAttribute("adultList", vEEduChasiVOList); - } - /* - * 체험교실 - * */ - { - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 저작권 - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setRecordCountPerPage(1000000); - vEEduAplctVO.setFirstIndex(0); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); - - List vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO); - vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); - - System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size()); -// vEEduAplctVOList에서 10, 11, 12, 13 값 제거 - List filteredList = vEEduAplctVOList.stream() - /* - .filter(item -> !item.getAprvlCd().equals("10") - && !item.getAprvlCd().equals("11") - && !item.getAprvlCd().equals("12") - && !item.getAprvlCd().equals("13")) - */ - .filter(item -> item.getAprvlCd().equals("80") - || item.getAprvlCd().equals("20") - ) - .collect(Collectors.toList()); -// -- 종료 80 -// -- 진행중 20~70 - - Map exprnMap = filteredList.stream() - .collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "exprnEnd" : "exprnIng", - entry -> entry.getValue().toString() - ) - ); - - model.addAttribute("exprnMap", exprnMap); - model.addAttribute("exprnList", filteredList); - } + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + + + //1.pageing step1 + //5개만 select을 위한 설정 + vEPrcsDetailVO.setPageUnit(5); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== - /* - * 실무역량강화 - * */ - { - - - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - - vEPrcsDetailVO.setUserId(loginVO.getUniqId()); - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - vEPrcsDetailVO.setRecordCountPerPage(1000000); - vEPrcsDetailVO.setFirstIndex(0); - - - List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); - // 요청 - long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count(); - // 미이수 - long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count(); - // 이수완료 - long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count(); - - Map fndtnMap = new HashMap<>(); - fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20)); - fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont)); - - model.addAttribute("fndtnMap", fndtnMap); - model.addAttribute("fndtnList", vEPrcsDetailVOList); - - - //신청중, 수강중, 종료된 수량 - Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); - model.addAttribute("countMap", countMap); - + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + + /* + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 } - - //내 문의 목록 - { + */ + vEPrcsDetailVO.setSiteId(p_lctr_div_cd); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO); + //List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + Map countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("countMap", countMap); + + + + // Q&A 영역 +// vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); +// List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); +// model.addAttribute("qnaList", vEPrcsDetailQnaVOList); + + +// return "/web/ve/aplct/sspnIdtmt/main"; - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - vEPrcsDetailVO.setRecordCountPerPage(3); - vEPrcsDetailVO.setFirstIndex(0); - vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); - List qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); - model.addAttribute("qnaList", qnaList); - } - -// return "/web/cop/bbs/FaqListAjax"; return "web/my/myPageDashBoard"; } @@ -367,140 +175,12 @@ public class MyPageController { model.addAttribute("paginationInfo", paginationInfo); - // 사용자 이름 디코딩 -// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); - //대상 리스트, 페이징 정보 전달 model.addAttribute("list", vEPrcsDetailVOList); return "web/my/myQnaMngList"; } - @RequestMapping(value = { "/web/my/myNotifyMngList.do" }) - public String myNotifyMngList( - HttpServletRequest request - , @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO - , ModelMap model - ) throws Exception { - -// try { - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - - notifyManageService.updateM7DaysUseYnN(); - - - //1.pageing step1 - PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); - //2. pageing step2 - notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); -// - - - notifyManageVO.setToUserId(loginVO.getUniqId()); - - - /*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) { - String status = ""; - if("Y".equals(notifyManageVO.getSearchStatus())) - status = "IS NOT NULL"; - if("N".equals(notifyManageVO.getSearchStatus())) - status = "IS NULL"; - - notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); - } */ - - List notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO); - - //3.pageing step3 - paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo); - - model.addAttribute("paginationInfo", paginationInfo); - - // 사용자 이름 디코딩 -// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", notifyManageVOList); -// } catch (Exception e) { -// e.printStackTrace(); -// // TODO: handle exception -// } -// return "web/my/myQnaMngList"; - return "web/my/myNotifyMngList"; - } - - @RequestMapping(value = { "/web/my/myNotifyMngDetail.do"}) - public String myNotifyMngDetail( - @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - //로그인 처리==================================== - - //과정 조회 - NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO); - - model.addAttribute("info", notifyManageInfo); - - - try { - if ("30".equals(notifyManageInfo.getLctrDivCd())){ //체험교실은 다른게 바로가기를 만든다. - //eduAplctOrd:eduAplct_00000015581 - List notifyParamList = new ArrayList(); - NotifyManageVO tInfo = new NotifyManageVO(); - tInfo.setSiteNm("eduAplctOrd"); - tInfo.setParams(notifyManageInfo.getEduAplctOrd()); - - notifyParamList.add(tInfo); - - model.addAttribute("notifyParamList", notifyParamList); - - }else{ - //세부과정 목록 조회 - String[] a_params = notifyManageInfo.getParams().split(","); - - List notifyParamList = new ArrayList(); - - for (int i=0;i vEPrcsDetailVOList, PaginationInfo paginationInfo) { - // pageing step3 - int totCnt = 0; - if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - return paginationInfo; - } - } diff --git a/src/main/java/kcc/let/my/web/MyPageController_back_251028.java b/src/main/java/kcc/let/my/web/MyPageController_back_251028.java new file mode 100644 index 00000000..cfd20cd8 --- /dev/null +++ b/src/main/java/kcc/let/my/web/MyPageController_back_251028.java @@ -0,0 +1,667 @@ +package kcc.let.my.web; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.cop.bbs.service.BoardMasterVO; +import kcc.let.cop.bbs.service.BoardVO; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.uss.notify.service.NotifyManageVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; + +/** + * 게시물 관리를 위한 컨트롤러 클래스 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009.03.19 + * @version 1.0 + * @see + * + *
    + * << 개정이력(Modification Information) >>
    + *
    + *   수정일      수정자          수정내용
    + *  -------    --------    ---------------------------
    + *  2009.03.19  이삼섭          최초 생성
    + *  2009.06.29  한성곤	       2단계 기능 추가 (댓글관리, 만족도조사)
    + *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
    + *
    + *      
    + */ +//@Controller +public class MyPageController_back_251028 { + + // 로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + // 교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "fndtnEnhanceTrnService") + private FndtnEnhanceTrnService fndtnEnhanceTrnService; + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController_back_251028.class); + + @RequestMapping(value = { "/web/my/myPageDashBoard.do" }) + public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO, + ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + /* + * 청소년 진행목록 + */ + { + /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ + /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 청소년 + + // 사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(1000000); + vEEduChasiVO.setFirstIndex(0); + // List vEEduChasiVOList = + // vEEduMIXService.selectChasiList(vEEduChasiVO); + + vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); + vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); + vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); + + List tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); + + + Map tngrMap = tngrList.stream() + .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) + //.collect(Collectors.partitioningBy(vo -> "60".equals(vo.getAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "tngrEnd" : "tngrIng", + entry -> entry.getValue().toString() + ) + ); + + System.out.println(tngrMap); + System.out.println(tngrMap); + + + model.addAttribute("tngrMap", tngrMap); + model.addAttribute("tngrList", tngrList);*/ + + //신청목록 + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduAplctVO.setRecordCountPerPage(10); + vEEduAplctVO.setFirstIndex(0); + List vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO); + int tngrAplctCnt = 0; + if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { + tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); + } + model.addAttribute("tngrAplctCnt", tngrAplctCnt); + + //완료목록 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt()); + vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt()); + vEEduChasiVO.setRecordCountPerPage(10); + vEEduChasiVO.setFirstIndex(0); + List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); + int tngrEndCnt = 0; + if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { + tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt(); + } + model.addAttribute("tngrEndCnt", tngrEndCnt); + model.addAttribute("tngrList", vEEduChasiVOList); + } + + /* + * 성인 진행목록 + */ + { + /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ + /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 청소년 + + // 사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(1000000); + vEEduChasiVO.setFirstIndex(0); + // List vEEduChasiVOList = + // vEEduMIXService.selectChasiList(vEEduChasiVO); + + vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); + vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); + vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); + + List adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); + + + Map adultMap = adultList.stream() + .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "adultEnd" : "adultIng", + entry -> entry.getValue().toString() + ) + ); + + model.addAttribute("adultMap", adultMap); + model.addAttribute("adultList", adultList);*/ + //신청목록 + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduAplctVO.setRecordCountPerPage(10); + vEEduAplctVO.setFirstIndex(0); + List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + int adultAplctCnt = 0; + if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { + adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); + } + model.addAttribute("adultAplctCnt", adultAplctCnt); + + //완료목록 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(10); + vEEduChasiVO.setFirstIndex(0); + List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); + int adultEndCnt = 0; + if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { + adultEndCnt = vEEduChasiVOList.get(0).getTotCnt(); + } + model.addAttribute("adultEndCnt", adultEndCnt); + model.addAttribute("adultList", vEEduChasiVOList); + } + /* + * 체험교실 + * */ + { + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 저작권 + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setRecordCountPerPage(1000000); + vEEduAplctVO.setFirstIndex(0); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); + + List vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO); + vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); + + System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size()); +// vEEduAplctVOList에서 10, 11, 12, 13 값 제거 + List filteredList = vEEduAplctVOList.stream() + /* + .filter(item -> !item.getAprvlCd().equals("10") + && !item.getAprvlCd().equals("11") + && !item.getAprvlCd().equals("12") + && !item.getAprvlCd().equals("13")) + */ + .filter(item -> item.getAprvlCd().equals("80") + || item.getAprvlCd().equals("20") + ) + .collect(Collectors.toList()); +// -- 종료 80 +// -- 진행중 20~70 + + Map exprnMap = filteredList.stream() + .collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "exprnEnd" : "exprnIng", + entry -> entry.getValue().toString() + ) + ); + + model.addAttribute("exprnMap", exprnMap); + model.addAttribute("exprnList", filteredList); + } + + /* + * 실무역량강화 + * */ + { + + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setRecordCountPerPage(1000000); + vEPrcsDetailVO.setFirstIndex(0); + + + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + // 요청 + long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count(); + // 미이수 + long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count(); + // 이수완료 + long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count(); + + Map fndtnMap = new HashMap<>(); + fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20)); + fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont)); + + model.addAttribute("fndtnMap", fndtnMap); + model.addAttribute("fndtnList", vEPrcsDetailVOList); + + + //신청중, 수강중, 종료된 수량 + Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); + model.addAttribute("countMap", countMap); + + } + + //내 문의 목록 + { + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setRecordCountPerPage(3); + vEPrcsDetailVO.setFirstIndex(0); + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + List qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + model.addAttribute("qnaList", qnaList); + } + +// return "/web/cop/bbs/FaqListAjax"; + return "web/my/myPageDashBoard"; + } + + @RequestMapping(value = { "/web/my/myQnaMngList.do" }) + public String myQnaMngList( + HttpServletRequest request + , @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + + + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) { + String status = ""; + if("Y".equals(vEPrcsDetailVO.getSearchStatus())) + status = "IS NOT NULL"; + if("N".equals(vEPrcsDetailVO.getSearchStatus())) + status = "IS NULL"; + + vEPrcsDetailVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); + } + + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 +// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + return "web/my/myQnaMngList"; + } + + @RequestMapping(value = { "/web/my/myNotifyMngList.do" }) + public String myNotifyMngList( + HttpServletRequest request + , @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + ) throws Exception { + +// try { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + notifyManageService.updateM7DaysUseYnN(); + + + //1.pageing step1 + PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); + //2. pageing step2 + notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); +// + + + notifyManageVO.setToUserId(loginVO.getUniqId()); + + + /*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) { + String status = ""; + if("Y".equals(notifyManageVO.getSearchStatus())) + status = "IS NOT NULL"; + if("N".equals(notifyManageVO.getSearchStatus())) + status = "IS NULL"; + + notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); + } */ + + List notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO); + + //3.pageing step3 + paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 +// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", notifyManageVOList); +// } catch (Exception e) { +// e.printStackTrace(); +// // TODO: handle exception +// } +// return "web/my/myQnaMngList"; + return "web/my/myNotifyMngList"; + } + + @RequestMapping(value = { "/web/my/myNotifyMngDetail.do"}) + public String myNotifyMngDetail( + @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //로그인 처리==================================== + + //과정 조회 + NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO); + + model.addAttribute("info", notifyManageInfo); + + + try { + if ("30".equals(notifyManageInfo.getLctrDivCd())){ //체험교실은 다른게 바로가기를 만든다. + //eduAplctOrd:eduAplct_00000015581 + List notifyParamList = new ArrayList(); + NotifyManageVO tInfo = new NotifyManageVO(); + tInfo.setSiteNm("eduAplctOrd"); + tInfo.setParams(notifyManageInfo.getEduAplctOrd()); + + notifyParamList.add(tInfo); + + model.addAttribute("notifyParamList", notifyParamList); + + }else{ + //세부과정 목록 조회 + String[] a_params = notifyManageInfo.getParams().split(","); + + List notifyParamList = new ArrayList(); + + for (int i=0;i p_vEPrcsDetailVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } + + + + private PaginationInfo setNotiPagingStep1(NotifyManageVO notifyManageVO) { + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit()); + paginationInfo.setPageSize(notifyManageVO.getPageSize()); + + return paginationInfo; + } + + private NotifyManageVO setNotiPagingStep2(NotifyManageVO notifyManageVO, PaginationInfo paginationInfo) { + // pageing step2 + notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(notifyManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + notifyManageVO.setSearchSortCnd("prcs_ord"); + notifyManageVO.setSearchSortOrd("desc"); + } + + return notifyManageVO; + } + + private PaginationInfo setNotiPagingStep3(List vEPrcsDetailVOList, PaginationInfo paginationInfo) { + // pageing step3 + int totCnt = 0; + if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + return paginationInfo; + } + + +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java index 30069c86..7e747dfc 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java @@ -92,4 +92,7 @@ public interface VEPrcsAplctPrdService { //교육확정상태 대상자 리스트 가져오기 List selectTrgtList4_60(VEPrcsDetailVO vEPrcsDetailVO) throws Exception; + + //신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용 + List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java index fe037aec..ea014590 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java @@ -170,4 +170,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { return (List) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO); } + public List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsAplctPrdDAO.findByAprvlQustnrAllList", 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 41b1f4fd..e84c6b19 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 @@ -383,6 +383,10 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { @Override public List selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{ return vEPrcsAplctPrdDAO.selectTrgtList4_60(paramVO); + } + + public List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.findByAprvlQustnrAllList(vEPrcsDetailVO); } diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 875959f3..81be5265 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -448,7 +448,7 @@ public class MainController { BoardVO boardVO = new BoardVO(); boardVO.setRecordCountPerPage(5); //게시글 수 boardVO.setFirstIndex(0); // - boardVO.setBbsId("BBSMSTR_000000000653"); + boardVO.setBbsId("BBSMSTR_000000000010"); List vo = bbsMngService.selectMainBoardRecent(boardVO); //게시글 내용 html 태그 삭제 for(int i=0; i= TO_CHAR(NOW(),'YYYY.MM.DD') + AND a.aprvl_cd in ('10','20','60') diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml index 9ac2a2b9..128d3161 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml @@ -1701,6 +1701,241 @@ AND aprvl_cd='20' - + + + + diff --git a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp index 58a0886d..771349b7 100644 --- a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp @@ -174,11 +174,11 @@ function bbsMasterExcelDownload(){ - + <%-- checked='checked' > 미사용 - +
    --%> - - -
    " method="post"> + + +
    + " method="post"> - -
    - -
    -
    - -
    -
    - -
    -
    -
    -

    마이페이지

    -
    - -
    - -
    - - -
    - -
    +
    + + +
    + + + " /> + " /> - + +
    +

    교육현황

    +
    +
      + <%--
    • 신청중 강의

    • --%> +
    • 신청중 강의

    • + <%--
    • 수강중 강의

    • --%> +
    • 수강중 강의

    • + <%--
    • 종료된 강의

    • --%> +
    • 종료된 강의

    • +
    -
    -
    -
    -
    -
    찾아가는 교육 청소년
    -
    -
    - -
    -
    +
    +
    +
    교육 신청 목록
    +
    +
    + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공
    구분교육과정교육일자신청결과설문조사이수증
    + + ', '', '');" onkeypress="if(event.keyCode == 13){fncGoDetail('', '', '');}" style="cursor:pointer;" tabindex="0"> + + + + + + + + + + + + + + - + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + 교육완료 + + + - + + +
    +
    + +
    + + +
    + +
    +