Merge branch 'advc' of http://subsub8729@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
084e2be35b
@ -172,6 +172,9 @@ public class ComDefaultVO implements Serializable {
|
||||
|
||||
private String searchQuery;
|
||||
|
||||
private String searchStartRegistPnttm;
|
||||
private String searchEndRegistPnttm;
|
||||
|
||||
public int getBeSort() {
|
||||
return beSort;
|
||||
}
|
||||
@ -844,4 +847,20 @@ public class ComDefaultVO implements Serializable {
|
||||
this.searchQuery = searchQuery;
|
||||
}
|
||||
|
||||
public String getSearchStartRegistPnttm() {
|
||||
return searchStartRegistPnttm;
|
||||
}
|
||||
|
||||
public void setSearchStartRegistPnttm(String searchStartRegistPnttm) {
|
||||
this.searchStartRegistPnttm = searchStartRegistPnttm;
|
||||
}
|
||||
|
||||
public String getSearchEndRegistPnttm() {
|
||||
return searchEndRegistPnttm;
|
||||
}
|
||||
|
||||
public void setSearchEndRegistPnttm(String searchEndRegistPnttm) {
|
||||
this.searchEndRegistPnttm = searchEndRegistPnttm;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -222,4 +222,10 @@ public final class DateUtil {
|
||||
LocalDate date = LocalDate.parse(p_date, formatter);
|
||||
return date;
|
||||
}
|
||||
|
||||
public static LocalDate getStringToLocalDateDot(String p_date) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
|
||||
LocalDate date = LocalDate.parse(p_date, formatter);
|
||||
return date;
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,9 +10,9 @@ import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
|
||||
@Repository("fndtnEnhanceTrnDAO")
|
||||
public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
|
||||
|
||||
public void insertIsltn(ScholInfoVO paramVO) throws Exception {
|
||||
/* public void insertIsltn(ScholInfoVO paramVO) throws Exception {
|
||||
insert("ScholInfoDAO.insertIsltn", paramVO);
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* L - Page
|
||||
@ -20,7 +20,7 @@ public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
|
||||
/* public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<ScholInfoVO> list = (List<ScholInfoVO>) list("ScholInfoDAO.selectPagingList", paramVO);
|
||||
return list;
|
||||
@ -56,5 +56,5 @@ public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
|
||||
|
||||
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
|
||||
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@ -475,6 +475,7 @@ public class FndtnEnhanceTrnController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -2,6 +2,7 @@ package kcc.ve.aplct.sspnIdtmt.service;
|
||||
|
||||
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
|
||||
public interface SspnIdtmtService {
|
||||
|
||||
@ -9,5 +10,7 @@ public interface SspnIdtmtService {
|
||||
|
||||
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
|
||||
|
||||
String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -6,20 +6,21 @@ import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
|
||||
@Repository("sspnIdtmtDAO")
|
||||
public class SspnIdtmtDAO extends EgovAbstractDAO {
|
||||
|
||||
public void insertIsltn(ScholInfoVO paramVO) throws Exception {
|
||||
insert("ScholInfoDAO.insertIsltn", paramVO);
|
||||
}
|
||||
|
||||
/**
|
||||
//
|
||||
// public void insertIsltn(ScholInfoVO paramVO) throws Exception {
|
||||
// insert("ScholInfoDAO.insertIsltn", paramVO);
|
||||
// }
|
||||
/*
|
||||
*//**
|
||||
* L - Page
|
||||
* @param scholInfoVO
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
*//*
|
||||
public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<ScholInfoVO> list = (List<ScholInfoVO>) list("ScholInfoDAO.selectPagingList", paramVO);
|
||||
@ -56,5 +57,9 @@ public class SspnIdtmtDAO extends EgovAbstractDAO {
|
||||
|
||||
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
|
||||
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
|
||||
}
|
||||
}*/
|
||||
|
||||
// public int findByTrgtNm(VEEduAplctVO vEEduAplctVO) {
|
||||
// return (int) select("SspnIdtmtDAO.findByTrgtNm", vEEduAplctVO);
|
||||
// }
|
||||
}
|
||||
|
||||
@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
|
||||
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl.CndtnTrgtMngDAO;
|
||||
|
||||
@Service("sspnIdtmtService")
|
||||
public class SspnIdtmtServiceImpl implements SspnIdtmtService {
|
||||
@ -16,9 +18,13 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
|
||||
@Resource(name="vEEduAplctDAO")
|
||||
private VEEduAplctDAO vEEduAplctDAO;
|
||||
|
||||
// 기소유예 관련
|
||||
@Resource(name="cndtnTrgtInfoMngDAO")
|
||||
private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO;
|
||||
|
||||
|
||||
@Override
|
||||
public void insertVeEduAplct(VEEduAplctVO paramVO) {
|
||||
//C
|
||||
vEEduAplctDAO.insertVeEduAplct(paramVO);
|
||||
}
|
||||
|
||||
@ -26,4 +32,9 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
|
||||
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
|
||||
return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||
return cndtnTrgtInfoMngDAO.findByTrgtNm(cndtnTrgtInfoMngVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,6 +40,8 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
|
||||
/**
|
||||
* 교육신청(성인찾아가는교육)
|
||||
@ -136,6 +138,11 @@ public class SspnIdtmtController {
|
||||
@Resource(name = "eduAplctAdultService")
|
||||
private EduAplctAdultService eduAplctAdultService;
|
||||
|
||||
//과정 관리
|
||||
@Resource(name = "cndtnTrgtInfoMngService")
|
||||
private CndtnTrgtMngService cndtnTrgtInfoMngService;
|
||||
|
||||
|
||||
//코드
|
||||
@Resource(name="cmmUseDAO")
|
||||
private CmmUseDAO cmmUseDAO;
|
||||
@ -294,7 +301,7 @@ public class SspnIdtmtController {
|
||||
/**
|
||||
* 교육신청 목록 화면
|
||||
*/
|
||||
@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do")
|
||||
/*@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do")
|
||||
public String fndtnEduAplctList(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
@ -357,7 +364,7 @@ public class SspnIdtmtController {
|
||||
|
||||
return "/web/ve/aplct/sspnIdtmt/fndtnEduAplctList";
|
||||
}
|
||||
/**
|
||||
*//**
|
||||
* 교육상세
|
||||
*/
|
||||
@RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctDetail.do")
|
||||
@ -400,6 +407,9 @@ public class SspnIdtmtController {
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
|
||||
|
||||
|
||||
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||
if (!"".equals(s_oprtnLoginCheckNInfo)) {
|
||||
modelAndView.addObject("result", "loginFail");
|
||||
@ -415,7 +425,7 @@ public class SspnIdtmtController {
|
||||
|
||||
vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId());
|
||||
|
||||
vEEduAplctVO.setLctrDivCd("60"); // 기반강화
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); // 기소유예
|
||||
vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려
|
||||
// sbmt_pnttm 제출일시
|
||||
vEEduAplctVO.setSbmtYn("Y"); // 제출여부
|
||||
@ -424,10 +434,60 @@ public class SspnIdtmtController {
|
||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||
|
||||
String result = "";
|
||||
try {
|
||||
|
||||
sspnIdtmtService.insertVeEduAplct(vEEduAplctVO);
|
||||
|
||||
|
||||
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
|
||||
|
||||
cndtnTrgtMngVO.setUserId(loginVO.getUniqId());
|
||||
cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd());
|
||||
|
||||
cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO);
|
||||
|
||||
result = "success";
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
|
||||
|
||||
|
||||
modelAndView.addObject("result", result);
|
||||
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 등록
|
||||
*/
|
||||
@RequestMapping("/web/ve/aplct/sspnIdtmt/userConfirmAjax.do")
|
||||
public ModelAndView userConfirmAjax(
|
||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||
, 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;
|
||||
}
|
||||
|
||||
|
||||
String id = sspnIdtmtService.findByTrgtNm(cndtnTrgtInfoMngVO);
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
modelAndView.addObject("id", id);
|
||||
|
||||
return modelAndView;
|
||||
|
||||
|
||||
@ -299,6 +299,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String unfthYn; //불성실여부
|
||||
|
||||
private String trgtNm; //기소유예 대상자
|
||||
|
||||
private String vs_clphone; //기소유예 대상자 폰번호
|
||||
|
||||
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
@ -1523,6 +1527,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setNeedTxtbNum(String 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.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
|
||||
public interface VEEduMIXService {
|
||||
|
||||
@ -52,4 +53,6 @@ public interface VEEduMIXService {
|
||||
void updateRsltRprtFileId(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
//저작권 체험교실 목록
|
||||
List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
void updateAplctStateCd(VEEduAplctVO vEEduAplctVO);
|
||||
}
|
||||
|
||||
@ -143,4 +143,8 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnPagingList", paramVO);
|
||||
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.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
|
||||
@Service("vEEduMIXService")
|
||||
public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||
@ -129,4 +130,9 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||
public List<VEEduAplctVO> selectExprnPagingList(VEEduAplctVO paramVO) throws Exception{
|
||||
return vEEduMIXDAO.selectExprnPagingList(paramVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAplctStateCd(VEEduAplctVO vEEduAplctVO) {
|
||||
vEEduMIXDAO.updateAplctStateCd(vEEduAplctVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -278,7 +278,8 @@ public class InstrPrflController {
|
||||
|
||||
//강의조사 기간 여부
|
||||
VELctrDetailVO vELctrDetailVO = new VELctrDetailVO();
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt");
|
||||
//vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt");
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt");
|
||||
vELctrDetailVO = vELctrRsrchMngService.selectDetailWithQuery(vELctrDetailVO);
|
||||
model.addAttribute("vELctrDetailVO", vELctrDetailVO);
|
||||
|
||||
|
||||
@ -154,7 +154,8 @@ public class lctrTngrInfoStngController {
|
||||
//2.오늘이 선택해서 들어온 강의조사의 기간 여부 체크
|
||||
//날짜 표시 및 제출 버튼 노출 에 사용
|
||||
VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO();
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
//vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
+ " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' "
|
||||
+ " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' ");
|
||||
//vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO);
|
||||
@ -333,7 +334,8 @@ public class lctrTngrInfoStngController {
|
||||
|
||||
//2.오늘이 선택해서 들어온 강의조사의 기간 여부 체크
|
||||
VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO();
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
//vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
+ " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' "
|
||||
+ " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' ");
|
||||
//vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO);
|
||||
|
||||
@ -17,4 +17,6 @@ public interface VEAPrcsAplctPrdInstrAsgnmService {
|
||||
VEPrcsDetailVO selectAprvlCdEduAplctDetail(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 instrDiv;
|
||||
private String instrCnt;
|
||||
private String userId;
|
||||
|
||||
|
||||
@ -126,6 +127,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
private String dateChk;
|
||||
private Boolean qestRsltExists;
|
||||
|
||||
private String trgtNm;
|
||||
private String sspnIdtmtTrgtOrd;
|
||||
|
||||
|
||||
|
||||
@ -561,6 +564,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setInstrDiv(String instrDiv) {
|
||||
this.instrDiv = instrDiv;
|
||||
}
|
||||
public String getInstrCnt() {
|
||||
return instrCnt;
|
||||
}
|
||||
public void setInstrCnt(String instrCnt) {
|
||||
this.instrCnt = instrCnt;
|
||||
}
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
@ -597,6 +606,18 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setQestRsltExists(Boolean qestRsltExists) {
|
||||
this.qestRsltExists = qestRsltExists;
|
||||
}
|
||||
public String getTrgtNm() {
|
||||
return trgtNm;
|
||||
}
|
||||
public void setTrgtNm(String trgtNm) {
|
||||
this.trgtNm = trgtNm;
|
||||
}
|
||||
public String getSspnIdtmtTrgtOrd() {
|
||||
return sspnIdtmtTrgtOrd;
|
||||
}
|
||||
public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) {
|
||||
this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -38,4 +38,9 @@ public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
|
||||
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) {
|
||||
vEAPrcsAplctPrdInstrAsgnmDAO.updateAprvlCdEduAplctDetail(vEDetailVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAplctStateCdListAjax(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||
vEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax(vEPrcsDetailVO);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface CndtnTrgtMngService {
|
||||
|
||||
List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||
@ -12,6 +13,8 @@ public interface CndtnTrgtMngService {
|
||||
|
||||
void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||
|
||||
void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
@ -108,5 +109,13 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
|
||||
update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNm", cndtnTrgtInfoMngVO);
|
||||
}
|
||||
|
||||
public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) {
|
||||
update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||
|
||||
@ -47,6 +48,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) {
|
||||
cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO);
|
||||
}
|
||||
|
||||
/*
|
||||
//C
|
||||
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
|
||||
|
||||
@ -6,6 +6,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -612,7 +613,7 @@ public class CndtnPrcsInfoMngController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 기간 상세화면
|
||||
* 조건부기소유예 기간 상세화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail.do")
|
||||
public String cndtnEduPrcsAplctPrdMngDetail(
|
||||
@ -652,7 +653,6 @@ public class CndtnPrcsInfoMngController {
|
||||
|
||||
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
|
||||
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> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
|
||||
|
||||
@ -671,9 +672,113 @@ public class CndtnPrcsInfoMngController {
|
||||
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")
|
||||
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;
|
||||
|
||||
}
|
||||
@ -1037,7 +1190,7 @@ public class CndtnPrcsInfoMngController {
|
||||
|
||||
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do")
|
||||
public String fndthEduPrcsAplctPrdMngList(
|
||||
public String cndtnEduPrcsAplctPrdMngList(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
@ -1095,6 +1248,76 @@ public class CndtnPrcsInfoMngController {
|
||||
}
|
||||
|
||||
|
||||
@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")
|
||||
public String cndtnEduPrcsAplctPrdMngMdfy(
|
||||
@ -1219,7 +1442,7 @@ public class CndtnPrcsInfoMngController {
|
||||
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 수정
|
||||
* 조건부기소유예 신청기간 수정
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfyAjax.do")
|
||||
public ModelAndView cndtnEduPrcsAplctPrdMngMdfyAjax(
|
||||
|
||||
@ -151,6 +151,7 @@ public class OprtnStateMngController {
|
||||
|
||||
//2. pageing step2
|
||||
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
|
||||
vEEduAplctVO.setOrderByQuery("H.LAST_UPDT_PNTTM DESC, A.LAST_UPDT_PNTTM DESC , E.LAST_UPDT_PNTTM DESC");
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
|
||||
//List복호화
|
||||
|
||||
@ -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.VEEduChasiVO;
|
||||
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.VEPrcsDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
||||
@ -128,66 +129,6 @@ public class FndthPrcsAplctMngController {
|
||||
@Resource(name = "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.HttpSession;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -241,6 +242,147 @@ public class FndthPrcsAplctPrdMngController {
|
||||
///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";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 기반강화연수과정 신청기간 등록 화면
|
||||
|
||||
@ -1735,8 +1735,8 @@ public class OprtnInstrTngrPrflContoller {
|
||||
t_vEInstrDetailVO.setAprvlCd(vEInstrDetailVO.getAprvlCd());
|
||||
t_vEInstrDetailVO.setFirstIndex(0);
|
||||
|
||||
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectAsgnmInfoT2(t_vEInstrDetailVO);
|
||||
model.addAttribute("asgnmInfoT2List",selectAsgnmInfoT2List);
|
||||
//List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectAsgnmInfoT2(t_vEInstrDetailVO);
|
||||
//model.addAttribute("asgnmInfoT2List",selectAsgnmInfoT2List);
|
||||
|
||||
return "/oprtn/tngrVisitEdu/instrMngDetail";
|
||||
}
|
||||
@ -1800,7 +1800,8 @@ public class OprtnInstrTngrPrflContoller {
|
||||
|
||||
//강의조사 기간 여부
|
||||
VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO();
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
//vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYY.MM.DD') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
+ " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' "
|
||||
+ " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' ");
|
||||
//vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO);
|
||||
@ -1953,7 +1954,8 @@ public class OprtnInstrTngrPrflContoller {
|
||||
|
||||
//강의조사 기간 여부
|
||||
VELctrDetailVO vELctrRsrchDetailVO = new VELctrDetailVO();
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
//vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATETIME,'yyyymmdd') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
vELctrDetailVO.setSelectPagingListQuery(" AND TO_CHAR(SYSDATE,'YYYYMMDD') BETWEEN rsrch_strt_dt and rsrch_end_dt "
|
||||
+ " AND rsrch_instr_div='"+vELctrDetailVO.getRsrchInstrDiv()+"' "
|
||||
+ " AND stng_yr_mnt='"+vELctrDetailVO.getStngYrMnt()+"' ");
|
||||
//vELctrRsrchDetailVO = vELctrRsrchMngService.selectDetail(vELctrDetailVO);
|
||||
@ -2174,7 +2176,8 @@ public class OprtnInstrTngrPrflContoller {
|
||||
|
||||
//강의조사제출값 저장
|
||||
try {
|
||||
vELctrRsrchSbmtService.insert(vELctrDetailVO);
|
||||
//vELctrRsrchSbmtService.insert(vELctrDetailVO);
|
||||
vELctrRsrchSbmtService.update(vELctrDetailVO);
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
@ -0,0 +1,234 @@
|
||||
package kcc.ve.oprtn.instr.tngrVisitEdu.lctrRsrch.web;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import kcc.com.cmm.EgovMessageSource;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.utl.user.service.CheckAdrProcessUtil;
|
||||
import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.accdnt.acd.service.AdjstChangeDateService;
|
||||
import kcc.kccadr.adjPgrMgr.cclt.service.ConciliatorManageService;
|
||||
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
|
||||
import kcc.let.utl.fcc.service.VEPagingUtil;
|
||||
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
|
||||
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrAreaService;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrPrfrnService;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrRsrchMngService;
|
||||
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrStngService;
|
||||
import kcc.ve.instr.tngrVisitEdu.rsdncInfo.service.VERsdncMIXService;
|
||||
|
||||
/**
|
||||
* OprtnLctrRsrchTngrContoller.java
|
||||
* 청소년 강의 조사 관리
|
||||
* 강의 조사 관리 controller 클래스를 정의한다.
|
||||
* @author 이지우
|
||||
* @since 2021.12.07
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2021.12.23 이지우 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Controller
|
||||
public class AdvOprtnLctrRsrchTngrContoller {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(AdvOprtnLctrRsrchTngrContoller.class);
|
||||
|
||||
@Resource(name = "conciliatorManageService")
|
||||
private ConciliatorManageService conciliatorManageService;
|
||||
|
||||
// eGov 공통 메세지
|
||||
@Resource(name = "egovMessageSource")
|
||||
EgovMessageSource egovMessageSource;
|
||||
|
||||
//로그인 체크 util
|
||||
@Resource(name = "checkLoginUtil")
|
||||
private CheckLoginUtil checkLoginUtil;
|
||||
|
||||
//파일 체크 util
|
||||
@Resource(name = "checkFileUtil")
|
||||
private CheckFileUtil checkFileUtil;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
//파일정보의 관리
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
//파일 처리 egov
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil egovFileMngUtil;
|
||||
|
||||
//파일 처리 egov
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
|
||||
@Resource(name="adjstChangeDateService")
|
||||
private AdjstChangeDateService adjstChangeDateService;
|
||||
|
||||
@Resource(name="KccadrMgrUdtService")
|
||||
private KccadrMgrUdtService kccadrMgrUdtService;
|
||||
|
||||
// 교육신청 서비스단
|
||||
@Resource(name = "checkAdrProcessUtil")
|
||||
private CheckAdrProcessUtil checkAdrProcessUtil;
|
||||
|
||||
//강사 정보
|
||||
@Resource(name="vEInstrService")
|
||||
private VEInstrService vEInstrService;
|
||||
|
||||
//강사상세 정보
|
||||
@Resource(name="vEInstrDetailService")
|
||||
private VEInstrDetailService vEInstrDetailService;
|
||||
|
||||
//강사MIX 정보
|
||||
@Resource(name="vEInstrMixService")
|
||||
private VEInstrMixService vEInstrMixService;
|
||||
|
||||
//강의설정
|
||||
@Resource(name = "vELctrStngService")
|
||||
private VELctrStngService vELctrStngService;
|
||||
|
||||
//강의설정 MIX
|
||||
@Resource(name = "vELctrMIXService")
|
||||
private VELctrMIXService vELctrMIXService;
|
||||
|
||||
//강의지역
|
||||
@Resource(name = "vELctrAreaService")
|
||||
private VELctrAreaService vELctrAreaService;
|
||||
|
||||
//강의지역 MIX
|
||||
@Resource(name = "vERsdncMIXService")
|
||||
private VERsdncMIXService vERsdncMIXService;
|
||||
|
||||
//강의선호
|
||||
@Resource(name = "vELctrPrfrnService")
|
||||
private VELctrPrfrnService vELctrPrfrnService;
|
||||
|
||||
//VO 암/복호화
|
||||
@Resource(name="egovCryptoUtil4VO")
|
||||
private EgovCryptoUtil4VO egovCryptoUtil4VO;
|
||||
|
||||
// eGov 공통코드
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
//강의설정 ID
|
||||
@Resource(name = "lctrStngGnrService")
|
||||
private EgovIdGnrService lctrStngGnrService;
|
||||
|
||||
//강의지역 ID
|
||||
@Resource(name = "lctrAreaGnrService")
|
||||
private EgovIdGnrService lctrAreaGnrService;
|
||||
|
||||
//강의선호 ID
|
||||
@Resource(name = "prfrnTrgtGnrService")
|
||||
private EgovIdGnrService prfrnTrgtGnrService;
|
||||
|
||||
//강사신청 임의 ID
|
||||
@Resource(name = "instrTempGnrService")
|
||||
private EgovIdGnrService instrTempGnrService;
|
||||
|
||||
// 페이지 유틸
|
||||
@Resource(name = "vEPagingUtil")
|
||||
private VEPagingUtil vEPagingUtil;
|
||||
|
||||
// 강의 조사
|
||||
@Resource(name = "vELctrRsrchMngService")
|
||||
private VELctrRsrchMngService vELctrRsrchMngService;
|
||||
|
||||
//강의설정 관리
|
||||
@Resource(name = "vEAStngService")
|
||||
private VEAStngService vEAStngService;
|
||||
|
||||
/**
|
||||
* 강의조사관리 기간 설정 팝업
|
||||
*/
|
||||
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.do")
|
||||
public String advRndsStngMngPopup(
|
||||
@ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO
|
||||
, @ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
|
||||
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
|
||||
try {
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
|
||||
//등록된 해당 년도의 회차리스트 정보 가져오기
|
||||
List<VEAStngVO> selectBasicList = vEAStngService.selectList_VEALRS(vEAStngVO);
|
||||
|
||||
model.addAttribute("selectBasicList", selectBasicList);
|
||||
|
||||
|
||||
//년도 정보
|
||||
//VELctrDetailVO vELctrDetailVO = new VELctrDetailVO();
|
||||
List<VELctrDetailVO> selectStngYrList = vELctrMIXService.selectStngYrList(vELctrDetailVO);
|
||||
model.addAttribute("selectStngYrList", selectStngYrList);
|
||||
|
||||
//월 정보
|
||||
List<VELctrDetailVO> selectStngMntList = vELctrMIXService.selectStngMntList(vELctrDetailVO);
|
||||
model.addAttribute("selectStngMntList", selectStngMntList);
|
||||
|
||||
//선택된 조사기간 정보
|
||||
//vELctrDetailVO.setStngYrMnt(stngYrMnt);
|
||||
List<VELctrDetailVO> selectVELctrDetailVOList = vELctrRsrchMngService.selectList(vELctrDetailVO);
|
||||
//List<VELctrDetailVO> selectVELctrDetailVOList = vELctrRsrchMngService.selectPagingList(vELctrDetailVO);
|
||||
|
||||
if (selectVELctrDetailVOList.size()>0) {
|
||||
model.addAttribute("selectVELctrDetailVO", selectVELctrDetailVOList.get(0));
|
||||
}
|
||||
|
||||
}catch(Exception ex)
|
||||
{
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
return "oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup";
|
||||
}
|
||||
|
||||
}
|
||||
@ -17,8 +17,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.ctc.wstx.util.DataUtil;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.EgovMessageSource;
|
||||
@ -219,14 +217,21 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
// 참여현황 참여 카운트
|
||||
t.setLctrStngOrdSbmt(Long.toString(lctrStngOrdList.stream().filter(s -> StringUtils.isNotEmpty(s)).count()));
|
||||
|
||||
LocalDate startDate = DateUtil.getStringToLocalDate(t.getRsrchStrtDt());
|
||||
LocalDate endDate = DateUtil.getStringToLocalDate(t.getRsrchEndDt());
|
||||
LocalDate startDate = DateUtil.getStringToLocalDateDot(t.getRsrchStrtDt());
|
||||
LocalDate endDate = DateUtil.getStringToLocalDateDot(t.getRsrchEndDt());
|
||||
|
||||
// 진행중 체크
|
||||
// 공통 코드 추가 VE0034 01 : 진행전, 02 : 진행중, 03 : 마감
|
||||
|
||||
System.out.println("t.getRsrchState()");
|
||||
System.out.println(t.getRsrchState());
|
||||
System.out.println(t.getRsrchState());
|
||||
|
||||
if ("".equals(t.getRsrchState()) || t.getRsrchState() ==null) {
|
||||
if(nowDate.isEqual(startDate) || nowDate.isEqual(endDate)) {t.setRsrchState("02");}
|
||||
else if(nowDate.isBefore(startDate)) {t.setRsrchState("01");}
|
||||
else if(nowDate.isAfter(endDate)) {t.setRsrchState("03");}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
@ -279,12 +284,13 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
//로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
|
||||
|
||||
/*
|
||||
vELctrDetailVO.setStngYrMnt(vELctrDetailVO.getStngYrMnt().replaceAll("[.]", ""));
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa2");
|
||||
try {
|
||||
@ -298,6 +304,7 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
*/
|
||||
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaa3a");
|
||||
|
||||
@ -309,9 +316,12 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
if (selectDupDateCount.getTotCnt()<=0) {
|
||||
//저장
|
||||
vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
vELctrRsrchMngService.insert(vELctrDetailVO);
|
||||
int i_ret = vELctrRsrchMngService.update(vELctrDetailVO);
|
||||
|
||||
if (i_ret>0) modelAndView.addObject("result", "success");
|
||||
else modelAndView.addObject("result", "fail");
|
||||
|
||||
|
||||
modelAndView.addObject("result", "success");
|
||||
}else {
|
||||
modelAndView.addObject("result", "already");
|
||||
}
|
||||
@ -392,4 +402,85 @@ public class OprtnLctrRsrchTngrContoller {
|
||||
return "/oprtn/tngrVisitEdu/lctrRsrchMngDetail";
|
||||
}
|
||||
|
||||
/**
|
||||
* 강의조사 요청목록 등록Ajax -
|
||||
*/
|
||||
@RequestMapping("lctrRsrchMngDelAjax.do")
|
||||
public ModelAndView lctrRsrchMngDelAjax(
|
||||
@ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
|
||||
//저장
|
||||
vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
int i_ret = vELctrRsrchMngService.delete(vELctrDetailVO);
|
||||
|
||||
if (i_ret>0) modelAndView.addObject("result", "success");
|
||||
else modelAndView.addObject("result", "fail");
|
||||
|
||||
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 강의조사 요청목록 상태변경Ajax -
|
||||
*/
|
||||
@RequestMapping("lctrRsrchMngChangeAjax.do")
|
||||
public ModelAndView lctrRsrchMngChangeAjax(
|
||||
@ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO
|
||||
|
||||
, ModelMap model
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpSession session
|
||||
, HttpServletRequest request
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
|
||||
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getStngYrMnt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1"+vELctrDetailVO.getRsrchStrtDt());
|
||||
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaa1");
|
||||
|
||||
//저장
|
||||
vELctrDetailVO.setFrstRegisterId(loginVO.getUniqId());
|
||||
|
||||
if ("03".equals(vELctrDetailVO.getRsrchState())) {
|
||||
vELctrDetailVO.setRsrchState("00");//00-rest, 01-진행전,02-진행중,03-마감
|
||||
}else {
|
||||
vELctrDetailVO.setRsrchState("03");//00-rest, 01-진행전,02-진행중,03-마감
|
||||
}
|
||||
|
||||
|
||||
int i_ret = vELctrRsrchMngService.update(vELctrDetailVO);
|
||||
|
||||
if (i_ret>0) modelAndView.addObject("result", "success");
|
||||
else modelAndView.addObject("result", "fail");
|
||||
|
||||
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
}
|
||||
|
||||
@ -284,19 +284,19 @@
|
||||
<![CDATA[
|
||||
AND ( ( a.NOTICE_AT != 'Y' or a.NOTICE_AT is null)
|
||||
OR ( NTCE_BGNDE is null or NTCE_BGNDE ='')
|
||||
OR ( DATE_FORMAT(now(), '%Y%m%d%H%i') < NTCE_BGNDE OR DATE_FORMAT(now(), '%Y%m%d%H%i') > NTCE_ENDDE )
|
||||
OR ( TO_CHAR(SYSDATE, 'YYYYMMDDHH24MI') < NTCE_BGNDE OR TO_CHAR(SYSDATE, 'YYYYMMDDHH24MI') > NTCE_ENDDE )
|
||||
)
|
||||
]]>
|
||||
</isEqual>
|
||||
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
<![CDATA[ a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_SJ LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
<![CDATA[ a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_CN LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
<![CDATA[ a.NTCR_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTCR_NM LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isNotEmpty prepend="AND" property="mblDn">
|
||||
<![CDATA[ a.MBL_DN = #mblDn# ]]>
|
||||
@ -341,19 +341,19 @@
|
||||
<![CDATA[
|
||||
AND ( ( a.NOTICE_AT != 'Y' or a.NOTICE_AT is null)
|
||||
OR ( NTCE_BGNDE is null or NTCE_BGNDE ='')
|
||||
OR ( DATE_FORMAT(now(), '%Y%m%d%H%i') < NTCE_BGNDE OR DATE_FORMAT(now(), '%Y%m%d%H%i') > NTCE_ENDDE )
|
||||
OR ( TO_CHAR(SYSDATE, 'YYYYMMDDHH24MI') < NTCE_BGNDE OR TO_CHAR(SYSDATE, 'YYYYMMDDHH24MI') > NTCE_ENDDE )
|
||||
)
|
||||
]]>
|
||||
</isEqual>
|
||||
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
<![CDATA[ a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_SJ LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
<![CDATA[ a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_CN LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
<![CDATA[ a.NTCR_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTCR_NM LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isNotEmpty prepend="AND" property="mblDn">
|
||||
<![CDATA[ a.MBL_DN = #mblDn# ]]>
|
||||
@ -519,7 +519,7 @@
|
||||
SUBSTR(a.NTT_CN, 1, 2000) AS NTT_CN ,
|
||||
a.FRST_REGISTER_ID,
|
||||
a.NTCR_NM as FRST_REGISTER_NM,
|
||||
DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM,
|
||||
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM,
|
||||
a.RDCNT,
|
||||
a.PARNTSCTT_NO,
|
||||
a.ANSWER_AT,
|
||||
@ -583,13 +583,13 @@
|
||||
AND a.ANSWER_AT = 'N' /** 답변건 제외 */
|
||||
]]>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="">
|
||||
( a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%') OR a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%') )
|
||||
( a.NTT_SJ LIKE '%'||#searchWrd#||'%' OR a.NTT_CN LIKE '%'||#searchWrd#||'%' )
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_SJ LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_CN LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<![CDATA[
|
||||
) A
|
||||
@ -621,7 +621,7 @@
|
||||
SUBSTR(a.NTT_CN, 1, 2000) AS NTT_CN ,
|
||||
a.FRST_REGISTER_ID,
|
||||
a.NTCR_NM as FRST_REGISTER_NM,
|
||||
DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM,
|
||||
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM,
|
||||
a.RDCNT,
|
||||
a.PARNTSCTT_NO,
|
||||
a.ANSWER_AT,
|
||||
@ -684,13 +684,13 @@
|
||||
AND a.ANSWER_AT = 'N' /** 답변건 제외 */
|
||||
]]>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="">
|
||||
( a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%') OR a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%') )
|
||||
( a.NTT_SJ LIKE '%'||#searchWrd#||'%' OR a.NTT_CN LIKE '%'||#searchWrd#||'%' )
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_SJ LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_CN LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
) A
|
||||
</select>
|
||||
@ -758,7 +758,7 @@
|
||||
a.USER_TY_CD, a.USER_POSITION,
|
||||
a.PASSWORD, a.FRST_REGISTER_ID, a.NTCR_NM as FRST_REGISTER_NM,
|
||||
b.OFFM_TELNO,
|
||||
DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i') as FRST_REGIST_PNTTM,
|
||||
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI') as FRST_REGIST_PNTTM,
|
||||
a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT,
|
||||
a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID,
|
||||
a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR,
|
||||
@ -935,9 +935,9 @@
|
||||
/* BBSManageDAO.getUpDownNttIdNSj */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
(SELECT CONCAT(NTT_ID, '|', NTT_SJ) FROM LETTNBBS
|
||||
(SELECT NTT_ID||'|'||NTT_SJ FROM LETTNBBS
|
||||
WHERE BBS_ID = #bbsId# AND USE_AT = 'Y' AND NTT_ID = a.prevNttId) AS prevNttIdNSj
|
||||
,(SELECT CONCAT(NTT_ID, '|', NTT_SJ) FROM LETTNBBS
|
||||
,(SELECT NTT_ID||'|'||NTT_SJ FROM LETTNBBS
|
||||
WHERE BBS_ID = #bbsId# AND USE_AT = 'Y' AND NTT_ID = a.nextNttId) AS nextNttIdNSj
|
||||
FROM (
|
||||
SELECT NTT_ID
|
||||
@ -1042,19 +1042,19 @@
|
||||
]]>
|
||||
WHERE 1=1
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
<![CDATA[ a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_SJ LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
<![CDATA[ a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.NTT_CN LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
<![CDATA[ a.FRST_REGISTER_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
|
||||
<![CDATA[ a.FRST_REGISTER_NM LIKE '%'||#searchWrd#||'%' ]]>
|
||||
</isEqual>
|
||||
<isNotEqual prepend="AND" property="strNttId" compareValue="0">
|
||||
<![CDATA[ a.NTT_ID LIKE CONCAT ('%', #strNttId#,'%') ]]>
|
||||
<![CDATA[ a.NTT_ID LIKE '%'||#strNttId#||'%' ]]>
|
||||
</isNotEqual>
|
||||
<isNotEmpty prepend="AND" property="bbsNm">
|
||||
<![CDATA[ b.BBS_NM LIKE CONCAT ('%', #bbsNm#,'%') ]]>
|
||||
<![CDATA[ b.BBS_NM LIKE '%'||#bbsNm#||'%' ]]>
|
||||
</isNotEmpty>
|
||||
<![CDATA[
|
||||
ORDER BY a.FRST_REGIST_PNTTM DESC
|
||||
@ -1076,19 +1076,19 @@
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_SJ LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_CN LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
a.FRST_REGISTER_NM LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.FRST_REGISTER_NM LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isNotEqual prepend="AND" property="strNttId" compareValue="0">
|
||||
a.NTT_ID LIKE CONCAT ('%', #strNttId#,'%')
|
||||
a.NTT_ID LIKE '%'||#strNttId#||'%'
|
||||
</isNotEqual>
|
||||
<isNotEmpty prepend="AND" property="bbsNm">
|
||||
b.BBS_NM LIKE CONCAT ('%', #bbsNm#,'%')
|
||||
b.BBS_NM LIKE '%'||#bbsNm#||'%'
|
||||
</isNotEmpty>
|
||||
</select>
|
||||
|
||||
@ -1160,7 +1160,7 @@
|
||||
lettnbbs_a.BBS_ID bbsId,
|
||||
lettnbbs_a.NTT_SJ nttSj,
|
||||
lettnbbs_a.NTT_CN nttCn,
|
||||
DATE_FORMAT(lettnbbs_a.FRST_REGIST_PNTTM , '%Y-%m-%d') frstRegisterPnttm,
|
||||
TO_CHAR(lettnbbs_a.FRST_REGIST_PNTTM , 'YYYY-MM-DD') frstRegisterPnttm,
|
||||
'N' replyAt /* 미답변 */
|
||||
FROM
|
||||
( SELECT a.* FROM LETTNBBS a INNER JOIN LETTNBBSMASTER b
|
||||
@ -1202,7 +1202,7 @@
|
||||
lettnbbs_b.BBS_ID bbsId,
|
||||
lettnbbs_b.NTT_SJ nttSj,
|
||||
lettnbbs_b.NTT_CN nttCn,
|
||||
DATE_FORMAT(lettnbbs_b.FRST_REGIST_PNTTM , '%Y-%m-%d') frstRegisterPnttm,
|
||||
TO_CHAR(lettnbbs_b.FRST_REGIST_PNTTM , 'YYYY-MM-DD') frstRegisterPnttm,
|
||||
'Y' replyAt /* 답변 */
|
||||
FROM
|
||||
(SELECT
|
||||
@ -1313,7 +1313,7 @@
|
||||
,a.NTT_CN as nttCn
|
||||
,a.FRST_REGIST_PNTTM as frstRegisterPnttm
|
||||
<![CDATA[
|
||||
,CONCAT('/web/cop/bbs/selectBoardArticle.do?bbsId=', a.BBS_ID, '&nttId=', a.NTT_ID) AS URL
|
||||
,'/web/cop/bbs/selectBoardArticle.do?bbsId='||a.BBS_ID||'&nttId='||a.NTT_ID AS URL
|
||||
]]>
|
||||
,C.MENU_NM as menuNm
|
||||
,'' AS menuCours
|
||||
@ -1347,17 +1347,17 @@
|
||||
AND b.USE_AT = 'Y'
|
||||
AND b.VIEW_AUTH = 'ROLE_ANONYMOUS'
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_SJ LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_CN LIKE '%'|| #searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
a.NTCR_NM LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTCR_NM LIKE '%'|| #searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="3">
|
||||
( a.NTT_SJ LIKE CONCAT('%' , #searchWrd#, '%') OR
|
||||
a.NTT_CN LIKE CONCAT('%' , #searchWrd#, '%') )
|
||||
( a.NTT_SJ LIKE '%'|| #searchWrd#|| '%' OR
|
||||
a.NTT_CN LIKE '%'|| #searchWrd#|| '%' )
|
||||
</isEqual>
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
@ -1398,17 +1398,17 @@
|
||||
AND b.USE_AT = 'Y'
|
||||
AND b.VIEW_AUTH = 'ROLE_ANONYMOUS'
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="0">
|
||||
a.NTT_SJ LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_SJ LIKE '%'|| #searchWrd#'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="1">
|
||||
a.NTT_CN LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTT_CN LIKE '%'|| #searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="2">
|
||||
a.NTCR_NM LIKE CONCAT ('%', #searchWrd#,'%')
|
||||
a.NTCR_NM LIKE '%'||#searchWrd#||'%'
|
||||
</isEqual>
|
||||
<isEqual prepend="AND" property="searchCnd" compareValue="3">
|
||||
( a.NTT_SJ LIKE CONCAT('%' , #searchWrd#, '%') OR
|
||||
a.NTT_CN LIKE CONCAT('%' , #searchWrd#, '%') )
|
||||
( a.NTT_SJ LIKE '%' || #searchWrd#|| '%' OR
|
||||
a.NTT_CN LIKE '%'|| #searchWrd#|| '%' )
|
||||
</isEqual>
|
||||
</select>
|
||||
|
||||
@ -1444,7 +1444,7 @@
|
||||
/* BBSManageDAO.selectAdminMainNewBoardCnt */
|
||||
<![CDATA[
|
||||
SELECT COUNT(*) FROM LETTNBBS A
|
||||
WHERE DATE_FORMAT( A.FRST_REGIST_PNTTM , '%Y-%m-%d' ) > DATE_FORMAT(SUBDATE(NOW(), INTERVAL 7 DAY) , '%Y-%m-%d')
|
||||
WHERE TO_CHAR( A.FRST_REGIST_PNTTM , 'YYYY-MM-DD' ) > TO_CHAR(SUBDATE(NOW(), INTERVAL 7 DAY) , '%Y-%m-%d')
|
||||
]]>
|
||||
</select>
|
||||
|
||||
@ -1460,7 +1460,7 @@
|
||||
a.USER_TY_CD AS userTyCd,
|
||||
a.PASSWORD AS password,
|
||||
a.FRST_REGISTER_ID AS frstRegisterId,
|
||||
DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as frstRegistPnttm ,
|
||||
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as frstRegistPnttm ,
|
||||
a.RDCNT AS rdCt,
|
||||
a.ATCH_FILE_ID AS atchFileId,
|
||||
a.BBS_ID AS bbsId,
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
|
||||
<!-- 개발자 아이디 선택용 -->
|
||||
<select id="loginDAO.actionLoginDev" resultMap="login">
|
||||
<!-- 일반회원 -->
|
||||
<!-- 일반회원 loginDAO.actionLoginDev -->
|
||||
<isNotNull property="userSe">
|
||||
<isEqual property="userSe" compareValue="GNR">
|
||||
SELECT mber_id AS id
|
||||
@ -357,6 +357,7 @@
|
||||
|
||||
<!-- 유저 권한 목록 조회 by USER_ID -->
|
||||
<select id="loginDAO.selectAuthorities" resultClass="EgovMap">
|
||||
/* loginDAO.selectAuthorities */
|
||||
<![CDATA[
|
||||
/* WITH AA AS ( */
|
||||
SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS
|
||||
|
||||
@ -44,9 +44,9 @@
|
||||
a.pnlty_id AS pnltyId,
|
||||
a.pnlty_cn AS pnltyCn,
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
|
||||
a.prvs_srvy_ord AS prvsSrvyOrd,
|
||||
@ -86,6 +86,7 @@
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
<select id="VEAsgnmMIXDAO.selectDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectDetail */
|
||||
SELECT
|
||||
<include refid="VEAsgnmMIXDAO.select_column_name"/>
|
||||
FROM
|
||||
@ -158,6 +159,7 @@
|
||||
|
||||
<!-- 강사 정보 L -->
|
||||
<select id="VEAsgnmMIXDAO.selectList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectList */
|
||||
SELECT
|
||||
<include refid="VEAsgnmMIXDAO.select_column_name"/>
|
||||
FROM
|
||||
@ -170,6 +172,7 @@
|
||||
|
||||
<!-- 강사 정보 L page -->
|
||||
<select id="VEAsgnmMIXDAO.selectPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VEAsgnmMIXDAO.select_column_name"/>
|
||||
@ -189,10 +192,7 @@
|
||||
AND a.edu_aplct_ord=#eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.edu_aplct_ord desc
|
||||
@ -201,13 +201,16 @@
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 배치 강사 정보 -->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmInstrList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmInstrList */
|
||||
SELECT COUNT(1) OVER() AS totCnt
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, b.edu_chasi_ord AS eduChasiOrd
|
||||
@ -268,6 +271,7 @@
|
||||
|
||||
<!-- 강의요청 목록. 대기:배정테이블 userId가 본인, 배정코드20(수락요청) 수락:배정테이블 userId가 본인, 배정코드 30, 배정테이블에 없는 ID 거절 : 배정테이블에 코드 10(거절)-->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmRqstPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmRqstPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
userId ,
|
||||
@ -501,49 +505,97 @@
|
||||
AND AA.cnt = 0
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
<isEmpty property="orderByQuery">
|
||||
, AA.eduHopeDt DESC
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</select>
|
||||
|
||||
<!-- 강의추가요청 목록. 강의신청가능:배정테이블 코드50(추가요청) 신청완료:내역테이블 코드20(선정완료) 선정제외:내역테이블 코드30(선정제외)-->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmAddRqstPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
SELECT COUNT(1) OVER() AS totCnt
|
||||
, a.user_id AS userId
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, a.edu_chasi_ord AS eduChasiOrd
|
||||
, a.asgnm_aprvl_cd AS asgnmAprvlCd
|
||||
, b.strt_tm AS strtTm
|
||||
, b.end_tm AS endTm
|
||||
, b.lrn_tm AS lrnTm
|
||||
, b.trgt AS trgt
|
||||
, b.edu_hope_dt AS eduHopeDt
|
||||
, c.lctr_div_cd AS instrDiv
|
||||
, c.edu_slct_cd AS eduSlctCd
|
||||
, c.edu_slct_area_cd AS eduSlctAreaCd
|
||||
, c.schol_instt_nm AS scholInsttNm
|
||||
, ((SUBSTR(b.end_tm, 1,2) - SUBSTR(b.strt_tm, 1,2)) * 60) + (SUBSTR(b.end_tm, 3,4) - SUBSTR(b.strt_tm, 3,4)) AS eduTM
|
||||
, MAX(d.hstry_cd) AS hstryCd
|
||||
, (SELECT COUNT(1) FROM ve_new_noti e WHERE a.edu_chasi_ord = e.tbl_uniq_ord AND e.menu_no = #menuNo# AND e.frst_register_id = #userId# ) AS notiCnt
|
||||
, (SELECT code_nm FROM lettccmmndetailcode e WHERE e.code_id = 'VE0008' AND e.code = c.edu_slct_area_cd) AS eduSlctAreaNm
|
||||
/* VEAsgnmMIXDAO.selectAsgnmAddRqstPagingList */
|
||||
SELECT
|
||||
a0.totCnt,
|
||||
a1.user_id AS userId ,
|
||||
a1.edu_aplct_ord AS eduAplctOrd ,
|
||||
a1.edu_chasi_ord AS eduChasiOrd ,
|
||||
a1.asgnm_aprvl_cd AS asgnmAprvlCd ,
|
||||
|
||||
b.strt_tm AS strtTm ,
|
||||
b.end_tm AS endTm ,
|
||||
b.lrn_tm AS lrnTm ,
|
||||
b.trgt AS trgt ,
|
||||
b.edu_hope_dt AS eduHopeDt ,
|
||||
|
||||
c.lctr_div_cd AS instrDiv ,
|
||||
c.edu_slct_cd AS eduSlctCd ,
|
||||
c.edu_slct_area_cd AS eduSlctAreaCd ,
|
||||
c.schol_instt_nm AS scholInsttNm ,
|
||||
|
||||
((SUBSTR(b.end_tm, 1,2) - SUBSTR(b.strt_tm, 1,2)) * 60) + (SUBSTR(b.end_tm, 3,4) - SUBSTR(b.strt_tm, 3,4)) AS eduTM ,
|
||||
|
||||
(SELECT COUNT(1)
|
||||
FROM ve_new_noti e
|
||||
WHERE a1.edu_chasi_ord = e.tbl_uniq_ord
|
||||
AND e.menu_no = #menuNo#
|
||||
AND e.frst_register_id = #userId#
|
||||
)
|
||||
AS notiCnt ,
|
||||
(SELECT code_nm
|
||||
FROM lettccmmndetailcode e
|
||||
WHERE e.code_id = 'VE0008'
|
||||
AND e.code = c.edu_slct_area_cd
|
||||
)
|
||||
AS eduSlctAreaNm,
|
||||
|
||||
a0.hstryCd
|
||||
|
||||
FROM (
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
a.user_id ,
|
||||
a.edu_aplct_ord ,
|
||||
a.edu_chasi_ord ,
|
||||
|
||||
|
||||
MAX(d.hstry_cd) AS hstryCd
|
||||
|
||||
FROM ve_edu_chasi_instr_asgnm a
|
||||
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm_hstry d
|
||||
ON (
|
||||
a.edu_aplct_ord = d.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = d.edu_chasi_ord
|
||||
AND d.user_id = #userId#
|
||||
)
|
||||
WHERE 1 =1
|
||||
AND a.asgnm_aprvl_cd = #asgnmAprvlCd#
|
||||
|
||||
GROUP by
|
||||
a.user_id ,
|
||||
a.edu_aplct_ord ,
|
||||
a.edu_chasi_ord
|
||||
)a0
|
||||
,ve_edu_chasi_instr_asgnm a1
|
||||
INNER JOIN ve_edu_chasi b
|
||||
ON ( a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = b.edu_chasi_ord
|
||||
ON (
|
||||
a1.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a1.edu_chasi_ord = b.edu_chasi_ord
|
||||
)
|
||||
INNER JOIN ve_edu_aplct c
|
||||
ON b.edu_aplct_ord = c.edu_aplct_ord
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm_hstry d
|
||||
ON (a.edu_aplct_ord = d.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = d.edu_chasi_ord
|
||||
AND d.user_id = #userId#)
|
||||
WHERE 1=1
|
||||
AND a.asgnm_aprvl_cd = #asgnmAprvlCd#
|
||||
WHERE a0.user_id=a1.user_id
|
||||
AND a0.edu_aplct_ord=a1.edu_aplct_ord
|
||||
AND a0.edu_chasi_ord=a1.edu_chasi_ord
|
||||
|
||||
|
||||
AND c.lctr_div_cd = #instrDiv#
|
||||
<isNotEmpty property="searchEduHopeStartDt">
|
||||
AND b.edu_hope_dt <![CDATA[ >= ]]> REPLACE(#searchEduHopeStartDt#, '.' , '')
|
||||
@ -554,19 +606,25 @@
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND c.SCHOL_INSTT_NM LIKE CONCAT('%' , #searchKeyword# , '%')
|
||||
</isNotEmpty>
|
||||
GROUP BY eduAplctOrd, eduChasiOrd, userId
|
||||
ORDER BY 1=1
|
||||
|
||||
ORDER BY 1
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.frst_regist_pnttm desc
|
||||
, a1.frst_regist_pnttm desc
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강의내역(확정) 목록. 배정테이블 ID가 본인이면서 코드30(교육확정)-->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt
|
||||
,userId
|
||||
@ -661,23 +719,31 @@
|
||||
/* 종료교육에 대한 조건 추가 */
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
<isEqual property="selectPagingListQuery" compareValue="END">
|
||||
/*
|
||||
AND IF (DATE_FORMAT(SYSDATE,'%Y%m%d%H%i')>CONCAT(eduHopeDt,endTm),1,0)>0
|
||||
*/
|
||||
AND CASE WHEN TO_CHAR(SYSDATE,'YYYYMMDDHH24MI')>eduHopeDt||endTm THEN 1 ELSE 0 END > 0
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
<isEmpty property="orderByQuery">
|
||||
, AA.eduHopeDt desc
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</select>
|
||||
|
||||
<!-- 강의요청 상세 정보 R -->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmRqstDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmRqstDetail */
|
||||
SELECT a.edu_hope_dt AS eduHopeDt
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, a.edu_chasi_ord AS eduChasiOrd
|
||||
@ -728,6 +794,7 @@
|
||||
|
||||
<!-- 강의요청 상세 정보 R 4 강의요청목록-->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmRqstDetail4" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmRqstDetail4 */
|
||||
SELECT a.edu_hope_dt AS eduHopeDt
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, a.edu_chasi_ord AS eduChasiOrd
|
||||
@ -780,6 +847,7 @@
|
||||
|
||||
<!-- 강의 추가요청 상세 정보 R -->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmAddRqstDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmAddRqstDetail */
|
||||
SELECT a.edu_hope_dt AS eduHopeDt
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, a.edu_chasi_ord AS eduChasiOrd
|
||||
@ -824,6 +892,7 @@
|
||||
|
||||
<!-- 강의확정내역 상세 정보 R -->
|
||||
<select id="VEAsgnmMIXDAO.selectAsgnmDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectAsgnmDetail */
|
||||
SELECT a.edu_hope_dt AS eduHopeDt
|
||||
, a.edu_aplct_ord AS eduAplctOrd
|
||||
, a.edu_chasi_ord AS eduChasiOrd
|
||||
@ -3092,7 +3161,7 @@
|
||||
<!-- 강사자동배정 온라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOnList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
온라인 청소년
|
||||
온라인 청소년 VEAsgnmMIXDAO.selectInstrAsgnmOnList
|
||||
*/
|
||||
SELECT aaaa.edu_aplct_ord AS eduAplctOrd
|
||||
, aaaa.edu_chasi_ord AS eduChasiOrd
|
||||
@ -3124,7 +3193,7 @@
|
||||
<!-- 강사자동배정 온라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOnList_220210" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
온라인 청소년
|
||||
온라인 청소년 VEAsgnmMIXDAO.selectInstrAsgnmOnList_220210
|
||||
*/
|
||||
SELECT aaaaaa.edu_aplct_ord AS eduAplctOrd
|
||||
, aaaaaa.edu_chasi_ord AS eduChasiOrd
|
||||
@ -3210,7 +3279,7 @@
|
||||
<!-- 강사자동배정 오프라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOffList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
오프라인 청소년
|
||||
오프라인 청소년 VEAsgnmMIXDAO.selectInstrAsgnmOffList
|
||||
*/
|
||||
SELECT aaaa.edu_aplct_ord AS eduAplctOrd
|
||||
, aaaa.edu_chasi_ord AS eduChasiOrd
|
||||
@ -3241,7 +3310,7 @@
|
||||
<!-- 강사자동배정 오프라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOffList_220210" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
오프라인 청소년 자동배정
|
||||
오프라인 청소년 자동배정 VEAsgnmMIXDAO.selectInstrAsgnmOffList_220210
|
||||
*/
|
||||
SELECT aaaaaa.edu_aplct_ord AS eduAplctOrd
|
||||
, aaaaaa.edu_chasi_ord AS eduChasiOrd
|
||||
@ -3326,6 +3395,7 @@
|
||||
|
||||
<!-- 강의차시정보 -->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmStep0" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrAsgnmStep0 */
|
||||
SELECT b.edu_aplct_ord AS eduAplctOrd
|
||||
, b.edu_chasi_ord AS eduChasiOrd
|
||||
, a.edu_slct_cd AS eduSlctCd
|
||||
@ -3342,7 +3412,7 @@
|
||||
<!-- 강사자동배정 페이지 리스트 온라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOnPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
온라인 청소년
|
||||
온라인 청소년 VEAsgnmMIXDAO.selectInstrAsgnmOnPagingList
|
||||
*/
|
||||
SELECT COUNT(1) OVER() AS totCnt
|
||||
, aaaa.edu_aplct_ord AS eduAplctOrd
|
||||
@ -3847,13 +3917,16 @@
|
||||
/* , aaaaaa.lrn_tm_sum/(aaaaaa.mnt_mnmm_tm+1) 9.수업 할당 */
|
||||
, aaaaaa.lrn_tm_sum /* 9.수업 할당 */
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</select>
|
||||
|
||||
<!-- 강사자동배정 페이지 리스트 오프라인-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmOffPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/*
|
||||
오프라인 청소년
|
||||
오프라인 청소년 VEAsgnmMIXDAO.selectInstrAsgnmOffPagingList
|
||||
*/
|
||||
SELECT COUNT(1) OVER() AS totCnt
|
||||
, aaaa.edu_aplct_ord AS eduAplctOrd
|
||||
@ -4347,7 +4420,11 @@
|
||||
/* , aaaaaa.lrn_tm_sum/(aaaaaa.mnt_mnmm_tm+1) 9.수업 할당 */
|
||||
, aaaaaa.lrn_tm_sum /* 9.수업 할당 */
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
@ -4364,6 +4441,7 @@
|
||||
|
||||
<!-- 대량강사자동배정을 위한 신청, 차시 리스트 -->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrMassAsgnmStep0_EA" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrMassAsgnmStep0_EA */
|
||||
SELECT b.edu_aplct_ord AS eduAplctOrd
|
||||
, b.edu_chasi_ord AS eduChasiOrd
|
||||
, a.edu_slct_cd AS eduSlctCd
|
||||
@ -4381,6 +4459,7 @@
|
||||
|
||||
<!-- 대량강사자동배정을 위한 신청, 차시 리스트 -->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrMassAsgnmStep0" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrMassAsgnmStep0 */
|
||||
SELECT b.edu_aplct_ord AS eduAplctOrd
|
||||
, b.edu_chasi_ord AS eduChasiOrd
|
||||
, a.edu_slct_cd AS eduSlctCd /*10-온라인, 20-오프라인*/
|
||||
@ -4402,6 +4481,7 @@
|
||||
|
||||
<!-- 대량강사삭제를 위한 신청, 차시 리스트 -->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrMassAsgnmDeleteStep0" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrMassAsgnmDeleteStep0 */
|
||||
SELECT b.edu_aplct_ord AS eduAplctOrd
|
||||
, b.edu_chasi_ord AS eduChasiOrd
|
||||
, b.user_id AS userId
|
||||
@ -4420,6 +4500,7 @@
|
||||
|
||||
<!-- 강사대량 거리 계산을 위한 대상 step1-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrDstncStep1" parameterClass="VEEduAplctVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrDstncStep1 */
|
||||
SELECT b.new_addr AS sAddr
|
||||
, d.addr AS iAddr
|
||||
, ifnull(e.oneway_dstnc,'') AS onewayDstnc
|
||||
@ -4514,6 +4595,7 @@
|
||||
|
||||
<!-- 강사대량 거리 계산을 위한 대상 step2-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrDstncStep2Paging" parameterClass="VEEduAplctVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrDstncStep2Paging */
|
||||
SELECT b.new_addr AS sAddr
|
||||
, d.addr AS iAddr
|
||||
, ifnull(e.oneway_dstnc,'') AS onewayDstnc
|
||||
@ -4599,6 +4681,7 @@
|
||||
|
||||
<!-- 강사대량 거리 계산을 위한 대상 step1-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrDstncStep3" parameterClass="VEEduAplctVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrDstncStep3 */
|
||||
SELECT b.new_addr AS sAddr
|
||||
, d.addr AS iAddr
|
||||
, ifnull(e.oneway_dstnc,'') AS onewayDstnc
|
||||
@ -4688,6 +4771,7 @@
|
||||
|
||||
<!-- //동일 일자에 강사 배정 여부 체크-->
|
||||
<select id="VEAsgnmMIXDAO.selectInstrAsgnmScholCheck" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectInstrAsgnmScholCheck */
|
||||
SELECT c.schol_instt_nm AS scholInsttNm
|
||||
FROM ve_edu_chasi_instr_asgnm a
|
||||
, ve_edu_chasi b
|
||||
@ -4724,6 +4808,7 @@
|
||||
|
||||
<!-- 배정 최대값 제한 산술식을 위한 해당 교육 차시에 속한 달의 강사 교육접수차시 가져오기 R -->
|
||||
<select id="VEAsgnmMIXDAO.selectTtlMntChasiSumDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.selectTtlMntChasiSumDetail */
|
||||
SELECT aa0.sumMntChasi ,
|
||||
bb0.sumMntLctr ,
|
||||
CEIL(CAST(aa0.sumMntChasi AS DOUBLE)/bb0.sumMntLctr) AS mxmmChasi
|
||||
@ -4796,6 +4881,7 @@
|
||||
|
||||
<!-- 강의내역(확정) 목록. 배정테이블 ID가 본인이면서 코드30(교육확정)-->
|
||||
<select id="VEAsgnmMIXDAO.findByAcmdtCnfrm" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEAsgnmMIXDAO.findByAcmdtCnfrm */
|
||||
SELECT
|
||||
vaa.sbmt_yn as acmdtSbmtYn
|
||||
, vaa.aprvl_cd as acmdtAprvlCd
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
a.edu_aplct_ord AS eduAplctOrd,
|
||||
a.edu_chasi_ord AS eduChasiOrd,
|
||||
a.pnlty_cd AS pnltyCd,
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
a.user_id AS userId
|
||||
</sql>
|
||||
@ -63,6 +63,7 @@
|
||||
|
||||
<!-- 패널티 정보 R -->
|
||||
<select id="VEEduPnltyDAO.selectDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEEduPnltyDAO.selectDetail */
|
||||
SELECT
|
||||
<include refid="VEEduPnltyDAO.select_column_name"/>
|
||||
FROM
|
||||
@ -103,10 +104,11 @@
|
||||
|
||||
<!-- 패널티 정보 L -->
|
||||
<select id="VEEduPnltyDAO.selectList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEEduPnltyDAO.selectList */
|
||||
SELECT
|
||||
<include refid="VEEduPnltyDAO.select_column_name"/>
|
||||
,b.schol_instt_nm AS scholInsttNm
|
||||
,DATE_FORMAT(c.edu_hope_dt,'%Y.%m.%d') AS eduHopeDt
|
||||
,TO_CHAR(c.edu_hope_dt,'YYYY.MM.DD') AS eduHopeDt
|
||||
,c.strt_tm AS strtTm
|
||||
,c.end_tm AS endTm
|
||||
,c.lrn_tm AS lrnTm
|
||||
@ -135,6 +137,7 @@
|
||||
|
||||
<!-- 패널티 정보 L page -->
|
||||
<select id="VEEduPnltyDAO.selectPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
|
||||
/* VEEduPnltyDAO.selectPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VEEduPnltyDAO.select_column_name"/>
|
||||
@ -157,7 +160,7 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.edu_aplct_ord desc
|
||||
@ -166,8 +169,10 @@
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
@ -110,8 +110,7 @@
|
||||
UPDATE
|
||||
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
|
||||
SET
|
||||
user_id = #userId#
|
||||
, edu_state_cd = #eduStateCd#
|
||||
edu_state_cd = #eduStateCd#
|
||||
, last_updt_pnttm = SYSDATE
|
||||
, last_updusr_id = #lastUpdusrId#
|
||||
, trgt_nm = #trgtNm#
|
||||
@ -132,6 +131,18 @@
|
||||
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
|
||||
</update>
|
||||
|
||||
<!-- 대상자 조회 후 대상자에 로그인 ID update -->
|
||||
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
|
||||
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
|
||||
UPDATE
|
||||
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
|
||||
SET
|
||||
user_id = #userId#
|
||||
, req_state_cd = #reqStateCd#
|
||||
WHERE
|
||||
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
|
||||
</update>
|
||||
|
||||
<!-- 기소유예 대상자 R -->
|
||||
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
|
||||
SELECT
|
||||
@ -157,6 +168,19 @@
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 기소유예 대상자 확인 -->
|
||||
<select id="cndtnTrgtInfoMngDAO.findByTrgtNm" parameterClass="CndtnPrcsInfoMngVO" resultClass="String">
|
||||
SELECT
|
||||
sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
|
||||
FROM
|
||||
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
|
||||
WHERE
|
||||
a.trgt_nm = #trgtNm#
|
||||
AND a.d_birth = #dBirth#
|
||||
AND a.user_id IS null
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -117,7 +117,7 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 L -->
|
||||
<!-- -->
|
||||
<select id="VEEduMIXDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||
/* VEEduMIXDAO.selectList */
|
||||
SELECT
|
||||
@ -149,6 +149,63 @@
|
||||
AND a.aprvl_cd = #searchSelStatus#
|
||||
</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">
|
||||
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
@ -491,6 +548,8 @@
|
||||
GROUP BY edu_aplct_ord, edu_strt_dt, edu_end_dt , TO_CHAR(sbmt_pnttm,'YYYYMMDD')
|
||||
) G
|
||||
ON A.EDU_APLCT_ORD = G.EDU_APLCT_ORD
|
||||
LEFT OUTER JOIN ve_edu_rslt_rprt H
|
||||
ON A.EDU_APLCT_ORD = H.EDU_APLCT_ORD
|
||||
|
||||
WHERE 1=1
|
||||
/*
|
||||
@ -542,6 +601,13 @@
|
||||
<isNotEmpty property="searchEndSbmtPnttm">
|
||||
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndSbmtPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartRegistPnttm">
|
||||
AND TO_CHAR(A.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartRegistPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndRegistPnttm">
|
||||
AND TO_CHAR(A.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndRegistPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStratAprvlPnttm">
|
||||
AND TO_CHAR(A.APRVL_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStratAprvlPnttm#, '.' , '')
|
||||
</isNotEmpty>
|
||||
@ -3446,6 +3512,19 @@ VALUES
|
||||
edu_aplct_ord = #eduAplctOrd#
|
||||
</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">
|
||||
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectExprnPagingList */
|
||||
SELECT
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
a.hstry_ord AS hstryOrd,
|
||||
|
||||
a.hstry_cd AS hstryCd,
|
||||
DATE_FORMAT(a.hstry_pnttm,'%Y-%m-%d') AS hstryPnttm,
|
||||
TO_CHAR(a.hstry_pnttm,'YYYY-MM-DD') AS hstryPnttm,
|
||||
|
||||
a.hstry_id AS hstryId,
|
||||
a.hstry_cn AS hstryCn
|
||||
|
||||
@ -32,9 +32,9 @@
|
||||
a.tngr_instr_yn AS tngrInstrYn,
|
||||
a.adult_instr_yn AS adultInstrYn,
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId
|
||||
</sql>
|
||||
|
||||
@ -866,7 +866,7 @@
|
||||
AND a.lctr_div_cd = #instrDiv#
|
||||
ORDER BY d.frst_regist_pnttm DESC
|
||||
<isEqual property="searchDashboard" compareValue="Y">
|
||||
LIMIT 5 OFFSET 0
|
||||
OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY;
|
||||
</isEqual>
|
||||
</select>
|
||||
|
||||
@ -877,7 +877,12 @@
|
||||
SELECT SUBSTRING(b.edu_hope_dt,1,4) AS eduHopeDt
|
||||
, SUM(b.chasi) chasi
|
||||
, d.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm
|
||||
, IF(d.yr_mxmm_asgnm_tm>0, CAST(CAST(SUM(b.chasi) AS DOUBLE)/d.yr_mxmm_asgnm_tm*100 AS DOUBLE),0) AS wCnt
|
||||
/*
|
||||
, IF(d.yr_mxmm_asgnm_tm>0, CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER),0) AS wCnt
|
||||
*/
|
||||
/*
|
||||
, CASE WHEN d.yr_mxmm_asgnm_tm>0 THEN CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER) ELSE 0 END AS wCnt
|
||||
*/
|
||||
FROM
|
||||
ve_lctr_stng d,
|
||||
ve_edu_chasi_instr_asgnm c
|
||||
@ -896,7 +901,7 @@
|
||||
|
||||
<isEmpty property="mngNmbrYr">
|
||||
/* 배정 대상 년도를 한정 */
|
||||
AND SUBSTRING(b.edu_hope_dt,1,4)=DATE_FORMAT(NOW(),'%Y')
|
||||
AND SUBSTRING(b.edu_hope_dt,1,4)=TO_CHAR(SYSDATE,'YYYY')
|
||||
</isEmpty>
|
||||
|
||||
AND d.use_yn='Y'
|
||||
@ -907,13 +912,17 @@
|
||||
AND b.edu_chasi_ord=c.edu_chasi_ord
|
||||
|
||||
AND b.edu_aplct_ord=a.edu_aplct_ord
|
||||
AND IFNULL(a.use_yn,'Y')='Y'
|
||||
AND NVL(a.use_yn,'Y')='Y'
|
||||
/* 청소년 */
|
||||
AND a.lctr_div_cd='10'
|
||||
/* 교육신청이 확정되고, 강사확정인 경우만 통계 제공 */
|
||||
AND a.aprvl_cd = '60'
|
||||
AND c.asgnm_aprvl_cd = '30'
|
||||
GROUP BY SUBSTRING(b.edu_hope_dt,1,4)
|
||||
, d.yr_mxmm_asgnm_tm
|
||||
/*
|
||||
, CASE WHEN d.yr_mxmm_asgnm_tm>0 THEN CAST(CAST(SUM(b.chasi) AS NUMBER)/d.yr_mxmm_asgnm_tm*100 AS NUMBER) ELSE 0 END
|
||||
*/
|
||||
|
||||
</select>
|
||||
|
||||
@ -932,11 +941,15 @@
|
||||
|
||||
, aaaa.mntSum
|
||||
, aaaa.instrNm
|
||||
/*
|
||||
, IF(aaaa.userId IS NOT NULL, CONCAT('(',SUBSTRING(aaaa.userId,INSTR(aaaa.userId,'_')+1)*1,')'),'') AS userIdNum
|
||||
*/
|
||||
, CASE WHEN aaaa.userId IS NOT NULL THEN '('||SUBSTRING(aaaa.userId,INSTR(aaaa.userId,'_')+1)*1||')' ELSE '' AS userIdNum
|
||||
, aaaa.yrMxmmAsgnmTm
|
||||
, ROUND(aaaa.achvPer,2) achvPer
|
||||
, aaaa.totCnt
|
||||
|
||||
/*
|
||||
, IF(aaaa.asgnmTm1>0,CONCAT(aaaa.asgnmTm1,'(',IFNULL(bbbb.wCntMnt01,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt01,aaaa.areaCnt),')'),aaaa.asgnmTm1) AS asgnmTm1
|
||||
, IF(aaaa.asgnmTm2>0,CONCAT(aaaa.asgnmTm2,'(',IFNULL(bbbb.wCntMnt02,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt02,aaaa.areaCnt),')'),aaaa.asgnmTm2) AS asgnmTm2
|
||||
, IF(aaaa.asgnmTm3>0,CONCAT(aaaa.asgnmTm3,'(',IFNULL(bbbb.wCntMnt03,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt03,aaaa.areaCnt),')'),aaaa.asgnmTm3) AS asgnmTm3
|
||||
@ -949,6 +962,21 @@
|
||||
, IF(aaaa.asgnmTm10>0,CONCAT(aaaa.asgnmTm10,'(',IFNULL(bbbb.wCntMnt10,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt10,aaaa.areaCnt),')'),aaaa.asgnmTm10) AS asgnmTm10
|
||||
, IF(aaaa.asgnmTm11>0,CONCAT(aaaa.asgnmTm11,'(',IFNULL(bbbb.wCntMnt11,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt11,aaaa.areaCnt),')'),aaaa.asgnmTm11) AS asgnmTm11
|
||||
, IF(aaaa.asgnmTm12>0,CONCAT(aaaa.asgnmTm12,'(',IFNULL(bbbb.wCntMnt12,aaaa.wCnt),'/',IFNULL(bbbb.areaCnt12,aaaa.areaCnt),')'),aaaa.asgnmTm12) AS asgnmTm12
|
||||
*/
|
||||
|
||||
, CASE WHEN aaaa.asgnmTm1>0 THEN aaaa.asgnmTm1||'('||NVL(bbbb.wCntMnt01,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt01,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm1 END AS asgnmTm1
|
||||
, CASE WHEN aaaa.asgnmTm2>0 THEN aaaa.asgnmTm2||'('||NVL(bbbb.wCntMnt02,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt02,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm2 END AS asgnmTm2
|
||||
, CASE WHEN aaaa.asgnmTm3>0 THEN aaaa.asgnmTm3||'('||NVL(bbbb.wCntMnt03,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt03,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm3 END AS asgnmTm3
|
||||
, CASE WHEN aaaa.asgnmTm4>0 THEN aaaa.asgnmTm4||'('||NVL(bbbb.wCntMnt04,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt04,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm4 END AS asgnmTm4
|
||||
, CASE WHEN aaaa.asgnmTm5>0 THEN aaaa.asgnmTm5||'('||NVL(bbbb.wCntMnt05,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt05,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm5 END AS asgnmTm5
|
||||
, CASE WHEN aaaa.asgnmTm6>0 THEN aaaa.asgnmTm6||'('||NVL(bbbb.wCntMnt06,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt06,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm6 END AS asgnmTm6
|
||||
, CASE WHEN aaaa.asgnmTm7>0 THEN aaaa.asgnmTm7||'('||NVL(bbbb.wCntMnt07,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt07,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm7 END AS asgnmTm7
|
||||
, CASE WHEN aaaa.asgnmTm8>0 THEN aaaa.asgnmTm8||'('||NVL(bbbb.wCntMnt08,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt08,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm8 END AS asgnmTm8
|
||||
, CASE WHEN aaaa.asgnmTm9>0 THEN aaaa.asgnmTm9||'('||NVL(bbbb.wCntMnt09,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt09,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm9 END AS asgnmTm9
|
||||
, CASE WHEN aaaa.asgnmTm10>0 THEN aaaa.asgnmTm10||'('||NVL(bbbb.wCntMnt10,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt10,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm10 END AS asgnmTm10
|
||||
, CASE WHEN aaaa.asgnmTm11>0 THEN aaaa.asgnmTm11||'('||NVL(bbbb.wCntMnt11,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt11,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm11 END AS asgnmTm11
|
||||
, CASE WHEN aaaa.asgnmTm12>0 THEN aaaa.asgnmTm12||'('||NVL(bbbb.wCntMnt12,aaaa.wCnt)||'/'||NVL(bbbb.areaCnt12,aaaa.areaCnt)||')' ELSE aaaa.asgnmTm12 END AS asgnmTm12
|
||||
|
||||
|
||||
|
||||
FROM (
|
||||
@ -956,13 +984,25 @@
|
||||
, bbb.appt_div AS apptDiv
|
||||
, '' lctrAreaNm
|
||||
, bbb.rsdne
|
||||
/*
|
||||
, IF (ccc.mon_lctr_yn='Y',1,0) + IF (ccc.tue_lctr_yn='Y',1,0) + IF (ccc.wed_lctr_yn='Y',1,0)
|
||||
+ IF (ccc.thu_lctr_yn='Y',1,0) + IF (ccc.fri_lctr_yn='Y',1,0) AS wCnt
|
||||
, IFNULL(ddd.areaCnt,0) AS areaCnt
|
||||
*/
|
||||
, CASE WHEN ccc.mon_lctr_yn='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN ccc.tue_lctr_yn='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN ccc.wed_lctr_yn='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN ccc.thu_lctr_yn='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN ccc.fri_lctr_yn='Y' THEN 1 ELSE 0 END AS wCnt
|
||||
|
||||
, NVL(ddd.areaCnt,0) AS areaCnt
|
||||
, aaa.*
|
||||
, bbb.instr_nm AS instrNm
|
||||
, ccc.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm
|
||||
/*
|
||||
, IF (ccc.yr_mxmm_asgnm_tm=0,0,ROUND(CAST(CAST(aaa.mntSum AS DOUBLE)/ifnull(ccc.yr_mxmm_asgnm_tm,1)*100 AS DOUBLE),1)) AS achvPer
|
||||
*/
|
||||
, CASE WHEN ccc.yr_mxmm_asgnm_tm=0 THEN 0
|
||||
ELSE ROUND(CAST(CAST(aaa.mntSum AS DOUBLE)/NVL(ccc.yr_mxmm_asgnm_tm,1)*100 AS DOUBLE),1) END AS achvPer
|
||||
, COUNT(1) OVER() AS totCnt
|
||||
FROM ( SELECT user_id AS userId ,
|
||||
CAST(SUM(IF(mnt='01',chasi,0)) AS INT) AS asgnmTm1 ,
|
||||
@ -1001,7 +1041,7 @@
|
||||
|
||||
<isEmpty property="mngNmbrYr">
|
||||
/* 배정 대상 년도를 한정 */
|
||||
AND SUBSTRING(b.edu_hope_dt,1,4)=DATE_FORMAT(NOW(),'%Y')
|
||||
AND SUBSTRING(b.edu_hope_dt,1,4)=TO_CHAR(SYSDATE,'YYYY')
|
||||
</isEmpty>
|
||||
|
||||
|
||||
@ -1122,7 +1162,7 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
<isEmpty property="orderByQuery">
|
||||
, aaaa.userId
|
||||
</isEmpty>
|
||||
@ -1130,7 +1170,10 @@
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
<isNotEqual property="mode" compareValue="EXCEL">
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</isNotEqual>
|
||||
</select>
|
||||
|
||||
|
||||
@ -29,9 +29,9 @@
|
||||
a.tngr_instr_yn AS tngrInstrYn,
|
||||
a.adult_instr_yn AS adultInstrYn,
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId
|
||||
</sql>
|
||||
|
||||
|
||||
@ -741,7 +741,7 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.area_cd desc
|
||||
@ -750,8 +750,10 @@
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
@ -211,7 +211,7 @@
|
||||
|
||||
<!-- 강사 정보 L page -->
|
||||
<select id="VELctrAreaDAO.selectPagingListNew" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* //조사년월에 강사가 선택한 강의지역 리스트로 변경. 2023-07-25 */
|
||||
/* //조사년월에 강사가 선택한 강의지역 리스트로 변경. 2023-07-25 VELctrAreaDAO.selectPagingListNew */
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
c.instr_div AS instrDiv,
|
||||
c.user_id AS userId,
|
||||
@ -245,7 +245,7 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, b.user_id desc
|
||||
@ -254,8 +254,10 @@
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -34,6 +34,8 @@
|
||||
a.rsrch_strt_dt AS rsrchStrtDt,
|
||||
a.rsrch_end_dt AS rsrchEndDt,
|
||||
|
||||
a.lctr_rsrch_state AS rsrchState,
|
||||
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
@ -104,34 +106,64 @@
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VELctrRsrchMngDAO.update" parameterClass="VELctrDetailVO">
|
||||
UPDATE
|
||||
<include refid="VELctrRsrchMngDAO.table_name"/>
|
||||
SET
|
||||
|
||||
last_updt_pnttm=now()
|
||||
, last_updusr_id=#lastUpdusrId#
|
||||
/* VELctrRsrchMngDAO.update */
|
||||
MERGE INTO <include refid="VELctrRsrchMngDAO.table_name"/>
|
||||
USING DUAL
|
||||
ON(rsrch_instr_div = #rsrchInstrDiv#
|
||||
AND stng_yr_mnt = #stngYrMnt#)
|
||||
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT
|
||||
(
|
||||
<include refid="VELctrRsrchMngDAO.column_name"/>
|
||||
)
|
||||
VALUES(
|
||||
|
||||
#rsrchInstrDiv#,
|
||||
#stngYrMnt#,
|
||||
|
||||
#rsrchStrtDt#,
|
||||
#rsrchEndDt#,
|
||||
|
||||
|
||||
SYSDATE,
|
||||
#frstRegisterId#,
|
||||
NULL,
|
||||
NULL
|
||||
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
SET last_updt_pnttm = SYSDATE
|
||||
, last_updusr_id = #frstRegisterId#
|
||||
|
||||
<isNotEmpty property="rsrchStrtDt">
|
||||
, rsrch_strt_dt = #rsrchStrtDt#
|
||||
|
||||
</isNotEmpty><isNotEmpty property="rsrchEndDt">
|
||||
, rsrch_end_dt = #rsrchEndDt#
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="rsrchEndDt">
|
||||
, rsrch_end_dt = #rsrchEndDt#
|
||||
</isNotEmpty>
|
||||
|
||||
WHERE
|
||||
rsrch_instr_div = #rsrchInstrDiv#
|
||||
AND stng_yr_mnt = #stngYrMnt#
|
||||
<isNotEmpty property="rsrchState">
|
||||
<isEqual property="rsrchState" compareValue="00">
|
||||
, lctr_rsrch_state = null
|
||||
</isEqual>
|
||||
<isNotEqual property="rsrchState" compareValue="00">
|
||||
, lctr_rsrch_state = #rsrchState#
|
||||
</isNotEqual>
|
||||
|
||||
</isNotEmpty>
|
||||
</update>
|
||||
|
||||
<!-- 강사 정보 D -->
|
||||
<delete id="VELctrRsrchMngDAO.delete" parameterClass="VELctrDetailVO">
|
||||
/* VELctrRsrchMngDAO.delete */
|
||||
DELETE FROM
|
||||
<include refid="VELctrRsrchMngDAO.table_name"/>
|
||||
WHERE
|
||||
rsrch_instr_div = #rsrchInstrDiv#
|
||||
AND stng_yr = #stngYr#
|
||||
AND stng_yr_mnt = #stngYrMnt#
|
||||
|
||||
</delete>
|
||||
@ -146,11 +178,16 @@
|
||||
|
||||
WHERE 1=1
|
||||
|
||||
<isNotEmpty property="stngYrMnt">
|
||||
AND a.stng_yr_mnt = #stngYrMnt#
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.stng_yr_mnt desc
|
||||
@ -226,6 +263,7 @@
|
||||
, dddd.instr_div AS instrDiv
|
||||
, dddd.instr_detail_ord AS instrDetailOrd
|
||||
|
||||
/*
|
||||
, (SELECT f.one_depth_nm
|
||||
FROM ve_rsdnc f
|
||||
WHERE f.post_id = MAX(eeee.area_cd)
|
||||
@ -233,6 +271,7 @@
|
||||
)
|
||||
AS lctrAreaNm
|
||||
, COUNT(eeee.area_cd) AS lctrAreaCnt
|
||||
*/
|
||||
|
||||
FROM (
|
||||
SELECT aaa.rsrch_instr_div
|
||||
@ -244,6 +283,7 @@
|
||||
, aaa.user_id
|
||||
, aaa.qlfct_end_yn
|
||||
, ccc.lctr_stng_ord
|
||||
/*
|
||||
, IF(NVL(ccc.sun_lctr_yn, ddd.sun_lctr_yn)='Y',1,0)
|
||||
+ IF(NVL(ccc.mon_lctr_yn, ddd.mon_lctr_yn)='Y',1,0)
|
||||
+ IF(NVL(ccc.tue_lctr_yn, ddd.tue_lctr_yn)='Y',1,0)
|
||||
@ -251,6 +291,16 @@
|
||||
+ IF(NVL(ccc.thu_lctr_yn, ddd.thu_lctr_yn)='Y',1,0)
|
||||
+ IF(NVL(ccc.fri_lctr_yn, ddd.fri_lctr_yn)='Y',1,0)
|
||||
+ IF(NVL(ccc.sat_lctr_yn, ddd.sat_lctr_yn)='Y',1,0) AS w_cnt
|
||||
*/
|
||||
|
||||
, CASE WHEN NVL(ccc.sun_lctr_yn, ddd.sun_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.mon_lctr_yn, ddd.mon_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.tue_lctr_yn, ddd.tue_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.wed_lctr_yn, ddd.wed_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.thu_lctr_yn, ddd.thu_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.fri_lctr_yn, ddd.fri_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
+ CASE WHEN NVL(ccc.sat_lctr_yn, ddd.sat_lctr_yn)='Y' THEN 1 ELSE 0 END
|
||||
AS w_cnt
|
||||
, ddd.lctr_stng_ord AS other_lctr_stng_ord
|
||||
, ddd.instr_div
|
||||
, aaa.instr_detail_ord
|
||||
@ -345,6 +395,7 @@
|
||||
, dddd.w_cnt
|
||||
, dddd.other_lctr_stng_ord
|
||||
, dddd.instr_div
|
||||
, dddd.instr_detail_ord
|
||||
|
||||
|
||||
|
||||
|
||||
@ -39,9 +39,9 @@
|
||||
a.lctr_stng_ord AS lctrStngOrd,
|
||||
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
|
||||
a.strt_dt AS strtDt,
|
||||
@ -85,7 +85,7 @@
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
<select id="VELctrRsrchSbmtDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 - 관리자 */
|
||||
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 - 관리자 VELctrRsrchSbmtDAO.selectDetail */
|
||||
SELECT
|
||||
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
|
||||
FROM
|
||||
@ -111,7 +111,7 @@
|
||||
|
||||
<!-- 강사 정보 R -->
|
||||
<select id="VELctrRsrchSbmtDAO.selectDetailNew" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 */
|
||||
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 VELctrRsrchSbmtDAO.selectDetailNew */
|
||||
/* 순번데이터 없이 해당 조사 제출을 한 강사 정보가 있는지 확인 하는 것임 since 2023.07.25 */
|
||||
SELECT
|
||||
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
|
||||
@ -128,12 +128,44 @@
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VELctrRsrchSbmtDAO.update" parameterClass="VELctrDetailVO">
|
||||
UPDATE
|
||||
<include refid="VELctrRsrchSbmtDAO.table_name"/>
|
||||
SET
|
||||
/* VELctrRsrchSbmtDAO.update */
|
||||
MERGE INTO <include refid="VELctrRsrchSbmtDAO.table_name"/>
|
||||
USING DUAL
|
||||
ON(
|
||||
rsrch_instr_div = #rsrchInstrDiv#
|
||||
AND stng_yr_mnt = #stngYrMnt#
|
||||
|
||||
last_updt_pnttm=now()
|
||||
, last_updusr_id=#lastUpdusrId#
|
||||
AND instr_div = #instrDiv#
|
||||
AND user_id = #userId#
|
||||
)
|
||||
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT
|
||||
(
|
||||
<include refid="VELctrRsrchSbmtDAO.column_name"/>
|
||||
)
|
||||
VALUES(
|
||||
#rsrchInstrDiv#,
|
||||
#stngYrMnt#,
|
||||
|
||||
#instrDiv#,
|
||||
#userId#,
|
||||
#lctrStngOrd#,
|
||||
|
||||
|
||||
SYSDATE,
|
||||
#frstRegisterId#,
|
||||
NULL,
|
||||
NULL,
|
||||
|
||||
#strtDt#,
|
||||
#endDt#
|
||||
)
|
||||
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
SET last_updt_pnttm = SYSDATE
|
||||
, last_updusr_id = #frstRegisterId#
|
||||
|
||||
<isNotEmpty property="strtDt">
|
||||
, strt_dt = #strtDt#
|
||||
@ -143,12 +175,6 @@
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
WHERE
|
||||
rsrch_instr_div = #rsrchInstrDiv#
|
||||
AND stng_yr_mnt = #stngYrMnt#
|
||||
AND instr_div = #instrDiv#
|
||||
AND user_id = #userId#
|
||||
AND lctr_stng_ord = #lctrStngOrd#
|
||||
</update>
|
||||
|
||||
<!-- 강사 정보 D -->
|
||||
@ -166,6 +192,7 @@
|
||||
|
||||
<!-- 강사 정보 L -->
|
||||
<select id="VELctrRsrchSbmtDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* VELctrRsrchSbmtDAO.selectList */
|
||||
SELECT
|
||||
aaa.instr_div AS instrDiv
|
||||
, aaa.area_cd AS areaCd
|
||||
@ -261,6 +288,7 @@
|
||||
|
||||
<!-- 강사 정보 L page -->
|
||||
<select id="VELctrRsrchSbmtDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* VELctrRsrchSbmtDAO.selectPagingList */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
|
||||
|
||||
@ -456,6 +456,39 @@
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VELctrStngDAO.updateUseYn" parameterClass="VELctrDetailVO">
|
||||
UPDATE
|
||||
(
|
||||
SELECT cc.use_yn
|
||||
FROM ve_lctr_stng cc
|
||||
,(
|
||||
SELECT a.instr_div
|
||||
, a.user_id
|
||||
, a.lctr_stng_ord
|
||||
, a.use_yn
|
||||
FROM ve_lctr_stng a
|
||||
LEFT OUTER JOIN ve_lctr_stng b
|
||||
ON(
|
||||
a.instr_div=b.instr_div
|
||||
AND a.user_id=b.user_id
|
||||
AND a.lctr_stng_ord=b.lctr_stng_ord
|
||||
AND b.instr_div = #instrDiv#
|
||||
AND b.user_id = #userId#
|
||||
AND b.lctr_stng_ord = #lctrStngOrd#
|
||||
)
|
||||
WHERE a.instr_div = #instrDiv#
|
||||
AND a.user_id = #userId#
|
||||
AND b.lctr_stng_ord IS null
|
||||
)dd
|
||||
WHERE cc.instr_div=dd.instr_div
|
||||
AND cc.user_id=dd.user_id
|
||||
AND cc.lctr_stng_ord=dd.lctr_stng_ord
|
||||
)AA
|
||||
SET AA.use_yn=#useYn#
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VELctrStngDAO.updateUseYn_old" parameterClass="VELctrDetailVO">
|
||||
UPDATE ve_lctr_stng cc,
|
||||
(
|
||||
|
||||
@ -484,7 +517,6 @@
|
||||
AND cc.lctr_stng_ord=dd.lctr_stng_ord
|
||||
|
||||
</update>
|
||||
|
||||
<!-- 강사 정보 D -->
|
||||
<delete id="VELctrStngDAO.delete" parameterClass="VELctrDetailVO">
|
||||
DELETE FROM
|
||||
|
||||
@ -90,9 +90,9 @@
|
||||
a.aprvl_id AS aprvlId,
|
||||
a.aprvl_cn AS aprvlCn,
|
||||
|
||||
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
|
||||
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
|
||||
a.frst_register_id AS frstRegisterId,
|
||||
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
|
||||
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
|
||||
a.last_updusr_id AS lastUpdusrId,
|
||||
|
||||
a.use_yn AS useYn,
|
||||
@ -229,7 +229,7 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1=1
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.user_id desc
|
||||
@ -239,7 +239,10 @@
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
@ -282,7 +285,7 @@
|
||||
UNION ALL SELECT '12'
|
||||
)bb
|
||||
WHERE 1=1
|
||||
AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 month),'%Y%m')>=CONCAT(aa.stndrd_yr,bb.stndrd_mnt)
|
||||
AND TO_CHAR(DATE_ADD(SYSDATE, INTERVAL 1 month),'YYYYMM')>=aa.stndrd_yr||bb.stndrd_mnt
|
||||
ORDER BY CONCAT(aa.stndrd_yr,bb.stndrd_mnt) DESC
|
||||
|
||||
</select>
|
||||
|
||||
@ -116,9 +116,26 @@
|
||||
|
||||
<!-- 교육 신청자 상태 update -->
|
||||
<update id="VEAPrcsAplctPrdInstrAsgnmDAO.udpateAprvlCdEduAplct" parameterClass="VEPrcsDetailVO">
|
||||
|
||||
/* VEAPrcsAplctPrdInstrAsgnmDAO.updateAplctStateCdListAjax */
|
||||
|
||||
UPDATE VE_EDU_APLCT
|
||||
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=",">
|
||||
#eduAplctOrdList[]#
|
||||
</iterate>
|
||||
@ -126,6 +143,7 @@
|
||||
|
||||
<!-- 강사 배정 등록 -->
|
||||
<select id="VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd" parameterClass="String" resultClass="VEAPrcsAplctPrdInstrAsgnmVO">
|
||||
/* VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd */
|
||||
|
||||
SELECT
|
||||
<include refid="VEAPrcsAplctPrdInstrAsgnmDAO.select_column_name"/>
|
||||
|
||||
@ -331,6 +331,10 @@
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
/*교육확정목록을 조회하기 위한 조건문*/
|
||||
<isNotEmpty property="ddlnCd">
|
||||
AND a.ddln_cd = #ddlnCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
|
||||
@ -338,6 +342,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
|
||||
@ -70,13 +70,16 @@
|
||||
<select id="VERsdncMIXDAO.selectRsdncStep2List" parameterClass="VERsdncVO" resultClass="VERsdncVO">
|
||||
/* 강의 지역 - Depth 2 */
|
||||
SELECT aa.*
|
||||
, IFNULL(bb.area_cd, 0) cnt
|
||||
, NVL(bb.area_cd, 0) cnt
|
||||
FROM (
|
||||
SELECT one_depth_nm AS oneDepthNm
|
||||
/*
|
||||
, a.two_depth_nm AS twoDepthNm
|
||||
*/
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END AS twoDepthNm
|
||||
, MAX(post_id) postId
|
||||
FROM ve_rsdnc a
|
||||
WHERE 1=1
|
||||
@ -85,13 +88,19 @@
|
||||
</isNotEmpty>
|
||||
|
||||
GROUP BY one_depth_nm
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
|
||||
ORDER BY one_depth_nm
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
@ -126,13 +135,16 @@
|
||||
<select id="VERsdncMIXDAO.selectRsdncStep2ListNew" parameterClass="VERsdncVO" resultClass="VERsdncVO">
|
||||
/* 강의 지역 - Depth 2 */
|
||||
SELECT aa.*
|
||||
, IFNULL(bb.area_cd, 0) cnt
|
||||
, NVL(bb.area_cd, 0) cnt
|
||||
FROM (
|
||||
SELECT one_depth_nm AS oneDepthNm
|
||||
/*
|
||||
, a.two_depth_nm AS twoDepthNm
|
||||
*/
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END AS twoDepthNm
|
||||
, MAX(post_id) postId
|
||||
FROM ve_rsdnc a
|
||||
WHERE 1=1
|
||||
@ -141,13 +153,19 @@
|
||||
</isNotEmpty>
|
||||
|
||||
GROUP BY one_depth_nm
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
|
||||
ORDER BY one_depth_nm
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm IS NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
@ -202,15 +220,18 @@
|
||||
<!-- 거주지 2단계 -->
|
||||
<!-- //관리자에서 강사의 현재 선택 지역 정보를 가져오기 위한 쿼리임 - 2023.07.26 -->
|
||||
<select id="VERsdncMIXDAO.selectRsdncStep2ListNewAdmin" parameterClass="VERsdncVO" resultClass="VERsdncVO">
|
||||
/* 강의 지역 - Depth 2 */
|
||||
/* 강의 지역 - Depth 2 VERsdncMIXDAO.selectRsdncStep2ListNewAdmin */
|
||||
SELECT aa.*
|
||||
, IFNULL(bb.area_cd, 0) cnt
|
||||
, NVL(bb.area_cd, 0) cnt
|
||||
FROM (
|
||||
SELECT one_depth_nm AS oneDepthNm
|
||||
/*
|
||||
, a.two_depth_nm AS twoDepthNm
|
||||
*/
|
||||
/*
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
|
||||
*/
|
||||
, CASE WHEN a.two_depth_nm is NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END AS twoDepthNm
|
||||
, MAX(post_id) postId
|
||||
FROM ve_rsdnc a
|
||||
WHERE 1=1
|
||||
@ -219,13 +240,13 @@
|
||||
</isNotEmpty>
|
||||
|
||||
GROUP BY one_depth_nm
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
, CASE WHEN a.two_depth_nm is NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
|
||||
ORDER BY one_depth_nm
|
||||
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
|
||||
, CASE WHEN a.two_depth_nm is NULL OR a.two_depth_nm ='' THEN a.three_depth_nm ELSE a.two_depth_nm END
|
||||
/*
|
||||
, a.two_depth_nm
|
||||
*/
|
||||
|
||||
@ -87,7 +87,6 @@
|
||||
|
||||
<!-- 강사 정보 U -->
|
||||
<update id="VEAAreaLctrStngDAO.update" parameterClass="VEAStngVO">
|
||||
|
||||
/* VEAAreaLctrStngDAO.update */
|
||||
MERGE INTO <include refid="VEAAreaLctrStngDAO.table_name"/>
|
||||
USING DUAL
|
||||
|
||||
@ -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>
|
||||
<ve:code codeId="COM014" code="${info.sex }"/>
|
||||
</td>
|
||||
<th scope="row">연락처</th>
|
||||
<td>
|
||||
<c:out value="${info.clphone }" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">성명</th>
|
||||
|
||||
@ -293,6 +293,10 @@
|
||||
defaultText='선택'
|
||||
/>
|
||||
</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>
|
||||
<th scope="row">성명</th>
|
||||
|
||||
@ -242,6 +242,10 @@
|
||||
defaultText='선택'
|
||||
/>
|
||||
</td>
|
||||
<th scope="row">연락처</th>
|
||||
<td>
|
||||
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">성명</th>
|
||||
|
||||
@ -140,7 +140,7 @@
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<ve:select codeId="VE0029" name="searchStateYear" id="searchStateYear" css="class='sel_type1'"
|
||||
selectedValue="${vEEduAplctVO.searchStateYear}"
|
||||
selectedValue="${vEEduAplctVO.searchStateYear}" defaultText='전체'
|
||||
/>
|
||||
<ve:select codeId="VE0008" name="searchEduSlctAreaCd2" id="searchEduSlctAreaCd2" css="class='sel_type1'"
|
||||
selectedValue="${vEEduAplctVO.searchEduSlctAreaCd2}" defaultText='전체'
|
||||
@ -195,6 +195,20 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_3">
|
||||
<div class="util_left">
|
||||
<p>처리상태</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchStartRegistPnttm" name="searchStartRegistPnttm" value="${vEEduAplctVO.searchStartRegistPnttm}">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchEndRegistPnttm" name="searchEndRegistPnttm" value="${vEEduAplctVO.searchEndRegistPnttm}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
|
||||
@ -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">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>조건부기소유예관리</p>
|
||||
<p>기반강화연수관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">과정신청기간관리 신청기간 상세</span></li>
|
||||
</ul>
|
||||
|
||||
@ -319,6 +319,8 @@
|
||||
<button type="button" class="btn_type01" onclick="fncGoRegExcel(); return false;">Excel등록</button>
|
||||
<button type="button" class="btn_type01" onclick="fncGoReg(); return false;">등록</button>
|
||||
-->
|
||||
<button type="button" class="btn_type01" onclick="fncGoList(); return false;">목록</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -132,6 +132,146 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//강의조사요청관리 팝업
|
||||
function fncLctrRsrchStng() {
|
||||
//var p_stngYr = $("#stngYr").val();
|
||||
|
||||
/*
|
||||
if(p_stngYr==''){
|
||||
alert("회차관리 대상 년도를 선택해주세요.");
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
//document.listForm.yr.value = p_stngYr;
|
||||
|
||||
//document.listForm.authorCode.value = vAuthorCode;
|
||||
//document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
|
||||
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.do'/>";
|
||||
|
||||
window.open("#", "_lctrRsrchPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
|
||||
document.listForm.target = "_lctrRsrchPop";
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
//강의조사요청관리 팝업
|
||||
function fncLctrRsrchDetailStng(
|
||||
/*
|
||||
p_stngYr
|
||||
, p_stngMnt
|
||||
, p_stngYrMnt
|
||||
*/
|
||||
p_stngYrMnt
|
||||
) {
|
||||
|
||||
//alert(p_stngYrMnt.substring(0,4));
|
||||
//alert(p_stngYrMnt.substring(4,6));
|
||||
|
||||
//return;
|
||||
document.listForm.stngYr.value = p_stngYrMnt.substring(0,4);
|
||||
document.listForm.stngMnt.value = p_stngYrMnt.substring(4,6);
|
||||
document.listForm.stngYrMnt.value = p_stngYrMnt;
|
||||
|
||||
//document.listForm.authorCode.value = vAuthorCode;
|
||||
//document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
|
||||
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.do'/>";
|
||||
|
||||
window.open("#", "_lctrRsrchPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
|
||||
document.listForm.target = "_lctrRsrchPop";
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
//강의조사 요청 삭제
|
||||
function fncLctrRsrchDelete(
|
||||
p_instrDiv
|
||||
, p_stngYrMnt
|
||||
){
|
||||
|
||||
//var p_rgstrPsblTm = $(thisObj).closest("td").find("input[name=rgstrPsblTm]").val();
|
||||
//var p_stngYr = $("#stngYr").val();
|
||||
//var p_prdDivCd = $("#prdDivCd").val();
|
||||
//var p_instrDiv = $("input[name=instrDiv]").val();
|
||||
//var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val();
|
||||
|
||||
//alert(p_areaCd);
|
||||
|
||||
if(confirm("강의조사 일정을 삭제하시겠습니까?")){
|
||||
//동일한 값은 업데이트로 수정
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/lctrRsrchMngDelAjax.do",
|
||||
data:{
|
||||
"rsrchInstrDiv" : p_instrDiv,
|
||||
"stngYrMnt" : p_stngYrMnt,
|
||||
},
|
||||
dataType:'json',
|
||||
|
||||
//async: false,
|
||||
//processData: false,
|
||||
//contentType: false,
|
||||
cache: false,
|
||||
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제 되었습니다.");
|
||||
location.reload();
|
||||
|
||||
}else{
|
||||
alert("삭제 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//강의조사 마감 처리
|
||||
function fncLctrRsrchChgState(
|
||||
p_instrDiv
|
||||
, p_stngYrMnt
|
||||
, p_rsrchState
|
||||
){
|
||||
|
||||
//var p_rgstrPsblTm = $(thisObj).closest("td").find("input[name=rgstrPsblTm]").val();
|
||||
//var p_stngYr = $("#stngYr").val();
|
||||
//var p_prdDivCd = $("#prdDivCd").val();
|
||||
//var p_instrDiv = $("input[name=instrDiv]").val();
|
||||
//var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val();
|
||||
|
||||
//if(confirm("강의조사 일정을 삭제하시겠습니까?")){
|
||||
//동일한 값은 업데이트로 수정
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/lctrRsrchMngChangeAjax.do",
|
||||
data:{
|
||||
"rsrchInstrDiv" : p_instrDiv,
|
||||
"stngYrMnt" : p_stngYrMnt,
|
||||
"rsrchState" : p_rsrchState,
|
||||
},
|
||||
dataType:'json',
|
||||
|
||||
//async: false,
|
||||
//processData: false,
|
||||
//contentType: false,
|
||||
cache: false,
|
||||
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("처리 되었습니다.");
|
||||
location.reload();
|
||||
|
||||
}else{
|
||||
alert("처리 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
//}
|
||||
}
|
||||
</script>
|
||||
<title>강의조사 요청목록</title>
|
||||
</head>
|
||||
@ -141,6 +281,8 @@
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrDetailVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrDetailVO.searchSortOrd}" />" />
|
||||
<input type="hidden" name="rsrchInstrDiv" value="" />
|
||||
<input type="hidden" name="stngYr" value="" />
|
||||
<input type="hidden" name="stngMnt" value="" />
|
||||
<input type="hidden" name="stngYrMnt" value="" />
|
||||
|
||||
|
||||
@ -162,6 +304,7 @@
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_top -->
|
||||
<!--
|
||||
<div class="list_top">
|
||||
|
||||
<div class="list_top_1">
|
||||
@ -200,6 +343,7 @@
|
||||
|
||||
<%-- <input type="text" id=searchKeyword name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEInstrDetailVO.searchKeyword}'/>"> --%>
|
||||
<button type="button" class="btn_type08" onclick="fncLctrRsrchReg(); return false;">강의조사 요청</button>
|
||||
<button class="btn_type06" onclick="fncLctrRsrchStng(); return false;" >강의조사요청관리</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_2">
|
||||
@ -217,16 +361,35 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<!-- //list_top -->
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<!--
|
||||
<button type="button" class="btn_type01" onclick="fncGoRegExcel(); return false;">Excel등록</button>
|
||||
<button type="button" class="btn_type01" onclick="fncGoReg(); return false;">등록</button>
|
||||
-->
|
||||
<!-- <button type="button" class="btn_type01" onclick="fncGoList(); return false;">목록</button> -->
|
||||
<button class="btn_type06" onclick="fncLctrRsrchStng(); return false;" >강의조사요청관리</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 15%">
|
||||
<col style="width: auto">
|
||||
|
||||
</colgroup>
|
||||
@ -237,23 +400,28 @@
|
||||
<th>조사마감일</th>
|
||||
<th>참여현황</th>
|
||||
<th>마감여부</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr onclick="fncGoDetail('<c:out value="${list.rsrchInstrDiv}"/>', '<c:out value="${list.stngYrMnt}"/>');" style="cursor:pointer;">
|
||||
<%-- <tr onclick="fncGoDetail('<c:out value="${list.rsrchInstrDiv}"/>', '<c:out value="${list.stngYrMnt}"/>');" style="cursor:pointer;"> --%>
|
||||
<tr>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.stngYrMnt}" var="stngYrMnt" pattern="yyyyMM"/>
|
||||
<fmt:formatDate value="${stngYrMnt}" pattern="yyyy.MM"/>
|
||||
${list.stngYrMnt}
|
||||
<%-- <fmt:parseDate value="${list.stngYrMnt}" var="stngYrMnt" pattern="yyyyMM"/> --%>
|
||||
<%-- <fmt:formatDate value="${stngYrMnt}" pattern="yyyy.MM"/> --%>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.rsrchStrtDt}" var="rsrchStrtDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rsrchStrtDt}" pattern="yyyy.MM.dd"/>
|
||||
${list.rsrchStrtDt}
|
||||
<%-- <fmt:parseDate value="${list.rsrchStrtDt}" var="rsrchStrtDt" pattern="yyyyMMdd"/> --%>
|
||||
<%-- <fmt:formatDate value="${rsrchStrtDt}" pattern="yyyy.MM.dd"/> --%>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<fmt:parseDate value="${list.rsrchEndDt}" var="rsrchEndDt" pattern="yyyyMMdd"/>
|
||||
<fmt:formatDate value="${rsrchEndDt}" pattern="yyyy.MM.dd"/>
|
||||
${list.rsrchEndDt}
|
||||
<%-- <fmt:parseDate value="${list.rsrchEndDt}" var="rsrchEndDt" pattern="yyyyMMdd"/> --%>
|
||||
<%-- <fmt:formatDate value="${rsrchEndDt}" pattern="yyyy.MM.dd"/> --%>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
@ -263,10 +431,29 @@
|
||||
<td>
|
||||
<ve:code codeId="VE0034" code="${list.rsrchState }"/>
|
||||
</td>
|
||||
<td>
|
||||
<%-- <ve:code codeId="VE0034" code="${list.rsrchState }"/> --%>
|
||||
<button class="btn_type06" onclick="fncGoDetail('<c:out value="${list.rsrchInstrDiv}"/>', '<c:out value="${list.stngYrMnt}"/>'); return false;" >상세</button>
|
||||
|
||||
<button class="btn_type06" onclick="fncLctrRsrchChgState('<c:out value="${list.rsrchInstrDiv}"/>', '<c:out value="${list.stngYrMnt}"/>', '<c:out value="${list.rsrchState}"/>'); return false;" >
|
||||
<c:if test="${list.rsrchState eq '03'}">
|
||||
마감해제
|
||||
</c:if>
|
||||
<c:if test="${list.rsrchState ne '03'}">
|
||||
마감
|
||||
</c:if>
|
||||
</button>
|
||||
|
||||
<button class="btn_type06" onclick="fncLctrRsrchDetailStng('<c:out value="${list.stngYrMnt}"/>'); return false;" >수정</button>
|
||||
<c:if test="${list.lctrStngOrdSbmt eq '0'}">
|
||||
<button class="btn_type06" onclick="fncLctrRsrchDelete('<c:out value="${list.rsrchInstrDiv}"/>', '<c:out value="${list.stngYrMnt}"/>'); return false;" >삭제</button>
|
||||
</c:if>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -0,0 +1,548 @@
|
||||
<!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"%>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : advLctrRsrchStngMngPopup.jsp
|
||||
* @Description : 강의조사관리 팝업
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.08.09 김봉호 최초 생성
|
||||
* @author 김봉호
|
||||
* @since 2021.08.21
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/classic.css">
|
||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/classic.date.css">
|
||||
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/picker.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/picker.date.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/legacy.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/ko_KR.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
<title>신청반려팝업</title>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
$(document).ready(function(){
|
||||
var mode = '${adjReqMgrVO.mode}';
|
||||
if(mode == "D"){
|
||||
$("input[type=checkbox],textarea").not("textarea[name=rejtReson]").attr("disabled" , true);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function fncAprooval(){
|
||||
var msg = "강의가능시간 변경";
|
||||
|
||||
var data1 = new FormData(document.getElementById("createForm"));
|
||||
|
||||
//console.log(data);
|
||||
console.log(data1);
|
||||
|
||||
if (confirm(msg+" 하시겠습니까?")) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/areaLctrMngLctrPsblTmPopupAjax.do",
|
||||
//data: JSON.stringify(data),
|
||||
data: data1,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
console.log(returnData.rs);
|
||||
if(returnData.result == 'success'){
|
||||
alert("정상적으로 "+ msg +" 되었습니다.");
|
||||
opener.location.reload();
|
||||
self.close();
|
||||
}else{
|
||||
alert(returnData.message);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function validationForm(data){
|
||||
/*
|
||||
var len = $("input[type='checkbox']:checked").length;
|
||||
|
||||
if (len <= 0) {
|
||||
alert("보완요청항목을 선택해주세요.");
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
if ($("[name='aprvlCn']").val() == '') {
|
||||
alert("사유를 입력해주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
if ($("[name='adrSeq']").val() == '') {
|
||||
alert("신청번호가 없습니다. 관리자에게 문의해주세요.");
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function fncGoEdit(){
|
||||
var createForm = document.createForm ;
|
||||
createForm.mode.value = "C";
|
||||
createForm.action = "<c:url value='/kccadr/adjReqMgr/popup/adjReqMgrRegSecurityPopup.do'/>";
|
||||
createForm.submit();
|
||||
}
|
||||
|
||||
function fncStatusUpdate(confirmYn){
|
||||
var msg = "승인";
|
||||
var data = {};
|
||||
data.adrSeq = '${security.adrSeq}';
|
||||
data.edtSn = '${security.edtSn}';
|
||||
data.apprYn = 'Y';
|
||||
data.rejtReson = $("#rejtReson").val();
|
||||
//data.statCd = '010100'; // 작성중 상태로 변경
|
||||
if(confirmYn == "N"){
|
||||
data.apprYn = 'N'; // 미승인 상태
|
||||
msg = "반려";
|
||||
}
|
||||
|
||||
if (confirm(msg+" 하시겠습니까?")) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/kccadr/adjReqMgr/popup/adjReqMgrRegSecurityStatusChange.do",
|
||||
data: JSON.stringify(data),
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: "application/json",
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
console.log(returnData.rs);
|
||||
if(returnData.result == 'SUCCESS'){
|
||||
alert("정상적으로 "+ msg +" 되었습니다.");
|
||||
opener.location.reload();
|
||||
self.close();
|
||||
}else{
|
||||
alert(returnData.message);
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fncPopClose(){
|
||||
self.close();
|
||||
}
|
||||
|
||||
//회차관리 변경
|
||||
function fncRndsSave(thisObj){
|
||||
//alert($("#ord_1").val());
|
||||
//alert($(thisObj).closest("td"));
|
||||
//alert($(thisObj).closest("td").find("input[name=ord_1]").length);
|
||||
var p_ord = $(thisObj).closest("td").find("input[name=ord_1]").val();
|
||||
|
||||
var p_rgstrStrtPnttm_dt = $(thisObj).closest("td").find("input[name=rgstrStrtPnttm_dt]").val();
|
||||
var p_rgstrStrtPnttm_tm = $(thisObj).closest("td").find("input[name=rgstrStrtPnttm_tm]").val();
|
||||
var p_rgstrDdlnPnttm_dt = $(thisObj).closest("td").find("input[name=rgstrDdlnPnttm_dt]").val();
|
||||
var p_rgstrDdlnPnttm_tm = $(thisObj).closest("td").find("input[name=rgstrDdlnPnttm_tm]").val();
|
||||
|
||||
var p_yr = $("#yr").val();
|
||||
var p_ord = $("#ord").val();
|
||||
|
||||
var p_rgstrStrtPnttm_dt = $("#rgstrStrtPnttm_dt").val();
|
||||
var p_rgstrStrtPnttm_tm = $("#rgstrStrtPnttm_tm").val();
|
||||
var p_rgstrDdlnPnttm_dt = $("#rgstrDdlnPnttm_dt").val();
|
||||
var p_rgstrDdlnPnttm_tm = $("#rgstrDdlnPnttm_tm").val();
|
||||
|
||||
//alert(p_areaCd);
|
||||
|
||||
//if(p_psblTmQntty != "") {
|
||||
if(true) {
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsSaveAjax.do",
|
||||
data:{
|
||||
"yr" : p_yr,
|
||||
"ord" : p_ord,
|
||||
"rgstrStrtPnttm" : p_rgstrStrtPnttm_dt+p_rgstrStrtPnttm_tm,
|
||||
"rgstrDdlnPnttm" : p_rgstrDdlnPnttm_dt+p_rgstrDdlnPnttm_tm,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
|
||||
if(returnData.result == "success"){
|
||||
alert("변경 처리 되었습니다.");
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("변경 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
alert("교육가능시수를 입력해주세요.");
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.createForm ;
|
||||
|
||||
listForm.stngYr.value = $('#p_stngYr').val();
|
||||
listForm.stngMnt.value = $('#p_stngMnt').val();
|
||||
listForm.stngYrMnt.value = $('#p_stngYr').val()+$('#p_stngMnt').val();
|
||||
|
||||
//listForm.searchCondition.value = $('#searchCondition').val();
|
||||
//listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advLctrRsrchStngMngPopup.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
//회차관리 변경
|
||||
function fncRndsUpdate(p_rndsOrd){
|
||||
//alert($("#ord_1").val());
|
||||
//alert($(thisObj).closest("td"));
|
||||
//alert($(thisObj).closest("td").find("input[name=ord_1]").length);
|
||||
//var p_ord = $(thisObj).closest("td").find("input[name=ord_1]").val();
|
||||
//$("#${list.rndsOrd}"+" #lctrPsblStrtTm").val('${list.dpStrtTm}');
|
||||
|
||||
var p_rgstrStrtPnttm_dt = $("#"+p_rndsOrd+" #aplctPrdStrt").val();
|
||||
var p_rgstrStrtPnttm_tm = $("#"+p_rndsOrd+" #lctrPsblStrtTm").val();
|
||||
|
||||
var p_rgstrDdlnPnttm_dt = $("#"+p_rndsOrd+" #aplctPrdEnd").val();
|
||||
var p_rgstrDdlnPnttm_tm = $("#"+p_rndsOrd+" #lctrPsblEndTm").val();
|
||||
|
||||
|
||||
var p_ord = $("#"+p_rndsOrd+" #psblTmQntty").val();
|
||||
|
||||
//alert(p_areaCd);
|
||||
|
||||
//if(p_psblTmQntty != "") {
|
||||
if(true) {
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsUpdateAjax.do",
|
||||
data:{
|
||||
"rndsOrd" : p_rndsOrd,
|
||||
//"yr" : p_yr,
|
||||
"ord" : p_ord,
|
||||
"rgstrStrtPnttm" : p_rgstrStrtPnttm_dt+p_rgstrStrtPnttm_tm,
|
||||
"rgstrDdlnPnttm" : p_rgstrDdlnPnttm_dt+p_rgstrDdlnPnttm_tm,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
|
||||
if(returnData.result == "success"){
|
||||
alert("변경 처리 되었습니다.");
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("변경 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
alert("교육가능시수를 입력해주세요.");
|
||||
}
|
||||
}
|
||||
|
||||
//회차관리 삭제
|
||||
function fncRndsDelete(p_rndsOrd){
|
||||
//if(p_psblTmQntty != "") {
|
||||
if(true) {
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsDeleteAjax.do",
|
||||
data:{
|
||||
"rndsOrd" : p_rndsOrd,
|
||||
},
|
||||
dataType:'json',
|
||||
success:function(returnData){
|
||||
|
||||
if(returnData.result == "success"){
|
||||
alert("삭제 처리 되었습니다.");
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("삭제 중 오류가 발생하였습니다.");
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}else{
|
||||
alert("교육가능시수를 입력해주세요.");
|
||||
}
|
||||
}
|
||||
|
||||
//교육설정 등록여부 체크
|
||||
function fncLctrRsrchReg(){
|
||||
|
||||
if(createForm.rsrchStrtDt.value > createForm.rsrchEndDt.value){
|
||||
alert("시작일은 종료일보다 작아야합니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(createForm.rsrchStrtDt.value ==""){
|
||||
alert("조사시작일을 넣어주세요");
|
||||
return;
|
||||
}
|
||||
|
||||
if(createForm.rsrchEndDt.value ==""){
|
||||
alert("조사마감일을 넣어주세요");
|
||||
return;
|
||||
}
|
||||
|
||||
//var p_rgstrPsblTm = $(thisObj).closest("td").find("input[name=rgstrPsblTm]").val();
|
||||
//var p_stngYr = $("#stngYr").val();
|
||||
//var p_prdDivCd = $("#prdDivCd").val();
|
||||
//var p_instrDiv = $("input[name=instrDiv]").val();
|
||||
//var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val();
|
||||
|
||||
//alert(p_areaCd);
|
||||
|
||||
if(confirm("강의조사 일정을 등록하시겠습니까?")){
|
||||
//동일한 값은 업데이트로 수정
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/lctrRsrch/lctrRsrchMngRegAjax.do",
|
||||
data:{
|
||||
"rsrchInstrDiv" : "10",
|
||||
"stngYrMnt" : $("select[name=p_stngYr]").val()+$("select[name=p_stngMnt]").val(),
|
||||
"rsrchStrtDt" : $("input[name=rsrchStrtDt]").val(),
|
||||
"rsrchEndDt" : $("input[name=rsrchEndDt]").val(),
|
||||
},
|
||||
dataType:'json',
|
||||
|
||||
//async: false,
|
||||
//processData: false,
|
||||
//contentType: false,
|
||||
cache: false,
|
||||
|
||||
success:function(returnData){
|
||||
if(returnData.result == "success"){
|
||||
alert("등록 되었습니다.");
|
||||
location.reload();
|
||||
top.window.opener.location.reload();
|
||||
|
||||
}else if(returnData.result == "already"){
|
||||
alert("중복되는 날짜가 등록 되어있습니다.");
|
||||
//location.reload();
|
||||
|
||||
}else{
|
||||
alert("등록 중 오류가 발생하였습니다.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 팝업을 위한 mask -->
|
||||
<div class="mask2" onclick="timeLayerUtil()"></div>
|
||||
|
||||
|
||||
|
||||
<div class="area_popup">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>강의조사요청관리</h2>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont_popup">
|
||||
|
||||
<form:form id="createForm" name="createForm" method="post" commandName="vELctrDetailVO" onsubmit="return false;">
|
||||
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value="${vELctrDetailVO.instrDiv}" />">
|
||||
<input type="hidden" name="areaCd" id="areaCd" value="<c:out value="${vELctrDetailVO.areaCd}" />">
|
||||
<input type="hidden" name="stngYr" id="stngYr" value="<c:out value="${vELctrDetailVO.stngYr}" />">
|
||||
<input type="hidden" name="stngMnt" id="stngMnt" value="<c:out value="${vELctrDetailVO.stngMnt}" />">
|
||||
<input type="hidden" name="stngYrMnt" id="stngYrMnt" value="<c:out value="${vELctrDetailVO.stngYrMnt}" />">
|
||||
<input type="hidden" name="prdDivCd" id="prdDivCd" value="<c:out value="${vELctrDetailVO.prdDivCd}" />">
|
||||
|
||||
|
||||
|
||||
<table class="pop_tb_type02">
|
||||
<colgroup>
|
||||
<col style="width: 140px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row" colspan="2">
|
||||
<p class="req_text"><span>필수입력 항목</span></p>
|
||||
<p>
|
||||
|
||||
<select class="sel_type1" name="p_stngYr" id="p_stngYr" title="줄 선택" style="width: 140px">
|
||||
|
||||
<c:forEach var="list" items="${selectStngYrList}" varStatus="status">
|
||||
<c:if test="${list.useYn eq '1'}">
|
||||
<option value='${list.stngYr}' selected>${list.stngYr*1}년</option>
|
||||
</c:if>
|
||||
<c:if test="${list.useYn ne '1'}">
|
||||
<option value='${list.stngYr}'>${list.stngYr*1}년</option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
</select>
|
||||
|
||||
<select class="sel_type1" name="p_stngMnt" id="p_stngMnt" title="줄 선택" style="width: 140px">
|
||||
|
||||
<c:forEach var="list" items="${selectStngMntList}" varStatus="status">
|
||||
${list.useYn}
|
||||
<c:if test="${list.useYn eq '1'}">
|
||||
<option value='${list.stngMnt}' selected>${list.stngMnt}월</option>
|
||||
</c:if>
|
||||
<c:if test="${list.useYn ne '1'}">
|
||||
<option value='${list.stngMnt}'>${list.stngMnt}월</option>
|
||||
</c:if>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
</select>
|
||||
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;" style="width: 140px;height:30px;">검색</button>
|
||||
|
||||
</p>
|
||||
</th>
|
||||
<!--
|
||||
<td>
|
||||
<div class="util_right">
|
||||
년도
|
||||
<kc:select codeId="VE0029" name="yr" id="yr" css="class='sel_type1'"
|
||||
selectedValue="${vEAStngVO.yr}"
|
||||
/>
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<c:if test="${vELctrDetailVO.stngYrMnt ne ''}">
|
||||
<script>
|
||||
$("#p_stngYr").val('${vELctrDetailVO.stngYr}');
|
||||
$("#p_stngMnt").val('${vELctrDetailVO.stngMnt}');
|
||||
</script>
|
||||
|
||||
<table class="pop_tb_type02">
|
||||
<colgroup>
|
||||
<col style="width: 21%;">
|
||||
<col style="width: 33%;">
|
||||
<col style="width: 33%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"></th>
|
||||
<th scope="row">조사시작일</th>
|
||||
<th scope="row">조사마감일</th>
|
||||
<th scope="row">관리</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<!-- 회차 -->
|
||||
<td>
|
||||
<div class="util_right">
|
||||
<c:out value="${vELctrDetailVO.stngYr}" />년
|
||||
<c:out value="${vELctrDetailVO.stngMnt}" />월
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="rsrchStrtDt"
|
||||
name="rsrchStrtDt" value="<c:out value="${selectVELctrDetailVO.rsrchStrtDt}" />">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="util_right">
|
||||
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="rsrchEndDt"
|
||||
name="rsrchEndDt" value="<c:out value="${selectVELctrDetailVO.rsrchEndDt}" />">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn_wrap_pop btn_layout01" style="margin-top:10px;margin-bottom:10px;">
|
||||
<div class="btn_center" style="width: 100%;">
|
||||
<button class="btn_type04" onclick="fncLctrRsrchReg(this); return false;">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</c:if>
|
||||
|
||||
|
||||
|
||||
</form:form>
|
||||
|
||||
|
||||
<div class="btn_wrap_pop btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center" style="width: 100%;">
|
||||
<!-- <button type="button" class="btn_type04" onclick="fncAprooval(); return false;">확인</button> -->
|
||||
<button type="button" class="btn_type02" onclick="window.close()">취소</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -9,8 +9,8 @@
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : advRndsStngMngPopup.jsp
|
||||
* @Description : 강의회차관리 팝업
|
||||
* @Class Name : advLctrRsrchStngMngPopup.jsp
|
||||
* @Description : 강의조사관리 팝업
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
|
||||
@ -129,33 +129,25 @@
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_10}">
|
||||
<span class="app_status1">운영신청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
|
||||
<span class="app_status2">운영승인</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}">
|
||||
<span class="app_status4">운영반려</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}">
|
||||
<span class="app_status4">운영취소</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
|
||||
<span class="app_status4">선정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_70}">
|
||||
<span class="app_status3">수정요청</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||
<span class="app_status3">수정요청완료</span>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_80}">
|
||||
<span class="app_status3">수정완료</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_60}">
|
||||
<span class="app_status1">운영확정</span>
|
||||
</c:when>
|
||||
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_90}">
|
||||
<span class="app_status1">운영미확정</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
-
|
||||
</c:otherwise>
|
||||
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -69,7 +69,7 @@ $(document).ready(function(){
|
||||
|
||||
var data = new FormData(document.getElementById("regForm"));
|
||||
if(confirm("신청하시겠습니까?")){
|
||||
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do";
|
||||
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do";
|
||||
console.log(data);
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
|
||||
@ -67,9 +67,12 @@ $(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
function fncEduReg(prcsAplctPrdOrd){
|
||||
var regForm = document.regForm;
|
||||
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
|
||||
// 대상자 이름, 생년월일, 대상자TB ID
|
||||
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
|
||||
var form = document.regForm;
|
||||
form.trgtNm.value = trgtNm;
|
||||
form.dBirth.value = dBirth;
|
||||
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
|
||||
|
||||
var data = new FormData(document.getElementById("regForm"));
|
||||
if(confirm("신청하시겠습니까?")){
|
||||
@ -88,6 +91,8 @@ $(document).ready(function(){
|
||||
if(returnData.result == "success"){
|
||||
alert("저장되었습니다.");
|
||||
fncGoList();
|
||||
}else{
|
||||
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
@ -124,16 +129,61 @@ $(document).ready(function(){
|
||||
});
|
||||
}
|
||||
|
||||
function fn_eduInquiry(){
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/eduInquiryPopup.do"
|
||||
, 470
|
||||
, 464
|
||||
// , data
|
||||
, ""
|
||||
, "Y"
|
||||
, "eduInquiryPopup"
|
||||
);
|
||||
|
||||
function fn_confirm(){
|
||||
|
||||
|
||||
var form = document.confirmForm;
|
||||
var dBirth = $('#dBirth').val().replace(/\./g, '');
|
||||
var trgtNm = $('#trgtNm').val();
|
||||
|
||||
|
||||
form.trgtNm.value = trgtNm;
|
||||
form.dBirth.value = dBirth;
|
||||
|
||||
var data = new FormData(document.getElementById("confirmForm"));
|
||||
|
||||
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.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"){
|
||||
// 대상자 테이블 pk 값
|
||||
var sspnIdtmtTrgtOrd = returnData.id;
|
||||
if(sspnIdtmtTrgtOrd != ''){
|
||||
alert("확인되었습니다.");
|
||||
|
||||
// 교육 신청 ajax
|
||||
// 대상자 이름, 생년월일, 대상자TB ID
|
||||
fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd);
|
||||
} else {
|
||||
alert("대상자에 없습니다.");
|
||||
}
|
||||
}
|
||||
fn_target_confirm_clean();
|
||||
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$('#target_confirm_popup-close').click();
|
||||
}
|
||||
|
||||
function fn_target_confirm_clean(){
|
||||
$('#trgtNm').val('');
|
||||
$('#dBirth').val('');
|
||||
}
|
||||
|
||||
</script>
|
||||
@ -141,8 +191,15 @@ $(document).ready(function(){
|
||||
<!-- content -->
|
||||
<div class="cont_wrap" id="sub">
|
||||
|
||||
<form name="confirmForm" id="confirmForm">
|
||||
<input type="hidden" name="trgtNm">
|
||||
<input type="hidden" name="dBirth">
|
||||
</form>
|
||||
<form name="regForm" id="regForm">
|
||||
<input type="hidden" name="prcsAplctPrdOrd">
|
||||
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
|
||||
<input type="hidden" name="trgtNm">
|
||||
<input type="hidden" name="dBirth">
|
||||
</form>
|
||||
<form name="viewForm" id="viewForm">
|
||||
<input type="hidden" name="prcsAplctPrdOrd">
|
||||
@ -248,7 +305,7 @@ $(document).ready(function(){
|
||||
</td>
|
||||
<td class="aplctBtn">
|
||||
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%>
|
||||
<button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="reg_search" >신청</button>
|
||||
<button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
@ -278,21 +335,46 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
<!-- 신청 클릭 > 기소유예 대상자 확인 팝업 -->
|
||||
|
||||
<!-- 교육대상자 확인 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="reg_search" data-focus="reg_search"
|
||||
data-focus-prev="reg_search_close">
|
||||
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
|
||||
<div class="popup_tit">
|
||||
<p>교육대상자 확인</p> <button class="btn_popup_close tooltip-close" data-focus="reg_search_close"
|
||||
title="팝업 닫기"><i></i></button>
|
||||
<p>교육대상자 확인</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
<p class="text_greeting">안녕하세요.</br>한국저작권위원회입니다.</p>
|
||||
<div class="popup_texta"><textarea placeholder="문의내용을 입력해 주세요."></textarea></div>
|
||||
<div class="cont_body">
|
||||
<div class="pop_tb_type01" style="overflow:visible;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:38%;">
|
||||
<col style="width:auto;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>성명</th>
|
||||
<td>
|
||||
<input type="text" id="trgtNm">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주민번호앞자리</th>
|
||||
<td>
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
|
||||
</div>
|
||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType05">문의하기</button>
|
||||
<button type="button" class="btnType05" onclick="fn_confirm()">제출</button>
|
||||
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
@ -300,4 +382,5 @@ $(document).ready(function(){
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
|
||||
|
||||
@ -15,7 +15,9 @@
|
||||
// 운영라이선스 적용
|
||||
//var INNORIX_LICENSE = "FXA8KvVU99M9Ubbr3Yrz91zCNqyXdWCqUQ/OO1f7lj3nifVZZjuLqJIlHXjosrbPynCFJat5fwEgP/RVXftvXSsXmAHSnTVLYciyf8XmbxH8SLfUdCIEnFo+zL8=";
|
||||
// 개발 라이센스 적용 (만료 23.09.30)
|
||||
var INNORIX_LICENSE = "SdFY8+dBdt8IY1M4l8fQkBVO1kBmeR6G5LjSUlLcHuYKCGoA14dIM9d5x6nedAJC2YhgbYjAEsedB+RXglSXElTeOto=";
|
||||
//var INNORIX_LICENSE = "SdFY8+dBdt8IY1M4l8fQkBVO1kBmeR6G5LjSUlLcHuYKCGoA14dIM9d5x6nedAJC2YhgbYjAEsedB+RXglSXElTeOto=";
|
||||
// 개발 라이센스 적용 (만료 23.12.31)
|
||||
var INNORIX_LICENSE = "DMhUDOx/+RoGojh0ECXphlfh5DGpLolyCxk7xMuNCAeJ0nqF8SQtKjJdL0jvHs4dgrMIaHrcSeNY+U28a3WFA5No4Pc=";
|
||||
|
||||
var INNORIX_VERSION = '1.1.3.458';
|
||||
var INNORIX_WIN_VERSION = '1.1.3.458';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user