From e9ac81657b0281494ea5cfd2585a73d8806a395d Mon Sep 17 00:00:00 2001 From: jiwoo Date: Mon, 27 Nov 2023 16:02:28 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EA=B0=95?= =?UTF-8?q?=EC=82=AC=20=EA=B8=B0=EB=B0=98=20=EB=AA=A9=EB=A1=9D=20=EB=B0=8F?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=20=EC=88=98=EC=A0=95,=20=EA=B0=95?= =?UTF-8?q?=EC=9D=98=EA=B3=84=ED=9A=8D=EC=84=9C=20=EA=B8=B0=EB=8A=A5=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 --- .../asgnmInfo/web/VEFndtnAsgnmController.java | 96 +++- .../endInfo/web/VEFndtnEduEndController.java | 10 +- .../prcsInfo/service/VEPrcsDetailVO.java | 9 + .../sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml | 2 +- .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 6 +- .../sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml | 11 +- .../fndthEduPrcsAplctCfnMngDetail.jsp | 12 +- .../exprnClsrmInfo/exprnClsrmAplctList.jsp | 4 +- .../aplct/fndtnEnhanceTrn/eduAplctDetail.jsp | 10 + .../asgnmInfo/instrAsgnmDetail.jsp | 47 +- .../asgnmInfo/instrAsgnmEndDetail.jsp | 437 ++++++++++++++++++ .../asgnmInfo/instrAsgnmList.jsp | 80 +--- .../fndtnVisitEdu/endInfo/instrEduEndList.jsp | 156 ++----- 13 files changed, 653 insertions(+), 227 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp diff --git a/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java index 21017bae..148163e0 100644 --- a/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java +++ b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java @@ -1,7 +1,6 @@ package kcc.ve.instr.fndtnVisitEdu.asgnmInfo.web; import java.util.List; -import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -11,39 +10,21 @@ 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; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.EgovMessageSource; import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.EgovFileMngUtil; -import kcc.com.cmm.service.FileVO; -import kcc.com.cmm.util.IpUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; -import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; -import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; @Controller @@ -77,7 +58,9 @@ public class VEFndtnAsgnmController { @Resource(name = "vEPrcsAplctPrdService") private VEPrcsAplctPrdService vEPrcsAplctPrdService; - + //과정차시 관리 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; // 기반강화 강의목록(확정) @RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do") @@ -115,6 +98,7 @@ public class VEFndtnAsgnmController { vEPrcsDetailVO.setAprvlCd("20"); vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60 vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역 + vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회 try { // System.out.println("session.getAttribute(menuNo).toString()"); @@ -126,8 +110,8 @@ public class VEFndtnAsgnmController { // - List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); - + //List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); //6.pageing step3 paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); @@ -207,7 +191,71 @@ public class VEFndtnAsgnmController { return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail"; } - + // 기반강화 강의목록(종료) > 상세 + @RequestMapping("/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.do") + public String instrEduEndDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + + // 신청자 수 반려 승인 요청 신청자 모두 포함 + vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size())); + } + // 과정 조회 set + model.addAttribute("info", vEPrcsDetailVODetail); + + // 강사 배치 정보 + { + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + + return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail"; + } //성인강사 강의 요청 상세 diff --git a/src/main/java/kcc/ve/instr/fndtnVisitEdu/endInfo/web/VEFndtnEduEndController.java b/src/main/java/kcc/ve/instr/fndtnVisitEdu/endInfo/web/VEFndtnEduEndController.java index b63ba783..3722fa95 100644 --- a/src/main/java/kcc/ve/instr/fndtnVisitEdu/endInfo/web/VEFndtnEduEndController.java +++ b/src/main/java/kcc/ve/instr/fndtnVisitEdu/endInfo/web/VEFndtnEduEndController.java @@ -29,6 +29,7 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; @@ -93,6 +94,10 @@ public class VEFndtnEduEndController { @Resource(name = "schduleManageService") private SchduleManageService schduleManageService; + //과정차시 관리 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class); @@ -136,6 +141,8 @@ public class VEFndtnEduEndController { vEPrcsDetailVO.setAprvlCd("20"); vEPrcsDetailVO.setLctrDivCd("50"); //기반강화50. 기소유예 60 vEPrcsDetailVO.setSearchDiv("END"); // 강의내역 END 종료내역 + vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회 + vEPrcsDetailVO.setEndPnttm("Y"); //종료 완료건만 조회 try { // System.out.println("session.getAttribute(menuNo).toString()"); @@ -147,7 +154,8 @@ public class VEFndtnEduEndController { // - List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); + //List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); //6.pageing step3 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 87d360f5..5a615c87 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 @@ -155,6 +155,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String mberNm; private String instrNm; //강사명 + + private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디 @@ -757,6 +759,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setInstrNm(String instrNm) { this.instrNm = instrNm; } + public String getLctrPlanRsltAtchFileId() { + return lctrPlanRsltAtchFileId; + } + public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) { + this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId; + } + } 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 a87c24f6..61e276f2 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 @@ -415,7 +415,7 @@ SELECT , CHRG_MJR AS chrgMjr, - D_BIRTH AS dBirth, + B.D_BIRTH AS dBirth, CHRG_SEX_CD AS chrgSexCd, CMPLT_YEAR AS cmpltYear, CMPLT_NUM AS cmpltNum, 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 b9f56b1d..f7ba7df9 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 @@ -498,7 +498,11 @@ ,a.edu_strt_pnttm AS eduStrtPnttm ,a.edu_ddln_pnttm AS eduDdlnPnttm ,b.prcs_cn AS prcsCn - + ,(SELECT lctr_plan_atch_file_id + FROM vea_prcs_aplct_prd_instr_asgnm + WHERE prcs_aplct_prd_ord = a.prcs_aplct_prd_ord + ) + AS lctrPlanRsltAtchFileId FROM ve_prcs_aplct_prd a , ve_prcs b diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml index 7a971867..4224ed68 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml @@ -505,7 +505,16 @@ AND c.instr_nm = #srchKwd3_1# - + + + + AND c.user_id = #userId# + + + + AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') ]]> REPLACE(a.edu_ddln_pnttm, '.' , '') + + ORDER BY 1 diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp index 9c5213b2..972bc49f 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp @@ -294,7 +294,17 @@ - + + + + 강의계획서 + + + + + + + <%--

공개여부(사용여부)

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctList.jsp index e4ab0f96..6a7015aa 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctList.jsp @@ -174,8 +174,8 @@ - - <%-- + <%-- 프로세스 변경 후 적용 + 운영신청 diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp index 07641d31..794561b2 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.jsp @@ -245,6 +245,16 @@ + + + 강의계획서 + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.jsp index f2e2f6c2..b289da06 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.jsp @@ -6,6 +6,7 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> @@ -96,7 +97,7 @@ function fncGoList(){ var detailForm = document.detailForm; - detailForm.action = ""; + detailForm.action = ""; detailForm.submit(); } @@ -131,7 +132,7 @@ - /> + " />

강의내역상세

@@ -271,23 +272,27 @@

강의계획서

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

-
-
-

최대 1

+ +
+ +
-
-

등록된 파일 0

- 0MB +

+
+
+

최대 1

+
+
+

등록된 파일 0

+ 0MB +
-
+
+ + + + + @@ -297,7 +302,7 @@ -
+<%--

강사 배치 정보

@@ -390,7 +395,7 @@ - <%-- + @@ -412,7 +417,7 @@ - --%> + @@ -427,7 +432,7 @@
-
+
--%> diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp new file mode 100644 index 00000000..0fdd2eca --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp @@ -0,0 +1,437 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + +강사프로필 목록 + + + + + + + + + + +
+ + + " /> + " /> + " /> + + + + + + + + " /> +
+

강의내역상세

+
+ + +
+
+
+
+

교육과정 정보

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육과정 정보(th 명)을 보여주는 표
+

교육부문

+
+ +
+

교육부문

+
+

과정

+
+ +
+

과정

+
+

기간

+
+ ~ +
+

기간

+
~
+

교육장소

+
+ +
+

교육장소

+
+

상세교육과정

+
+ +
+

상세교육과정

+
+

정원

+
+ +
+

정원

+
+

신청자수

+
+ +
+

신청자수

+
+

상태

+
+ +
+

상태

+

강의계획서

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

강사 배치 정보

+
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
강사명연락처확정여부
+ + + + + +
강사 배치 정보가 없습니다.
+
+
+ + +
+
+

교육신청자

+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
신청자신청일확정여부
+ + + + + + + + + + + + + + + + 미입력 + + + + + + + + + + + +
신청자가 없습니다.
+
+
--%> + + + + + +
+
+
+
+
+
+ +
+
+
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp index baea3ae6..a0f1d9e2 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp @@ -6,6 +6,7 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> @@ -403,7 +459,7 @@ $(document).ready(function(){ - "> + " data-eduAplctOrd=""> <%-- ');" style="cursor:pointer;"> --%> <%-- --%> @@ -436,7 +492,7 @@ $(document).ready(function(){ <%-- --%> - + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp index 3de379fd..e4cd5561 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/popup/eduAplctPop.jsp @@ -113,6 +113,7 @@ $(document).ready(function(){ +
From 1d08c94e62deb46d9f624f85b5f1d04a9953205a Mon Sep 17 00:00:00 2001 From: jiwoo Date: Mon, 27 Nov 2023 18:20:09 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EC=84=B1?= =?UTF-8?q?=EC=9D=B8=EA=B0=95=EC=82=AC=20=EA=B8=B0=EC=86=8C=EC=9C=A0?= =?UTF-8?q?=EC=98=88=20=EB=AA=A9=EB=A1=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/VESspnIdtmtAsgnmController.java | 680 ++++++++++++++++++ .../web/VESspnIdtmtEduEndController.java | 225 ++++++ .../sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml | 8 +- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 2 + .../asgnmInfo/instrAsgnmEndDetail.jsp | 4 +- .../asgnmInfo/instrAsgnmList.jsp | 8 +- .../endInfo/instrEduEndDetail.jsp | 2 +- .../fndtnVisitEdu/endInfo/instrEduEndList.jsp | 10 +- .../asgnmInfo/instrAsgnmDetail.jsp | 413 +++++++++++ .../asgnmInfo/instrAsgnmList.jsp | 152 ++++ .../endInfo/instrAsgnmEndDetail.jsp | 413 +++++++++++ .../endInfo/instrEduEndList.jsp | 165 +++++ 12 files changed, 2069 insertions(+), 13 deletions(-) create mode 100644 src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java create mode 100644 src/main/java/kcc/ve/instr/sspnIdtmt/endInfo/web/VESspnIdtmtEduEndController.java create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.jsp diff --git a/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java b/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java new file mode 100644 index 00000000..6233c5f5 --- /dev/null +++ b/src/main/java/kcc/ve/instr/sspnIdtmt/asgnmInfo/web/VESspnIdtmtAsgnmController.java @@ -0,0 +1,680 @@ +package kcc.ve.instr.sspnIdtmt.asgnmInfo.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +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 egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.EgovMessageSource; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; + + +@Controller +public class VESspnIdtmtAsgnmController { + + // eGov 공통 메세지 + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //과정 관리 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //과정차시 관리 + @Resource(name = "vEAPrcsAplctPrdInstrAsgnmService") + private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService; + + //배정 MIX 정보 + @Resource(name="vEAsgnmMIXService") + private VEAsgnmMIXService vEAsgnmMIXService; + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + //과정차시 관리 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + // 기반강화 강의목록(확정) + @RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do") + public String instrAsgnmList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + + //3.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //4. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + vEPrcsDetailVO.setInstrDiv("20"); + vEPrcsDetailVO.setAprvlCd("20"); + vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60 + vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역 + vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회 + + try { +// System.out.println("session.getAttribute(menuNo).toString()"); +// System.out.println(session.getAttribute("menuNo").toString()); +// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString()); + }catch(Exception ex) { + ex.printStackTrace(); + } + +// + + //List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + //6.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList); + + + return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList"; + } + + // 기반강화 강의목록(확정) > 상세 + @RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do") + public String instrAsgnmDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + + // 신청자 수 반려 승인 요청 신청자 모두 포함 + vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size())); + } + // 과정 조회 set + model.addAttribute("info", vEPrcsDetailVODetail); + + // 강사 배치 정보 + { + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + + return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail"; + } + + // 기반강화 강의목록(종료) > 상세 + @RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndDetail.do") + public String instrEduEndDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + + // 신청자 수 반려 승인 요청 신청자 모두 포함 + vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size())); + } + // 과정 조회 set + model.addAttribute("info", vEPrcsDetailVODetail); + + // 강사 배치 정보 + { + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + + return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail"; + } + + + //성인강사 강의 요청 상세 + /*@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do") + public String instrAsgnmRqstDetail( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + + , 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmRqstDetail(vEInstrAsgnmVO); + vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("info", vEInstrAsgnmVOInfo); + + //사용자 교육신청 과정 리스트 + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + List vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO); + model.addAttribute("eduList", vEPrcsDetailVOList); + + //강사료 + VEInstrFeeAcmdtVO instrFee = new VEInstrFeeAcmdtVO(); + instrFee.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd()); + instrFee.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd()); + + instrFee = vEInstrFeeService.selectDetail(instrFee); + + //강사료 제외 합계 + int instrFeeSum = Integer.parseInt(instrFee.getSpecialWorkAllow()) + + Integer.parseInt(instrFee.getDistanceAllow()) + + Integer.parseInt(instrFee.getTrafficFee()) + + Integer.parseInt(instrFee.getAcmdtFee()); + instrFee.setInstrFeeSum(instrFeeSum); + model.addAttribute("instrFee", instrFee); + + //20220222 우영두 추가 + //강의내역 NOTI 입력 + VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO(); + + vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd()); + vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId()); + + try { + System.out.println("session.getAttribute(menuNo).toString()"); + System.out.println(session.getAttribute("menuNo").toString()); + vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); + }catch(Exception ex) { + ex.printStackTrace(); + } + + vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); + + vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); + + return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail"; + } + + //성인강사 강의 추가요청 상세 + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do") + public String instrAsgnmAddRqstDetail( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + + , 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + vEInstrAsgnmVO.setUserId(loginVO.getUniqId()); + + VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmAddRqstDetail(vEInstrAsgnmVO); + vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("info", vEInstrAsgnmVOInfo); + + //사용자 교육신청 과정 리스트 + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + List vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO); + model.addAttribute("eduList", vEPrcsDetailVOList); + + return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail"; + } + + //성인강사 강의확정내역 상세 + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail.do") + public String instrAsgnmDetail( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + + , 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + vEInstrAsgnmVO.setUserId(loginVO.getUniqId()); + + //배정 교육 정보 + VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmDetail(vEInstrAsgnmVO); + vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("info", vEInstrAsgnmVOInfo); + + // 강사 상세정보 + VEInstrDetailVO vEInstrDetailVOInfo = new VEInstrDetailVO(); + vEInstrDetailVOInfo.setInstrDiv("20"); + vEInstrDetailVOInfo.setUserId(loginVO.getUniqId()); + vEInstrDetailVOInfo.setUseYn("Y"); + vEInstrDetailVOInfo = vEInstrDetailService.selectDetail(vEInstrDetailVOInfo); + vEInstrDetailVOInfo = egovCryptoUtil.decryptVEInstrDetailVO(vEInstrDetailVOInfo); + model.addAttribute("instrInfo", vEInstrDetailVOInfo); + + //강사료 상세정보 + VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = new VEInstrFeeAcmdtVO(); + vEInstrFeeAcmdtVO.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd()); + vEInstrFeeAcmdtVO.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd()); + vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(vEInstrFeeAcmdtVO); + //강사료 제외 합계 + int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getBsnsTripFee()) + + Integer.parseInt(vEInstrFeeAcmdtVO.getSpareFee()); + + vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum); + model.addAttribute("instrFee", vEInstrFeeAcmdtVO); + + //강의계획서 정보 가져오기 + int fileCnt = 0; + List result = null; + if (vEInstrAsgnmVOInfo != null) { + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(vEInstrAsgnmVOInfo.getLctrPlanAtchFileId()); + result = fileMngService.selectFileInfs(fileVO); + fileCnt = result.size(); + } + else { + fileCnt = 0; + } + model.addAttribute("fileList", result); + model.addAttribute("fileListCnt", fileCnt); + + //20220222 우영두 추가 + //강의내역 NOTI 입력 + VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO(); + + vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd()); + vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId()); + + try { + System.out.println("session.getAttribute(menuNo).toString()"); + System.out.println(session.getAttribute("menuNo").toString()); + vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); + }catch(Exception ex) { + ex.printStackTrace(); + vEAsgnmNotiVO.setMenuNo("9991200"); + } + + vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); + + vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); + + vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); + + return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail"; + } + + *//** + * 강의계획서 제출 Ajax + *//* + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do") + public ModelAndView filePopupAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , ModelMap model + , HttpServletRequest request + , final MultipartHttpServletRequest multiRequest + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + + String atchFileId = ""; + final Map files = multiRequest.getFileMap(); + + if (!files.isEmpty()) { + //XXX_로 첨부파일 네이밍 + List result = egovFileMngUtil.parseFileInf(files, "FILE_", 0, "", "", ""); + atchFileId = fileMngService.insertFileInfs(result); + } + + try { + //결과 저장 + vEInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId); + + vEAsgnmMIXService.updateLctrPlan(vEInstrAsgnmVO); + + }catch(Exception ex) { + System.out.println("Exception vEAsgnmMIXService.updateLctrPlan"); + } + + modelAndView.addObject("result", "success"); + + return modelAndView; + } + *//** + * 숙박신청 등록 처리 + *//* + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do") + public ModelAndView acmdtRegPopAjax( + @ModelAttribute("vEInstrFeeAcmdtVO") VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + Boolean isSuccess = true; + String msg = ""; + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + try { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + vEInstrFeeAcmdtVO.setFrstRegisterId(loginVO.getUniqId()); + vEAcmdtAplctService.insert(vEInstrFeeAcmdtVO); + + } catch (Exception ex) { + ex.printStackTrace(); + isSuccess = false; + msg = ex.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + + return modelAndView; + } + //성인강사 강의 요청 수락,거절 처리 + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do") + public ModelAndView instrAsgnmRqstMdfyAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //강사배정테이블 확정 코드 수정 + vEInstrAsgnmVO.setUserId(loginVO.getUniqId()); + vEAsgnmMIXService.updateAsgnmCode(vEInstrAsgnmVO); + //차시 테이블 확정 Y 업데이트 처리 + if("30".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { + vEInstrAsgnmVO.setInstrCnfrmCd("Y"); + vEInstrAsgnmVO.setInstrCnfrmId(loginVO.getUniqId()); + vEAsgnmMIXService.updateChasiCode(vEInstrAsgnmVO); + }else if("40".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 시 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025) + vEInstrAsgnmVO.setHstryCd("10"); //거절 + vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO); + }else if("60".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 시 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025) + vEInstrAsgnmVO.setHstryCd("40"); //변경요청 + vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO); + } + modelAndView.addObject("result", "success"); + + return modelAndView; + } + + //성인강사 강의 추가요청 등록 + @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do") + public ModelAndView instrAsgnmAddRqstAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //강사배정내역테이블 등록 + vEInstrAsgnmVO.setUserId(loginVO.getUniqId()); + vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO); + //차시 테이블 확정 Y 업데이트 처리 + modelAndView.addObject("result", "success"); + + return modelAndView; + } + */ + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List 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; + } +} diff --git a/src/main/java/kcc/ve/instr/sspnIdtmt/endInfo/web/VESspnIdtmtEduEndController.java b/src/main/java/kcc/ve/instr/sspnIdtmt/endInfo/web/VESspnIdtmtEduEndController.java new file mode 100644 index 00000000..f3dd76df --- /dev/null +++ b/src/main/java/kcc/ve/instr/sspnIdtmt/endInfo/web/VESspnIdtmtEduEndController.java @@ -0,0 +1,225 @@ +package kcc.ve.instr.sspnIdtmt.endInfo.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +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 egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.EgovMessageSource; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.web.EgovFileDownloadController; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.kccadr.sch.service.SchduleManageService; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService; +import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; + + +@Controller +public class VESspnIdtmtEduEndController { + + // eGov 공통 메세지 + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //강사상세 정보 + @Resource(name="vEInstrDetailService") + private VEInstrDetailService vEInstrDetailService; + + //결과보고 + @Resource(name="vEEduRsltRprtService") + private VEEduRsltRprtService vEEduRsltRprtService; + + //배정 MIX 정보 + @Resource(name="vEAsgnmMIXService") + private VEAsgnmMIXService vEAsgnmMIXService; + + //강의 + @Resource(name="vEPrcsService") + private VEPrcsService vEPrcsService; + + //강사료 + @Resource(name="vEInstrFeeService") + private VEInstrFeeService vEInstrFeeService; + + //숙박 + @Resource(name="vEAcmdtAplctService") + private VEAcmdtAplctService vEAcmdtAplctService; + + //VO 암/복호화 + @Resource(name="egovCryptoUtil4VO") + private EgovCryptoUtil4VO egovCryptoUtil4VO; + + // 파일첨부 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //NOTI 서비스 + @Resource(name="vEAsgnmNotiService") + private VEAsgnmNotiService vEAsgnmNotiService; + + //일정 정보 + @Resource(name = "schduleManageService") + private SchduleManageService schduleManageService; + + //과정차시 관리 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class); + + + + + + + // 기소유예 강의목록(종료) + @RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do") + public String instrEduEndList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + model.addAttribute("ssoLoginVO", ssoLoginVO); + model.addAttribute("loginVO", loginVO); + //로그인 처리==================================== + + + //3.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //4. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + vEPrcsDetailVO.setInstrDiv("20"); + vEPrcsDetailVO.setAprvlCd("20"); + vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60 + vEPrcsDetailVO.setSearchDiv("END"); // 강의내역 END 종료내역 + vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회 + vEPrcsDetailVO.setEndPnttm("Y"); //종료 완료건만 조회 + + try { +// System.out.println("session.getAttribute(menuNo).toString()"); +// System.out.println(session.getAttribute("menuNo").toString()); +// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString()); + }catch(Exception ex) { + ex.printStackTrace(); + } + +// + + //List vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO); + + + //6.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList); + + + + return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList"; + } + + + + + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List 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; + } + +} diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml index 4224ed68..96d9753e 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml @@ -511,8 +511,14 @@ AND c.user_id = #userId# + - AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') ]]> REPLACE(a.edu_ddln_pnttm, '.' , '') + + AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') ]]> REPLACE(a.edu_ddln_pnttm, '.' , '') + + + AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') ]]> REPLACE(a.end_pnttm, '.' , '') + ORDER BY 1 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 5ea7a00b..93f7a9e3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -62,6 +62,8 @@ $(document).ready(function (){ $("#full_9991000").parent('li').hide(); $("#99912000").parent('li').hide(); $("#full_99912000").parent('li').hide(); + $("#99913000").parent('li').hide(); + $("#full_99913000").parent('li').hide(); }else if("${instrDiv}" == 'adultInstrDiv'){ $("#99923000").parent('li').hide(); $("#full_99923000").parent('li').hide(); diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp index 0fdd2eca..6594d96a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmEndDetail.jsp @@ -97,7 +97,7 @@ function fncGoList(){ var detailForm = document.detailForm; - detailForm.action = ""; + detailForm.action = ""; detailForm.submit(); } @@ -135,7 +135,7 @@ " />
-

강의내역상세

+

종료교육상세

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp index a0f1d9e2..dc06cac6 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.jsp @@ -26,7 +26,7 @@ function linkPage(pageNo){ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; - listForm.action = ""; + listForm.action = ""; listForm.submit(); } @@ -66,12 +66,12 @@
<%-- --%> - +
~
<%-- --%> - +
@@ -121,7 +121,7 @@
-
    ', '');"> +
    • 교육구분 diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.jsp index b93b810c..c5f8858f 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndDetail.jsp @@ -54,7 +54,7 @@ $( document ).ready(function() { function linkPage(pageNo){ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; - listForm.action = ""; + listForm.action = ""; listForm.submit(); } diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.jsp index 72a5c502..bc23dd60 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.jsp @@ -68,27 +68,27 @@
      - + <%-- + --%>
      <%-- --%> - +
      ~
      <%-- --%> - +
      - +
      diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail.jsp new file mode 100644 index 00000000..224e8536 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail.jsp @@ -0,0 +1,413 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + +강사프로필 목록 + + + + + + + + + + +
      + + + " /> + " /> + " /> + + + + + + + + " /> +
      +

      강의내역상세

      +
      + + +
      +
      +
      +
      +

      교육과정 정보

      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      교육과정 정보(th 명)을 보여주는 표
      +

      교육부문

      +
      + +
      +

      교육부문

      +
      +

      과정

      +
      + +
      +

      과정

      +
      +

      신청기간

      +
      + ~ +
      +

      신청기간

      +
      ~
      +

      교육기간

      +
      + +
      +

      교육기간

      +
      +

      상세교육과정

      +
      + +
      +

      상세교육과정

      +
      +

      정원

      +
      + +
      +

      정원

      +
      +

      상태

      +
      + +
      +

      상태

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

      강사 배치 정보

      +
      +
      + + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      강사명연락처확정여부
      + + + + + +
      강사 배치 정보가 없습니다.
      +
      +
      + + +
      +
      +

      교육신청자

      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      신청자신청일확정여부
      + + + + + + + + + + + + + + + + 미입력 + + + + + + + + + + + +
      신청자가 없습니다.
      +
      +
      --%> + + + + + +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList.jsp new file mode 100644 index 00000000..f70570d0 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList.jsp @@ -0,0 +1,152 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + + +
      + + + + " /> + " /> + " /> + + +
      +

      강의내역목록

      +
      + + +
      +
      + +
      +
      +
      +
      +
      + <%-- --%> + +
      + ~ +
      + <%-- --%> + +
      + + + +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      교육구분과정명교육일자상태
      + + + ${list.prcsNm } (${list.prcsAplctPrdOrd }) + + ${list.eduStrtPnttm } + + +
      +
      + +
      + +
        +
      • + 교육구분 + +
      • +
      • + 과정명 + ${list.prcsNm } (${list.prcsAplctPrdOrd }) +
      • +
      • + 교육기간 + ${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm } +
      • +
      • + 상태 + +
      • +
      +
      + +
      +
      +
      + +
      + +
      +
      +
      diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail.jsp new file mode 100644 index 00000000..537f83f7 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail.jsp @@ -0,0 +1,413 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + +강사프로필 목록 + + + + + + + + + + +
      + + + " /> + " /> + " /> + + + + + + + + " /> +
      +

      종료교육상세

      +
      + + +
      +
      +
      +
      +

      교육과정 정보

      +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      교육과정 정보(th 명)을 보여주는 표
      +

      교육부문

      +
      + +
      +

      교육부문

      +
      +

      과정

      +
      + +
      +

      과정

      +
      +

      신청기간

      +
      + ~ +
      +

      신청기간

      +
      ~
      +

      교육기간

      +
      + +
      +

      교육기간

      +
      +

      상세교육과정

      +
      + +
      +

      상세교육과정

      +
      +

      정원

      +
      + +
      +

      정원

      +
      +

      상태

      +
      + +
      +

      상태

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

      강사 배치 정보

      +
      +
      + + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      강사명연락처확정여부
      + + + + + +
      강사 배치 정보가 없습니다.
      +
      +
      + + +
      +
      +

      교육신청자

      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      신청자신청일확정여부
      + + + + + + + + + + + + + + + + 미입력 + + + + + + + + + + + +
      신청자가 없습니다.
      +
      +
      --%> + + + + + +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.jsp new file mode 100644 index 00000000..20b7e11e --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.jsp @@ -0,0 +1,165 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + + +
      + + + + " /> + " /> + " /> + + +
      +

      종료교육목록

      +
      + + +
      +
      + +
      +
      + + +
      +
      +
      + <%-- --%> + +
      + ~ +
      + <%-- --%> + +
      + + + + +
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      교육구분과정명교육일자상태
      + + + ${list.prcsNm } (${list.prcsAplctPrdOrd }) + + ${list.eduStrtPnttm } + + +
      +
      + +
      + +
        ', '');"> +
      • + 교육구분 + +
      • +
      • + 과정명 + ${list.prcsNm } (${list.prcsAplctPrdOrd }) +
      • +
      • + 교육일자 + ${list.eduStrtPnttm } +
      • +
      • + 상태 + +
      • +
      +
      + +
      +
      +
      + +
      + +
      +
      +
      From 96bf1b7ceb9579de9a25e8b261df2a7aa9e1b7c3 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Mon, 27 Nov 2023 18:35:16 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EC=9D=B4=EC=A4=80=ED=98=B8=20qr=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eduEnd/web/EduEndAdultController.java | 25 +++ .../eduEnd/web/EduEndTngrController.java | 24 +++ .../service/impl/VEEduAplctServiceImpl.java | 13 ++ .../prcsInfo/service/VEPrcsDetailVO.java | 16 +- src/main/webapp/WEB-INF/decorators.xml | 1 + .../adultVisitEdu/eduEnd/eduEndDetail.jsp | 18 ++ .../tngrVisitEdu/eduEnd/eduEndDetail.jsp | 20 ++- .../web/ve/comm/eduEndQustnrNoLoginDetail.jsp | 165 ++++++++++++++++++ 8 files changed, 273 insertions(+), 9 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/web/ve/comm/eduEndQustnrNoLoginDetail.jsp diff --git a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java index 625aae8f..61765aea 100644 --- a/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java +++ b/src/main/java/kcc/ve/aplct/adultVisitEdu/eduEnd/web/EduEndAdultController.java @@ -856,6 +856,31 @@ public class EduEndAdultController { } + + @RequestMapping("eduEndQustnrNoLoginDetail.do") + public String eduEndQustnrNoLoginDetail( + ModelMap model + , HttpServletRequest request + ) throws Exception { + + //설문 정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_20 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + return "/web/ve/comm/eduEndQustnrNoLoginDetail"; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java index d0d6699a..c91ed9d9 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduEnd/web/EduEndTngrController.java @@ -954,6 +954,30 @@ public class EduEndTngrController { } + @RequestMapping("eduEndQustnrNoLoginDetail.do") + public String eduEndQustnrNoLoginDetail( + ModelMap model + , HttpServletRequest request + ) throws Exception { + + //설문 정보 + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + return "/web/ve/comm/eduEndQustnrNoLoginDetail"; + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java index 2c0fedc7..d5054f9c 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; @@ -23,6 +24,9 @@ public class VEEduAplctServiceImpl implements VEEduAplctService { //과정 @Resource(name="cmmUseDAO") private CmmUseDAO cmmUseDAO; + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; //C @@ -86,6 +90,8 @@ public class VEEduAplctServiceImpl implements VEEduAplctService { VEEduAplctVO vo = new VEEduAplctVO(); vo = vEEduAplctDAO.selectDetail(vEEduAplctVO); + decryptVEEduAplctVO(vo); + //교육확정 시 관리번호 추가 if("60".equals(vEEduAplctVO.getAprvlCd())) { String mngNmbrDigits = "00000"; //관리번호 5자릿수로 만들기 변수 @@ -135,6 +141,7 @@ public class VEEduAplctServiceImpl implements VEEduAplctService { vEEduAplctVO.setMngNmbrOrd(vo.getMngNmbrOrd()); } + if(true) return 0; return vEEduAplctDAO.statusUpdate(vEEduAplctVO); } @@ -180,4 +187,10 @@ public class VEEduAplctServiceImpl implements VEEduAplctService { public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception { vEEduAplctDAO.updateSbmtAtchFileId(paramVO); } + + private void decryptVEEduAplctVO(VEEduAplctVO vo) { + + vo.setClphone(egovCryptoUtil.decrypt(vo.getClphone())); + vo.setEmail(egovCryptoUtil.decrypt(vo.getEmail())); + } } 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 87bd3b38..e766ad8d 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 @@ -160,8 +160,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String chrgNm; private String insttNm; - private String instrNm; - + private String instrNm; + private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디 @@ -794,12 +794,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { } public void setInstrNm(String instrNm) { this.instrNm = instrNm; - } - public String getLctrPlanRsltAtchFileId() { - return lctrPlanRsltAtchFileId; - } - public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) { - this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId; + } + public String getLctrPlanRsltAtchFileId() { + return lctrPlanRsltAtchFileId; + } + public void setLctrPlanRsltAtchFileId(String lctrPlanRsltAtchFileId) { + this.lctrPlanRsltAtchFileId = lctrPlanRsltAtchFileId; } diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 0ea25b6d..0d87820d 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -17,6 +17,7 @@ /web/survey/jsontest.do /web/ve/aplct/tngrVisitEdu/lctrSrvy/lctrSrvyReg.do */web/ve/**/*Popup* + */eduEndQustnrNoLoginDetail.do diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp index 63541a92..936c52bf 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduEnd/eduEndDetail.jsp @@ -823,6 +823,24 @@
+ + + + +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.jsp index 18d012a1..6b67a715 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.jsp @@ -572,7 +572,25 @@
- + + + + +
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduEndQustnrNoLoginDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduEndQustnrNoLoginDetail.jsp new file mode 100644 index 00000000..0d93e56b --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/comm/eduEndQustnrNoLoginDetail.jsp @@ -0,0 +1,165 @@ +<%@ 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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ 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" %> + + + + + + + + 완료상세<<< 한국저작권위원회 저작권교육 시스템 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + +
+ + + + + + + +
+ +
+ + +
+
+ + \ No newline at end of file