From 8e5f9c0d21e5fe8d66d8dea93ba2c89b5053457a Mon Sep 17 00:00:00 2001 From: hylee Date: Thu, 4 Jan 2024 17:01:06 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B2=AD=EC=86=8C=EB=85=84=20=EA=B0=95?= =?UTF-8?q?=EC=9D=98=EA=B5=90=ED=99=98=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asgnmInfo/web/VEAdultAsgnmController.java | 59 ------- .../asgnmInfo/service/VEAsgnmMIXService.java | 9 ++ .../asgnmInfo/service/impl/VEAsgnmMIXDAO.java | 16 ++ .../service/impl/VEAsgnmMIXServiceImpl.java | 21 +++ .../asgnmInfo/web/VEAsgnmController.java | 112 +++++++++++++ .../ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml | 134 ++++++++++++---- .../asgnmInfo/instrAsgnmRqstList.jsp | 149 +++++++++++++----- .../popup/instrAsgnmListExchnPopup.jsp | 63 ++++---- 8 files changed, 411 insertions(+), 152 deletions(-) diff --git a/src/main/java/kcc/ve/instr/adultVisitEdu/asgnmInfo/web/VEAdultAsgnmController.java b/src/main/java/kcc/ve/instr/adultVisitEdu/asgnmInfo/web/VEAdultAsgnmController.java index de49013b..512e814a 100644 --- a/src/main/java/kcc/ve/instr/adultVisitEdu/asgnmInfo/web/VEAdultAsgnmController.java +++ b/src/main/java/kcc/ve/instr/adultVisitEdu/asgnmInfo/web/VEAdultAsgnmController.java @@ -252,65 +252,6 @@ public class VEAdultAsgnmController { // return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList"; } - @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do") - public String instrAsgnmListExchnPopup( - @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - model.addAttribute("ssoLoginVO", ssoLoginVO); - model.addAttribute("loginVO", loginVO); - //로그인 처리==================================== - - - //3.pageing step1 - PaginationInfo paginationInfo = this.setPagingStep1(vEInstrAsgnmVO); - - - //4. pageing step2 - vEInstrAsgnmVO = this.setPagingStep2(vEInstrAsgnmVO, paginationInfo); - - vEInstrAsgnmVO.setUserId(loginVO.getUniqId()); - vEInstrAsgnmVO.setInstrDiv("20"); - vEInstrAsgnmVO.setHstryCd("10"); - - try { - System.out.println("session.getAttribute(menuNo).toString()"); - System.out.println(session.getAttribute("menuNo").toString()); - vEInstrAsgnmVO.setMenuNo(session.getAttribute("menuNo").toString()); - }catch(Exception ex) { - ex.printStackTrace(); - vEInstrAsgnmVO.setMenuNo("9991100"); - } - vEInstrAsgnmVO.setSearchAsgnmAprvlCd("20"); - List vEInstrAsgnmVOList = vEAsgnmMIXService.selectAsgnmRqstPagingList(vEInstrAsgnmVO); - - //6.pageing step3 - paginationInfo = this.setPagingStep3(vEInstrAsgnmVOList, paginationInfo); - model.addAttribute("paginationInfo", paginationInfo); - - - //fee 계산하기 - //feeSum4Dp -// vEInstrAsgnmVOList = VisitEduTransUtil.transData4feeSum(vEInstrAsgnmVOList); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("vEInstrAsgnmVOList", vEInstrAsgnmVOList); - - - return "/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup"; - } - //성인강사 강의 추가신청 목록 @RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.do") diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java index 433b0f00..4bd91afd 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java @@ -129,4 +129,13 @@ public interface VEAsgnmMIXService { List findAllFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrVO); + void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO); + + void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO); + + void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO); + + VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO); + + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java index db8e4c1a..edd01056 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java @@ -231,5 +231,21 @@ public class VEAsgnmMIXDAO extends EgovAbstractDAO { public List findAllFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrVO) { return (List) list("VEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo", vEInstrVO); } + + public void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) { + delete("VEAsgnmMIXDAO.delFromVeaLctrExchn", vEInstrAsgnmVO); + } + + public void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) { + update("VEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn", vEInstrAsgnmVO); + } + + public void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO) { + update("VEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm", vEInstrAsgnmVO); + } + + public VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO) { + return (VEInstrAsgnmVO) select("VEAsgnmMIXDAO.findByExchnOrdFromVeaLctrExchnInfo", vEInstrAsgnmVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java index 31c191d7..197006fb 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java @@ -215,5 +215,26 @@ public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService { public List findAllFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrVO) { return vEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo(vEInstrVO); } + + @Override + public void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) { + vEAsgnmMIXDAO.delFromVeaLctrExchn(vEInstrAsgnmVO); + + } + + @Override + public void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) { + vEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn(vEInstrAsgnmVO); + } + + @Override + public void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO) { + vEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm(vEInstrAsgnmVO); + } + + @Override + public VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO) { + return vEAsgnmMIXDAO.findByExchnOrdFromVeaLctrExchnInfo(vEInstrAsgnmVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java index 3c2bed90..ba61061a 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java @@ -46,6 +46,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; @Controller @@ -162,12 +163,16 @@ public class VEAsgnmController { paginationInfo = this.setPagingStep3(vEInstrAsgnmVOList, paginationInfo); model.addAttribute("paginationInfo", paginationInfo); + System.out.println("==="); + System.out.println("==="); + System.out.println("==="); // 교환상태 확인 vEInstrAsgnmVOList.stream().forEach(t-> { if("20".equals(t.getAsgnmAprvlCd())) { VEInstrAsgnmVO veaLctrExchnInfo = vEAsgnmMIXService.findByEduAplctOrdAndEduChasiOrdFromVeaLctrExchnInfo(t); if(veaLctrExchnInfo != null) { + t.setInstrNm(egovCryptoUtil.decrypt(veaLctrExchnInfo.getInstrNm())); t.setExchnOrd(veaLctrExchnInfo.getExchnOrd()); t.setExchnCd(veaLctrExchnInfo.getExchnCd()); } @@ -280,7 +285,114 @@ public class VEAsgnmController { return "/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup"; } + /** + * 강의교환 신청취소 + */ + @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/delFromVeaLctrExchn.do") + public ModelAndView userConfirmAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , 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; + } + + try { + vEAsgnmMIXService.delFromVeaLctrExchn(vEInstrAsgnmVO); + + modelAndView.addObject("result", "success"); + modelAndView.addObject("msg", "교환신청을 취소하였습니다"); + return modelAndView; + + } catch (Exception e) { + + return modelAndView; + } + + + + } + /** + * @methodName : userConfirmAjax + * @author : 이호영 + * @date : 2024.01.04 + * @description : 강의교환 완료 처리 + * @param vEInstrAsgnmVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/insertVeaLctrExchnCmpltAjax.do") + public ModelAndView insertVeaLctrExchnCmpltAjax( + @ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + vEInstrAsgnmVO.setLastUpdusrId(loginVO.getUniqId()); + System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getEduAplctOrd()); + System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getEduChasiOrd()); + System.out.println("vEInstrAsgnmVO To:: "+ vEInstrAsgnmVO.getToEduAplctOrd()); + System.out.println("vEInstrAsgnmVO To:: "+ vEInstrAsgnmVO.getToEduChasiOrd()); + System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getExchnOrd()); + + try { + // 강의교환 테이블 udpate + vEAsgnmMIXService.udpateToEduAplctOrdFromVeaLctrExchn(vEInstrAsgnmVO); + + // 강의교환 정보를 가져옴 + // userId와 toUserId가져오기 위함 + VEInstrAsgnmVO vEInstrAsgnmInfoVO = vEAsgnmMIXService.findByExchnOrdFromVeaLctrExchnInfo(vEInstrAsgnmVO); + // to_user_id 를 user_id 로 치환 + // where EDU_APLCT_ORD, EDU_CHASI_ORD + VEInstrAsgnmVO updateVO = new VEInstrAsgnmVO(); + updateVO.setEduAplctOrd(vEInstrAsgnmInfoVO.getEduAplctOrd()); + updateVO.setEduChasiOrd(vEInstrAsgnmInfoVO.getEduChasiOrd()); + updateVO.setUserId(vEInstrAsgnmInfoVO.getToUserId()); + vEAsgnmMIXService.updateveUserIdFromEduChasiInstrAsgnm(updateVO); + + updateVO.setEduAplctOrd(vEInstrAsgnmInfoVO.getToEduAplctOrd()); + updateVO.setEduChasiOrd(vEInstrAsgnmInfoVO.getToEduChasiOrd()); + updateVO.setUserId(vEInstrAsgnmInfoVO.getUserId()); + vEAsgnmMIXService.updateveUserIdFromEduChasiInstrAsgnm(updateVO); + + + modelAndView.addObject("result", "success"); + modelAndView.addObject("msg", "교환신청을 취소하였습니다"); + return modelAndView; + + } catch (Exception e) { + + return modelAndView; + } + + + + } @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListPopup.do") diff --git a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml index b6320a31..1d604264 100644 --- a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml @@ -4971,44 +4971,124 @@ + + + + DELETE from + VEA_LCTR_EXCHN + where + EXCHN_ORD = #exchnOrd# + + + + + + /* VEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn */ + + UPDATE + VEA_LCTR_EXCHN + SET + TO_EDU_APLCT_ORD = #toEduAplctOrd# + , TO_EDU_CHASI_ORD = #toEduChasiOrd# + , EXCHN_CD = '20' + , LAST_UPDT_PNTTM = SYSDATE + , LAST_UPDUSR_ID = #lastUpdusrId# + where + EXCHN_ORD = #exchnOrd# + + + + + /* VEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm */ + + UPDATE + ve_edu_chasi_instr_asgnm + SET + user_id = #userId# + where + EDU_APLCT_ORD = #eduAplctOrd# + AND EDU_CHASI_ORD = #eduChasiOrd# + + + + + +
+ +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.jsp index feab136c..227d5447 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.jsp @@ -37,7 +37,7 @@ function fncScholList(paramObj) { } commonPopLayeropen( - "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do" + "${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do" , 800 , 800 , paramObj @@ -46,33 +46,35 @@ function fncScholList(paramObj) { ); } - function fcnCallData(toUserId) { + function fn_eduRegPopup(eduAplctOrd, eduChasiOrd) { - document.reqForm.toUserId.value = toUserId; + document.reqForm.toEduAplctOrd.value = eduAplctOrd; + document.reqForm.toEduChasiOrd.value = eduChasiOrd; var data = new FormData(document.getElementById("reqForm")); - if(confirm("강의교환을 신청하시겠습니까?")){ - $.ajax({ - type: "POST", - url:"", - data: data, - dataType:'json', - async: false, - processData: false, - contentType: false, - cache: false, - success: function (returnData, status) { - if(status == 'success'){ - alert("완료되었습니다.."); - location.reload(); - } else if(status== 'fail'){ - alert("처리에 실패하였습니다."); - } - }, - error: function (e) { alert("처리에 실패하였습니다."); console.log("ERROR : ", e); } - }); - } + + if(!confirm("강의교환신청을 완료 처리 하시겠습니까?")) return; + $.ajax({ + type: "POST", + url:"", + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success: function (returnData, status) { + if(status == 'success'){ + alert("완료되었습니다."); + location.reload(); + } else if(status== 'fail'){ + alert("처리에 실패하였습니다."); + } + }, + error: function (e) { alert("처리에 실패하였습니다."); console.log("ERROR : ", e); } + }); + } @@ -80,14 +82,15 @@ function fncScholList(paramObj) {
- - - " /> - " /> + " /> + " /> + + + " />
- + @@ -212,7 +215,7 @@ function fncScholList(paramObj) { - +