From 54048455a815261c81e1aac7de4d25c6b000dd9f Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 10 Oct 2023 15:29:07 +0900 Subject: [PATCH] =?UTF-8?q?2023-10-10=2015:28=20=EA=B0=95=EC=9D=98?= =?UTF-8?q?=EC=A1=B0=EC=82=AC=20=EB=82=B4=EC=9A=A9=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/kcc/com/cmm/util/DateUtil.java | 6 + .../instrInfo/web/InstrPrflController.java | 3 +- .../web/lctrTngrInfoStngController.java | 6 +- .../web/OprtnInstrTngrPrflContoller.java | 10 +- .../web/AdvOprtnLctrRsrchTngrContoller.java | 234 ++++++++ .../web/OprtnLctrRsrchTngrContoller.java | 111 +++- .../sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml | 15 +- .../ve/instr/VEInstr_MIX_SQL_Tibero.xml | 57 +- .../ve/lctr/VELctrAreaMng_SQL_Tibero.xml | 8 +- .../sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml | 2 +- .../ve/lctr/VELctrRsrchMng_SQL_Tibero.xml | 95 ++- .../ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml | 8 +- .../sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml | 13 +- .../ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml | 39 +- .../ve/tngr/VEAAreaLctrStng_SQL_Tibero.xml | 3 +- .../oprtn/tngrVisitEdu/lctrRsrchMngDetail.jsp | 2 + .../oprtn/tngrVisitEdu/lctrRsrchMngList.jsp | 211 ++++++- .../popup/advLctrRsrchStngMngPopup.jsp | 548 ++++++++++++++++++ .../popup/advRndsStngMngPopup.jsp | 4 +- 19 files changed, 1286 insertions(+), 89 deletions(-) create mode 100644 src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/AdvOprtnLctrRsrchTngrContoller.java create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.jsp diff --git a/src/main/java/kcc/com/cmm/util/DateUtil.java b/src/main/java/kcc/com/cmm/util/DateUtil.java index 4ae69f21..352ecfe5 100644 --- a/src/main/java/kcc/com/cmm/util/DateUtil.java +++ b/src/main/java/kcc/com/cmm/util/DateUtil.java @@ -222,4 +222,10 @@ public final class DateUtil { LocalDate date = LocalDate.parse(p_date, formatter); return date; } + + public static LocalDate getStringToLocalDateDot(String p_date) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + LocalDate date = LocalDate.parse(p_date, formatter); + return date; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/web/InstrPrflController.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/web/InstrPrflController.java index b995bf1c..fee9bb03 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/web/InstrPrflController.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/instrInfo/web/InstrPrflController.java @@ -278,7 +278,8 @@ public class InstrPrflController { //강의조사 기간 여부 VELctrDetailVO vELctrDetailVO = new VELctrDetailVO(); - vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt"); + //vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt"); + vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt"); vELctrDetailVO = vELctrRsrchMngService.selectDetailWithQuery(vELctrDetailVO); model.addAttribute("vELctrDetailVO", vELctrDetailVO); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/web/lctrTngrInfoStngController.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/web/lctrTngrInfoStngController.java index a827609e..5b137590 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/web/lctrTngrInfoStngController.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/lctrInfo/web/lctrTngrInfoStngController.java @@ -154,7 +154,8 @@ public class lctrTngrInfoStngController { //2.오늘이 선택해서 들어온 강의조사의 기간 여부 체크 //날짜 표시 및 제출 버튼 노출 에 사용 VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO(); - vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + //vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt " + " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' " + " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' "); //vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO); @@ -333,7 +334,8 @@ public class lctrTngrInfoStngController { //2.오늘이 선택해서 들어온 강의조사의 기간 여부 체크 VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO(); - vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + //vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt " + " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' " + " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' "); //vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO); diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java index f0a58f79..69581ead 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/instrInfo/web/OprtnInstrTngrPrflContoller.java @@ -1735,8 +1735,8 @@ public class OprtnInstrTngrPrflContoller { t_vEInstrDetailVO.setAprvlCd(vEInstrDetailVO.getAprvlCd()); t_vEInstrDetailVO.setFirstIndex(0); - List selectAsgnmInfoT2List = vEInstrMixService.selectAsgnmInfoT2(t_vEInstrDetailVO); - model.addAttribute("asgnmInfoT2List",selectAsgnmInfoT2List); + //List selectAsgnmInfoT2List = vEInstrMixService.selectAsgnmInfoT2(t_vEInstrDetailVO); + //model.addAttribute("asgnmInfoT2List",selectAsgnmInfoT2List); return "/oprtn/tngrVisitEdu/instrMngDetail"; } @@ -1800,7 +1800,8 @@ public class OprtnInstrTngrPrflContoller { //강의조사 기간 여부 VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO(); - vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + //vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYY.MM.DD') BETWEEN rsrch_strt_dt and rsrch_end_dt " + " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' " + " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' "); //vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO); @@ -1953,7 +1954,8 @@ public class OprtnInstrTngrPrflContoller { //강의조사 기간 여부 VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO(); - vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + //vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt " + vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt " + " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' " + " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' "); //vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO); diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/AdvOprtnLctrRsrchTngrContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/AdvOprtnLctrRsrchTngrContoller.java new file mode 100644 index 00000000..be5b78df --- /dev/null +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/AdvOprtnLctrRsrchTngrContoller.java @@ -0,0 +1,234 @@ +package kcc.ve.oprtn.instr.tngrVisitEdu.lctrRsrch.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.com.cmm.EgovMessageSource; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.EgovFileMngUtil; +import kcc.com.utl.user.service.CheckAdrProcessUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.kccadr.accdnt.acd.service.AdjstChangeDateService; +import kcc.kccadr.adjPgrMgr.cclt.service.ConciliatorManageService; +import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; +import kcc.let.utl.fcc.service.VEPagingUtil; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrAreaService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrMIXService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrPrfrnService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrRsrchMngService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrStngService; +import kcc.ve.instr.tngrVisitEdu.rsdncInfo.service.VERsdncMIXService; + +/** + * OprtnLctrRsrchTngrContoller.java + * 청소년 강의 조사 관리 + * 강의 조사 관리 controller 클래스를 정의한다. + * @author 이지우 + * @since 2021.12.07 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.23  이지우          최초 생성
+ *
+ * 
+ */ + +@Controller +public class AdvOprtnLctrRsrchTngrContoller { + + private static final Logger LOGGER = LoggerFactory.getLogger(AdvOprtnLctrRsrchTngrContoller.class); + + @Resource(name = "conciliatorManageService") + private ConciliatorManageService conciliatorManageService; + + // eGov 공통 메세지 + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //파일정보의 관리 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + //파일 처리 egov + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil egovFileMngUtil; + + //파일 처리 egov + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileMngService; + + + @Resource(name="adjstChangeDateService") + private AdjstChangeDateService adjstChangeDateService; + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + // 교육신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + + //강사 정보 + @Resource(name="vEInstrService") + private VEInstrService vEInstrService; + + //강사상세 정보 + @Resource(name="vEInstrDetailService") + private VEInstrDetailService vEInstrDetailService; + + //강사MIX 정보 + @Resource(name="vEInstrMixService") + private VEInstrMixService vEInstrMixService; + + //강의설정 + @Resource(name = "vELctrStngService") + private VELctrStngService vELctrStngService; + + //강의설정 MIX + @Resource(name = "vELctrMIXService") + private VELctrMIXService vELctrMIXService; + + //강의지역 + @Resource(name = "vELctrAreaService") + private VELctrAreaService vELctrAreaService; + + //강의지역 MIX + @Resource(name = "vERsdncMIXService") + private VERsdncMIXService vERsdncMIXService; + + //강의선호 + @Resource(name = "vELctrPrfrnService") + private VELctrPrfrnService vELctrPrfrnService; + + //VO 암/복호화 + @Resource(name="egovCryptoUtil4VO") + private EgovCryptoUtil4VO egovCryptoUtil4VO; + + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + //강의설정 ID + @Resource(name = "lctrStngGnrService") + private EgovIdGnrService lctrStngGnrService; + + //강의지역 ID + @Resource(name = "lctrAreaGnrService") + private EgovIdGnrService lctrAreaGnrService; + + //강의선호 ID + @Resource(name = "prfrnTrgtGnrService") + private EgovIdGnrService prfrnTrgtGnrService; + + //강사신청 임의 ID + @Resource(name = "instrTempGnrService") + private EgovIdGnrService instrTempGnrService; + + // 페이지 유틸 + @Resource(name = "vEPagingUtil") + private VEPagingUtil vEPagingUtil; + + // 강의 조사 + @Resource(name = "vELctrRsrchMngService") + private VELctrRsrchMngService vELctrRsrchMngService; + + //강의설정 관리 + @Resource(name = "vEAStngService") + private VEAStngService vEAStngService; + + /** + * 강의조사관리 기간 설정 팝업 + */ + @RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.do") + public String advRndsStngMngPopup( + @ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO + , @ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; + + //로그인 처리==================================== + + + try { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + vEAStngVO.setFrstRegisterId(loginVO.getUniqId()); + + //등록된 해당 년도의 회차리스트 정보 가져오기 + List selectBasicList = vEAStngService.selectList_VEALRS(vEAStngVO); + + model.addAttribute("selectBasicList", selectBasicList); + + + //년도 정보 + //VELctrDetailVO vELctrDetailVO = new VELctrDetailVO(); + List selectStngYrList = vELctrMIXService.selectStngYrList(vELctrDetailVO); + model.addAttribute("selectStngYrList", selectStngYrList); + + //월 정보 + List selectStngMntList = vELctrMIXService.selectStngMntList(vELctrDetailVO); + model.addAttribute("selectStngMntList", selectStngMntList); + + //선택된 조사기간 정보 + //vELctrDetailVO.setStngYrMnt(stngYrMnt); + List selectVELctrDetailVOList = vELctrRsrchMngService.selectList(vELctrDetailVO); + //List selectVELctrDetailVOList = vELctrRsrchMngService.selectPagingList(vELctrDetailVO); + + if (selectVELctrDetailVOList.size()>0) { + model.addAttribute("selectVELctrDetailVO", selectVELctrDetailVOList.get(0)); + } + + }catch(Exception ex) + { + ex.printStackTrace(); + } + + + return "oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup"; + } + +} diff --git a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java index 77916b64..241c59a9 100644 --- a/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java +++ b/src/main/java/kcc/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/web/OprtnLctrRsrchTngrContoller.java @@ -17,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import com.ctc.wstx.util.DataUtil; - import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.EgovMessageSource; @@ -219,15 +217,22 @@ public class OprtnLctrRsrchTngrContoller { // 참여현황 참여 카운트 t.setLctrStngOrdSbmt(Long.toString(lctrStngOrdList.stream().filter(s -> StringUtils.isNotEmpty(s)).count())); - LocalDate startDate = DateUtil.getStringToLocalDate(t.getRsrchStrtDt()); - LocalDate endDate = DateUtil.getStringToLocalDate(t.getRsrchEndDt()); + LocalDate startDate = DateUtil.getStringToLocalDateDot(t.getRsrchStrtDt()); + LocalDate endDate = DateUtil.getStringToLocalDateDot(t.getRsrchEndDt()); // 진행중 체크 // 공통 코드 추가 VE0034 01 : 진행전, 02 : 진행중, 03 : 마감 - if(nowDate.isEqual(startDate) || nowDate.isEqual(endDate)) {t.setRsrchState("02");} - else if(nowDate.isBefore(startDate)) {t.setRsrchState("01");} - else if(nowDate.isAfter(endDate)) {t.setRsrchState("03");} + System.out.println("t.getRsrchState()"); + System.out.println(t.getRsrchState()); + System.out.println(t.getRsrchState()); + + if ("".equals(t.getRsrchState()) || t.getRsrchState() ==null) { + if(nowDate.isEqual(startDate) || nowDate.isEqual(endDate)) {t.setRsrchState("02");} + else if(nowDate.isBefore(startDate)) {t.setRsrchState("01");} + else if(nowDate.isAfter(endDate)) {t.setRsrchState("03");} + } + } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -279,12 +284,13 @@ public class OprtnLctrRsrchTngrContoller { //로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt()); System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt()); System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); - + /* vELctrDetailVO.setStngYrMnt(vELctrDetailVO.getStngYrMnt().replaceAll("[.]", "")); System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa2"); try { @@ -298,6 +304,7 @@ public class OprtnLctrRsrchTngrContoller { }catch(Exception ex) { ex.printStackTrace(); } + */ System.out.println("aaaaaaaaaaaaaaaaaaaaaaaa3a"); @@ -309,9 +316,12 @@ public class OprtnLctrRsrchTngrContoller { if (selectDupDateCount.getTotCnt()<=0) { //저장 vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId()); - vELctrRsrchMngService.insert(vELctrDetailVO); + int i_ret = vELctrRsrchMngService.update(vELctrDetailVO); - modelAndView.addObject("result", "success"); + if (i_ret>0) modelAndView.addObject("result", "success"); + else modelAndView.addObject("result", "fail"); + + }else { modelAndView.addObject("result", "already"); } @@ -391,5 +401,86 @@ public class OprtnLctrRsrchTngrContoller { return "/oprtn/tngrVisitEdu/lctrRsrchMngDetail"; } + + /** + * 강의조사 요청목록 등록Ajax - + */ + @RequestMapping("lctrRsrchMngDelAjax.do") + public ModelAndView lctrRsrchMngDelAjax( + @ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt()); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt()); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); + + //저장 + vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId()); + int i_ret = vELctrRsrchMngService.delete(vELctrDetailVO); + + if (i_ret>0) modelAndView.addObject("result", "success"); + else modelAndView.addObject("result", "fail"); + + + + return modelAndView; + } + /** + * 강의조사 요청목록 상태변경Ajax - + */ + @RequestMapping("lctrRsrchMngChangeAjax.do") + public ModelAndView lctrRsrchMngChangeAjax( + @ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO + + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt()); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt()); + System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"); + + //저장 + vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId()); + + if ("03".equals(vELctrDetailVO.getRsrchState())) { + vELctrDetailVO.setRsrchState("00");//00-rest, 01-진행전,02-진행중,03-마감 + }else { + vELctrDetailVO.setRsrchState("03");//00-rest, 01-진행전,02-진행중,03-마감 + } + + + int i_ret = vELctrRsrchMngService.update(vELctrDetailVO); + + if (i_ret>0) modelAndView.addObject("result", "success"); + else modelAndView.addObject("result", "fail"); + + + + return modelAndView; + } } diff --git a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml index 190ad3ba..2a626b49 100644 --- a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml @@ -26,7 +26,7 @@ a.edu_aplct_ord AS eduAplctOrd, a.edu_chasi_ord AS eduChasiOrd, a.pnlty_cd AS pnltyCd, - 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, a.user_id AS userId @@ -63,6 +63,7 @@ + /* VEEduPnltyDAO.selectList */ SELECT ,b.schol_instt_nm AS scholInsttNm - ,DATE_FORMAT(c.edu_hope_dt,'%Y.%m.%d') AS eduHopeDt + ,TO_CHAR(c.edu_hope_dt,'YYYY.MM.DD') AS eduHopeDt ,c.strt_tm AS strtTm ,c.end_tm AS endTm ,c.lrn_tm AS lrnTm @@ -135,6 +137,7 @@ diff --git a/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml index 729e7710..fe1e6b24 100644 --- a/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml @@ -877,7 +877,12 @@ SELECT SUBSTRING(b.edu_hope_dt,1,4) AS eduHopeDt , SUM(b.chasi) chasi , d.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm - , IF(d.yr_mxmm_asgnm_tm>0, CAST(CAST(SUM(b.chasi) AS DOUBLE)/d.yr_mxmm_asgnm_tm*100 AS DOUBLE),0) AS wCnt + /* + , IF(d.yr_mxmm_asgnm_tm>0, CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER),0) AS wCnt + */ + /* + , CASE WHEN d.yr_mxmm_asgnm_tm>0 THEN CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER) ELSE 0 END AS wCnt + */ FROM ve_lctr_stng d, ve_edu_chasi_instr_asgnm c @@ -896,7 +901,7 @@ /* 배정 대상 년도를 한정 */ - AND SUBSTRING(b.edu_hope_dt,1,4)=DATE_FORMAT(NOW(),'%Y') + AND SUBSTRING(b.edu_hope_dt,1,4)=TO_CHAR(SYSDATE,'YYYY') AND d.use_yn='Y' @@ -907,13 +912,17 @@ AND b.edu_chasi_ord=c.edu_chasi_ord AND b.edu_aplct_ord=a.edu_aplct_ord - AND IFNULL(a.use_yn,'Y')='Y' + AND NVL(a.use_yn,'Y')='Y' /* 청소년 */ AND a.lctr_div_cd='10' /* 교육신청이 확정되고, 강사확정인 경우만 통계 제공 */ AND a.aprvl_cd = '60' AND c.asgnm_aprvl_cd = '30' GROUP BY SUBSTRING(b.edu_hope_dt,1,4) + , d.yr_mxmm_asgnm_tm + /* + , CASE WHEN d.yr_mxmm_asgnm_tm>0 THEN CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER) ELSE 0 END + */ @@ -932,11 +941,15 @@ , aaaa.mntSum , aaaa.instrNm + /* , IF(aaaa.userId IS NOT NULL, CONCAT('(',SUBSTRING(aaaa.userId,INSTR(aaaa.userId,'_')+1)*1,')'),'') AS userIdNum + */ + , CASE WHEN aaaa.userId IS NOT NULL THEN '('||SUBSTRING(aaaa.userId,INSTR(aaaa.userId,'_')+1)*1||')' ELSE '' AS userIdNum , aaaa.yrMxmmAsgnmTm , ROUND(aaaa.achvPer,2) achvPer , aaaa.totCnt + /* , IF(aaaa.asgnmTm1>0,CONCAT(aaaa.asgnmTm1,'(',IFNULL(bbbb.wCntMnt01,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt01,aaaa.areaCnt),')'),aaaa.asgnmTm1) AS asgnmTm1 , IF(aaaa.asgnmTm2>0,CONCAT(aaaa.asgnmTm2,'(',IFNULL(bbbb.wCntMnt02,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt02,aaaa.areaCnt),')'),aaaa.asgnmTm2) AS asgnmTm2 , IF(aaaa.asgnmTm3>0,CONCAT(aaaa.asgnmTm3,'(',IFNULL(bbbb.wCntMnt03,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt03,aaaa.areaCnt),')'),aaaa.asgnmTm3) AS asgnmTm3 @@ -948,7 +961,22 @@ , IF(aaaa.asgnmTm9>0,CONCAT(aaaa.asgnmTm9,'(',IFNULL(bbbb.wCntMnt09,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt09,aaaa.areaCnt),')'),aaaa.asgnmTm9) AS asgnmTm9 , IF(aaaa.asgnmTm10>0,CONCAT(aaaa.asgnmTm10,'(',IFNULL(bbbb.wCntMnt10,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt10,aaaa.areaCnt),')'),aaaa.asgnmTm10) AS asgnmTm10 , IF(aaaa.asgnmTm11>0,CONCAT(aaaa.asgnmTm11,'(',IFNULL(bbbb.wCntMnt11,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt11,aaaa.areaCnt),')'),aaaa.asgnmTm11) AS asgnmTm11 - , IF(aaaa.asgnmTm12>0,CONCAT(aaaa.asgnmTm12,'(',IFNULL(bbbb.wCntMnt12,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt12,aaaa.areaCnt),')'),aaaa.asgnmTm12) AS asgnmTm12 + , IF(aaaa.asgnmTm12>0,CONCAT(aaaa.asgnmTm12,'(',IFNULL(bbbb.wCntMnt12,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt12,aaaa.areaCnt),')'),aaaa.asgnmTm12) AS asgnmTm12 + */ + + , CASE WHEN aaaa.asgnmTm1>0 THEN aaaa.asgnmTm1||'('||NVL(bbbb.wCntMnt01,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt01,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm1 END AS asgnmTm1 + , CASE WHEN aaaa.asgnmTm2>0 THEN aaaa.asgnmTm2||'('||NVL(bbbb.wCntMnt02,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt02,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm2 END AS asgnmTm2 + , CASE WHEN aaaa.asgnmTm3>0 THEN aaaa.asgnmTm3||'('||NVL(bbbb.wCntMnt03,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt03,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm3 END AS asgnmTm3 + , CASE WHEN aaaa.asgnmTm4>0 THEN aaaa.asgnmTm4||'('||NVL(bbbb.wCntMnt04,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt04,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm4 END AS asgnmTm4 + , CASE WHEN aaaa.asgnmTm5>0 THEN aaaa.asgnmTm5||'('||NVL(bbbb.wCntMnt05,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt05,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm5 END AS asgnmTm5 + , CASE WHEN aaaa.asgnmTm6>0 THEN aaaa.asgnmTm6||'('||NVL(bbbb.wCntMnt06,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt06,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm6 END AS asgnmTm6 + , CASE WHEN aaaa.asgnmTm7>0 THEN aaaa.asgnmTm7||'('||NVL(bbbb.wCntMnt07,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt07,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm7 END AS asgnmTm7 + , CASE WHEN aaaa.asgnmTm8>0 THEN aaaa.asgnmTm8||'('||NVL(bbbb.wCntMnt08,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt08,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm8 END AS asgnmTm8 + , CASE WHEN aaaa.asgnmTm9>0 THEN aaaa.asgnmTm9||'('||NVL(bbbb.wCntMnt09,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt09,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm9 END AS asgnmTm9 + , CASE WHEN aaaa.asgnmTm10>0 THEN aaaa.asgnmTm10||'('||NVL(bbbb.wCntMnt10,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt10,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm10 END AS asgnmTm10 + , CASE WHEN aaaa.asgnmTm11>0 THEN aaaa.asgnmTm11||'('||NVL(bbbb.wCntMnt11,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt11,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm11 END AS asgnmTm11 + , CASE WHEN aaaa.asgnmTm12>0 THEN aaaa.asgnmTm12||'('||NVL(bbbb.wCntMnt12,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt12,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm12 END AS asgnmTm12 + FROM ( @@ -956,13 +984,25 @@ , bbb.appt_div AS apptDiv , '' lctrAreaNm , bbb.rsdne + /* , IF (ccc.mon_lctr_yn='Y',1,0) + IF (ccc.tue_lctr_yn='Y',1,0) + IF (ccc.wed_lctr_yn='Y',1,0) + IF (ccc.thu_lctr_yn='Y',1,0) + IF (ccc.fri_lctr_yn='Y',1,0) AS wCnt - , IFNULL(ddd.areaCnt,0) AS areaCnt + */ + , CASE WHEN ccc.mon_lctr_yn='Y' THEN 1 ELSE 0 END + + CASE WHEN ccc.tue_lctr_yn='Y' THEN 1 ELSE 0 END + + CASE WHEN ccc.wed_lctr_yn='Y' THEN 1 ELSE 0 END + + CASE WHEN ccc.thu_lctr_yn='Y' THEN 1 ELSE 0 END + + CASE WHEN ccc.fri_lctr_yn='Y' THEN 1 ELSE 0 END AS wCnt + + , NVL(ddd.areaCnt,0) AS areaCnt , aaa.* , bbb.instr_nm AS instrNm , ccc.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm + /* , IF (ccc.yr_mxmm_asgnm_tm=0,0,ROUND(CAST(CAST(aaa.mntSum AS DOUBLE)/ifnull(ccc.yr_mxmm_asgnm_tm,1)*100 AS DOUBLE),1)) AS achvPer + */ + , CASE WHEN ccc.yr_mxmm_asgnm_tm=0 THEN 0 + ELSE ROUND(CAST(CAST(aaa.mntSum AS DOUBLE)/NVL(ccc.yr_mxmm_asgnm_tm,1)*100 AS DOUBLE),1) END AS achvPer , COUNT(1) OVER() AS totCnt FROM ( SELECT user_id AS userId , CAST(SUM(IF(mnt='01',chasi,0)) AS INT) AS asgnmTm1 , @@ -1122,7 +1162,7 @@ - ORDER BY 1=1 + ORDER BY 1 , aaaa.userId @@ -1130,7 +1170,10 @@ , $orderByQuery$ - LIMIT #recordCountPerPage# OFFSET #firstIndex# + /* + LIMIT recordCountPerPage OFFSET firstIndex + */ + OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; diff --git a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Tibero.xml index 6404ae29..888f20fc 100644 --- a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Tibero.xml @@ -741,7 +741,7 @@ - ORDER BY 1=1 + ORDER BY 1 , a.area_cd desc @@ -750,8 +750,10 @@ , $orderByQuery$ - - LIMIT #recordCountPerPage# OFFSET #firstIndex# + /* + LIMIT recordCountPerPage OFFSET firstIndex + */ + OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; diff --git a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml index 34044bc8..2de3ad24 100644 --- a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml @@ -211,7 +211,7 @@ - - UPDATE - - SET - - last_updt_pnttm=now() - , last_updusr_id=#lastUpdusrId# - - - , rsrch_strt_dt = #rsrchStrtDt# - - - , rsrch_end_dt = #rsrchEndDt# - - + + + /* VELctrRsrchMngDAO.update */ + MERGE INTO + USING DUAL + ON(rsrch_instr_div = #rsrchInstrDiv# + AND stng_yr_mnt = #stngYrMnt#) + WHEN NOT MATCHED THEN + INSERT + ( + + ) + VALUES( + + #rsrchInstrDiv#, + #stngYrMnt#, + + #rsrchStrtDt#, + #rsrchEndDt#, + + + SYSDATE, + #frstRegisterId#, + NULL, + NULL + + ) + WHEN MATCHED THEN + UPDATE + SET last_updt_pnttm = SYSDATE + , last_updusr_id = #frstRegisterId# + + + , rsrch_strt_dt = #rsrchStrtDt# + + + + , rsrch_end_dt = #rsrchEndDt# + + + + + , lctr_rsrch_state = null + + + , lctr_rsrch_state = #rsrchState# + - WHERE - rsrch_instr_div = #rsrchInstrDiv# - AND stng_yr_mnt = #stngYrMnt# + + /* VELctrRsrchMngDAO.delete */ DELETE FROM WHERE rsrch_instr_div = #rsrchInstrDiv# - AND stng_yr = #stngYr# AND stng_yr_mnt = #stngYrMnt# @@ -146,11 +178,16 @@ WHERE 1=1 + + AND a.stng_yr_mnt = #stngYrMnt# + + + $selectPagingListQuery$ - ORDER BY 1=1 + ORDER BY 1 , a.stng_yr_mnt desc @@ -226,13 +263,15 @@ , dddd.instr_div AS instrDiv , dddd.instr_detail_ord AS instrDetailOrd + /* , (SELECT f.one_depth_nm FROM ve_rsdnc f WHERE f.post_id = MAX(eeee.area_cd) GROUP BY f.one_depth_nm ) AS lctrAreaNm - , COUNT(eeee.area_cd) AS lctrAreaCnt + , COUNT(eeee.area_cd) AS lctrAreaCnt + */ FROM ( SELECT aaa.rsrch_instr_div @@ -244,6 +283,7 @@ , aaa.user_id , aaa.qlfct_end_yn , ccc.lctr_stng_ord + /* , IF(NVL(ccc.sun_lctr_yn, ddd.sun_lctr_yn)='Y',1,0) + IF(NVL(ccc.mon_lctr_yn, ddd.mon_lctr_yn)='Y',1,0) + IF(NVL(ccc.tue_lctr_yn, ddd.tue_lctr_yn)='Y',1,0) @@ -251,6 +291,16 @@ + IF(NVL(ccc.thu_lctr_yn, ddd.thu_lctr_yn)='Y',1,0) + IF(NVL(ccc.fri_lctr_yn, ddd.fri_lctr_yn)='Y',1,0) + IF(NVL(ccc.sat_lctr_yn, ddd.sat_lctr_yn)='Y',1,0) AS w_cnt + */ + + , CASE WHEN NVL(ccc.sun_lctr_yn, ddd.sun_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.mon_lctr_yn, ddd.mon_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.tue_lctr_yn, ddd.tue_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.wed_lctr_yn, ddd.wed_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.thu_lctr_yn, ddd.thu_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.fri_lctr_yn, ddd.fri_lctr_yn)='Y' THEN 1 ELSE 0 END + + CASE WHEN NVL(ccc.sat_lctr_yn, ddd.sat_lctr_yn)='Y' THEN 1 ELSE 0 END + AS w_cnt , ddd.lctr_stng_ord AS other_lctr_stng_ord , ddd.instr_div , aaa.instr_detail_ord @@ -345,6 +395,7 @@ , dddd.w_cnt , dddd.other_lctr_stng_ord , dddd.instr_div + , dddd.instr_detail_ord diff --git a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml index 951e035b..5aeba9ae 100644 --- a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml @@ -39,9 +39,9 @@ a.lctr_stng_ord AS lctrStngOrd, - 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.strt_dt AS strtDt, @@ -85,7 +85,7 @@ - /* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 */ + /* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 VELctrRsrchSbmtDAO.selectDetailNew */ /* 순번데이터 없이 해당 조사 제출을 한 강사 정보가 있는지 확인 하는 것임 since 2023.07.25 */ SELECT diff --git a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml index b15e1461..2397a518 100644 --- a/src/main/resources/egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml @@ -90,9 +90,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, a.use_yn AS useYn, @@ -229,7 +229,7 @@ - ORDER BY 1=1 + ORDER BY 1 , a.user_id desc @@ -239,7 +239,10 @@ - LIMIT #recordCountPerPage# OFFSET #firstIndex# + /* + LIMIT recordCountPerPage OFFSET firstIndex + */ + OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY; @@ -282,7 +285,7 @@ UNION ALL SELECT '12' )bb WHERE 1=1 - AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 month),'%Y%m')>=CONCAT(aa.stndrd_yr,bb.stndrd_mnt) + AND TO_CHAR(DATE_ADD(SYSDATE, INTERVAL 1 month),'YYYYMM')>=aa.stndrd_yr||bb.stndrd_mnt ORDER BY CONCAT(aa.stndrd_yr,bb.stndrd_mnt) DESC diff --git a/src/main/resources/egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml index 8179c762..35b7eef4 100644 --- a/src/main/resources/egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml @@ -70,13 +70,16 @@ /* 강의 지역 - Depth 2 */ SELECT aa.* - , IFNULL(bb.area_cd, 0) cnt + , NVL(bb.area_cd, 0) cnt FROM ( SELECT one_depth_nm AS oneDepthNm /* , a.two_depth_nm AS twoDepthNm */ - , IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm + /* + , IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm + */ + , CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END AS twoDepthNm , MAX(post_id) postId FROM ve_rsdnc a WHERE 1=1 @@ -141,13 +153,19 @@ GROUP BY one_depth_nm + /* , IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) + */ + , CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END /* , a.two_depth_nm */ ORDER BY one_depth_nm + /* , IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) + */ + , CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END /* , a.two_depth_nm */ @@ -202,15 +220,18 @@ - - + /* VEAAreaLctrStngDAO.update */ MERGE INTO USING DUAL diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngDetail.jsp index 198c16e2..c526228b 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngDetail.jsp @@ -319,6 +319,8 @@ --> + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp index 7e6613d7..af6fb390 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/lctrRsrchMngList.jsp @@ -132,6 +132,146 @@ }); } } + + //강의조사요청관리 팝업 + function fncLctrRsrchStng() { + //var p_stngYr = $("#stngYr").val(); + + /* + if(p_stngYr==''){ + alert("회차관리 대상 년도를 선택해주세요."); + return false; + } + */ + //document.listForm.yr.value = p_stngYr; + + //document.listForm.authorCode.value = vAuthorCode; + //document.listForm.action = ""; + document.listForm.action = ""; + + window.open("#", "_lctrRsrchPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px"); + document.listForm.target = "_lctrRsrchPop"; + document.listForm.submit(); + } + + //강의조사요청관리 팝업 + function fncLctrRsrchDetailStng( + /* + p_stngYr + , p_stngMnt + , p_stngYrMnt + */ + p_stngYrMnt + ) { + + //alert(p_stngYrMnt.substring(0,4)); + //alert(p_stngYrMnt.substring(4,6)); + + //return; + document.listForm.stngYr.value = p_stngYrMnt.substring(0,4); + document.listForm.stngMnt.value = p_stngYrMnt.substring(4,6); + document.listForm.stngYrMnt.value = p_stngYrMnt; + + //document.listForm.authorCode.value = vAuthorCode; + //document.listForm.action = ""; + document.listForm.action = ""; + + window.open("#", "_lctrRsrchPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px"); + document.listForm.target = "_lctrRsrchPop"; + document.listForm.submit(); + } + + //강의조사 요청 삭제 + function fncLctrRsrchDelete( + p_instrDiv + , p_stngYrMnt + ){ + + //var p_rgstrPsblTm = $(thisObj).closest("td").find("input[name=rgstrPsblTm]").val(); + //var p_stngYr = $("#stngYr").val(); + //var p_prdDivCd = $("#prdDivCd").val(); + //var p_instrDiv = $("input[name=instrDiv]").val(); + //var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val(); + + //alert(p_areaCd); + + if(confirm("강의조사 일정을 삭제하시겠습니까?")){ + //동일한 값은 업데이트로 수정 + $.ajax({ + type:"POST", + url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/lctrRsrchMngDelAjax.do", + data:{ + "rsrchInstrDiv" : p_instrDiv, + "stngYrMnt" : p_stngYrMnt, + }, + dataType:'json', + + //async: false, + //processData: false, + //contentType: false, + cache: false, + + success:function(returnData){ + if(returnData.result == "success"){ + alert("삭제 되었습니다."); + location.reload(); + + }else{ + alert("삭제 중 오류가 발생하였습니다."); + } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } + } + + //강의조사 마감 처리 + function fncLctrRsrchChgState( + p_instrDiv + , p_stngYrMnt + , p_rsrchState + ){ + + //var p_rgstrPsblTm = $(thisObj).closest("td").find("input[name=rgstrPsblTm]").val(); + //var p_stngYr = $("#stngYr").val(); + //var p_prdDivCd = $("#prdDivCd").val(); + //var p_instrDiv = $("input[name=instrDiv]").val(); + //var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val(); + + //if(confirm("강의조사 일정을 삭제하시겠습니까?")){ + //동일한 값은 업데이트로 수정 + $.ajax({ + type:"POST", + url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/lctrRsrchMngChangeAjax.do", + data:{ + "rsrchInstrDiv" : p_instrDiv, + "stngYrMnt" : p_stngYrMnt, + "rsrchState" : p_rsrchState, + }, + dataType:'json', + + //async: false, + //processData: false, + //contentType: false, + cache: false, + + success:function(returnData){ + if(returnData.result == "success"){ + alert("처리 되었습니다."); + location.reload(); + + }else{ + alert("처리 중 오류가 발생하였습니다."); + } + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + //} + } 강의조사 요청목록 @@ -141,6 +281,8 @@ " /> " /> + + @@ -162,6 +304,7 @@
+ +
+
+
+
+
+
+ + + + +
+
+
+
- - - - + + + + + @@ -237,23 +400,28 @@ + - ', '');" style="cursor:pointer;"> +<%-- ', '');" style="cursor:pointer;"> --%> + + - +
조사마감일 참여현황 마감여부관리
- - + ${list.stngYrMnt} +<%-- --%> +<%-- --%> - - + ${list.rsrchStrtDt} +<%-- --%> +<%-- --%> - - + ${list.rsrchEndDt} +<%-- --%> +<%-- --%> @@ -263,10 +431,29 @@ +<%-- --%> + + + + + + + + + +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.jsp new file mode 100644 index 00000000..23467d69 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.jsp @@ -0,0 +1,548 @@ + +<%@ 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"%> +<% + /** + * @Class Name : advLctrRsrchStngMngPopup.jsp + * @Description : 강의조사관리 팝업 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2021.08.09 김봉호 최초 생성 + * @author 김봉호 + * @since 2021.08.21 + * @version 1.0 + * @see + * + */ +%> + + + + + + + + + + + + + + 신청반려팝업 + + + + +
+ + + +
+ + +
+

강의조사요청관리

+
+ + +
+ + +"> +"> +"> +"> +"> +"> + + + + + + + + + + + + + + +
+

필수입력 항목

+

+ + + + + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
조사시작일조사마감일관리
+
+ 년 + 월 +
+ +
+
+
+ "> +
+
+
+
+ +
+ "> +
+ +
+
+
+
+ +
+
+
+ + +
+ + + +
+ + +
+
+
+
+ + +
+
+
+
+ +
+ + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.jsp index 5dd9892e..23b4d8ed 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.jsp @@ -9,8 +9,8 @@ <%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> <% /** - * @Class Name : advRndsStngMngPopup.jsp - * @Description : 강의회차관리 팝업 + * @Class Name : advLctrRsrchStngMngPopup.jsp + * @Description : 강의조사관리 팝업 * @Modification Information * @ * @ 수정일 수정자 수정내용