2024-02-23 18:00 청소년 찾교 등록시 수정 사항 적용

This commit is contained in:
myname 2024-02-23 18:00:25 +09:00
parent 73518bd831
commit 6348486d00
14 changed files with 493 additions and 16 deletions

View File

@ -322,10 +322,15 @@ public class FndtnEnhanceTrnController {
} }
vEPrcsDetailVO.setUseYn("Y"); //공개 여부만 조회 vEPrcsDetailVO.setUseYn("Y"); //공개 여부만 조회
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); if(loginVO != null) {
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
}
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth4User(vEPrcsDetailVO);
// 231031 비로그인으로 강의 목록 조회 가능하게 요청 // 231031 비로그인으로 강의 목록 조회 가능하게 요청
// 리스트 row마다 신청 확인하기 // 리스트 row마다 신청 확인하기
/*
if(loginVO != null) { if(loginVO != null) {
vEPrcsDetailVOList.stream().forEach(t->{ vEPrcsDetailVOList.stream().forEach(t->{
VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO();
@ -345,6 +350,7 @@ public class FndtnEnhanceTrnController {
}); });
} }
*/
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);

View File

@ -309,9 +309,15 @@ public class SspnIdtmtController {
} }
vEPrcsDetailVO.setUseYn("Y"); //공개 여부만 조회 vEPrcsDetailVO.setUseYn("Y"); //공개 여부만 조회
if(loginVO != null) {
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
}
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기 // 리스트 row마다 신청 확인하기
/*
vEPrcsDetailVOList.stream().forEach(t->{ vEPrcsDetailVOList.stream().forEach(t->{
VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO();
vEEduAplctReqVO.setUserId(loginVO.getUniqId()); vEEduAplctReqVO.setUserId(loginVO.getUniqId());
@ -326,6 +332,7 @@ public class SspnIdtmtController {
t.setAprvlCd(vEEduAplctVO.getAprvlCd()); t.setAprvlCd(vEEduAplctVO.getAprvlCd());
} }
}); });
*/
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);

View File

