diff --git a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java index ac3b7c14..81573fbe 100644 --- a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java +++ b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java @@ -19,7 +19,7 @@ public interface VEAStngMixService { //교육가능시수 데이터 - 교육가능시수 세부 선택 데이터 List selectList_VEALPPS_2(VEAStngVO paramVO) throws Exception; // LIST - + //강의가능기간에 불가능한 일자 가져오기 List selectList_VEALPPS_3(VEAStngVO paramVO) throws Exception; // LIST diff --git a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java index d1552011..acb3f702 100644 --- a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java +++ b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngVO.java @@ -96,6 +96,7 @@ public class VEAStngVO extends ComDefaultVO implements Serializable { //etc private String code; //설정 년도 + private String psblTmQnttyCnt; //실제 신청 차시(관리자 달력용) private String dpStrtDt; //표시용시작일자 private String dpStrtTm; //표시용시작시간 @@ -595,5 +596,11 @@ public class VEAStngVO extends ComDefaultVO implements Serializable { public void setAsgnmChasi0(String asgnmChasi0) { this.asgnmChasi0 = asgnmChasi0; } + public String getPsblTmQnttyCnt() { + return psblTmQnttyCnt; + } + public void setPsblTmQnttyCnt(String psblTmQnttyCnt) { + this.psblTmQnttyCnt = psblTmQnttyCnt; + } } diff --git a/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml index c4096849..f6cbe825 100644 --- a/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml @@ -232,9 +232,13 @@ , ccc.yr , bbb.DT_PSBL_TM_QNTTY_ORD AS dtPsblTmQnttyOrd , CASE - WHEN ddd.LCTR_PSBL_PRD_ORD IS NOT NULL THEN '불가능' - WHEN bbb.DT_PSBL_TM_QNTTY_ORD IS NULL THEN to_char(ccc.psbl_tm_qntty) - ELSE to_char(bbb.PSBL_TM_QNTTY) + WHEN ddd.LCTR_PSBL_PRD_ORD IS NOT NULL THEN '불가능' + WHEN bbb.DT_PSBL_TM_QNTTY_ORD IS NULL THEN to_char(NVL(fff.psblTmQnttyCnt,0))||'/'||to_char(ccc.psbl_tm_qntty) + ELSE to_char(NVL(fff.psblTmQnttyCnt,0))||'/'||to_char(bbb.PSBL_TM_QNTTY) + /* + ELSE to_char(NVL(fff.psblTmQnttyCnt,0))||'/'||to_char(bbb.PSBL_TM_QNTTY) + ELSE to_char(bbb.PSBL_TM_QNTTY) + */ END AS title /* , ddd.LCTR_PSBL_PRD_ORD @@ -333,7 +337,42 @@ on( aaa.datez_str BETWEEN eee.lctr_psbl_strt_dt AND eee.lctr_psbl_ddln_dt AND eee.lctr_psbl_yn='Y' - ) + ) + + /* Step5.사용자 교육신청 차시(요청 이상)를 가져오고 */ + LEFT OUTER JOIN ( + + + SELECT d.edu_hope_dt, SUM(d.chasi) AS psblTmQnttyCnt + , replace(d.edu_hope_dt,'.','-') + FROM vea_lctr_rnds_stng a , + vea_lctr_rnds_stng b , + ve_edu_aplct c , + ve_edu_chasi d + WHERE 1 =1 + AND a.yr =b.yr + AND b.RNDS_ORD =c.RNDS_ORD + AND c.EDU_APLCT_ORD =d.EDU_APLCT_ORD + AND NVL(c.use_yn,'Y')='Y' + AND c.SBMT_YN = 'Y' + /* 요청(10), 선정완료(120), 승인(20), 교육확정(60), 수정요청(70), 수정요청 완료(80), 대기 수량(230)을 모두 카운트 한다. + * 참고용 취소(40) + * */ + AND c.aprvl_cd IN ('10', + '120', + '20', + '60', + '70', + '80', + '230') + GROUP BY d.edu_hope_dt + + + ) fff + on( + aaa.datez=replace(fff.edu_hope_dt,'.','-') + ) + /* Step5.각 년도의 기본 시수를 가져온다. */ , vea_lctr_yr_stng ccc @@ -366,12 +405,42 @@ , b.dt_psbl_tm_qntty_ord AS dtPsblTmQnttyOrd , b.trgt_dt AS trgtDt , CASE WHEN b.PSBL_TM_QNTTY IS NULL THEN a.PSBL_TM_QNTTY ELSE b.PSBL_TM_QNTTY END AS psblTmQntty + , nvl(fff.psblTmQnttyCnt,0) AS ttlRgstrChasi , #dpStrtDt# AS dpStrtDt FROM vea_lctr_yr_stng a LEFT OUTER JOIN vea_dt_psbl_tm_qntty_stng b on( b.DT_PSBL_TM_QNTTY_ORD =#dtPsblTmQnttyOrd# ) + /* Step5.사용자 교육신청 차시(요청 이상)를 가져오고 */ + LEFT OUTER JOIN + ( SELECT d.edu_hope_dt, + SUM(d.chasi) AS psblTmQnttyCnt , + REPLACE(d.edu_hope_dt,'.','-') + FROM vea_lctr_rnds_stng a , + vea_lctr_rnds_stng b , + ve_edu_aplct c , + ve_edu_chasi d + WHERE 1 =1 + AND a.yr =b.yr + AND b.RNDS_ORD =c.RNDS_ORD + AND c.EDU_APLCT_ORD =d.EDU_APLCT_ORD + AND NVL(c.use_yn,'Y')='Y' + AND c.SBMT_YN = 'Y' + /* 요청(10), 선정완료(120), 승인(20), 교육확정(60), 수정요청(70), 수정요청 완료(80), 대기 수량(230)을 모두 카운트 한다. * 참고용 취소(40) * */ + AND c.aprvl_cd IN ('10', + '120', + '20', + '60', + '70', + '80', + '230') + GROUP BY d.edu_hope_dt + ) + fff + ON ( + #dpStrtDt#=REPLACE(fff.edu_hope_dt,'.','-') + ) WHERE a.yr=#yr# diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advPsblTmQnttyPopup.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advPsblTmQnttyPopup.jsp index 54e6e3e4..1ac961ab 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advPsblTmQnttyPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/popup/advPsblTmQnttyPopup.jsp @@ -190,6 +190,7 @@
  • + / 0 && $('#agree').val() != 'Y'){ alert('개인정보 수집 및 이용 목적에 동의하셔야합니다.'); return false; } + */ + + var fnAgree = true; + + $('input:checkbox[name="agree"]:checked').each(function(idx) { + /* + if($(this).attr("class") != "60") { + alert("선택한 목록 중 교욱확정알림이 불가능한 건이 있습니다."); + fnAgree = true; + } + */ + fnAgree = false; + }); + + if(fnAgree){ + alert('개인정보 수집 및 이용 목적에 동의하셔야합니다.'); + return false; + } return true; }