2024-03-27 11:52 성인찾교-교육실적통계

This commit is contained in:
myname 2024-03-27 11:53:16 +09:00
parent 0cefdb4fdd
commit cf4f79897c
14 changed files with 1083 additions and 12 deletions

View File

@ -67,4 +67,7 @@ public interface VEEduAplctService {
void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception;
void insertRslt(VEEduAplctVO vEEduAplctVO);
//특정컬럼만 update
int trgtUpdateWithQuery(VEEduAplctVO paramVO) throws Exception;
}

View File

@ -181,5 +181,7 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
insert("VEEduAplctDAO.insertRslt", paramVO);
}
public int trgtUpdateWithQuery(VEEduAplctVO paramVO) throws Exception {
return update("VEEduAplctDAO.trgtUpdateWithQuery", paramVO);
}
}

View File

@ -219,4 +219,11 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
public void insertRslt(VEEduAplctVO paramVO) {
vEEduAplctDAO.insertRslt(paramVO);
}
//특정 컬럼 쿼리로 update
@Override
public int trgtUpdateWithQuery(VEEduAplctVO paramVO) throws Exception {
return vEEduAplctDAO.trgtUpdateWithQuery(paramVO);
}
}

View File

@ -147,6 +147,12 @@ public interface VEInstrMixService {
//성인 통계
//교육실정통계- 월별 횟수/교육인원(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_adult_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//교육실정통계- 월별 지역별 교육횟수/교육인원(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_adult_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//교육실정통계- 월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육인원(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_adult_no5_no6_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception;

View File

@ -296,6 +296,18 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
return tlist;
}
//통계정보-청소년-월별 횟수/교육인원(그래프 포함)
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_adult_no1", vEInstrDetailVO);
return tlist;
}
//통계정보-청소년-월별 지역별 교육횟수/교육인원(그래프 포함)
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_adult_no2_no3", vEInstrDetailVO);
return tlist;
}
//교육실정통계- 월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육인원(그래프 포함)
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no5_no6_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7", vEInstrDetailVO);

View File

