2024-01-10 18:20 통계페이지 작업(1 to 3)
This commit is contained in:
parent
6552faa426
commit
ac2e4b4817
@ -208,6 +208,10 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
private String yNowMthreeStsfc;
|
private String yNowMthreeStsfc;
|
||||||
private String yNowMfourStsfc;
|
private String yNowMfourStsfc;
|
||||||
|
|
||||||
|
private String lctrDivCd; //강의구분코드 VE0011 - 10-청소년, 20-성인, 30-체험교실, 50-실무영역, 60-기소유예
|
||||||
|
|
||||||
|
private String no3; //통계 데이터 구분 10-횟수, 20-인원
|
||||||
|
|
||||||
|
|
||||||
public String getDesc1() {
|
public String getDesc1() {
|
||||||
return desc1;
|
return desc1;
|
||||||
@ -1051,5 +1055,17 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setyNowMfourStsfc(String yNowMfourStsfc) {
|
public void setyNowMfourStsfc(String yNowMfourStsfc) {
|
||||||
this.yNowMfourStsfc = yNowMfourStsfc;
|
this.yNowMfourStsfc = yNowMfourStsfc;
|
||||||
}
|
}
|
||||||
|
public String getLctrDivCd() {
|
||||||
|
return lctrDivCd;
|
||||||
|
}
|
||||||
|
public void setLctrDivCd(String lctrDivCd) {
|
||||||
|
this.lctrDivCd = lctrDivCd;
|
||||||
|
}
|
||||||
|
public String getNo3() {
|
||||||
|
return no3;
|
||||||
|
}
|
||||||
|
public void setNo3(String no3) {
|
||||||
|
this.no3 = no3;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -113,4 +113,11 @@ public interface VEInstrMixService {
|
|||||||
List<VEInstrDetailVO> selectWhereInDetailReport(VEInstrDetailVO vEInstrDetailVO);
|
List<VEInstrDetailVO> selectWhereInDetailReport(VEInstrDetailVO vEInstrDetailVO);
|
||||||
|
|
||||||
List<VEInstrDetailVO> selectInstrExcelList(VEInstrDetailVO vEInstrDetailVO);
|
List<VEInstrDetailVO> selectInstrExcelList(VEInstrDetailVO vEInstrDetailVO);
|
||||||
|
|
||||||
|
|
||||||
|
//교육실정통계- ①월별 횟수/교육인원(그래프 포함)
|
||||||
|
List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||||
|
|
||||||
|
//교육실정통계- ②월별 지역별 교육횟수/③교육인원(그래프 포함)
|
||||||
|
List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -188,7 +188,7 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
|
|||||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VEInstrMixDAO.selectEduPrfrmInfo", vEInstrDetailVO);
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VEInstrMixDAO.selectEduPrfrmInfo", vEInstrDetailVO);
|
||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<VELctrDetailVO> selectEduPrfrmInfoAdult(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
public List<VELctrDetailVO> selectEduPrfrmInfoAdult(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VEInstrMixDAO.selectEduPrfrmInfoAdult", vEInstrDetailVO);
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VEInstrMixDAO.selectEduPrfrmInfoAdult", vEInstrDetailVO);
|
||||||
return tlist;
|
return tlist;
|
||||||
@ -245,4 +245,17 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
|
|||||||
List<VEInstrDetailVO> tlist = (List<VEInstrDetailVO>) list("VEInstrMixDAO.selectInstrExcelList", vEInstrDetailVO);
|
List<VEInstrDetailVO> tlist = (List<VEInstrDetailVO>) list("VEInstrMixDAO.selectInstrExcelList", vEInstrDetailVO);
|
||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//통계정보-청소년-①월별 횟수/교육인원(그래프 포함)
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||||
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_tngr_no1", vEInstrDetailVO);
|
||||||
|
return tlist;
|
||||||
|
}
|
||||||
|
|
||||||
|
//통계정보-청소년-②월별 지역별 교육횟수/③교육인원(그래프 포함)
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||||
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_tngr_no2_no3", vEInstrDetailVO);
|
||||||
|
return tlist;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -138,7 +138,7 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
|
|||||||
public List<VELctrDetailVO> selectEduPrfrmInfo(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
public List<VELctrDetailVO> selectEduPrfrmInfo(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
return vEInstrMixDAO.selectEduPrfrmInfo(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfo(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<VELctrDetailVO> selectEduPrfrmInfoAdult(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
public List<VELctrDetailVO> selectEduPrfrmInfoAdult(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
return vEInstrMixDAO.selectEduPrfrmInfoAdult(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfoAdult(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
@ -196,4 +196,14 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
|
|||||||
public List<VEInstrDetailVO> selectInstrExcelList(VEInstrDetailVO vEInstrDetailVO) {
|
public List<VEInstrDetailVO> selectInstrExcelList(VEInstrDetailVO vEInstrDetailVO) {
|
||||||
return vEInstrMixDAO.selectInstrExcelList(vEInstrDetailVO);
|
return vEInstrMixDAO.selectInstrExcelList(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_tngr_no1(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no2_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1315,6 +1315,88 @@ public class EduAsgnmCnfrmMngTngrController {
|
|||||||
return "oprtn/tngrVisitEdu/eduPrfrmMngList";
|
return "oprtn/tngrVisitEdu/eduPrfrmMngList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 교육실적통계 화면
|
||||||
|
*/
|
||||||
|
@RequestMapping("newEduPrfrmMngList.do")
|
||||||
|
public String newEduPrfrmMngList(
|
||||||
|
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
|
||||||
|
, @ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO
|
||||||
|
, @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail
|
||||||
|
|
||||||
|
, HttpSession session
|
||||||
|
, ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
|
||||||
|
|
||||||
|
//설정 년 리스트(과거~올해+1)
|
||||||
|
List<VELctrDetailVO> selectStngYrList = vELctrMIXService.selectStngYrList(vELctrDetailVO);
|
||||||
|
model.addAttribute("selectStngYrList", selectStngYrList);
|
||||||
|
|
||||||
|
/*
|
||||||
|
//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.setLctrDivCd("10"); //강의구분코드 VE0011 - 10-청소년, 20-성인, 30-체험교실, 50-실무영역, 60-기소유예
|
||||||
|
//통계- ①월별 횟수/교육인원(그래프 포함)
|
||||||
|
vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
|
List<VELctrDetailVO> selectAsgnmInfoT2List_no1 = vEInstrMixService.selectEduPrfrmInfo_tngr_no1(vEInstrDetailVODetail);
|
||||||
|
|
||||||
|
//복호화
|
||||||
|
selectAsgnmInfoT2List_no1 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no1);
|
||||||
|
|
||||||
|
model.addAttribute("list_no1",selectAsgnmInfoT2List_no1);
|
||||||
|
|
||||||
|
|
||||||
|
/* 10-횟수, 20-인원 */
|
||||||
|
vEInstrDetailVODetail.setNo3("10");
|
||||||
|
//통계- ②월별 지역별 교육횟수(그래프 포함)
|
||||||
|
vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
|
List<VELctrDetailVO> selectAsgnmInfoT2List_no2 = vEInstrMixService.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVODetail);
|
||||||
|
|
||||||
|
//복호화
|
||||||
|
selectAsgnmInfoT2List_no2 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no2);
|
||||||
|
|
||||||
|
model.addAttribute("list_no2",selectAsgnmInfoT2List_no2);
|
||||||
|
|
||||||
|
|
||||||
|
/* 10-횟수, 20-인원 */
|
||||||
|
vEInstrDetailVODetail.setNo3("20");
|
||||||
|
//통계- ③월별 지역별 교육인원(그래프 포함)
|
||||||
|
vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
|
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVODetail);
|
||||||
|
|
||||||
|
//복호화
|
||||||
|
selectAsgnmInfoT2List_no3 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no3);
|
||||||
|
|
||||||
|
model.addAttribute("list_no3",selectAsgnmInfoT2List_no3);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = vEPagingUtil.setPagingStep3_VELctrDetailVO(selectAsgnmInfoT2List, paginationInfo);
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/tngrVisitEdu/newEduPrfrmMngList";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 교육실적통계 Excel
|
* 교육실적통계 Excel
|
||||||
* @param model
|
* @param model
|
||||||
@ -1573,6 +1655,233 @@ public class EduAsgnmCnfrmMngTngrController {
|
|||||||
modelAndView.addObject(model);
|
modelAndView.addObject(model);
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 교육실적통계 Excel - 청소년 - ①월별 횟수/교육인원(그래프 포함)
|
||||||
|
* @param model
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("rawtypes")
|
||||||
|
@RequestMapping(value = "eduPrfrmMngExcelDownLoad_tngr_no1.do")
|
||||||
|
public ModelAndView eduPrfrmMngExcelDownLoad_tngr_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_tngr_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_tngr_no2_no3.do")
|
||||||
|
public ModelAndView eduPrfrmMngExcelDownLoad_tngr_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_tngr_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, 4000
|
||||||
|
|
||||||
|
}; // 너비
|
||||||
|
|
||||||
|
//33개 항목
|
||||||
|
String[] header = {
|
||||||
|
|
||||||
|
"구분"
|
||||||
|
, "지역", "횟수/인원"
|
||||||
|
, "1월"
|
||||||
|
//, "요일"
|
||||||
|
, "2월"
|
||||||
|
|
||||||
|
, "3월", "4월", "5월", "6월", "7월"
|
||||||
|
, "8월", "9월", "10월", "11월", "12월"
|
||||||
|
, "합계"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
String[] order = {
|
||||||
|
|
||||||
|
"EduSlctCd"
|
||||||
|
, "divCd", "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;
|
||||||
|
}
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -1626,4 +1935,26 @@ public class EduAsgnmCnfrmMngTngrController {
|
|||||||
|
|
||||||
return p_paginationInfo;
|
return p_paginationInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private void excelDown(
|
||||||
|
List list,
|
||||||
|
String title,
|
||||||
|
int[] width,
|
||||||
|
String[] header,
|
||||||
|
String[] order,
|
||||||
|
ModelMap model
|
||||||
|
){
|
||||||
|
// 호출
|
||||||
|
SXSSFWorkbook workbook;
|
||||||
|
try {
|
||||||
|
workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(list, header, order, width, title);
|
||||||
|
model.addAttribute("locale", Locale.KOREA);
|
||||||
|
model.addAttribute("workbook", workbook);
|
||||||
|
model.addAttribute("workbookName", title);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,5 +149,8 @@
|
|||||||
<sqlMap resource="egovframework/sqlmap/ve/qustnr/VEALettnQestnrRsltDetail_SQL_Tibero.xml"/> <!-- 설문응답결과 상세 -->
|
<sqlMap resource="egovframework/sqlmap/ve/qustnr/VEALettnQestnrRsltDetail_SQL_Tibero.xml"/> <!-- 설문응답결과 상세 -->
|
||||||
|
|
||||||
<sqlMap resource="egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml"/> <!-- 설문지 MIX 쿼리 -->
|
<sqlMap resource="egovframework/sqlmap/ve/qustnr/VEALettnQestnrMIX_SQL_Tibero.xml"/> <!-- 설문지 MIX 쿼리 -->
|
||||||
|
|
||||||
|
<!-- 통계 2024.01.10 -->
|
||||||
|
<sqlMap resource="egovframework/sqlmap/ve/instr/VESttst_MIX_SQL_Tibero.xml"/><!-- 통계 쿼리 -->
|
||||||
|
|
||||||
</sqlMapConfig>
|
</sqlMapConfig>
|
||||||
@ -0,0 +1,708 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
|
||||||
|
<!-- 찾교 강사, 강사상세 테이블 -->
|
||||||
|
<sqlMap namespace="VESttstMix">
|
||||||
|
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
|
||||||
|
<typeAlias alias="VEInstrDetailVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO"/>
|
||||||
|
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
|
||||||
|
<typeAlias alias="VELctrSttsVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrSttsVO"/>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 교육실정통계 -①월별 횟수/교육인원(그래프 포함) -->
|
||||||
|
<select id="VESttstMixDAO.selectEduPrfrmInfo_tngr_no1" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
|
||||||
|
/* VESttstMixDAO.selectEduPrfrmInfo_tngr_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
|
||||||
|
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt01 ELSE bbbb.cnt01 END mnt01
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt02 ELSE bbbb.cnt02 END mnt02
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt03 ELSE bbbb.cnt03 END mnt03
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt04 ELSE bbbb.cnt04 END mnt04
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt05 ELSE bbbb.cnt05 END mnt05
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt06 ELSE bbbb.cnt06 END mnt06
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt07 ELSE bbbb.cnt07 END mnt07
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt08 ELSE bbbb.cnt08 END mnt08
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt09 ELSE bbbb.cnt09 END mnt09
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt10 ELSE bbbb.cnt10 END mnt10
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt11 ELSE bbbb.cnt11 END mnt11
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mnt12 ELSE bbbb.cnt12 END mnt12
|
||||||
|
, CASE WHEN aaaa.no3='20' THEN bbbb.mntSum ELSE bbbb.cntSum END 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
|
||||||
|
, 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
|
||||||
|
|
||||||
|
|
||||||
|
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_tngr_no2_no3" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
|
||||||
|
/* VESttstMixDAO.selectEduPrfrmInfo_tngr_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
|
||||||
|
, 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
|
||||||
|
|
||||||
|
|
||||||
|
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 (
|
||||||
|
(
|
||||||
|
/* 온라인 오프라인 데이터를 위한 필터 */
|
||||||
|
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.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>
|
||||||
|
</sqlMap>
|
||||||
@ -314,8 +314,22 @@
|
|||||||
UNION ALL SELECT '07' FROM DUAL
|
UNION ALL SELECT '07' FROM DUAL
|
||||||
UNION ALL SELECT '08' FROM DUAL
|
UNION ALL SELECT '08' FROM DUAL
|
||||||
UNION ALL SELECT '09' FROM DUAL
|
UNION ALL SELECT '09' FROM DUAL
|
||||||
|
|
||||||
|
UNION ALL SELECT '10' FROM DUAL
|
||||||
|
UNION ALL SELECT '11' FROM DUAL
|
||||||
|
UNION ALL SELECT '12' FROM DUAL
|
||||||
|
UNION ALL SELECT '13' FROM DUAL
|
||||||
|
UNION ALL SELECT '14' FROM DUAL
|
||||||
|
UNION ALL SELECT '15' FROM DUAL
|
||||||
|
UNION ALL SELECT '16' FROM DUAL
|
||||||
|
UNION ALL SELECT '17' FROM DUAL
|
||||||
|
UNION ALL SELECT '18' FROM DUAL
|
||||||
|
UNION ALL SELECT '19' FROM DUAL
|
||||||
|
UNION ALL SELECT '20' FROM DUAL
|
||||||
|
|
||||||
UNION ALL SELECT '0' FROM DUAL
|
UNION ALL SELECT '0' FROM DUAL
|
||||||
)b
|
)b
|
||||||
|
WHERE to_char(SYSDATE, 'yyyy') >= concat(round(a.stndrd_yr * 1 + b.stndrd_mnt * 1 - 1), '')
|
||||||
ORDER BY a.stndrd_yr*1+b.stndrd_mnt*1
|
ORDER BY a.stndrd_yr*1+b.stndrd_mnt*1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@ -139,7 +139,8 @@
|
|||||||
<select class="sel_type1" name="mngNmbrYr" id="mngNmbrYr" title="줄 선택" style="width: 140px">
|
<select class="sel_type1" name="mngNmbrYr" id="mngNmbrYr" title="줄 선택" style="width: 140px">
|
||||||
|
|
||||||
<c:forEach var="list" items="${selectStngYrList}" varStatus="status">
|
<c:forEach var="list" items="${selectStngYrList}" varStatus="status">
|
||||||
<c:if test="${list.stngYr eq vEEduAplctVO.mngNmbrYr}">
|
<c:if test="${list.stngYr eq vEEduAplctVO.mngNmbrYr
|
||||||
|
or (empty vEEduAplctVO.mngNmbrYr and list.useYn eq '1')}">
|
||||||
<option value='${list.stngYr}' selected>${list.stngYr*1}년</option>
|
<option value='${list.stngYr}' selected>${list.stngYr*1}년</option>
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${list.stngYr ne vEEduAplctVO.mngNmbrYr}">
|
<c:if test="${list.stngYr ne vEEduAplctVO.mngNmbrYr}">
|
||||||
@ -153,7 +154,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- //list_top -->
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<c:if test="${not empty vEEduAplctVO.mngNmbrYr}">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- list util -->
|
<!-- list util -->
|
||||||
<div class="list_util">
|
<div class="list_util">
|
||||||
@ -275,6 +282,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- //list -->
|
<!-- //list -->
|
||||||
|
|
||||||
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -0,0 +1,551 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : newEduPrfrmMngList.jsp
|
||||||
|
* @Description : 교육신청관리 > 교육실적통계 (new 2024-01-10)
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2021.12.14
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function press(event) {
|
||||||
|
if (event.keyCode==13) {
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncReset(thisObj){
|
||||||
|
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||||
|
$.each(targetObj, function(){
|
||||||
|
if($(this).prop('tagName') == 'SELECT'){
|
||||||
|
if($(this).attr('name').indexOf('Month') != -1){
|
||||||
|
$(this).val(new Date().getMonth()+1);
|
||||||
|
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||||
|
$(this).val(new Date().getFullYear());
|
||||||
|
}else{
|
||||||
|
$(this).prop("selectedIndex", 0);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$(this).val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/newEduPrfrmMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoDetail(eduAplctOrd){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.eduAplctOrd.value = eduAplctOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAsgnmCnfrmMngDetail.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function excelDownLoad_no1(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_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.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function excelDownLoadArea(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAreaExcelDownLoad.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 강사 거리계산
|
||||||
|
function fncInstrDstncInfo() {
|
||||||
|
var form = document.listForm ;
|
||||||
|
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrAsgnmDstncPopup.do'/>";
|
||||||
|
|
||||||
|
window.open("#", "_dstncPop", "scrollbars = no, top=100px, left=100px, height=750px, width=1200px");
|
||||||
|
form.target = "_dstncPop";
|
||||||
|
form.submit();
|
||||||
|
form.target = "_self";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>교육확정관리</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO" method="post" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" name="eduAplctOrd" value="" />
|
||||||
|
<input type="hidden" name="no3" value="" />
|
||||||
|
<input type="hidden" name="lctrDivCd" value="10" />
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육실적통계</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>청소년 찾아가는 저작권 교육</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">교육실적통계</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>구분</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<select class="sel_type1" name="mngNmbrYr" id="mngNmbrYr" title="줄 선택" style="width: 140px">
|
||||||
|
|
||||||
|
<c:forEach var="list" items="${selectStngYrList}" varStatus="status">
|
||||||
|
<c:if test="${list.stngYr eq vEEduAplctVO.mngNmbrYr
|
||||||
|
or (empty vEEduAplctVO.mngNmbrYr and list.useYn eq '1')}">
|
||||||
|
<option value='${list.stngYr}' selected>${list.stngYr*1}년</option>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${list.stngYr ne vEEduAplctVO.mngNmbrYr}">
|
||||||
|
<option value='${list.stngYr}'>${list.stngYr*1}년</option>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<c:if test="${not empty vEEduAplctVO.mngNmbrYr}">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<!--
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
-->
|
||||||
|
<p class="list_util_p"></p>
|
||||||
|
<div>
|
||||||
|
*교육신청과 강사배정이 모두 확정된 데이터 기준
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<!--
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
-->
|
||||||
|
<p class="list_util_p">
|
||||||
|
①월별 횟수/교육인원
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoadArea();">엑셀 다운로드(강의지역)</button> -->
|
||||||
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no1();">엑셀 다운로드</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- <th>대상</th> -->
|
||||||
|
<th>구분</th>
|
||||||
|
<th>횟수/인원</th>
|
||||||
|
|
||||||
|
<th>1월</th>
|
||||||
|
<th>2월</th>
|
||||||
|
<th>3월</th>
|
||||||
|
<th>4월</th>
|
||||||
|
<th>5월</th>
|
||||||
|
<th>6월</th>
|
||||||
|
<th>7월</th>
|
||||||
|
<th>8월</th>
|
||||||
|
<th>9월</th>
|
||||||
|
<th>10월</th>
|
||||||
|
<th>11월</th>
|
||||||
|
<th>12월</th>
|
||||||
|
<th>합계</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:set var="title1" value="" />
|
||||||
|
<c:set var="title2" value="" />
|
||||||
|
<c:forEach var="list" items="${list_no1}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<!--
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.divCd eq title1}">
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.divCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
-->
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.eduSlctCd eq title2}">
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.eduSlctCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td><c:out value="${list.chasi}"/></td>
|
||||||
|
|
||||||
|
<td><fmt:formatNumber value="${list.mnt01}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt02}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt03}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt04}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt05}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt06}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt07}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt08}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt09}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt10}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt11}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt12}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mntSum}" pattern="#,###"/></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<c:set var="title1" value="${list.divCd}" />
|
||||||
|
<c:set var="title2" value="${list.eduSlctCd}" />
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list_no1}">
|
||||||
|
<tr><td colspan="15"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<!--
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
-->
|
||||||
|
<p class="list_util_p">
|
||||||
|
②월별 지역별 교육횟수
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoadArea();">엑셀 다운로드(강의지역)</button> -->
|
||||||
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no2_no3('10');">엑셀 다운로드</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- <th>대상</th> -->
|
||||||
|
<th>구분</th>
|
||||||
|
<th>지역</th>
|
||||||
|
<th>횟수/인원</th>
|
||||||
|
|
||||||
|
<th>1월</th>
|
||||||
|
<th>2월</th>
|
||||||
|
<th>3월</th>
|
||||||
|
<th>4월</th>
|
||||||
|
<th>5월</th>
|
||||||
|
<th>6월</th>
|
||||||
|
<th>7월</th>
|
||||||
|
<th>8월</th>
|
||||||
|
<th>9월</th>
|
||||||
|
<th>10월</th>
|
||||||
|
<th>11월</th>
|
||||||
|
<th>12월</th>
|
||||||
|
<th>합계</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:set var="title1" value="" />
|
||||||
|
<c:set var="title2" value="" />
|
||||||
|
<c:forEach var="list" items="${list_no2}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<!--
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.divCd eq title1}">
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.divCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
-->
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.eduSlctCd eq title2}">
|
||||||
|
<c:out value="${list.eduSlctCd}"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.eduSlctCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td><c:out value="${list.divCd}"/></td>
|
||||||
|
<td><c:out value="${list.chasi}"/></td>
|
||||||
|
|
||||||
|
<td><fmt:formatNumber value="${list.mnt01}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt02}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt03}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt04}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt05}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt06}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt07}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt08}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt09}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt10}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt11}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt12}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mntSum}" pattern="#,###"/></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<c:set var="title1" value="${list.divCd}" />
|
||||||
|
<c:set var="title2" value="${list.eduSlctCd}" />
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list_no2}">
|
||||||
|
<tr><td colspan="15"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<!--
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
-->
|
||||||
|
<p class="list_util_p">
|
||||||
|
③월별 지역별 교육인원
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoadArea();">엑셀 다운로드(강의지역)</button> -->
|
||||||
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no2_no3('20');">엑셀 다운로드</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- <th>대상</th> -->
|
||||||
|
<th>구분</th>
|
||||||
|
<th>지역</th>
|
||||||
|
<th>횟수/인원</th>
|
||||||
|
|
||||||
|
<th>1월</th>
|
||||||
|
<th>2월</th>
|
||||||
|
<th>3월</th>
|
||||||
|
<th>4월</th>
|
||||||
|
<th>5월</th>
|
||||||
|
<th>6월</th>
|
||||||
|
<th>7월</th>
|
||||||
|
<th>8월</th>
|
||||||
|
<th>9월</th>
|
||||||
|
<th>10월</th>
|
||||||
|
<th>11월</th>
|
||||||
|
<th>12월</th>
|
||||||
|
<th>합계</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:set var="title1" value="" />
|
||||||
|
<c:set var="title2" value="" />
|
||||||
|
<c:forEach var="list" items="${list_no3}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<!--
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.divCd eq title1}">
|
||||||
|
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.divCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
-->
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.eduSlctCd eq title2}">
|
||||||
|
<c:out value="${list.eduSlctCd}"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.eduSlctCd}"/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td><c:out value="${list.divCd}"/></td>
|
||||||
|
<td><c:out value="${list.chasi}"/></td>
|
||||||
|
|
||||||
|
<td><fmt:formatNumber value="${list.mnt01}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt02}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt03}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt04}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt05}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt06}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt07}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt08}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt09}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt10}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt11}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mnt12}" pattern="#,###"/></td>
|
||||||
|
<td><fmt:formatNumber value="${list.mntSum}" pattern="#,###"/></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<c:set var="title1" value="${list.divCd}" />
|
||||||
|
<c:set var="title2" value="${list.eduSlctCd}" />
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list_no3}">
|
||||||
|
<tr><td colspan="15"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user