From f0ae15bff13f3dbe3d4b2d2449656c3ad5d9843f Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 19 Dec 2023 18:04:38 +0900 Subject: [PATCH] =?UTF-8?q?2023-12-19=2018:04=20=EC=8B=A4=EB=AC=B4?= =?UTF-8?q?=EC=97=AD=EB=9F=89=EA=B0=95=ED=99=94=20=EB=82=B4=EC=9A=A9=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kcc/let/my/web/MyPageController.java | 5 +- .../prcsInfo/service/VEPrcsDetailVO.java | 52 ++++ .../sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml | 1 + .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 79 ++++++ .../qustnr/VEALettnQestnrMIX_SQL_Tibero.xml | 1 + .../fndthEduPrcsAplctCfnMngDetail.jsp | 18 ++ .../jsp/uss/olp/qmc/UserQustnrManageList.jsp | 3 +- .../qqm/UserItnQustnrQestnManageRegist.jsp | 2 + .../WEB-INF/jsp/web/my/myPageDashBoard.jsp | 2 +- .../jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp | 242 ++++++++++++++++-- 10 files changed, 383 insertions(+), 22 deletions(-) diff --git a/src/main/java/kcc/let/my/web/MyPageController.java b/src/main/java/kcc/let/my/web/MyPageController.java index d4088542..dcb1dc98 100644 --- a/src/main/java/kcc/let/my/web/MyPageController.java +++ b/src/main/java/kcc/let/my/web/MyPageController.java @@ -1,5 +1,6 @@ package kcc.let.my.web; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -226,7 +227,7 @@ public class MyPageController { vEPrcsDetailVO.setRecordCountPerPage(1000000); vEPrcsDetailVO.setFirstIndex(0); - /* + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); // 요청 long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count(); @@ -241,7 +242,7 @@ public class MyPageController { model.addAttribute("fndtnMap", fndtnMap); model.addAttribute("fndtnList", vEPrcsDetailVOList); - */ + //신청중, 수강중, 종료된 수량 Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 37ca8f24..bf775b54 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -189,9 +189,61 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String instrFee; // private String trafficFee; // + + private String qustnrQesitmId10Cnt; + private String qustnrQesitmId20Cnt; + private String qustnrQesitmId30Cnt; + + private String qestnrId10; + private String qestnrId20; + private String qestnrId30; + + private String eduPrcsOrd; + public String getEduPrcsOrd() { + return eduPrcsOrd; + } + public void setEduPrcsOrd(String eduPrcsOrd) { + this.eduPrcsOrd = eduPrcsOrd; + } + public String getQustnrQesitmId10Cnt() { + return qustnrQesitmId10Cnt; + } + public void setQustnrQesitmId10Cnt(String qustnrQesitmId10Cnt) { + this.qustnrQesitmId10Cnt = qustnrQesitmId10Cnt; + } + public String getQustnrQesitmId20Cnt() { + return qustnrQesitmId20Cnt; + } + public void setQustnrQesitmId20Cnt(String qustnrQesitmId20Cnt) { + this.qustnrQesitmId20Cnt = qustnrQesitmId20Cnt; + } + public String getQustnrQesitmId30Cnt() { + return qustnrQesitmId30Cnt; + } + public void setQustnrQesitmId30Cnt(String qustnrQesitmId30Cnt) { + this.qustnrQesitmId30Cnt = qustnrQesitmId30Cnt; + } + public String getQestnrId10() { + return qestnrId10; + } + public void setQestnrId10(String qestnrId10) { + this.qestnrId10 = qestnrId10; + } + public String getQestnrId20() { + return qestnrId20; + } + public void setQestnrId20(String qestnrId20) { + this.qestnrId20 = qestnrId20; + } + public String getQestnrId30() { + return qestnrId30; + } + public void setQestnrId30(String qestnrId30) { + this.qestnrId30 = qestnrId30; + } public String getSearchDiv() { return searchDiv; } diff --git a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml index 43893e2a..5bc0d947 100644 --- a/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml @@ -75,6 +75,7 @@ a.addr AS addr, a.addr_detail AS addrDetail, a.chrg_nm AS chrgNm, + a.d_birth AS dBirth, a.clphone AS clphone, a.phone AS phone, a.email AS email, diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml index a6c061ad..7c7d5019 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml @@ -652,6 +652,16 @@ AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1 ELSE 0 END AS qestRsltExists + + , NVL(qustnr01.QUSTNR_QESITM_ID_10,0) AS qustnrQesitmId10Cnt + , NVL(qustnr01.QUSTNR_QESITM_ID_20, 0) AS qustnrQesitmId20Cnt + , NVL(qustnr01.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 + from VE_EDU_APLCT a join ve_prcs_aplct_prd vpap @@ -661,6 +671,75 @@ 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 + + LEFT OUTER JOIN ( + + SELECT + b.EDU_APLCT_ORD AS eduAplctOrd, + max(b.prcs_ord) AS prcsOrd, + + 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 b.respond_id=#userId# + + 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 = '50' + GROUP BY + b.EDU_APLCT_ORD + + ) qustnr01 + on( + + a.edu_aplct_ord = qustnr01.eduAplctOrd + AND vpap.PRCS_APLCT_PRD_ORD = qustnr01.prcsOrd + + ) + + + 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 = '10' + 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# and a.user_id = #userId# diff --git a/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml index 7c35d6aa..26b876f6 100644 --- a/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml @@ -133,6 +133,7 @@ AND A.SITE_ID = #siteId# AND A.site_id_cd=#siteIdCd# + ORDER BY A.QESTNR_ID DESC LIMIT 1 diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp index 304a213d..501a2bb9 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctCfnMngDetail.jsp @@ -452,12 +452,20 @@ + + + + + 신청자 + 성명 + 생년월일 + 소속기업 교육이수여부 교육이수상태변경 설문조사 @@ -475,6 +483,16 @@ + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/uss/olp/qmc/UserQustnrManageList.jsp b/src/main/webapp/WEB-INF/jsp/uss/olp/qmc/UserQustnrManageList.jsp index a5161ea1..6c146f3a 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/olp/qmc/UserQustnrManageList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/olp/qmc/UserQustnrManageList.jsp @@ -170,8 +170,7 @@ - -
+ diff --git a/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserItnQustnrQestnManageRegist.jsp b/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserItnQustnrQestnManageRegist.jsp index 0e1353eb..36d1967c 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserItnQustnrQestnManageRegist.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/olp/qqm/UserItnQustnrQestnManageRegist.jsp @@ -176,10 +176,12 @@ function fn_egov_save_QustnrItemManage(cmd){ return false; } }); + /* if(iemCnCheck){ alert("설문문항정보를 입력해주세요!"); return ; } + */ } varFrom.cmd.value= cmd; diff --git a/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp b/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp index e11ab64b..4d53ed09 100644 --- a/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/my/myPageDashBoard.jsp @@ -341,7 +341,7 @@
체험교실
- +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp index 5c70c159..64e825d4 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp @@ -24,9 +24,10 @@ } function fncGoDetail(eduAplctOrd){ - var listForm = document.listForm ; - listForm.eduAplctOrd.value = eduAplctOrd ; - $("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do").submit(); + var viewForm = document.viewForm ; + viewForm.prcsAplctPrdOrd.value = eduAplctOrd ; + viewForm.action = ""; + viewForm.submit(); } function fncGoList(){ @@ -105,15 +106,97 @@ form.submit(); } - + + // 설문조사 버튼 클릭 이벤트 + function selectQestnInfo(id, action){ + + $('#eduAplctOrd').val(id); + if(action == 'insert'){ + $('#popupUpdate').hide(); + $('#popupInsert').show(); + } + else if(action == 'update'){ + $('#popupUpdate').show(); + $('#popupInsert').hide(); + } + + $.ajax({ + type:"POST" + ,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectQustnrCommonAjax.do" + ,data: { + "lctrDivCd" : "50" // 기반강화 -> 기소유예(60)도 같이써야함 +// ,"eduChasiOrd" : chId + } + ,dataType:'json' + ,success:function(returnData){ + console.log('returnData : ', returnData); + fn_makeQestnTbody(returnData); + + // update면 선택한 목록 가져오기 + if(action == 'update'){ + fn_selectQestnTbody(); + } + } + ,error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + } + + // 설문조사 문항 가져오기 + function fn_makeQestnTbody(returnData){ + + $('#qustnrTmplatId').val(returnData.qustnrTmplatId); + $('#qestnrId').val(returnData.qestnrId); + + + var data = returnData.Comtnqustnrqesitm; // 이 변수에 AJAX를 통해 가져온 데이터가 저장되어 있다고 가정 + + $('#qestmInfoSize').val(data.length); + // tbody에 새로운 행들을 추가 + var $tbody = $("#qestnTbody"); + $tbody.empty(); // 기존의 tbody 내용을 비웁니다. + + $.each(data, function(index, item) { + var $row = $(""); + + // hiddem값 셋팅 + $row.append(''); + $row.append(''); + $row.append(''); + + + + // 첫 번째 열: 설문 문항 + $row.append(''); + + // 평가 옵션 열 추가 + var inputTypes = ['verySatisfied', 'satisfied', 'neither', 'dissatisfied', 'veryDissatisfied']; + $.each(inputTypes, function(i, type) { + var inputId = type + '_' + index; + var $cell = $(''); + var $label = $(''); + var $input = $(''); + + $cell.append($label).append($input); + $row.append($cell); + }); + $tbody.append($row); + }); + + }
+ " method="post"> +
+ + @@ -163,8 +246,8 @@
-<%--
' + (index + 1) + ') ' + item.qestnCn + '
');" style="cursor:pointer;"> --%> - + ');" style="cursor:pointer;"> + () @@ -172,25 +255,52 @@ - - - + + + - - 설문완료 + + + - - + 해당설문없음 + + + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + + - - - - + + + + 교육완료 @@ -313,4 +423,102 @@ - \ No newline at end of file + + + + +
+ + + + + + + + + +
+ +
+
+ + + + + \ No newline at end of file