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 6b901bc2..099f86b3 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 @@ -134,4 +134,6 @@ public interface VEEduMIXService { List selectExprnRsltFileDownList(VEEduAplctVO paramVO) throws Exception; void updateCnclStatus(VEEduAplctVO vEEduAplctVO); + + List selectCrtfcMngList( VEEduAplctVO paramVO ); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java index 321e7c3b..ced00638 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduMIXDAO.java @@ -322,4 +322,8 @@ public class VEEduMIXDAO extends EgovAbstractDAO { List tlist = (List) list("VEEduMIXDAO.selectExprnRsltFileDownList", paramVO); return tlist; } + + public List selectCrtfcMngList(VEEduAplctVO paramVO) { + return (List) list("VEEduMIXDAO.selectCrtfcMngList", paramVO); + } } 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 6c5a4a22..61a7eb59 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 @@ -222,7 +222,7 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public List selectTrgtList4Cmplt(VEEduAplctVO paramVO) { return vEEduMIXDAO.selectTrgtList4Cmplt(paramVO); } - + public List selectCmdTrgtList4Cmplt(VEEduAplctVO paramVO) { return vEEduMIXDAO.selectCmdTrgtList4Cmplt(paramVO); } @@ -292,5 +292,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public void updateCnclStatus(VEEduAplctVO paramVO) { vEEduMIXDAO.updateCnclStatus(paramVO); - } + } + + @Override + public List selectCrtfcMngList( VEEduAplctVO paramVO ) { + return vEEduMIXDAO.selectCrtfcMngList(paramVO); + } } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java index 5dd004d6..7930dad5 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnInstrMngController.java @@ -8,6 +8,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; +import kcc.com.cmm.LoginVO; +import kcc.let.uat.uia.service.SsoLoginVO; +import org.apache.commons.lang3.StringUtils; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -665,46 +668,92 @@ public class CndtnInstrMngController { */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.do") public String instrActvtHstrySignAndCmpltCrtfcMngList( - @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO + @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); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// } - //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //로그인 처리==================================== + //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVO); + /*PaginationInfo paginationInfo = this.setPagingStep1_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVO); //2. pageing step2 vEInstrDetailActvtHstryVO = this.setPagingStep2_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVO, paginationInfo); vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); // List vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectSignPagingList(vEInstrDetailActvtHstryVO); List vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectSignAndCmpltCrtfcPagingList(vEInstrDetailActvtHstryVO); - + vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); - + //3.pageing step3 paginationInfo = this.setPagingStep3_VEInstrDetailActvtHstryVO(vEInstrDetailActvtHstryVOList, paginationInfo); model.addAttribute("paginationInfo", paginationInfo); - + // 검색어 복호화 vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword())); //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEInstrDetailActvtHstryVOList); - - - + model.addAttribute("list", vEInstrDetailActvtHstryVOList);*/ + + VEEduAplctVO paramVO = new VEEduAplctVO(); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(paramVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(paramVO.getPageUnit()); + paginationInfo.setPageSize(paramVO.getPageSize()); + + paramVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + paramVO.setLastIndex(paginationInfo.getLastRecordIndex()); + paramVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(paramVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + paramVO.setSearchSortCnd("a.frst_regist_pnttm"); + paramVO.setSearchSortOrd("ASC"); + } + + //과정 신청자 정보 가져오기 + //해당 과정을 제출한 사용자 정보를 가져온다. + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + paramVO.setSearchSelStatus(vEPrcsDetailVO.getSearchSelStatus()); + + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) { + + String searchQuery = "AND vsit.edu_state_cd = '"+vEPrcsDetailVO.getSearchStatus()+"' "; + + paramVO.setSearchQuery(searchQuery); + } + + + paramVO.setLctrDivCd(LCTR_DIV_CD); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 + List vEPrcsDetailVOList = vEEduMIXService.selectCrtfcMngList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + + int totCnt = 0; + if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("paginationInfo", paginationInfo); + + // return "oprtn/cmm/instrActvtHstrySignMngList"; return "oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList"; } - + /** * 교육실적통계 화면-개별 */ diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml index 4ecda1c1..28aa10dd 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Postgresql.xml @@ -2022,7 +2022,7 @@ /* ORDER BY 1=1 */ - ORDER BY + ORDER BY $orderByQuery$ @@ -10501,7 +10501,7 @@ VALUES #rsltList[]# ORDER BY b.EDU_HOPE_DT ASC, B.STRT_TM ASC; - + + + 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 7b3f84ab..7c366c9d 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 @@ -2045,7 +2045,8 @@ ON a.prcs_aplct_prd_ord = c.prcs_ord AND c.aprvl_cd = '60' WHERE - a.prcs_aplct_prd_ord = #prcsAplctPrdOrd# + a.prcs_aplct_prd_ord = #prcsAplctPrdOrd# + AND a.aplct_state_cd = '20'; - 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 dfd26cfd..a04248c0 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -491,10 +491,9 @@ form.prcsAplctPrdOrd.value = prcsAplctPrdOrd; -// form.action = ""; form.action = ""; - window.open("#", "_printCertPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px"); + window.open("#", "_printCertPop", "scrollbars = no, top=10px, left=10px, height=1500px, width=1200px"); form.target = "_printCertPop"; form.submit(); } @@ -1009,7 +1008,7 @@ + onclick="fncPrintCert('')"/>출력 - diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.jsp index 014e61db..518494bc 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/instrActvtHstrySignAndCmpltCrtfcMngList.jsp @@ -87,9 +87,9 @@
- - " /> - " /> + + " /> + " />
@@ -110,40 +110,27 @@
- -
+ <%--

발급일자

- +
~
- +
-
+
--%>

성명

- +
@@ -156,10 +143,10 @@

총 건수 :

@@ -173,53 +160,39 @@ - - 번호 - 항목 - 문서번호 과정명 - 교육일시 - 성명 - 발급일자 - + 이름 + 생년월일 + 이수증 출력 -<%-- --%> - - - + + + - 실무역량- - 기소유예- - + - + - - - - - - - + - + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/printCertPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/printCertPopup.jsp index 7aa0aede..71a36b0c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/printCertPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/popup/printCertPopup.jsp @@ -25,24 +25,61 @@ %> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -<%-- --%> - 강사배치 팝업 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 3c9c9c64..139f8d02 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.jsp @@ -484,7 +484,20 @@ // listForm.searchCondition.value = $("#searchCondition").val() ; vForm.action = ""; vForm.submit(); - } + } + + // 이수증 + function fncPrintCert(prcsAplctPrdOrd) { + var form = document.popForm; + + form.prcsAplctPrdOrd.value = prcsAplctPrdOrd; + + form.action = ""; + + window.open("#", "_printCertPop", "scrollbars = no, top=10px, left=10px, height=1500px, width=1200px"); + form.target = "_printCertPop"; + form.submit(); + } @@ -929,8 +942,8 @@ - + -