Merge branch 'hylee' into advc

Conflicts:
	src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java
This commit is contained in:
hylee 2023-11-21 11:54:07 +09:00
commit f6e208d298
26 changed files with 1079 additions and 1035 deletions

View File

@ -1,79 +1,81 @@
package kcc.com.cmm.service;
import java.util.List;
import java.util.Map;
import kcc.com.cmm.ComDefaultCodeVO;
/**
*
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
* @author 공통서비스 개발팀 이삼섭
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이삼섭 최초 생성
*
* </pre>
*/
public interface EgovCmmUseService {
/**
* 공통코드를 조회한다.
*
* @param vo
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception;
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return Map(코드)
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ;
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo);
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo);
}
package kcc.com.cmm.service;
import java.util.List;
import java.util.Map;
import kcc.com.cmm.ComDefaultCodeVO;
/**
*
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
* @author 공통서비스 개발팀 이삼섭
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이삼섭 최초 생성
*
* </pre>
*/
public interface EgovCmmUseService {
/**
* 공통코드를 조회한다.
*
* @param vo
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception;
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return Map(코드)
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) ;
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo);
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo);
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam);
}

View File

@ -1,78 +1,91 @@
package kcc.com.cmm.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
/**
* @Class Name : CmmUseDAO.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Repository("cmmUseDAO")
public class CmmUseDAO extends EgovComAbstractDAO {
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo);
}
/**
* 공통코드로 사용할 조직정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo);
}
/**
* 공통코드로 사용할그룹정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo);
}
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo);
}
public CmmnDetailCode selectCmmCodeDetailValueOnlyName(ComDefaultCodeVO vo) {
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValueOnlyName", vo);
}
}
package kcc.com.cmm.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
/**
* @Class Name : CmmUseDAO.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Repository("cmmUseDAO")
public class CmmUseDAO extends EgovComAbstractDAO {
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo);
}
/**
* 공통코드로 사용할 조직정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo);
}
/**
* 공통코드로 사용할그룹정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo);
}
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo);
}
public CmmnDetailCode selectCmmCodeDetailValueOnlyName(ComDefaultCodeVO vo) {
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValueOnlyName", vo);
}
/**
* @methodName : selectCmmCodeDetailOrderByCode
* @author : 이호영
* @date : 2023.11.20
* @description : code로 order by
* @param codeParam
* @return
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetailOrderByCode", codeParam);
}
}

View File

@ -1,139 +1,145 @@
package kcc.com.cmm.service.impl;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovCmmUseService;
/**
* @Class Name : EgovCmmUseServiceImpl.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Service("EgovCmmUseService")
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
@Resource(name = "cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/**
* 공통코드를 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectCmmCodeDetail(vo);
}
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception {
ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO();
comDefaultCodeVO.setCodeId(codeId);
return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO);
}
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return
* @throws Exception
*/
@Override
@SuppressWarnings("rawtypes")
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception {
ComDefaultCodeVO vo;
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
Iterator<?> iter = voList.iterator();
while (iter.hasNext()) {
vo = (ComDefaultCodeVO) iter.next();
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
}
return map;
}
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectOgrnztIdDetail(vo);
}
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectGroupIdDetail(vo);
}
@Override
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
return cmmUseDAO.selectCmmCodeDetailValue(vo);
}
@Override
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) {
String resultCodeNm = "";
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo);
if(code != null){
resultCodeNm = code.getCodeNm();
}
}
return resultCodeNm;
}
@Override
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) {
String resultCodeNm = "";
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo);
if(code != null){
resultCodeNm = code.getCodeNm();
}
}
return resultCodeNm;
}
}
package kcc.com.cmm.service.impl;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovCmmUseService;
/**
* @Class Name : EgovCmmUseServiceImpl.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Service("EgovCmmUseService")
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
@Resource(name = "cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/**
* 공통코드를 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectCmmCodeDetail(vo);
}
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception {
ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO();
comDefaultCodeVO.setCodeId(codeId);
return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO);
}
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return
* @throws Exception
*/
@Override
@SuppressWarnings("rawtypes")
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception {
ComDefaultCodeVO vo;
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
Iterator<?> iter = voList.iterator();
while (iter.hasNext()) {
vo = (ComDefaultCodeVO) iter.next();
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
}
return map;
}
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectOgrnztIdDetail(vo);
}
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectGroupIdDetail(vo);
}
@Override
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) {
return cmmUseDAO.selectCmmCodeDetailValue(vo);
}
@Override
public String selectCmmCodeDetailCodeValue(ComDefaultCodeVO vo) {
String resultCodeNm = "";
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValue(vo);
if(code != null){
resultCodeNm = code.getCodeNm();
}
}
return resultCodeNm;
}
@Override
public String selectCmmCodeDetailCodeValueOnlyName(ComDefaultCodeVO vo) {
String resultCodeNm = "";
if(StringUtils.isNotBlank(vo.getCodeId()) && StringUtils.isNotBlank(vo.getCode())){
CmmnDetailCode code = cmmUseDAO.selectCmmCodeDetailValueOnlyName(vo);
if(code != null){
resultCodeNm = code.getCodeNm();
}
}
return resultCodeNm;
}
@Override
public List<CmmnDetailCode> selectCmmCodeDetailOrderByCode(ComDefaultCodeVO codeParam) {
// TODO Auto-generated method stub
return cmmUseDAO.selectCmmCodeDetailOrderByCode(codeParam);
}
}

