Merge branch 'master' of http://yongjoon.cho@vcs.iten.co.kr:9999/itnAdmin/koipa_edu_2025-1
This commit is contained in:
commit
0ab67063f4
@ -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 {
|
||||
|
||||
@ -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<String, Object> map = bbsMngService.selectBoardArticlesWeb(boardVO, null);
|
||||
List<BoardVO> resultList = (List<BoardVO>)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<VEPrcsDetailVO> 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); //기소유예 구분값
|
||||
|
||||
@ -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<String, Object> map = bbsMngService.selectBoardArticlesWeb(boardVO, null);
|
||||
List<BoardVO> resultList = (List<BoardVO>)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<VEPrcsDetailVO> 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); //기소유예 구분값
|
||||
|
||||
@ -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<String, Object> map = bbsMngService.selectBoardArticlesWeb(boardVO, null);
|
||||
List<BoardVO> resultList = (List<BoardVO>)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<VEPrcsDetailVO> 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); //기소유예 구분값
|
||||
|
||||
@ -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"; // 요청
|
||||
|
||||
|
||||
@ -39,4 +39,7 @@ public interface VEPrcsService {
|
||||
|
||||
void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
void updateFaqUpsert(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
void deleteFaq(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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<VEPrcsDetailVO> 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -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<VEPrcsDetailVO> 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;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -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<VEPrcsDetailVO> 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -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
|
||||
|
||||
@ -215,7 +215,7 @@
|
||||
GROUP BY A.MENU_NO
|
||||
</isEqual>
|
||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||
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
|
||||
</isNotEqual>
|
||||
ORDER BY
|
||||
|
||||
@ -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
|
||||
</isEqual>
|
||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||
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
|
||||
</isNotEqual>
|
||||
ORDER BY
|
||||
|
||||
@ -246,7 +246,7 @@
|
||||
|
||||
</isEqual>
|
||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||
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
|
||||
*/
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
|
||||
</isEqual>
|
||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||
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')
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
LIMIT 1
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
|
||||
</isEqual>
|
||||
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
|
||||
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')
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
LIMIT 1
|
||||
|
||||
@ -660,4 +660,44 @@
|
||||
edu_aplct_ord = #eduAplctOrd#
|
||||
</update>
|
||||
|
||||
<!-- Faq upsert -->
|
||||
<update id="VEPrcsDAO.updateFaqUpsert" parameterClass="VEPrcsDetailVO" >
|
||||
/* 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()
|
||||
|
||||
</update>
|
||||
|
||||
<!-- Faq delete -->
|
||||
<update id="VEPrcsDAO.deleteFaq" parameterClass="VEPrcsDetailVO" >
|
||||
/* VEPrcsDAO.deleteFaq */
|
||||
|
||||
DELETE
|
||||
FROM VEA_PRCS_APLCT_PRD_QNA
|
||||
WHERE PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd#
|
||||
|
||||
</update>
|
||||
|
||||
</sqlMap>
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function updateQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngUpdateAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleteQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngDeleteAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
</form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdQnaOrd" id="prcsAplctPrdQnaOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdQnaOrd}' />"/>
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육문의상세</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<tr>
|
||||
<th scope="row">등록자</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegisterId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록일시</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegistPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${not empty info.lastUpdusrId}">
|
||||
<tr>
|
||||
<th scope="row">수정자</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdusrId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">수정일시</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdtPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th scope="row">질문</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaCn" id="qnaCn"><c:out value="${info.qnaCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaAnswerCn" id="qnaAnswerCn"><c:out value="${info.qnaAnswerCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="deleteQnaAnswerCn(); return false;">삭제</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:choose>
|
||||
<c:when test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">수정</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">등록</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
246
src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp
Normal file
246
src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/cndtnEduFaqMngList.jsp
Normal file
@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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"%>
|
||||
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduQnaMngList.jsp
|
||||
* @Description : 기반강화연수 과정관리 목록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2023.11.17 이호영 최초 생성
|
||||
* @author 조용준
|
||||
* @since 2021.12.14
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function press(event) {
|
||||
if (event.keyCode==13) {
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoDetail(prcsAplctPrdQnaOrd){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ;
|
||||
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
function fncCreate(){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = '';
|
||||
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
function fncDelete(prcsOrd){
|
||||
document.listForm.prcsOrd.value = prcsOrd ;
|
||||
|
||||
var pageIndex = document.listForm.pageIndex.value;
|
||||
if($(".listCount").length == '1'){
|
||||
pageIndex = pageIndex -1;
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제되었습니다.");
|
||||
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||
linkPage(pageIndex);
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
} */
|
||||
//초기화
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
if ($(this).prop("tagName") == 'SELECT') {
|
||||
// 초기화 시 무조건 select option 첫번째 지정
|
||||
$(this).find("option:first-child").prop("selected",true);
|
||||
} else if ($(this).attr('type') == 'radio') {
|
||||
var radioName = $(this).attr("name");
|
||||
var radioFirst = $("[name="+radioName+"]")[0];
|
||||
$(radioFirst).prop("checked",true)
|
||||
} else {
|
||||
$(this).val('');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>교육문의</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="detailForm" name="detailForm" method="post">
|
||||
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value="" />
|
||||
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/cmdTrgt/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
|
||||
<div class="cont">
|
||||
<div class="tb_tit01">
|
||||
<p>Faq관리</p>
|
||||
</div>
|
||||
<!-- list_top -->
|
||||
<div class="list_top search-only">
|
||||
<div class="list_top_1">
|
||||
<div class="util_right">
|
||||
<%-- <div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
|
||||
</div> --%>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="질문내용을 입력해 주세요" title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_util">
|
||||
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 40$">
|
||||
<col style="width: 40%">
|
||||
<col style="width: 20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>질문내용</th>
|
||||
<th>답변</th>
|
||||
<th>등록일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr class="listCount">
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaCn}'/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaAnswerCn}'/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.frstRegistPnttm }'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //page -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function updateQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngUpdateAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleteQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDeleteAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
</form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdQnaOrd" id="prcsAplctPrdQnaOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdQnaOrd}' />"/>
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육문의상세</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<tr>
|
||||
<th scope="row">등록자</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegisterId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록일시</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegistPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${not empty info.lastUpdusrId}">
|
||||
<tr>
|
||||
<th scope="row">수정자</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdusrId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">수정일시</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdtPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th scope="row">질문</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaCn" id="qnaCn"><c:out value="${info.qnaCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaAnswerCn" id="qnaAnswerCn"><c:out value="${info.qnaAnswerCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="deleteQnaAnswerCn(); return false;">삭제</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:choose>
|
||||
<c:when test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">수정</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">등록</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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"%>
|
||||
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduQnaMngList.jsp
|
||||
* @Description : 기반강화연수 과정관리 목록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2023.11.17 이호영 최초 생성
|
||||
* @author 조용준
|
||||
* @since 2021.12.14
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function press(event) {
|
||||
if (event.keyCode==13) {
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoDetail(prcsAplctPrdQnaOrd){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ;
|
||||
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
function fncCreate(){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = '';
|
||||
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
function fncDelete(prcsOrd){
|
||||
document.listForm.prcsOrd.value = prcsOrd ;
|
||||
|
||||
var pageIndex = document.listForm.pageIndex.value;
|
||||
if($(".listCount").length == '1'){
|
||||
pageIndex = pageIndex -1;
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제되었습니다.");
|
||||
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||
linkPage(pageIndex);
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
} */
|
||||
//초기화
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
if ($(this).prop("tagName") == 'SELECT') {
|
||||
// 초기화 시 무조건 select option 첫번째 지정
|
||||
$(this).find("option:first-child").prop("selected",true);
|
||||
} else if ($(this).attr('type') == 'radio') {
|
||||
var radioName = $(this).attr("name");
|
||||
var radioFirst = $("[name="+radioName+"]")[0];
|
||||
$(radioFirst).prop("checked",true)
|
||||
} else {
|
||||
$(this).val('');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>교육문의</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="detailForm" name="detailForm" method="post">
|
||||
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value="" />
|
||||
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
|
||||
<div class="cont">
|
||||
<div class="tb_tit01">
|
||||
<p>Faq관리</p>
|
||||
</div>
|
||||
<!-- list_top -->
|
||||
<div class="list_top search-only">
|
||||
<div class="list_top_1">
|
||||
<div class="util_right">
|
||||
<%-- <div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
|
||||
</div> --%>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="질문내용을 입력해 주세요" title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_util">
|
||||
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 40$">
|
||||
<col style="width: 40%">
|
||||
<col style="width: 20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>질문내용</th>
|
||||
<th>답변</th>
|
||||
<th>등록일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr class="listCount">
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaCn}'/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaAnswerCn}'/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.frstRegistPnttm }'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //page -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>교육과정관리</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function updateQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduFaqMngUpdateAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function deleteQnaAnswerCn(){
|
||||
var data1 = new FormData(document.getElementById("detailForm"));
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduFaqMngDeleteAjax.do",
|
||||
data:data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제 되었습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
</form>
|
||||
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||
<input type="hidden" name="prcsAplctPrdQnaOrd" id="prcsAplctPrdQnaOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdQnaOrd}' />"/>
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
<div class="cont">
|
||||
<!-- list_상세 -->
|
||||
<div class="tb_tit01">
|
||||
<p>교육문의상세</p>
|
||||
</div>
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 210px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<tr>
|
||||
<th scope="row">등록자</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegisterId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">등록일시</th>
|
||||
<td>
|
||||
<c:out value='${info.frstRegistPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${not empty info.lastUpdusrId}">
|
||||
<tr>
|
||||
<th scope="row">수정자</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdusrId}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">수정일시</th>
|
||||
<td>
|
||||
<c:out value='${info.lastUpdtPnttm}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<tr>
|
||||
<th scope="row">질문</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaCn" id="qnaCn"><c:out value="${info.qnaCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td class="tb_alram">
|
||||
<div>
|
||||
<textarea name="qnaAnswerCn" id="qnaAnswerCn"><c:out value="${info.qnaAnswerCn}" /></textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<c:if test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="deleteQnaAnswerCn(); return false;">삭제</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<c:choose>
|
||||
<c:when test="${not empty vEPrcsDetailVO.prcsAplctPrdQnaOrd}">
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">수정</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btn_type01" onclick="updateQnaAnswerCn(); return false;">등록</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
</html>
|
||||
246
src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngList.jsp
Normal file
246
src/main/webapp/WEB-INF/jsp/oprtn/prevent/cndtnEduFaqMngList.jsp
Normal file
@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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"%>
|
||||
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : fndthEduQnaMngList.jsp
|
||||
* @Description : 기반강화연수 과정관리 목록
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2023.11.17 이호영 최초 생성
|
||||
* @author 조용준
|
||||
* @since 2021.12.14
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function press(event) {
|
||||
if (event.keyCode==13) {
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduFaqMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoDetail(prcsAplctPrdQnaOrd){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ;
|
||||
form.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
function fncCreate(){
|
||||
var form = document.detailForm ;
|
||||
form.prcsAplctPrdQnaOrd.value = '';
|
||||
form.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduFaqMngDetail.do'/>";
|
||||
form.submit();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
function fncDelete(prcsOrd){
|
||||
document.listForm.prcsOrd.value = prcsOrd ;
|
||||
|
||||
var pageIndex = document.listForm.pageIndex.value;
|
||||
if($(".listCount").length == '1'){
|
||||
pageIndex = pageIndex -1;
|
||||
}
|
||||
var data = new FormData(document.getElementById("listForm"));
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDeleteAjax.do'/>";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제되었습니다.");
|
||||
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||
linkPage(pageIndex);
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
} */
|
||||
//초기화
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
if ($(this).prop("tagName") == 'SELECT') {
|
||||
// 초기화 시 무조건 select option 첫번째 지정
|
||||
$(this).find("option:first-child").prop("selected",true);
|
||||
} else if ($(this).attr('type') == 'radio') {
|
||||
var radioName = $(this).attr("name");
|
||||
var radioFirst = $("[name="+radioName+"]")[0];
|
||||
$(radioFirst).prop("checked",true)
|
||||
} else {
|
||||
$(this).val('');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>교육문의</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="detailForm" name="detailForm" method="post">
|
||||
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value="" />
|
||||
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<c:import url="/cmm/navi/adminContNav.do">
|
||||
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduFaqMngList.do"/>
|
||||
<c:param name="name1" value=""/>
|
||||
<c:param name="name2" value=""/>
|
||||
<c:param name="name3" value=""/>
|
||||
</c:import>
|
||||
|
||||
<div class="cont">
|
||||
<div class="tb_tit01">
|
||||
<p>Faq관리</p>
|
||||
</div>
|
||||
<!-- list_top -->
|
||||
<div class="list_top search-only">
|
||||
<div class="list_top_1">
|
||||
<div class="util_right">
|
||||
<%-- <div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
|
||||
</div> --%>
|
||||
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="질문내용을 입력해 주세요" title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list_util">
|
||||
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
|
||||
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 40$">
|
||||
<col style="width: 40%">
|
||||
<col style="width: 20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>질문내용</th>
|
||||
<th>답변</th>
|
||||
<th>등록일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr class="listCount">
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaCn}'/>
|
||||
</td>
|
||||
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
|
||||
<c:out value='${list.qnaAnswerCn}'/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value='${list.frstRegistPnttm }'/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //page -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -180,8 +180,9 @@
|
||||
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
|
||||
<p class="qst_text"><span>질문</span>Q</p>
|
||||
<div>
|
||||
<p class="qst_cont">${FAQList.nttSj}</p>
|
||||
<p class="date">${FAQList.frstRegisterPnttm}</p>
|
||||
<%-- <p class="qst_cont">${FAQList.nttSj}</p> --%>
|
||||
<p class="qst_cont">${FAQList.qnaCn}</p>
|
||||
<p class="date">${FAQList.frstRegistPnttm}</p>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
@ -189,7 +190,8 @@
|
||||
<div class="answer_in">
|
||||
<p class="qst_text"><span>답변</span>A</p>
|
||||
<div>
|
||||
<p class="awr_cont">${FAQList.nttCn }</p>
|
||||
<%-- <p class="awr_cont">${FAQList.nttCn }</p> --%>
|
||||
<p class="awr_cont" style="white-space: pre-line;">${FAQList.qnaAnswerCn }</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -180,8 +180,9 @@
|
||||
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
|
||||
<p class="qst_text"><span>질문</span>Q</p>
|
||||
<div>
|
||||
<p class="qst_cont">${FAQList.nttSj}</p>
|
||||
<p class="date">${FAQList.frstRegisterPnttm}</p>
|
||||
<%-- <p class="qst_cont">${FAQList.nttSj}</p> --%>
|
||||
<p class="qst_cont">${FAQList.qnaCn}</p>
|
||||
<p class="date">${FAQList.frstRegistPnttm}</p>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
@ -189,7 +190,8 @@
|
||||
<div class="answer_in">
|
||||
<p class="qst_text"><span>답변</span>A</p>
|
||||
<div>
|
||||
<p class="awr_cont">${FAQList.nttCn }</p>
|
||||
<%-- <p class="awr_cont">${FAQList.nttCn }</p> --%>
|
||||
<p class="awr_cont" style="white-space: pre-line;">${FAQList.qnaAnswerCn }</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -180,8 +180,9 @@
|
||||
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
|
||||
<p class="qst_text"><span>질문</span>Q</p>
|
||||
<div>
|
||||
<p class="qst_cont">${FAQList.nttSj}</p>
|
||||
<p class="date">${FAQList.frstRegisterPnttm}</p>
|
||||
<%-- <p class="qst_cont">${FAQList.nttSj}</p> --%>
|
||||
<p class="qst_cont">${FAQList.qnaCn}</p>
|
||||
<p class="date">${FAQList.frstRegistPnttm}</p>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
@ -189,7 +190,8 @@
|
||||
<div class="answer_in">
|
||||
<p class="qst_text"><span>답변</span>A</p>
|
||||
<div>
|
||||
<p class="awr_cont">${FAQList.nttCn }</p>
|
||||
<%-- <p class="awr_cont">${FAQList.nttCn }</p> --%>
|
||||
<p class="awr_cont" style="white-space: pre-line;">${FAQList.qnaAnswerCn }</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user