2023-12-05 강사 설문 화면 수정
This commit is contained in:
parent
a701feaf16
commit
a290c7a047
@ -261,7 +261,12 @@ public class VEFndtnAsgnmController {
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setEduChasiOrd(vEPrcsDetailVO.getEduChasiOrd());
|
||||
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_50);
|
||||
|
||||
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50);
|
||||
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);
|
||||
|
||||
vEEduChasiVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
|
||||
vEEduChasiVO.setSiteId("50"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
|
||||
@ -270,7 +275,7 @@ public class VEFndtnAsgnmController {
|
||||
|
||||
|
||||
//List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList202312Instr(vEEduChasiVO);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList202312EAInstr(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
|
||||
@ -17,8 +17,10 @@ import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.cmm.VeConstants;
|
||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
|
||||
@ -253,6 +255,33 @@ public class VESspnIdtmtAsgnmController {
|
||||
model.addAttribute("instrAsgnmList", instrAsgnmList);
|
||||
}
|
||||
|
||||
//사용자 교육신청 차시 리스트 - 설문정보
|
||||
{
|
||||
//사용자 교육신청 차시 리스트
|
||||
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
|
||||
vEEduChasiVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
|
||||
vEEduChasiVO.setEduChasiOrd(vEPrcsDetailVO.getEduChasiOrd());
|
||||
|
||||
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60);
|
||||
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);
|
||||
|
||||
vEEduChasiVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||
|
||||
vEEduChasiVO.setPageIndex(0);
|
||||
|
||||
vEEduChasiVO.setSiteId("60"); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
|
||||
//대상 설문의 점수대상 확인에 필요하다.
|
||||
vEEduChasiVO.setSiteIdCd("'10','20'"); //site id cd 10-기본설문, 20-신청자설문, 30-강사설문
|
||||
|
||||
|
||||
//List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiList202312EAInstr(vEEduChasiVO);
|
||||
|
||||
//복호화
|
||||
vEEduChasiVOList = egovCryptoUtil.decryptVEEduChasiVOList(vEEduChasiVOList);
|
||||
|
||||
model.addAttribute("chasiList", vEEduChasiVOList);
|
||||
}
|
||||
|
||||
return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail";
|
||||
}
|
||||
|
||||
@ -132,6 +132,9 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String siteIdCd; //사이트ID 구분 10-기본, 20-신청자, 30-강사
|
||||
|
||||
private String prcsAplctPrdOrd; //기간과정신청정보
|
||||
|
||||
|
||||
|
||||
public String getQustnrQesitmId10Cnt() {
|
||||
return qustnrQesitmId10Cnt;
|
||||
@ -699,5 +702,11 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
|
||||
public void setSiteIdCd(String siteIdCd) {
|
||||
this.siteIdCd = siteIdCd;
|
||||
}
|
||||
public String getPrcsAplctPrdOrd() {
|
||||
return prcsAplctPrdOrd;
|
||||
}
|
||||
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
|
||||
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4519,358 +4519,199 @@
|
||||
<!-- 차시별 강사배치 리스트 page + 설문 응답 정보 & 설문지 정보 추가 -->
|
||||
<select id="VEEduMIXDAO.selectChasiList202312EAInstr" parameterClass="VEEduChasiVO" resultClass="VEEduChasiVO">
|
||||
/* VEEduMIXDAO.selectChasiList202312EAInstr */
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
ROWNUM AS rowNo ,
|
||||
|
||||
A.EDU_APLCT_ORD AS eduAplctOrd
|
||||
, A.LCTR_DIV_CD AS lctrDivCd
|
||||
, A.addr AS sAddr
|
||||
, D.ADDR AS iAddr
|
||||
, A.EDU_PRSNL AS eduPrsnl
|
||||
, A.schol_instt_nm AS scholInsttNm
|
||||
, A.edu_place AS eduPlace
|
||||
, A.INSTT_NM AS InsttNm
|
||||
, A.hope_sbjct AS hopeSbjct
|
||||
, A.INSTT_DIV_CD AS insttDivCd
|
||||
, A.EDU_SLCT_CD AS eduSlctCd
|
||||
, B.EDU_CHASI_ORD AS eduChasiOrd
|
||||
/*
|
||||
, TO_CHAR(B.EDU_HOPE_DT,'YYYY.MM.DD') AS eduHopeDt
|
||||
*/
|
||||
, B.EDU_HOPE_DT AS eduHopeDt
|
||||
, B.STRT_TM AS strtTm
|
||||
, B.END_TM AS endTm
|
||||
, B.LRN_TM AS lrnTm
|
||||
, B.DIV_CD AS divCd
|
||||
, B.TRGT AS trgt
|
||||
, B.PRSNL AS prsnl
|
||||
, TO_CHAR(B.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
|
||||
, B.FRST_REGISTER_ID AS frstRegisterId
|
||||
, TO_CHAR(B.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
|
||||
, B.LAST_UPDUSR_ID AS lastUpdusrId
|
||||
, B.LRN_SBJCT AS lrnSbjct
|
||||
, B.LRN_CN AS lrnCn
|
||||
, B.RMRKS AS rmrks
|
||||
, B.INSTR_CNFRM_CD AS instrCnfrmCd
|
||||
, B.INSTR_CNFRM_PNTTM AS instrCnfrmPnttm
|
||||
, B.INSTR_CNFRM_ID AS instrCnfrmId
|
||||
, D.INSTR_DETAIL_ORD AS instrDetailOrd
|
||||
, D.USER_ID AS userId
|
||||
, D.INSTR_NM AS instrNm
|
||||
, D.PHONE AS phone
|
||||
, D.EMAIL AS email
|
||||
, D.POST AS post
|
||||
, D.ADDR AS addr
|
||||
, D.ADDR_DETAIL AS addrDetail
|
||||
, D.RSDNE AS rsdne
|
||||
, D.D_BIRTH AS dBirth
|
||||
, D.FINAL_SCHOL AS finalSchol
|
||||
, D.MJR AS mjr
|
||||
, D.APPT_YR AS apptYr
|
||||
, D.APPT_DIV AS apptDiv
|
||||
, D.ACTVT_CARER AS actvtCarer
|
||||
, D.MN_LCTR_CN AS mnLctrCn
|
||||
, D.PHT_ATCH_FILE_ID AS PhtAtchFileId
|
||||
, D.BLNG AS blng
|
||||
, D.PSTN AS pstn
|
||||
, D.PRFSN_FLD AS prfsnFld
|
||||
, D.SBMT_YN AS sbmtYn
|
||||
, D.SBMT_PNTTM AS sbmtPnttm
|
||||
, D.APRVL_CD AS aprvlCd
|
||||
, D.APRVL_PNTTM AS aprvlPnttm
|
||||
, D.APRVL_ID AS aprvlId
|
||||
, E.prfrn_fld_cd AS prfrnFldCd
|
||||
, E.APRVL_CN AS aprvlCn
|
||||
/*
|
||||
, F.qustnr_respond_id AS qustnrRespondId
|
||||
*/
|
||||
|
||||
, F.QUSTNR_RESPOND_ID_10 AS qustnrRespondId10
|
||||
, F.QUSTNR_RESPOND_ID_20 AS qustnrRespondId20
|
||||
, F.QUSTNR_RESPOND_ID_30 AS qustnrRespondId30
|
||||
|
||||
, NVL(F.QESTNR_PARTICIPANT_COUNT,0) AS qestnrParticipantCnt
|
||||
|
||||
SELECT aaa.prcsAplctPrdOrd
|
||||
, NVL(sum(aaa.cnt),0) AS cnt
|
||||
, sum(aaa.sumScore) AS sumScore
|
||||
, sum(aaa.sumScore)/sum(aaa.cnt) AS avgScore
|
||||
FROM (
|
||||
SELECT COUNT(1) OVER() AS totCnt ,
|
||||
ROWNUM AS rowNo ,
|
||||
A.EDU_APLCT_ORD AS eduAplctOrd ,
|
||||
|
||||
A.prcs_ord AS prcsAplctPrdOrd,
|
||||
/*
|
||||
b.prcs_aplct_prd_ord AS ,
|
||||
*/
|
||||
|
||||
A.LCTR_DIV_CD AS lctrDivCd ,
|
||||
A.addr AS sAddr ,
|
||||
D.ADDR AS iAddr ,
|
||||
A.EDU_PRSNL AS eduPrsnl ,
|
||||
A.schol_instt_nm AS scholInsttNm ,
|
||||
A.edu_place AS eduPlace ,
|
||||
A.INSTT_NM AS InsttNm ,
|
||||
A.hope_sbjct AS hopeSbjct ,
|
||||
A.INSTT_DIV_CD AS insttDivCd ,
|
||||
A.EDU_SLCT_CD AS eduSlctCd ,
|
||||
|
||||
, NVL(F0.QUSTNR_QESITM_ID_10,0) AS qustnrQesitmId10Cnt
|
||||
, NVL(F0.QUSTNR_QESITM_ID_20,0) AS qustnrQesitmId20Cnt
|
||||
, NVL(F0.QUSTNR_QESITM_ID_30,0) AS qustnrQesitmId30Cnt
|
||||
D.INSTR_DETAIL_ORD AS instrDetailOrd ,
|
||||
D.USER_ID AS userId ,
|
||||
D.INSTR_NM AS instrNm ,
|
||||
D.PHONE AS phone ,
|
||||
D.EMAIL AS email ,
|
||||
D.POST AS post ,
|
||||
D.ADDR AS addr ,
|
||||
D.ADDR_DETAIL AS addrDetail ,
|
||||
D.RSDNE AS rsdne ,
|
||||
D.D_BIRTH AS dBirth ,
|
||||
D.FINAL_SCHOL AS finalSchol ,
|
||||
D.MJR AS mjr ,
|
||||
D.APPT_YR AS apptYr ,
|
||||
D.APPT_DIV AS apptDiv ,
|
||||
D.ACTVT_CARER AS actvtCarer ,
|
||||
D.MN_LCTR_CN AS mnLctrCn ,
|
||||
D.PHT_ATCH_FILE_ID AS PhtAtchFileId ,
|
||||
D.BLNG AS blng ,
|
||||
D.PSTN AS pstn ,
|
||||
D.PRFSN_FLD AS prfsnFld ,
|
||||
D.SBMT_YN AS sbmtYn ,
|
||||
D.SBMT_PNTTM AS sbmtPnttm ,
|
||||
D.APRVL_CD AS aprvlCd ,
|
||||
D.APRVL_PNTTM AS aprvlPnttm ,
|
||||
D.APRVL_ID AS aprvlId ,
|
||||
E.prfrn_fld_cd AS prfrnFldCd ,
|
||||
E.APRVL_CN AS aprvlCn ,
|
||||
|
||||
, G.sbmt_yn AS acmdtSbmtYn
|
||||
, G.aprvl_cd AS acmdtAprvlCd
|
||||
, H.oneway_dstnc AS onewayDstnc
|
||||
, A.rslt_atch_file_id AS rsltAtchFileId
|
||||
NVL(F0.QUSTNR_QESITM_ID_10,0) AS qustnrQesitmId10Cnt ,
|
||||
NVL(F0.QUSTNR_QESITM_ID_20,0) AS qustnrQesitmId20Cnt ,
|
||||
NVL(F0.QUSTNR_QESITM_ID_30,0) AS qustnrQesitmId30Cnt ,
|
||||
|
||||
I.qustnr_tmplat_id AS qustnrTmplatId ,
|
||||
i.qestnr_id_10 AS qestnrId10 ,
|
||||
i.qestnr_id_20 AS qestnrId20 ,
|
||||
i.qestnr_id_30 AS qestnrId30 ,
|
||||
|
||||
j.cnt ,
|
||||
j.sumScore ,
|
||||
ROUND(j.avgScore,1) avgScore
|
||||
|
||||
FROM VE_EDU_APLCT A
|
||||
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
/* 현재 응답한 설문 정보(기본, 선생님, 강사) */
|
||||
SELECT b.EDU_APLCT_ORD ,
|
||||
b.prcs_ord ,
|
||||
COUNT(DECODE(a.site_id_cd,'10',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_10 ,
|
||||
COUNT(DECODE(a.site_id_cd,'20',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_20 ,
|
||||
COUNT(DECODE(a.site_id_cd,'30',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_30
|
||||
FROM (
|
||||
SELECT a.EDU_APLCT_ORD ,
|
||||
a.prcs_ord ,
|
||||
b.QUSTNR_TMPLAT_ID ,
|
||||
b.QESTNR_ID ,
|
||||
b.QUSTNR_QESITM_ID
|
||||
/* , b.QUSTNR_RESPOND_ID */
|
||||
FROM ve_edu_aplct a ,
|
||||
LETTNQESTNRRSLTDETAIL b
|
||||
WHERE 1 =1
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
|
||||
)
|
||||
b ,
|
||||
LETTNQESTNRINFO a
|
||||
WHERE a.QUSTNR_TMPLAT_ID =b.QUSTNR_TMPLAT_ID
|
||||
AND a.QESTNR_ID =b.QESTNR_ID
|
||||
AND a.site_id =#siteId#
|
||||
GROUP BY b.EDU_APLCT_ORD ,
|
||||
b.prcs_ord
|
||||
)
|
||||
F0
|
||||
ON (
|
||||
A.edu_aplct_ord = F0.edu_aplct_ord
|
||||
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
SELECT aa.edu_aplct_ord ,
|
||||
aa.prcs_ord ,
|
||||
SUM(aa.cnt) cnt ,
|
||||
SUM(aa.cnt*aa.avgscore) sumScore ,
|
||||
SUM(aa.cnt*aa.avgscore)/SUM(aa.cnt) AS avgScore
|
||||
FROM (
|
||||
SELECT b.QUSTNR_TMPLAT_ID ,
|
||||
b.QESTNR_ID ,
|
||||
a.EDU_APLCT_ORD ,
|
||||
a.PRCS_ORD ,
|
||||
SUM( NVL(b.VERY_SATISFIED,0) + NVL(b.SATISFIED,0) + NVL(b.NEITHER,0) + NVL(b.DISSATISFIED,0) + NVL(b.VERY_DISSATISFIED,0) ) cnt ,
|
||||
( SUM(NVL(b.VERY_SATISFIED,0)*100) + SUM(NVL(b.SATISFIED,0)*80) + SUM(NVL(b.NEITHER,0)*60) + SUM(NVL(b.DISSATISFIED,0)*40) + SUM(NVL(b.VERY_DISSATISFIED,0)*20) ) / SUM( NVL(b.VERY_SATISFIED,0) + NVL(b.SATISFIED,0) + NVL(b.NEITHER,0) + NVL(b.DISSATISFIED,0) + NVL(b.VERY_DISSATISFIED,0) ) AS avgScore
|
||||
FROM ve_edu_aplct a ,
|
||||
LETTNQESTNRRSLTDETAIL b
|
||||
WHERE 1 =1
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a.LCTR_DIV_CD =#lctrDivCd#
|
||||
GROUP BY b.QUSTNR_TMPLAT_ID ,
|
||||
b.QESTNR_ID ,
|
||||
a.EDU_APLCT_ORD ,
|
||||
a.PRCS_ORD
|
||||
)
|
||||
aa ,
|
||||
lettnqestnrinfo bb
|
||||
WHERE 1 =1
|
||||
AND aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||
AND aa.qestnr_id =bb.qestnr_id
|
||||
AND bb.site_id_cd IN ($siteIdCd$)
|
||||
GROUP BY aa.edu_aplct_ord ,
|
||||
aa.prcs_ord
|
||||
)
|
||||
J
|
||||
ON (
|
||||
A.edu_aplct_ord = j.edu_aplct_ord
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN vea_prcs_aplct_prd_instr_asgnm D0
|
||||
ON (
|
||||
a.PRCS_ORD =D0.prcs_aplct_prd_ord
|
||||
AND d0.asgnm_aprvl_cd='30'
|
||||
/* 강사가 교육확정한 경우만 보여짐 */
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN VE_INSTR_DETAIL D
|
||||
ON (
|
||||
D0.user_id = D.USER_ID
|
||||
AND D.instr_div = #instrDiv#
|
||||
AND D.USE_YN = 'Y'
|
||||
)
|
||||
LEFT OUTER JOIN VE_LCTR_STNG E
|
||||
ON (
|
||||
D0.user_id = E.user_id
|
||||
AND E.instr_div = #instrDiv#
|
||||
AND E.USE_YN = 'Y'
|
||||
)
|
||||
|
||||
, I.qustnr_tmplat_id AS qustnrTmplatId
|
||||
, i.qestnr_id_10 AS qestnrId10
|
||||
, i.qestnr_id_20 AS qestnrId20
|
||||
, i.qestnr_id_30 AS qestnrId30
|
||||
|
||||
, j.cnt
|
||||
, j.sumScore
|
||||
, round(j.avgScore,1) avgScore
|
||||
|
||||
FROM
|
||||
VE_EDU_APLCT A
|
||||
, VE_EDU_CHASI B
|
||||
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 a.LCTR_DIV_CD =#lctrDivCd#
|
||||
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm D0
|
||||
ON (
|
||||
B.EDU_APLCT_ORD=D0.EDU_APLCT_ORD
|
||||
AND b.edu_chasi_ord=d0.edu_chasi_ord
|
||||
AND d0.asgnm_aprvl_cd='30' /* 강사가 교육확정한 경우만 보여짐 */
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN VE_INSTR_DETAIL D
|
||||
ON (
|
||||
D0.user_id = D.USER_ID
|
||||
AND D.instr_div = #instrDiv#
|
||||
AND D.USE_YN = 'Y'
|
||||
)
|
||||
LEFT OUTER JOIN VE_LCTR_STNG E
|
||||
ON (D0.user_id = E.user_id
|
||||
AND E.instr_div = #instrDiv#
|
||||
AND E.USE_YN = 'Y'
|
||||
)
|
||||
/*
|
||||
LEFT OUTER JOIN lettnqustnrrespondinfo F
|
||||
|
||||
ON (
|
||||
B.edu_aplct_ord = F.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = F.edu_chasi_ord
|
||||
)
|
||||
*/
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
/* 현재 응답한 설문 정보(기본, 선생님, 강사) */
|
||||
SELECT
|
||||
b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
|
||||
, max(decode(a.site_id_cd,'10',b.QUSTNR_RESPOND_ID)) AS QUSTNR_RESPOND_ID_10
|
||||
, max(decode(a.site_id_cd,'20',b.QUSTNR_RESPOND_ID)) AS QUSTNR_RESPOND_ID_20
|
||||
, max(decode(a.site_id_cd,'30',b.QUSTNR_RESPOND_ID)) AS QUSTNR_RESPOND_ID_30
|
||||
, max(b.qestnr_participant_count) AS QESTNR_PARTICIPANT_COUNT
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT a.EDU_APLCT_ORD
|
||||
, a.EDU_CHASI_ORD
|
||||
, b.QUSTNR_TMPLAT_ID
|
||||
, b.QESTNR_ID
|
||||
, b.QUSTNR_RESPOND_ID
|
||||
, b.qestnr_participant_count
|
||||
FROM ve_edu_chasi a
|
||||
, lettnqustnrrespondinfo b
|
||||
WHERE 1=1
|
||||
AND A.EDU_CHASI_ORD = #eduChasiOrd#
|
||||
AND A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = b.edu_chasi_ord
|
||||
) b
|
||||
, LETTNQESTNRINFO a
|
||||
WHERE a.QUSTNR_TMPLAT_ID =b.QUSTNR_TMPLAT_ID
|
||||
AND a.QESTNR_ID =b.QESTNR_ID
|
||||
AND a.site_id=#siteId#
|
||||
GROUP BY
|
||||
b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
|
||||
) F
|
||||
ON (
|
||||
B.edu_aplct_ord = F.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = F.edu_chasi_ord
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
/* 현재 응답한 설문 정보(기본, 선생님, 강사) */
|
||||
SELECT
|
||||
b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
|
||||
, COUNT(DECODE(a.site_id_cd,'10',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_10
|
||||
, COUNT(DECODE(a.site_id_cd,'20',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_20
|
||||
, COUNT(DECODE(a.site_id_cd,'30',b.QUSTNR_QESITM_ID)) AS QUSTNR_QESITM_ID_30
|
||||
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT a.EDU_APLCT_ORD
|
||||
, a.EDU_CHASI_ORD
|
||||
, b.QUSTNR_TMPLAT_ID
|
||||
, b.QESTNR_ID
|
||||
, b.QUSTNR_QESITM_ID
|
||||
/*
|
||||
, b.QUSTNR_RESPOND_ID
|
||||
*/
|
||||
FROM ve_edu_chasi a
|
||||
, LETTNQESTNRRSLTDETAIL b
|
||||
WHERE 1=1
|
||||
AND A.EDU_CHASI_ORD = #eduChasiOrd#
|
||||
AND A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = b.edu_chasi_ord
|
||||
) b
|
||||
, LETTNQESTNRINFO a
|
||||
WHERE a.QUSTNR_TMPLAT_ID =b.QUSTNR_TMPLAT_ID
|
||||
AND a.QESTNR_ID =b.QESTNR_ID
|
||||
AND a.site_id=#siteId#
|
||||
GROUP BY
|
||||
b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
|
||||
) F0
|
||||
ON (
|
||||
B.edu_aplct_ord = F0.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = F0.edu_chasi_ord
|
||||
)
|
||||
|
||||
/*
|
||||
LEFT OUTER JOIN ve_acmdt_aplct G
|
||||
ON (
|
||||
B.edu_aplct_ord = g.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = g.edu_chasi_ord
|
||||
)
|
||||
*/
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
SELECT b00.*
|
||||
FROM (
|
||||
SELECT edu_aplct_ord, edu_chasi_ord, MAX(acmdt_aplct_ord) AS acmdt_aplct_ord
|
||||
FROM ve_acmdt_aplct
|
||||
WHERE sbmt_yn='Y'
|
||||
AND use_yn='Y'
|
||||
GROUP BY edu_aplct_ord, edu_chasi_ord
|
||||
) a00
|
||||
, ve_acmdt_aplct b00
|
||||
WHERE 1=1
|
||||
AND a00.edu_aplct_ord=b00.edu_aplct_ord
|
||||
AND a00.edu_chasi_ord=b00.edu_chasi_ord
|
||||
AND a00.acmdt_aplct_ord=b00.acmdt_aplct_ord
|
||||
) G
|
||||
ON (
|
||||
B.edu_aplct_ord = g.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = g.edu_chasi_ord
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN ve_edu_instr_dstnc H
|
||||
ON (
|
||||
B.edu_aplct_ord = h.edu_aplct_ord
|
||||
AND D0.user_id = h.user_id
|
||||
)
|
||||
|
||||
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)
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
SELECT aa.edu_aplct_ord
|
||||
, aa.edu_chasi_ord
|
||||
, sum(aa.cnt) cnt
|
||||
, sum(aa.cnt*aa.avgscore) sumScore
|
||||
, sum(aa.cnt*aa.avgscore)/sum(aa.cnt) AS avgScore
|
||||
FROM (
|
||||
SELECT b.QUSTNR_TMPLAT_ID
|
||||
, b.QESTNR_ID
|
||||
, b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
, sum(
|
||||
b.VERY_SATISFIED + b.SATISFIED + b.NEITHER + b.DISSATISFIED + b.VERY_DISSATISFIED
|
||||
) cnt
|
||||
|
||||
, (
|
||||
sum(b.VERY_SATISFIED*100) + sum(b.SATISFIED*80) + sum(b.NEITHER*60) + sum(b.DISSATISFIED*40) + sum(b.VERY_DISSATISFIED*20)
|
||||
)
|
||||
/
|
||||
sum(
|
||||
b.VERY_SATISFIED + b.SATISFIED + b.NEITHER + b.DISSATISFIED + b.VERY_DISSATISFIED
|
||||
) AS avgScore
|
||||
FROM ve_edu_chasi a ,
|
||||
LETTNQESTNRRSLTDETAIL b
|
||||
WHERE 1 =1
|
||||
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||
AND a.edu_chasi_ord = b.edu_chasi_ord
|
||||
GROUP BY b.QUSTNR_TMPLAT_ID
|
||||
, b.QESTNR_ID
|
||||
, b.EDU_APLCT_ORD
|
||||
, b.EDU_CHASI_ORD
|
||||
)aa
|
||||
, lettnqestnrinfo bb
|
||||
WHERE 1=1
|
||||
AND aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||
AND aa.qestnr_id=bb.qestnr_id
|
||||
AND bb.site_id_cd IN ($siteIdCd$)
|
||||
GROUP BY aa.edu_aplct_ord
|
||||
, aa.edu_chasi_ord
|
||||
|
||||
) J
|
||||
ON (
|
||||
B.edu_aplct_ord = j.edu_aplct_ord
|
||||
AND B.edu_chasi_ord = j.edu_chasi_ord
|
||||
)
|
||||
|
||||
WHERE 1=1
|
||||
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||
AND A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
|
||||
|
||||
<isNotEmpty property="eduAplctOrd">
|
||||
AND A.EDU_APLCT_ORD = #eduAplctOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="eduChasiOrd">
|
||||
AND B.EDU_CHASI_ORD = #eduChasiOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND A.LCTR_DIV_CD = #lctrDivCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="aprvlCd">
|
||||
AND A.APRVL_CD=#aprvlCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="userId">
|
||||
AND A.USER_ID = #userId#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchStartDt">
|
||||
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndDt">
|
||||
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||
</isNotEmpty>
|
||||
|
||||
ORDER BY 1
|
||||
<isEmpty property="orderByQuery">
|
||||
, A.EDU_APLCT_ORD DESC
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
|
||||
<isNotEqual property="pageIndex" compareValue="0">
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
</isNotEqual>
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_ord = #prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
)aaa
|
||||
GROUP BY aaa.prcsAplctPrdOrd
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 청소년 차시별 동반강사 리스트 page -->
|
||||
|
||||
@ -279,6 +279,57 @@
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강사설문</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.qustnrRespondId30 and list.qestnrParticipantCnt gt 0 and list.qustnrQesitmId30Cnt gt 0}">
|
||||
<button type="button" class="btnType02 m_btn_block" data-tooltip="sub37_pop30"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','30','select'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId30}','${list.qustnrRespondId30}'
|
||||
)" title="팝업 열림" style="height:40px;width:120px;">설문완료</button>
|
||||
</c:when>
|
||||
<c:when test="${not empty list.qestnrId30}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop30"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','30','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId30}','${list.qustnrRespondId30}'
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
해당설문없음
|
||||
<!--
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','20','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId20}','${list.qustnrRespondId20}'
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
-->
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의평균만족도</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.avgScore}">
|
||||
<c:out value="${list.avgScore}" />점
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
등록된 설문없음
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@ -255,6 +255,57 @@
|
||||
</th>
|
||||
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
|
||||
</tr>
|
||||
|
||||
<c:forEach var="list" items="${chasiList}" varStatus="status">
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강사설문</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.qustnrRespondId30 and list.qestnrParticipantCnt gt 0 and list.qustnrQesitmId30Cnt gt 0}">
|
||||
<button type="button" class="btnType02 m_btn_block" data-tooltip="sub37_pop30"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','30','select'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId30}','${list.qustnrRespondId30}'
|
||||
)" title="팝업 열림" style="height:40px;width:120px;">설문완료</button>
|
||||
</c:when>
|
||||
<c:when test="${not empty list.qestnrId30}">
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop30"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','30','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId30}','${list.qustnrRespondId30}'
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
해당설문없음
|
||||
<!--
|
||||
<button type="button" class="btnType01" data-tooltip="sub37_pop20"
|
||||
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','20','insert'
|
||||
,'${list.qustnrTmplatId}','${list.qestnrId20}','${list.qustnrRespondId20}'
|
||||
)" title="팝업 열림">설문등록</button>
|
||||
-->
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>강의평균만족도</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.avgScore}">
|
||||
<c:out value="${list.avgScore}" />점
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
등록된 설문없음
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user