diff --git a/pom.xml b/pom.xml index 7ed6dd00..cc30d9d4 100644 --- a/pom.xml +++ b/pom.xml @@ -69,6 +69,12 @@ + + + com.thetransactioncompany + cors-filter + 2.6 + egovframework.rte egovframework.rte.fdl.security diff --git a/src/main/java/kcc/com/uss/ion/fms/web/FmsFileController.java b/src/main/java/kcc/com/uss/ion/fms/web/FmsFileController.java index 88ef20ba..2a37b361 100644 --- a/src/main/java/kcc/com/uss/ion/fms/web/FmsFileController.java +++ b/src/main/java/kcc/com/uss/ion/fms/web/FmsFileController.java @@ -366,6 +366,32 @@ public class FmsFileController { } return modelAndView; } + + /* 첨부파일 삭제 사용자 url*/ + @RequestMapping(value = "/web/fms/fmsfileDeleteAjax.do") + public ModelAndView webFmsfileDeleteAjax(@RequestParam Map commandMap, + FmsFileVO fmsFileVO, + @ModelAttribute("fileVO") FileVO fileVO + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + /*Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + modelAndView.addObject("result", "auth_fail"); //권한없음 팝업창 닫고, 오프너 창 리로드 + return modelAndView; + }*/ + + try { + fileMngService.deleteFmsFileInf(fileVO); + modelAndView.addObject("result", "success"); + }catch (Exception e) { + modelAndView.addObject("result", "fail"); + System.out.println("Exception Occured!!!"); + return modelAndView; + } + return modelAndView; + } @RequestMapping(value = "/uss/ion/fms/fmsfileMultipleDeleteAjax.do", method = RequestMethod.POST) public ModelAndView fmsfileMultipleDeleteAjax(@RequestBody FileVO fileVo) throws Exception { diff --git a/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java b/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java index 2b1a5c4b..be7acdb3 100644 --- a/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java +++ b/src/main/java/kcc/let/uat/uia/web/APILoginContoller.java @@ -16,7 +16,6 @@ import javax.servlet.http.HttpSession; import org.json.JSONObject; import org.springframework.context.ApplicationContext; -import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; @@ -45,8 +44,9 @@ import kcc.let.utl.sim.service.EgovClntInfo; * @version 1.0 * @see */ -@CrossOrigin(origins = "*") + @Controller +@CrossOrigin(origins = "*", methods = RequestMethod.POST) public class APILoginContoller { /** userManageService */ @@ -67,13 +67,15 @@ public class APILoginContoller { * @throws Exception */ @RequestMapping(value = "/web/chkloginKeyForOffedu.do") - public String loginKeyChkForOffedu(Map paramRequest, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response,HttpSession session) throws Exception { + public String loginKeyChkForOffedu(@RequestBody Map paramRequest, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response,HttpSession session) throws Exception { String userId = paramRequest.get("user_id"); String key = paramRequest.get("key"); //String returnUrl = paramRequest.get("returnUrl"); //e-배움터 문의결과 returnUrl 컨트롤은 불가능하다고 함 String returnUrl = ""; System.out.println("@@@@@@@e배움터 로그인 페이지에서 오는 메소드 or e배움터 로그인 상태에서 오는 메소드@@@@@@@@"); + System.out.println("@@@key:"+key); + System.out.println("@@@userId:"+userId); //테스트를 위한 값 선언 /*userId = "std02@forwiz.com"; key = "std02@forwiz.comxpnBtqsev3nh9mryXRdL9QRSR72XuNc08ese5iXHb0Waq1dMnSdkHHqKCgoSFeyH.amV1c19kb21haW4vTE1T"; diff --git a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java index d6ea6202..dba24813 100644 --- a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java +++ b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java @@ -127,5 +127,7 @@ public interface EgovUserManageService { public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception; + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception; + public void insertOffeduUser(UserManageVO userManageVO) throws Exception; } \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java index 736c935d..88fffdb2 100644 --- a/src/main/java/kcc/let/uss/umt/service/UserManageVO.java +++ b/src/main/java/kcc/let/uss/umt/service/UserManageVO.java @@ -176,6 +176,8 @@ public class UserManageVO extends UserDefaultVO{ private String mberId; //회원 Id + private int totCnt = 0; //회원 Id + public String getAuthorCode() { return authorCode; } @@ -707,6 +709,12 @@ public class UserManageVO extends UserDefaultVO{ public void setMberId(String mberId) { this.mberId = mberId; } + public int getTotCnt() { + return totCnt; + } + public void setTotCnt(int totCnt) { + this.totCnt = totCnt; + } } \ No newline at end of file diff --git a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java index 5464139e..aa429bd9 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java @@ -312,6 +312,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement return userManageVO; } + @Override + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception{ + return userManageDAO.selectOffeduUserList(userManageVO); + } + @Override // @Transactional(rollbackFor = Exception.class) public void insertOffeduUser(UserManageVO userManageVO) throws Exception { diff --git a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java index e9ddfca6..68c68304 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java @@ -189,6 +189,9 @@ public class UserManageDAO extends EgovAbstractDAO{ return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO); } + public List selectOffeduUserList(UserManageVO userManageVO) throws Exception{ + return (List)list("userManageDAO.selectOffeduUserList", userManageVO); + } public void insertOffeudUser(UserManageVO userManageVO){ insert("userManageDAO.insertOffeduUser", userManageVO); } diff --git a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java index 2fea247b..ab5060c1 100644 --- a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java +++ b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java @@ -547,4 +547,14 @@ public class EgovCryptoUtil { } return decrypt; } + + public List decryptVeEduAplctList(List vEPrcsDetailVOList) { + + for(VEEduAplctVO vo : vEPrcsDetailVOList) { + vo.setUserNm(this.decrypt(vo.getUserNm())); + } + + // TODO Auto-generated method stub + return vEPrcsDetailVOList; + } } \ No newline at end of file diff --git a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java index 6caa6ea7..be2df620 100644 --- a/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java +++ b/src/main/java/kcc/ve/aplct/comweb/CommonWebController.java @@ -94,6 +94,26 @@ public class CommonWebController { return "/web/ve/comm/searchBeforeContentPopup"; } + + @RequestMapping("/popup/eduInquiryPopup.do") + public String eduInquiryPopup(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{ + //로그인 정보 가져오기 + /*LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + + PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); + + vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); + List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); + + paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); + model.addAttribute("paginationInfo", paginationInfo); + + model.addAttribute("list", vEEduAplctVOList);*/ + + return "/web/ve/comm/eduInquiryPopup"; + } @RequestMapping("/popup/selectPrcsDetailList.do") public String selectPrcsDetailList(@ModelAttribute("vEEduAplctVO") VEPrcsCntntVO vePrcsCntntVO, ModelMap model, HttpServletRequest request) throws Exception{ diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java index 78e7aabc..a333cfef 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/web/ExprnClsrmAplctController.java @@ -175,6 +175,7 @@ public class ExprnClsrmAplctController { //신청서 양식다운로드 정보 가져오기(신청일자 기준 가장 최신 데이터, 1개 로우) VEPrcsDetailVO detailVO = new VEPrcsDetailVO(); + detailVO.setLctrDivCd("30"); //저작권 체험교실 구분 값 detailVO = vEPrcsAplctPrdService.selectDetailNewOne(detailVO); model.addAttribute("detailVO", detailVO); @@ -184,35 +185,48 @@ public class ExprnClsrmAplctController { @RequestMapping("popup/cautionGuide.do") public String cautionGuide( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { - // 청소년 + // 저작권 체험교실 vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); //신청서 양식다운로드 정보 가져오기(신청일자 기준 가장 최신 데이터, 1개 로우) VEPrcsDetailVO detailVO = new VEPrcsDetailVO(); + detailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); //저작권 체험교실 구분 값 detailVO = vEPrcsAplctPrdService.selectDetailNewOne(detailVO); + //신청 기간 체크 + ModelAndView modelAndView = new ModelAndView(); //eduAplctChkProcess 공통으로 사용하기 위한 선언 + boolean flag = exprnClsrmAplctService.eduAplctChkProcess(detailVO, request, modelAndView); + detailVO.setCheckYn(flag ? "Y" : "N"); + //날짜 표시형식 변환 - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmm"); + SimpleDateFormat simpleStrFormat = new SimpleDateFormat("yyyy년 MM월 dd일"); SimpleDateFormat simpleStrFormatEnd = new SimpleDateFormat("MM월 dd일"); //시작일자 날짜 형식 변환 - Date stDate = simpleDateFormat.parse(detailVO.getFrstRegistPnttm()); + Date stDate = simpleDateFormat.parse(detailVO.getStrtPnttm()); String stDay = simpleStrFormat.format(stDate); //종료일자 날짜 형식 변환 - Date edDate = simpleDateFormat.parse(detailVO.getLastUpdtPnttm()); + Date edDate = simpleDateFormat.parse(detailVO.getEndPnttm()); String edDay = simpleStrFormatEnd.format(edDate); //요일 텍스트 받아오기 String strWeekStart = DateUtil.getWeekText(stDate); String strWeekEnd = DateUtil.getWeekText(edDate); - detailVO.setFrstRegistPnttm(stDay + "(" + strWeekStart + ")"); - detailVO.setLastUpdtPnttm(edDay + "(" + strWeekEnd + ")"); + detailVO.setStrtPnttm(stDay + "(" + strWeekStart + ")"); + detailVO.setEndPnttm(edDay + "(" + strWeekEnd + ")"); model.addAttribute("detailVO", detailVO); + //현재년도 + Date year = new Date(); + SimpleDateFormat nowYearFormat = new SimpleDateFormat("yyyy"); + String nowYear = nowYearFormat.format(year); + model.addAttribute("nowYear", nowYear); + return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide"; } diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java index 13154ffe..440a4ae6 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/web/ExprnClsrmEndController.java @@ -433,7 +433,7 @@ public class ExprnClsrmEndController { model.addAttribute("info", vEEduAplctVO); // return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt"; //대량 업로드 솔루션 테스트 - return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest"; + return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt"; } /** diff --git a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java index 5d5388ee..6190625d 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java @@ -1,6 +1,9 @@ package kcc.ve.aplct.fndtnEnhanceTrn.web; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; +import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -147,37 +150,154 @@ public class FndtnEnhanceTrnController { * 교육신청 목록 화면 */ @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/main.do") - public String main( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + public String main( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + + //로그인 처리==================================== -/* LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 if (loginVO == null || ssoLoginVO == null) { //이전 url 처리(beforeSiteUrl)_이준호_220228추가 return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. } - vEEduAplctVO.setUserId(loginVO.getUniqId()); - // 성인 - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduAplctVO.setInstrDiv("20"); + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + + //1.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); - //2. pageing step2 - vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); - List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); - //3.pageing step3 - paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); - model.addAttribute("paginationInfo", paginationInfo); - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEEduAplctVOList);*/ + //5개만 select을 위한 설정 + vEPrcsDetailVO.setPageUnit(5); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + + /* + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + } + */ + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("countMap", countMap); + + //3.pageing step3 return "/web/ve/aplct/fndtnEnhanceTrn/main"; } + + /** * 교육신청 목록 화면 */ @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.do") - public String eduAplctList( + public String eduAplctList( + @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) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + + // 리스트 row마다 신청 확인하기 + vEPrcsDetailVOList.stream().forEach(t->{ + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); + VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + t.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + }); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/fndtnEnhanceTrn/eduAplctList"; + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do") + public String fndtnEduAplctList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { @@ -189,6 +309,7 @@ public class FndtnEnhanceTrnController { //이전 url 처리(beforeSiteUrl)_이준호_220228추가 return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); //1.pageing step1 PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); @@ -222,23 +343,18 @@ public class FndtnEnhanceTrnController { //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 } - List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); - - - // 리스트 row마다 신청 확인하기 + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 vEPrcsDetailVOList.stream().forEach(t->{ - VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); - vEEduAplctReqVO.setUserId(loginVO.getUniqId()); - vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); - vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); - VEEduAplctVO vEEduAplctVO = fndtnEnhanceTrnService.findByAprvlCd(vEEduAplctReqVO); - // VO를 먼저 null 체크 후 진행해야 에러안남 - // vEEduAplctVO != null && - if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { - t.setAprvlCd(vEEduAplctVO.getAprvlCd()); - } + t.setDateChk(this.dateChk(t, currentDate)); + }); + //대상 리스트, 페이징 정보 전달 model.addAttribute("list", vEPrcsDetailVOList); @@ -251,7 +367,7 @@ public class FndtnEnhanceTrnController { - return "/web/ve/aplct/fndtnEnhanceTrn/eduAplctList"; + return "/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList"; } /** * 교육상세 @@ -287,7 +403,6 @@ public class FndtnEnhanceTrnController { public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model - //, RedirectAttributes redirectAttributes , HttpServletRequest request ) throws Exception { @@ -334,7 +449,30 @@ public class FndtnEnhanceTrnController { } + + private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) { + + String returnDate = ""; + + String targetDateString = vEPrcsDetailVO.getEduDdlnPnttm(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + + // 문자열로부터 LocalDate 객체를 생성합니다. + LocalDate targetDate = LocalDate.parse(targetDateString, formatter); + + + // 교육종료 날짜와 현재날짜 비교 + if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0 + returnDate = "0"; + } else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1 + returnDate = "1"; + } else { // 종료날짜와 같으면 2 + returnDate = "2"; + } + + return returnDate; + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java new file mode 100644 index 00000000..c8e3b20c --- /dev/null +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/SspnIdtmtService.java @@ -0,0 +1,13 @@ +package kcc.ve.aplct.sspnIdtmt.service; + + +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; + +public interface SspnIdtmtService { + + void insertVeEduAplct(VEEduAplctVO paramVO); + + VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO); + + +} diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtDAO.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtDAO.java new file mode 100644 index 00000000..8b40dd30 --- /dev/null +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtDAO.java @@ -0,0 +1,60 @@ +package kcc.ve.aplct.sspnIdtmt.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; + +@Repository("sspnIdtmtDAO") +public class SspnIdtmtDAO extends EgovAbstractDAO { + + public void insertIsltn(ScholInfoVO paramVO) throws Exception { + insert("ScholInfoDAO.insertIsltn", paramVO); + } + + /** + * L - Page + * @param scholInfoVO + * @return + * @throws Exception + */ + public List selectPagingList(ScholInfoVO paramVO) throws Exception { + @SuppressWarnings("unchecked") + List list = (List) list("ScholInfoDAO.selectPagingList", paramVO); + return list; + } + + public ScholInfoVO selectDetail(ScholInfoVO paramVO) throws Exception { + return (ScholInfoVO) select("ScholInfoDAO.selectDetail", paramVO); + } + + public ScholInfoVO selectDetailWithQuery(ScholInfoVO paramVO) throws Exception { + return (ScholInfoVO) select("ScholInfoDAO.selectDetailWithQuery", paramVO); + } + + public ScholInfoVO select(ScholInfoVO paramVO) throws Exception { + return (ScholInfoVO) select("ScholInfoDAO.select", paramVO); + } + + public ScholInfoVO selectScholId(ScholInfoVO paramVO) throws Exception { + return (ScholInfoVO) select("ScholInfoDAO.selectScholId", paramVO); + } + + public void insert(ScholInfoVO paramVO) throws Exception{ + insert("ScholInfoDAO.insert" , paramVO); + } + + public int update(ScholInfoVO paramVO)throws Exception{ + return update("ScholInfoDAO.update", paramVO); + } + + public void deleteIsltn(ScholInfoVO paramVO) throws Exception { + insert("ScholInfoDAO.deleteIsltn", paramVO); + } + + public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception { + return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO); + } +} diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java new file mode 100644 index 00000000..8c7607dd --- /dev/null +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java @@ -0,0 +1,29 @@ +package kcc.ve.aplct.sspnIdtmt.service.impl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO; + +@Service("sspnIdtmtService") +public class SspnIdtmtServiceImpl implements SspnIdtmtService { + + + //과정 + @Resource(name="vEEduAplctDAO") + private VEEduAplctDAO vEEduAplctDAO; + + @Override + public void insertVeEduAplct(VEEduAplctVO paramVO) { + //C + vEEduAplctDAO.insertVeEduAplct(paramVO); + } + + @Override + public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) { + return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO); + } +} diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java new file mode 100644 index 00000000..9f2ac84c --- /dev/null +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -0,0 +1,593 @@ +package kcc.ve.aplct.sspnIdtmt.web; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +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 egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; +import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +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.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; + +/** + * 교육신청(성인찾아가는교육) + * 교육신청에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +//@RequestMapping("/web/ve/aplct/sspnIdtmt") +public class SspnIdtmtController { + + private static final Logger LOGGER = LoggerFactory.getLogger(SspnIdtmtController.class); + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //파일정보의 관리 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + //교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + + + //교육과정순번 + @Resource(name="prcsGnrService") + private EgovIdGnrService prcsGnrService; + + //과정온라인콘텐츠순번 + @Resource(name="prcsOnlnGnrService") + private EgovIdGnrService prcsOnlnGnrService; + + //교육신청순번 + @Resource(name="eduAplctGnrService") + private EgovIdGnrService eduAplctGnrService; + + //교육차시순번 + @Resource(name="eduChasiGnrService") + private EgovIdGnrService eduChasiGnrService; + + //교육신청온라인 + @Resource(name = "vEEduAplctOnlnService") + private VEEduAplctOnlnService vEEduAplctOnlnService; + + @Resource(name = "eduAplctAdultService") + private EduAplctAdultService eduAplctAdultService; + + //코드 + @Resource(name="cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + + //온라인콘텐츠과정 관리 + @Resource(name = "sspnIdtmtService") + private SspnIdtmtService sspnIdtmtService; + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/main.do") + public String main( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + + //로그인 처리==================================== + 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); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + + /* + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + } + */ + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("countMap", countMap); + + return "/web/ve/aplct/sspnIdtmt/main"; + } + + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctList.do") + public String eduAplctList( + @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) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + // 리스트 row마다 신청 확인하기 + vEPrcsDetailVOList.stream().forEach(t->{ + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); + VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + t.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + }); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/sspnIdtmt/eduAplctList"; + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do") + public String fndtnEduAplctList( + @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) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/sspnIdtmt/fndtnEduAplctList"; + } + /** + * 교육상세 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctDetail.do") + public String eduAplctDetail( + @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) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + + model.addAttribute("info", vEPrcsDetailVODetail); + + + return "/web/ve/aplct/sspnIdtmt/eduAplctDetail"; + } + + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/eduRegAjax.do") + public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + + vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId()); + + vEEduAplctVO.setLctrDivCd("60"); // 기반강화 + vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려 +// sbmt_pnttm 제출일시 + vEEduAplctVO.setSbmtYn("Y"); // 제출여부 + vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); +// frst_regist_pnttm + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + + sspnIdtmtService.insertVeEduAplct(vEEduAplctVO); + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do") + public String sspnIdtmtEduAplctList( + @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) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + + }); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + return "/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList"; + + } + + + private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) { + + String returnDate = ""; + + String targetDateString = vEPrcsDetailVO.getEduDdlnPnttm(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + + // 문자열로부터 LocalDate 객체를 생성합니다. + LocalDate targetDate = LocalDate.parse(targetDateString, formatter); + + + // 교육종료 날짜와 현재날짜 비교 + if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0 + returnDate = "0"; + } else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1 + returnDate = "1"; + } else { // 종료날짜와 같으면 2 + returnDate = "2"; + } + + return returnDate; + } + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // 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/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java index 3ac74444..195ea58c 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/VEEduAplctVO.java @@ -51,6 +51,7 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String eduPlace; //교육장소 private String sbmtYn; //제출여부 private String sbmtPnttm; //제출일시 + private String sbmtPnttmDetail; //제출일시 시분초 추가 private String aprvlCd; //승인코드 private String aprvlPnttm; //승인일시 private String aprvlCn; //승인내용 @@ -127,6 +128,7 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String endEduPrsnl; //교육인원(이수) + public int getChasi() { return chasi; } @@ -260,6 +262,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String endPnttm; //접수 종료일 + private String prcsEndPnttm; //접수 종료일 저작권체험교실. + //강사료확정처리 private String instrFeeOrd; private String feeSbmtYn; @@ -293,6 +297,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String prcsAplctPrdOrd; + private String unfthYn; //불성실여부 + public String getPrcsAplctPrdOrd() { return prcsAplctPrdOrd; @@ -338,6 +344,13 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { private String clsCmbtYn; //접적지역 private String ppulDclnYn; //인구감소지역 + + private String qestnrId; // 설문 + private String aplctStateCd; // 교육이수 상태 + + + + public String getSpecialWorkAllow() { return specialWorkAllow; } @@ -1464,6 +1477,36 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable { public void setRmtTrnAtchFileDetail(FileVO rmtTrnAtchFileDetail) { this.rmtTrnAtchFileDetail = rmtTrnAtchFileDetail; } + public String getSbmtPnttmDetail() { + return sbmtPnttmDetail; + } + public void setSbmtPnttmDetail(String sbmtPnttmDetail) { + this.sbmtPnttmDetail = sbmtPnttmDetail; + } + public String getPrcsEndPnttm() { + return prcsEndPnttm; + } + public void setPrcsEndPnttm(String prcsEndPnttm) { + this.prcsEndPnttm = prcsEndPnttm; + } + public String getUnfthYn() { + return unfthYn; + } + public void setUnfthYn(String unfthYn) { + this.unfthYn = unfthYn; + } + public String getQestnrId() { + return qestnrId; + } + public void setQestnrId(String qestnrId) { + this.qestnrId = qestnrId; + } + public String getAplctStateCd() { + return aplctStateCd; + } + public void setAplctStateCd(String aplctStateCd) { + this.aplctStateCd = aplctStateCd; + } } 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 3ea98814..e7723144 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 @@ -50,4 +50,6 @@ public interface VEEduMIXService { void updateRsltRprtFileIdNull(VEEduAplctVO vEEduAplctVO) throws Exception; void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception; + //저작권 체험교실 목록 + List selectExprnPagingList(VEEduAplctVO paramVO) throws Exception; } 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 6eb4d909..29e64cd1 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 @@ -137,4 +137,10 @@ public class VEEduMIXDAO extends EgovAbstractDAO { public void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception { insert("VEEduMIXDAO.updateRsltRprtFileId", vEEduAplctVO); } + + public List selectExprnPagingList(VEEduAplctVO paramVO) throws Exception { + @SuppressWarnings("unchecked") + List tlist = (List) list("VEEduMIXDAO.selectExprnPagingList", paramVO); + return tlist; + } } 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 330c026d..add8b050 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 @@ -125,4 +125,8 @@ public class VEEduMIXServiceImpl implements VEEduMIXService { public void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception { vEEduMIXDAO.updateRsltRprtFileId(vEEduAplctVO); } + + public List selectExprnPagingList(VEEduAplctVO paramVO) throws Exception{ + return vEEduMIXDAO.selectExprnPagingList(paramVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java index 72b17d1e..08402187 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEAPrcsAplctPrdInstrAsgnmService.java @@ -9,4 +9,12 @@ public interface VEAPrcsAplctPrdInstrAsgnmService { void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO); List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd); + + void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO); + + void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); + + VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); + + void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO); } 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 9db12867..b29fe11b 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 @@ -1,6 +1,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; import java.util.List; +import java.util.Map; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; @@ -38,4 +39,8 @@ public interface VEPrcsAplctPrdService { List selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO); + List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO); + + Map findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO); + } 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 5f46559e..b7b946f6 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 @@ -1,6 +1,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; import java.io.Serializable; +import java.util.List; import kcc.com.cmm.ComDefaultVO; @@ -41,6 +42,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { //ve_edu_aplct private String eduAplctOrd; //교육신청순번 + private List eduAplctOrdList; //교육신청순번 private String eduChasiOrd; //교육차시순번 private String cnt; @@ -118,6 +120,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String aprvlCd; + private String aplctStateCd; // 신청상태코드 VEA003 + private String eduCmpltCrtfcNmbr; + + private String dateChk; + private Boolean qestRsltExists; + @@ -247,6 +255,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setEduAplctOrd(String eduAplctOrd) { this.eduAplctOrd = eduAplctOrd; } + public List getEduAplctOrdList() { + return eduAplctOrdList; + } + public void setEduAplctOrdList(List eduAplctOrdList) { + this.eduAplctOrdList = eduAplctOrdList; + } public String getEduChasiOrd() { return eduChasiOrd; } @@ -559,6 +573,30 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setAprvlCd(String aprvlCd) { this.aprvlCd = aprvlCd; } + public String getAplctStateCd() { + return aplctStateCd; + } + public void setAplctStateCd(String aplctStateCd) { + this.aplctStateCd = aplctStateCd; + } + public String getEduCmpltCrtfcNmbr() { + return eduCmpltCrtfcNmbr; + } + public void setEduCmpltCrtfcNmbr(String eduCmpltCrtfcNmbr) { + this.eduCmpltCrtfcNmbr = eduCmpltCrtfcNmbr; + } + public String getDateChk() { + return dateChk; + } + public void setDateChk(String dateChk) { + this.dateChk = dateChk; + } + public Boolean getQestRsltExists() { + return qestRsltExists; + } + public void setQestRsltExists(Boolean qestRsltExists) { + this.qestRsltExists = qestRsltExists; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java index f6dbaee0..a6df3403 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsService.java @@ -28,5 +28,7 @@ public interface VEPrcsService { //교육과정 리스트 순서 수정 void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception; + + void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java index 0753a018..7d9c7f0a 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmDAO.java @@ -19,6 +19,23 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO { public List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) { return (List) list("VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd", prcsAplctPrdOrd); + } + + public void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO) { + update("VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct", vEPrcsDetailVO); + + } + + public void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEPrcsDetailVO) { + insert("VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail", vEPrcsDetailVO); + } + + public VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + return (VEPrcsDetailVO) select("VEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail", vEDetailVO); + } + + public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + delete("VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail", vEDetailVO); } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java index 58a96d74..3d74ab87 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEAPrcsAplctPrdInstrAsgnmServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; @Service("vEAPrcsAplctPrdInstrAsgnmService") public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInstrAsgnmService { @@ -35,4 +36,26 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst public List findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) { return vEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd(prcsAplctPrdOrd); } + + @Override + public void udpateAprvlCdEduAplct(VEPrcsDetailVO vEPrcsDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct(vEPrcsDetailVO); + } + + @Override + public void insertAprvlCdEduAplctDetail(VEPrcsDetailVO vEPrcsDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail(vEPrcsDetailVO); + + } + + @Override + public VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + return vEAPrcsAplctPrdInstrAsgnmDAO.selectAprvlCdEduAplctDetail(vEDetailVO); + + } + + @Override + public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) { + vEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail(vEDetailVO); + } } 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 85cdf8e6..1dca6aa5 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 @@ -1,6 +1,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl; import java.util.List; +import java.util.Map; import org.springframework.stereotype.Repository; @@ -91,5 +92,13 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { return (List) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO); } + public List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsAplctPrdDAO.findByAprvlList", vEPrcsDetailVO); + } + + public Map findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) { + return (Map) select("VEPrcsAplctPrdDAO.findAllDashboardCnt", 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 e19f7eb7..bacdb13e 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 @@ -2,6 +2,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -89,4 +90,14 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); } + @Override + public List findByAprvlList(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.findByAprvlList(vEPrcsDetailVO); + } + + @Override + public Map findAllDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.findAllDashboardCnt(vEPrcsDetailVO); + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java index 47ea96ee..338097a5 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsDAO.java @@ -76,5 +76,9 @@ public class VEPrcsDAO extends EgovAbstractDAO { public void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception{ update("VEPrcsDAO.updatePrcsSort", paramVO); } + + public void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO) { + delete("VEPrcsDAO.deleteInstr", vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java index 7667d1b7..ced52f43 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsServiceImpl.java @@ -58,5 +58,11 @@ public class VEPrcsServiceImpl implements VEPrcsService { public void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception{ vEPrcsDAO.updatePrcsSort(paramVO); } + + @Override + public void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO) { + vEPrcsDAO.deleteInstr(vEPrcsDetailVO); + + } } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index df1fa959..e9a4431d 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -21,6 +21,7 @@ import kcc.com.cmm.LoginVO; import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; @@ -80,7 +81,11 @@ public class CndtnTrgtMngController { //과정온라인콘텐츠순번 @Resource(name="prcsOnlnGnrService") private EgovIdGnrService prcsOnlnGnrService; - + + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; /* // 교육신청 서비스단 @@ -341,6 +346,7 @@ public class CndtnTrgtMngController { + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java index 72c60c54..bb8449d2 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/web/CndtnPrcsInfoMngController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultCodeVO; @@ -61,6 +62,8 @@ public class CndtnPrcsInfoMngController { private static final Logger LOGGER = LoggerFactory.getLogger(CndtnPrcsInfoMngController.class); + private final String LCTR_DIV_CD = "60"; + //로그인 체크 util @Resource(name = "checkLoginUtil") private CheckLoginUtil checkLoginUtil; @@ -140,7 +143,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; @@ -165,7 +168,7 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 화면 + * 기소유예 화면 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfyAjax.do") public ModelAndView fndthEduPrcsMngMdfyAjax( @@ -275,7 +278,7 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 등록 + * 기소유예 등록 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngRegAjax.do") public ModelAndView fndthEduPrcsMngRegAjax( @@ -306,7 +309,7 @@ public class CndtnPrcsInfoMngController { String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID vEPrcsDetailVO.setPrcsOrd(prcsOrd); - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEPrcsService.insert(vEPrcsDetailVO); @@ -354,7 +357,7 @@ public class CndtnPrcsInfoMngController { @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngList.do") - public String fndthEduPrcsAplctPrdMngList( + public String cndtnEduPrcsAplctMngList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model ) throws Exception { @@ -377,7 +380,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; @@ -415,11 +418,11 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 신청기간 등록 화면 + * 기소유예 신청기간 등록 화면 */ //@RequestMapping("eduPrcsMngReg.do") @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngReg.do") - public String fndthEduPrcsAplctPrdMngReg( + public String cndtnEduPrcsAplctMngReg( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model ) throws Exception { @@ -445,7 +448,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); @@ -482,7 +485,7 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 신청기간 등록 + * 기소유예 신청기간 등록 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctSelectDivAndCnAjax.do") public ModelAndView cndtnEduPrcsAplctSelectDivAndCnAjax( @@ -528,10 +531,52 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 신청기간 등록 + * 기소유예 신청기간 등록 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngRegAjax.do") - public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( + public ModelAndView cndtnEduPrcsAplctMngRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID + vEPrcsDetailVO.setPrcsOrd(prcsOrd); + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsService.insert(vEPrcsDetailVO); + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + /** + * 기소유예 신청기간 등록 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngRegAjax.do") + public ModelAndView cndtnEduPrcsAplctPrdMngRegAjax( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model //, RedirectAttributes redirectAttributes @@ -556,7 +601,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsAplctPrdService.insert(vEPrcsDetailVO); @@ -566,9 +611,119 @@ public class CndtnPrcsInfoMngController { } - /** * 기반강화연수과정 기간 상세화면 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.do") + public String cndtnEduPrcsAplctPrdMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + model.addAttribute("info", vEPrcsDetailVODetail); + + //과정 신청자 정보 가져오기 + { + //해당 과정을 제출한 사용자 정보를 가져온다. + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + paramVO.setSbmtYn("Y"); + + // 검색 - 날짜 + paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt()); + paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); + // 검색 - 검색어 + paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); + paramVO.setSearchSelStatus(vEPrcsDetailVO.getSearchSelStatus()); + + + + List vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); + } + + // 강사 배치 정보 + { + + List vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList); + + model.addAttribute("instrAsgnmList", instrAsgnmList); + } + + return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail"; + } + + + /** + * 기반강화 신청자 상태값 변경 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do") + public ModelAndView updateEduAplctAprvlCd( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + // 교육 신청 테이블에 신청자 상태값 update + vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + if("20".equals(vEPrcsDetailVO.getAprvlCd())) { + this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); + } + // 접수취소(반려) - vea_aplct_detail_info TB에 data update + else if("30".equals(vEPrcsDetailVO.getAprvlCd())) + { + this.aprvlCd30(vEPrcsDetailVO); + } + modelAndView.addObject("result", "success"); + + } catch (Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", ""); + } + + + return modelAndView; + + } + + /** + * 기소유예 기간 상세화면 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngDetail.do") public String cndtnEduPrcsAplctMngDetail( @@ -602,7 +757,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setPrcsOrd(""); @@ -651,7 +806,7 @@ public class CndtnPrcsInfoMngController { /** - * 기반강화연수과정 기간 상세수정화면 + * 기소유예 기간 상세수정화면 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngMdfy.do") public String fndthEduPrcsAplctPrdMngMdfy( @@ -684,7 +839,7 @@ public class CndtnPrcsInfoMngController { vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setPrcsOrd(""); @@ -708,7 +863,7 @@ public class CndtnPrcsInfoMngController { } /** - * 기반강화연수과정 신청기간 수정 + * 기소유예 신청기간 수정 */ @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngMdfyAjax.do") public ModelAndView fndthEduPrcsAplctPrdMngMdfyAjax( @@ -739,7 +894,7 @@ public class CndtnPrcsInfoMngController { //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); - vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 //vEPrcsDetailVO.setUseYn("Y"); vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id @@ -879,6 +1034,303 @@ public class CndtnPrcsInfoMngController { } + + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do") + public String fndthEduPrcsAplctPrdMngList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList"; + } + + + /** + * 기소유예 신청기간 등록 화면 + */ + //@RequestMapping("eduPrcsMngReg.do") + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngReg.do") + public String cndtnEduPrcsAplctPrdMngReg( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //과정 정보 가져오기 + { + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); + + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + //model.addAttribute("paginationInfo", paginationInfo); + + // 교육 부분 코드 가져오는 영역 + ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); + codeVO.setCodeId("VEA001");//기관구분코드 + codeVO.setCode(vEPrcsDetailVOList.get(0).getPrcsDiv()); + model.addAttribute("prcsDivNm", cmmUseDAO.selectCmmCodeDetailValue(codeVO).getCodeNm()); + + // 상세교육과정 내용 가져오는 영역 + VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO(); + vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd()); + model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn()); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcs", vEPrcsDetailVOList); + } + + + + return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngReg"; + } + + + /** + * 기반강화연수과정 기간 상세수정화면 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.do") + public String cndtnEduPrcsAplctPrdMngMdfy( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + + System.out.println("vEPrcsDetailVO.getPrcsDiv() : "+ vEPrcsDetailVO.getPrcsDiv()); + + //과정 정보 가져오기 + { + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc"); + + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + vEPrcsDetailVO.setPrcsOrd(""); + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + System.out.println("====="); + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + //model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("listPrcs", vEPrcsDetailVOList); + } + + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + model.addAttribute("info", vEPrcsDetailVODetail); + + return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy"; + } + + + + /** + * 기반강화연수과정 신청기간 수정 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfyAjax.do") + public ModelAndView cndtnEduPrcsAplctPrdMngMdfyAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + //String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID + //vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); + vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + //vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + + vEPrcsAplctPrdService.update(vEPrcsDetailVO); + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + + + /** + * @methodName : aprvlCd20 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 20 교육 승인 일 경유 + * 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 없으면 Insert + if(vEDetail_DVO == null) { + vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수 + vEDetailVO.setFrstRegisterId(uniqId); + vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + + /** + * @methodName : aprvlCd30 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 30 교육 반려 + * 반려일 경우 vea_aplct_detail_info TB에 data 삭제 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 있으면 삭제 + if(vEDetail_DVO != null) { + vEDetailVO.setAplctStateCd("30"); + vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // diff --git a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java index a89de15d..21a2daf6 100644 --- a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java +++ b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java @@ -14,8 +14,9 @@ import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.LoginVO; -import kcc.com.cmm.util.StringUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserManageVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; @@ -53,6 +54,11 @@ public class CommonManageWebController { // 교육신청발송이력 @Resource(name = "vEEduAplctSndHstryService") private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + + //회원조회 + @Resource(name = "userManageService") + private EgovUserManageService userManageService; /** * 학교정보 검색 팝업 리스트 @@ -78,13 +84,26 @@ public class CommonManageWebController { //검색 조건 String selectCondition = new String(); if (!"".equals(scholInfoVO.getSearchKeyword())) { - selectCondition += "AND a.SCHOL_NM LIKE CONCAT ('%', '" +scholInfoVO.getSearchKeyword() + "', '%')"; + selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; } //2.2 학교종류 - if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ + /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; - } + }*/ + if (!"".equals(scholInfoVO.getSearchCondition())) { + if(scholInfoVO.getSearchCondition().equals("10")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; + }else if(scholInfoVO.getSearchCondition().equals("20")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; + }else if(scholInfoVO.getSearchCondition().equals("30")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; + }else if(scholInfoVO.getSearchCondition().equals("40")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; + }else if(scholInfoVO.getSearchCondition().equals("50")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; + } + } scholInfoVO.setSelectPagingListQuery(selectCondition); @@ -115,7 +134,7 @@ public class CommonManageWebController { //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - + vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); //교육콘텐츠 교육승인 상태로 변경 시 메일발송 @@ -198,5 +217,35 @@ public class CommonManageWebController { return "/web/ve/comm/selectPrcsDetailList"; } + /** + * 회원 검색 팝업 리스트 + */ + @RequestMapping("popup/userPopList.do") + public String userPopList(@ModelAttribute("searchVO") UserManageVO userManageVO , ModelMap model , HttpServletRequest request ) throws Exception { + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userManageVO.getPageUnit()); + paginationInfo.setPageSize(10); + // paging step2 + userManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userManageVO.setRecordCountPerPage(10); + + if("".equals(userManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + userManageVO.setSearchSortCnd("mber_id"); + userManageVO.setSearchSortOrd("asc"); + } + + List userList = userManageService.selectOffeduUserList(userManageVO); + //3.paging step3 + int totCnt = 0; + if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("userList", userList); + return "oprtn/cmm/userPopListBower"; + } } diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java index a7d4e0be..2fd204e3 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctAnncmMngController.java @@ -1,5 +1,7 @@ package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import javax.annotation.Resource; @@ -19,10 +21,13 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.LoginVO; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; +import kcc.com.cmm.util.DateUtil; import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.ve.cmm.VeConstants; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; @@ -88,6 +93,9 @@ public class OprtnAplctAnncmMngController { @Resource(name = "checkFileUtil") private CheckFileUtil checkFileUtil; + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; /* @@ -132,7 +140,7 @@ public class OprtnAplctAnncmMngController { */ @RequestMapping("oprtnAplctAnncmMngList.do") public String OprtnAplctAnncmMngList( - VEPrcsDetailVO vEPrcsDetailVO + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model ) throws Exception { @@ -171,7 +179,22 @@ public class OprtnAplctAnncmMngController { } - + /** + * 저작권체험교실 등록 화면 + */ + @RequestMapping("oprtnAplctAnncmMngReg.do") + public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception { + vEPrcsDetailVO.setMode(VeConstants.MODE_CRT); + //온라인차시 리스트 + vEPrcsDetailVO.setUseYn("Y"); + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); + List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO); + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg"; + + } + /** * 교육과정관리 상세 화면 */ @@ -212,6 +235,43 @@ public class OprtnAplctAnncmMngController { return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngDetail"; } + /** + * 교육과정관리 미리보기 팝업 + */ + @RequestMapping("cautionGuidePreView.do") + public String cautionGuidePreView(@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model)throws Exception{ + + //날짜 표시형식 변환 + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmm"); + + SimpleDateFormat simpleStrFormat = new SimpleDateFormat("yyyy년 MM월 dd일"); + SimpleDateFormat simpleStrFormatEnd = new SimpleDateFormat("MM월 dd일"); + + //시작일자 날짜 형식 변환 + Date stDate = simpleDateFormat.parse(vEPrcsDetailVO.getStrtPnttm()); + String stDay = simpleStrFormat.format(stDate); + + //종료일자 날짜 형식 변환 + Date edDate = simpleDateFormat.parse(vEPrcsDetailVO.getEndPnttm()); + String edDay = simpleStrFormatEnd.format(edDate); + + //요일 텍스트 받아오기 + String strWeekStart = DateUtil.getWeekText(stDate); + String strWeekEnd = DateUtil.getWeekText(edDate); + + vEPrcsDetailVO.setStrtPnttm(stDay + "(" + strWeekStart + ")"); + vEPrcsDetailVO.setEndPnttm(edDay + "(" + strWeekEnd + ")"); + + + //현재년도 + Date year = new Date(); + SimpleDateFormat nowYearFormat = new SimpleDateFormat("yyyy"); + String nowYear = nowYearFormat.format(year); + model.addAttribute("nowYear", nowYear); + + return "oprtn/cpyrgExprnClsrm/popup/cautionGuidePreView"; + } + /** * 교육과정관리 수정 화면 */ @@ -362,29 +422,7 @@ public class OprtnAplctAnncmMngController { - /** - * 교육과정관리 등록 화면 - */ - @RequestMapping("oprtnAplctAnncmMngReg.do") - public String OprtnAplctAnncmMngReg( - @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO - , ModelMap model - ) throws Exception { - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - model.addAttribute("loginVO", loginVO); - - //로그인 처리==================================== - - - return "oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg"; - } /** * 교육과정관리 등록 @@ -411,7 +449,6 @@ public class OprtnAplctAnncmMngController { } LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 -// SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 //로그인 처리==================================== @@ -436,19 +473,6 @@ public class OprtnAplctAnncmMngController { //step2.파일 처리==================================== - - /* if (loginVO!=null) { - System.out.println(loginVO.getMembId()); - System.out.println(loginVO.getMembSeq()); - System.out.println(loginVO.getId()); - System.out.println(loginVO.getUniqId()); - } - if (ssoLoginVO!=null) { - System.out.println(ssoLoginVO.getMembId()); - System.out.println(ssoLoginVO.getMembSeq()); - //System.out.println(ssoLoginVO.getId()); - }*/ - //번호 생성 및 디비 생성해주기 String prcsAplctPrdOrd = prcsGnrService.getNextStringId(); // 고유ID vEPrcsDetailVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 @@ -475,7 +499,6 @@ public class OprtnAplctAnncmMngController { System.out.println(vEPrcsDetailVO.getEndPnttm()); vEPrcsDetailVO.setLctrDivCd("30"); -// vEPrcsDetailVO.setUseYn("Y"); vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEPrcsAplctPrdService.insert(vEPrcsDetailVO); diff --git a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java index e49b9072..2c10a45c 100644 --- a/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java +++ b/src/main/java/kcc/ve/oprtn/cpyrgExprnClsrm/oprtnAplctMng/web/OprtnAplctMngController.java @@ -1,21 +1,36 @@ package kcc.ve.oprtn.cpyrgExprnClsrm.oprtnAplctMng.web; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Properties; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; @@ -137,7 +152,9 @@ public class OprtnAplctMngController { //vEEduAplctVO.setLctrDivCd("30"); vEEduAplctVO.setNotiUserId(user.getUniqId()); vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString()); - List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + //List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + vEEduAplctVO.setLctrDivCd("30"); + List vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO); //List복호화 vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); //3.pageing step3 @@ -151,20 +168,28 @@ public class OprtnAplctMngController { /** - * 저작권체험교실 등록 화면 + * 교육과정관리 등록 화면 */ @RequestMapping("oprtnAplctMngReg.do") - public String oprtnAplctMgrReg( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model) throws Exception { - vEPrcsDetailVO.setMode(VeConstants.MODE_CRT); - //온라인차시 리스트 - vEPrcsDetailVO.setUseYn("Y"); - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); - List vEPrcsDetailVOList = vEPrcsMIXService.selectPrcsList(vEPrcsDetailVO); - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", vEPrcsDetailVOList); - return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg"; + public String OprtnAplctAnncmMngReg( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 - } + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + model.addAttribute("loginVO", loginVO); + + //로그인 처리==================================== + + + return "oprtn/cpyrgExprnClsrm/oprtnAplctMngReg"; + } /** * 저작권체험교실 운영신청서 등록 @@ -408,13 +433,13 @@ String[] header = { ,"보고서제출일" ,"운영시기(월)" -,"선정결과" +,"처리상태" ,"성별" ,"참고사항" }; String[] order = { -"TotCnt" +"EduAplctOrd" ,"EduSlctAreaCd" ,"ScholDivCd" ,"ScholInsttNm" @@ -438,7 +463,7 @@ String[] order = { ,"RprtSbmtDt" ,"OprtnStrtDt" -,"MdfyRqstYn" +,"AprvlCd" ,"ChrgSexCd" ,"" }; @@ -457,7 +482,222 @@ String[] order = { return modelAndView; } + /** + * 저작권 체험교실 운영신청 목록 업로드 파일 일괄 다운로드 + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "oprtnAplctFileAllDownLoad.do") + public void oprtnAplctFileAllDownLoad(@RequestParam Map commandMap + , HttpServletRequest request, HttpServletResponse response) throws Exception { + + //파일 SN을 리스트에 담기 + List atchFileIdList = new ArrayList(); + //파일 SN을 리스트에 담기 + List atchFileSnList = new ArrayList(); + //split을 이용해 아이디를 각자 배열에 담기 + String[] splitIdStr = commandMap.get("atchFileId").toString().split(","); + String[] splitSnStr = commandMap.get("fileSn").toString().split(","); + //zip파일 이름 + String orgnZipNm = commandMap.get("orgnZipNm").toString(); + //downloadType (A:ID가 여러개고 fileSn이 1개인 경우 || B:ID는 하나이고 fileSn이 여러개인 경우) + String downloadType = commandMap.get("downloadType").toString(); + + String atchFileId = new String(); + String fileSn = new String(); + + + //ID가 여러개고 fileSn이 1개인 경우 + if("A".equals(downloadType)) { + fileSn = "0"; + for(int i=0; i fvoList = fileService.selectZipFileList(fileVO); // 해당 기능에 맞게 파일 조회 + + if(fvoList.size() == 0){ + response.setContentType("application/x-msdownload"); + PrintWriter printwriter = response.getWriter(); + printwriter.println(""); + printwriter.println("


Could not get file name:

"); + printwriter.println("


Back

"); + printwriter.println("


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


Could not get file name:
" + orgnZipNm + "

"); + printwriter.println("


Back

"); + printwriter.println("


© webAccess"); + printwriter.println(""); + printwriter.flush(); + printwriter.close(); + } + } + + private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception { + String browser = getBrowser(request); + + String dispositionPrefix = "attachment; filename="; + String encodedFilename = null; + + if (browser.equals("MSIE")) { + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); + } else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지 + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); + } else if (browser.equals("Firefox")) { + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; + } else if (browser.equals("Opera")) { + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; + } else if (browser.equals("Chrome")) { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < filename.length(); i++) { + char c = filename.charAt(i); + if (c > '~') { + sb.append(URLEncoder.encode("" + c, "UTF-8")); + } else { + sb.append(c); + } + } + encodedFilename = sb.toString(); + } else { + //throw new RuntimeException("Not supported browser"); + throw new IOException("Not supported browser"); + } + +// response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename); // 파일명에 콤마 포함시 오류 + response.setHeader("Content-Disposition", dispositionPrefix + "\"" + encodedFilename + "\""); + + if ("Opera".equals(browser)) { + response.setContentType("application/octet-stream;charset=UTF-8"); + } + } + + private String getBrowser(HttpServletRequest request) { + String header = request.getHeader("User-Agent"); + if (header.indexOf("MSIE") > -1) { + return "MSIE"; + } else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지 + return "Trident"; + } else if (header.indexOf("Chrome") > -1) { + return "Chrome"; + } else if (header.indexOf("Opera") > -1) { + return "Opera"; + } + return "Firefox"; + } ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java index 92373c39..dfdc7151 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsAplctPrdMng/web/FndthPrcsAplctPrdMngController.java @@ -1,5 +1,6 @@ package kcc.ve.oprtn.fndtnEnhanceTrn.prcsAplctPrdMng.web; +import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; @@ -11,10 +12,13 @@ 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.ComDefaultCodeVO; @@ -135,6 +139,7 @@ public class FndthPrcsAplctPrdMngController { //과정 @Resource(name="cmmUseDAO") private CmmUseDAO cmmUseDAO; + /* // 교육신청 서비스단 @@ -274,10 +279,7 @@ public class FndthPrcsAplctPrdMngController { //3.pageing step3 paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); - //model.addAttribute("paginationInfo", paginationInfo); - - // 교육 부분 코드 가져오는 영역 ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); @@ -289,8 +291,6 @@ public class FndthPrcsAplctPrdMngController { VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO(); vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd()); model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn()); - - //대상 리스트, 페이징 정보 전달 model.addAttribute("listPrcs", vEPrcsDetailVOList); @@ -448,9 +448,19 @@ public class FndthPrcsAplctPrdMngController { 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.decryptVEEduAplctVOList(vEPrcsDetailVOList); + vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); + System.out.println("===="); + //대상 리스트, 페이징 정보 전달 model.addAttribute("listPrcsAplct", vEPrcsDetailVOList); } @@ -515,6 +525,7 @@ public class FndthPrcsAplctPrdMngController { //대상 리스트, 페이징 정보 전달 model.addAttribute("listPrcs", vEPrcsDetailVOList); + System.out.println("=========="); } //과정 조회 @@ -681,12 +692,9 @@ public class FndthPrcsAplctPrdMngController { LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 try { - //선택한 강사 데이터 등록 처리 - vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); - - - + //선택한 강사 데이터 등록 처리 + vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO); } catch (Exception ex) { ex.printStackTrace(); } @@ -698,6 +706,122 @@ public class FndthPrcsAplctPrdMngController { } + /** + * 기반강화 신청자 상태값 변경 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do") + public ModelAndView updateEduAplctAprvlCd( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!"); + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 처리==================================== + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + // 교육 신청 테이블에 신청자 상태값 update + vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO); + + // 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + if("20".equals(vEPrcsDetailVO.getAprvlCd())) { + this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId()); + } + // 접수취소(반려) - vea_aplct_detail_info TB에 data update + else if("30".equals(vEPrcsDetailVO.getAprvlCd())) + { + this.aprvlCd30(vEPrcsDetailVO); + } + modelAndView.addObject("result", "success"); + + } catch (Exception ex) { + ex.printStackTrace(); + modelAndView.addObject("result", ""); + } + + + return modelAndView; + + } + + + /** + * @methodName : aprvlCd20 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 20 교육 승인 일 경유 + * 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 없으면 Insert + if(vEDetail_DVO == null) { + vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수 + vEDetailVO.setFrstRegisterId(uniqId); + vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + + /** + * @methodName : aprvlCd30 + * @author : 이호영 + * @date : 2023.09.25 + * @description : aprvlCd == 30 교육 반려 + * 승인일 경우 vea_aplct_detail_info TB에 data 삭제 + * @param vEPrcsDetailVO + * @param uniqId + * @throws FdlException + */ + private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) { + + for(String id : vEPrcsDetailVO.getEduAplctOrdList()) { + VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO(); + + vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEDetailVO.setEduAplctOrd(id); + + // 데이터가 있는지만 비교하기 위한 구문 + VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO); + + // 데이터가 있으면 삭제 + if(vEDetail_DVO != null) { + vEDetailVO.setAplctStateCd("30"); + vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); + + } + + } + + } + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java index f90da7d2..40381480 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java @@ -332,7 +332,6 @@ public class FndthPrcsInfoMngController { public ModelAndView fndthEduPrcsMngMdfyAjax( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model - //, RedirectAttributes redirectAttributes , HttpServletRequest request ) throws Exception { @@ -381,6 +380,51 @@ public class FndthPrcsInfoMngController { } + + + + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.do") + public ModelAndView instrDelAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + try { + + vEPrcsService.deleteInstr(vEPrcsDetailVO); + modelAndView.addObject("result", "success"); + } catch (Exception e) { + modelAndView.addObject("result", ""); + } + + + + + return modelAndView; + + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index edae9c10..8eb97593 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -623,7 +623,7 @@ public class MainController { //List menuResultList = menuCreateManageService.selectMenuListJtree(menuManageVO) ; menuManageVO.setSiteId(siteId); List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - + System.out.println("================================"); List menuTwoExist = new ArrayList<>(); //2뎁스의 하위 매뉴가 있는것 조회 HashSet underMenuEmpty = new HashSet(); //2뎁스의 하위매뉴 없는것 조회 for(MenuManageJTreeVO menuManage : menuResultList){ @@ -1355,6 +1355,8 @@ public class MainController { .replace("addFcltMgr", "fcltMgrList") .replace("mainzoneModify", "mainzoneList"); menuUrl = strUrl; + + System.out.println("strUrl :: "+ strUrl); } @@ -1465,6 +1467,21 @@ public class MainController { //현재 메뉴 setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); + + String pageUrl = request.getRequestURI().replaceAll(request.getContextPath(), ""); +// System.out.println("pageUri :: "+ pageUri.substring(0, pageUri.lastIndexOf("/"))); + + + String pageUri = pageUrl.substring(0, pageUrl.lastIndexOf("/")); + model.addAttribute("pageUri", pageUri); + String pageUriLast = pageUrl.substring(pageUrl.lastIndexOf("/"), pageUrl.length()); + model.addAttribute("pageUriLast", pageUriLast); + + System.out.println("pageUri :: "+ pageUri); + System.out.println("pageUri :: "+ pageUri); + System.out.println("pageUri :: "+ pageUri); + System.out.println("pageUriLast :: "+ pageUriLast); + //메뉴번호 넘겨주기 model.addAttribute("menuNo", menuManageVO.getMenuNo()); @@ -1533,6 +1550,7 @@ public class MainController { menuManageVO.setAuthorCode(auth); menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; + System.out.println("======================== menuResultList"); for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스 if(tempResultVo.getDepths().equals("1")){ showOneDepthMenu.add(tempResultVo); @@ -1620,6 +1638,25 @@ public class MainController { model.addAttribute("menuCurrentResultList", menuCurrentResultList); model.addAttribute("menuLeftResultList", menuLeftResultList); + + + + for(MenuManageJTreeVO treeVO : menuResultList) { + if(!"1".equals(treeVO.getDepths())) { + continue; + } + + for(MenuManageJTreeVO treeLowVO : menuResultList) { + if(treeVO.getMenuNo().equals(treeLowVO.getUpperMenuId())) { + treeVO.setUrl(treeLowVO.getUrl()); + break; + } + } + + + } + + model.addAttribute("menuResultList", menuResultList); // 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요 diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index 208cee0a..81eac5e9 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -2890,7 +2890,6 @@ - diff --git a/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-ve.xml b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-ve.xml index 323c0014..b3f5e097 100644 --- a/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-ve.xml +++ b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-ve.xml @@ -112,7 +112,7 @@ - + diff --git a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml index cfa3eaef..97e83b85 100644 --- a/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml +++ b/src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-ve.xml @@ -53,6 +53,7 @@ + @@ -111,6 +112,8 @@ + + diff --git a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml index f58eb062..585300da 100644 --- a/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml @@ -927,4 +927,16 @@ ) + + diff --git a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml index 230c83e2..6f5703e5 100644 --- a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml @@ -33,7 +33,7 @@ - MERGE INTO T1 USING DB_ROOT + + + MERGE INTO T1 + USING (SELECT + #tblUniqOrd# AS tbl_uniq_ord, + #frstRegisterId# AS frst_register_id, + #menuNo# AS menu_no, + #urlPath# AS url_path FROM DUAL) T2 + ON (T1.tbl_uniq_ord = T2.tbl_uniq_ord + AND T1.frst_register_id = T2.frst_register_id + AND T1.menu_no = T2.menu_no) + WHEN MATCHED THEN + UPDATE SET + frst_regist_pnttm = SYSDATE, + url_path = T2.url_path + WHEN NOT MATCHED THEN + INSERT( + + )VALUES ( + T2.TBL_UNIQ_ORD, + SYSDATE, + T2.FRST_REGISTER_ID, + T2.MENU_NO, + T2.URL_PATH ) + + diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml new file mode 100644 index 00000000..7daf7b9b --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + vea_sspn_idmt_trgt + + + + + sspn_idtmt_trgt_ord + , user_id + , edu_state_cd + , frst_regist_pnttm + , frst_register_id + , last_updt_pnttm + , last_updusr_id + , trgt_nm + , clphone + , d_birth + , addr + , addr_detail + , post + , email + , req_pnttm + , vnt_nmbr + , cmptnt_athrt + , sex + , req_nmbr + , prsctr_nm + , req_state_cd + + + + + + a.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd + , a.user_id AS userId + , a.edu_state_cd AS eduStateCd + , a.frst_regist_pnttm AS frstRegistPnttm + , a.frst_register_id AS frstRegisterId + , a.last_updt_pnttm AS lastUpdtPnttm + , a.last_updusr_id AS lastUpdusrId + , a.trgt_nm AS trgtNm + , a.clphone AS clphone + , a.d_birth AS dBirth + , a.addr AS addr + , a.addr_detail AS addrDetail + , a.post AS post + , a.email AS email + , a.req_pnttm AS reqPnttm + , a.vnt_nmbr AS vntNmbr + , a.cmptnt_athrt AS cmptntAthrt + , a.sex AS sex + , a.req_nmbr AS reqNmbr + , a.prsctr_nm AS prsctrNm + , a.req_state_cd AS reqStateCd + + + + + + + INSERT INTO ( + + )VALUES( + #sspnIdtmtTrgtOrd# + , #userId# + , #eduStateCd# + , now() + , #frstRegisterId# + , #lastUpdtPnttm# + , #lastUpdusrId# + , #trgtNm# + , #clphone# + , #dBirth# + , #addr# + , #addrDetail# + , #post# + , #email# + , #reqPnttm# + , #vntNmbr# + , #cmptntAthrt# + , #sex# + , #reqNmbr# + , #prsctrNm# + , #reqStateCd# + ) + + + + + + + + /* cndtnTrgtInfoMngDAO.update */ + UPDATE + + SET + user_id = #userId# + , edu_state_cd = #eduStateCd# + , last_updt_pnttm = SYSDATE + , last_updusr_id = #lastUpdusrId# + , trgt_nm = #trgtNm# + , clphone = #clphone# + , d_birth = #dBirth# + , addr = #addr# + , addr_detail = #addrDetail# + , post = #post# + , email = #email# + , req_pnttm = #reqPnttm# + , vnt_nmbr = #vntNmbr# + , cmptnt_athrt = #cmptntAthrt# + , sex = #sex# + , req_nmbr = #reqNmbr# + , prsctr_nm = #prsctrNm# + , req_state_cd = #reqStateCd# + WHERE + sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# + + + + + + + + + + + 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 3c097563..593b7096 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 @@ -181,10 +181,10 @@ #email#, #eduPlace#, #sbmtYn#, - IF(#sbmtYn# = 'Y', SYSDATE, NULL), + CASE WHEN #sbmtYn# = 'Y' THEN SYSDATE ELSE NULL END, #aprvlCd#, - IF(#aprvlCd# IS NOT NULL, SYSDATE, NULL), + CASE WHEN #aprvlCd# IS NOT NULL THEN SYSDATE ELSE NULL END, #aprvlCn#, #insttNm#, #insttDivCd#, @@ -240,6 +240,119 @@ ) + + + + INSERT INTO ( + EDU_APLCT_ORD, + LCTR_DIV_CD, + USER_ID, + PRCS_ORD, + + SBMT_YN, + SBMT_PNTTM, + APRVL_CD, + APRVL_PNTTM, + APRVL_CN, + + FRST_REGIST_PNTTM, + FRST_REGISTER_ID, + USE_YN + )VALUES( + #eduAplctOrd#, + #lctrDivCd#, + #userId#, + #prcsOrd#, + + #sbmtYn#, + SYSDATE, + #aprvlCd#, + SYSDATE, + #aprvlCn#, + + SYSDATE, + #frstRegisterId#, + 'Y' + ) + + + + + + + /* 임시.*NOT_SQL_LOG.* VEEduChasiDAO.selectList */ SELECT FROM diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml index 1ae5b2f0..e3127fbc 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml @@ -50,9 +50,9 @@ ,#oprtnStrtDt# ,#oprtnEndDt# ,#oprtnFileId# - ,NOW() + ,SYSDATE ,#frstRegisterId# - ,NOW() + ,SYSDATE ,#lastUpdusrId# ,#islandsYn# ,#remoteYn# @@ -80,7 +80,7 @@ ,OPRTN_STRT_DT = #oprtnStrtDt# ,OPRTN_END_DT = #oprtnEndDt# ,OPRTN_FILE_ID = #oprtnFileId# - ,LAST_UPDT_PNTTM = NOW() + ,LAST_UPDT_PNTTM = SYSDATE ,LAST_UPDUSR_ID = #lastUpdusrId# ,ISLANDS_YN = #islandsYn# ,REMOTE_YN = #remoteYn# diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml index cc21fef8..cf6c77f0 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml @@ -78,19 +78,19 @@ a.phone AS phone, a.email AS email, a.edu_place AS eduPlace, - a.sbmt_yn AS sbmtYn, - a.sbmt_pnttm AS sbmtPnttm, - a.aprvl_cd AS aprvlCd, - a.aprvl_pnttm AS aprvlPnttm, + a.sbmt_yn AS sbmtYn, + TO_CHAR(a.sbmt_pnttm, 'YYYY-MM-DD') AS sbmtPnttm, + a.aprvl_cd AS aprvlCd, + TO_CHAR(a.aprvl_pnttm, 'YYYY-MM-DD') AS aprvlPnttm, a.aprvl_cn AS aprvlCn, a.instt_nm AS insttNm, a.instt_div_cd AS insttDivCd, a.hope_sbjct AS hopeSbjct, a.rqst_cn AS rqstCn, - DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm, + TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm, a.frst_register_id AS frstRegisterId, - DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm, + TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm, a.last_updusr_id AS lastUpdusrId, a.schol_seal_atch_file_id AS scholSealAtchFileId, @@ -100,7 +100,8 @@ a.strt_oprtn_dt AS strtOprtnDt, a.end_oprtn_dt AS endOprtnDt, a.rprt_sbmt_dt AS rprtSbmtDt, - a.trans_atch_file_id AS transAtchFileId + a.trans_atch_file_id AS transAtchFileId, + a.use_yn AS useYn @@ -120,12 +121,23 @@ @@ -2693,9 +2727,9 @@ VALUES , #evdncPhtAtchFileId# , #rmtTrnAtchFileId# -, NOW() +, SYSDATE , #frstRegisterId# -, NOW() +, SYSDATE , #lastUpdusrId# ) @@ -3384,7 +3418,7 @@ VALUES SET $fileType$ = null, last_updusr_id = #lastUpdusrId#, - last_updt_pnttm = now() + last_updt_pnttm = SYSDATE WHERE edu_aplct_ord = #eduAplctOrd# @@ -3407,8 +3441,100 @@ VALUES rmt_trn_atch_file_id = #rmtTrnAtchFileId#, last_updusr_id = #lastUpdusrId#, - last_updt_pnttm = now() + last_updt_pnttm = SYSDATE WHERE edu_aplct_ord = #eduAplctOrd# + + diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml new file mode 100644 index 00000000..fee037d4 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Tibero.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + vea_prcs_aplct_prd_instr_asgnm + + + + + + prcs_aplct_prd_ord + , user_id + , lctr_plan_atch_file_id + , doc_atch_file_id + , asgnm_aprvl_cd + , asgnm_aprvl_pnttm + , asgnm_aprvl_id + , rmrks + , frst_regist_pnttm + , frst_register_id + , last_updt_pnttm + , last_updusr_id + + + + + + a.prcs_aplct_prd_ord as prcsAplctPrdOrd + , a.user_id as userId + , a.lctr_plan_atch_file_id as lctrPlanAtchFileId + , a.doc_atch_file_id as docAtchFileId + , a.asgnm_aprvl_cd as asgnmAprvlCd + , a.asgnm_aprvl_pnttm as asgnmAprvlPnttm + , a.asgnm_aprvl_id as asgnmAprvlId + , a.rmrks as rmrks + , a.frst_regist_pnttm as frstRegistPnttm + , a.frst_register_id as frstRegisterId + , a.last_updt_pnttm as lastUpdtPnttm + , a.last_updusr_id as lastUpdusrId + + + + + + INSERT INTO ( + + )VALUES( + #prcsAplctPrdOrd# + , #userId# + , #lctrPlanAtchFileId# + , #docAtchFileId# + , #asgnmAprvlCd# + , SYSDATE + , #asgnmAprvlId# + , #rmrks# + , SYSDATE + , #frstRegisterId# + , SYSDATE + , #lastUpdusrId# + ) + + + + + /* VEAPrcsAplctPrdInstrAsgnmDAO.insertAprvlCdEduAplctDetail */ + INSERT INTO vea_aplct_detail_info + ( + prcs_aplct_prd_ord + , edu_aplct_ord + , aplct_state_cd + , frst_regist_pnttm + , frst_register_id + ) + VALUES + ( + #prcsAplctPrdOrd# + , #eduAplctOrd# + , #aplctStateCd# + , SYSDATE + , #frstRegisterId# + ) + + + + + + + + UPDATE vea_aplct_detail_info SET + aplct_state_cd = #aplctStateCd# + WHERE + edu_aplct_ord = #eduAplctOrd# + AND prcs_aplct_prd_ord = #prcsAplctPrdOrd# + + + + + + + + UPDATE VE_EDU_APLCT + SET aprvl_cd = #aprvlCd# + WHERE edu_aplct_ord IN + + #eduAplctOrdList[]# + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml index 8c68621e..4287a360 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml @@ -388,6 +388,7 @@ - + - + + + + + + + + + + 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 fb9d7451..164dc475 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 @@ -171,7 +171,7 @@ - /* VEPrcsDAO.selectPagingList */ SELECT COUNT(1) OVER() AS totCnt , @@ -340,4 +340,11 @@ WHERE PRCS_ORD = #prcsOrd# + + + DELETE FROM VEA_PRCS_APLCT_PRD_INSTR_ASGNM + WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd# + AND user_id = #userId# + + diff --git a/src/main/resources/egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Tibero.xml index ade3b50d..2c49f623 100644 --- a/src/main/resources/egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Tibero.xml @@ -51,9 +51,9 @@ a.aprvl_id AS aprvlId, a.aprvl_cn AS aprvlCn, - DATE_FORMAT(a.frst_regist_pnttm,'%Y%m%d') AS frstRegistPnttm, + TO_CHAR(a.frst_regist_pnttm, 'YYYY-MM-dd') AS frstRegistPnttm, a.frst_register_id AS frstRegisterId, - DATE_FORMAT(a.last_updt_pnttm,'%Y%m%d') AS lastUpdtPnttm, + TO_CHAR(a.last_updt_pnttm, 'YYYY-MM-dd') AS lastUpdtPnttm, a.last_updusr_id AS lastUpdusrId, orgnl_rslt_atch_file_id AS orgnlRsltAtchFileId, diff --git a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml index f9d25b9b..16d61857 100644 --- a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml @@ -53,6 +53,7 @@ diff --git a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml index 77c2a13a..2ee893ab 100644 --- a/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml @@ -225,15 +225,13 @@ /* , IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn */ - , NVL2(b.stndrd_schol_cd,'Y','N') AS isltnScholYn - /* - , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd - */ + , NVL2(b.schol_isltn_ord,'Y','N') AS isltnScholYn + , DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',CASE WHEN INSTR(schol_grade_nm, '각종학교') > 0 THEN '40' ELSE '50' END) AS scholDivCd FROM a LEFT OUTER JOIN ve_schol_isltn b - ON(a.schol_id=b.schol_id) + ON(a.schol_id=b.schol_isltn_ord) WHERE 1=1 $scholGrade$ diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 0b6a2a48..7aed2f4e 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -153,6 +153,8 @@ */web/ve/**/popup/* + */kccadr/oprtn/cpyrgExprnClsrm/cautionGuidePreView.do + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/fms/selectScholSealInfs.jsp b/src/main/webapp/WEB-INF/jsp/cmm/fms/selectScholSealInfs.jsp index 9fb431c9..1c2d850d 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/fms/selectScholSealInfs.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/fms/selectScholSealInfs.jsp @@ -30,6 +30,34 @@ window.open(""); } + function delAtchFile(itemId , fileSn){ + if(!confirm("삭제하시겠습니까?")){ + return false; + } + + $.ajax({ + type: "POST", + url: "", + data:{ "atchFileId" : itemId , "fileSn" : fileSn}, + dataType:'json', + cache: false, + async: false, + timeout: 600000, + success: function (returnData, status) { + if(returnData.result == 'success'){ + alert("삭제되었습니다."); + location.reload(true); + }else{ + alert("삭제처리에 실패하였습니다."); + } + }, + error: function (e) { + console.log("ERROR : ", e); + alert("삭제처리에 실패하였습니다."); + } + }); + } + function fn_egov_deleteFile(atchFileId, fileSn, delTrName) { if(!confirm("")) return; @@ -70,7 +98,7 @@ newForm.target = "iframe_egov_file_delete" newForm.submit(); //console.log('del submit!!'); - var objDelTr = document.getElementById(delTrName); + var objDelTr = document.getElementById(delTrName); objDelTr.parentNode.removeChild(objDelTr); fn_egov_multi_selector_update_delete(); //console.log('egov_file_view_table delete!!'); @@ -127,9 +155,11 @@ - ','')" class="file_download_a" title="다운로드"> + ','')" class="file_download_a" title="다운로드" style="display:inline-block;"> + ',''); return false;" alt="첨부파일"> +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp new file mode 100644 index 00000000..7d25d638 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmm/userPopListBower.jsp @@ -0,0 +1,84 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + + +학교명 검색 + + + + + + + + + + +" /> +" /> + +
+
+
+ + +
+ +
+ + + + + + + + + + + + + + + + +
아이디
+ + +
+
+ +
+ +
+ +
+
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp new file mode 100644 index 00000000..46d05c6d --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.jsp @@ -0,0 +1,504 @@ + +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : cndtnEduPrcsAplctPrdMngDetail.jsp + * @Description : 기반강화연수 기간 상세화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + +
+ + +
+ + +
+ + + + +
+ + + +
+
+ + + +
+

과정 신청기간 상세

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 과정신청기간관리 신청기간 상세
  • +
+
+ + +
+ +
+

교육과정관리

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + --%> + +
교육부분 + +
과정 + + +
신청기간 + ~ +
교육장소 + +
교육기간 + ~ +
상세교육과정 + +
정원 + +
상태 + +
+

공개여부(사용여부)

+
+ + 아니오 +
+
+ + + +
+
+
+
+
+
+ + +
+
+ + +
+

강사 배치 정보

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

교육신청자

+
+ +
+
+
+ +
+ +
+ ~ +
+ +
+<%-- --%> + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
신청자신청일확정여부이수여부설문조사이수증
+ + + + + + + + + + + + + + + + 미입력 + + + + + +<%-- --%> + + + + + +
신청자가 없습니다.
+
+ + +
+
+
+
+
+
+ + + +
+
+ +
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp new file mode 100644 index 00000000..2e0ec8fc --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp @@ -0,0 +1,327 @@ + +<%@ 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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ 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 : cndtnEduPrcsAplctPrdMngList.jsp + * @Description : 조건부기소유예관리 과정 신청기간관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.14 조용준 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 과정신청기간관리목록 + + + + + " /> + " /> + + + + +
+
+ + +
+

과정신청기간관리목록

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 과정신청기간관리목록
  • +
+
+ + +
+
+

교육 과정 관리

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

건의 접수가 검색되었습니다.

+
+ + <%----%> +
+
+ + + + + +
+ + + + + + + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + +<%-- --%> + + + + + + + +
NO교육구분코드과정명신청기간교육기간신청자/정원상태
');" style="cursor:pointer;"> + + + + ');" style="cursor:pointer;"> + () + + ~ + + ~ + + / + + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.jsp new file mode 100644 index 00000000..71f35cfb --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.jsp @@ -0,0 +1,285 @@ + +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : fndthEduPrcsAplctPrdMngMdfy.jsp + * @Description : 기반강화연수 기간 정보 수정 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + + + + + + +
+
+ + +
+

과정 신청기간 상세

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 과정신청기간관리 신청기간 수정
  • +
+
+ + +
+ +
+

교육과정관리

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부분 + +
과정 +<%-- --%> + + + +
신청기간 +
+ +
+ ~ +
+ +
+ +
교육장소 + +
교육기간 +
+ +
+ ~ +
+ +
+ +
상세교육과정 + +
정원 + +
상태 + +
+

공개여부(사용여부)

+
+ + + + + +
+
+ + + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngReg.jsp new file mode 100644 index 00000000..53d38165 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngReg.jsp @@ -0,0 +1,311 @@ + +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : cndtnEduPrcsAplctPrdMngReg.jsp + * @Description : 기반강화연수 과정 신청기간 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> + + +교육과정관리 + + + + + + + + + +
+
+ + +
+

과정 신청기간 등록

+
    +
  • +
  • +

    조건부기소유예관리

    +
  • +
  • 과정 신청기간 등록
  • +
+
+ + +
+ +
+

과정 신청기간 등록

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부분코드 + +
교육과정 +<%-- --%> + + + +
교육기간 +
+ +
+ ~ +
+ +
+ +
교육장소 + +
신청기간 +
+ +
+ ~ +
+ +
+ +
상세교육과정 + +
정원 + +
+

상태

+
+ +
+
+ + + +
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp index 09397e58..2e497f10 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.jsp @@ -101,29 +101,29 @@ function fncSave(){ var data = new FormData(document.getElementById("createForm")); - if(confirm("저장하시겠습니까?")){ - var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngRegAjax.do"; - console.log(data); - $.ajax({ - type:"POST", - url: url, - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success:function(returnData){ - if(returnData.result == "success"){ - alert("저장되었습니다."); - fncGoList(); - } - }, - error:function(request , status, error){ - alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + if(confirm("저장하시겠습니까?")){ + var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctMngRegAjax.do"; + console.log(data); + $.ajax({ + type:"POST", + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success:function(returnData){ + if(returnData.result == "success"){ + alert("저장되었습니다."); + fncGoList(); } - }); - } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } } function fncGoList(){ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp index a4d22eb2..8755741c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMdfy.jsp @@ -301,7 +301,7 @@ 생년월일 - " /> + " /> @@ -331,7 +339,7 @@ - + <%--

안내내용

@@ -347,7 +355,7 @@ - + --%>

사용여부

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngList.jsp index 3c11e708..2a6cd11c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngList.jsp @@ -289,7 +289,10 @@ - ${list.strtPnttm}~${list.endPnttm} + + + ~ + @@ -313,7 +316,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp index 8b5260a7..651b7a14 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngReg.jsp @@ -153,14 +153,14 @@ alert("종료일을 입력해주세요."); return false; } - if($("#anncmCn").val() == ""){ + /* if($("#anncmCn").val() == ""){ alert("안내내용을 입력해주세요."); return false; } if($("#popupCn").val() == ""){ alert("팝업내용을 입력해주세요."); return false; - } + } */ //첨부파일 등록 처리 $('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가 @@ -465,24 +465,6 @@ --> - - -

필수입력 항목*

-

안내내용

- - - - - - - -

필수입력 항목*

-

팝업내용

- - - - -

필수입력 항목*

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp index eb772d0c..db9d4cd3 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctAnncmMngUpdate.jsp @@ -126,14 +126,14 @@ alert("종료일을 입력해주세요."); return false; } - if($("#anncmCn").val() == ""){ + /* if($("#anncmCn").val() == ""){ alert("안내내용을 입력해주세요."); return false; } if($("#popupCn").val() == ""){ alert("팝업내용을 입력해주세요."); return false; - } + } */ //첨부파일 등록 처리 $('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가 @@ -426,7 +426,7 @@
- + <%--

필수입력 항목*

안내내용

@@ -444,7 +444,7 @@ - + --%>

필수입력 항목*

diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp index fa301387..8d120e80 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.jsp @@ -162,6 +162,7 @@ +<%-- --%> - @@ -174,8 +175,9 @@ - - + <%-- + --%> + - @@ -413,15 +415,17 @@ - + <%-- - + --%>
- - + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp index 63410a07..25def16b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngList.jsp @@ -1,128 +1,221 @@ -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ 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 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="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" + uri="http://www.springmodules.org/tags/commons-validator"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ 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="un" + uri="http://jakarta.apache.org/taglibs/unstandard-1.0"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> - +c 신청관리 - - - " /> - " /> - - -
-
- -
-

운영신청 목록

-
    -
  • -
  • -

    저작권 체험교실

    -
  • -
  • -

    운영신청 관리

    -
  • -
  • 운영신청 관리
  • -
-
- + + + " /> + " /> + + +
+
+ +
+

운영신청 목록

+
    +
  • +
  • +

    저작권 체험교실

    +
  • +
  • +

    운영신청 관리

    +
  • +
  • 운영신청 관리
  • +
+
+ -
-
-

저작권 체험교실 운영 신청서 접수 목록

-
- +
+
+

저작권 체험교실 운영 신청서 접수 목록

+
+

구분

- - - - - - + + + + +
@@ -131,16 +224,20 @@
- - 초등학교 - - 중학교 - - 고등학교 - + + 초등학교 중학교 고등학교
@@ -151,140 +248,187 @@
-

선정여부

+ <%--

선정여부

-
+
--%>
- -
-

건의 접수가 검색되었습니다.

-
- - + +
+

+ 건의 + 접수가 검색되었습니다. +

+
+ + + +
-
- + - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + <%-- --%> + + + + + + + + + + +
번호담당교과학교명담당자신청일자선정여부처리상태
- - - - <%----%> - - - - - - - - - - - - - - 선정 - 미선정 - + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + - - 운영신청 - - - 수정요청 - - - 수정요청완료 - - - 교육확정 - - - 교육미확정 + + - - + - - - - - - - -
번호담당교과학교명담당자신청일자처리상태비고
+
+ " type="checkbox" value=""/> + + <%----%> + + + - 선정 미선정 + + 운영신청 + + + 수정요청 + + + 수정완료 + + + 운영확정 + + + 운영미확정 + + + - + + + + 불성실 + + + 성실 + +
+
+ +
+
+ + +
+
+
+
+ + +
+
+ +
+ +
+
- - - -
- -
-
-
- - + + -
+ diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp index 0b34acb2..fda94e59 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/oprtnAplctMngReg.jsp @@ -1,44 +1,123 @@ -<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ page language="java" contentType="text/html; charset=utf-8" + pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> - - +<% + /** + * @Class Name : oprtnAplctAnncmMngReg.jsp + * @Description : 운영신청안내관리 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.12.16 조용준 최초 생성 + * @author 조용주 + * @since 2021.12.16 + * @version 1.0 + * @see + * + */ +%> - - + + + -교육신청 수정 +교육과정관리 -
+ + + " /> + " /> + +
- - - " /> - " /> - - - - - - - - - - - - - - - - - -
-
+ + + + +
+
+
-

교육신청 내용 변경

+

운영신청서 등록

  • -

    교육신청관리

    +

    저작권 체험교실

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

    운영신청 관리

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

교육신청 내용

-
-
- - - - - - +
+
+

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

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

교사명

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

필수입력 항목*

주소

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

필수입력 항목*

-

학교(기관)명

+

교사 아이디

- - - + + +
- +

필수입력 항목*

성별

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

필수입력 항목*

-

이메일

+

휴대폰

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

필수입력 항목*

+

전화

+
+ + + - + + - + +
+

필수입력 항목*

+

학교(기관)명

+
+ + + + + +
+

필수입력 항목*

+

학교구분

+
+ +
+

필수입력 항목*

+

학교지역특성

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

필수입력 항목*

-

담당교과

-
- -
-

생년월일*

-

생년월일

-
- - - - - - - - -
-

필수입력 항목*

-

저작권 오프라인
교원연수

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

필수입력 항목*

-

체험교실운영여부

-
-
- - - - -
-
-
-
-

필수입력 항목*

-

신청경로

-
- - -
-
- -
-
-

운영 계획

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

필수입력 항목*

-

대학년수

-
- 학년 - -

필수입력 항목*

-

대상 반

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

필수입력 항목*

-

대학생수

+

이메일

- 명 + + + + @ + +

필수입력 항목*

-

보고서제출일

+

담당교과

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

생년월일*

+

생년월일

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

필수입력 항목*

+

체험교실운영여부

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

필수입력 항목*

+

신청경로

+
+ + + +
+
+
+

운영계획

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

운영시기

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

필수입력 항목*

첨부파일

- - + + + + + + @@ -238,12 +350,15 @@ + - + @@ -267,7 +382,30 @@ 교육 신청자 list_상세 -->
-

교육신청자

+

교육신청자

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

필수입력 항목*

+

학년수

+
+ + 학년 +
+

필수입력 항목*

+

대상 반

+
+ + 반 +
+

필수입력 항목*

+

학생수

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

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

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

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

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

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

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

-
-
-

최대 3

-

50MB제한

-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+ + + + "> + + "> + + +
- - ※ 신청서(공문)양식 다운로드 후, 직인을 포함하여 업로드 해주세요. -
+
+ + + +
- - + +
-
- + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/popup/cautionGuidePreView.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/popup/cautionGuidePreView.jsp new file mode 100644 index 00000000..ebcfef4b --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cpyrgExprnClsrm/popup/cautionGuidePreView.jsp @@ -0,0 +1,71 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> + + + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp index d21db6ad..78a592f0 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail.jsp @@ -49,7 +49,12 @@ var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var currentDate = new Date(); - + + // 시간, 분, 초 초기화 + strtPnttm.setHours(0, 0, 0, 0); + endPnttm.setHours(0, 0, 0, 0); + currentDate.setHours(0, 0, 0, 0); + if (currentDate < strtPnttm) { $ddlnCdStts.text("접수전"); } else if (currentDate >= strtPnttm && currentDate <= endPnttm) { @@ -65,12 +70,55 @@ listForm.action = ""; listForm.submit(); } + + function fncGoDetail(){ + var form = document.detailForm ; + form.action = ""; + form.submit(); + } function fncMdfy(){ - var detailForm = document.detailForm ; + var form = document.mdfyForm ; detailForm.action = ""; detailForm.submit(); } + + + + function fn_delInstr(data){ + document.instrForm.userId.value = data ; + + + + + var data = new FormData(document.getElementById("instrForm")); + if(confirm("삭제하시겠습니까?")){ + var url = ""; + $.ajax({ + type:"POST", + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success:function(returnData){ + if(returnData.result == "success"){ + alert("삭제되었습니다."); + // 새로고침 + window.location.reload(); + } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } + event.stopImmediatePropagation(); + + } + // 강사 배치 @@ -86,35 +134,92 @@ form.submit(); } + function chkAll(obj) { + // 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정 + $("input[name='chk']").prop('checked', $(obj).prop('checked')); + } + + function updateEduAplctOrd(p_aprvlCd, p_prcsAplctPrdOrd) { + var selectedEduAplctOrd = []; + + // "chk" 이름을 가진 체크박스가 체크된 항목들을 순회 + $("input[name='chk']:checked").each(function() { + var eduAplctOrdValue = $(this).val(); + selectedEduAplctOrd.push(eduAplctOrdValue); + }); + + console.log('selectedEduAplctOrd : ', selectedEduAplctOrd); + // 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료 + if (selectedEduAplctOrd.length === 0) { + alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요."); + return false; + } + + var dataToSend = { + "eduAplctOrdList": selectedEduAplctOrd, + "aprvlCd": p_aprvlCd, + "prcsAplctPrdOrd": p_prcsAplctPrdOrd + }; + + var url = ""; + + + // AJAX 호출을 통해 서버에 데이터 전송 + $.ajax({ + type:"POST", + url: url, + data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음 +// contentType : 'application/json', + dataType:'json', + success:function(returnData){ + if(returnData.result == "success"){ + alert("변경 처리 되었습니다."); + window.location.reload(); + }else{ + alert("변경 중 오류가 발생하였습니다."); + } + }, + error: function(jqXHR, textStatus, errorThrown) { + console.error("AJAX Error:", textStatus, errorThrown); + console.error("Response:", jqXHR.responseText); + } + }); + + } +
+ + +
- +
+
+
- +
-

교육 과정 상세

+

과정 신청기간 상세

  • -

    교육콘텐츠

    +

    조건부기소유예관리

  • -
  • 교육 과정 관리
  • -
  • 교육 과정 상세
  • +
  • 과정신청기간관리 신청기간 상세
@@ -164,7 +269,12 @@ ~
상세교육과정 + +
정원 @@ -216,12 +326,14 @@
강사명 연락처 확정여부삭제
+ +
강사 배치 정보가 없습니다.강사 배치 정보가 없습니다.
@@ -281,20 +419,15 @@ - - - + + - - - - @@ -302,42 +435,66 @@ - - - - - - + +
번호 신청자 신청일 확정여부이수여부신청상태이수여부설문조사 이수증
- - - + - + - + + - 설문조사 + + - 출력 + + + + + + + 미입력 + + - 출력 + + + +<%-- --%> + + + + +
신청자가 없습니다.신청자가 없습니다.
- + + +
+
+
+
+
+
+ + + +
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp index f07c1925..3399e0ae 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList.jsp @@ -294,7 +294,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp index bf838ad4..1c18a02c 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.jsp @@ -8,6 +8,7 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <% /** * @Class Name : fndthEduPrcsAplctPrdMngMdfy.jsp @@ -29,6 +30,39 @@ 교육과정관리 + + + - - - " /> - " /> - " /> - - + + " /> -
- -
@@ -626,10 +433,8 @@

결과보고 정보

- ※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다. -
    용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다. -
+ ※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다. +
    용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다.
@@ -637,72 +442,15 @@

필수입력 항목*

원본 결과보고서
- - -
-
- - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
-

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

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

- -

최대 1

-

100MB제한

등록된 파일 0

@@ -716,73 +464,15 @@

필수입력 항목*

평가용 결과보고서
- - -
-
- - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
-

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

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
- ${fileList.orignlFileNm} - - "> - - "> - - -
+ + + +
+

- -

최대 1

-

100MB제한

등록된 파일 0

@@ -795,73 +485,15 @@

필수입력 항목*

증빙사진
- - -
-
- - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
-

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

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
- ${fileList.orignlFileNm} - - "> - - "> - - -
+ + + +
+

- -

최대 1

-

100MB제한

등록된 파일 0

@@ -874,73 +506,15 @@
원격연수 이수증
- - -
-
- - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
-

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

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
- ${fileList.orignlFileNm} - - "> - - "> - - -
+ + + +
+

- -

최대 1

-

100MB제한

등록된 파일 0

@@ -952,12 +526,13 @@
-
-
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp deleted file mode 100644 index 96131cd1..00000000 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRsltTest.jsp +++ /dev/null @@ -1,540 +0,0 @@ -<%@ page contentType="text/html; charset=utf-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> -<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> - -<% pageContext.setAttribute("replaceChar", "\n"); %> - - - - - - - - - - - - - - " /> - - - -
-
-

결과보고

-
- - -
-
-
-
-

결과보고 정보

- ※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다. -
    용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다.
-
-
-
-
-

필수입력 항목*

원본 결과보고서
-
-
- - - - -
-

-
-
-

최대 1

-
-
-

등록된 파일 0

- 0MB -
-
-
-
- -
-

필수입력 항목*

평가용 결과보고서
-
-
- - - - -
-

-
-
-

최대 1

-
-
-

등록된 파일 0

- 0MB -
-
-
-
-
-

필수입력 항목*

증빙사진
-
-
- - - - -
-

-
-
-

최대 1

-
-
-

등록된 파일 0

- 0MB -
-
-
-
-
-
원격연수 이수증
-
-
- - - - -
-

-
-
-

최대 1

-
-
-

등록된 파일 0

- 0MB -
-
-
-
-
- -
-
-
- - -
-
- - -
-
-
- diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt_back.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt_back.jsp new file mode 100644 index 00000000..114cb54c --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndRslt_back.jsp @@ -0,0 +1,965 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + +<% pageContext.setAttribute("replaceChar", "\n"); %> + + + + + + + + " /> + " /> + " /> + + + + + + +
+ +
+ +
+
+

결과보고

+
+ + +
+
+
+
+

결과보고 정보

+ ※ 업로드 가능한 용량은 전체 파일을 합산한 기준으로 500MB 제한이 있습니다. +
    용량을 초과할 경우, 오류 발생으로 인해 업로드가 되지 않으니 유의하시기 바랍니다. +
+
+
+
+
+

필수입력 항목*

원본 결과보고서
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
+

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

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

최대 1

+

100MB제한

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+ +
+

필수입력 항목*

평가용 결과보고서
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
+

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

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
+ ${fileList.orignlFileNm} + + "> + + "> + + +
+
+
+ + +
+

최대 1

+

100MB제한

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+

필수입력 항목*

증빙사진
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
+

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

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
+ ${fileList.orignlFileNm} + + "> + + "> + + +
+
+
+ + +
+

최대 1

+

100MB제한

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+
원격연수 이수증
+
+
+ + +
+
+ + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기 정보 제공
파일 명종류크기
+

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

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 파일명, 종류, 크기, 삭제 정보 제공
파일 명종류크기삭제
+ ${fileList.orignlFileNm} + + "> + + "> + + +
+
+
+ + +
+

최대 1

+

100MB제한

+
+
+

등록된 파일 0

+ 0MB +
+
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.jsp index 52866c3c..c2de6f81 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.jsp @@ -148,9 +148,9 @@ - - - + + + - @@ -164,7 +164,7 @@ - + @@ -196,7 +196,7 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp index ed9a79ce..65932f40 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.jsp @@ -18,7 +18,7 @@ } function openPop(){ - if(!checkAplctPsbl()) return; + //if(!checkAplctPsbl()) return; commonPopLayeropen( "${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide.do" 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 76e52969..422efc3a 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 @@ -24,7 +24,7 @@ } function goWrite(){ - if(!checkAplctPsbl()) return; + /* if(!checkAplctPsbl()) return; */ $("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.do").submit(); } @@ -98,9 +98,9 @@ - - - + + +
@@ -154,8 +154,8 @@ - - + + <%-- @@ -187,13 +187,13 @@ 수정요청 - 수정요청완료 + 수정완료 - 교육확정 + 운영확정 - 교육미확정 + 운영미확정 - @@ -227,8 +227,8 @@
  • 접수종료일 - - + +
  • diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp index c9615530..4a76cf5b 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.jsp @@ -107,7 +107,7 @@ $(".tb_write").find("input[type=radio]:first-child").attr('checked',true); $(".addClassRowClsrm > tbody").find(">tr:gt(5)").remove(); $("#agree").prop('checked',false); - $("#agree1").prop('checked',false); + /* $("#agree1").prop('checked',false); */ $("input[name=onlnPrcsOrd]").prop('checked',false); var fileVo = new Array(); @@ -234,8 +234,19 @@ $('#exprnClsrnYear').val(arr); } - $('#oprtnStrtDt').val($('#oprtnStrtDt').val().replace(/[.]/gi, '')); - $('#oprtnEndDt').val($('#oprtnEndDt').val().replace(/[.]/gi, '')); + if($('#oprtnStrtDt').val() != null){ + $('#oprtnStrtDt').val($('#oprtnStrtDt').val().replace(/[.]/gi, '')); + } + if($('#oprtnEndDt').val() != null){ + $('#oprtnEndDt').val($('#oprtnEndDt').val().replace(/[.]/gi, '')); + } + //임시저장 데이터 불러왔을 시 duet-date-picker에서 날짜 input에 id를 넣어주지 않음 + if($('duet-date-picker[name=oprtnStrtDt]').val() != null){ + $('duet-date-picker[name=oprtnStrtDt]').val($('duet-date-picker[name=oprtnStrtDt]').val().replace(/[.]/gi, '')) + } + if($('duet-date-picker[name=oprtnEndDt]').val() != null){ + $('duet-date-picker[name=oprtnEndDt]').val($('duet-date-picker[name=oprtnEndDt]').val().replace(/[.]/gi, '')) + } } function validCheck(){ @@ -382,8 +393,10 @@ return false; } - var oprtnStrtDt = $('#oprtnStrtDt').val(); - var oprtnEndDt = $('#oprtnEndDt').val(); + /* var oprtnStrtDt = $('#oprtnStrtDt').val(); + var oprtnEndDt = $('#oprtnEndDt').val(); */ + var oprtnStrtDt = $('duet-date-picker[name=oprtnStrtDt]').val(); + var oprtnEndDt = $('duet-date-picker[name=oprtnEndDt]').val(); oprtnStrtDt = oprtnStrtDt.replace(/[.]/gi, ''); oprtnEndDt = oprtnEndDt.replace(/[.]/gi, ''); @@ -394,7 +407,8 @@ return false; } - var oprtnStrtDtDate = $('#oprtnStrtDt').val(); + /* var oprtnStrtDtDate = $('#oprtnStrtDt').val(); */ + var oprtnStrtDtDate = $('duet-date-picker[name=oprtnStrtDt]').val(); var yyyy = oprtnStrtDtDate.substr(0,4); var mm = oprtnStrtDtDate.substr(5,2); var dd = oprtnStrtDtDate.substr(8,2); @@ -417,10 +431,10 @@ return false; } - if($("#agree1").length > 0 && $('#agree1').val() != 'Y'){ + /* if($("#agree1").length > 0 && !$('#agree1').prop('checked')){ alert('개인정보 이용 약관에 동의해주세요.'); return false; - } + } */ return true; } @@ -501,7 +515,10 @@ // cmpltNoFormat(document.getElementById('cmpltNum')); // } - $("#exprnClsrnCd").val(info.exprnClsrnCd); + $('input[name=exprnClsrnCd][value='+info.exprnClsrnCd+']').prop('checked', true); + if(info.exprnClsrnCd == '02'){ + $('input[name="eClsrnYear"]').attr('disabled',true); + } $('input[name=eClsrnYear]').prop('checked',false); if(isNotEmpty(info.exprnClsrnYear)){ var yearList = info.exprnClsrnYear.split(','); @@ -510,7 +527,7 @@ }); } - $("#exprnClsrnAplct").val(info.exprnClsrnAplct); + $('input[name=exprnClsrnAplct][value='+info.exprnClsrnAplct+']').prop('checked', true); if(info.exprnClsrnAplct == '04'){ $("#exprnClsrnAplctCn").prop('disabled' , false); $("#exprnClsrnAplctCn").val(info.exprnClsrnAplctCn); @@ -524,11 +541,15 @@ $("#trgtPrsnl").val(info.trgtPrsnl); if(isNotEmpty(info.oprtnStrtDt)){ - $("#oprtnStrtDt").val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date')); + /* $("#oprtnStrtDt").val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date')); */ + $('duet-date-picker[name=oprtnStrtDt]').val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date')) + $('#oprtnStrtDt').val(dateFormat(info.oprtnStrtDt.replace(/[.]/gi,''), 'date')); } if(isNotEmpty(info.oprtnEndDt)){ - $("#oprtnEndDt").val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date')); + /* $("#oprtnEndDt").val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date')); */ + $('duet-date-picker[name=oprtnEndDt]').val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date')) + $('#oprtnEndDt').val(dateFormat(info.oprtnEndDt.replace(/[.]/gi,''), 'date')); } $("#oprtnFileId").val(info.oprtnFileId); @@ -536,6 +557,7 @@ var fileTbody = $("#tbody_fiielist"); $.each(fileList, function(idx, obj){ var tr = $("").addClass('item_'+obj.atchFileId+'_'+obj.fileSn).addClass('uploaded_obj'); + var hiddenInput = $('').attr('type', 'hidden').attr('name', 'fileSize').addClass('item_file_size').val(obj.fileSize); var td1 = $('').addClass('td_filename'); var td2 = $('').addClass('td_filesort'); var td3 = $('').addClass('td_filesize'); @@ -551,7 +573,7 @@ td2.append(span2); td3.append(span3); td4.append(button); - tr.append(td1).append(td2).append(td3).append(td4); + tr.append(hiddenInput).append(td1).append(td2).append(td3).append(td4); fileTbody.append(tr); }); if(fileList.length > 0){ @@ -593,6 +615,8 @@ + +

    운영신청서 작성

    @@ -1069,7 +1093,7 @@
  • -
    + + IE에서 체크박스가 마지막에 있을 시 이상한 오류 발생. 오류 방지를 위해히든 하나 넣어둠
    -
    +
    -->
    diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide.jsp index 55f792cb..4507c3fd 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/cautionGuide.jsp @@ -31,11 +31,16 @@ } function goWrite(){ - location.href= "${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctReg.do"; + var frm = document.getElementById("prcsOrdForm"); + frm.action = ""; + frm.submit(); } +
    + +