View File

@ -152,6 +152,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String qnaAnswerCn;
private String qnaAnswerer;
private String mberNm;
@ -741,6 +743,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
this.cnAtchFileId = cnAtchFileId;
}
public String getMberNm() {
return mberNm;
}
public void setMberNm(String mberNm) {
this.mberNm = mberNm;
}
}

View File

@ -32,5 +32,11 @@ public interface VEPrcsService {
void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO);
void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO);
List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO);
VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO);
void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -121,8 +121,8 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
@Override
public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) {
System.out.println(vEPrcsDetailVO.getPrpsCn());
System.out.println(vEPrcsDetailVO.getChrctCn());
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd());
// System.out.println(vEPrcsDetailVO.getChrctCn());
// System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO);
}

View File

@ -84,5 +84,17 @@ public class VEPrcsDAO extends EgovAbstractDAO {
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsDAO.updateImageAtchFileId", vEPrcsDetailVO);
}
public List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEPrcsDetailVO>) list("VEPrcsDAO.selectQnaPagingList", vEPrcsDetailVO);
}
public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) {
return (VEPrcsDetailVO) select("VEPrcsDAO.selectQnaDetail", vEPrcsDetailVO);
}
public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsDAO.qnaUpdate", vEPrcsDetailVO);
}
}

View File

@ -69,5 +69,20 @@ public class VEPrcsServiceImpl implements VEPrcsService {
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsDAO.updateImageAtchFileId(vEPrcsDetailVO);
}
@Override
public List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsDAO.selectQnaPagingList(vEPrcsDetailVO);
}
@Override
public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsDAO.selectQnaDetail(vEPrcsDetailVO);
}
@Override
public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsDAO.qnaUpdate(vEPrcsDetailVO);
}
}

View File

@ -1,6 +1,8 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
import kcc.com.cmm.ComDefaultVO;
@ -42,6 +44,7 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
private String atchFileId;// 첨부파일 ID
private List<String> searchSelStatusList;
@ -197,8 +200,16 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
public List<String> getSearchSelStatusList() {
return searchSelStatusList;
}
public void setSearchSelStatusList(List<String> searchSelStatusList) {
this.searchSelStatusList = searchSelStatusList;
}
public void setSearchSelStatusToList(String searchSelStatus) {
this.searchSelStatusList = Arrays.asList(searchSelStatus.split(","));
}

