2023-10-31 16:56 수정 사항 반영
This commit is contained in:
parent
16c2a9fcb2
commit
dcd285011d
@ -14,9 +14,12 @@ public interface VEEduMIXService {
|
|||||||
//L
|
//L
|
||||||
List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception;
|
List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
//Page List
|
//Page List - 대상별(차시단위)
|
||||||
List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception;
|
List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
|
//신청별(신청단위)
|
||||||
|
List<VEEduAplctVO> selectPagingApplyList(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
/* 2023-0607 월별교육과정 통계와 데이터가 맞지 않아 쿼리 수정함 */
|
/* 2023-0607 월별교육과정 통계와 데이터가 맞지 않아 쿼리 수정함 */
|
||||||
List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception;
|
List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
|||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEEduAplctVO> selectPagingApplyList(VEEduAplctVO paramVO) throws Exception {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectPagingApplyList", paramVO);
|
||||||
|
return tlist;
|
||||||
|
}
|
||||||
|
|
||||||
public List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception {
|
public List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectPagingList_20230607", paramVO);
|
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectPagingList_20230607", paramVO);
|
||||||
|
|||||||
@ -41,6 +41,11 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
|||||||
return vEEduMIXDAO.selectPagingList(paramVO);
|
return vEEduMIXDAO.selectPagingList(paramVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEEduAplctVO> selectPagingApplyList(VEEduAplctVO paramVO) throws Exception{
|
||||||
|
return vEEduMIXDAO.selectPagingApplyList(paramVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//paging List
|
//paging List
|
||||||
public List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception{
|
public List<VEEduAplctVO> selectPagingList_20230607(VEEduAplctVO paramVO) throws Exception{
|
||||||
return vEEduMIXDAO.selectPagingList_20230607(paramVO);
|
return vEEduMIXDAO.selectPagingList_20230607(paramVO);
|
||||||
|
|||||||
@ -198,7 +198,7 @@ public class EduAplctMngTngrController {
|
|||||||
* 2023-04-28 우영두
|
* 2023-04-28 우영두
|
||||||
*
|
*
|
||||||
* */
|
* */
|
||||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO);
|
||||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||||
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchChrgNm()));
|
vEEduAplctVO.setSearchChrgNm(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchChrgNm()));
|
||||||
//3.pageing step3
|
//3.pageing step3
|
||||||
@ -209,6 +209,79 @@ public class EduAplctMngTngrController {
|
|||||||
return "oprtn/tngrVisitEdu/eduAplctMngList";
|
return "oprtn/tngrVisitEdu/eduAplctMngList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 교육신청관리 목록 화면(대상별)
|
||||||
|
*/
|
||||||
|
@RequestMapping("eduAplctMngTrgtList.do")
|
||||||
|
public String eduAplctMngTrgtList( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , HttpSession session, ModelMap model ) throws Exception {
|
||||||
|
|
||||||
|
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
|
||||||
|
//기준년도가 없으면 최종 신청년도가 속한 회차의 년도를 기본값으로 가져온다. // 없으면 올해가 기본
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
if ("".equals(vEEduAplctVO.getStngYr()) || vEEduAplctVO.getStngYr()==null) {
|
||||||
|
VEAStngVO vEAStngVO = new VEAStngVO();
|
||||||
|
String s_stngYr = vEAStngMixService.selectEduGetStngYrToStr(vEAStngVO);
|
||||||
|
vEEduAplctVO.setStngYr(s_stngYr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//년도
|
||||||
|
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_10);
|
||||||
|
//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/tngrVisitEdu/eduAplctMngTrgtList";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육신청관리 목록 화면
|
* 교육신청관리 목록 화면
|
||||||
*/
|
*/
|
||||||
@ -834,6 +907,36 @@ public class EduAplctMngTngrController {
|
|||||||
return "oprtn/tngrVisitEdu/eduAplctMailDetail";
|
return "oprtn/tngrVisitEdu/eduAplctMailDetail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 청소년 교육확정 메일본문 미리보기 페이지
|
||||||
|
*/
|
||||||
|
@RequestMapping("popup/eduAplctMailPreviewDetail.do")
|
||||||
|
public String eduAplctMailPreviewDetail( @ModelAttribute("cntManageVO") CntManageVO cntManageVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request ) throws Exception {
|
||||||
|
|
||||||
|
try {
|
||||||
|
//샘플소스
|
||||||
|
cntManageVO.setCntId("CNT_000000000000");
|
||||||
|
cntManageVO.setCntDtId("CNTDT_0000000000");
|
||||||
|
|
||||||
|
cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO);
|
||||||
|
model.addAttribute("cntManageVO", cntManageVO);
|
||||||
|
|
||||||
|
//본문적용소스
|
||||||
|
cntManageVO.setCntId("CNT_000000000001");
|
||||||
|
cntManageVO.setCntDtId("CNTDT_0000000001");
|
||||||
|
|
||||||
|
cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO);
|
||||||
|
model.addAttribute("cntManageVO2", cntManageVO);
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/tngrVisitEdu/popup/eduAplctMailPreviewDetail";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 청소년 교육확정 메일본문 수정
|
* 청소년 교육확정 메일본문 수정
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -768,6 +768,7 @@
|
|||||||
, b.end_oprtn_dt AS endOprtnDt
|
, b.end_oprtn_dt AS endOprtnDt
|
||||||
, b.instt_nm AS insttNm
|
, b.instt_nm AS insttNm
|
||||||
, b.hope_sbjct AS hopeSbjct
|
, b.hope_sbjct AS hopeSbjct
|
||||||
|
, b.EDU_PLACE AS eduPlace
|
||||||
, a.memo_cn AS memoCn
|
, a.memo_cn AS memoCn
|
||||||
|
|
||||||
, ((SUBSTR(a.end_tm, 1,2) - SUBSTR(a.strt_tm, 1,2)) * 60) + (SUBSTR(a.end_tm, 3,4) - SUBSTR(a.strt_tm, 3,4)) AS eduTM
|
, ((SUBSTR(a.end_tm, 1,2) - SUBSTR(a.strt_tm, 1,2)) * 60) + (SUBSTR(a.end_tm, 3,4) - SUBSTR(a.strt_tm, 3,4)) AS eduTM
|
||||||
@ -917,6 +918,7 @@
|
|||||||
, b.chrg_nm AS chrgNm
|
, b.chrg_nm AS chrgNm
|
||||||
, b.phone AS phone
|
, b.phone AS phone
|
||||||
, b.email AS email
|
, b.email AS email
|
||||||
|
, b.edu_place AS eduPlace
|
||||||
, b.end_oprtn_dt AS endOprtnDt
|
, b.end_oprtn_dt AS endOprtnDt
|
||||||
, b.instt_div_cd AS insttDivCd
|
, b.instt_div_cd AS insttDivCd
|
||||||
, b.schol_div_cd AS scholDivCd
|
, b.schol_div_cd AS scholDivCd
|
||||||
|
|||||||
@ -328,6 +328,10 @@
|
|||||||
, CC.EDU_HOPE_DT AS eduHopeDt
|
, CC.EDU_HOPE_DT AS eduHopeDt
|
||||||
, CC.EDU_CHASI_ORD AS eduChasiOrd
|
, CC.EDU_CHASI_ORD AS eduChasiOrd
|
||||||
, CC.lrn_tm AS lrnTm
|
, CC.lrn_tm AS lrnTm
|
||||||
|
|
||||||
|
, CC.strt_tm AS strtTm
|
||||||
|
, CC.end_tm AS endTm
|
||||||
|
|
||||||
, D.USER_NM AS userNm
|
, D.USER_NM AS userNm
|
||||||
, E.CHRG_MJR AS chrgMjr
|
, E.CHRG_MJR AS chrgMjr
|
||||||
, E.D_BIRTH AS dBirth
|
, E.D_BIRTH AS dBirth
|
||||||
@ -510,6 +514,8 @@
|
|||||||
EDU_APLCT_ORD
|
EDU_APLCT_ORD
|
||||||
,EDU_CHASI_ORD
|
,EDU_CHASI_ORD
|
||||||
,SUM(lrn_tm) AS lrn_tm
|
,SUM(lrn_tm) AS lrn_tm
|
||||||
|
,MIN(strt_tm) AS strt_tm
|
||||||
|
,MIN(end_tm) AS end_tm
|
||||||
,MIN(
|
,MIN(
|
||||||
REPLACE(
|
REPLACE(
|
||||||
/*
|
/*
|
||||||
@ -930,6 +936,753 @@
|
|||||||
</isNotEqual>
|
</isNotEqual>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 강사 정보 L page -->
|
||||||
|
<select id="VEEduMIXDAO.selectPagingApplyList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingApplyList */
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt
|
||||||
|
, ROWNUM AS rowNo
|
||||||
|
, A.EDU_CN AS eduCn
|
||||||
|
|
||||||
|
<isNotEmpty property="s4Excel">
|
||||||
|
, A.EDU_SLCT_CD AS eduSlctCd
|
||||||
|
|
||||||
|
|
||||||
|
, (SELECT a0.code_nm
|
||||||
|
FROM LETTCCMMNDETAILCODE a0
|
||||||
|
WHERE a0.code_id='VE0008'
|
||||||
|
AND a0.code =a.edu_slct_area_cd
|
||||||
|
)
|
||||||
|
AS eduSlctAreaCd
|
||||||
|
, (SELECT a0.code_nm
|
||||||
|
FROM LETTCCMMNDETAILCODE a0
|
||||||
|
WHERE a0.code_id='VE0009'
|
||||||
|
AND a0.code =a.schol_div_cd
|
||||||
|
)
|
||||||
|
AS scholDivCd
|
||||||
|
|
||||||
|
, (SELECT a0.code_nm
|
||||||
|
FROM LETTCCMMNDETAILCODE a0
|
||||||
|
WHERE a0.code_id='VE0003'
|
||||||
|
AND a0.code =a.aprvl_cd
|
||||||
|
)
|
||||||
|
AS aprvlCd
|
||||||
|
/*
|
||||||
|
, IF(A.APRVL_CD = '60', TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD'), '-') AS aprvlPnttm
|
||||||
|
*/
|
||||||
|
|
||||||
|
, CASE WHEN A.APRVL_CD = '60' THEN TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD') ELSE '-' END AS aprvlPnttm
|
||||||
|
|
||||||
|
, A.frst_Regist_Pnttm AS frstRegistPnttm
|
||||||
|
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isEmpty property="s4Excel">
|
||||||
|
, A.EDU_SLCT_CD AS eduSlctCd
|
||||||
|
, A.EDU_SLCT_AREA_CD AS eduSlctAreaCd
|
||||||
|
, A.SCHOL_DIV_CD AS scholDivCd
|
||||||
|
, A.APRVL_CD AS aprvlCd
|
||||||
|
, TO_CHAR(A.APRVL_PNTTM, 'YYYY.MM.DD') AS aprvlPnttm
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
, A.EDU_PLACE AS eduPlace
|
||||||
|
|
||||||
|
, A.SBMT_YN AS sbmtYn
|
||||||
|
, TO_CHAR(A.SBMT_PNTTM, 'YYYY.MM.DD') AS sbmtPnttm
|
||||||
|
|
||||||
|
, A.SCHOL_INSTT_NM AS scholInsttNm
|
||||||
|
|
||||||
|
, A.INSTT_NM AS InsttNm
|
||||||
|
|
||||||
|
, A.EDU_APLCT_ORD AS eduAplctOrd
|
||||||
|
, A.EDU_TRGT AS eduTrgt
|
||||||
|
, A.EDU_PRSNL AS eduPrsnl
|
||||||
|
, A.CHRG_NM AS chrgNm
|
||||||
|
, A.JOB_NM AS jobNm
|
||||||
|
, A.USE_YN AS useYn
|
||||||
|
, A.MDFY_RQST_YN AS mdfyRqstYn
|
||||||
|
, A.EQPMN_CN AS eqpmnCn
|
||||||
|
, A.BLNG AS blng
|
||||||
|
, A.DPRTM AS dprtm
|
||||||
|
, A.FULL_NAME AS fullName
|
||||||
|
, A.PSTN AS pstn
|
||||||
|
, A.PRPS AS prps
|
||||||
|
, A.RPRT_SBMT_DT AS rprtSbmtDt
|
||||||
|
, A.hope_sbjct AS hopeSbjct
|
||||||
|
, A.isltn_schol_yn AS isltnScholYn
|
||||||
|
, A.clphone AS clphone
|
||||||
|
, A.phone AS phone
|
||||||
|
, A.Email AS email
|
||||||
|
, A.Addr AS addr
|
||||||
|
, A.IS_WAIT AS isWait
|
||||||
|
, A.CORPS_EDU AS corpsEdu
|
||||||
|
, A.BROADROOM_EDU AS broadroomEdu
|
||||||
|
, A.ADMIN_UPDT_YN AS adminUpdtYn
|
||||||
|
, A.OATH_ATCH_FILE_ID AS oathAtchFileId
|
||||||
|
, A.PLAN_ATCH_FILE_ID AS planAtchFileId
|
||||||
|
,(
|
||||||
|
SELECT
|
||||||
|
MAX(S2.PRCS_NM)||
|
||||||
|
CASE WHEN COUNT(*) > 1 THEN '외' || (COUNT(*)-1)
|
||||||
|
ELSE '' END AS PRCS_NM
|
||||||
|
FROM VE_EDU_APLCT_ONLN S1 INNER JOIN VE_PRCS S2
|
||||||
|
ON S1.PRCS_ORD = S2.PRCS_ORD
|
||||||
|
WHERE 1=1
|
||||||
|
AND S1.EDU_APLCT_ORD = A.EDU_APLCT_ORD
|
||||||
|
GROUP BY S1.EDU_APLCT_ORD
|
||||||
|
/*
|
||||||
|
ORDER BY S1.PRCS_ORD
|
||||||
|
*/
|
||||||
|
) AS prcsGroupNm
|
||||||
|
, A.INSTT_DIV_CD AS insttDivCd
|
||||||
|
, A.FRST_REGISTER_ID AS frstRegisterId
|
||||||
|
, TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY.MM.DD') AS frstRegistPnttm
|
||||||
|
, A0.CNT-1 AS cnt
|
||||||
|
, A0.PRCS_ORD AS prcsOrd
|
||||||
|
, A0.PRCS_NM AS prcsNm
|
||||||
|
|
||||||
|
, CC.lrn_tm AS lrnTm
|
||||||
|
|
||||||
|
, CC.EDU_HOPE_DT AS eduHopeDt
|
||||||
|
, CC.EDU_CHASI_ORD AS eduChasiOrd
|
||||||
|
|
||||||
|
, CC.strt_tm AS strtTm
|
||||||
|
, CC.end_tm AS endTm
|
||||||
|
|
||||||
|
|
||||||
|
, D.USER_NM AS userNm
|
||||||
|
, E.CHRG_MJR AS chrgMjr
|
||||||
|
, E.D_BIRTH AS dBirth
|
||||||
|
, E.CHRG_SEX_CD AS chrgSexCd
|
||||||
|
, E.CMPLT_YEAR AS cmpltYear
|
||||||
|
, E.CMPLT_NUM AS cmpltNum
|
||||||
|
, E.EXPRN_CLSRN_CD AS exprnClsrnCd
|
||||||
|
, E.EXPRN_CLSRN_YEAR AS exprnClsrnYear
|
||||||
|
, E.EXPRN_CLSRN_APLCT AS exprnClsrnAplct
|
||||||
|
, E.EXPRN_CLSRN_APLCT_CN AS exprnClsrnAplctCn
|
||||||
|
, E.TRGT_GRADE AS trgtGrade
|
||||||
|
, E.TRGT_CLSRM AS trgtClsrm
|
||||||
|
, E.TRGT_PRSNL AS trgtPrsnl
|
||||||
|
, E.RPRT_SBMT AS rprtSbmt
|
||||||
|
, E.OPRTN_STRT_DT AS oprtnStrtDt
|
||||||
|
, E.OPRTN_END_DT AS oprtnEndDt
|
||||||
|
, E.OPRTN_FILE_ID AS oprtnFileId
|
||||||
|
, H.APRVL_CD AS rprtAprvlCd
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
S3.end_pnttm
|
||||||
|
FROM ve_prcs_aplct_prd S3
|
||||||
|
WHERE S3.use_YN = 'Y' AND S3.frst_regist_pnttm = (SELECT MAX(frst_regist_pnttm) FROM ve_prcs_aplct_prd)
|
||||||
|
) AS endPnttm
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
S4.end_pnttm
|
||||||
|
FROM ve_prcs_aplct_prd S4
|
||||||
|
WHERE S4.prcs_aplct_prd_ord = A.prcs_ord
|
||||||
|
) AS prcsEndPnttm
|
||||||
|
, (
|
||||||
|
SELECT
|
||||||
|
COUNT(1)
|
||||||
|
FROM ve_edu_chasi_instr_asgnm X
|
||||||
|
, ve_edu_chasi y
|
||||||
|
WHERE A.edu_aplct_ord = X.edu_aplct_ord
|
||||||
|
|
||||||
|
AND X.asgnm_aprvl_cd = '30'
|
||||||
|
|
||||||
|
AND x.EDU_APLCT_ORD=y.EDU_APLCT_ORD
|
||||||
|
AND x.EDU_CHASI_ORD=y.EDU_CHASI_ORD
|
||||||
|
) AS instrCnfrmCnt
|
||||||
|
,(
|
||||||
|
SELECT
|
||||||
|
/*
|
||||||
|
COUNT(1)
|
||||||
|
*/
|
||||||
|
sum(NVL(chasi,1))
|
||||||
|
FROM ve_edu_chasi Z
|
||||||
|
WHERE Z.edu_aplct_ord = A.edu_aplct_ord
|
||||||
|
) AS chasiCnt
|
||||||
|
,
|
||||||
|
/*
|
||||||
|
(
|
||||||
|
SELECT COUNT(1)
|
||||||
|
FROM ve_new_noti e
|
||||||
|
WHERE ((A.edu_aplct_ord = e.tbl_uniq_ord OR CC.edu_aplct_ord = e.tbl_uniq_ord) OR CC.edu_chasi_ord = e.tbl_uniq_ord)
|
||||||
|
AND e.menu_no = menuNo
|
||||||
|
AND e.frst_register_id = notiUserId
|
||||||
|
)
|
||||||
|
AS notiCnt,
|
||||||
|
*/
|
||||||
|
( SELECT
|
||||||
|
COUNT(1)
|
||||||
|
FROM ve_acmdt_aplct ZZ
|
||||||
|
, VE_EDU_CHASI YY
|
||||||
|
WHERE A.EDU_APLCT_ORD = ZZ.EDU_APLCT_ORD
|
||||||
|
AND ZZ.EDU_APLCT_ORD = YY.EDU_APLCT_ORD
|
||||||
|
AND ZZ.EDU_CHASI_ORD = YY.EDU_CHASI_ORD
|
||||||
|
AND ZZ.sbmt_yn = 'Y'
|
||||||
|
AND ZZ.APRVL_CD = '10'
|
||||||
|
) AS acmdtCnt,
|
||||||
|
( SELECT COUNT(1)
|
||||||
|
FROM VE_ACMDT_APLCT ZZ
|
||||||
|
, VE_EDU_CHASI YY
|
||||||
|
WHERE A.EDU_APLCT_ORD = ZZ.EDU_APLCT_ORD
|
||||||
|
AND ZZ.EDU_APLCT_ORD = YY.EDU_APLCT_ORD
|
||||||
|
AND ZZ.EDU_CHASI_ORD = YY.EDU_CHASI_ORD
|
||||||
|
AND ZZ.SBMT_YN = 'Y'
|
||||||
|
) AS acmdtAllCnt
|
||||||
|
|
||||||
|
,(
|
||||||
|
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||||
|
|
||||||
|
) AS isEndCnt
|
||||||
|
|
||||||
|
,(
|
||||||
|
|
||||||
|
SELECT sum(a0.EDU_PRSNL)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||||
|
|
||||||
|
) AS endEduPrsnl
|
||||||
|
|
||||||
|
|
||||||
|
, g.edu_strt_dt AS eduStrtDt
|
||||||
|
, g.edu_end_dt AS eduEndDt
|
||||||
|
/*
|
||||||
|
, IF(A.APRVL_CD='20'
|
||||||
|
and
|
||||||
|
(
|
||||||
|
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||||
|
|
||||||
|
)>0
|
||||||
|
|
||||||
|
, g.edu_reg_dt
|
||||||
|
, ''
|
||||||
|
) AS eduRegDt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
, IF(A.APRVL_CD='20'
|
||||||
|
and
|
||||||
|
(
|
||||||
|
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N')='Y'
|
||||||
|
|
||||||
|
)>0
|
||||||
|
and length(g.edu_strt_dt)=8
|
||||||
|
and length(g.edu_end_dt)=8
|
||||||
|
|
||||||
|
,
|
||||||
|
SUBSTRING(g.edu_strt_dt,1,4) || '.' || SUBSTRING(g.edu_strt_dt,5,2) || '.' || SUBSTRING(g.edu_strt_dt,7,2)
|
||||||
|
|| '~'
|
||||||
|
|| SUBSTRING(g.edu_end_dt,1,4) || '.' || SUBSTRING(g.edu_end_dt,5,2) || '.' || SUBSTRING(g.edu_end_dt,7,2)
|
||||||
|
|
||||||
|
|
||||||
|
, ''
|
||||||
|
) AS eduDt
|
||||||
|
*/
|
||||||
|
|
||||||
|
FROM VE_EDU_APLCT A LEFT OUTER JOIN (
|
||||||
|
SELECT
|
||||||
|
AA.EDU_APLCT_ORD
|
||||||
|
, AA.CNT
|
||||||
|
, AA.PRCS_ORD
|
||||||
|
, BB.PRCS_NM
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
A.EDU_APLCT_ORD
|
||||||
|
, COUNT(*) CNT
|
||||||
|
, MIN(B.PRCS_ORD) PRCS_ORD
|
||||||
|
FROM VE_EDU_APLCT A , VE_EDU_APLCT_ONLN B
|
||||||
|
WHERE A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
|
||||||
|
GROUP BY A.EDU_APLCT_ORD
|
||||||
|
)AA, VE_PRCS BB
|
||||||
|
WHERE AA.PRCS_ORD = BB.PRCS_ORD
|
||||||
|
)A0 ON(A.EDU_APLCT_ORD = A0.EDU_APLCT_ORD)
|
||||||
|
/*
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
SELECT
|
||||||
|
EDU_APLCT_ORD
|
||||||
|
,EDU_CHASI_ORD
|
||||||
|
,SUM(lrn_tm) AS lrn_tm
|
||||||
|
,MIN(
|
||||||
|
REPLACE(
|
||||||
|
CASE WHEN EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '' THEN NULL ELSE EDU_HOPE_DT END
|
||||||
|
, '.'
|
||||||
|
, ''
|
||||||
|
)
|
||||||
|
) AS EDU_HOPE_DT
|
||||||
|
FROM VE_EDU_CHASI
|
||||||
|
GROUP BY EDU_APLCT_ORD, EDU_CHASI_ORD
|
||||||
|
) CC ON A.EDU_APLCT_ORD = CC.EDU_APLCT_ORD
|
||||||
|
*/
|
||||||
|
|
||||||
|
LEFT OUTER JOIN
|
||||||
|
(
|
||||||
|
SELECT vec4.*
|
||||||
|
FROM (
|
||||||
|
SELECT vec1.edu_aplct_ord, min(vec1.EDU_CHASI_ORD) edu_chasi_ord
|
||||||
|
FROM ve_edu_chasi vec1
|
||||||
|
,(
|
||||||
|
SELECT EDU_APLCT_ORD
|
||||||
|
, MIN(
|
||||||
|
/* IF(EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = '', NULL, EDU_HOPE_DT) */
|
||||||
|
CASE
|
||||||
|
WHEN EDU_HOPE_DT IS NULL OR EDU_HOPE_DT = ''
|
||||||
|
THEN '9999.12.31'
|
||||||
|
ELSE EDU_HOPE_DT
|
||||||
|
END ) AS EDU_HOPE_DT
|
||||||
|
FROM ve_edu_chasi
|
||||||
|
GROUP BY EDU_APLCT_ORD
|
||||||
|
)vec2
|
||||||
|
WHERE vec1.edu_aplct_ord=vec2.edu_aplct_ord
|
||||||
|
AND vec1.edu_hope_dt=vec2.edu_hope_dt
|
||||||
|
GROUP BY vec1.edu_aplct_ord
|
||||||
|
)vec3
|
||||||
|
, ve_edu_chasi vec4
|
||||||
|
WHERE vec3.edu_aplct_ord=vec4.edu_aplct_ord
|
||||||
|
AND vec3.edu_chasi_ord=vec4.edu_chasi_ord
|
||||||
|
)CC
|
||||||
|
ON A.EDU_APLCT_ORD = CC.EDU_APLCT_ORD
|
||||||
|
|
||||||
|
LEFT OUTER JOIN COMVNUSERMASTER D
|
||||||
|
ON A.USER_ID = D.USER_ID
|
||||||
|
LEFT OUTER JOIN VE_EDU_OPRTN E
|
||||||
|
ON A.EDU_APLCT_ORD = E.EDU_APLCT_ORD
|
||||||
|
<isEqual property="lctrDivCd" compareValue="20">
|
||||||
|
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm DD
|
||||||
|
ON (
|
||||||
|
A.EDU_APLCT_ORD = DD.EDU_APLCT_ORD
|
||||||
|
AND CC.EDU_CHASI_ORD = DD.EDU_CHASI_ORD
|
||||||
|
)
|
||||||
|
LEFT OUTER JOIN ve_instr_detail F
|
||||||
|
ON (DD.USER_ID = F.USER_ID
|
||||||
|
AND F.USE_YN = 'Y'
|
||||||
|
<isNotEmpty property="instrDiv">
|
||||||
|
AND F.instr_div = #instrDiv#
|
||||||
|
</isNotEmpty>
|
||||||
|
AND F.INSTR_DIV = #instrDiv#)
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
LEFT OUTER JOIN
|
||||||
|
(
|
||||||
|
/*
|
||||||
|
SELECT edu_aplct_ord, edu_strt_dt, edu_end_dt , DATE_FORMAT(sbmt_pnttm,'%Y%m%d') AS edu_reg_dt
|
||||||
|
FROM ve_prcs_cmplt_detail
|
||||||
|
GROUP BY edu_aplct_ord, edu_strt_dt, edu_end_dt , DATE_FORMAT(sbmt_pnttm,'%Y%m%d')
|
||||||
|
*/
|
||||||
|
SELECT edu_aplct_ord, edu_strt_dt, edu_end_dt , TO_CHAR(sbmt_pnttm,'YYYYMMDD') AS edu_reg_dt
|
||||||
|
FROM ve_prcs_cmplt_detail
|
||||||
|
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
|
||||||
|
/*
|
||||||
|
AND IFNULL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||||
|
*/
|
||||||
|
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||||
|
|
||||||
|
<isEmpty property="sbmtYn">
|
||||||
|
AND A.SBMT_YN = 'Y'
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="sbmtYn">
|
||||||
|
AND A.SBMT_YN != 'Y'
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchAcmdtCnt">
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
COUNT(1)
|
||||||
|
FROM
|
||||||
|
ve_acmdt_aplct ZZ
|
||||||
|
WHERE
|
||||||
|
A.edu_aplct_ord = ZZ.edu_aplct_ord
|
||||||
|
AND
|
||||||
|
ZZ.sbmt_yn = 'Y'
|
||||||
|
) > 0
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="lctrDivCd">
|
||||||
|
AND A.LCTR_DIV_CD = #lctrDivCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="aprvlCd">
|
||||||
|
AND A.APRVL_CD=#aprvlCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND CC.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND CC.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchStartSbmtPnttm">
|
||||||
|
AND TO_CHAR(A.SBMT_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartSbmtPnttm#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEndAprvlPnttm">
|
||||||
|
AND TO_CHAR(A.APRVL_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchEndAprvlPnttm#, '.' , '')
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchScholDivCd">
|
||||||
|
AND A.SCHOL_DIV_CD = #searchScholDivCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isEmpty property="searchStartDt">
|
||||||
|
<isEmpty property="searchEndDt">
|
||||||
|
AND 1=1
|
||||||
|
</isEmpty>
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEduSlctAreaCd">
|
||||||
|
AND (
|
||||||
|
|
||||||
|
(
|
||||||
|
A.EDU_SLCT_AREA_CD = #searchEduSlctAreaCd#
|
||||||
|
AND
|
||||||
|
A.EDU_SLCT_CD = '20'
|
||||||
|
)
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
'400' = #searchEduSlctAreaCd#
|
||||||
|
AND
|
||||||
|
A.EDU_SLCT_CD = '10'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEduSlctAreaCd2">
|
||||||
|
AND (
|
||||||
|
A.EDU_SLCT_AREA_CD = #searchEduSlctAreaCd2#
|
||||||
|
OR
|
||||||
|
'400' = #searchEduSlctAreaCd2#
|
||||||
|
)
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEduSlctCd">
|
||||||
|
AND A.EDU_SLCT_CD = #searchEduSlctCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchInsttDivCd">
|
||||||
|
AND A.INSTT_DIV_CD = #searchInsttDivCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="userId">
|
||||||
|
AND A.USER_ID = #userId#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="frstRegisterId">
|
||||||
|
AND A.FRST_REGISTER_ID = #frstRegisterId#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchScholNm">
|
||||||
|
AND A.SCHOL_INSTT_NM LIKE '%' || #searchScholNm# || '%'
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty property="searchCondition">
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
AND (
|
||||||
|
A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# '%' OR
|
||||||
|
A.INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||||
|
)
|
||||||
|
</isNotEmpty>
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchCondition">
|
||||||
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="2">
|
||||||
|
AND A.CHRG_NM LIKE '%' || #searchKeyword# || '%'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchChrgNm">
|
||||||
|
AND A.CHRG_NM LIKE '%' || #searchChrgNm# , '%')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStatusArr">
|
||||||
|
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND A.APRVL_CD IN " > #searchStatusArr[]#</iterate>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchNotStatusArr">
|
||||||
|
<iterate open="(" close=")" conjunction="," property="searchNotStatusArr" prepend="AND A.APRVL_CD NOT IN " > #searchNotStatusArr[]#</iterate>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchScholDivCdArr">
|
||||||
|
<iterate open="(" close=")" conjunction="," property="searchScholDivCdArr" prepend="AND A.SCHOL_DIV_CD IN " > #searchScholDivCdArr[]#</iterate>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStatus">
|
||||||
|
<isEqual property="searchStatus" compareValue="99">
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
CNT
|
||||||
|
FROM
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM VE_PRCS_CMPLT_DETAIL
|
||||||
|
WHERE edu_aplct_ord = A.edu_aplct_ord ) bb
|
||||||
|
WHERE bb.CNT <![CDATA[ > ]]> 0
|
||||||
|
) > 0
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchStatus" compareValue="99">
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
CNT
|
||||||
|
FROM
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM VE_PRCS_CMPLT_DETAIL
|
||||||
|
WHERE edu_aplct_ord = A.edu_aplct_ord ) bb
|
||||||
|
WHERE bb.CNT = 0
|
||||||
|
) = 0
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStateYear">
|
||||||
|
AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY') = #searchStateYear#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStateStatusArr">
|
||||||
|
AND
|
||||||
|
|
||||||
|
(1=2
|
||||||
|
<iterate property="searchStateStatusArr" >
|
||||||
|
<isEqual property="searchStateStatusArr[]" compareValue="10">
|
||||||
|
<!-- OR (A.strt_oprtn_dt <![CDATA[ <= ]]> TO_CHAR(NOW(), 'YYYYMMDD') AND end_oprtn_dt <![CDATA[ >= ]]> TO_CHAR(NOW(), 'YYYYMMDD')) -->
|
||||||
|
OR (E.oprtn_strt_dt <![CDATA[ <= ]]> TO_CHAR(NOW(), 'YYYYMMDD') AND E.oprtn_end_dt <![CDATA[ >= ]]> TO_CHAR(NOW(), 'YYYYMMDD'))
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStateStatusArr[]" compareValue="20">
|
||||||
|
<!-- OR
|
||||||
|
(
|
||||||
|
A.end_oprtn_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
CNT
|
||||||
|
FROM
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM ve_edu_rslt_rprt
|
||||||
|
WHERE edu_aplct_ord = a.edu_aplct_ord ) AA
|
||||||
|
WHERE AA.CNT = 0
|
||||||
|
)
|
||||||
|
) -->
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
E.oprtn_end_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||||
|
AND
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM ve_edu_rslt_rprt
|
||||||
|
WHERE edu_aplct_ord = A.edu_aplct_ord )
|
||||||
|
= 0
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStateStatusArr[]" compareValue="30">
|
||||||
|
<!-- OR
|
||||||
|
(
|
||||||
|
A.end_oprtn_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
CNT
|
||||||
|
FROM
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM ve_edu_rslt_rprt
|
||||||
|
WHERE edu_aplct_ord = a.edu_aplct_ord ) AA
|
||||||
|
WHERE AA.CNT <![CDATA[ > ]]> 0
|
||||||
|
)
|
||||||
|
) -->
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
E.oprtn_end_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYYMMDD')
|
||||||
|
AND
|
||||||
|
( SELECT COUNT(1) AS CNT
|
||||||
|
FROM ve_edu_rslt_rprt
|
||||||
|
WHERE edu_aplct_ord = A.edu_aplct_ord )
|
||||||
|
> 0
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStateStatusArr[]" compareValue="40">
|
||||||
|
/* 서류제출완료 */
|
||||||
|
OR(
|
||||||
|
1=1
|
||||||
|
)
|
||||||
|
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
</iterate>
|
||||||
|
)
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStateStatusArr">
|
||||||
|
|
||||||
|
|
||||||
|
<iterate property="searchStateStatusArr" >
|
||||||
|
<isEqual property="searchStateStatusArr[]" compareValue="40">
|
||||||
|
/* 서류제출완료 */
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
a.oath_atch_file_id IS NOT NULL
|
||||||
|
OR a.trans_atch_file_id IS NOT null
|
||||||
|
)
|
||||||
|
|
||||||
|
</isEqual>
|
||||||
|
</iterate>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchChsYn">
|
||||||
|
AND A.MDFY_RQST_YN = #searchChsYn#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="selectPagingListQuery">
|
||||||
|
$selectPagingListQuery$
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="eduAplctOrd">
|
||||||
|
AND A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStatus2">
|
||||||
|
/* 교육콘텐츠 신청 > 수강신청 목록 셀렉트박스 검색자 */
|
||||||
|
|
||||||
|
|
||||||
|
<isEqual property="searchStatus2" compareValue="90">
|
||||||
|
AND A.APRVL_CD = '20'
|
||||||
|
AND
|
||||||
|
( SELECT COUNT(*)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N') ='Y'
|
||||||
|
) > 0
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchStatus2" compareValue="90">
|
||||||
|
AND A.APRVL_CD = #searchStatus2#
|
||||||
|
AND 0>=
|
||||||
|
( SELECT COUNT(*)
|
||||||
|
FROM ve_prcs_cmplt_detail a0
|
||||||
|
INNER JOIN ve_prcs b0
|
||||||
|
ON a0.prcs_ord = b0.prcs_ord
|
||||||
|
INNER JOIN ve_prcs_onln_cntnt c0
|
||||||
|
ON c0.prcs_onln_cntnt_ord = a0.prcs_onln_cntnt_ord
|
||||||
|
WHERE 1 =1
|
||||||
|
AND a0.edu_aplct_ord =A.EDU_APLCT_ORD
|
||||||
|
AND NVL(a0.sbmt_yn,'N') ='Y'
|
||||||
|
)
|
||||||
|
</isNotEqual>
|
||||||
|
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchYear">
|
||||||
|
/*저작권 체험교실 년도 검색*/
|
||||||
|
AND TO_CHAR(A.SBMT_PNTTM,'YYYY') = #searchYear#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="eduSlctAreaCd">
|
||||||
|
/*저작권 체험교실 지역 검색*/
|
||||||
|
AND A.EDU_SLCT_AREA_CD = #eduSlctAreaCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchCpyAprvlCd">
|
||||||
|
/*저작권 체험교실 상태 검색*/
|
||||||
|
AND A.APRVL_CD = #searchCpyAprvlCd#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchFullName">
|
||||||
|
/*교육콘텐츠 신청자 검색*/
|
||||||
|
AND (
|
||||||
|
/*
|
||||||
|
A.FULL_NAME like '%' || searchFullName || '%'
|
||||||
|
OR A.BLNG like concat('%', searchFullName, '%')
|
||||||
|
*/
|
||||||
|
A.FULL_NAME like '%'||#searchFullName#||'%'
|
||||||
|
OR A.BLNG like '%'||#searchFullName#||'%'
|
||||||
|
)
|
||||||
|
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isEqual property="searchAdminUpdtYn" compareValue="Y">
|
||||||
|
AND A.ADMIN_UPDT_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
/*
|
||||||
|
ORDER BY 1=1
|
||||||
|
*/
|
||||||
|
ORDER BY 1
|
||||||
|
<isNotEmpty property="orderByQuery">
|
||||||
|
, $orderByQuery$
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEqual property="mode" compareValue="EXCEL">
|
||||||
|
/*
|
||||||
|
LIMIT recordCountPerPage OFFSET firstIndex
|
||||||
|
*/
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
</isNotEqual>
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 성인 찾아가는 저작권교육 교육배치확정관리 목록 -->
|
<!-- 성인 찾아가는 저작권교육 교육배치확정관리 목록 -->
|
||||||
<select id="VEEduMIXDAO.selectAdultPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
<select id="VEEduMIXDAO.selectAdultPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
|
||||||
/* VEEduMIXDAO.selectAdultPagingList */
|
/* VEEduMIXDAO.selectAdultPagingList */
|
||||||
|
|||||||
@ -92,6 +92,16 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//fncPreviewEmail
|
||||||
|
function fncPreviewEmail(){
|
||||||
|
//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/eduAplctMailPreviewDetail.do'/>";
|
||||||
|
window.open("#", "_aplctPreviewPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
|
||||||
|
document.listForm.target = "_aplctPreviewPop";
|
||||||
|
document.listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
//발송
|
//발송
|
||||||
function fncContent(p_url, p_cd, p_cn, p_flag
|
function fncContent(p_url, p_cd, p_cn, p_flag
|
||||||
, p_clphone1
|
, p_clphone1
|
||||||
@ -156,13 +166,14 @@
|
|||||||
<div class="tb_type02">
|
<div class="tb_type02">
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 220px;">
|
<col style="width: 220px;height:100px;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;height:100px;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row"><p>메일 샘플 코드</p> </th>
|
<th scope="row"><p>메일 샘플 코드</p> </th>
|
||||||
<td>
|
<td>
|
||||||
<c:out value='${cntManageVO.cntCn}' escapeXml="false" />
|
<%-- <c:out value='${cntManageVO.cntCn}' escapeXml="false" /> --%>
|
||||||
|
<c:out value='${cntManageVO.cntCn}' escapeXml="true" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -190,6 +201,7 @@
|
|||||||
|
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="btn_left">
|
<div class="btn_left">
|
||||||
|
<button type="button" class="btn_type03" onclick="fncPreviewEmail();return false;">메일 미리보기</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_center">
|
<div class="btn_center">
|
||||||
<button type="button" class="btn_type08" onclick="fncUpdate();return false;">메일 본문 수정</button>
|
<button type="button" class="btn_type08" onclick="fncUpdate();return false;">메일 본문 수정</button>
|
||||||
@ -214,7 +226,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="yr" id="yr" value=""/>
|
||||||
|
</form:form>
|
||||||
<!-- //cont -->
|
<!-- //cont -->
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -305,6 +305,7 @@
|
|||||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_WAIT ? 'selected' : ''} value="${VeConstants.STATUS_CD_WAIT}">대기</option>
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_WAIT ? 'selected' : ''} value="${VeConstants.STATUS_CD_WAIT}">대기</option>
|
||||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
|
||||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
|
||||||
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
||||||
</select>
|
</select>
|
||||||
<ve:select codeId="VE0009" name="searchScholDivCd" id="searchScholDivCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchScholDivCd}" defaultValue="" defaultText='전체'/>
|
<ve:select codeId="VE0009" name="searchScholDivCd" id="searchScholDivCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchScholDivCd}" defaultValue="" defaultText='전체'/>
|
||||||
@ -375,7 +376,7 @@
|
|||||||
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
|
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
|
||||||
</select>
|
</select>
|
||||||
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
|
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
|
||||||
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
|
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -391,6 +392,7 @@
|
|||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
<col style="width: 6%">
|
<col style="width: 6%">
|
||||||
<col style="width: 6%">
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
<col style="width: 8%">
|
<col style="width: 8%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 8%">
|
<col style="width: 8%">
|
||||||
@ -403,8 +405,9 @@
|
|||||||
<th>교육일자<button class="sort sortBtn" id="sort_eduHopeDt">▲</button></th>
|
<th>교육일자<button class="sort sortBtn" id="sort_eduHopeDt">▲</button></th>
|
||||||
<th>신청일자<button class="sort sortBtn" id="sort_sbmtPnttm">▲</button></th>
|
<th>신청일자<button class="sort sortBtn" id="sort_sbmtPnttm">▲</button></th>
|
||||||
<th>지역</th>
|
<th>지역</th>
|
||||||
<th>학교(기관)명</th>
|
<th>학교(기관)명<button class="sort sortBtn" id="sort_scholInsttNm">▲</button></th>
|
||||||
<th>신청시간</th>
|
<th>신청시간</th>
|
||||||
|
<th>소요시간<button class="sort sortBtn" id="sort_lrnTm">▲</button></th>
|
||||||
<th>학교구분</th>
|
<th>학교구분</th>
|
||||||
<th>담당자</th>
|
<th>담당자</th>
|
||||||
<th>신청상태</th>
|
<th>신청상태</th>
|
||||||
@ -436,7 +439,7 @@
|
|||||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}');">
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}');">
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${not empty list.eduHopeDt}">
|
<c:when test="${not empty list.eduHopeDt}">
|
||||||
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
|
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
|
||||||
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
|
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
@ -463,6 +466,15 @@
|
|||||||
<c:out value="${list.scholInsttNm}"/>
|
<c:out value="${list.scholInsttNm}"/>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/>
|
||||||
|
<fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
|
||||||
|
~
|
||||||
|
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/>
|
||||||
|
<fmt:formatDate value="${endTm}" pattern="kk:mm"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
<c:out value="${list.lrnTm}"/>
|
<c:out value="${list.lrnTm}"/>
|
||||||
@ -556,7 +568,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btn_right">
|
<div class="btn_right">
|
||||||
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||||
<button type="button" class="btn_type06" onclick="fncSndSms(); return false;">교육확정알림</button>
|
<!-- <button type="button" class="btn_type06" onclick="fncSndSms(); return false;">교육확정알림</button> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- page -->
|
<!-- page -->
|
||||||
|
|||||||
@ -0,0 +1,590 @@
|
|||||||
|
<!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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||||
|
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list_util .btn_type03 {
|
||||||
|
height: 40px;
|
||||||
|
padding: 0 18px 0 18px
|
||||||
|
margin: 0 2px;
|
||||||
|
font-size: 18px;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle;
|
||||||
|
letter-spacing: -0.8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: background-color .1s linear;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function press(event) {
|
||||||
|
if (event.keyCode==13) {
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncCreate() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngReg.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPhonePage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngPhoneList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngTrgtList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoDetail(eduAplctOrd){
|
||||||
|
/*
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctMngDetail.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
*/
|
||||||
|
alert("상세내용은 신청별 페이지를 통해 접근 가능합니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
function excelDownLoad(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctExcelDownLoad.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncReset(thisObj){
|
||||||
|
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||||
|
$.each(targetObj, function(){
|
||||||
|
if($(this).prop('tagName') == 'SELECT'){
|
||||||
|
if($(this).attr('name').indexOf('Month') != -1){
|
||||||
|
$(this).val(new Date().getMonth()+1);
|
||||||
|
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||||
|
$(this).val(new Date().getFullYear());
|
||||||
|
}else if($(this).attr('name').indexOf('stngYr') != -1){
|
||||||
|
$(this).val('${vEEduAplctVO.stngYr}');
|
||||||
|
}else{
|
||||||
|
$(this).prop("selectedIndex", 0);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(this).val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//체크박스 전체 선택
|
||||||
|
function chkAll(thisObj){
|
||||||
|
$("input[name=chk]").prop("checked" , $(thisObj).is(":checked"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 신청서 일괄 출력
|
||||||
|
function fncPrintListPopup() {
|
||||||
|
if ($("input:checkbox[name='chk']:checked").length <= 0) {
|
||||||
|
alert("출력할 신청목록을 하나 이상 체크하세요.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
commonPopWindowopenForm(
|
||||||
|
"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/eduAplctMngDetailListPopup.do"
|
||||||
|
, "1000"
|
||||||
|
, "700"
|
||||||
|
, "ListPrintPopup",$("#listForm")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncChkStatusUpdate() {
|
||||||
|
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||||
|
var statusVal = $("#saveStatus option:selected").val();
|
||||||
|
|
||||||
|
if(chkLen == 0){
|
||||||
|
alert("선택된 항목이 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(statusVal == ''){
|
||||||
|
alert('상태를 선택해주세요.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$("#aprvlCd").val(statusVal);
|
||||||
|
|
||||||
|
var data1 = new FormData(document.getElementById("listForm"));
|
||||||
|
if(confirm("상태를 변경 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusListAjax.do",
|
||||||
|
data: data1,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.rsCnt > 0){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("저장 되었습니다.");
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//sms 발송
|
||||||
|
function fncSndSms(){
|
||||||
|
|
||||||
|
var chkLen = $(listForm).find("input[name=chk]:checked").length;
|
||||||
|
if(chkLen == 0){
|
||||||
|
alert("선택된 항목이 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var fnExit = false;
|
||||||
|
|
||||||
|
var chkAplctChasi = "";
|
||||||
|
var phones = "";
|
||||||
|
var emails = "";
|
||||||
|
var chkLength = $('input:checkbox[name="chk"]:checked').length;
|
||||||
|
|
||||||
|
$('input:checkbox[name="chk"]:checked').each(function(idx) {
|
||||||
|
if($(this).attr("class") != "60") {
|
||||||
|
alert("선택한 목록 중 교욱확정알림이 불가능한 건이 있습니다.");
|
||||||
|
fnExit = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(idx === chkLength - 1) {
|
||||||
|
//chkAplctChasi += $(this).val();
|
||||||
|
chkAplctChasi += $(this).data("chasi");
|
||||||
|
phones += $(this).data("phone");
|
||||||
|
emails += $(this).data("email");
|
||||||
|
} else {
|
||||||
|
//chkAplctChasi += $(this).val() + ",";
|
||||||
|
chkAplctChasi += $(this).data("chasi") + ",";
|
||||||
|
phones += $(this).data("phone") + ",";
|
||||||
|
emails += $(this).data("email") + ",";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//체크한 리스트 중 해당 상태에 실행 불가능한 건이 있는지 체크 후, 존재 시 함수 종료
|
||||||
|
if(fnExit) return false;
|
||||||
|
|
||||||
|
var p_smsMsg = "[찾아가는 저작권 교육] 확정된 교육이 있습니다.확인해주세요.";
|
||||||
|
|
||||||
|
fncContent(
|
||||||
|
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/smsSndAjax.do",
|
||||||
|
"10",
|
||||||
|
p_smsMsg,
|
||||||
|
chkAplctChasi,
|
||||||
|
phones,
|
||||||
|
emails,
|
||||||
|
"Z"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//발송
|
||||||
|
function fncContent(p_url, p_cd, p_cn, chkAplctChasi, phones, emails, sndFlag){
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
// enctype: 'multipart/form-data',
|
||||||
|
url:p_url,
|
||||||
|
//data: data,
|
||||||
|
data:{
|
||||||
|
"sndCd": p_cd,
|
||||||
|
"sndCn": p_cn,
|
||||||
|
"chk": chkAplctChasi,
|
||||||
|
"clphone": phones,
|
||||||
|
"email" : emails,
|
||||||
|
"sndFlag" : sndFlag
|
||||||
|
},
|
||||||
|
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>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" name="eduAplctOrd" value="" />
|
||||||
|
<input type="hidden" name="aprvlCd" id="aprvlCd" value="" />
|
||||||
|
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="<c:out value="${vEEduAplctVO.lctrDivCd}" />" />
|
||||||
|
<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_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<!--
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>기준년도</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<label for="searchStatus2" class="label">신청상태 선택</label>
|
||||||
|
<ve:select codeId="VE0029" name="stngYr" id="stngYr" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEEduAplctVO.stngYr}"
|
||||||
|
onChange="fncGoListReset(); return false;"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>구분</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<label for="searchStatus2" class="label">신청상태 선택</label>
|
||||||
|
<select class="sel_type1" id="searchStatus2" name="searchStatus2">
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_WAIT ? 'selected' : ''} value="${VeConstants.STATUS_CD_WAIT}">대기</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
|
||||||
|
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
||||||
|
</select>
|
||||||
|
<ve:select codeId="VE0009" name="searchScholDivCd" id="searchScholDivCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchScholDivCd}" defaultValue="" defaultText='전체'/>
|
||||||
|
<ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" styleClass="sel_type1" selectedValue="${vEEduAplctVO.searchEduSlctAreaCd}" defaultValue="" defaultText='전체'/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>학교(기관)명</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id="searchScholNm" name="searchScholNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.searchScholNm}" onkeyDown="press(event);">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>신청자명</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id="searchChrgNm" name="searchChrgNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.searchChrgNm}" onkeyDown="press(event);">
|
||||||
|
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>교육일자</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="${vEEduAplctVO.searchStartDt}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="endDate" name="searchEndDt" value="${vEEduAplctVO.searchEndDt}">
|
||||||
|
</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="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEEduAplctVO.searchSmbtStartDt}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEEduAplctVO.searchSmbtEndDt}">
|
||||||
|
</div>
|
||||||
|
<div style="padding-left:30px;">
|
||||||
|
관리자 수정 건만 보기<input type="checkbox" name="searchAdminUpdtYn" id="searchAdminUpdtYn" value="Y" <c:if test="${vEEduAplctVO.searchAdminUpdtYn eq 'Y'}">checked</c:if>>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<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">
|
||||||
|
<option value='10' <c:if test="${vEEduAplctVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEEduAplctVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
|
||||||
|
</select>
|
||||||
|
<!-- <button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button> -->
|
||||||
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
|
||||||
|
<th>번호</th>
|
||||||
|
<th>교육일자<button class="sort sortBtn" id="sort_eduHopeDt">▲</button></th>
|
||||||
|
<th>신청일자<button class="sort sortBtn" id="sort_sbmtPnttm">▲</button></th>
|
||||||
|
<th>지역</th>
|
||||||
|
<th>학교(기관)명<button class="sort sortBtn" id="sort_scholInsttNm">▲</button></th>
|
||||||
|
<th>신청시간</th>
|
||||||
|
<th>소요시간<button class="sort sortBtn" id="sort_lrnTm">▲</button></th>
|
||||||
|
<th>학교구분</th>
|
||||||
|
<th>담당자</th>
|
||||||
|
<th>신청상태</th>
|
||||||
|
<th>확정일자</th>
|
||||||
|
<th>관리자 수정 여부</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.notiCnt == 0}">
|
||||||
|
<tr class="new_cont" title="<c:out value='${list.eduAplctOrd}'/>" style="cursor:pointer;">
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr title="<c:out value='${list.eduAplctOrd}'/>" style="cursor:pointer;">
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
<td>
|
||||||
|
<input name="chk" class="${list.aprvlCd}"
|
||||||
|
value="${list.eduAplctOrd}" title="Check" type="checkbox"
|
||||||
|
data-chasi="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
|
||||||
|
data-email="<c:out value='${list.email}' />"
|
||||||
|
/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}');">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${not empty list.eduHopeDt}">
|
||||||
|
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/>
|
||||||
|
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<c:out value="${list.sbmtPnttm}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<c:if test="${list.eduSlctCd eq '10'}">
|
||||||
|
(온)
|
||||||
|
</c:if>
|
||||||
|
<ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<c:out value="${list.scholInsttNm}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/>
|
||||||
|
<fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
|
||||||
|
~
|
||||||
|
<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/>
|
||||||
|
<fmt:formatDate value="${endTm}" pattern="kk:mm"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<c:out value="${list.lrnTm}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
<ve:code codeId="VE0009" code="${list.scholDivCd}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#" onclick="javascript:fncGoDetail('${list.eduAplctOrd}'); return false;">
|
||||||
|
|
||||||
|
<c:out value="${list.chrgNm}"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}">
|
||||||
|
<span class="app_status1">대기</span>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
|
||||||
|
<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}">
|
||||||
|
<span class="app_status3">수정요청<c:if test="${list.isWait eq 'Y'}">(대기)</c:if></span>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
|
||||||
|
<span class="app_status3">수정완료<c:if test="${list.isWait eq 'Y'}">(대기)</c:if></span>
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||||
|
<span class="app_status1">교육확정</span>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
-
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:if test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
|
||||||
|
<p>${list.aprvlPnttm}</p>
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.adminUpdtYn eq 'Y'}">
|
||||||
|
예
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
아니오
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="12"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<!--
|
||||||
|
<select id="saveStatus" name="saveStatus" class="sel_type1">
|
||||||
|
<option value="">상태선택</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_WAIT}">대기</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
|
||||||
|
<option value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
|
||||||
|
<%-- <option value="${VeConstants.STATUS_CD_WAIT_N}">대기(삭제)</option> --%>
|
||||||
|
<%-- <option value="${VeConstants.STATUS_CD_WAIT_Y}">대기(처리)</option> --%>
|
||||||
|
</select>
|
||||||
|
<button type="button" class="btn_type05" onclick="fncChkStatusUpdate(); return false;">상태저장</button>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<!-- <button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button> -->
|
||||||
|
<button type="button" class="btn_type06" onclick="fncSndSms(); return false;">교육확정알림</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<a href="#" onclick="javascript:linkPhonePage('1'); return false;">.</a>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,193 @@
|
|||||||
|
<!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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||||
|
|
||||||
|
<% pageContext.setAttribute("replaceChar", "\n"); %>
|
||||||
|
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : eduAplctMailPreviewDetail.jsp
|
||||||
|
* @Description : 메일 미리보기
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2022.04.05 안주영 최초 생성
|
||||||
|
* @author 안주영
|
||||||
|
* @since 2022.04.05
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>청소년 메일본문 상세</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function fncUpdate(){
|
||||||
|
|
||||||
|
if ($("#emailCn").val() == null || $("#emailCn").val() == ''){
|
||||||
|
alert("메일 본문 내용은 필수값입니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(confirm("메일 본문을 수정하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/eduAplctMailMdfyAjax.do",
|
||||||
|
data: {
|
||||||
|
"cntCn" : $("#emailCn").val()
|
||||||
|
},
|
||||||
|
dataType:'json',
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("수정 되었습니다.");
|
||||||
|
location.reload(true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//이메일 발송
|
||||||
|
function fncSndEmail(){
|
||||||
|
|
||||||
|
var p_smsEmail = $("#emailCn").val();
|
||||||
|
|
||||||
|
if (p_smsEmail==""){
|
||||||
|
alert("이메일 발송 내용은 필수값입니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($("#emailAddr").val() == null || $("#emailAddr").val() == ''){
|
||||||
|
alert("이메일 수신 주소는 필수값입니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//alert($("#emailType").val());
|
||||||
|
//return false;
|
||||||
|
|
||||||
|
fncContent(
|
||||||
|
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndAjax.do",
|
||||||
|
"20",
|
||||||
|
p_smsEmail,
|
||||||
|
//"C"
|
||||||
|
$("#emailType").val()
|
||||||
|
, $("#clphone1").val()
|
||||||
|
, $("#clphone2").val()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//fncPreviewEmail
|
||||||
|
function fncPreviewEmail(){
|
||||||
|
//document.listForm.authorCode.value = vAuthorCode;
|
||||||
|
document.listForm.action = "<c:url value='/oprtn/tngrVisitEdu/popup/eduAplctMailPreviewDetail.do'/>";
|
||||||
|
window.open("#", "_aplctPreviewPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
|
||||||
|
document.listForm.target = "_aplctPreviewPop";
|
||||||
|
document.listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//발송
|
||||||
|
function fncContent(p_url, p_cd, p_cn, p_flag
|
||||||
|
, p_clphone1
|
||||||
|
, p_clphone2
|
||||||
|
){
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
// enctype: 'multipart/form-data',
|
||||||
|
url:p_url,
|
||||||
|
//data: data,
|
||||||
|
data:{
|
||||||
|
"sndCd": p_cd,
|
||||||
|
"sndCn": p_cn,
|
||||||
|
"eduAplctOrd": 'test',
|
||||||
|
"email": $("#emailAddr").val(),
|
||||||
|
"sndFlag": p_flag,
|
||||||
|
"clphone1": p_clphone1
|
||||||
|
, "clphone2": p_clphone2
|
||||||
|
},
|
||||||
|
dataType:'json',
|
||||||
|
/*
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
*/
|
||||||
|
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("정상적으로 발송되었습니다.");
|
||||||
|
|
||||||
|
}else{
|
||||||
|
alert("발송 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>사용본문 미리보기(저장된 내용만 반영됩니다.)</h2>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
<div class="cont">
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value='${cntManageVO2.cntCn}' escapeXml="false" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btn_type08" onclick="self.close();return false;">닫기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;" action="">
|
||||||
|
<input type="hidden" name="yr" id="yr" value=""/>
|
||||||
|
</form:form>
|
||||||
|
</html>
|
||||||
@ -440,6 +440,14 @@
|
|||||||
</c:forEach>
|
</c:forEach>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>교육장소</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
${info.eduPlace}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>교육대상</p>
|
<p>교육대상</p>
|
||||||
|
|||||||
@ -169,6 +169,14 @@ $( document ).ready(function() {
|
|||||||
</c:forEach>
|
</c:forEach>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>교육장소</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="3">
|
||||||
|
${info.eduPlace}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr class="trLength4">
|
<tr class="trLength4">
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>교육대상</p>
|
<p>교육대상</p>
|
||||||
@ -497,12 +505,14 @@ $( document ).ready(function() {
|
|||||||
</th>
|
</th>
|
||||||
<td><c:out value="${info3.unqIsues}" /></td>
|
<td><c:out value="${info3.unqIsues}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<!--
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<p>건의사항</p>
|
<p>건의사항</p>
|
||||||
</th>
|
</th>
|
||||||
<td><c:out value="${info3.sgstnIsues}" /></td>
|
<td><c:out value="${info3.sgstnIsues}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
-->
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user