2024-03-27 11:52 성인찾교-교육실적통계
This commit is contained in:
parent
0cefdb4fdd
commit
cf4f79897c
@ -67,4 +67,7 @@ public interface VEEduAplctService {
|
||||
void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception;
|
||||
|
||||
void insertRslt(VEEduAplctVO vEEduAplctVO);
|
||||
|
||||
//특정컬럼만 update
|
||||
int trgtUpdateWithQuery(VEEduAplctVO paramVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 강사공개메모 저장
|
||||
*/
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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}"/>
|
||||
<button type="button" class="btn_type08" onclick="updateTrgtData('eduPrsnl','newEduPrsnl'); return false;">교육인원변경</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
/*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user