@ -242,6 +242,14 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
return vEInstrMixDAO.selectEduPrfrmInfo_tngr_no9(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_adult_no1(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_adult_no2_no3(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no5_no6_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7(vEInstrDetailVO);
}

View File

@ -434,10 +434,13 @@ public class EduAplctMngAdultController {
}
// 요청, 반려건
vEEduAplctVO.setSearchNotStatusArr(new String[]{"60"});
//vEEduAplctVO.setSearchNotStatusArr(new String[]{"60"});
// 성인
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
//검색년도 초기화
vEEduAplctVO.setSearchYear("");
vEEduAplctVO.setMode(VeConstants.MODE_EXCEL);
List<VEEduAplctVO> list = vEEduMIXService.selectPagingList(vEEduAplctVO);
list = egovCryptoUtil.decryptVEEduAplctVOList(list);

View File

@ -836,7 +836,7 @@ public class EduAsgnmCnfrmMngAdultController {
{
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no1 = vEInstrMixService.selectEduPrfrmInfo_tngr_no1(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no1 = vEInstrMixService.selectEduPrfrmInfo_adult_no1(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no1 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no1);
@ -850,7 +850,7 @@ public class EduAsgnmCnfrmMngAdultController {
vEInstrDetailVODetail.setNo3("10"); /* 10-횟수, 20-인원 */
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no2 = vEInstrMixService.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no2 = vEInstrMixService.selectEduPrfrmInfo_adult_no2_no3(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no2 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no2);
@ -864,7 +864,7 @@ public class EduAsgnmCnfrmMngAdultController {
vEInstrDetailVODetail.setNo3("20"); /* 10-횟수, 20-인원 */
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_adult_no2_no3(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no3 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no3);
@ -1032,6 +1032,234 @@ public class EduAsgnmCnfrmMngAdultController {
return modelAndView;
}
/**
* 교육실적통계 Excel - 성인 - 월별 횟수/교육인원(그래프 포함)
* @param model
* @return
* @throws Exception
*/
@SuppressWarnings("rawtypes")
@RequestMapping(value = "eduPrfrmMngExcelDownLoad_adult_no1.do")
public ModelAndView eduPrfrmMngExcelDownLoad_adult_no1(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail
, ModelMap model
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView");
try {
/*
//1.pageing step1
//vEInstrDetailVODetail.setPageUnit(10);
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo = vEPagingUtil.setPagingStep1_VEInstrDetailVO(paginationInfo, vEInstrDetailVODetail);
//2. pageing step2
vEInstrDetailVODetail = vEPagingUtil.setPagingStep2_VEInstrDetailVO(vEInstrDetailVODetail, paginationInfo);
*/
//통계- 월별 횟수/교육인원(그래프 포함)
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectEduPrfrmInfo_adult_no1(vEInstrDetailVODetail);
//복호화
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
System.out.println("out-list-2");
List<Object> excelData = new ArrayList<>();
excelData.addAll(selectAsgnmInfoT2List);
// 세팅값
String title = "교육실적통계-월별 횟수.교육인원";
int[] width = {
4000, 4000
, 4000
, 4000, 4000
//, 4000
, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
}; // 너비
//33개 항목
String[] header = {
"구분"
, "횟수/인원"
, "1월"
//, "요일"
, "2월"
, "3월", "4월", "5월", "6월", "7월"
, "8월", "9월", "10월", "11월", "12월"
, "합계"
};
String[] order = {
"EduSlctCd"
, "Chasi"
, "Mnt01"
//, "wCnt"
, "Mnt02"
, "Mnt03", "Mnt04", "Mnt05", "Mnt06", "Mnt07"
, "Mnt08", "Mnt09", "Mnt10", "Mnt11", "Mnt12"
, "MntSum"
};
/*
// 호출
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title);
model.addAttribute("locale", Locale.KOREA);
model.addAttribute("workbook", workbook);
model.addAttribute("workbookName", title);
*/
excelDown(
excelData,
title,
width,
header,
order,
model
);
}catch(Exception ep) {
ep.getStackTrace();
}
modelAndView.addObject(model);
return modelAndView;
}
/**
* 교육실적통계 Excel - 성인
* 월별 지역별 교육횟수(그래프 포함)
월별 지역별 교육인원(그래프 포함)
* @param model
* @return
* @throws Exception
*/
@SuppressWarnings("rawtypes")
@RequestMapping(value = "eduPrfrmMngExcelDownLoad_adult_no2_no3.do")
public ModelAndView eduPrfrmMngExcelDownLoad_adult_no2_no3(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail
, ModelMap model
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView");
try {
String s_no3 = vEInstrDetailVODetail.getNo3();
String title = "교육실적통계-월별 횟수.교육인원";
if ("10".equals(s_no3)) {
title = "교육실적통계-월별 지역별 교육횟수";
}else if ("20".equals(s_no3)) {
title = "교육실적통계-월별 지역별 교육인원";
}
//통계- 월별 횟수/교육인원(그래프 포함)
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectEduPrfrmInfo_adult_no2_no3(vEInstrDetailVODetail);
List<Object> excelData = new ArrayList<>();
excelData.addAll(selectAsgnmInfoT2List);
// 세팅값
//String title = "교육실적통계-월별 횟수.교육인원";
int[] width = {
4000
, 4000
, 4000
//, 4000
, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000
}; // 너비
//33개 항목
String[] header = {
"구분"
, "지역"
, "1월"
//, "요일"
, "2월"
, "3월", "4월", "5월", "6월", "7월"
, "8월", "9월", "10월", "11월", "12월"
, "합계"
};
String[] order = {
"EduSlctCd"
, "DivCd"
, "Mnt01"
//, "wCnt"
, "Mnt02"
, "Mnt03", "Mnt04", "Mnt05", "Mnt06", "Mnt07"
, "Mnt08", "Mnt09", "Mnt10", "Mnt11", "Mnt12"
, "MntSum"
};
/*
// 호출
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title);
model.addAttribute("locale", Locale.KOREA);
model.addAttribute("workbook", workbook);
model.addAttribute("workbookName", title);
*/
excelDown(
excelData,
title,
width,
header,
order,
model
);
}catch(Exception ep) {
ep.getStackTrace();
}
modelAndView.addObject(model);
return modelAndView;
}
/**
* 교육실적통계 Excel - 청소년 - 월별 교육대상별 교육횟수(그래프 포함)/ 월별 교육대상별 교육횟수(그래프 포함)/ 월별 교육대상별 교육인원(그래프 포함)
* @param model
@ -1040,7 +1268,7 @@ public class EduAsgnmCnfrmMngAdultController {
*/
@SuppressWarnings("rawtypes")
@RequestMapping(value = "eduPrfrmMngExcelDownLoad_adult_no5_no6_no7.do")
public ModelAndView eduPrfrmMngExcelDownLoad_tngr_no1(
public ModelAndView eduPrfrmMngExcelDownLoad_adult_no5_no6_no7(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail
, ModelMap model

View File

@ -712,6 +712,54 @@ public class EduAsgnmCnfrmMngTngrController {
return modelAndView;
}
/**
* ve_edu_aplct 테이블 상세 정보 표적 수정하기
*/
@RequestMapping("eduAplctTrgtUpdateAjax.do")
public ModelAndView eduAplctTrgtUpdateAjax(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
int successCnt = 0;
try {
if ("eduPrsnl".equals(vEEduAplctVO.getType())) {
vEEduAplctVO.setSearchQuery(" EDU_PRSNL = '"+vEEduAplctVO.getEduPrsnl()+"' "); //update set 만들기
}
vEEduAplctService.trgtUpdateWithQuery(vEEduAplctVO);
successCnt = successCnt+1;
} catch (Exception ex) {
ex.printStackTrace();
}
if (successCnt == 0) {
modelAndView.addObject("result", "fail");
} else {
modelAndView.addObject("result", "success");
}
return modelAndView;
}
/**
* 강사공개메모 저장
*/

View File

@ -1650,4 +1650,12 @@
</select>
<update id="VEEduAplctDAO.trgtUpdateWithQuery" parameterClass="VEEduAplctVO">
UPDATE <include refid="VEEduAplctDAO.table_name"/>
SET
$searchQuery$
WHERE EDU_APLCT_ORD = #eduAplctOrd#
</update>
</sqlMap>

View File

@ -919,6 +919,706 @@
</select>
<!-- 교육실정통계 -①월별 횟수/교육인원(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_adult_no1" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_adult_no1 */
SELECT aaaa.edu_hope_yr AS eduHopeYr
/*
, aaaa.div_cd AS divCd
, aaaa.edu_slct_cd AS eduSlctCd
, aaaa.no3 AS chasi
*/
, CASE
WHEN aaaa.div_cd='10' THEN '청소년'
WHEN aaaa.div_cd='20' THEN '교직원'
WHEN aaaa.div_cd='30' THEN '학부모'
ELSE '총계'
END AS divCd
, CASE
WHEN aaaa.edu_slct_cd='10' THEN '온라인'
WHEN aaaa.edu_slct_cd='20' THEN '오프라인'
ELSE '합계'
END AS eduSlctCd
, CASE
WHEN aaaa.no3='10' THEN '횟수'
WHEN aaaa.no3='20' THEN '인원'
ELSE '합계'
END AS chasi
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt01 ELSE bbbb.cnt01 END, 0) mnt01
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt02 ELSE bbbb.cnt02 END, 0) mnt02
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt03 ELSE bbbb.cnt03 END, 0) mnt03
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt04 ELSE bbbb.cnt04 END, 0) mnt04
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt05 ELSE bbbb.cnt05 END, 0) mnt05
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt06 ELSE bbbb.cnt06 END, 0) mnt06
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt07 ELSE bbbb.cnt07 END, 0) mnt07
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt08 ELSE bbbb.cnt08 END, 0) mnt08
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt09 ELSE bbbb.cnt09 END, 0) mnt09
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt10 ELSE bbbb.cnt10 END, 0) mnt10
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt11 ELSE bbbb.cnt11 END, 0) mnt11
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt12 ELSE bbbb.cnt12 END, 0) mnt12
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mntSum ELSE bbbb.cntSum END, 0) mntSum
FROM (
SELECT a.edu_hope_yr
, b.div_cd
, c.edu_slct_cd
, d.no3
FROM
(
SELECT #mngNmbrYr# edu_hope_yr FROM DUAL
)a
,(
SELECT 10 div_cd FROM DUAL
UNION ALL SELECT 20 no1 FROM DUAL
UNION ALL SELECT 30 no1 FROM DUAL
UNION ALL SELECT 99 no1 FROM DUAL
)b
,(
SELECT 10 edu_slct_cd FROM DUAL
UNION ALL SELECT 20 no2 FROM DUAL
UNION ALL SELECT 99 no2 FROM DUAL
)c
,(
SELECT 10 no3 FROM DUAL
UNION ALL SELECT 20 no2 FROM DUAL
)d
)aaaa
LEFT OUTER JOIN
(
SELECT *
FROM (
/* 전체 집계 */
SELECT edu_hope_yr, '99' div_cd
, '99' edu_slct_cd
, SUM(mnt01) AS mnt01
, SUM(mnt02) AS mnt02
, SUM(mnt03) AS mnt03
, SUM(mnt04) AS mnt04
, SUM(mnt05) AS mnt05
, SUM(mnt06) AS mnt06
, SUM(mnt07) AS mnt07
, SUM(mnt08) AS mnt08
, SUM(mnt09) AS mnt09
, SUM(mnt10) AS mnt10
, SUM(mnt11) AS mnt11
, SUM(mnt12) AS mnt12
, SUM(mntSum) AS mntSum
, SUM(cnt01) AS cnt01
, SUM(cnt02) AS cnt02
, SUM(cnt03) AS cnt03
, SUM(cnt04) AS cnt04
, SUM(cnt05) AS cnt05
, SUM(cnt06) AS cnt06
, SUM(cnt07) AS cnt07
, SUM(cnt08) AS cnt08
, SUM(cnt09) AS cnt09
, SUM(cnt10) AS cnt10
, SUM(cnt11) AS cnt11
, SUM(cnt12) AS cnt12
, SUM(cntSum) AS cntSum
FROM (
SELECT aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0)) AS mnt01
, SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0)) AS mnt02
, SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0)) AS mnt03
, SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0)) AS mnt04
, SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0)) AS mnt05
, SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0)) AS mnt06
, SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0)) AS mnt07
, SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0)) AS mnt08
, SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0)) AS mnt09
, SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0)) AS mnt10
, SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0)) AS mnt11
, SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mnt12
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mntSum
, SUM(DECODE(aa.edu_hope_dt,'01',1,0)) AS cnt01
, SUM(DECODE(aa.edu_hope_dt,'02',1,0)) AS cnt02
, SUM(DECODE(aa.edu_hope_dt,'03',1,0)) AS cnt03
, SUM(DECODE(aa.edu_hope_dt,'04',1,0)) AS cnt04
, SUM(DECODE(aa.edu_hope_dt,'05',1,0)) AS cnt05
, SUM(DECODE(aa.edu_hope_dt,'06',1,0)) AS cnt06
, SUM(DECODE(aa.edu_hope_dt,'07',1,0)) AS cnt07
, SUM(DECODE(aa.edu_hope_dt,'08',1,0)) AS cnt08
, SUM(DECODE(aa.edu_hope_dt,'09',1,0)) AS cnt09
, SUM(DECODE(aa.edu_hope_dt,'10',1,0)) AS cnt10
, SUM(DECODE(aa.edu_hope_dt,'11',1,0)) AS cnt11
, SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cnt12
, SUM(DECODE(aa.edu_hope_dt,'01',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cntSum
FROM (
SELECT
SUBSTR(b.edu_hope_dt,1,4) AS edu_hope_yr
, SUBSTR(b.edu_hope_dt,6,2) AS edu_hope_dt
, a.edu_prsnl as prsnl
, a.edu_slct_cd
, b.div_cd
FROM
/*
ve_lctr_stng d,
*/
ve_edu_chasi_instr_asgnm c ,
ve_edu_chasi b ,
ve_edu_aplct a
WHERE 1 =1
AND SUBSTR(b.edu_hope_dt,1,4)=#mngNmbrYr#
AND b.edu_aplct_ord =c.edu_aplct_ord
AND b.edu_chasi_ord =c.edu_chasi_ord
AND b.edu_aplct_ord =a.edu_aplct_ord
AND NVL(a.use_yn,'Y') ='Y'
AND a.aprvl_cd = '60'
AND c.asgnm_aprvl_cd = '30'
AND a.lctr_div_cd =#lctrDivCd#
)aa
GROUP BY aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd
)aaa
GROUP BY edu_hope_yr
UNION ALL
/* 구분별 집계 */
SELECT edu_hope_yr, '99' div_cd
, aaa.edu_slct_cd
, SUM(mnt01) AS mnt01
, SUM(mnt02) AS mnt02
, SUM(mnt03) AS mnt03
, SUM(mnt04) AS mnt04
, SUM(mnt05) AS mnt05
, SUM(mnt06) AS mnt06
, SUM(mnt07) AS mnt07
, SUM(mnt08) AS mnt08
, SUM(mnt09) AS mnt09
, SUM(mnt10) AS mnt10
, SUM(mnt11) AS mnt11
, SUM(mnt12) AS mnt12
, SUM(mntSum) AS mntSum
, SUM(cnt01) AS cnt01
, SUM(cnt02) AS cnt02
, SUM(cnt03) AS cnt03
, SUM(cnt04) AS cnt04
, SUM(cnt05) AS cnt05
, SUM(cnt06) AS cnt06
, SUM(cnt07) AS cnt07
, SUM(cnt08) AS cnt08
, SUM(cnt09) AS cnt09
, SUM(cnt10) AS cnt10
, SUM(cnt11) AS cnt11
, SUM(cnt12) AS cnt12
, SUM(cntSum) AS cntSum
FROM (
SELECT aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0)) AS mnt01
, SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0)) AS mnt02
, SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0)) AS mnt03
, SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0)) AS mnt04
, SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0)) AS mnt05
, SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0)) AS mnt06
, SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0)) AS mnt07
, SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0)) AS mnt08
, SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0)) AS mnt09
, SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0)) AS mnt10
, SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0)) AS mnt11
, SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mnt12
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mntSum
, SUM(DECODE(aa.edu_hope_dt,'01',1,0)) AS cnt01
, SUM(DECODE(aa.edu_hope_dt,'02',1,0)) AS cnt02
, SUM(DECODE(aa.edu_hope_dt,'03',1,0)) AS cnt03
, SUM(DECODE(aa.edu_hope_dt,'04',1,0)) AS cnt04
, SUM(DECODE(aa.edu_hope_dt,'05',1,0)) AS cnt05
, SUM(DECODE(aa.edu_hope_dt,'06',1,0)) AS cnt06
, SUM(DECODE(aa.edu_hope_dt,'07',1,0)) AS cnt07
, SUM(DECODE(aa.edu_hope_dt,'08',1,0)) AS cnt08
, SUM(DECODE(aa.edu_hope_dt,'09',1,0)) AS cnt09
, SUM(DECODE(aa.edu_hope_dt,'10',1,0)) AS cnt10
, SUM(DECODE(aa.edu_hope_dt,'11',1,0)) AS cnt11
, SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cnt12
, SUM(DECODE(aa.edu_hope_dt,'01',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cntSum
FROM (
SELECT
SUBSTR(b.edu_hope_dt,1,4) AS edu_hope_yr
, SUBSTR(b.edu_hope_dt,6,2) AS edu_hope_dt
, b.prsnl
, a.edu_slct_cd
, b.div_cd
FROM
/*
ve_lctr_stng d,
*/
ve_edu_chasi_instr_asgnm c ,
ve_edu_chasi b ,
ve_edu_aplct a
WHERE 1 =1
AND SUBSTR(b.edu_hope_dt,1,4)=#mngNmbrYr#
AND b.edu_aplct_ord =c.edu_aplct_ord
AND b.edu_chasi_ord =c.edu_chasi_ord
AND b.edu_aplct_ord =a.edu_aplct_ord
AND NVL(a.use_yn,'Y') ='Y'
AND a.aprvl_cd = '60'
AND c.asgnm_aprvl_cd = '30'
AND a.lctr_div_cd =#lctrDivCd#
)aa
GROUP BY aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd
)aaa
GROUP BY edu_hope_yr, aaa.edu_slct_cd
)aaaa
)bbbb
ON(
1=1
AND aaaa.edu_hope_yr=bbbb.edu_hope_yr
AND aaaa.div_cd=bbbb.div_cd
AND aaaa.edu_slct_cd=bbbb.edu_slct_cd
)
WHERE aaaa.div_cd='99'
ORDER BY aaaa.edu_hope_yr
, aaaa.no3
, DECODE(aaaa.div_cd,'99','00',aaaa.div_cd)
, DECODE(aaaa.edu_slct_cd,'99','00',DECODE(aaaa.edu_slct_cd,'20','05',aaaa.edu_slct_cd)) DESC
</select>
<!-- 교육실정통계 -②월별 지역별 교육횟수/③교육인원(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_adult_no2_no3" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_adult_no2_no3 */
SELECT aaaa.edu_hope_yr AS eduHopeYr
, cccc.code_nm AS divCd
/*
, CASE
WHEN aaaa.div_cd='10' THEN '청소년'
WHEN aaaa.div_cd='20' THEN '교직원'
WHEN aaaa.div_cd='30' THEN '학부모'
ELSE '총계'
END AS divCd
*/
, CASE
WHEN aaaa.edu_slct_cd='10' THEN '온라인'
WHEN aaaa.edu_slct_cd='20' THEN '오프라인'
ELSE '합계'
END AS eduSlctCd
, CASE
WHEN aaaa.no3='10' THEN '횟수'
WHEN aaaa.no3='20' THEN '인원'
ELSE '합계'
END AS chasi
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt01 ELSE bbbb.cnt01 END, 0) mnt01
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt02 ELSE bbbb.cnt02 END, 0) mnt02
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt03 ELSE bbbb.cnt03 END, 0) mnt03
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt04 ELSE bbbb.cnt04 END, 0) mnt04
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt05 ELSE bbbb.cnt05 END, 0) mnt05
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt06 ELSE bbbb.cnt06 END, 0) mnt06
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt07 ELSE bbbb.cnt07 END, 0) mnt07
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt08 ELSE bbbb.cnt08 END, 0) mnt08
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt09 ELSE bbbb.cnt09 END, 0) mnt09
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt10 ELSE bbbb.cnt10 END, 0) mnt10
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt11 ELSE bbbb.cnt11 END, 0) mnt11
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mnt12 ELSE bbbb.cnt12 END, 0) mnt12
, NVL(CASE WHEN aaaa.no3='20' THEN bbbb.mntSum ELSE bbbb.cntSum END, 0) mntSum
FROM (
SELECT a.edu_hope_yr
, b.div_cd
, c.edu_slct_cd
, d.no3
, e.edu_slct_area_cd
FROM
(
SELECT #mngNmbrYr# edu_hope_yr FROM DUAL
)a
,(
SELECT 10 div_cd FROM DUAL
UNION ALL SELECT 20 no1 FROM DUAL
UNION ALL SELECT 30 no1 FROM DUAL
UNION ALL SELECT 99 no1 FROM DUAL
)b
,(
SELECT 10 edu_slct_cd FROM DUAL
UNION ALL SELECT 20 no2 FROM DUAL
UNION ALL SELECT 99 no2 FROM DUAL
)c
,(
SELECT 10 no3 FROM DUAL
UNION ALL SELECT 20 no2 FROM DUAL
)d
,(
SELECT CODE AS edu_slct_area_cd
FROM LETTCCMMNDETAILCODE
WHERE code_id='VE0008'
UNION ALL
SELECT '999'
FROM DUAL
)e
)aaaa
LEFT OUTER JOIN
(
SELECT *
FROM (
/* 전체 집계 */
SELECT edu_hope_yr, '99' div_cd
, '99' edu_slct_cd
, '999' edu_slct_area_cd
, SUM(mnt01) AS mnt01
, SUM(mnt02) AS mnt02
, SUM(mnt03) AS mnt03
, SUM(mnt04) AS mnt04
, SUM(mnt05) AS mnt05
, SUM(mnt06) AS mnt06
, SUM(mnt07) AS mnt07
, SUM(mnt08) AS mnt08
, SUM(mnt09) AS mnt09
, SUM(mnt10) AS mnt10
, SUM(mnt11) AS mnt11
, SUM(mnt12) AS mnt12
, SUM(mntSum) AS mntSum
, SUM(cnt01) AS cnt01
, SUM(cnt02) AS cnt02
, SUM(cnt03) AS cnt03
, SUM(cnt04) AS cnt04
, SUM(cnt05) AS cnt05
, SUM(cnt06) AS cnt06
, SUM(cnt07) AS cnt07
, SUM(cnt08) AS cnt08
, SUM(cnt09) AS cnt09
, SUM(cnt10) AS cnt10
, SUM(cnt11) AS cnt11
, SUM(cnt12) AS cnt12
, SUM(cntSum) AS cntSum
FROM (
SELECT aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd, aa.edu_slct_area_cd
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0)) AS mnt01
, SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0)) AS mnt02
, SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0)) AS mnt03
, SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0)) AS mnt04
, SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0)) AS mnt05
, SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0)) AS mnt06
, SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0)) AS mnt07
, SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0)) AS mnt08
, SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0)) AS mnt09
, SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0)) AS mnt10
, SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0)) AS mnt11
, SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mnt12
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mntSum
, SUM(DECODE(aa.edu_hope_dt,'01',1,0)) AS cnt01
, SUM(DECODE(aa.edu_hope_dt,'02',1,0)) AS cnt02
, SUM(DECODE(aa.edu_hope_dt,'03',1,0)) AS cnt03
, SUM(DECODE(aa.edu_hope_dt,'04',1,0)) AS cnt04
, SUM(DECODE(aa.edu_hope_dt,'05',1,0)) AS cnt05
, SUM(DECODE(aa.edu_hope_dt,'06',1,0)) AS cnt06
, SUM(DECODE(aa.edu_hope_dt,'07',1,0)) AS cnt07
, SUM(DECODE(aa.edu_hope_dt,'08',1,0)) AS cnt08
, SUM(DECODE(aa.edu_hope_dt,'09',1,0)) AS cnt09
, SUM(DECODE(aa.edu_hope_dt,'10',1,0)) AS cnt10
, SUM(DECODE(aa.edu_hope_dt,'11',1,0)) AS cnt11
, SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cnt12
, SUM(DECODE(aa.edu_hope_dt,'01',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cntSum
FROM (
SELECT
SUBSTR(b.edu_hope_dt,1,4) AS edu_hope_yr
, SUBSTR(b.edu_hope_dt,6,2) AS edu_hope_dt
, a.edu_prsnl as prsnl
, a.edu_slct_cd
, b.div_cd
, a.edu_slct_area_cd
FROM
/*
ve_lctr_stng d,
*/
ve_edu_chasi_instr_asgnm c ,
ve_edu_chasi b ,
ve_edu_aplct a
WHERE 1 =1
AND SUBSTR(b.edu_hope_dt,1,4)=#mngNmbrYr#
AND b.edu_aplct_ord =c.edu_aplct_ord
AND b.edu_chasi_ord =c.edu_chasi_ord
AND b.edu_aplct_ord =a.edu_aplct_ord
AND NVL(a.use_yn,'Y') ='Y'
AND a.aprvl_cd = '60'
AND c.asgnm_aprvl_cd = '30'
AND a.lctr_div_cd =#lctrDivCd#
)aa
GROUP BY aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd, aa.edu_slct_area_cd
)aaa
GROUP BY edu_hope_yr
UNION ALL
/* 구분별 집계 */
SELECT edu_hope_yr, '99' div_cd
, aaa.edu_slct_cd
, aaa.edu_slct_area_cd
, SUM(mnt01) AS mnt01
, SUM(mnt02) AS mnt02
, SUM(mnt03) AS mnt03
, SUM(mnt04) AS mnt04
, SUM(mnt05) AS mnt05
, SUM(mnt06) AS mnt06
, SUM(mnt07) AS mnt07
, SUM(mnt08) AS mnt08
, SUM(mnt09) AS mnt09
, SUM(mnt10) AS mnt10
, SUM(mnt11) AS mnt11
, SUM(mnt12) AS mnt12
, SUM(mntSum) AS mntSum
, SUM(cnt01) AS cnt01
, SUM(cnt02) AS cnt02
, SUM(cnt03) AS cnt03
, SUM(cnt04) AS cnt04
, SUM(cnt05) AS cnt05
, SUM(cnt06) AS cnt06
, SUM(cnt07) AS cnt07
, SUM(cnt08) AS cnt08
, SUM(cnt09) AS cnt09
, SUM(cnt10) AS cnt10
, SUM(cnt11) AS cnt11
, SUM(cnt12) AS cnt12
, SUM(cntSum) AS cntSum
FROM (
SELECT aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd, aa.edu_slct_area_cd
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0)) AS mnt01
, SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0)) AS mnt02
, SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0)) AS mnt03
, SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0)) AS mnt04
, SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0)) AS mnt05
, SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0)) AS mnt06
, SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0)) AS mnt07
, SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0)) AS mnt08
, SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0)) AS mnt09
, SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0)) AS mnt10
, SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0)) AS mnt11
, SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mnt12
, SUM(DECODE(aa.edu_hope_dt,'01',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',aa.prsnl,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',aa.prsnl,0)) AS mntSum
, SUM(DECODE(aa.edu_hope_dt,'01',1,0)) AS cnt01
, SUM(DECODE(aa.edu_hope_dt,'02',1,0)) AS cnt02
, SUM(DECODE(aa.edu_hope_dt,'03',1,0)) AS cnt03
, SUM(DECODE(aa.edu_hope_dt,'04',1,0)) AS cnt04
, SUM(DECODE(aa.edu_hope_dt,'05',1,0)) AS cnt05
, SUM(DECODE(aa.edu_hope_dt,'06',1,0)) AS cnt06
, SUM(DECODE(aa.edu_hope_dt,'07',1,0)) AS cnt07
, SUM(DECODE(aa.edu_hope_dt,'08',1,0)) AS cnt08
, SUM(DECODE(aa.edu_hope_dt,'09',1,0)) AS cnt09
, SUM(DECODE(aa.edu_hope_dt,'10',1,0)) AS cnt10
, SUM(DECODE(aa.edu_hope_dt,'11',1,0)) AS cnt11
, SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cnt12
, SUM(DECODE(aa.edu_hope_dt,'01',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'02',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'03',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'04',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'05',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'06',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'07',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'08',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'09',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'10',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'11',1,0))
+ SUM(DECODE(aa.edu_hope_dt,'12',1,0)) AS cntSum
FROM (
SELECT
SUBSTR(b.edu_hope_dt,1,4) AS edu_hope_yr
, SUBSTR(b.edu_hope_dt,6,2) AS edu_hope_dt
, b.prsnl
, a.edu_slct_cd
, b.div_cd
, a.edu_slct_area_cd
FROM
/*
ve_lctr_stng d,
*/
ve_edu_chasi_instr_asgnm c ,
ve_edu_chasi b ,
ve_edu_aplct a
WHERE 1 =1
AND SUBSTR(b.edu_hope_dt,1,4)=#mngNmbrYr#
AND b.edu_aplct_ord =c.edu_aplct_ord
AND b.edu_chasi_ord =c.edu_chasi_ord
AND b.edu_aplct_ord =a.edu_aplct_ord
AND NVL(a.use_yn,'Y') ='Y'
AND a.aprvl_cd = '60'
AND c.asgnm_aprvl_cd = '30'
AND a.lctr_div_cd =#lctrDivCd#
)aa
GROUP BY aa.edu_hope_yr, aa.div_cd, aa.edu_slct_cd, aa.edu_slct_area_cd
)aaa
GROUP BY edu_hope_yr, aaa.edu_slct_cd, aaa.edu_slct_area_cd
)aaaa
)bbbb
ON(
1=1
AND aaaa.edu_hope_yr=bbbb.edu_hope_yr
AND aaaa.div_cd=bbbb.div_cd
AND aaaa.edu_slct_cd=bbbb.edu_slct_cd
AND aaaa.edu_slct_area_cd=bbbb.edu_slct_area_cd
)
LEFT OUTER JOIN LETTCCMMNDETAILCODE CCCC ON
(1=1
AND cccc.code_id='VE0008'
AND aaaa.edu_slct_area_cd=cccc.code
)
WHERE aaaa.div_cd='99' /* 필터를 위한 고정값 */
AND aaaa.no3 = #no3# /* 10-횟수, 20-인원 */
AND NVL(cccc.code,'999')!='400' /* 지역코드 온라인 제외 */
AND (
(
/* 온라인 오프라인 데이터를 위한 필터 */
aaaa.edu_slct_cd IN('10','20')
AND cccc.code_id IS NOT null
)
OR (
/* 합계 결과 조절을 위한 필터 */
aaaa.edu_slct_cd IN('99')
AND cccc.code_id IS null
)
)
ORDER BY aaaa.edu_hope_yr
, aaaa.edu_slct_cd
, cccc.code_nm
, DECODE(aaaa.div_cd,'99','00',aaaa.div_cd)
, DECODE(aaaa.edu_slct_cd,'99','00',DECODE(aaaa.edu_slct_cd,'20','05',aaaa.edu_slct_cd)) DESC
</select>
<!-- 교육실정통계 -⑤월별 교육대상별 교육횟수(그래프 포함),⑥월별 교육대상별 교육횟수(그래프 포함),⑦월별 교육대상별 교육인원(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7 */
@ -1094,7 +1794,7 @@
SELECT
SUBSTR(b.edu_hope_dt,1,4) AS edu_hope_yr
, SUBSTR(b.edu_hope_dt,6,2) AS edu_hope_dt
, b.prsnl
, a.edu_prsnl as prsnl
, a.edu_slct_cd
/*
, b.div_cd

View File

@ -395,6 +395,49 @@
}
});
}
function updateTrgtData(p_name, p_data){
//$("#prvtMemoCn").val($("#hiddenMemo").val());
if ($("#"+p_data).val()!=$("#"+p_data).val()*1){
$("#"+p_data).val('');
}
if ($("#"+p_data).val()==''){
alert("교육인원 값을 넣어주세요.");
return;
}
var p_name_val = $("#"+p_data).val();
//return;
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/eduAplctTrgtUpdateAjax.do",
data:{
"eduAplctOrd" : '<c:out value="${info.eduAplctOrd}" />'
, "eduPrsnl" : p_name_val
, "type" : p_name
},
dataType:'json',
/*
async: false,
processData: false,
contentType: false,
cache: false,
*/
success:function(returnData){
if(returnData.result == "success"){
alert("저장 되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function testSnd(){
var mailAdress = $("#testSndEMail").val();
@ -620,7 +663,10 @@
<th scope="row">
<p>교육인원</p>
</th>
<td colspan="3">${info.eduPrsnl}</td>
<td colspan="3">
<input type="text" id="newEduPrsnl" onkeyup="onlyNumber(this);" maxlength="3" placeholder="교육인원" value="${info.eduPrsnl}"/>
&nbsp;<button type="button" class="btn_type08" onclick="updateTrgtData('eduPrsnl','newEduPrsnl'); return false;">교육인원변경</button>
</td>
</tr>
<tr>
<th scope="row">

View File

@ -84,14 +84,14 @@
function excelDownLoad_no1(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no1.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduPrfrmMngExcelDownLoad_adult_no1.do'/>";
listForm.submit();
}
function excelDownLoad_no2_no3(p_no3){
var listForm = document.listForm ;
listForm.no3.value = p_no3;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no2_no3.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduPrfrmMngExcelDownLoad_adult_no2_no3.do'/>";
listForm.submit();
}

View File

@ -324,7 +324,7 @@
$.each(trObj , function(idx, row){
if($(this).find('input[name=eduHopeDt]').val() == ''){
alert('교육희망일 입력해주세요.');
alert('교육실시일 입력해주세요.');
$('input[name=eduHopeDt]:eq('+idx+')').focus();
return flag = false;
}
@ -343,7 +343,7 @@
var todayDate = new Date(tyyyy, tmm-1, tdd)
if(eduHopeDtDate < todayDate) {
alert('교육희망일은 오늘 이후의 날짜로 입력해주세요.');
alert('교육실시일은 오늘 이후의 날짜로 입력해주세요.');
return flag = false;
}
/*