@ -14,6 +14,9 @@ public interface VEEduMIXService {
//L //L
List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception; List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception;
//확정된 대상자만
List<VEEduAplctVO> selectList4Cmplt(VEEduAplctVO paramVO) throws Exception;
//Page List - 대상별(차시단위) //Page List - 대상별(차시단위)
List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception; List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception;
@ -99,6 +102,8 @@ public interface VEEduMIXService {
List<VEEduAplctVO> selectTrgtList(VEEduAplctVO paramVO); List<VEEduAplctVO> selectTrgtList(VEEduAplctVO paramVO);
List<VEEduAplctVO> selectTrgtList4Cmplt(VEEduAplctVO paramVO);
//저작권 체험교실 이력 과정 목록 //저작권 체험교실 이력 과정 목록
List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception; List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception;

View File

@ -31,6 +31,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
return tlist; return tlist;
} }
public List<VEEduAplctVO> selectList4Cmplt(VEEduAplctVO paramVO) throws Exception {
@SuppressWarnings("unchecked")
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectList4Cmplt", paramVO);
return tlist;
}
/** /**
* L - Page * L - Page
* @param addrVO * @param addrVO
@ -240,6 +246,10 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
return (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTrgtList", paramVO); return (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTrgtList", paramVO);
} }
public List<VEEduAplctVO> selectTrgtList4Cmplt(VEEduAplctVO paramVO) {
return (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTrgtList4Cmplt", paramVO);
}
public void updateEduStateCd(VEEduAplctVO paramVO) { public void updateEduStateCd(VEEduAplctVO paramVO) {
update("VEEduMIXDAO.updateEduStateCd", paramVO); update("VEEduMIXDAO.updateEduStateCd", paramVO);
} }

View File

@ -36,6 +36,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
return vEEduMIXDAO.selectList(paramVO); return vEEduMIXDAO.selectList(paramVO);
} }
public List<VEEduAplctVO> selectList4Cmplt(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectList4Cmplt(paramVO);
}
//paging List //paging List
public List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception{ public List<VEEduAplctVO> selectPagingList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectPagingList(paramVO); return vEEduMIXDAO.selectPagingList(paramVO);
@ -212,6 +216,10 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
return vEEduMIXDAO.selectTrgtList(paramVO); return vEEduMIXDAO.selectTrgtList(paramVO);
} }
public List<VEEduAplctVO> selectTrgtList4Cmplt(VEEduAplctVO paramVO) {
return vEEduMIXDAO.selectTrgtList4Cmplt(paramVO);
}
@Override @Override
public void updateEduStateCd(VEEduAplctVO paramVO) { public void updateEduStateCd(VEEduAplctVO paramVO) {
vEEduMIXDAO.updateEduStateCd(paramVO); vEEduMIXDAO.updateEduStateCd(paramVO);

View File

@ -3,7 +3,6 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEPrcsAplctPrdService { public interface VEPrcsAplctPrdService {
@ -33,6 +32,9 @@ public interface VEPrcsAplctPrdService {
//기반강화, 기소유예 //기반강화, 기소유예
List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
//기반강화, 기소유예 - 사용자용
List<VEPrcsDetailVO> selectPagingList4Fndth4User(VEPrcsDetailVO paramVO) throws Exception;
//R //R
VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception; VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception;

View File

@ -6,7 +6,6 @@ import java.util.Map;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; 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.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -80,6 +79,11 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
return tlist; return tlist;
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth4User(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth4User", paramVO);
return tlist;
}
public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectCfnPagingList4Fndth", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectCfnPagingList4Fndth", paramVO);
return tlist; return tlist;

View File

@ -9,7 +9,6 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -72,6 +71,9 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO); return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth4User(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList4Fndth4User(paramVO);
}
public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectCfnPagingList4Fndth(paramVO); return vEPrcsAplctPrdDAO.selectCfnPagingList4Fndth(paramVO);

View File

@ -988,7 +988,7 @@ public class CndtnPrcsInfoMngController {
paramVO.setSiteId("60"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 paramVO.setSiteId("60"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectTrgtList(paramVO); List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectTrgtList4Cmplt(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);

View File

@ -386,7 +386,7 @@ public class FndthPrcsAplctPrdMngController {
paramVO.setSiteId("50"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 paramVO.setSiteId("50"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO); List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList4Cmplt(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList); vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("===="); System.out.println("====");

View File

@ -266,6 +266,150 @@
</select> </select>
<select id="VEEduMIXDAO.selectList4Cmplt" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* VEEduMIXDAO.selectList4Cmplt */
SELECT
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
vadi.CNCL_CN AS cnclCn,
le.MBER_NM AS userNm,
le.MBER_ID AS mberId,
<include refid="VEEduMIXDAO.select_column_name"/>,
a.CHRG_NM AS chrgNm ,
a.D_BIRTH AS dBirth ,
a.INSTT_NM AS insttNm ,
a.FLD AS fld ,
a.LCTR_YN AS lctrYn ,
a.PRVS_QS AS prvsQs ,
CASE
WHEN to_char(sysdate,
'YYYY.MM.DD') > NVL(vpap.edu_ddln_pnttm,
vpap.edu_strt_pnttm) THEN 1
ELSE 0
END AS qestRsltExists,
/* 설문지 정보 */
I.qustnr_tmplat_id AS qustnrTmplatId ,
NVL(qustnr01.QESTNR_ID_10,
i.qestnr_id_10) AS qestnrId10 ,
NVL(qustnr01.QESTNR_ID_20,
i.qestnr_id_20) AS qestnrId20 ,
NVL(qustnr01.QESTNR_ID_30,
i.qestnr_id_30) AS qestnrId30 ,
/* 답변 정보 */
qustnr01.QESTNR_ID_10_CNT AS qestnrId10Cnt ,
qustnr01.QESTNR_ID_20_CNT AS qestnrId20Cnt ,
qustnr01.QESTNR_ID_30_CNT AS qestnrId30Cnt
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.ESNTL_ID
LEFT OUTER JOIN (
SELECT
aa.EDU_APLCT_ORD ,
aa.prcs_ord,
aa.QUSTNR_TMPLAT_ID ,
aa.user_id ,
max(decode(bb.site_id_cd, '10', aa.QESTNR_ID)) AS QESTNR_ID_10 ,
max(decode(bb.site_id_cd, '20', aa.QESTNR_ID)) AS QESTNR_ID_20 ,
max(decode(bb.site_id_cd, '30', aa.QESTNR_ID)) AS QESTNR_ID_30 ,
SUM(decode(bb.site_id_cd, '10', 1, 0)) AS QESTNR_ID_10_CNT ,
SUM(decode(bb.site_id_cd, '20', 1, 0)) AS QESTNR_ID_20_CNT ,
SUM(decode(bb.site_id_cd, '30', 1, 0)) AS QESTNR_ID_30_CNT
FROM
(
SELECT
a.EDU_APLCT_ORD ,
a.prcs_ord,
b.QUSTNR_TMPLAT_ID ,
b.QESTNR_ID ,
a.user_id
FROM
ve_edu_aplct a ,
LETTNQESTNRRSLTDETAIL b
WHERE
1 = 1 /*
AND b.respond_id = a.user_id */
AND a.edu_aplct_ord = b.edu_aplct_ord
AND b.EDU_CHASI_ORD IS NULL
)aa ,
lettnqestnrinfo bb
WHERE
aa.qustnr_tmplat_id = bb.qustnr_tmplat_id
AND aa.qestnr_id = bb.qestnr_id
GROUP BY
aa.EDU_APLCT_ORD ,
aa.prcs_ord,
aa.QUSTNR_TMPLAT_ID ,
aa.user_id ) qustnr01 ON
( a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
AND a.PRCS_ORD = qustnr01.prcs_Ord )
LEFT OUTER JOIN (/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
SELECT
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ,
max(decode(a.site_id_cd, '10', a.QESTNR_ID)) AS QESTNR_ID_10 ,
max(decode(a.site_id_cd, '20', a.QESTNR_ID)) AS QESTNR_ID_20 ,
max(decode(a.site_id_cd, '30', a.QESTNR_ID)) AS QESTNR_ID_30
FROM
LETTNQESTNRINFO a
WHERE
a.SITE_ID = #siteId#
AND a.SITE_ID_CD IN ('10', '20', '30')
AND TO_CHAR(SYSDATE,
'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde,
'2000.01.01')
AND NVL(a.qustnr_endde,
'9999.12.31')
GROUP BY
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ) I ON
(1 = 1)
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>
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
AND a.use_yn = 'Y'
AND a.aprvl_cd = '20' /* 승인된 사람만 */
<!-- AND le.MBER_NM IS NOT NULL -->
</select>
<select id="VEEduMIXDAO.selectCndtnList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO"> <select id="VEEduMIXDAO.selectCndtnList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* VEEduMIXDAO.selectCndtnList */ /* VEEduMIXDAO.selectCndtnList */
SELECT SELECT
@ -300,6 +444,8 @@
( (
a.USER_ID = vsit.USER_ID a.USER_ID = vsit.USER_ID
AND a.rnds_ord=vsit.SSPN_IDTMT_TRGT_ORD AND a.rnds_ord=vsit.SSPN_IDTMT_TRGT_ORD
AND a.edu_aplct_ord=vsit.edu_aplct_ord
) )
WHERE WHERE
1=1 1=1
@ -384,8 +530,10 @@
LEFT JOIN LETTNQESTNRINFO qe ON LEFT JOIN LETTNQESTNRINFO qe ON
a.USER_ID = qe.FRST_REGISTER_ID a.USER_ID = qe.FRST_REGISTER_ID
LEFT JOIN VEA_SSPN_IDMT_TRGT vsit LEFT JOIN VEA_SSPN_IDMT_TRGT vsit
ON a.user_id = vsit.user_id ON (
a.user_id = vsit.user_id
AND a.edu_aplct_ord=vsit.edu_aplct_ord
)
LEFT OUTER JOIN ( LEFT OUTER JOIN (
SELECT SELECT
@ -479,6 +627,153 @@
</select> </select>
<!-- -->
<select id="VEEduMIXDAO.selectTrgtList4Cmplt" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* VEEduMIXDAO.selectTrgtList4Cmplt */
SELECT
qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
vsit.edu_state_cd AS eduStateCd,
le.MBER_NM AS userNm,
le.MBER_ID AS mberId,
<include refid="VEEduMIXDAO.select_column_name"/>,
vsit.trgt_nm AS trgtNm,
vsit.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd,
vsit.clphone AS vs_clphone,
vsit.d_birth AS dBirth ,
CASE
WHEN to_char(sysdate,
'YYYY.MM.DD') > NVL(vpap.edu_ddln_pnttm,
vpap.edu_strt_pnttm) THEN 1
ELSE 0
END AS qestRsltExists,
/* 설문지 정보 */
I.qustnr_tmplat_id AS qustnrTmplatId ,
NVL(qustnr01.QESTNR_ID_10,
i.qestnr_id_10) AS qestnrId10 ,
NVL(qustnr01.QESTNR_ID_20,
i.qestnr_id_20) AS qestnrId20 ,
NVL(qustnr01.QESTNR_ID_30,
i.qestnr_id_30) AS qestnrId30 ,
/* 답변 정보 */
qustnr01.QESTNR_ID_10_CNT AS qestnrId10Cnt ,
qustnr01.QESTNR_ID_20_CNT AS qestnrId20Cnt ,
qustnr01.QESTNR_ID_30_CNT AS qestnrId30Cnt
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
AND a.edu_aplct_ord=vsit.edu_aplct_ord
)
LEFT OUTER JOIN (
SELECT
aa.EDU_APLCT_ORD ,
aa.prcs_ord,
aa.QUSTNR_TMPLAT_ID ,
aa.user_id ,
max(decode(bb.site_id_cd, '10', aa.QESTNR_ID)) AS QESTNR_ID_10 ,
max(decode(bb.site_id_cd, '20', aa.QESTNR_ID)) AS QESTNR_ID_20 ,
max(decode(bb.site_id_cd, '30', aa.QESTNR_ID)) AS QESTNR_ID_30 ,
SUM(decode(bb.site_id_cd, '10', 1, 0)) AS QESTNR_ID_10_CNT ,
SUM(decode(bb.site_id_cd, '20', 1, 0)) AS QESTNR_ID_20_CNT ,
SUM(decode(bb.site_id_cd, '30', 1, 0)) AS QESTNR_ID_30_CNT
FROM
(
SELECT
a.EDU_APLCT_ORD ,
a.prcs_ord,
b.QUSTNR_TMPLAT_ID ,
b.QESTNR_ID ,
a.user_id
FROM
ve_edu_aplct a ,
LETTNQESTNRRSLTDETAIL b
WHERE
1 = 1 /*
AND b.respond_id = a.user_id */
AND a.edu_aplct_ord = b.edu_aplct_ord
AND b.EDU_CHASI_ORD IS NULL )aa ,
lettnqestnrinfo bb
WHERE
aa.qustnr_tmplat_id = bb.qustnr_tmplat_id
AND aa.qestnr_id = bb.qestnr_id
GROUP BY
aa.EDU_APLCT_ORD ,
aa.prcs_ord,
aa.QUSTNR_TMPLAT_ID ,
aa.user_id ) qustnr01 ON
( a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
AND a.PRCS_ORD = qustnr01.prcs_Ord )
LEFT OUTER JOIN (/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
SELECT
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ,
max(decode(a.site_id_cd, '10', a.QESTNR_ID)) AS QESTNR_ID_10 ,
max(decode(a.site_id_cd, '20', a.QESTNR_ID)) AS QESTNR_ID_20 ,
max(decode(a.site_id_cd, '30', a.QESTNR_ID)) AS QESTNR_ID_30
FROM
LETTNQESTNRINFO a
WHERE
a.SITE_ID = #siteId#
AND a.SITE_ID_CD IN ('10', '20', '30')
AND TO_CHAR(SYSDATE,
'YYYY.MM.DD') BETWEEN NVL(a.qustnr_bgnde,
'2000.01.01')
AND NVL(a.qustnr_endde,
'9999.12.31')
GROUP BY
a.QUSTNR_TMPLAT_ID ,
a.SITE_ID ) I ON
(1 = 1)
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>
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
AND a.use_yn = 'Y'
AND a.aprvl_cd = '20' /* 확정된 사람만 보여줌 */
</select>
<!-- 강사 정보 L page --> <!-- 강사 정보 L page -->
<select id="VEEduMIXDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO"> <select id="VEEduMIXDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingList */ /* 임시.*NOT_SQL_LOG.* VEEduMIXDAO.selectPagingList */

View File

@ -429,6 +429,114 @@
ORDER BY 1
<isEmpty property="orderByQuery">
, a.prcs_aplct_prd_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- 기반강화, 기소유예 L page -->
<select id="VEPrcsAplctPrdDAO.selectPagingList4Fndth4User" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.selectPagingList4Fndth4User */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id ORDER BY USER_NM DESC LIMIT 1) as frstRegisterNm
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
, b.prcs_nm as prcsNm
, b.prcs_div as prcsDiv
, (SELECT COUNT(*)
FROM ve_edu_aplct x
JOIN LETTNGNRLMBER le ON
x.USER_ID = le.ESNTL_ID
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y'
AND x.aprvl_cd != 40 /*취소된 신청자 제거*/
AND x.aprvl_cd != 100 /*찜 신청자 제거*/
<!-- AND le.MBER_NM IS NOT NULL -->
) AS nosCnt1
/*
신청자 정보
*/
, c0.aprvl_cd AS aprvlCd
, c0.edu_aplct_ord AS eduAplctOrd
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
LEFT OUTER JOIN
(
/* 사용자의 최종 선택 값을 가져온다. */
SELECT bb.*
FROM (
SELECT user_id, prcs_ord, max(edu_aplct_ord) AS eduAplctOrd
FROM ve_edu_aplct a
WHERE a.lctr_div_cd =#lctrDivCd#
AND a.user_id =#userId#
GROUP BY user_id, prcs_ord
)aa
, ve_edu_aplct bb
WHERE aa.eduaplctOrd=bb.EDU_APLCT_ORD
)c0
ON(1=1
AND a.prcs_aplct_prd_ord=c0.prcs_ord
)
, ve_prcs b
WHERE
1=1
AND a.prcs_ord=b.prcs_ord
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
AND a.use_yn=#useYn#
</isNotEmpty>
<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# ||'%'
</isNotEmpty>
<isNotEmpty property="popup">
AND a.DDLN_CD IS null
AND TO_DATE(a.STRT_PNTTM , 'YYYY.MM.DD') <![CDATA[ <= ]]> TO_DATE(SYSDATE , 'YYYY.MM.DD')
AND TO_DATE(a.END_PNTTM , 'YYYY.MM.DD') >= TO_DATE(SYSDATE , 'YYYY.MM.DD')
</isNotEmpty>
ORDER BY 1 ORDER BY 1
<isEmpty property="orderByQuery"> <isEmpty property="orderByQuery">