View File

@ -22,7 +22,10 @@ import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.DateUtil;
@ -105,6 +108,8 @@ public class CndtnTrgtMngController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService egovCmmUseService;
/*
@ -164,8 +169,6 @@ public class CndtnTrgtMngController {
//로그인 처리====================================
String userWork = this.getUserWork(request);
cndtnTrgtInfoMngVO.setSearchCondition(userWork);
@ -209,6 +212,9 @@ public class CndtnTrgtMngController {
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", cndtnTrgtInfoMngVOList);
return "oprtn/cndtnSspnIdtmt/trgtList";
}
@ -252,7 +258,7 @@ public class CndtnTrgtMngController {
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
//1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
@ -263,19 +269,23 @@ public class CndtnTrgtMngController {
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
//검색 조회
String selectCondition = "";
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
String selectCondition = "";
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'";
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
// List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
System.out.println("cndtnTrgtInfoMngVO.getSearchSelStatus() : "+ cndtnTrgtInfoMngVO.getSearchSelStatus());
if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus()))
{
cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus());
}
List<CndtnTrgtMngVO> cndtnTrgtInfoMngVOList = null;
try {
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
@ -292,6 +302,11 @@ public class CndtnTrgtMngController {
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", cndtnTrgtInfoMngVOList);
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
return "oprtn/cndtnSspnIdtmt/trgtMngList";
}
@ -386,6 +401,13 @@ public class CndtnTrgtMngController {
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
return "oprtn/cndtnSspnIdtmt/trgtReg";
}
@ -617,6 +639,9 @@ public class CndtnTrgtMngController {
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
model.addAttribute("info", cndtnTrgtInfoVO);
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
//파일 정보 가져오기
FileVO fileVO = new FileVO();
@ -627,38 +652,6 @@ public class CndtnTrgtMngController {
return "oprtn/cndtnSspnIdtmt/trgtDetail";
}
/**
* 대상자목록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do")
public String trgtMngDetail(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
model.addAttribute("info", cndtnTrgtInfoVO);
//파일 정보 가져오기
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
return "oprtn/cndtnSspnIdtmt/trgtMngDetail";
}
/**
* 조건부기소유예과정 수료자 상세화면
*/
@ -722,6 +715,16 @@ public class CndtnTrgtMngController {
model.addAttribute("info", cndtnTrgtInfoVO);
// 관할청 공통코드
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
//파일 정보 가져오기
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
@ -760,6 +763,13 @@ public class CndtnTrgtMngController {
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
// 관할청 공통코드
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VEA008");
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
return "oprtn/cndtnSspnIdtmt/trgtMngMdfy";
}

View File

@ -234,12 +234,12 @@ public class FndthPrcsInfoMngController {
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
// String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
// vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
// }
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
@ -247,6 +247,9 @@ public class FndthPrcsInfoMngController {
model.addAttribute("paginationInfo", paginationInfo);
// 사용자 이름 디코딩
vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
@ -348,10 +351,53 @@ public class FndthPrcsInfoMngController {
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail";
}
/**
* @methodName : fndthEduPrcsMngDetail
* @author : 이호영
* @date : 2023.11.20
* @description :
* @param vEPrcsDetailVO
* @param model
* @param redirectAttributes
* @param session
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.do")
public String fndthEduQnaMngDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
System.out.println("vEPrcsDetailVO.getPrcsAplctPrdQnaOrd() : "+ vEPrcsDetailVO.getPrcsAplctPrdQnaOrd());
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO);
vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm()));
model.addAttribute("info", vEPrcsQnaDetail);
//세부과정 목록 조회
return "/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail";
}
/**
* 기반강화연수과정 수정화면
@ -484,6 +530,53 @@ public class FndthPrcsInfoMngController {
return modelAndView;
}
/**
* @methodName : fndthEduQnaMngUpdateAjax
* @author : 이호영
* @date : 2023.11.20
* @description :
* @param vEPrcsDetailVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngUpdateAjax.do")
public ModelAndView fndthEduQnaMngUpdateAjax(
@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
vEPrcsService.qnaUpdate(vEPrcsDetailVO);
//세부과정 지우고 다시 생성
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do")
public ModelAndView fndthEduPhotoPopupAjax(

View File

@ -1,96 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="CmmUse">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="ComDefaultCodeVO" type="kcc.com.cmm.ComDefaultCodeVO"/>
<resultMap id="CmmCodeDetail" class="kcc.com.cmm.service.CmmnDetailCode">
<result property="codeId" column="CODE_ID" columnIndex="1"/>
<result property="code" column="CODE" columnIndex="2"/>
<result property="codeNm" column="CODE_NM" columnIndex="3"/>
<result property="codeDc" column="CODE_DC" columnIndex="4"/>
</resultMap>
<select id="CmmUseDAO.selectCmmCodeDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
ORDER BY SORT
]]>
</select>
<select id="CmmUseDAO.selectOgrnztIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# CODE_ID,
ORGNZT_ID CODE,
ORGNZT_NM CODE_NM,
ORGNZT_DC CODE_DC
FROM
LETTNORGNZTINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
ORGNZT_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectGroupIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# CODE_ID,
GROUP_ID CODE,
GROUP_NM CODE_NM,
GROUP_DC CODE_DC
FROM
LETTNAUTHORGROUPINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
GROUP_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValue" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValueOnlyName" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
1=1
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="CmmUse">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="ComDefaultCodeVO" type="kcc.com.cmm.ComDefaultCodeVO"/>
<resultMap id="CmmCodeDetail" class="kcc.com.cmm.service.CmmnDetailCode">
<result property="codeId" column="CODE_ID" columnIndex="1"/>
<result property="code" column="CODE" columnIndex="2"/>
<result property="codeNm" column="CODE_NM" columnIndex="3"/>
<result property="codeDc" column="CODE_DC" columnIndex="4"/>
</resultMap>
<select id="CmmUseDAO.selectCmmCodeDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
ORDER BY SORT
]]>
</select>
<select id="CmmUseDAO.selectOgrnztIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# CODE_ID,
ORGNZT_ID CODE,
ORGNZT_NM CODE_NM,
ORGNZT_DC CODE_DC
FROM
LETTNORGNZTINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
ORGNZT_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectGroupIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# CODE_ID,
GROUP_ID CODE,
GROUP_NM CODE_NM,
GROUP_DC CODE_DC
FROM
LETTNAUTHORGROUPINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
GROUP_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValue" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValueOnlyName" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
1=1
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailOrderByCode" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = 'VEA008'
ORDER BY code
]]>
</select>
</sqlMap>

View File

@ -201,6 +201,12 @@
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSelStatus">
AND a.cmptnt_athrt IN
<iterate property="searchSelStatusList" open="(" close=")" conjunction=",">
#searchSelStatusList[]#
</iterate>
</isNotEmpty>
ORDER BY a.frst_regist_pnttm desc
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;

View File

@ -1359,6 +1359,7 @@
VEA_PRCS_APLCT_PRD_QNA
WHERE
QNA_REGIST = #qnaRegist#
AND LCTR_DIV_CD = #lctrDivCd#
</select>

View File

@ -148,17 +148,17 @@
</select>
<!-- -->
<select id="VEPrcsAplctPrdDAO.updateEtc" parameterClass="VEPrcsDetailVO">
<update id="VEPrcsAplctPrdDAO.updateEtc" parameterClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.updateEtc */
UPDATE
VE_PRCS_APLCT_PRD_ETC
SET
PRPS_CN = #prpsCn# ,
PRPS_CN = #prpsCn#
, CHRCT_CN = #chrctCn#
WHERE PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select>
</update>
<!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">

View File

@ -360,4 +360,69 @@
AND user_id = #userId#
</delete>
<!-- 교육문의 상세 L page -->
<select id="VEPrcsDAO.selectQnaPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsDAO.selectQnaPagingList */
SELECT
qn.PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd
, qn.LCTR_DIV_CD as lctrDivCd
, qn.QNA_REGIST as qnaRegist
, mb.MBER_NM AS mberNm
, qn.QNA_CN as qnaCn
, qn.QNA_ANSWER_CN as qnaAnswerCn
, qn.QNA_ANSWERER as qnaAnswerer
,TO_CHAR(qn.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
, qn.FRST_REGISTER_ID as frstRegisterId
,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, qn.LAST_UPDUSR_ID as lastUpdusrId
FROM
VEA_PRCS_APLCT_PRD_QNA qn
LEFT JOIN LETTNGNRLMBER mb
ON qn.QNA_REGIST = mb.MBER_ID
WHERE
1=1
AND LCTR_DIV_CD = #lctrDivCd#
</select>
<!-- 교육문의 상세 -->
<select id="VEPrcsDAO.selectQnaDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsDAO.selectQnaDetail */
SELECT
qn.PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd
, qn.LCTR_DIV_CD as lctrDivCd
, qn.QNA_REGIST as qnaRegist
, mb.MBER_NM AS mberNm
, qn.QNA_CN as qnaCn
, qn.QNA_ANSWER_CN as qnaAnswerCn
, qn.QNA_ANSWERER as qnaAnswerer
,TO_CHAR(qn.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
, qn.FRST_REGISTER_ID as frstRegisterId
,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, qn.LAST_UPDUSR_ID as lastUpdusrId
FROM
VEA_PRCS_APLCT_PRD_QNA qn
LEFT JOIN LETTNGNRLMBER mb
ON qn.QNA_REGIST = mb.MBER_ID
WHERE
1=1
AND qn.PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd#
</select>
<!-- 교육문의 답변 update -->
<update id="VEPrcsDAO.qnaUpdate" parameterClass="VEPrcsDetailVO" >
/* VEPrcsDAO.qnaUpdate */
UPDATE VEA_PRCS_APLCT_PRD_QNA SET
QNA_ANSWER_CN = #qnaAnswerCn#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = SYSDATE
WHERE PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd#
</update>
</sqlMap>

View File

@ -42,6 +42,11 @@
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfy.do'/>";
detailForm.submit();
}
function fncMngMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngMdfy.do'/>";
detailForm.submit();
}
</script>
@ -193,7 +198,17 @@
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
<c:choose>
<c:when test="${empty userWork }">
<button type="button" class="btn_type02" onclick="fncMngMdfy(); return false;">수정</button>
</c:when>
<c:otherwise>
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
</c:otherwise>
</c:choose>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>

View File

@ -28,7 +28,11 @@
*/
%>
<html lang="ko">
<head>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.min.js" /></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
@ -38,6 +42,19 @@
<script type="text/javascript">
$(document).ready(function(){
$("#searchSelStatusTemp").select2({
placeholder: "관할청 선택"
});
var select2Val = '${cndtnTrgtInfoMngVO.searchSelStatus}';
var valuesArray = select2Val.split(',');
// Select2 위젯에 값 설정
$('#searchSelStatusTemp').val(valuesArray).trigger('change');
searchInit();
@ -64,10 +81,9 @@
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
@ -86,11 +102,27 @@
linkPage(1);
}
function dataMakeSelectVal(){
var selectedValues = $('#searchSelStatusTemp')
.find(':selected')
.map(function() {
return $(this).val();
}).get().join(',');
$('#searchSelStatus').val(selectedValues);
console.log(selectedValues );
}
function linkPage(pageNo){
// select2 데이터 정제
this.dataMakeSelectVal();
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>";
listForm.submit();
}
@ -196,6 +228,7 @@
<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="" />
<input type="hidden" id="searchSelStatus" name="searchSelStatus" value="" />
<div class="cont_wrap">
<div class="box">
@ -217,9 +250,14 @@
<div class="tb_tit01">
<p>대상자 목록</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>구분1</p>
</div>
<div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option>
@ -237,11 +275,25 @@
</div>
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<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_top_2">
<div class="util_left">
<p>구분2</p>
</div>
<div class="util_right">
<p>관할청&nbsp;&nbsp;</p>
<select name="searchSelStatusTemp" id="searchSelStatusTemp" class="sel_type1" multiple="multiple" style="width: 75%">
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option>
</c:forEach>
</select>
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
</div>
</div>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
@ -334,7 +386,7 @@
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
<tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>

View File

@ -232,7 +232,7 @@
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do'/>";
listForm.submit();
}
@ -332,10 +332,12 @@
<tr>
<th scope="row">관할청</th>
<td>
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="${info.cmptntAthrt }" defaultValue=""
defaultText='선택'
/>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option>
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }" <c:if test="${info.cmptntAthrt==list.code }">selected="selected"</c:if> >${list.codeNm }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>

View File

@ -1,458 +0,0 @@
<!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 : cndtnEduPrcsMngReg.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">
//세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function() {
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
});
function fncSave(){
if(fn_valChk())
{
return false;
}
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData :: ', returnData);
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}else if(returnData.result == "fail"){
alert(returnData.message);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_valChk(){
// 의뢰일 검사
if($("#reqPnttm").val().trim() == ""){
alert("의뢰일을 입력해주세요.");
$("#reqPnttm").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntYear']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntYear']").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntNmbr']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntNmbr']").focus();
return true;
}
// 관할청 검사
if($("input[name='cmptntAthrt']").val()){
alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus();
return true;
}
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요.");
$("#sex").focus();
return true;
}
// 성명 검사
if($("input[name='trgtNm']").val().trim() == ""){
alert("성명을 입력해주세요.");
$("input[name='trgtNm']").focus();
return true;
}
// 생년월일 검사
if($("#dBirth").val().trim() == ""){
alert("생년월일을 입력해주세요.");
$("#dBirth").focus();
return true;
}
// 의뢰번호 검사
if($("input[name='reqNmbr']").val().trim() == ""){
alert("의뢰번호를 입력해주세요.");
$("input[name='reqNmbr']").focus();
return true;
}
// 의뢰상태 검사
/* if($("#reqStateCd").val().trim() == ""){
alert("의뢰상태를 입력해주세요.");
$("input[name='reqStateCd']").focus();
return true;
} */
// 교육상태 검사
/* if($("input[name='eduStateCd']").val().trim() == ""){
alert("교육상태를 입력해주세요.");
$("input[name='eduStateCd']").focus();
return true;
}
*/
// 검사명 검사
if($("input[name='prsctrNm']").val().trim() == ""){
alert("검사명을 입력해주세요.");
$("input[name='prsctrNm']").focus();
return true;
}
// 주소 검사
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
alert("주소를 입력해주세요.");
$("#post").focus();
return true;
}
return false; // 모든 검사를 통과하면 false 반환
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.submit();
}
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
console.log('files', files);
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>대상자 등록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">대상자 목록</span></li>
<li><span class="cur_nav">대상자 등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<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>
<tr>
<th scope="row">의뢰일</th>
<td>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="">
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">사건번호</th>
<td>
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;"/>형제
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" />
</td>
</tr>
<tr>
<th scope="row">관할청</th>
<td>
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">성별</th>
<td>
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
<th scope="row">연락처</th>
<td>
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
</td>
</tr>
<tr>
<th scope="row">성명</th>
<td>
<input type="text" name="trgtNm" />
</td>
<th scope="row">생년월일</th>
<td>
<input type="text" name="dBirth" id="dBirth" placeholder="00000000" maxlength="8"/>
</td>
</tr>
<!-- <tr>
<th scope="row">연락처(핸드폰)</th>
<td>
<input type="text" name="clphone" />
</td>
</tr> -->
<tr>
<th scope="row">의뢰번호</th>
<td>
<input type="text" name="reqNmbr" />
</td>
<th scope="row">의뢰상태</th>
<td>
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">교육상태</th>
<td>
교육대기
<input type="hidden" name="eduStateCd" id="eduStateCd" value="10"/>
<%-- <ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/> --%>
</td>
<th scope="row">검사명</th>
<td>
<input type="text" name="prsctrNm" />
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
<div class="detail_address">
<label for="addr" class="label">주소 입력</label>
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
<label for="addrDetail" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<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_type02" onclick="fncSave(); return false;">저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -279,10 +279,20 @@
<td>
<c:choose>
<c:when test="${empty userWork }">
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
<%-- <ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="" selectedValue="" defaultValue=""
defaultText='선택'
/>
--%>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">선택</option>
<c:forEach var="list" items="${CmmnDetailCodeList}" varStatus="status">
<option value="${list.code }">${list.codeNm }</option>
</c:forEach>
</select>
</c:when>
<c:otherwise>
<ve:code codeId="VEA008" code="${userWork }"/>

