feat:관리자 - 기반 / 기소 교육확정관리목록,상세
This commit is contained in:
parent
f0c5f6f655
commit
41cd31487a
@ -299,6 +299,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
|||||||
|
|
||||||
private String unfthYn; //불성실여부
|
private String unfthYn; //불성실여부
|
||||||
|
|
||||||
|
private String trgtNm; //기소유예 대상자
|
||||||
|
|
||||||
|
private String vs_clphone; //기소유예 대상자 폰번호
|
||||||
|
|
||||||
|
|
||||||
public String getPrcsAplctPrdOrd() {
|
public String getPrcsAplctPrdOrd() {
|
||||||
return prcsAplctPrdOrd;
|
return prcsAplctPrdOrd;
|
||||||
@ -1523,6 +1527,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setNeedTxtbNum(String needTxtbNum) {
|
public void setNeedTxtbNum(String needTxtbNum) {
|
||||||
this.needTxtbNum = needTxtbNum;
|
this.needTxtbNum = needTxtbNum;
|
||||||
}
|
}
|
||||||
|
public String getTrgtNm() {
|
||||||
|
return trgtNm;
|
||||||
|
}
|
||||||
|
public void setTrgtNm(String trgtNm) {
|
||||||
|
this.trgtNm = trgtNm;
|
||||||
|
}
|
||||||
|
public String getVs_clphone() {
|
||||||
|
return vs_clphone;
|
||||||
|
}
|
||||||
|
public void setVs_clphone(String vs_clphone) {
|
||||||
|
this.vs_clphone = vs_clphone;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import kcc.let.uss.umt.service.UserManageVO;
|
import kcc.let.uss.umt.service.UserManageVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
|
|
||||||
public interface VEEduMIXService {
|
public interface VEEduMIXService {
|
||||||
|
|
||||||
@ -52,4 +53,6 @@ public interface VEEduMIXService {
|
|||||||
void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception;
|
void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||||
//저작권 체험교실 목록
|
//저작권 체험교실 목록
|
||||||
List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception;
|
List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
|
void updateAplctStateCd(VEEduAplctVO vEEduAplctVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -142,5 +142,9 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnPagingList", paramVO);
|
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnPagingList", paramVO);
|
||||||
return tlist;
|
return tlist;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateAplctStateCd(VEEduAplctVO vEEduAplctVO) {
|
||||||
|
update("VEEduMIXDAO.updateAplctStateCd", vEEduAplctVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO;
|
|||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
|
|
||||||
@Service("vEEduMIXService")
|
@Service("vEEduMIXService")
|
||||||
public class VEEduMIXServiceImpl implements VEEduMIXService {
|
public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||||
@ -129,4 +130,9 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
|||||||
public List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception{
|
public List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception{
|
||||||
return vEEduMIXDAO.selectExprnPagingList(paramVO);
|
return vEEduMIXDAO.selectExprnPagingList(paramVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAplctStateCd(VEEduAplctVO vEEduAplctVO) {
|
||||||
|
vEEduMIXDAO.updateAplctStateCd(vEEduAplctVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,4 +17,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService {
|
|||||||
VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
VEPrcsDetailVO selectAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
||||||
|
|
||||||
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO);
|
||||||
|
|
||||||
|
void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,6 +114,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
private String eduPlace; //교육장소
|
private String eduPlace; //교육장소
|
||||||
|
|
||||||
private String instrDiv;
|
private String instrDiv;
|
||||||
|
private String instrCnt;
|
||||||
private String userId;
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
@ -563,6 +564,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setInstrDiv(String instrDiv) {
|
public void setInstrDiv(String instrDiv) {
|
||||||
this.instrDiv = instrDiv;
|
this.instrDiv = instrDiv;
|
||||||
}
|
}
|
||||||
|
public String getInstrCnt() {
|
||||||
|
return instrCnt;
|
||||||
|
}
|
||||||
|
public void setInstrCnt(String instrCnt) {
|
||||||
|
this.instrCnt = instrCnt;
|
||||||
|
}
|
||||||
public String getUserId() {
|
public String getUserId() {
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,6 +36,11 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) {
|
public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) {
|
||||||
delete("VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail", vEDetailVO);
|
delete("VEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail", vEDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
|
update("VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax", vEPrcsDetailVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -58,4 +58,10 @@ public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInst
|
|||||||
public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) {
|
public void updateAprvlCdEduAplctDetail(VEPrcsDetailVO vEDetailVO) {
|
||||||
vEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail(vEDetailVO);
|
vEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail(vEDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@ -612,7 +613,7 @@ public class CndtnPrcsInfoMngController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화연수과정 기간 상세화면
|
* 조건부기소유예 기간 상세화면
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.do")
|
||||||
public String cndtnEduPrcsAplctPrdMngDetail(
|
public String cndtnEduPrcsAplctPrdMngDetail(
|
||||||
@ -652,7 +653,6 @@ public class CndtnPrcsInfoMngController {
|
|||||||
|
|
||||||
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
||||||
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
|
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
|
||||||
System.out.println("====");
|
|
||||||
|
|
||||||
|
|
||||||
//대상 리스트, 페이징 정보 전달
|
//대상 리스트, 페이징 정보 전달
|
||||||
@ -662,6 +662,7 @@ public class CndtnPrcsInfoMngController {
|
|||||||
// 강사 배치 정보
|
// 강사 배치 정보
|
||||||
{
|
{
|
||||||
|
|
||||||
|
System.out.println("====");
|
||||||
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
|
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
|
||||||
|
|
||||||
@ -670,10 +671,114 @@ public class CndtnPrcsInfoMngController {
|
|||||||
|
|
||||||
return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail";
|
return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화 신청자 상태값 변경
|
* 조건부기소유예 기간 상세화면
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.do")
|
||||||
|
public String cndtnEduPrcsAplctCfnMngDetail(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
|
||||||
|
, ModelMap model
|
||||||
|
, RedirectAttributes redirectAttributes
|
||||||
|
, HttpSession session
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
//과정 조회
|
||||||
|
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
|
||||||
|
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||||
|
|
||||||
|
//과정 신청자 정보 가져오기
|
||||||
|
{
|
||||||
|
//해당 과정을 제출한 사용자 정보를 가져온다.
|
||||||
|
VEEduAplctVO paramVO = new VEEduAplctVO();
|
||||||
|
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
paramVO.setSbmtYn("Y");
|
||||||
|
|
||||||
|
// 검색 - 날짜
|
||||||
|
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
|
||||||
|
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
|
||||||
|
// 검색 - 검색어
|
||||||
|
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
|
||||||
|
paramVO.setSearchSelStatus(vEPrcsDetailVO.getSearchSelStatus());
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) {
|
||||||
|
|
||||||
|
String searchQuery = "AND vadi.APLCT_STATE_CD = "+vEPrcsDetailVO.getSearchStatus();
|
||||||
|
paramVO.setSearchQuery(searchQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
||||||
|
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
|
||||||
|
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 강사 배치 정보
|
||||||
|
{
|
||||||
|
|
||||||
|
System.out.println("====");
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
|
||||||
|
|
||||||
|
model.addAttribute("instrAsgnmList", instrAsgnmList);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기소유예 이수 / 미이수 상태 변경 처리
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax.do")
|
||||||
|
public ModelAndView updateAplctStateCdAjax(
|
||||||
|
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView("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 로그인 정보 가져오기
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
} catch (Exception e) {
|
||||||
|
modelAndView.addObject("result", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 기소유예 신청자 상태값 변경
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do")
|
||||||
public ModelAndView updateEduAplctAprvlCd(
|
public ModelAndView updateEduAplctAprvlCd(
|
||||||
@ -718,6 +823,54 @@ public class CndtnPrcsInfoMngController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기소유예 교육확정상세 > 이수/미이수 체크버튼 처리
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do")
|
||||||
|
public ModelAndView updateAplctStateCdListAjax(
|
||||||
|
@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(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 교육 신청 테이블에 신청자 상태값 update
|
||||||
|
vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
// 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함
|
||||||
|
if("20".equals(vEPrcsDetailVO.getAprvlCd())) {
|
||||||
|
this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId());
|
||||||
|
}
|
||||||
|
// 접수취소(반려) - vea_aplct_detail_info TB에 data update
|
||||||
|
else if("30".equals(vEPrcsDetailVO.getAprvlCd()))
|
||||||
|
{
|
||||||
|
this.aprvlCd30(vEPrcsDetailVO);
|
||||||
|
}
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
modelAndView.addObject("result", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1037,7 +1190,7 @@ public class CndtnPrcsInfoMngController {
|
|||||||
|
|
||||||
|
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do")
|
||||||
public String fndthEduPrcsAplctPrdMngList(
|
public String cndtnEduPrcsAplctPrdMngList(
|
||||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
@ -1094,6 +1247,76 @@ public class CndtnPrcsInfoMngController {
|
|||||||
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList";
|
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do")
|
||||||
|
public String cndtnEduPrcsAplctCfnMngList(
|
||||||
|
@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(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
|
//교육확정 목록 조회
|
||||||
|
vEPrcsDetailVO.setDdlnCd("20");
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||||
|
String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||||
|
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
|
||||||
|
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
|
||||||
|
vEPrcsDetailVO.setSearchStatusArr(splited);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||||
|
|
||||||
|
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||||
|
|
||||||
|
}
|
||||||
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
// 지정된 강사가 있는지 확인
|
||||||
|
vEPrcsDetailVOList.stream().forEach(t->{
|
||||||
|
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd());
|
||||||
|
if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) {
|
||||||
|
t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size()));
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기소유예 신청기간 등록 화면
|
* 기소유예 신청기간 등록 화면
|
||||||
@ -1156,7 +1379,7 @@ public class CndtnPrcsInfoMngController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화연수과정 기간 상세수정화면
|
* 조건부기소유예 기간 상세수정화면
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.do")
|
||||||
public String cndtnEduPrcsAplctPrdMngMdfy(
|
public String cndtnEduPrcsAplctPrdMngMdfy(
|
||||||
@ -1219,7 +1442,7 @@ public class CndtnPrcsInfoMngController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화연수과정 신청기간 수정
|
* 조건부기소유예 신청기간 수정
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfyAjax.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfyAjax.do")
|
||||||
public ModelAndView cndtnEduPrcsAplctPrdMngMdfyAjax(
|
public ModelAndView cndtnEduPrcsAplctPrdMngMdfyAjax(
|
||||||
|
|||||||
@ -36,6 +36,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
|||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||||
@ -128,66 +129,6 @@ public class FndthPrcsAplctMngController {
|
|||||||
@Resource(name = "mberManageService")
|
@Resource(name = "mberManageService")
|
||||||
private EgovMberManageService mberManageService;
|
private EgovMberManageService mberManageService;
|
||||||
|
|
||||||
/**
|
|
||||||
* 기반강화연수 과정 신청 관리 목록 화면
|
|
||||||
*/
|
|
||||||
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList.do")
|
|
||||||
public String fndthEduPrcsAplctMngList( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , HttpSession session, ModelMap model ) throws Exception {
|
|
||||||
|
|
||||||
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
|
||||||
|
|
||||||
//년도
|
|
||||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchYear())){
|
|
||||||
//vEEduAplctVO.setSearchYear(String.valueOf(LocalDate.now().getYear()));
|
|
||||||
}
|
|
||||||
|
|
||||||
//월
|
|
||||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchMonth())){
|
|
||||||
vEEduAplctVO.setSearchMonth(String.valueOf(LocalDate.now().getMonthValue()));
|
|
||||||
}
|
|
||||||
if(!"".equals(vEEduAplctVO.getSearchChrgNm())) {
|
|
||||||
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchChrgNm()));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 요청, 반려건
|
|
||||||
//vEEduAplctVO.setSearchNotStatusArr(new String[]{"60"});
|
|
||||||
// 청소년
|
|
||||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
|
||||||
//1.pageing step1
|
|
||||||
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
|
|
||||||
|
|
||||||
//정렬
|
|
||||||
if("".equals(vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
||||||
vEEduAplctVO.setOrderByQuery("A.SBMT_PNTTM DESC");
|
|
||||||
}else{
|
|
||||||
vEEduAplctVO.setOrderByQuery(vEEduAplctVO.getSearchSortCnd() + " " +vEEduAplctVO.getSearchSortOrd());
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("vEEduAplctVO.getOrderByQuery() :: "+ vEEduAplctVO.getOrderByQuery());
|
|
||||||
|
|
||||||
//2. pageing step2
|
|
||||||
vEEduAplctVO = this.setPagingStep2Sub(vEEduAplctVO, paginationInfo);
|
|
||||||
vEEduAplctVO.setNotiUserId(user.getUniqId());
|
|
||||||
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 리스트 검색에서 교육일자 시작/종료일 입력 없이 검색시
|
|
||||||
* 기존 searchEndDt where 조건에 1=2로 되어있어서 리스트 검색이 안되던 것을
|
|
||||||
* 저작위 요청사항으로 1=1로 변경하여 날짜 입력이 안되어도 검색이 되도록 수정함
|
|
||||||
* 2023-04-28 우영두
|
|
||||||
*
|
|
||||||
* */
|
|
||||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
|
||||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
|
||||||
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchChrgNm()));
|
|
||||||
//3.pageing step3
|
|
||||||
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
|
|
||||||
model.addAttribute("paginationInfo", paginationInfo);
|
|
||||||
//대상 리스트, 페이징 정보 전달
|
|
||||||
model.addAttribute("list", vEEduAplctVOList);
|
|
||||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctMngList";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화연수 신청 등록 화면
|
* 기반강화연수 신청 등록 화면
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import javax.annotation.Resource;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpSession;
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@ -240,6 +241,147 @@ public class FndthPrcsAplctPrdMngController {
|
|||||||
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList";
|
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngList";
|
||||||
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수 교육확정관리목록
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do")
|
||||||
|
public String fndthEduPrcsAplctMngList( @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, HttpSession session, 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("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
|
//교육확정 목록 조회
|
||||||
|
vEPrcsDetailVO.setDdlnCd("20");
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||||
|
String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||||
|
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
|
||||||
|
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
|
||||||
|
vEPrcsDetailVO.setSearchStatusArr(splited);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||||
|
|
||||||
|
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||||
|
|
||||||
|
}
|
||||||
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
// 지정된 강사가 있는지 확인
|
||||||
|
vEPrcsDetailVOList.stream().forEach(t->{
|
||||||
|
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd());
|
||||||
|
if(vEAPrcsAplctPrdInstrAsgnmList.size() > 0) {
|
||||||
|
t.setInstrCnt(Integer.toString(vEAPrcsAplctPrdInstrAsgnmList.size()));
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 조건부기소유예 기간 상세화면
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do")
|
||||||
|
public String cndtnEduPrcsAplctCfnMngDetail(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
|
||||||
|
, ModelMap model
|
||||||
|
, RedirectAttributes redirectAttributes
|
||||||
|
, HttpSession session
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
//과정 조회
|
||||||
|
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
|
||||||
|
model.addAttribute("info", vEPrcsDetailVODetail);
|
||||||
|
|
||||||
|
//과정 신청자 정보 가져오기
|
||||||
|
{
|
||||||
|
//해당 과정을 제출한 사용자 정보를 가져온다.
|
||||||
|
VEEduAplctVO paramVO = new VEEduAplctVO();
|
||||||
|
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
paramVO.setSbmtYn("Y");
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) {
|
||||||
|
|
||||||
|
String searchQuery = "AND vadi.APLCT_STATE_CD = "+vEPrcsDetailVO.getSearchStatus();
|
||||||
|
paramVO.setSearchQuery(searchQuery);
|
||||||
|
}
|
||||||
|
// 검색 - 날짜
|
||||||
|
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
|
||||||
|
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
|
||||||
|
// 검색 - 검색어
|
||||||
|
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
||||||
|
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
|
||||||
|
System.out.println("====");
|
||||||
|
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 강사 배치 정보
|
||||||
|
{
|
||||||
|
|
||||||
|
System.out.println("====");
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
|
||||||
|
|
||||||
|
model.addAttribute("instrAsgnmList", instrAsgnmList);
|
||||||
|
}
|
||||||
|
|
||||||
|
return "oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -109,11 +109,10 @@
|
|||||||
/* cndtnTrgtInfoMngDAO.update */
|
/* cndtnTrgtInfoMngDAO.update */
|
||||||
UPDATE
|
UPDATE
|
||||||
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
|
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
|
||||||
SET
|
SET
|
||||||
user_id = #userId#
|
edu_state_cd = #eduStateCd#
|
||||||
, edu_state_cd = #eduStateCd#
|
, last_updt_pnttm = SYSDATE
|
||||||
, last_updt_pnttm = SYSDATE
|
, last_updusr_id = #lastUpdusrId#
|
||||||
, last_updusr_id = #lastUpdusrId#
|
|
||||||
, trgt_nm = #trgtNm#
|
, trgt_nm = #trgtNm#
|
||||||
, clphone = #clphone#
|
, clphone = #clphone#
|
||||||
, d_birth = #dBirth#
|
, d_birth = #dBirth#
|
||||||
|
|||||||
@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 강사 정보 L -->
|
<!-- -->
|
||||||
<select id="VEEduMIXDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
<select id="VEEduMIXDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||||
/* VEEduMIXDAO.selectList */
|
/* VEEduMIXDAO.selectList */
|
||||||
SELECT
|
SELECT
|
||||||
@ -149,6 +149,63 @@
|
|||||||
AND a.aprvl_cd = #searchSelStatus#
|
AND a.aprvl_cd = #searchSelStatus#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchQuery">
|
||||||
|
$searchQuery$
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchSmbtStartDt">
|
||||||
|
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchSmbtEndDt">
|
||||||
|
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
AND a.use_yn = 'Y'
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
<select id="VEEduMIXDAO.selectTrgtList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||||
|
/* VEEduMIXDAO.selectList */
|
||||||
|
SELECT
|
||||||
|
qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */
|
||||||
|
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
|
||||||
|
le.MBER_NM AS userNm,
|
||||||
|
<include refid="VEEduMIXDAO.select_column_name"/>,
|
||||||
|
vsit.trgt_nm AS trgtNm,
|
||||||
|
vsit.clphone AS vs_clphone,
|
||||||
|
vsit.d_birth AS dBirth
|
||||||
|
FROM
|
||||||
|
<include refid="VEEduMIXDAO.table_name"/> a
|
||||||
|
JOIN ve_prcs_aplct_prd vpap ON
|
||||||
|
a.PRCS_ORD = vpap.PRCS_APLCT_PRD_ORD
|
||||||
|
LEFT JOIN VEA_APLCT_DETAIL_INFO vadi ON
|
||||||
|
a.EDU_APLCT_ORD = vadi.EDU_APLCT_ORD
|
||||||
|
/* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */
|
||||||
|
JOIN LETTNGNRLMBER le ON
|
||||||
|
a.USER_ID = le.MBER_ID
|
||||||
|
LEFT JOIN LETTNQESTNRINFO qe ON
|
||||||
|
a.USER_ID = qe.FRST_REGISTER_ID
|
||||||
|
LEFT JOIN VEA_SSPN_IDMT_TRGT vsit
|
||||||
|
ON a.user_id = vsit.user_id
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
<isNotEmpty property="prcsOrd">
|
||||||
|
AND a.prcs_ord=#prcsOrd#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="sbmtYn">
|
||||||
|
AND a.sbmt_yn=#sbmtYn#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchSelStatus">
|
||||||
|
AND a.aprvl_cd = #searchSelStatus#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchQuery">
|
||||||
|
$searchQuery$
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
<isNotEmpty property="searchSmbtStartDt">
|
<isNotEmpty property="searchSmbtStartDt">
|
||||||
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
|
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
@ -3446,6 +3503,19 @@ VALUES
|
|||||||
edu_aplct_ord = #eduAplctOrd#
|
edu_aplct_ord = #eduAplctOrd#
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<update id="VEEduMIXDAO.updateAplctStateCd" parameterClass="VEEduAplctVO">
|
||||||
|
/* VEEduMIXDAO.updateAplctStateCd */
|
||||||
|
|
||||||
|
UPDATE
|
||||||
|
vea_aplct_detail_info
|
||||||
|
SET
|
||||||
|
aplct_state_cd = #aplctStateCd#
|
||||||
|
WHERE
|
||||||
|
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||||
|
AND edu_aplct_ord = #eduAplctOrd#
|
||||||
|
|
||||||
|
|
||||||
|
</update>
|
||||||
<select id="VEEduMIXDAO.selectExprnPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
<select id="VEEduMIXDAO.selectExprnPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||||
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectExprnPagingList */
|
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectExprnPagingList */
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@ -116,9 +116,26 @@
|
|||||||
|
|
||||||
<!-- 교육 신청자 상태 update -->
|
<!-- 교육 신청자 상태 update -->
|
||||||
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct" parameterClass="VEPrcsDetailVO">
|
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct" parameterClass="VEPrcsDetailVO">
|
||||||
|
|
||||||
|
/* VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax */
|
||||||
|
|
||||||
UPDATE VE_EDU_APLCT
|
UPDATE VE_EDU_APLCT
|
||||||
SET aprvl_cd = #aprvlCd#
|
SET aprvl_cd = #aprvlCd#
|
||||||
WHERE edu_aplct_ord IN
|
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||||
|
AND edu_aplct_ord IN
|
||||||
|
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
|
||||||
|
#eduAplctOrdList[]#
|
||||||
|
</iterate>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 교육 신청자 상태 update -->
|
||||||
|
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax" parameterClass="VEPrcsDetailVO">
|
||||||
|
/* VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax */
|
||||||
|
|
||||||
|
UPDATE VEA_APLCT_DETAIL_INFO
|
||||||
|
SET aplct_state_cd = #aplctStateCd#
|
||||||
|
WHERE prcs_aplct_prd_ord = #prcsAplctPrdOrd#
|
||||||
|
AND edu_aplct_ord IN
|
||||||
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
|
<iterate property="eduAplctOrdList" open="(" close=")" conjunction=",">
|
||||||
#eduAplctOrdList[]#
|
#eduAplctOrdList[]#
|
||||||
</iterate>
|
</iterate>
|
||||||
@ -126,7 +143,8 @@
|
|||||||
|
|
||||||
<!-- 강사 배정 등록 -->
|
<!-- 강사 배정 등록 -->
|
||||||
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd" parameterClass="String" resultClass="VEAPrcsAplctPrdInstrAsgnmVO">
|
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd" parameterClass="String" resultClass="VEAPrcsAplctPrdInstrAsgnmVO">
|
||||||
|
/* VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd */
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"/>
|
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"/>
|
||||||
, vid.instr_nm as instrNm
|
, vid.instr_nm as instrNm
|
||||||
|
|||||||
@ -331,11 +331,17 @@
|
|||||||
<isNotEmpty property="prcsAplctPrdOrd">
|
<isNotEmpty property="prcsAplctPrdOrd">
|
||||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
/*교육확정목록을 조회하기 위한 조건문*/
|
||||||
|
<isNotEmpty property="ddlnCd">
|
||||||
|
AND a.ddln_cd = #ddlnCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
<isNotEmpty property="searchKeyword">
|
<isNotEmpty property="searchKeyword">
|
||||||
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
|
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ORDER BY 1
|
ORDER BY 1
|
||||||
|
|||||||
@ -0,0 +1,491 @@
|
|||||||
|
<!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 : cndtnEduPrcsAplctPrdMngDetail.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(){
|
||||||
|
|
||||||
|
$('#searchStatus').change(function(){
|
||||||
|
searchpage();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function searchpage(){
|
||||||
|
|
||||||
|
var form = document.detailForm ;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.do'/>";
|
||||||
|
form.submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoDetail(){
|
||||||
|
var form = document.detailForm ;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.do'/>";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncMdfy(){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfy.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fn_delInstr(data){
|
||||||
|
document.instrForm.userId.value = data ;
|
||||||
|
var data = new FormData(document.getElementById("instrForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
// var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/instrDelAjax.do'/>";
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.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("삭제되었습니다.");
|
||||||
|
// 새로고침
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fn_statusChg(eduAplctOrd, aplctStateCd){
|
||||||
|
document.statusChgForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
|
document.statusChgForm.aplctStateCd.value = aplctStateCd ;
|
||||||
|
var data = new FormData(document.getElementById("statusChgForm"));
|
||||||
|
if(confirm("상태병경을 하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax.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("변경되었습니다.");
|
||||||
|
// 새로고침
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 강사 배치
|
||||||
|
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
|
||||||
|
var form = document.popForm;
|
||||||
|
|
||||||
|
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
|
||||||
|
|
||||||
|
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup.do'/>";
|
||||||
|
|
||||||
|
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
|
||||||
|
form.target = "_securityPop";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function chkAll(obj) {
|
||||||
|
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
|
||||||
|
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// form 데이터를 묶지 않기 때문에 prcsAplctPrdOrd 데이터 필요함
|
||||||
|
function fn_statusChgList(p_aplctStateCd, p_prcsAplctPrdOrd) {
|
||||||
|
var selectedEduAplctOrd = [];
|
||||||
|
|
||||||
|
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||||
|
$("input[name='chk']:checked").each(function() {
|
||||||
|
var eduAplctOrdValue = $(this).val();
|
||||||
|
selectedEduAplctOrd.push(eduAplctOrdValue);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('selectedEduAplctOrd : ', selectedEduAplctOrd);
|
||||||
|
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
|
||||||
|
if (selectedEduAplctOrd.length === 0) {
|
||||||
|
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrdList": selectedEduAplctOrd,
|
||||||
|
"aplctStateCd": p_aplctStateCd,
|
||||||
|
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
|
||||||
|
};
|
||||||
|
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do'/>";
|
||||||
|
|
||||||
|
|
||||||
|
// AJAX 호출을 통해 서버에 데이터 전송
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
|
||||||
|
// contentType : 'application/json',
|
||||||
|
dataType:'json',
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("변경 처리 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else{
|
||||||
|
alert("변경 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown) {
|
||||||
|
console.error("AJAX Error:", textStatus, errorThrown);
|
||||||
|
console.error("Response:", jqXHR.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="instrForm" name="instrForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="userId" id="userId"/>
|
||||||
|
</form>
|
||||||
|
<form id="statusChgForm" name="statusChgForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="aplctStateCd" id="aplctStateCd"/>
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
|
||||||
|
</form>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form id="popForm" name="popForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="1"/>
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="" />
|
||||||
|
<input type="hidden" name="pageUnit" value="5" />
|
||||||
|
</form>
|
||||||
|
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<!-- 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">교육부분</th>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.prcsNm}"/>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육장소</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.eduPlace}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.prcsCn }" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">정원</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.nos}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td id="ddlnCdStts">
|
||||||
|
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>공개여부(사용여부)</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:if test="${empty info.useYn or info.useYn eq 'Y'}">예</c:if>
|
||||||
|
<c:if test="${info.useYn eq 'N'}">아니오</c:if>
|
||||||
|
</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="fncMdfy(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
강사 배치 정보
|
||||||
|
강사 배치 정보
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>강사 배치 정보</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;"><!-- name -->
|
||||||
|
<col style="width: auto;"><!-- 제출일 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>강사명</th>
|
||||||
|
<th>연락처</th>
|
||||||
|
<th>확정여부</th>
|
||||||
|
<th>삭제</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty instrAsgnmList }">
|
||||||
|
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.instrNm }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.phone }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_type01" onclick="fn_delInstr('<c:out value="${list.userId }" />')">삭제</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">강사 배치 정보가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 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="fncInstrAsgnmInfo('<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">강사배치</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
교육 신청자 list_상세
|
||||||
|
교육 신청자 list_상세
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육신청자</p> <!-- ${listPrcsAplct } -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VEA003" name="searchStatus" id="searchStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEPrcsDetailVO.searchStatus}" defaultValue='' includes="10,20"
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 12%">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
|
||||||
|
<th>신청자(대상자)</th>
|
||||||
|
<th>주민번호 앞자리</th>
|
||||||
|
<th>연락처</th>
|
||||||
|
<th>교육이수여부</th>
|
||||||
|
<th>교육이수상태변경</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty listPrcsAplct}">
|
||||||
|
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||||
|
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.userNm}"/>(<c:out value="${list.trgtNm}"/>)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.dBirth}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.vs_clphone}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '20')">이수</button>
|
||||||
|
<button type="button" class="btn_type05" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '10')">미이수</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="6">데이터가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
|
</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_type04" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'; return false;">교육확정목록</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,320 @@
|
|||||||
|
<!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 : cndtnEduPrcsAplctPrdMngList.jsp
|
||||||
|
* @Description : 조건부기소유예관리 과정 신청기간관리 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @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">
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
// 상태값 확인
|
||||||
|
$(".ddlnCdStts").each(function() {
|
||||||
|
var $currentCell = $(this);
|
||||||
|
|
||||||
|
// 텍스트가 비어있는지 확인
|
||||||
|
if ($currentCell.text().trim() === "") {
|
||||||
|
var $currentRow = $currentCell.closest('tr');
|
||||||
|
|
||||||
|
var strtPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[0].trim());
|
||||||
|
var endPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[1].trim());
|
||||||
|
var currentDate = new Date();
|
||||||
|
|
||||||
|
var ddlnCdText = '';
|
||||||
|
if (currentDate < strtPnttm) {
|
||||||
|
ddlnCdText = "접수전";
|
||||||
|
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
|
||||||
|
ddlnCdText = "접수중";
|
||||||
|
} else if (currentDate > endPnttm) {
|
||||||
|
ddlnCdText = "접수종료";
|
||||||
|
}
|
||||||
|
|
||||||
|
$currentCell.text(ddlnCdText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
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/cndtnEduPrcsAplctCfnMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoDetail(prcsAplctPrdOrd){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngDetail.do'/>";
|
||||||
|
listForm.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 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>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<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="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="" />
|
||||||
|
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육 확정 관리</p>
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
|
||||||
|
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
|
||||||
|
defaultText="전체"
|
||||||
|
/>
|
||||||
|
<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}'/>">
|
||||||
|
<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>
|
||||||
|
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: auto">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>NO</th>
|
||||||
|
<th>교육구분코드</th>
|
||||||
|
<th>과정명</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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value="${status.count}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
|
||||||
|
</td>
|
||||||
|
<td class="ddlnCdStts">
|
||||||
|
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%-- <c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/> --%>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.instrCnt ne 0 }">
|
||||||
|
배정완료
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<button type="button" class="btn_type04" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">강사배정</button>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<!-- <td> -->
|
||||||
|
<%-- <c:out value="${list.useYn}"/> --%>
|
||||||
|
<!-- </td> -->
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="7"><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>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -115,6 +115,10 @@
|
|||||||
<td>
|
<td>
|
||||||
<ve:code codeId="COM014" code="${info.sex }"/>
|
<ve:code codeId="COM014" code="${info.sex }"/>
|
||||||
</td>
|
</td>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.clphone }" />
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">성명</th>
|
<th scope="row">성명</th>
|
||||||
|
|||||||
@ -293,6 +293,10 @@
|
|||||||
defaultText='선택'
|
defaultText='선택'
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11" value="<c:out value="${info.clphone }" />" />
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">성명</th>
|
<th scope="row">성명</th>
|
||||||
|
|||||||
@ -242,6 +242,10 @@
|
|||||||
defaultText='선택'
|
defaultText='선택'
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">성명</th>
|
<th scope="row">성명</th>
|
||||||
|
|||||||
@ -0,0 +1,475 @@
|
|||||||
|
<!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 : cndtnEduPrcsAplctPrdMngDetail.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(){
|
||||||
|
|
||||||
|
$('#searchStatus').change(function(){
|
||||||
|
searchpage();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function searchpage(){
|
||||||
|
|
||||||
|
var form = document.detailForm ;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do'/>";
|
||||||
|
form.submit();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncMdfy(){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fn_delInstr(data){
|
||||||
|
document.instrForm.userId.value = data ;
|
||||||
|
var data = new FormData(document.getElementById("instrForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.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("삭제되었습니다.");
|
||||||
|
// 새로고침
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 기반 / 기소 공통
|
||||||
|
function fn_statusChg(eduAplctOrd, aplctStateCd){
|
||||||
|
document.statusChgForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
|
document.statusChgForm.aplctStateCd.value = aplctStateCd ;
|
||||||
|
var data = new FormData(document.getElementById("statusChgForm"));
|
||||||
|
if(confirm("상태병경을 하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax.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("변경되었습니다.");
|
||||||
|
// 새로고침
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 강사 배치
|
||||||
|
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
|
||||||
|
var form = document.popForm;
|
||||||
|
|
||||||
|
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
|
||||||
|
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup.do'/>";
|
||||||
|
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnInstrAsgnmPopup.do'/>";
|
||||||
|
|
||||||
|
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
|
||||||
|
form.target = "_securityPop";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function chkAll(obj) {
|
||||||
|
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
|
||||||
|
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// form 데이터를 묶지 않기 때문에 prcsAplctPrdOrd 데이터 필요함
|
||||||
|
function fn_statusChgList(p_aplctStateCd, p_prcsAplctPrdOrd) {
|
||||||
|
var selectedEduAplctOrd = [];
|
||||||
|
|
||||||
|
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||||
|
$("input[name='chk']:checked").each(function() {
|
||||||
|
var eduAplctOrdValue = $(this).val();
|
||||||
|
selectedEduAplctOrd.push(eduAplctOrdValue);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('selectedEduAplctOrd : ', selectedEduAplctOrd);
|
||||||
|
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
|
||||||
|
if (selectedEduAplctOrd.length === 0) {
|
||||||
|
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrdList": selectedEduAplctOrd,
|
||||||
|
"aplctStateCd": p_aplctStateCd,
|
||||||
|
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
|
||||||
|
};
|
||||||
|
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do'/>";
|
||||||
|
|
||||||
|
|
||||||
|
// AJAX 호출을 통해 서버에 데이터 전송
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
|
||||||
|
// contentType : 'application/json',
|
||||||
|
dataType:'json',
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("변경 처리 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else{
|
||||||
|
alert("변경 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown) {
|
||||||
|
console.error("AJAX Error:", textStatus, errorThrown);
|
||||||
|
console.error("Response:", jqXHR.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="instrForm" name="instrForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="userId" id="userId"/>
|
||||||
|
</form>
|
||||||
|
<form id="statusChgForm" name="statusChgForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="aplctStateCd" id="aplctStateCd"/>
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
|
||||||
|
</form>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form id="popForm" name="popForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="1"/>
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="" />
|
||||||
|
<input type="hidden" name="pageUnit" value="5" />
|
||||||
|
</form>
|
||||||
|
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<!-- 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">교육부분</th>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.prcsNm}"/>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육장소</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.eduPlace}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.prcsCn }" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">정원</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.nos}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td id="ddlnCdStts">
|
||||||
|
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>공개여부(사용여부)</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:if test="${empty info.useYn or info.useYn eq 'Y'}">예</c:if>
|
||||||
|
<c:if test="${info.useYn eq 'N'}">아니오</c:if>
|
||||||
|
</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="fncMdfy(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
강사 배치 정보
|
||||||
|
강사 배치 정보
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>강사 배치 정보</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;"><!-- name -->
|
||||||
|
<col style="width: auto;"><!-- 제출일 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>강사명</th>
|
||||||
|
<th>연락처</th>
|
||||||
|
<th>확정여부</th>
|
||||||
|
<th>삭제</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty instrAsgnmList }">
|
||||||
|
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.instrNm }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.phone }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_type01" onclick="fn_delInstr('<c:out value="${list.userId }" />')">삭제</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">강사 배치 정보가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 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="fncInstrAsgnmInfo('<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">강사배치</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
교육 신청자 list_상세
|
||||||
|
교육 신청자 list_상세
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육신청자</p> <!-- ${listPrcsAplct } -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VEA003" name="searchStatus" id="searchStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEPrcsDetailVO.searchStatus}" defaultValue='' includes="10,20"
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
|
||||||
|
<th>신청자</th>
|
||||||
|
<th>교육이수여부</th>
|
||||||
|
<th>교육이수상태변경</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty listPrcsAplct}">
|
||||||
|
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||||
|
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.userNm}"/>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '20')">이수</button>
|
||||||
|
<button type="button" class="btn_type05" onclick="fn_statusChg('<c:out value="${list.eduAplctOrd }" />', '10')">미이수</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">데이터가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
|
</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_type04" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'; return false;">교육확정목록</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('20', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">이수</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_statusChgList('10', '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">미이수</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,320 @@
|
|||||||
|
<!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 : cndtnEduPrcsAplctPrdMngList.jsp
|
||||||
|
* @Description : 조건부기소유예관리 과정 신청기간관리 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @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">
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
// 상태값 확인
|
||||||
|
$(".ddlnCdStts").each(function() {
|
||||||
|
var $currentCell = $(this);
|
||||||
|
|
||||||
|
// 텍스트가 비어있는지 확인
|
||||||
|
if ($currentCell.text().trim() === "") {
|
||||||
|
var $currentRow = $currentCell.closest('tr');
|
||||||
|
|
||||||
|
var strtPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[0].trim());
|
||||||
|
var endPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[1].trim());
|
||||||
|
var currentDate = new Date();
|
||||||
|
|
||||||
|
var ddlnCdText = '';
|
||||||
|
if (currentDate < strtPnttm) {
|
||||||
|
ddlnCdText = "접수전";
|
||||||
|
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
|
||||||
|
ddlnCdText = "접수중";
|
||||||
|
} else if (currentDate > endPnttm) {
|
||||||
|
ddlnCdText = "접수종료";
|
||||||
|
}
|
||||||
|
|
||||||
|
$currentCell.text(ddlnCdText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
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/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoDetail(prcsAplctPrdOrd){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.do'/>";
|
||||||
|
listForm.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/fndthEnhanceTrn/fndthEduPrcsMngDeleteAjax.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 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>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<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="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="" />
|
||||||
|
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육 확정 관리</p>
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
|
||||||
|
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
|
||||||
|
defaultText="전체"
|
||||||
|
/>
|
||||||
|
<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}'/>">
|
||||||
|
<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>
|
||||||
|
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: auto">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>NO</th>
|
||||||
|
<th>교육구분코드</th>
|
||||||
|
<th>과정명</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 onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value="${status.count}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
|
||||||
|
</td>
|
||||||
|
<td class="ddlnCdStts">
|
||||||
|
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%-- <c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/> --%>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.instrCnt ne 0 }">
|
||||||
|
배정완료
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<button type="button" class="btn_type04" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">강사배정</button>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<!-- <td> -->
|
||||||
|
<%-- <c:out value="${list.useYn}"/> --%>
|
||||||
|
<!-- </td> -->
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="7"><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>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -217,7 +217,7 @@
|
|||||||
<ul class="cont_nav">
|
<ul class="cont_nav">
|
||||||
<li class="home"><a href="/"><i></i></a></li>
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
<li>
|
<li>
|
||||||
<p>조건부기소유예관리</p>
|
<p>기반강화연수관리</p>
|
||||||
</li>
|
</li>
|
||||||
<li><span class="cur_nav">과정신청기간관리 신청기간 상세</span></li>
|
<li><span class="cur_nav">과정신청기간관리 신청기간 상세</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user