View File

@ -88,8 +88,11 @@ $(document).ready(function(){
$(".ddlnCdStts").each(function() { $(".ddlnCdStts").each(function() {
var $thisCell = $(this); var $thisCell = $(this);
var $applyButton = $thisCell.closest('tr').find(".aplctBtn button"); var $applyButton = $thisCell.closest('tr').find(".aplctBtn button");
var $applyStts = $thisCell.closest('tr').find(".aplctStts");
// var $aprvlCd = $thisCell.closest('tr').find(".aplctBtn input"); // var $aprvlCd = $thisCell.closest('tr').find(".aplctBtn input");
// 텍스트가 비어있는지 확인 // 텍스트가 비어있는지 확인
if ($thisCell.text().trim() === "") { if ($thisCell.text().trim() === "") {
var $currentRow = $thisCell.closest('tr'); var $currentRow = $thisCell.closest('tr');
@ -121,8 +124,21 @@ $(document).ready(function(){
// if ($thisCell.text().trim() !== "접수중") { // if ($thisCell.text().trim() !== "접수중") {
// $applyButton.prop('disabled', true); // 버튼 비활성화 // $applyButton.prop('disabled', true); // 버튼 비활성화
// } // }
//alert($applyStts.text().trim());
if ($thisCell.text().trim() === "접수중") { if ($thisCell.text().trim() === "접수중") {
$applyButton.prop('disabled', false); // 버튼 비활성화
//신청상태
if ($applyStts.text().trim() === "요청") {
//취소
$applyButton.prop('disabled', false); // 버튼 비활성화
$applyButton.text('취소');
$applyButton.attr('title','취소 창 열림');
$applyButton.attr('onclick', "fn_cancel('" + $($thisCell).closest('tr').data('value') + "');");
}else{
$applyButton.prop('disabled', false); // 버튼 비활성화
}
} }
if ($thisCell.text().trim() === "접수전") { if ($thisCell.text().trim() === "접수전") {
$applyButton.prop('disabled', false); // 버튼 비활성화 $applyButton.prop('disabled', false); // 버튼 비활성화
@ -414,6 +430,7 @@ $(document).ready(function(){
<c:if test="${loginVO != null }"> <c:if test="${loginVO != null }">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 10%">
</c:if> </c:if>
</colgroup> </colgroup>
<thead> <thead>
@ -425,7 +442,8 @@ $(document).ready(function(){
<th scope="col">교육일자</th> <th scope="col">교육일자</th>
<th scope="col">신청자/정원</th> <th scope="col">신청자/정원</th>
<c:if test="${loginVO != null }"> <c:if test="${loginVO != null }">
<th scope="col">상태</th> <th scope="col">접수상태</th>
<th scope="col">신청상태</th>
<th scope="col">교육신청</th> <th scope="col">교육신청</th>
</c:if> </c:if>
</tr> </tr>
@ -453,7 +471,19 @@ $(document).ready(function(){
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/> <c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
</td> </td>
<c:if test="${loginVO != null }"> <c:if test="${loginVO != null }">
<!-- 접수상태 -->
<td class="ddlnCdStts"> <td class="ddlnCdStts">
<%-- <c:choose> --%>
<%-- <c:when test="${not empty list.aprvlCd}"> --%>
<%-- <kc:code codeId="VE0003" code="${list.aprvlCd}"/> --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <kc:code codeId="VEA004" code="${list.ddlnCd}"/> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
</td>
<!-- 신청상태 -->
<td class="aplctStts">
<c:choose> <c:choose>
<c:when test="${not empty list.aprvlCd}"> <c:when test="${not empty list.aprvlCd}">
<kc:code codeId="VE0003" code="${list.aprvlCd}"/> <kc:code codeId="VE0003" code="${list.aprvlCd}"/>

View File

@ -160,7 +160,7 @@ function _fncEduHopeDtStep1(
}else if(returnData.result == "fail"){ }else if(returnData.result == "fail"){
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다."); //alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
//alert(returnData.msg+"는 강의가능시간이 아닙니다."); //alert(returnData.msg+"는 강의가능시간이 아닙니다.");
alert("강의가능시간은 (관리자가 지정해둔 시간) 입니다."); alert("강의가능시간은 (09:00~18:00) 입니다.");
flag = false; flag = false;
return; return;
} }
@ -929,7 +929,7 @@ function _chkChasiTime(p_this){
}else if(returnData.result == "fail"){ }else if(returnData.result == "fail"){
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다."); //alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
//alert(returnData.msg+"는 강의가능시간이 아닙니다."); //alert(returnData.msg+"는 강의가능시간이 아닙니다.");
alert("강의가능시간은 (관리자가 지정해둔 시간) 입니다."); alert("강의가능시간은 (09:00~18:00) 입니다.");
flag = false; flag = false;
return ; return ;
}else if(returnData.result == "fail6"){ }else if(returnData.result == "fail6"){