From 86303a875578071a603f86ce5067803b8cccdf84 Mon Sep 17 00:00:00 2001 From: ijunho Date: Thu, 23 Oct 2025 16:10:16 +0900 Subject: [PATCH 1/2] Merge branch 'master_tolag3' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit faq 개발 --- .../impl/EgovUserManageServiceImpl.java | 27 ++- .../aplct/cmdTrgt/web/CmdTrgtController.java | 26 ++- .../aplct/prevent/web/PreventController.java | 23 ++- .../sspnIdtmt/web/SspnIdtmtController.java | 25 ++- src/main/java/kcc/ve/cmm/VeConstants.java | 15 ++ .../prcsInfo/service/VEPrcsService.java | 3 + .../prcsInfo/service/impl/VEPrcsDAO.java | 9 + .../service/impl/VEPrcsServiceImpl.java | 13 ++ .../trgtMng/web/CmdTrgtMngController.java | 155 ++++++++++++++++++ .../trgtMng/web/CndtnTrgtMngController.java | 152 +++++++++++++++++ .../prevent/web/PreventNewMngController.java | 155 ++++++++++++++++++ .../spring/com/context-security.xml | 6 + .../sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml | 2 +- .../mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml | 2 +- .../sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml | 2 +- .../sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml | 2 +- .../sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml | 2 +- .../sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml | 40 +++++ .../jsp/cmm/uss/umt/EgovUserInsert.jsp | 9 +- .../jsp/web/ve/aplct/cmdTrgt/eduFAQList.jsp | 8 +- .../jsp/web/ve/aplct/prevent/eduFAQList.jsp | 8 +- .../jsp/web/ve/aplct/sspnIdtmt/eduFAQList.jsp | 8 +- 22 files changed, 647 insertions(+), 45 deletions(-) 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 e6df058d..18fc3904 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 @@ -357,7 +357,13 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement userManageVO.setUniqId(uniqId); String pass = "1"; - if("ROLE_ADMIN".equals(userManageVO.getAuthorCode()) || "ROLE_VISIT".equals(userManageVO.getAuthorCode())){ + if( + "ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고 관리자 + || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 + || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 + || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + ){ //패스워드 암호화 //pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); @@ -368,8 +374,13 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement userManageVO.setEmplyrSttusCode("P"); //강제승인 - if( !("ROLE_ADMIN".equals(userManageVO.getAuthorCode()) - || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) )) { + if( !( + "ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고 관리자 + || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 + || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 + || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + )) { userManageDAO.insertOffeudUser(userManageVO); }else { @@ -380,8 +391,14 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement authorGroup.setUniqId(uniqId); authorGroup.setAuthorCode(userManageVO.getAuthorCode()); //authorGroup.setAuthorCode("ROLE_ADMIN"); - if(!"ROLE_ADMIN".equals(userManageVO.getAuthorCode()) - || !"ROLE_VISIT".equals(userManageVO.getAuthorCode())){ + if(!( + "ROLE_ADMIN".equals(userManageVO.getAuthorCode()) //최고 관리자 + || "ROLE_VISIT".equals(userManageVO.getAuthorCode()) //찾교 관리자 + || "ROLE_ADR_JRSDC".equals(userManageVO.getAuthorCode()) //기소유예관할 + || "ROLE_ADR_KIPO".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + || "ROLE_ADR_PREV".equals(userManageVO.getAuthorCode()) //부정경쟁행위 시정명령 + ) + ){ authorGroup.setMberTyCode("GNR"); }else { diff --git a/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java b/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java index 20013dd1..4735c841 100644 --- a/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java +++ b/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java @@ -1,6 +1,7 @@ package kcc.ve.aplct.cmdTrgt.web; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -1250,14 +1251,23 @@ public class CmdTrgtController { notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); } - //FAQ 조회 - BoardVO boardVO = new BoardVO(); - boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID - boardVO.setFirstIndex(0); //페이징 미처리 - boardVO.setRecordCountPerPage(1000); //페이징 미처리 - Map map = bbsMngService.selectBoardArticlesWeb(boardVO, null); - List resultList = (List)map.get("resultList"); - model.addAttribute("FAQList", resultList); + //FAQ 조회 + VEPrcsDetailVO vEPrcsDetailVO2 = new VEPrcsDetailVO(); + vEPrcsDetailVO2.setLctrDivCd(VeConstants.LCTR_DIV_CD_75); + vEPrcsDetailVO2.setFirstIndex(0); + vEPrcsDetailVO2.setRecordCountPerPage(10000); + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO2); + + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + vEPrcsDetailVOList.forEach(t -> { + LocalDateTime ldt = LocalDateTime.parse(t.getFrstRegistPnttm(), dtf); + String dateOnly = ldt.format(outputFormatter); + t.setFrstRegistPnttm(dateOnly); + }); + + model.addAttribute("FAQList", vEPrcsDetailVOList); + //Q&A 조회 vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //기소유예 구분값 diff --git a/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java b/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java index 3b308e63..a39d2f25 100644 --- a/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java +++ b/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java @@ -1,6 +1,7 @@ package kcc.ve.aplct.prevent.web; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -1251,13 +1252,21 @@ public class PreventController { } //FAQ 조회 - BoardVO boardVO = new BoardVO(); - boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID - boardVO.setFirstIndex(0); //페이징 미처리 - boardVO.setRecordCountPerPage(1000); //페이징 미처리 - Map map = bbsMngService.selectBoardArticlesWeb(boardVO, null); - List resultList = (List)map.get("resultList"); - model.addAttribute("FAQList", resultList); + VEPrcsDetailVO vEPrcsDetailVO2 = new VEPrcsDetailVO(); + vEPrcsDetailVO2.setLctrDivCd(VeConstants.LCTR_DIV_CD_85); + vEPrcsDetailVO2.setFirstIndex(0); + vEPrcsDetailVO2.setRecordCountPerPage(10000); + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO2); + + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + vEPrcsDetailVOList.forEach(t -> { + LocalDateTime ldt = LocalDateTime.parse(t.getFrstRegistPnttm(), dtf); + String dateOnly = ldt.format(outputFormatter); + t.setFrstRegistPnttm(dateOnly); + }); + + model.addAttribute("FAQList", vEPrcsDetailVOList); //Q&A 조회 vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //기소유예 구분값 diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java index f10e1228..6912ed6f 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -1,6 +1,7 @@ package kcc.ve.aplct.sspnIdtmt.web; import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; @@ -1241,14 +1242,22 @@ public class SspnIdtmtController { notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); } - //FAQ 조회 - BoardVO boardVO = new BoardVO(); - boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID - boardVO.setFirstIndex(0); //페이징 미처리 - boardVO.setRecordCountPerPage(1000); //페이징 미처리 - Map map = bbsMngService.selectBoardArticlesWeb(boardVO, null); - List resultList = (List)map.get("resultList"); - model.addAttribute("FAQList", resultList); + VEPrcsDetailVO vEPrcsDetailVO2 = new VEPrcsDetailVO(); + vEPrcsDetailVO2.setLctrDivCd(VeConstants.LCTR_DIV_CD_65); + vEPrcsDetailVO2.setFirstIndex(0); + vEPrcsDetailVO2.setRecordCountPerPage(10000); + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO2); + + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + vEPrcsDetailVOList.forEach(t -> { + LocalDateTime ldt = LocalDateTime.parse(t.getFrstRegistPnttm(), dtf); + String dateOnly = ldt.format(outputFormatter); + t.setFrstRegistPnttm(dateOnly); + }); + + model.addAttribute("FAQList", vEPrcsDetailVOList); + //Q&A 조회 vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //기소유예 구분값 diff --git a/src/main/java/kcc/ve/cmm/VeConstants.java b/src/main/java/kcc/ve/cmm/VeConstants.java index 5ebec9a6..d8068b3a 100644 --- a/src/main/java/kcc/ve/cmm/VeConstants.java +++ b/src/main/java/kcc/ve/cmm/VeConstants.java @@ -43,15 +43,30 @@ public class VeConstants { */ public static final String LCTR_DIV_CD_60 = "60"; + /** + * 조건부 기소유예 Faq + */ + public static final String LCTR_DIV_CD_65 = "65"; + /** * 시정명령 */ public static final String LCTR_DIV_CD_70 = "70"; + /** + * 시정명령 Faq + */ + public static final String LCTR_DIV_CD_75 = "75"; + /** * 예방교육 */ public static final String LCTR_DIV_CD_80 = "80"; + + /** + * 예방교육 Faq + */ + public static final String LCTR_DIV_CD_85 = "85"; public static final String STATUS_CD_SBMT = "10"; // 요청 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 ed8979d9..51ffcc71 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 @@ -39,4 +39,7 @@ public interface VEPrcsService { void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO); + void updateFaqUpsert(VEPrcsDetailVO vEPrcsDetailVO); + + void deleteFaq(VEPrcsDetailVO 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 93bed127..9bfc255b 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 @@ -97,4 +97,13 @@ public class VEPrcsDAO extends EgovAbstractDAO { update("VEPrcsDAO.qnaUpdate", vEPrcsDetailVO); } + public void updateFaqUpsert(VEPrcsDetailVO vEPrcsDetailVO) { + update("VEPrcsDAO.updateFaqUpsert", vEPrcsDetailVO); + } + + public void deleteFaq(VEPrcsDetailVO vEPrcsDetailVO) { + delete("VEPrcsDAO.deleteFaq", 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 df4a90c7..6890cacc 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 @@ -85,4 +85,17 @@ public class VEPrcsServiceImpl implements VEPrcsService { vEPrcsDAO.qnaUpdate(vEPrcsDetailVO); } + @Override + public void updateFaqUpsert(VEPrcsDetailVO vEPrcsDetailVO) { + vEPrcsDAO.updateFaqUpsert(vEPrcsDetailVO); + } + + @Override + public void deleteFaq(VEPrcsDetailVO vEPrcsDetailVO) { + vEPrcsDAO.deleteFaq(vEPrcsDetailVO); + + } + + + } diff --git a/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java index bf1f5b12..11cd2653 100644 --- a/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cmdTrgtInfo/trgtMng/web/CmdTrgtMngController.java @@ -146,6 +146,10 @@ public class CmdTrgtMngController { @Resource(name = "vEEduMIXService") private VEEduMIXService vEEduMIXService; + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + /* // 교육신청 서비스단 @@ -2668,6 +2672,157 @@ public class CmdTrgtMngController { return modelAndView; } + + @RequestMapping("/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngList.do") + public String cndtnEduFaqMngList( + @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(VeConstants.LCTR_DIV_CD_75); + +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ +// String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; +// vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); +// } + + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 + vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/cmdTrgt/cndtnEduFaqMngList"; + } + + @RequestMapping("/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngDetail.do") + public String cndtnEduFaqMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + if(vEPrcsDetailVO != null && StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + //과정 조회 + VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO); + vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm())); + + model.addAttribute("info", vEPrcsQnaDetail); + } + + return "oprtn/cmdTrgt/cndtnEduFaqMngDetail"; + } + + @RequestMapping("/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngUpdateAjax.do") + public ModelAndView cndtnEduFaqMngUpdateAjax( + @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 로그인 정보 가져오기 + + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_75); + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + } + vEPrcsService.updateFaqUpsert(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + + @RequestMapping("/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngDeleteAjax.do") + public ModelAndView cndtnEduFaqMngDeleteAjax( + @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 로그인 정보 가져오기 + + vEPrcsService.deleteFaq(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // 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 32626aa2..7bfc18b3 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 @@ -141,6 +141,10 @@ public class CndtnTrgtMngController { @Resource(name = "vEEduMIXService") private VEEduMIXService vEEduMIXService; + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + /* // 교육신청 서비스단 @@ -2662,6 +2666,154 @@ public class CndtnTrgtMngController { return modelAndView; } + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.do") + public String cndtnEduFaqMngList( + @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(VeConstants.LCTR_DIV_CD_65); + +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ +// String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; +// vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); +// } + + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 + vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList"; + } + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.do") + public String cndtnEduFaqMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + if(vEPrcsDetailVO != null && StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + //과정 조회 + VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO); + vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm())); + + model.addAttribute("info", vEPrcsQnaDetail); + } + + return "oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail"; + } + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngUpdateAjax.do") + public ModelAndView cndtnEduFaqMngUpdateAjax( + @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 로그인 정보 가져오기 + + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_65); + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + } + vEPrcsService.updateFaqUpsert(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDeleteAjax.do") + public ModelAndView cndtnEduFaqMngDeleteAjax( + @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 로그인 정보 가져오기 + + vEPrcsService.deleteFaq(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/java/kcc/ve/oprtn/prevent/web/PreventNewMngController.java b/src/main/java/kcc/ve/oprtn/prevent/web/PreventNewMngController.java index 616825db..48396a95 100644 --- a/src/main/java/kcc/ve/oprtn/prevent/web/PreventNewMngController.java +++ b/src/main/java/kcc/ve/oprtn/prevent/web/PreventNewMngController.java @@ -146,6 +146,10 @@ public class PreventNewMngController { @Resource(name = "vEEduMIXService") private VEEduMIXService vEEduMIXService; + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + /* // 교육신청 서비스단 @@ -2652,6 +2656,157 @@ public class PreventNewMngController { return modelAndView; } + + @RequestMapping("/kccadr/oprtn/prevent/cndtnEduFaqMngList.do") + public String cndtnEduFaqMngList( + @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(VeConstants.LCTR_DIV_CD_85); + +// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ +// String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; +// vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); +// } + + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 + vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/prevent/cndtnEduFaqMngList"; + } + + @RequestMapping("/kccadr/oprtn/prevent/cndtnEduFaqMngDetail.do") + public String cndtnEduFaqMngDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + if(vEPrcsDetailVO != null && StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + //과정 조회 + VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO); + vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm())); + + model.addAttribute("info", vEPrcsQnaDetail); + } + + return "oprtn/prevent/cndtnEduFaqMngDetail"; + } + + @RequestMapping("/kccadr/oprtn/prevent/cndtnEduFaqMngUpdateAjax.do") + public ModelAndView cndtnEduFaqMngUpdateAjax( + @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 로그인 정보 가져오기 + + vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_85); + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsAplctPrdQnaOrd())) { + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + } + vEPrcsService.updateFaqUpsert(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + + @RequestMapping("/kccadr/oprtn/prevent/cndtnEduFaqMngDeleteAjax.do") + public ModelAndView cndtnEduFaqMngDeleteAjax( + @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 로그인 정보 가져오기 + + vEPrcsService.deleteFaq(vEPrcsDetailVO); + + modelAndView.addObject("result", "success"); + return modelAndView; + } + + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // diff --git a/src/main/resources/egovframework/spring/com/context-security.xml b/src/main/resources/egovframework/spring/com/context-security.xml index 1dced480..497cdb8a 100644 --- a/src/main/resources/egovframework/spring/com/context-security.xml +++ b/src/main/resources/egovframework/spring/com/context-security.xml @@ -55,6 +55,12 @@ roleHierarchyString=" ROLE_ADMIN > ROLE_ADR_ADMIN ROLE_ADMIN > ROLE_VISIT + ROLE_ADMIN > ROLE_ADR_JRSDC + ROLE_ADMIN > ROLE_ADR_KIPO + ROLE_ADMIN > ROLE_ADR_PREV + ROLE_ADR_JRSDC > ROLE_USER_MANAGER + ROLE_ADR_KIPO > ROLE_USER_MANAGER + ROLE_ADR_PREV > ROLE_USER_MANAGER ROLE_ADR_ADMIN > ROLE_USER_MANAGER ROLE_VISIT > ROLE_USER_MANAGER ROLE_USER_MANAGER > ROLE_USER_MEMBER diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml index c3b52a4a..7489e46c 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml @@ -215,7 +215,7 @@ GROUP BY A.MENU_NO - AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT') + AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV') GROUP BY A.MENU_NO ORDER BY diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml index ba195f64..166b1591 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml @@ -158,7 +158,7 @@ GROUP BY A.MENU_NO, A.MENU_NM, A.PROGRM_FILE_NM, A.UPPER_MENU_NO, A.MENU_ORDR, A.MENU_DC, A.RELATE_IMAGE_PATH, A.RELATE_IMAGE_NM, A.MENU_USER_TYPE, B.USE_YN - AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT') + AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV') GROUP BY A.MENU_NO, A.MENU_NM, A.PROGRM_FILE_NM, A.UPPER_MENU_NO, A.MENU_ORDR, A.MENU_DC, A.RELATE_IMAGE_PATH, A.RELATE_IMAGE_NM, A.MENU_USER_TYPE, B.USE_YN ORDER BY diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml index e8ad5d94..c63cb0dc 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml @@ -246,7 +246,7 @@ - AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT') + AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV') /* GROUP BY A.MENU_NO */ diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml index 422b2936..fedf7b59 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml @@ -102,7 +102,7 @@ AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER') - AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT') + AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV') LIMIT 1 diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml index 422b2936..fedf7b59 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml @@ -102,7 +102,7 @@ AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER') - AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT') + AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT', 'ROLE_ADR_JRSDC', 'ROLE_ADR_KIPO', 'ROLE_ADR_PREV') LIMIT 1 diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml index 44cbb671..ecfe0b00 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Postgresql.xml @@ -662,4 +662,44 @@ edu_aplct_ord = #eduAplctOrd# + + + /* VEPrcsDAO.FaqUpsert */ + + INSERT INTO VEA_PRCS_APLCT_PRD_QNA ( + PRCS_APLCT_PRD_QNA_ORD, + LCTR_DIV_CD, + QNA_CN, + QNA_ANSWER_CN, + FRST_REGISTER_ID, + FRST_REGIST_PNTTM + ) + VALUES ( + #prcsAplctPrdQnaOrd#, + #lctrDivCd#, + #qnaCn#, + #qnaAnswerCn#, + #frstRegisterId#, + NOW() + ) + ON CONFLICT (PRCS_APLCT_PRD_QNA_ORD) + DO UPDATE + SET + QNA_CN = #qnaCn#, + QNA_ANSWER_CN = #qnaAnswerCn#, + LAST_UPDUSR_ID = #lastUpdusrId#, + LAST_UPDT_PNTTM = NOW() + + + + + + /* VEPrcsDAO.deleteFaq */ + + DELETE + FROM VEA_PRCS_APLCT_PRD_QNA + WHERE PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd# + + + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp index 3333c9b7..b70133e3 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp @@ -72,6 +72,7 @@ $( document ).ready(function(){ $('#userWork_case1').show(); $('#userWork_case2').hide(); + $('#userWork_case3').hide(); }); @@ -89,18 +90,20 @@ function authorChange(obj) { } if (obj.options[obj.selectedIndex].value=='ROLE_ADR_JRSDC' - || obj.options[obj.selectedIndex].value=='ROLE_ADR_KIPO' + // || obj.options[obj.selectedIndex].value=='ROLE_ADR_KIPO' ){ //기소유예검찰담당자 $('#userWork_case1').hide(); $('#userWork_case2').show(); $('#userWork_case3').hide(); - }else if (obj.options[obj.selectedIndex].value=='ROLE_VISIT'){ //찾교담당자 + } + /* else if (obj.options[obj.selectedIndex].value=='ROLE_VISIT'){ //찾교담당자 $('#userWork_case1').hide(); $('#userWork_case2').hide(); $('#userWork_case3').show(); - }else{ + } */ + else{ $('#userWork_case1').show(); $('#userWork_case2').hide(); $('#userWork_case3').hide(); diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduFAQList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduFAQList.jsp index e7a0e78c..5a81ff05 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduFAQList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduFAQList.jsp @@ -176,8 +176,9 @@ @@ -185,7 +186,8 @@

답변A

-

${FAQList.nttCn }

+ <%--

${FAQList.nttCn }

--%> +

${FAQList.qnaAnswerCn }

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp index d3d5f648..6e6e41c7 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp @@ -176,8 +176,9 @@ @@ -185,7 +186,8 @@

답변A

-

${FAQList.nttCn }

+ <%--

${FAQList.nttCn }

--%> +

${FAQList.qnaAnswerCn }

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduFAQList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduFAQList.jsp index 29c1e80e..f8fc4e35 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduFAQList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduFAQList.jsp @@ -176,8 +176,9 @@ @@ -185,7 +186,8 @@

답변A

-

${FAQList.nttCn }

+ <%--

${FAQList.nttCn }

--%> +

${FAQList.qnaAnswerCn }

From 981bd08cc4bc3a2fa0625bf25f2fa96025a09772 Mon Sep 17 00:00:00 2001 From: ijunho Date: Thu, 23 Oct 2025 16:10:24 +0900 Subject: [PATCH 2/2] =?UTF-8?q?faq=20jsp=EB=93=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oprtn/cmdTrgt/cndtnEduFaqMngDetail.jsp | 196 ++++++++++++++ .../jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp | 246 ++++++++++++++++++ .../cndtnSspnIdtmt/cndtnEduFaqMngDetail.jsp | 196 ++++++++++++++ .../cndtnSspnIdtmt/cndtnEduFaqMngList.jsp | 246 ++++++++++++++++++ .../oprtn/prevent/cndtnEduFaqMngDetail.jsp | 196 ++++++++++++++ .../jsp/oprtn/prevent/cndtnEduFaqMngList.jsp | 246 ++++++++++++++++++ 6 files changed, 1326 insertions(+) create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngList.jsp diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngDetail.jsp new file mode 100644 index 00000000..85e98e43 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngDetail.jsp @@ -0,0 +1,196 @@ + +<%@ 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 : fndthEduPrcsMngDetail.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/cmdTrgt/cndtnEduFaqMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp new file mode 100644 index 00000000..85aa9aa2 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp @@ -0,0 +1,246 @@ + +<%@ 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 : fndthEduQnaMngList.jsp + * @Description : 기반강화연수 과정관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2023.11.17 이호영 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 교육문의 + + +
+ + +
+ + + " /> + " /> + + + +
+
+ + + + + + + + +
+
+

Faq관리

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

+
+ +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
질문내용답변등록일시
');" style="cursor:pointer;"> + + ');" style="cursor:pointer;"> + + + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.jsp new file mode 100644 index 00000000..8a99b5e2 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.jsp @@ -0,0 +1,196 @@ + +<%@ 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 : fndthEduPrcsMngDetail.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/cndtnEduFaqMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.jsp new file mode 100644 index 00000000..219d4da3 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.jsp @@ -0,0 +1,246 @@ + +<%@ 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 : fndthEduQnaMngList.jsp + * @Description : 기반강화연수 과정관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2023.11.17 이호영 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 교육문의 + + +
+ + +
+ + + " /> + " /> + + + +
+
+ + + + + + + + +
+
+

Faq관리

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

+
+ +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
질문내용답변등록일시
');" style="cursor:pointer;"> + + ');" style="cursor:pointer;"> + + + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngDetail.jsp new file mode 100644 index 00000000..6e0c4698 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngDetail.jsp @@ -0,0 +1,196 @@ + +<%@ 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 : fndthEduPrcsMngDetail.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/prevent/cndtnEduFaqMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngList.jsp new file mode 100644 index 00000000..f864d6c8 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngList.jsp @@ -0,0 +1,246 @@ + +<%@ 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 : fndthEduQnaMngList.jsp + * @Description : 기반강화연수 과정관리 목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2023.11.17 이호영 최초 생성 + * @author 조용준 + * @since 2021.12.14 + * @version 1.0 + * @see + * + */ +%> + + + + + + 교육문의 + + +
+ + +
+ + + " /> + " /> + + + +
+
+ + + + + + + + +
+
+

Faq관리

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

+
+ +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
질문내용답변등록일시
');" style="cursor:pointer;"> + + ');" style="cursor:pointer;"> + + + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + +