This commit is contained in:
ITN_디자인팀 2024-01-12 12:52:04 +09:00
commit 3668e50d02
26 changed files with 1544 additions and 59 deletions

View File

@ -187,6 +187,7 @@ public class ExprnClsrmEndController {
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList);
model.addAttribute("cnt", vEEduAplctVOList.size());
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList";
}

View File

@ -115,6 +115,7 @@ public interface VEInstrMixService {
List<VEInstrDetailVO> selectInstrExcelList(VEInstrDetailVO vEInstrDetailVO);
//청소년 통계
//교육실정통계- 월별 횟수/교육인원(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no1(VEInstrDetailVO vEInstrDetailVO) throws Exception;
@ -129,4 +130,9 @@ public interface VEInstrMixService {
//교육실정통계- 도서벽지별 지역교육횟수, 교육인원, 교육기관, 교육일자(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no9(VEInstrDetailVO vEInstrDetailVO) throws Exception;
//성인 통계
//교육실정통계- 월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육횟수(그래프 포함),월별 교육대상별 교육인원(그래프 포함)
List<VELctrDetailVO> selectEduPrfrmInfo_adult_no5_no6_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception;
}

View File

@ -276,4 +276,11 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_tngr_no9", 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);
return tlist;
}
}

View File

@ -217,4 +217,8 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
public List<VELctrDetailVO> selectEduPrfrmInfo_tngr_no9(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_tngr_no9(vEInstrDetailVO);
}
public List<VELctrDetailVO> selectEduPrfrmInfo_adult_no5_no6_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
return vEInstrMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7(vEInstrDetailVO);
}
}

View File

@ -801,6 +801,126 @@ public class EduAsgnmCnfrmMngAdultController {
return "oprtn/adultVisitEdu/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);
//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);
}
//통계- 월별 지역별 교육횟수(그래프 포함)
{
vEInstrDetailVODetail.setNo3("10"); /* 10-횟수, 20-인원 */
//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);
}
//통계- 월별 지역별 교육인원(그래프 포함)
{
vEInstrDetailVODetail.setNo3("20"); /* 10-횟수, 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);
}
//통계- 월별 강사종류별,강사별 교육횟수(그래프 포함)
{
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no4 = vEInstrMixService.selectEduPrfrmInfo_tngr_no4(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no4 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no4);
model.addAttribute("list_no4",selectAsgnmInfoT2List_no4);
}
// 월별 교육대상별 교육횟수(그래프 포함) - 대상이 없어서 제공안됨
// 월별 교육대상별 교육횟수(그래프 포함) - 대상이 없어서 제공안됨
// 월별 교육대상별 교육인원(그래프 포함) - 대상이 없어서 제공안됨
{
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no5_no_6_no7 = vEInstrMixService.selectEduPrfrmInfo_adult_no5_no6_no7(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no5_no_6_no7 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no5_no_6_no7);
model.addAttribute("list_no5_no6_no7",selectAsgnmInfoT2List_no5_no_6_no7);
}
//통계- 인구감소지역별 교육횟수 교육인원, 교육기관, 교육일자(그래프 포함)) - 대상이 없어서 제공안됨
/*
{
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no8 = vEInstrMixService.selectEduPrfrmInfo_tngr_no8(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no8 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no8);
model.addAttribute("list_no8",selectAsgnmInfoT2List_no8);
}
*/
//통계- 도서벽지별 지역교육횟수, 교육인원, 교육기관, 교육일자(그래프 포함)) - 대상이 없어서 제공안됨
/*
{
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
List<VELctrDetailVO> selectAsgnmInfoT2List_no9 = vEInstrMixService.selectEduPrfrmInfo_tngr_no9(vEInstrDetailVODetail);
//복호화
selectAsgnmInfoT2List_no9 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no9);
model.addAttribute("list_no9",selectAsgnmInfoT2List_no9);
}
*/
return "oprtn/adultVisitEdu/newEduPrfrmMngList";
}
/**
* 교육실적통계 Excel
* @param model
@ -904,6 +1024,124 @@ public class EduAsgnmCnfrmMngAdultController {
modelAndView.addObject(model);
return modelAndView;
}
/**
* 교육실적통계 Excel - 청소년 - 월별 교육대상별 교육횟수(그래프 포함)/ 월별 교육대상별 교육횟수(그래프 포함)/ 월별 교육대상별 교육인원(그래프 포함)
* @param model
* @return
* @throws Exception
*/
@SuppressWarnings("rawtypes")
@RequestMapping(value = "eduPrfrmMngExcelDownLoad_adult_no5_no6_no7.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_no5_no6_no7 = vEInstrMixService.selectEduPrfrmInfo_adult_no5_no6_no7(vEInstrDetailVODetail);
//복호화
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
System.out.println("out-list-2");
List<Object> excelData = new ArrayList<>();
excelData.addAll(selectAsgnmInfoT2List_no5_no6_no7);
// 세팅값
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 = {
"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;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
@ -957,4 +1195,26 @@ public class EduAsgnmCnfrmMngAdultController {
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();
}
}
}

View File

@ -397,7 +397,7 @@ public class OprtnAplctAnncmMngController {
int i_file_limit_cn = 50; // file count
int i_limit_size_cn = 100; // file MB
String s_file_exts_cn = "pdf|txt"; // file exts
String s_file_exts_cn = "jpg|jpeg|png|gif|bmp|pdf|doc|docx|xls|xlsx|ppt|pptx|hwp|txt"; // file exts
final Map<String, MultipartFile> files = multiRequest.getFileMap();
@ -538,8 +538,7 @@ public class OprtnAplctAnncmMngController {
int i_file_limit_cn = 50; // file count
int i_limit_size_cn = 100; // file MB
String s_file_exts_cn = "pdf|txt"; // file exts
String s_file_exts_cn = "jpg|jpeg|png|gif|bmp|pdf|doc|docx|xls|xlsx|ppt|pptx|hwp|txt"; // file exts
final Map<String, MultipartFile> files = multiRequest.getFileMap();
Map<String, MultipartFile> files_ori = new HashMap<String, MultipartFile>();

View File

@ -5759,8 +5759,19 @@
AND A.SBMT_YN = 'Y'
AND A.LCTR_DIV_CD = #lctrDivCd#
<isNotEmpty property="aprvlCd">
AND A.APRVL_CD=#aprvlCd#
</isNotEmpty>
AND A.APRVL_CD=#aprvlCd#
</isNotEmpty>
<isNotEmpty property="searchCpyAprvlCd">
AND A.APRVL_CD=#searchCpyAprvlCd#
</isNotEmpty>
<isEmpty property="searchCpyAprvlCd">
<isNotEmpty property="searchClass">
AND A.APRVL_CD >= 20
</isNotEmpty>
</isEmpty>
<isNotEmpty property="searchYear">
AND TO_CHAR(A.SBMT_PNTTM,'YYYY') = #searchYear#
</isNotEmpty>
ORDER BY A.EDU_APLCT_ORD DESC
</select>

View File

@ -36,19 +36,19 @@
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
, 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 (
@ -917,4 +917,363 @@
, b.strt_tm
</select>
<!-- 교육실정통계 -⑤월별 교육대상별 교육횟수(그래프 포함),⑥월별 교육대상별 교육횟수(그래프 포함),⑦월별 교육대상별 교육인원(그래프 포함) -->
<select id="VESttstMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
/* VESttstMixDAO.selectEduPrfrmInfo_adult_no5_no6_no7 */
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 '기업.단체'
WHEN aaaa.div_cd='40' THEN '문화예술'
WHEN aaaa.div_cd='60' THEN '학부모'
WHEN aaaa.div_cd='80' 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 40 no1 FROM DUAL
UNION ALL SELECT 60 no1 FROM DUAL
UNION ALL SELECT 80 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
, 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
, 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.INSTT_DIV_CD AS 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
)aaa
GROUP BY edu_hope_yr
UNION ALL
/* 구분별 집계 */
SELECT edu_hope_yr
/*
, '99' div_cd
*/
, aaa.div_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
*/
, a.INSTT_DIV_CD AS 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
)aaa
GROUP BY edu_hope_yr, aaa.div_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 1=1
/*
WHERE aaaa.div_cd='99'
*/
ORDER BY aaaa.edu_hope_yr
, aaaa.no3
, aaaa.div_cd
, DECODE(aaaa.div_cd,'99','00',aaaa.div_cd)
</select>
</sqlMap>

View File

@ -128,7 +128,7 @@
<%-- <a href="#" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )"> --%>
<!-- pdf 보기 -->
<!-- </a> -->
<button type="button" class="btnType06 pdf_bt" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )" title="파일 다운로드">pdf 보기</button>
<button type="button" class="btnType06 pdf_bt" onclick="fn_egov_pdfView('<c:out value="${fileVO.atchFileId}"/>','<c:out value="${fileVO.fileSn}"/>' , '<c:out value="${fileVO.fileExtsn}"/>' )" title="파일 다운로드">미리보기</button>
</c:if>
</c:if>
</li>

View File

@ -463,11 +463,6 @@ function jstreeRefresh() {
//코드 정보 저장. 등록/수정
function fn_save_menuInfo(menuNo) {
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?.]/gi;
if(special_pattern.test(document.menuForm.menuNo.value) == true){
alert("코드 코드는 특수문자를 쓸수 없습니다.") ;
return;
}
if(menuNo == null || "undefined"== menuNo){
alert("저장 하려는 코드를 먼저 코드트리에서 생성해 주세요."); return ;

View File

@ -0,0 +1,807 @@
<!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/adultVisitEdu/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/adultVisitEdu/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 excelDownLoad_no4(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no4.do'/>";
listForm.submit();
}
function excelDownLoad_no5_no6_no7(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/eduPrfrmMngExcelDownLoad_adult_no5_no6_no7.do'/>";
listForm.submit();
}
function excelDownLoad_no8(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no8.do'/>";
listForm.submit();
}
function excelDownLoad_no9(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no9.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="20" />
<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 -->
<!-- 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_no4();">엑셀 다운로드</button>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<%-- <col style="width: 10%"> --%>
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<!-- <th>대상</th> -->
<th>강사명</th>
<th>구분</th>
<th>교육횟수</th>
<th>강사료</th>
<th>수당</th>
<th>교통비</th>
<th>숙박비</th>
<th>계</th>
</tr>
</thead>
<tbody>
<c:set var="title1" value="" />
<c:set var="title2" value="" />
<c:forEach var="list" items="${list_no4}" 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:out value="${list.instrNm}"/></td>
<td><c:out value="${list.codeNm}"/></td>
<%-- <td><c:out value="${list.chasi}"/></td> --%>
<td><fmt:formatNumber value="${list.lctrAreaCnt}" pattern="#,###"/></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.mntSum}" pattern="#,###"/></td>
</tr>
</c:forEach>
<c:if test="${empty list_no4}">
<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_no5_no6_no7();">엑셀 다운로드</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_no5_no6_no7}" 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.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_no5_no6_no7}">
<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_no8();">엑셀 다운로드</button> -->
</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_no9();">엑셀 다운로드</button> -->
</div>
</div>
</c:if>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -177,7 +177,10 @@
alert("팝업내용을 입력해주세요.");
return false;
} */
if($("#dprtmNm").val() == ""){
alert("담당부서를 입력해주세요.");
return false;
}
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
//var data = new FormData(form);
@ -250,6 +253,19 @@
}
}
for (var i = 0; i < files.length; i++){
var fileNm = files[i].name;
if (fileNm != "") {
var ext = fileNm.slice(fileNm.lastIndexOf(".") + 1).toLowerCase();
var allowedExtensions = ["jpg", "jpeg", "png", "gif", "bmp", "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "hwp", "txt"];
if (!allowedExtensions.includes(ext)) {
alert("jpg, jpeg, png, pdf, doc, docx, xls, xlsx, ppt, pptx, hwp, txt 파일만 업로드 가능합니다.");
e.stopImmediatePropagation(); // block js file upload
return false;
}
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
@ -332,13 +348,6 @@
</th>
<td><input type="text" style="width: 100%;" placeholder="제목을 입력해주세요." name="title" id="title" value="<c:out value='${info.title}'/>"></td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>작성자</p>
</th>
<td><input type="text" value="<c:out value="${loginVO.id}" />" readonly></td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>

View File

@ -150,6 +150,11 @@
return false;
} */
if($("#dprtmNm").val() == ""){
alert("담당부서를 입력해주세요.");
return false;
}
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
//var data = new FormData(form);
@ -224,6 +229,20 @@
}
}
for (var i = 0; i < files.length; i++){
var fileNm = files[i].name;
if (fileNm != "") {
var ext = fileNm.slice(fileNm.lastIndexOf(".") + 1).toLowerCase();
var allowedExtensions = ["jpg", "jpeg", "png", "gif", "bmp", "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "hwp", "txt"];
if (!allowedExtensions.includes(ext)) {
alert("jpg, jpeg, png, pdf, doc, docx, xls, xlsx, ppt, pptx, hwp, txt 파일만 업로드 가능합니다.");
e.stopImmediatePropagation(); // block js file upload
return false;
}
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();

View File

@ -655,7 +655,7 @@
<input type="text" value="${email[0]}" onkeyup="onlyAlphabetNumber(this);" name="email1" id="email1" size="20" maxlength="30" title="이메일 주소 입력">
@
<input type="text" value="${email[1]}" name="email2" id="email2" size="20" maxlength="30" title="이메일 직접 입력">
<kc:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
<kc:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" skipCd="chol.com,dreamwiz.com,freechal.com,hanafos.com,paran.com,yahoo.co.kr,korea.com" onChange="emailSelect(this);"/>
</td>
</tr>
<tr>

View File

@ -144,7 +144,7 @@
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="" />
<input type="hidden" name="aprvlCd" value="60" />
<input type="hidden" name="searchClass" value="Y" /> <!-- 신청목록과 운영목록 엑셀 다운로드 구분을 위한 값. 운영 목록은 상태코드가 20 이상만 조회 -->
<div class="cont_wrap">
<div class="box">

View File

@ -278,7 +278,7 @@
<input type="text" value="${email[0]}" onkeyup="onlyAlphabetNumber(this);" name="email1" id="email1" size="20" maxlength="30" title="이메일 주소 입력">
@
<input type="text" value="${email[1]}" name="email2" id="email2" size="20" maxlength="30" title="이메일 직접 입력">
<ve:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
<ve:select codeId="ADR030" id="emailType" name="emailType" styleClass="sel_type1" defaultValue="" defaultText="직접입력" skipCd="chol.com,dreamwiz.com,freechal.com,hanafos.com,paran.com,yahoo.co.kr,korea.com" onChange="emailSelect(this);"/>
</td>
<%-- <td><c:out value='${info.email}'/></td> --%>
</tr>

View File

@ -58,11 +58,9 @@
<li><span class="number"></span>신청 시 공문양식을 다운로드 받아서 반드시 학교장 직인된 공문을 첨부해야 합니다.</li>
<li><span class="number"></span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li>
<li><span class="number"></span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li>
<li><span class="number"></span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li>
<!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> -->
<li><span class="number"></span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
<li><span class="number"></span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li>
<li><span class="number"></span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
<li><span class="number"></span>신청 시작시간과 마감시간에 유의하시기 바라며, 문의사항은 위원회 업무시간(09:00~18:00) 중체험교실 담당자(055-792-0234)에게 연락주시기 바랍니다.</li>
</ol>
</div>
</div>

View File

@ -143,7 +143,7 @@
<li>
<div class="wrap">
<div class="title">
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon03.png" alt="체험교실 마이페이지 아이콘"> 찾교(체험교실)</p>
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon03.png" alt="체험교실 마이페이지 아이콘"> 체험교실</p>
</div>
<div class="inner_text" style="text-align: left;">
<a href="#" onclick="fn_goExprnListForm(20)">

View File

@ -13,6 +13,13 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
var cnt = ${cnt}
if(cnt == 0){
alert("운영 중인 체험교실이 없습니다.");
location.href = "<c:url value='/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctGuide.do'/>";
}
});
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;

View File

@ -66,7 +66,7 @@
<th scope="row">
<p>교육일정</p>
</th>
<td>연중</td>
<td>(신청) 2월말 ~ 3월초, (운영) 3월 ~ 11월</td>
</tr>
<tr>
<th scope="row">

View File

@ -87,7 +87,7 @@
<li class="p"><a href="#" id="p_20" onclick="tabLoad(this,'20');">운영확정</a></li>
<li class="p"><a href="#" id="p_40" onclick="tabLoad(this,'40');">서류제출</a></li>
<li class="p"><a href="#" id="p_50" onclick="tabLoad(this,'50');">운영 진행중</a></li>
<li class="p"><a href="#" id="p_60" onclick="tabLoad(this,'60');">결과보고 완료</a></li>
<li class="p"><a href="#" id="p_60" onclick="tabLoad(this,'60');">결과보고</a></li>
<li class="p"><a href="#" id="p_70" onclick="tabLoad(this,'70');">검토중</a></li>
<li class="p"><a href="#" id="p_80" onclick="tabLoad(this,'80');">운영종료</a></li>
</ul>

View File

@ -105,7 +105,7 @@
</div>
</div>
<c:out value="${fn:replace(fn:replace(fn:replace(info.anncmCn, crlt , '<'), crgt , '>'), crlf , '<br/>')}" escapeXml="false"/>
<c:out value="${fn:replace(fn:replace(fn:replace(detailVO.anncmCn, crlt , '<'), crgt , '>'), crlf , '<br/>')}" escapeXml="false"/>
<div class="btn_wrap btn_layout01">
<div class="btn_center" style="width: 100%;">

View File

@ -219,7 +219,6 @@
-
</c:otherwise>
</c:choose>
(${list.aprvlCd})
</td>
</tr>
</c:forEach>

View File

@ -701,7 +701,8 @@
script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/>
<label for="scholInsttNm" class="label">학교(기관)명 입력</label>
<input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm">
<button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button> ※ 학교명이 검색되지 않을 경우, 담당자에게 연락
<button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button> <div style="display:inline-flex;">※ 학교검색을 먼저 클릭하여 학교명 입력<br/>검색되지 않을 경우, 담당자에게 연락</div>
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
</td>
</tr>
@ -792,7 +793,7 @@
<label for="email2" class="label">이메일공급자 입력</label>
<input type="text" value="${email[1]}" name="email2" id="email2" onkeyup="onlyAlphabetNumber(this);" size="20" maxlength="30">
<label for="emailType" class="label">이메일공급자 선택</label>
<ve:select codeId="ADR030" id="emailType" name="emailType" styleClass="selType1" defaultValue="" defaultText="직접입력" onChange="emailSelect(this);"/>
<ve:select codeId="ADR030" id="emailType" name="emailType" styleClass="selType1" defaultValue="" defaultText="직접입력" skipCd="chol.com,dreamwiz.com,freechal.com,hanafos.com,paran.com,yahoo.co.kr,korea.com" onChange="emailSelect(this);"/>
<span class="table_req_text">
※ 교내에서 확인 가능한 메일 계정 입력 (예) 공직자 통합메일
</span>
@ -874,7 +875,7 @@
</c:if>
</c:forEach>
</br>
<span>※ 소속학교 변동 여부와는 관계없이 기운영 여부를 체크.</span>
<span>※ 소속학교 변경 여부와는 관계없이 교사 본인을 기준으로 운영여부를 체크</span>
</td>
</tr>
<tr>

View File

@ -72,11 +72,9 @@
<li><span class="number">2.</span>신청 시 공문양식을 다운로드 받아서 반드시 학교장 직인된 공문을 첨부해야 합니다.</li>
<li><span class="number">3.</span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li>
<li><span class="number">4.</span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li>
<li><span class="number">5.</span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li>
<!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> -->
<li><span class="number">6.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
<li><span class="number">7.</span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li>
<li><span class="number">8.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
<li><span class="number">5.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
<li><span class="number">6.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
<li><span class="number">7.</span>신청 시작시간과 마감시간에 유의하시기 바라며, 문의사항은 위원회 업무시간(09:00~18:00) 중<br>체험교실 담당자(055-792-0234)에게 연락주시기 바랍니다.</li>
</ol>
</div>
</c:if>

View File

@ -187,7 +187,6 @@ function handleFileUpload_cn(files,obj) //업로드 function
{
var limitsize = 50*1024*1024; //파일 제한 체크(50개, 50MB)
var limitcount = 999 ;
var allrowFileExtsn = $("input[name=allrowFileExtsn]").val();
if($('#tbody_fiielist_cn').find('tr').length + files.length > limitcount ){
alert("업로드 파일은 최대 "+limitcount+"개 입니다.");
@ -199,10 +198,16 @@ function handleFileUpload_cn(files,obj) //업로드 function
return ;
}
if(allrowFileExtsn != undefined && allrowFileExtsn != ""){
if(allrowFileExtsn.toLowerCase().indexOf(files[i].name.split(".")[1].toLowerCase()) < 0 ){
alert(allrowFileExtsn.toUpperCase() +" 파일 형식만 업로드 가능합니다.");
return ;
for (var i = 0; i < files.length; i++){
var fileNm = files[i].name;
if (fileNm != "") {
var ext = fileNm.slice(fileNm.lastIndexOf(".") + 1).toLowerCase();
var allowedExtensions = ["jpg", "jpeg", "png", "gif", "bmp", "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "hwp", "txt"];
if (!allowedExtensions.includes(ext)) {
alert("jpg, jpeg, png, pdf, doc, docx, xls, xlsx, ppt, pptx, hwp, txt 파일만 업로드 가능합니다.");
e.stopImmediatePropagation(); // block js file upload
return false;
}
}
}
}