2024-01-19 15:17 청소년 강사만족도 다운로드 수정
This commit is contained in:
parent
df49a0bbce
commit
14260c93e2
@ -24,6 +24,15 @@ public class VEEduSatisfactionExcelVO {
|
||||
|
||||
private String srt; //정렬순서
|
||||
|
||||
private String qestnSn; //정렬순서
|
||||
private String qestnCn; //정렬순서
|
||||
private String verySatisfied; //정렬순서
|
||||
private String satisfied; //정렬순서
|
||||
private String neither; //정렬순서
|
||||
private String disSatisfied; //정렬순서
|
||||
private String veryDisSatisfied; //정렬순서
|
||||
|
||||
|
||||
public String getEduHopeDt() {
|
||||
return eduHopeDt;
|
||||
}
|
||||
@ -152,4 +161,60 @@ public class VEEduSatisfactionExcelVO {
|
||||
this.srt = srt;
|
||||
}
|
||||
|
||||
public String getQestnSn() {
|
||||
return qestnSn;
|
||||
}
|
||||
|
||||
public void setQestnSn(String qestnSn) {
|
||||
this.qestnSn = qestnSn;
|
||||
}
|
||||
|
||||
public String getQestnCn() {
|
||||
return qestnCn;
|
||||
}
|
||||
|
||||
public void setQestnCn(String qestnCn) {
|
||||
this.qestnCn = qestnCn;
|
||||
}
|
||||
|
||||
public String getVerySatisfied() {
|
||||
return verySatisfied;
|
||||
}
|
||||
|
||||
public void setVerySatisfied(String verySatisfied) {
|
||||
this.verySatisfied = verySatisfied;
|
||||
}
|
||||
|
||||
public String getSatisfied() {
|
||||
return satisfied;
|
||||
}
|
||||
|
||||
public void setSatisfied(String satisfied) {
|
||||
this.satisfied = satisfied;
|
||||
}
|
||||
|
||||
public String getNeither() {
|
||||
return neither;
|
||||
}
|
||||
|
||||
public void setNeither(String neither) {
|
||||
this.neither = neither;
|
||||
}
|
||||
|
||||
public String getDisSatisfied() {
|
||||
return disSatisfied;
|
||||
}
|
||||
|
||||
public void setDisSatisfied(String disSatisfied) {
|
||||
this.disSatisfied = disSatisfied;
|
||||
}
|
||||
|
||||
public String getVeryDisSatisfied() {
|
||||
return veryDisSatisfied;
|
||||
}
|
||||
|
||||
public void setVeryDisSatisfied(String veryDisSatisfied) {
|
||||
this.veryDisSatisfied = veryDisSatisfied;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -165,6 +165,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
private List<String> eduAplctOrdList; //교육신청순번
|
||||
private List<String> sspnIdtmtTrgtOrdList; //교육신청순번
|
||||
|
||||
private String siteIdCd; //10-학생, 20-선생, 30-강사
|
||||
|
||||
public int getChasi() {
|
||||
return chasi;
|
||||
}
|
||||
@ -2058,6 +2060,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setMberId(String mberId) {
|
||||
this.mberId = mberId;
|
||||
}
|
||||
public String getSiteIdCd() {
|
||||
return siteIdCd;
|
||||
}
|
||||
public void setSiteIdCd(String siteIdCd) {
|
||||
this.siteIdCd = siteIdCd;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -69,6 +69,8 @@ public interface VEEduMIXService {
|
||||
|
||||
List<VEEduSatisfactionExcelVO> selectSatisfactionExcelList(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
|
||||
List<VEEduSatisfactionExcelVO> selectSatisfaction202401ExcelList(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
|
||||
List<VEEduExcelVO> selectOprtnExcelList(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
|
||||
void insertExprnClsrmEndInfo(VEEduAplctVO vEEduAplctVO) throws Exception;
|
||||
|
||||
@ -173,6 +173,12 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEEduSatisfactionExcelVO> selectSatisfaction202401ExcelList(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEEduSatisfactionExcelVO> tlist = (List<VEEduSatisfactionExcelVO>) list("VEEduMIXDAO.selectSatisfaction202401ExcelList", vEEduAplctVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEEduExcelVO> selectOprtnExcelList(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEEduExcelVO> tlist = (List<VEEduExcelVO>) list("VEEduMIXDAO.selectOprtnExcelList", vEEduAplctVO);
|
||||
|
||||
@ -146,6 +146,11 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
|
||||
return vEEduMIXDAO.selectSatisfactionExcelList(vEEduAplctVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEEduSatisfactionExcelVO> selectSatisfaction202401ExcelList(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
return vEEduMIXDAO.selectSatisfaction202401ExcelList(vEEduAplctVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEEduExcelVO> selectOprtnExcelList(VEEduAplctVO vEEduAplctVO) throws Exception {
|
||||
return vEEduMIXDAO.selectOprtnExcelList(vEEduAplctVO);
|
||||
|
||||
@ -1671,6 +1671,67 @@ public class EduRsltMngTngrController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
//강사만족도 excel download
|
||||
@SuppressWarnings("rawtypes")
|
||||
@RequestMapping(value = "eduRsltSatisfaction202401ExcelDownLoad.do")
|
||||
public ModelAndView eduRsltSatisfaction202401ExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception {
|
||||
|
||||
try {
|
||||
// 요청, 반려건
|
||||
vEEduAplctVO.setSearchNotStatusArr(new String[]{"60"});
|
||||
// 청소년
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
|
||||
vEEduAplctVO.setMode(VeConstants.MODE_EXCEL);
|
||||
vEEduAplctVO.setSiteId("10");
|
||||
vEEduAplctVO.setSiteIdCd("10");
|
||||
vEEduAplctVO.setInstrDiv("10");
|
||||
List<VEEduSatisfactionExcelVO> list = vEEduMIXService.selectSatisfaction202401ExcelList(vEEduAplctVO);
|
||||
|
||||
// 복호화
|
||||
list = egovCryptoUtil.decryptVEEduSatisfactionExcelVOList(list);
|
||||
|
||||
System.out.println("out-list-2");
|
||||
|
||||
|
||||
List<Object> excelData = new ArrayList<>();
|
||||
excelData.addAll(list);
|
||||
|
||||
|
||||
// 세팅값
|
||||
String title = "청소년 찾아가는 저작권 교육 강사만족도";
|
||||
int[] width = {
|
||||
4000, 4000, 4000, 4000, 4000
|
||||
, 4000, 4000, 4000, 4000, 4000
|
||||
}; // 너비
|
||||
|
||||
//33개 항목
|
||||
String[] header = {
|
||||
"교육일자", "학교명", "강사명", "순번", "질문"
|
||||
, "매우만족", "만족", "보통", "불만족", "매우불만족"
|
||||
};
|
||||
|
||||
String[] order = {
|
||||
"EduHopeDt", "ScholInsttNm", "InstrNm", "QestnSn", "QestnCn"
|
||||
, "VerySatisfied", "Satisfied", "Neither", "DisSatisfied", "VeryDisSatisfied"
|
||||
};
|
||||
|
||||
// 호출
|
||||
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title);
|
||||
model.addAttribute("locale", Locale.KOREA);
|
||||
model.addAttribute("workbook", workbook);
|
||||
model.addAttribute("workbookName", title);
|
||||
|
||||
}catch(Exception ep) {
|
||||
ep.getStackTrace();
|
||||
}
|
||||
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("excelDownloadView");
|
||||
modelAndView.addObject(model);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육설문 삭제 - 청소년, 성인 공통 - 사용자 개인별 만족도 등록자 삭제
|
||||
*/
|
||||
|
||||
@ -6516,6 +6516,451 @@ VALUES
|
||||
, srt
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사만족도 excel-->
|
||||
<select id="VEEduMIXDAO.selectSatisfaction202401ExcelList" parameterClass="VEEduAplctVO" resultClass="VEEduSatisfactionExcelVO">
|
||||
/* VEEduMIXDAO.selectSatisfaction202401ExcelList */
|
||||
|
||||
|
||||
SELECT
|
||||
AA.*,
|
||||
NVL(BB.qustnrRsltCnt,0) AS qustnrRsltCnt ,
|
||||
2
|
||||
|
||||
, cc.qestn_sn AS qestnSn
|
||||
, cc.qestn_ty_code AS qestnTyCode
|
||||
, cc.qestn_cn AS qestnCn
|
||||
|
||||
, cc.verySatisfied
|
||||
, cc.satisfied
|
||||
, cc.neither
|
||||
, cc.dissatisfied
|
||||
, cc.veryDissatisfied
|
||||
|
||||
FROM (
|
||||
SELECT
|
||||
a.edu_aplct_ord AS eduAplctOrd ,
|
||||
TO_CHAR(a.aprvl_pnttm,'YYYY-MM-DD') AS aprvlPnttm ,
|
||||
a.edu_slct_cd AS eduSlctCd ,
|
||||
a.edu_slct_area_cd AS eduSlctAreaCd ,
|
||||
a.schol_instt_nm AS scholInsttNm ,
|
||||
a.instt_div_cd AS insttDivCd ,
|
||||
a.instt_nm AS insttNm ,
|
||||
a.addr AS addr ,
|
||||
a.strt_oprtn_dt AS strtOprtnDt ,
|
||||
a.end_oprtn_dt AS endOprtnDt ,
|
||||
a.chrg_nm AS chrgNm ,
|
||||
a.schol_div_cd AS scholDivCd ,
|
||||
a.stndrd_schol_cd AS stndrdScholCd ,
|
||||
a.edu_trgt AS eduTrgt ,
|
||||
a.clphone AS clphone ,
|
||||
a.email AS email ,
|
||||
a.hope_sbjct AS hopeSbjct,
|
||||
a.phone AS phone,
|
||||
a.edu_md AS eduMd,
|
||||
a.edu_md_cd AS eduMdCd,
|
||||
b.edu_chasi_ord AS eduChasiOrd ,
|
||||
b.lrn_tm AS lrnTm ,
|
||||
b.edu_hope_dt AS eduHopeDt ,
|
||||
b.instr_cnfrm_cd AS instrCnfrmCd ,
|
||||
b.strt_tm AS strtTm ,
|
||||
b.end_tm AS endTm ,
|
||||
b.trgt AS trgt ,
|
||||
b.prsnl AS eduPrsnl ,
|
||||
b.div_cd AS lctrDivCd ,
|
||||
NVL(b.chasi, 0) AS chasi,
|
||||
c.sbmt_yn AS sbmtYn ,
|
||||
d.user_id AS userId ,
|
||||
d.asgnm_aprvl_cd AS asgnmAprvlCd,
|
||||
e.instr_nm AS instrNm,
|
||||
e.phone AS instrPhone,
|
||||
e.email AS instrEmail,
|
||||
e.appt_div AS apptDiv,
|
||||
g.atch_file_id AS atchFileId,
|
||||
g.APRVL_CD AS acmdtAprvlCd,
|
||||
d.rmrks AS rmrks,
|
||||
c.atch_file_id AS rprtAtchFileId,
|
||||
(select
|
||||
count(1)
|
||||
from
|
||||
ve_edu_rslt_rprt
|
||||
where 1=1
|
||||
AND edu_aplct_ord = a.edu_aplct_ord
|
||||
AND edu_chasi_ord = b.edu_chasi_ord
|
||||
AND frst_register_id = d.user_id
|
||||
AND sbmt_yn = 'Y') as cnt
|
||||
<isEqual property="asgnmAprvlCd" compareValue="30">
|
||||
,
|
||||
f.sbmt_yn AS feeSbmtYn,
|
||||
f.aprvl_cd AS feeAprvlCd,
|
||||
|
||||
NVL(TO_NUMBER(IF(f.instr_fee='',0,f.instr_fee)),0)
|
||||
+ NVL(TO_NUMBER(IF(f.bsns_trip_fee='',0,f.bsns_trip_fee)),0)
|
||||
+ NVL(TO_NUMBER(IF(f.spare_fee='',0,f.spare_fee)),0)
|
||||
+ NVL(TO_NUMBER(IF(f.special_work_allow='',0,f.special_work_allow)),0)
|
||||
+ NVL(TO_NUMBER(IF(f.distance_allow='',0,f.distance_allow)),0)
|
||||
+ NVL(TO_NUMBER(IF(f.traffic_fee='',0,f.traffic_fee)),0)
|
||||
- NVL(TO_NUMBER(IF(f.income_tax='',0,f.income_tax)),0)
|
||||
- NVL(TO_NUMBER(IF(f.local_income_tax='',0,f.local_income_tax)),0)
|
||||
AS totFee
|
||||
</isEqual>
|
||||
, (
|
||||
SELECT COUNT(1)
|
||||
FROM ve_new_noti e
|
||||
WHERE (b.edu_aplct_ord = e.tbl_uniq_ord OR b.edu_chasi_ord = e.tbl_uniq_ord)
|
||||
AND e.menu_no = #menuNo#
|
||||
AND e.frst_register_id = #notiUserId#
|
||||
)
|
||||
AS notiCnt
|
||||
, h.oneway_dstnc AS onewayDstnc
|
||||
,NVL((
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
ve_instr a
|
||||
INNER JOIN ve_instr_detail e
|
||||
ON (
|
||||
a.user_id = e.user_id
|
||||
AND e.use_yn = 'Y'
|
||||
AND e.instr_div = '10'
|
||||
)
|
||||
INNER JOIN ve_edu_chasi_instr_asgnm_hstry i
|
||||
ON(
|
||||
/* 추가 강사 인원은 선정완료(20), 선정제외(30), 강의신청(50) 모두 나와야 한다. */
|
||||
e.user_id = i.user_id
|
||||
|
||||
AND i.hstry_cd in ('20', '30', '50')
|
||||
/*
|
||||
AND i.hstry_cd in ('50')
|
||||
*/
|
||||
)
|
||||
WHERE 1=1
|
||||
AND e.instr_div ='10'
|
||||
AND b.edu_aplct_ord = i.edu_aplct_ord
|
||||
AND b.edu_chasi_ord = i.edu_chasi_ord
|
||||
GROUP BY i.edu_aplct_ord , i.edu_chasi_ord
|
||||
),0) AS rowNo
|
||||
, e.rsdne as rsdne
|
||||
, o.vea_rslt_rprt_ord AS veaRsltRprtOrd
|
||||
FROM ve_edu_aplct a
|
||||
, ve_edu_chasi b
|
||||
|
||||
LEFT OUTER JOIN ve_edu_rslt_rprt c
|
||||
ON( b.edu_aplct_ord=c.edu_aplct_ord
|
||||
AND b.edu_chasi_ord=c.edu_chasi_ord)
|
||||
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm d
|
||||
ON( b.edu_aplct_ord=d.edu_aplct_ord
|
||||
AND b.edu_chasi_ord=d.edu_chasi_ord)
|
||||
<isNotEmpty property="searchTableJoin">
|
||||
<isEqual property="searchTableJoin" compareValue="tngrResult">
|
||||
INNER JOIN ve_instr_detail e
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isEmpty property="searchTableJoin">
|
||||
LEFT OUTER JOIN ve_instr_detail e
|
||||
</isEmpty>
|
||||
ON( d.user_id=e.user_id
|
||||
AND e.instr_div=#instrDiv#
|
||||
AND e.use_yn='Y'
|
||||
)
|
||||
<isEqual property="asgnmAprvlCd" compareValue="30">
|
||||
LEFT OUTER JOIN ve_instr_fee f
|
||||
ON( b.edu_aplct_ord = f.edu_aplct_ord
|
||||
AND b.edu_chasi_ord = f.edu_chasi_ord
|
||||
)
|
||||
</isEqual>
|
||||
/*
|
||||
LEFT OUTER JOIN ve_acmdt_aplct g
|
||||
*/
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
SELECT B00.*
|
||||
FROM (
|
||||
SELECT edu_aplct_ord, edu_chasi_ord, MAX(acmdt_aplct_ord) acmdt_aplct_ord
|
||||
FROM ve_acmdt_aplct
|
||||
GROUP BY edu_aplct_ord, edu_chasi_ord
|
||||
)A00
|
||||
, ve_acmdt_aplct B00
|
||||
WHERE 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 d.user_id = h.user_id
|
||||
LEFT OUTER JOIN vea_rslt_rprt o
|
||||
ON b.edu_aplct_ord = o.edu_aplct_ord
|
||||
WHERE 1=1
|
||||
AND a.edu_aplct_ord=b.edu_aplct_ord
|
||||
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.LCTR_DIV_CD = #lctrDivCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="aprvlCd">
|
||||
AND a.aprvl_cd = #aprvlCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="instrCnfrmCd">
|
||||
AND b.instr_cnfrm_cd = #instrCnfrmCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchInsttDivCd">
|
||||
AND a.instt_div_cd = #searchInsttDivCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchEduSlctCd">
|
||||
AND a.edu_slct_cd = #searchEduSlctCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="feeSbmtYn">
|
||||
AND f.sbmt_yn = #feeSbmtYn#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchAsgnmAprvlCd">
|
||||
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||
AND d.asgnm_aprvl_cd is null
|
||||
</isEqual>
|
||||
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||
AND d.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
|
||||
</isNotEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchStartDt">
|
||||
/*
|
||||
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(searchStartDt, '.' , '')
|
||||
*/
|
||||
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> #searchStartDt#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchEndDt">
|
||||
/*
|
||||
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(searchEndDt, '.' , '')
|
||||
*/
|
||||
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> #searchEndDt#
|
||||
</isNotEmpty>
|
||||
|
||||
<isEmpty property="searchStartDt">
|
||||
<isEmpty property="searchEndDt">
|
||||
AND 1=1
|
||||
</isEmpty>
|
||||
</isEmpty>
|
||||
) AA
|
||||
|
||||
,
|
||||
(
|
||||
SELECT b0.EDU_APLCT_ORD
|
||||
, b0.EDU_CHASI_ORD
|
||||
, count(*) qustnrRsltCnt
|
||||
FROM LETTNQESTNRRSLTDETAIL b0
|
||||
GROUP BY b0.EDU_APLCT_ORD
|
||||
, b0.EDU_CHASI_ORD
|
||||
)bb
|
||||
,(
|
||||
|
||||
SELECT
|
||||
b.QUSTNR_QESITM_ID AS qestnrQesitmId
|
||||
, c.QUSTNR_RSLT_ID AS qustnrRsltId
|
||||
|
||||
, NVL(c.VERY_SATISFIED, cVERY_SATISFIED) AS verySatisfied
|
||||
, NVL(c.SATISFIED, cSATISFIED) AS satisfied
|
||||
, NVL(c.NEITHER, cNEITHER) AS neither
|
||||
, NVL(c.DISSATISFIED, cDISSATISFIED) AS dissatisfied
|
||||
, NVL(c.VERY_DISSATISFIED, cVERY_DISSATISFIED) AS veryDissatisfied
|
||||
, c.ANSWER AS answer
|
||||
, c.QUSTNR_IEM_ID AS qustnrIemId
|
||||
|
||||
|
||||
, b.qestn_sn AS qestnSn
|
||||
|
||||
, e.QESTNR_RESPONDENT_COUNT AS qestnrParticipant
|
||||
, e.QESTNR_PARTICIPANT_COUNT AS qestnrRespondent
|
||||
, d.QUSTNR_RESPOND_ID AS qestnrRespondId
|
||||
|
||||
, g.qestn_sn
|
||||
, g.qestn_ty_code
|
||||
, g.qestn_cn
|
||||
|
||||
, c.EDU_APLCT_ORD
|
||||
, c.EDU_CHASI_ORD
|
||||
|
||||
|
||||
FROM LETTNQESTNRINFO a
|
||||
, LETTNQUSTNRQESITM b
|
||||
LEFT OUTER join LETTNQESTNRRSLTDetail c
|
||||
on(
|
||||
b.QUSTNR_TMPLAT_ID =c.QUSTNR_TMPLAT_ID
|
||||
AND b.QESTNR_ID =c.QESTNR_ID
|
||||
AND b.QUSTNR_QESITM_ID =c.QUSTNR_QESITM_ID
|
||||
|
||||
|
||||
)
|
||||
|
||||
/* 중복답변 처리 */
|
||||
LEFT OUTER JOIN (
|
||||
SELECT d0.QUSTNR_TMPLAT_ID
|
||||
, d0.QESTNR_ID
|
||||
, d0.EDU_APLCT_ORD
|
||||
, d0.EDU_CHASI_ORD
|
||||
, MAX(d0.QUSTNR_RESPOND_ID) AS QUSTNR_RESPOND_ID
|
||||
FROM LETTNQUSTNRRESPONDINFO d0
|
||||
GROUP BY d0.QUSTNR_TMPLAT_ID
|
||||
, d0.QESTNR_ID
|
||||
, d0.EDU_APLCT_ORD
|
||||
, d0.EDU_CHASI_ORD
|
||||
) d
|
||||
ON (
|
||||
c.QESTNR_ID = d.QESTNR_ID
|
||||
AND c.EDU_APLCT_ORD = d.EDU_APLCT_ORD
|
||||
AND c.EDU_CHASI_ORD = d.EDU_CHASI_ORD
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN LETTNQUSTNRRESPONDINFO e
|
||||
on
|
||||
(
|
||||
d.QUSTNR_TMPLAT_ID =e.QUSTNR_TMPLAT_ID
|
||||
AND d.QESTNR_ID =e.QESTNR_ID
|
||||
AND d.QUSTNR_RESPOND_ID =e.QUSTNR_RESPOND_ID
|
||||
AND d.EDU_APLCT_ORD = e.EDU_APLCT_ORD
|
||||
AND d.EDU_CHASI_ORD = e.EDU_CHASI_ORD
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
|
||||
SELECT
|
||||
c.QUSTNR_TMPLAT_ID
|
||||
, c.QESTNR_ID
|
||||
, c.QUSTNR_QESITM_ID
|
||||
, c.EDU_APLCT_ORD
|
||||
, c.EDU_CHASI_ORD
|
||||
|
||||
, sum(c.very_satisfied) AS cvery_satisfied
|
||||
, sum(c.satisfied) AS csatisfied
|
||||
, sum(c.neither) AS cneither
|
||||
, sum(c.dissatisfied) AS cdissatisfied
|
||||
, sum(c.very_dissatisfied) AS cvery_dissatisfied
|
||||
|
||||
FROM LETTNQESTNRRSLTEADetail c
|
||||
GROUP BY
|
||||
c.QUSTNR_TMPLAT_ID
|
||||
, c.QESTNR_ID
|
||||
, c.QUSTNR_QESITM_ID
|
||||
, c.EDU_APLCT_ORD
|
||||
, c.EDU_CHASI_ORD
|
||||
|
||||
|
||||
)F
|
||||
on(
|
||||
b.QUSTNR_TMPLAT_ID =f.QUSTNR_TMPLAT_ID
|
||||
AND b.QESTNR_ID =f.QESTNR_ID
|
||||
AND b.QUSTNR_QESITM_ID =f.QUSTNR_QESITM_ID
|
||||
|
||||
)
|
||||
|
||||
, LETTNQUSTNRQESITM G
|
||||
|
||||
WHERE a.site_id=#siteId#
|
||||
AND a.SITE_ID_CD =#siteIdCd#
|
||||
AND b.QUSTNR_TMPLAT_ID =a.QUSTNR_TMPLAT_ID
|
||||
AND b.QESTNR_ID =a.QESTNR_ID
|
||||
AND b.QUSTNR_QESITM_ID = g.QUSTNR_QESITM_ID
|
||||
|
||||
)cc
|
||||
|
||||
|
||||
WHERE 1=1
|
||||
AND aa.eduAplctOrd = bb.edu_aplct_ord
|
||||
AND aa.eduChasiOrd = bb.edu_chasi_ord
|
||||
|
||||
AND aa.eduAplctOrd = cc.edu_aplct_ord
|
||||
AND aa.eduChasiOrd = cc.edu_chasi_ord
|
||||
|
||||
|
||||
<isNotEmpty property="checkListQuery">
|
||||
$checkListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="selectRsdneQuery">
|
||||
$selectRsdneQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
<isEqual property="searchSubmitYn" compareValue="Y">
|
||||
AND AA.CNT <![CDATA[ >= ]]> 1
|
||||
</isEqual>
|
||||
<isEqual property="searchSubmitYn" compareValue="N">
|
||||
AND AA.CNT = 0
|
||||
</isEqual>
|
||||
<isNotEmpty property="searchScholDivCd">
|
||||
AND AA.scholDivCd = #searchScholDivCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchEduSlctAreaCd">
|
||||
AND (
|
||||
(
|
||||
AA.eduSlctAreaCd = #searchEduSlctAreaCd#
|
||||
AND AA.eduSlctCd = '20'
|
||||
)
|
||||
OR
|
||||
(
|
||||
'400' = #searchEduSlctAreaCd#
|
||||
AND AA.eduSlctCd = '10'
|
||||
)
|
||||
)
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchScholNm">
|
||||
AND AA.scholInsttNm LIKE '%' || #searchScholNm# || '%'
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchInsttNm">
|
||||
AND AA.insttNm LIKE '%' || #searchInsttNm# || '%'
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchInstrNm">
|
||||
AND AA.instrNm LIKE '%' || #searchInstrNm# || '%'
|
||||
</isNotEmpty>
|
||||
<isEmpty property="searchCondition">
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND (
|
||||
A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%' OR
|
||||
A.INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||
)
|
||||
</isNotEmpty>
|
||||
</isEmpty>
|
||||
<isNotEmpty property="searchKeyword">
|
||||
<isEqual property="searchCondition" compareValue="0">
|
||||
AND (AA.scholInsttNm LIKE '%' || #searchKeyword# || '%' OR AA.instrNm LIKE '%' || #instrNm# || '%')
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="1">
|
||||
AND AA.scholInsttNm LIKE '%' || #searchKeyword# || '%'
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
AND AA.instrNm LIKE '%' || #instrNm# || '%'
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="3">
|
||||
AND (AA.insttNm LIKE '%' || #searchKeyword# || '%' OR AA.instrNm LIKE '%' || #searchKeyword# || '%')
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="4">
|
||||
AND AA.insttNm LIKE '%' || #searchKeyword# || '%'
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, eduhopedt
|
||||
, scholinsttnm
|
||||
, cc.edu_chasi_ord
|
||||
, cc.qestnSn
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<insert id="VEEduMIXDAO.updateRsltRprtFileIdNull" parameterClass="VEEduAplctVO">
|
||||
|
||||
@ -213,8 +213,8 @@
|
||||
d.QUSTNR_TMPLAT_ID =e.QUSTNR_TMPLAT_ID
|
||||
AND d.QESTNR_ID =e.QESTNR_ID
|
||||
AND d.QUSTNR_RESPOND_ID =e.QUSTNR_RESPOND_ID
|
||||
AND d.EDU_APLCT_ORD = d.EDU_APLCT_ORD
|
||||
AND d.EDU_CHASI_ORD = d.EDU_CHASI_ORD
|
||||
AND d.EDU_APLCT_ORD = e.EDU_APLCT_ORD
|
||||
AND d.EDU_CHASI_ORD = e.EDU_CHASI_ORD
|
||||
)
|
||||
|
||||
LEFT OUTER JOIN (
|
||||
|
||||
@ -279,6 +279,12 @@
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncSatisfaction202401ExcelDownLoad(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduRsltSatisfaction202401ExcelDownLoad.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
//숙박영수증 첨부파일 일괄 다운로드(zip) - 파일ID 다름, SN 동일 : type A
|
||||
function fnAcmdtFileZipDownload(){
|
||||
var frm = document.listForm;
|
||||
@ -546,7 +552,7 @@
|
||||
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
<button type="button" class="btn_type06" onclick="fncSatisfactionExcelDownLoad();return false;">강사만족도다운로드</button>
|
||||
<button type="button" class="btn_type06" onclick="fncSatisfaction202401ExcelDownLoad();return false;">강사만족도다운로드</button>
|
||||
(*교육일자 조건만 지원)
|
||||
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user