2025-10-28 15:48 교육실적통계
This commit is contained in:
parent
221865ec6e
commit
d9632e260a
@ -187,4 +187,9 @@ public interface VEInstrMixService {
|
||||
|
||||
//교육실정통계- ⑦월별 교육차시별 차시명, 이수, 미이수, 연기인원 통계
|
||||
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||
|
||||
|
||||
//예방교육
|
||||
//교육실정통계- ⑤월별 교육 이수 현황(그래프 포함)
|
||||
List<VELctrDetailVO> selectEduPrfrmInfo_csi_prevent_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||
}
|
||||
|
||||
@ -363,4 +363,9 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
|
||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no7", vEInstrDetailVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_prevent_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_prevent_no5", vEInstrDetailVO);
|
||||
return tlist;
|
||||
}
|
||||
}
|
||||
|
||||
@ -290,4 +290,9 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
|
||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no7(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no7(vEInstrDetailVO);
|
||||
}
|
||||
|
||||
|
||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_prevent_no5(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_prevent_no5(vEInstrDetailVO);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -709,9 +709,10 @@ public class PreventMngController {
|
||||
|
||||
|
||||
//vEInstrDetailVODetail.setLctrDivCd("10"); //강의구분코드 VE0011 - 10-청소년, 20-성인, 30-체험교실, 50-실무영역, 60-기소유예
|
||||
|
||||
|
||||
|
||||
//통계- ①검찰청별 교육 의뢰 현황(그래프 포함)
|
||||
/*
|
||||
//통계- ①검찰청별 교육 의뢰 현황(그래프 포함)
|
||||
{
|
||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
@ -726,7 +727,7 @@ public class PreventMngController {
|
||||
|
||||
//통계- ②월별 교육의뢰현황(그래프 포함)
|
||||
{
|
||||
//vEInstrDetailVODetail.setNo3("10"); /* 10-횟수, 20-인원 */
|
||||
//vEInstrDetailVODetail.setNo3("10"); * 10-횟수, 20-인원 *
|
||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
List<VELctrDetailVO> selectAsgnmInfoT2List_no2 = vEInstrMixService.selectEduPrfrmInfo_csi_no2(vEInstrDetailVODetail);
|
||||
@ -739,8 +740,9 @@ public class PreventMngController {
|
||||
|
||||
|
||||
//통계- ③대상별 교육의뢰현황(그래프 포함)
|
||||
{
|
||||
//vEInstrDetailVODetail.setNo3("20"); /* 10-횟수, 20-인원 */
|
||||
{
|
||||
// * 10-횟수, 20-인원 *
|
||||
//vEInstrDetailVODetail.setNo3("20");
|
||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_csi_no3(vEInstrDetailVODetail);
|
||||
@ -760,14 +762,18 @@ public class PreventMngController {
|
||||
|
||||
model.addAttribute("list_no4",selectAsgnmInfoT4List_no4);
|
||||
}
|
||||
*/
|
||||
|
||||
// ⑤월별 교육이수현황(그래프 포함) - 대상이 없어서 제공안됨
|
||||
{
|
||||
vEInstrDetailVODetail.setLctrDivCd(LCTR_DIV_CD);
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||
List<VELctrDetailVO> selectAsgnmInfoT5List = vEInstrMixService.selectEduPrfrmInfo_csi_no5(vEInstrDetailVODetail);
|
||||
List<VELctrDetailVO> selectAsgnmInfoT5List = vEInstrMixService.selectEduPrfrmInfo_csi_prevent_no5(vEInstrDetailVODetail);
|
||||
model.addAttribute("list_no5",selectAsgnmInfoT5List);
|
||||
}
|
||||
|
||||
/*
|
||||
// ⑥대상별 교육이수현황(그래프 포함) - 대상이 없어서 제공안됨
|
||||
{
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
@ -782,6 +788,7 @@ public class PreventMngController {
|
||||
List<VELctrDetailVO> selectAsgnmInfoT7List = vEInstrMixService.selectEduPrfrmInfo_csi_no7(vEInstrDetailVODetail);
|
||||
model.addAttribute("list_no7",selectAsgnmInfoT7List);
|
||||
}
|
||||
*/
|
||||
//통계- ⑧인구감소지역별 교육횟수 교육인원, 교육기관, 교육일자(그래프 포함)) - 대상이 없어서 제공안됨
|
||||
/*
|
||||
{
|
||||
@ -813,6 +820,87 @@ public class PreventMngController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육실적통계 Excel - 조건부기소유예 - 5검찰청별 교육 이수 현황(그래프 포함)
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@SuppressWarnings("rawtypes")
|
||||
@RequestMapping(value = "/kccadr/oprtn/prevent/eduPrfrmMngExcelDownLoad_csi_no5.do")
|
||||
public ModelAndView eduPrfrmMngExcelDownLoad_csi_no5(
|
||||
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
|
||||
, @ModelAttribute("vEInstrDetailVODetail") VEInstrDetailVO vEInstrDetailVODetail
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("excelDownloadView");
|
||||
|
||||
try {
|
||||
|
||||
//통계- ①월별 횟수/교육인원(그래프 포함)
|
||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||
vEInstrDetailVODetail.setSearchEduStateCd("20"); //이수만 보기
|
||||
List<VELctrDetailVO> selectAsgnmInfoT2List = vEInstrMixService.selectEduPrfrmInfo_csi_prevent_no5(vEInstrDetailVODetail);
|
||||
|
||||
//복호화
|
||||
//selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
|
||||
|
||||
System.out.println("out-list-2");
|
||||
|
||||
|
||||
selectAsgnmInfoT2List.get(12).setCodeNm("합계");
|
||||
|
||||
List<Object> excelData = new ArrayList<>();
|
||||
excelData.addAll(selectAsgnmInfoT2List);
|
||||
|
||||
|
||||
// 세팅값
|
||||
String title = "교육실적통계-월별 교육 이수 현황";
|
||||
int[] width = {
|
||||
|
||||
4000, 4000, 4000
|
||||
|
||||
}; // 너비
|
||||
|
||||
//33개 항목
|
||||
String[] header = {
|
||||
|
||||
"월"
|
||||
, "이수(명)"
|
||||
, "횟수"
|
||||
|
||||
};
|
||||
|
||||
String[] order = {
|
||||
|
||||
"CodeNm"
|
||||
, "Cnt"
|
||||
, "Cnt2"
|
||||
|
||||
};
|
||||
|
||||
excelDown(
|
||||
excelData,
|
||||
title,
|
||||
width,
|
||||
header,
|
||||
order,
|
||||
model
|
||||
);
|
||||
|
||||
}catch(Exception ep) {
|
||||
ep.getStackTrace();
|
||||
}
|
||||
|
||||
|
||||
modelAndView.addObject(model);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* @methodName : instrActvtHstrySignMngList
|
||||
* @author : 이호영
|
||||
@ -3294,4 +3382,26 @@ public class PreventMngController {
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2612,5 +2612,71 @@
|
||||
on(bbb.codeNm2=ccc.prcs_aplct_prd_ord)
|
||||
ORDER BY aaa.mnt, ccc.title
|
||||
|
||||
</select>
|
||||
</select>
|
||||
|
||||
<!-- 교육실정통계- ⑤월별 교육 이수 현황(그래프 포함) -->
|
||||
<select id="VESttstMixDAO.selectEduPrfrmInfo_csi_prevent_no5" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* VESttstMixDAO.selectEduPrfrmInfo_csi_prevent_no5 */
|
||||
|
||||
SELECT aaa.mnt AS codeNm
|
||||
, coalesce(bbb.cnt,0) AS cnt
|
||||
, coalesce(bbb.cnt2,0) AS cnt2
|
||||
FROM (
|
||||
SELECT '01' AS mnt
|
||||
UNION ALL SELECT '02' AS mnt
|
||||
UNION ALL SELECT '03' AS mnt
|
||||
UNION ALL SELECT '04' AS mnt
|
||||
UNION ALL SELECT '05' AS mnt
|
||||
UNION ALL SELECT '06' AS mnt
|
||||
UNION ALL SELECT '07' AS mnt
|
||||
UNION ALL SELECT '08' AS mnt
|
||||
UNION ALL SELECT '09' AS mnt
|
||||
UNION ALL SELECT '10' AS mnt
|
||||
UNION ALL SELECT '11' AS mnt
|
||||
UNION ALL SELECT '12' AS mnt
|
||||
UNION ALL SELECT '13' AS mnt
|
||||
)aaa
|
||||
LEFT OUTER JOIN
|
||||
(
|
||||
SELECT
|
||||
coalesce(aa.CMPTNT_ATHRT,'13') AS codeNm
|
||||
, sum(aa.cnt) AS cnt
|
||||
, sum(aa.cnt2) AS cnt2
|
||||
FROM
|
||||
(
|
||||
SELECT CMPTNT_ATHRT
|
||||
, sum(cnt) cnt
|
||||
, count(*) cnt2
|
||||
FROM (
|
||||
SELECT
|
||||
SUBSTRING(c.edu_strt_pnttm,6,2) AS CMPTNT_ATHRT ,
|
||||
count(*) AS cnt
|
||||
FROM
|
||||
ve_edu_aplct b
|
||||
, ve_prcs_aplct_prd c
|
||||
, vea_aplct_detail_info d
|
||||
WHERE SUBSTRING(c.edu_strt_pnttm,1,4)=#mngNmbrYr#
|
||||
|
||||
AND b.aprvl_cd='60'
|
||||
AND b.prcs_ord=c.prcs_aplct_prd_ord
|
||||
|
||||
|
||||
AND b.EDU_APLCT_ORD =d.EDU_APLCT_ORD
|
||||
AND d.aplct_state_cd = '20'
|
||||
AND b.lctr_div_cd = #lctrDivCd#
|
||||
|
||||
GROUP BY
|
||||
SUBSTRING(c.edu_strt_pnttm,6,2)
|
||||
|
||||
)z0
|
||||
GROUP BY CMPTNT_ATHRT
|
||||
)aa
|
||||
|
||||
GROUP BY
|
||||
ROLLUP(aa.CMPTNT_ATHRT)
|
||||
)bbb
|
||||
on(aaa.mnt=bbb.codeNm)
|
||||
ORDER BY aaa.mnt
|
||||
|
||||
</select>
|
||||
</sqlMap>
|
||||
|
||||
@ -211,7 +211,7 @@
|
||||
<c:if test="${not empty vEEduAplctVO.mngNmbrYr}">
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<div class="list_util" style="display:none;">
|
||||
<!--
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
-->
|
||||
@ -250,7 +250,7 @@
|
||||
month.pop();
|
||||
</script>
|
||||
|
||||
<div id="chartContainer" style="display:flex; width:100%;">
|
||||
<div id="chartContainer" style="display:none; width:100%;">
|
||||
<div id="chartAll" style="float:left; width: 100%; height:600px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
@ -327,7 +327,7 @@
|
||||
<!-- /월별 횟수/교육인원 차트 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<div class="tb_type01" style="display:none;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 10%"> --%>
|
||||
@ -375,7 +375,7 @@
|
||||
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<div class="list_util" style="display:none;">
|
||||
<!--
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
-->
|
||||
@ -414,8 +414,8 @@
|
||||
month_2.pop();
|
||||
</script>
|
||||
|
||||
<div id="chartContainer" style="display:flex; width:100%;">
|
||||
<div id="chartAll_2" style="float:left; width: 100%; height:600px;">
|
||||
<div id="chartContainer" style="display:none; width:100%;">
|
||||
<div id="chartAll_2" style="float:left; width: 100%; height:600px;" style="display:none;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var chartAll_2 = echarts.init(document.getElementById('chartAll_2'));
|
||||
@ -491,7 +491,7 @@
|
||||
<!-- /월별 횟수/교육인원 차트 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<div class="tb_type01" style="display:none;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 10%"> --%>
|
||||
@ -548,7 +548,7 @@
|
||||
<!-- //list -->
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<div class="list_util" style="display:none;">
|
||||
<!--
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
-->
|
||||
@ -587,7 +587,7 @@
|
||||
month_3.pop();
|
||||
</script>
|
||||
|
||||
<div id="chartContainer" style="display:flex; width:100%;">
|
||||
<div id="chartContainer" style="display:none; width:100%;" style="display:none;">
|
||||
<div id="chartAll_3" style="float:left; width: 100%; height:600px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
@ -664,7 +664,7 @@
|
||||
<!-- /월별 횟수/교육인원 차트 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<div class="tb_type01" style="display:none;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 10%"> --%>
|
||||
@ -712,7 +712,7 @@
|
||||
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<div class="list_util" style="display:none;">
|
||||
<!--
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
-->
|
||||
@ -751,7 +751,7 @@
|
||||
month_4.pop();
|
||||
</script>
|
||||
|
||||
<div id="chartContainer" style="display:flex; width:100%;">
|
||||
<div id="chartContainer" style="display:none; width:100%;" style="display:none;">
|
||||
<div id="chartAll_4" style="float:left; width: 100%; height:600px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
@ -828,7 +828,7 @@
|
||||
<!-- /월별 횟수/교육인원 차트 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<div class="tb_type01" style="display:none;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 10%"> --%>
|
||||
@ -880,8 +880,9 @@
|
||||
<!--
|
||||
<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> -->
|
||||
@ -1056,7 +1057,7 @@
|
||||
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<div class="list_util" style="display:none;">
|
||||
<!--
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
-->
|
||||
@ -1095,7 +1096,7 @@
|
||||
month_6.pop();
|
||||
</script>
|
||||
|
||||
<div id="chartContainer" style="display:flex; width:100%;">
|
||||
<div id="chartContainer" style="display:none; width:100%;" style="display:none;">
|
||||
<div id="chartAll_6" style="float:left; width: 100%; height:600px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
@ -1172,7 +1173,7 @@
|
||||
<!-- /월별 횟수/교육인원 차트 -->
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<div class="tb_type01" style="display:none;">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 10%"> --%>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user