View File

@ -0,0 +1,197 @@
<!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/fndthEnhanceTrn/fndthEduQnaMngList.do'/>";
listForm.submit();
}
function updateQnaAnswerCn(){
$("#prvtMemoCn").val($("#hiddenMemo").val());
var data1 = new FormData(document.getElementById("detailForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngUpdateAjax.do",
data:data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장 되었습니다.");
// location.reload();
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">
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육문의상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육문의상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<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>
<tr>
<th scope="row">질문자ID</th>
<td>
<c:out value='${info.qnaRegist}' />
</td>
</tr>
<tr>
<th scope="row">질문자 이름</th>
<td>
<c:out value='${info.mberNm}' />
</td>
</tr>
<tr>
<th scope="row">질문내용</th>
<td>
<c:out value='${info.qnaCn}' />
</td>
</tr>
<tr>
<th scope="row">답변상태</th>
<td>
<c:choose>
<c:when test="${empty info.qnaAnswerCn }">
미완료
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">답변일시</th>
<td>
<c:choose>
<c:when test="${empty list.lastUpdtPnttm }">
-
</c:when>
<c:otherwise>
<c:out value='${list.lastUpdtPnttm }'/>
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- 비공개 메보 정보 -->
<div class="tb_tit01">
<p>답변</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tr>
<th scope="row">
<p>내용</p>
</th>
<td class="tb_alram">
<div>
<textarea name="qnaAnswerCn" id="qnaAnswerCn"><c:out value="${info.qnaAnswerCn}" /></textarea>
<button type="button" class="btn_type08" onclick="updateQnaAnswerCn(); return false;">답변 등록</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<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_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -13,13 +13,13 @@
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : fndthEduPrcsMngList.jsp
* @Class Name : fndthEduQnaMngList.jsp
* @Description : 기반강화연수 과정관리 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2023.11.17 이호영 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
@ -45,25 +45,20 @@
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.do'/>";
listForm.submit();
}
function fncGoDetail(prcsOrd){
var listForm = document.listForm ;
listForm.prcsOrd.value = prcsOrd ;
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.do'/>";
listForm.submit();
function fncGoDetail(prcsAplctPrdQnaOrd){
var form = document.detailForm ;
form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ;
form.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.do'/>";
form.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.do'/>";
listForm.submit();
}
/*
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
@ -98,50 +93,17 @@
}
event.stopImmediatePropagation();
}
} */
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.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 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
<title>교육과정관리</title>
<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}" />" />
@ -154,20 +116,20 @@
<!-- cont_tit -->
<div class="cont_tit">
<h2>과정관리목록</h2>
<h2>교육문의목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">과정관리목록</span></li>
<li><span class="cur_nav">교육문의목록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="tb_tit01">
<p>교육 과정 관리</p>
<p>교육 문의 관리</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
@ -212,45 +174,57 @@
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
<col style="width: auto">
<col style="width: 10%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>교육부문</th>
<th>과정명</th>
<th>설명</th>
<th>등록일시</th>
<th>사용여부 </th>
<th>질문자ID</th>
<th>질문자이름</th>
<th>질문내용</th>
<th>답변상태</th>
<th>질문일시</th>
<th>답변일시</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
<c:out value='${list.qnaRegist }'/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsNm}'/>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.mberNm}'/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsCn}'/>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.qnaCn}'/>
</td>
<td>
<c:out value='${list.frstRegistPnttm}'/>
<c:choose>
<c:when test="${empty list.qnaAnswerCn }">
미완료
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value='${list.frstRegistPnttm }'/>
</td>
<td>
<c:if test="${list.useYn eq 'Y'}">
사용
</c:if>
<c:if test="${list.useYn ne 'Y'}">
미사용
</c:if>
<c:choose>
<c:when test="${empty list.lastUpdtPnttm }">
-
</c:when>
<c:otherwise>
<c:out value='${list.lastUpdtPnttm }'/>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
@ -271,7 +245,6 @@
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div>
</div>
<!-- //page -->

