2024-04-09 17:53 기소유예 통계 정보 수정
This commit is contained in:
parent
1e3d6c324d
commit
0f9626b125
@ -171,4 +171,7 @@ public interface VEInstrMixService {
|
|||||||
|
|
||||||
//교육실정통계- ①월별 교육 의뢰 현황(그래프 포함)
|
//교육실정통계- ①월별 교육 의뢰 현황(그래프 포함)
|
||||||
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no2(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no2(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||||
|
|
||||||
|
//교육실정통계- 3.대상별 교육 의뢰 현황(그래프 포함)
|
||||||
|
List<VELctrDetailVO> selectEduPrfrmInfo_csi_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -337,4 +337,9 @@ public class VEInstrMixDAO extends EgovAbstractDAO {
|
|||||||
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no2", vEInstrDetailVO);
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no2", vEInstrDetailVO);
|
||||||
return tlist;
|
return tlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception {
|
||||||
|
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VESttstMixDAO.selectEduPrfrmInfo_csi_no3", vEInstrDetailVO);
|
||||||
|
return tlist;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -270,4 +270,8 @@ public class VEInstrMixServiceImpl implements VEInstrMixService {
|
|||||||
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no2(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no2(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no2(vEInstrDetailVO);
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no2(vEInstrDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VELctrDetailVO> selectEduPrfrmInfo_csi_no3(VEInstrDetailVO vEInstrDetailVO) throws Exception{
|
||||||
|
return vEInstrMixDAO.selectEduPrfrmInfo_csi_no3(vEInstrDetailVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -564,13 +564,13 @@ public class CndtnInstrMngController {
|
|||||||
|
|
||||||
//통계- ③월별 지역별 교육인원(그래프 포함)
|
//통계- ③월별 지역별 교육인원(그래프 포함)
|
||||||
{
|
{
|
||||||
vEInstrDetailVODetail.setNo3("20"); /* 10-횟수, 20-인원 */
|
//vEInstrDetailVODetail.setNo3("20"); /* 10-횟수, 20-인원 */
|
||||||
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
//vEInstrDetailVODetail.setInstrNm(vEInstrDetailVODetail.getSearchKeyword());
|
||||||
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
vEInstrDetailVODetail = egovCryptoUtil.encryptVEInstrDetailVO(vEInstrDetailVODetail);
|
||||||
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_tngr_no2_no3(vEInstrDetailVODetail);
|
List<VELctrDetailVO> selectAsgnmInfoT2List_no3 = vEInstrMixService.selectEduPrfrmInfo_csi_no3(vEInstrDetailVODetail);
|
||||||
|
|
||||||
//복호화
|
//복호화
|
||||||
selectAsgnmInfoT2List_no3 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no3);
|
//selectAsgnmInfoT2List_no3 = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List_no3);
|
||||||
|
|
||||||
model.addAttribute("list_no3",selectAsgnmInfoT2List_no3);
|
model.addAttribute("list_no3",selectAsgnmInfoT2List_no3);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2211,4 +2211,49 @@
|
|||||||
ORDER BY aaa.mnt
|
ORDER BY aaa.mnt
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 교육실정통계- ①월별 교육 의뢰 현황(그래프 포함) -->
|
||||||
|
<select id="VESttstMixDAO.selectEduPrfrmInfo_csi_no3" parameterClass="VEInstrDetailVO" resultClass="VELctrDetailVO">
|
||||||
|
/* VESttstMixDAO.selectEduPrfrmInfo_csi_no3 */
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
CASE WHEN aaa.mnt='A' THEN '성인'
|
||||||
|
WHEN aaa.mnt='Y' THEN '미성년자'
|
||||||
|
ELSE aaa.mnt
|
||||||
|
END
|
||||||
|
AS codeNm
|
||||||
|
|
||||||
|
, NVL(bbb.cnt,0) AS cnt
|
||||||
|
FROM (
|
||||||
|
SELECT 'A' AS mnt FROM dual
|
||||||
|
UNION ALL SELECT 'Y' AS mnt FROM dual
|
||||||
|
UNION ALL SELECT 'ZZ' AS mnt FROM dual
|
||||||
|
)aaa
|
||||||
|
LEFT OUTER JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
NVL(aa.CMPTNT_ATHRT,'ZZ') AS codeNm,
|
||||||
|
sum(aa.cnt) AS cnt
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
substring(req_nmbr,0,1) AS CMPTNT_ATHRT ,
|
||||||
|
count(*) AS cnt
|
||||||
|
FROM
|
||||||
|
vea_sspn_idmt_trgt a
|
||||||
|
WHERE to_char(a.REQ_PNTTM,'YYYY')=#mngNmbrYr#
|
||||||
|
|
||||||
|
/* 병합제거시 주석 제거 할것
|
||||||
|
AND a.prcs_aplct_prd_ord_cmplt IS null */
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
substring(req_nmbr,0,1) )aa
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
ROLLUP(aa.CMPTNT_ATHRT)
|
||||||
|
)bbb
|
||||||
|
on(aaa.mnt=bbb.codeNm)
|
||||||
|
ORDER BY aaa.mnt
|
||||||
|
|
||||||
|
</select>
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
@ -94,6 +94,15 @@
|
|||||||
listForm.submit();
|
listForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function excelDownLoad_no3(){
|
||||||
|
/*
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/eduPrfrmMngExcelDownLoad_csi_no2.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
*/
|
||||||
|
alert("준비중입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
function excelDownLoad_no4(){
|
function excelDownLoad_no4(){
|
||||||
var listForm = document.listForm ;
|
var listForm = document.listForm ;
|
||||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no4.do'/>";
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduPrfrmMngExcelDownLoad_tngr_no4.do'/>";
|
||||||
@ -527,6 +536,169 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!-- //list -->
|
<!-- //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">
|
||||||
|
3.대상별 교육 의뢰 현황
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoadArea();">엑셀 다운로드(강의지역)</button> -->
|
||||||
|
<button type="button" class="btn_down_excel" onclick="excelDownLoad_no3();">엑셀 다운로드</button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 월별 횟수/교육인원 차트 -->
|
||||||
|
<!-- 횟수합계 - dataNOT / 인원합계 = dataNOP -->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var dataNOT_3 = [];
|
||||||
|
//var dataNOP = [];
|
||||||
|
|
||||||
|
var month_3 = [];
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<c:forEach var="list" items="${list_no3}" varStatus="status">
|
||||||
|
<script type="text/javascript">
|
||||||
|
dataNOT_3.push('${list.cnt}');
|
||||||
|
//dataNOP.push('${list.cnt}');
|
||||||
|
|
||||||
|
month_3.push('${list.codeNm}');
|
||||||
|
</script>
|
||||||
|
</c:forEach>
|
||||||
|
<script type="text/javascript">
|
||||||
|
dataNOT_3.pop();
|
||||||
|
//dataNOP.pop();
|
||||||
|
|
||||||
|
month_3.pop();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div id="chartContainer" style="display:flex; width:100%;">
|
||||||
|
<div id="chartAll_3" style="float:left; width: 100%; height:600px;">
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var chartAll_3 = echarts.init(document.getElementById('chartAll_3'));
|
||||||
|
//var month = ['1월', '2월', '3월', '4월', '5월','6월','7월','8월', '9월','10월','11월', '12월'];
|
||||||
|
//alert(dataNOT);
|
||||||
|
//alert(month);
|
||||||
|
var optionAll_3 = {
|
||||||
|
toolbox: {
|
||||||
|
feature: {
|
||||||
|
//dataView: { show: true, readOnly: false },
|
||||||
|
magicType: { show: true, type: ['line', 'bar'] },
|
||||||
|
restore: { show: true },
|
||||||
|
saveAsImage: { show: true }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: ['명']
|
||||||
|
},
|
||||||
|
|
||||||
|
grid: {
|
||||||
|
left: '3%',
|
||||||
|
right: '4%',
|
||||||
|
bottom: '3%',
|
||||||
|
containLabel: true
|
||||||
|
},
|
||||||
|
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
data: month_3,
|
||||||
|
axisPointer: {
|
||||||
|
type: 'shadow'
|
||||||
|
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
rotate: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: 'value',
|
||||||
|
name: '명',
|
||||||
|
interval: 50,
|
||||||
|
/* max : maxNOT, */
|
||||||
|
alignTicks: true,
|
||||||
|
axisLabel: {
|
||||||
|
formatter: '{value}명'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: '명',
|
||||||
|
type: 'bar',
|
||||||
|
tooltip: {
|
||||||
|
valueFormatter: function (value) {
|
||||||
|
return value + '명';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
position: 'top'
|
||||||
|
},
|
||||||
|
data: dataNOT_3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
//차트 옵션 적용
|
||||||
|
chartAll_3.setOption(optionAll_3);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
<!-- /월별 횟수/교육인원 차트 -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
<col style="width: 100px">
|
||||||
|
<col style="width: 100px">
|
||||||
|
<col style="width: 100px">
|
||||||
|
<col style="width: 100px">
|
||||||
|
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- <th>대상</th> -->
|
||||||
|
<th>구분</th>
|
||||||
|
<c:forEach var="list" items="${list_no3}" varStatus="status">
|
||||||
|
<th>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.codeNm eq 'ZZ'}">합계</c:when>
|
||||||
|
<c:otherwise>${list.codeNm}</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</th>
|
||||||
|
</c:forEach>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>의뢰(명)</td>
|
||||||
|
<c:forEach var="list" items="${list_no3}" varStatus="status">
|
||||||
|
<td><fmt:formatNumber value="${list.cnt}" pattern="#,###"/></td>
|
||||||
|
</c:forEach>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<c:if test="${empty list_no3}">
|
||||||
|
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
</c:if>
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user