View File

@ -74,10 +74,27 @@ $(document).ready(function(){
//-- /반복끝
});
// 이달의 과정 상태값 확인
$(".best_con").each(function() {
var currentDate = new Date(); // 현재 날짜 가져오기
var strtPnttmValue = $(this).find("#strtPnttm").val(); // 시작 시간 값 가져오기
var endPnttmValue = $(this).find("#endPnttm").val(); // 종료 시간 값 가져오기
var strtDate = new Date(strtPnttmValue); // 시작 시간을 Date 객체로 변환
var endDate = new Date(endPnttmValue); // 종료 시간을 Date 객체로 변환
// 현재 날짜가 시작 시간과 종료 시간 사이에 있는지 확인
if (currentDate >= strtDate && currentDate <= endDate) {
console.log("현재 날짜가 포함됩니다: " + $(this).text().trim());
} else {
console.log("현재 날짜가 포함되지 않습니다: " + $(this).text().trim());
$(this).find("button").attr('onclick', 'location.href="${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduInfo.do"')
}
});
// 상태값 확인
// 리스트 상태값 확인
$(".ddlnCdStts").each(function() {
var $thisCell = $(this);
var $applyButton = $thisCell.closest('tr').find(".aplctBtn button");
@ -290,8 +307,9 @@ $(document).ready(function(){
<div class="best_list">
<c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3">
<div class="best_con">
<input type="hidden" id="strtPnttm" value="${list.strtPnttm }">
<input type="hidden" id="endPnttm" value="${list.endPnttm }">
<ul>
<li class="con_title"><c:out value="${list.prcsNm}"/></li>
<li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li>
@ -299,36 +317,6 @@ $(document).ready(function(){
</ul>
</div>
</c:forEach>
<!--
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화 핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
-->
</div>
<!-- tab -->
@ -458,7 +446,7 @@ $(document).ready(function(){
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="fn_eduInquiry()">교육문의(미개발)</button>
<!-- <button type="button" class="btnType01" onclick="fn_eduInquiry()">교육문의(미개발)</button> -->
</div>
</div>

View File

@ -58,7 +58,11 @@
function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm"));
@ -104,7 +108,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>대시보드</h2>
<h2>나의강의실</h2>
</div>
<ul class="edu_process">
<li class="edu_apply" style="cursor: pointer;" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'"><i></i>

View File

@ -51,7 +51,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>대시보드</h2>
<h2>나의강의실</h2>
</div>
<ul class="edu_process">
<li class="edu_apply"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>