2024-01-22 15:01 체험교실 통계 수정

This commit is contained in:
myname 2024-01-22 15:02:04 +09:00
parent 43ab10e4d8
commit 6fdbc886d8
7 changed files with 338 additions and 53 deletions

View File

@ -9,6 +9,11 @@ public interface SttsService {
SttsVO selectEduPrsnlCnt(SttsVO sttsVO) throws Exception;
//교육실적통계
SttsVO selectEduStts(SttsVO eduCntVO) throws Exception;
List<SttsVO> selectEduSttsList(SttsVO eduCntVO) throws Exception;
List<SttsVO> selectEduContentYear(SttsVO eduCntVO) throws Exception;
List<SttsVO> selectEduContentCnt(SttsVO eduCntVO) throws Exception;

View File

@ -25,6 +25,37 @@ public class SttsVO extends ComDefaultVO implements Serializable {
private String prcsNm;
private String eduYear;
private String mnt01Cnt;
private String mnt02Cnt;
private String mnt03Cnt;
private String mnt04Cnt;
private String mnt05Cnt;
private String mnt06Cnt;
private String mnt07Cnt;
private String mnt08Cnt;
private String mnt09Cnt;
private String mnt10Cnt;
private String mnt11Cnt;
private String mnt12Cnt;
private String mnt01Sum;
private String mnt02Sum;
private String mnt03Sum;
private String mnt04Sum;
private String mnt05Sum;
private String mnt06Sum;
private String mnt07Sum;
private String mnt08Sum;
private String mnt09Sum;
private String mnt10Sum;
private String mnt11Sum;
private String mnt12Sum;
private String mntTotCnt;
private String mntTotSum;
private String aprvlCd;
public String getYear() {
return year;
}
@ -127,6 +158,168 @@ public class SttsVO extends ComDefaultVO implements Serializable {
public void setEduYear(String eduYear) {
this.eduYear = eduYear;
}
public String getMnt01Cnt() {
return mnt01Cnt;
}
public void setMnt01Cnt(String mnt01Cnt) {
this.mnt01Cnt = mnt01Cnt;
}
public String getMnt02Cnt() {
return mnt02Cnt;
}
public void setMnt02Cnt(String mnt02Cnt) {
this.mnt02Cnt = mnt02Cnt;
}
public String getMnt03Cnt() {
return mnt03Cnt;
}
public void setMnt03Cnt(String mnt03Cnt) {
this.mnt03Cnt = mnt03Cnt;
}
public String getMnt04Cnt() {
return mnt04Cnt;
}
public void setMnt04Cnt(String mnt04Cnt) {
this.mnt04Cnt = mnt04Cnt;
}
public String getMnt05Cnt() {
return mnt05Cnt;
}
public void setMnt05Cnt(String mnt05Cnt) {
this.mnt05Cnt = mnt05Cnt;
}
public String getMnt06Cnt() {
return mnt06Cnt;
}
public void setMnt06Cnt(String mnt06Cnt) {
this.mnt06Cnt = mnt06Cnt;
}
public String getMnt07Cnt() {
return mnt07Cnt;
}
public void setMnt07Cnt(String mnt07Cnt) {
this.mnt07Cnt = mnt07Cnt;
}
public String getMnt08Cnt() {
return mnt08Cnt;
}
public void setMnt08Cnt(String mnt08Cnt) {
this.mnt08Cnt = mnt08Cnt;
}
public String getMnt09Cnt() {
return mnt09Cnt;
}
public void setMnt09Cnt(String mnt09Cnt) {
this.mnt09Cnt = mnt09Cnt;
}
public String getMnt10Cnt() {
return mnt10Cnt;
}
public void setMnt10Cnt(String mnt10Cnt) {
this.mnt10Cnt = mnt10Cnt;
}
public String getMnt11Cnt() {
return mnt11Cnt;
}
public void setMnt11Cnt(String mnt11Cnt) {
this.mnt11Cnt = mnt11Cnt;
}
public String getMnt12Cnt() {
return mnt12Cnt;
}
public void setMnt12Cnt(String mnt12Cnt) {
this.mnt12Cnt = mnt12Cnt;
}
public String getMnt01Sum() {
return mnt01Sum;
}
public void setMnt01Sum(String mnt01Sum) {
this.mnt01Sum = mnt01Sum;
}
public String getMnt02Sum() {
return mnt02Sum;
}
public void setMnt02Sum(String mnt02Sum) {
this.mnt02Sum = mnt02Sum;
}
public String getMnt03Sum() {
return mnt03Sum;
}
public void setMnt03Sum(String mnt03Sum) {
this.mnt03Sum = mnt03Sum;
}
public String getMnt04Sum() {
return mnt04Sum;
}
public void setMnt04Sum(String mnt04Sum) {
this.mnt04Sum = mnt04Sum;
}
public String getMnt05Sum() {
return mnt05Sum;
}
public void setMnt05Sum(String mnt05Sum) {
this.mnt05Sum = mnt05Sum;
}
public String getMnt06Sum() {
return mnt06Sum;
}
public void setMnt06Sum(String mnt06Sum) {
this.mnt06Sum = mnt06Sum;
}
public String getMnt07Sum() {
return mnt07Sum;
}
public void setMnt07Sum(String mnt07Sum) {
this.mnt07Sum = mnt07Sum;
}
public String getMnt08Sum() {
return mnt08Sum;
}
public void setMnt08Sum(String mnt08Sum) {
this.mnt08Sum = mnt08Sum;
}
public String getMnt09Sum() {
return mnt09Sum;
}
public void setMnt09Sum(String mnt09Sum) {
this.mnt09Sum = mnt09Sum;
}
public String getMnt10Sum() {
return mnt10Sum;
}
public void setMnt10Sum(String mnt10Sum) {
this.mnt10Sum = mnt10Sum;
}
public String getMnt11Sum() {
return mnt11Sum;
}
public void setMnt11Sum(String mnt11Sum) {
this.mnt11Sum = mnt11Sum;
}
public String getMnt12Sum() {
return mnt12Sum;
}
public void setMnt12Sum(String mnt12Sum) {
this.mnt12Sum = mnt12Sum;
}
public String getMntTotCnt() {
return mntTotCnt;
}
public void setMntTotCnt(String mntTotCnt) {
this.mntTotCnt = mntTotCnt;
}
public String getMntTotSum() {
return mntTotSum;
}
public void setMntTotSum(String mntTotSum) {
this.mntTotSum = mntTotSum;
}
public String getAprvlCd() {
return aprvlCd;
}
public void setAprvlCd(String aprvlCd) {
this.aprvlCd = aprvlCd;
}
}

View File

@ -30,6 +30,16 @@ public class SttsDAO extends EgovAbstractDAO {
return (SttsVO) select("VESttstMIXDAO.selectEduPrsnlCnt", sttsVO);
}
public SttsVO selectEduStts(SttsVO eduCntVO) throws Exception {
return (SttsVO) select("VESttstMIXDAO.selectEduSttsList", eduCntVO);
}
public List<SttsVO> selectEduSttsList(SttsVO eduCntVO) throws Exception {
@SuppressWarnings("unchecked")
List<SttsVO> list = (List<SttsVO>) list("VESttstMIXDAO.selectEduSttsList", eduCntVO);
return list;
}
public List<SttsVO> selectEduContentYear(SttsVO eduCntVO) throws Exception {
@SuppressWarnings("unchecked")
List<SttsVO> list = (List<SttsVO>) list("VESttstMIXDAO.selectEduContentYear", eduCntVO);

View File

@ -23,6 +23,16 @@ public class SttsServiceImpl implements SttsService {
return sttsDAO.selectEduPrsnlCnt(sttsVO);
}
@Override
public SttsVO selectEduStts(SttsVO eduCntVO) throws Exception {
return sttsDAO.selectEduStts(eduCntVO);
}
@Override
public List<SttsVO> selectEduSttsList(SttsVO eduCntVO) throws Exception {
return sttsDAO.selectEduSttsList(eduCntVO);
}
@Override
public List<SttsVO> selectEduContentYear(SttsVO eduCntVO) throws Exception {
return sttsDAO.selectEduContentYear(eduCntVO);

View File

@ -73,9 +73,19 @@ public class SttsController {
} else {
eduCntVO.setYear(sttsVO.getYear());
}
eduCntVO.setAprvlCd("80");
/* *
* 운영취소 = 12
* 20 > 운영신청 AND != 12
* 60 > 운영확정 >=20
* 80 > 결과보고 >=60
* 운영종료 =80 * */
eduCntVO = sttsService.selectEduCnt(eduCntVO);
eduCntVO = sttsService.selectEduStts(eduCntVO);
model.addAttribute("eduCntVO", eduCntVO);
/*
SttsVO eduPrsnlCntVO = new SttsVO();
if("".equals(sttsVO.getYear()) || sttsVO.getYear() == null) {
eduPrsnlCntVO.setYear("2022");
@ -86,6 +96,7 @@ public class SttsController {
model.addAttribute("eduCntVO", eduCntVO);
model.addAttribute("eduPrsnlCntVO", eduPrsnlCntVO);
*/
return "oprtn/stts/sttsEduCnt";
}

View File

@ -907,6 +907,53 @@
*/
</select>
<!-- 월별 교육실적 통계 교육횟수 & 교육인원 -->
<select id="VESttstMIXDAO.selectEduSttsList" parameterClass="SttsVO" resultClass="SttsVO">
/* VESttstMIXDAO.selectEduSttsList 교육횟수 n 교육인원 */
SELECT years
, sum(decode(months,01,1,0)) AS mnt01Cnt
, sum(decode(months,01,trgtPrsnlReal,0)) AS mnt01Sum
, sum(decode(months,02,1,0)) AS mnt02Cnt , sum(decode(months,02,trgtPrsnlReal,0)) AS mnt02Sum
, sum(decode(months,03,1,0)) AS mnt03Cnt , sum(decode(months,03,trgtPrsnlReal,0)) AS mnt03Sum
, sum(decode(months,04,1,0)) AS mnt04Cnt , sum(decode(months,04,trgtPrsnlReal,0)) AS mnt04Sum
, sum(decode(months,05,1,0)) AS mnt05Cnt , sum(decode(months,05,trgtPrsnlReal,0)) AS mnt05Sum
, sum(decode(months,06,1,0)) AS mnt06Cnt , sum(decode(months,06,trgtPrsnlReal,0)) AS mnt06Sum
, sum(decode(months,07,1,0)) AS mnt07Cnt , sum(decode(months,07,trgtPrsnlReal,0)) AS mnt07Sum
, sum(decode(months,08,1,0)) AS mnt08Cnt , sum(decode(months,08,trgtPrsnlReal,0)) AS mnt08Sum
, sum(decode(months,09,1,0)) AS mnt09Cnt , sum(decode(months,09,trgtPrsnlReal,0)) AS mnt09Sum
, sum(decode(months,10,1,0)) AS mnt10Cnt , sum(decode(months,10,trgtPrsnlReal,0)) AS mnt10Sum
, sum(decode(months,11,1,0)) AS mnt11Cnt , sum(decode(months,11,trgtPrsnlReal,0)) AS mnt11Sum
, sum(decode(months,12,1,0)) AS mnt12Cnt , sum(decode(months,12,trgtPrsnlReal,0)) AS mnt12Sum
, sum(CASE
WHEN years IS NULL THEN 0 ELSE 1
END) AS mntTotCnt
, sum(CASE
WHEN years IS NULL THEN 0 ELSE trgtPrsnlReal*1
END) AS mntTotSum
FROM (
SELECT TO_CHAR(a.SBMT_PNTTM ,'YYYY') AS years
, TO_CHAR(a.SBMT_PNTTM ,'MM') AS months
, c.TRGT_PRSNL_REAL AS trgtPrsnlReal
FROM
VE_EDU_APLCT a
, VE_EDU_RSLT_RPRT c
WHERE
a.LCTR_DIV_CD = '30'
AND a.SBMT_YN = 'Y'
AND TO_CHAR(a.SBMT_PNTTM, 'YYYY')= #year#
AND a.APRVL_CD >=#aprvlCd#
AND a.edu_aplct_ord=c.edu_aplct_ord
)aa
GROUP BY years
</select>
<select id="VESttstMIXDAO.selectEduContentYear" parameterClass="SttsVO" resultClass="SttsVO">
/* VESttstMIXDAO.selectEduContentYear */
SELECT eduYear

View File

@ -77,6 +77,15 @@
</div>
</div>
<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>
<div class="tb_type01">
<table>
@ -117,35 +126,35 @@
<tbody>
<tr>
<td>교육횟수</td>
<td><c:out value="${eduCntVO.jan}" /></td>
<td><c:out value="${eduCntVO.feb}" /></td>
<td><c:out value="${eduCntVO.mar}" /></td>
<td><c:out value="${eduCntVO.apr}" /></td>
<td><c:out value="${eduCntVO.may}" /></td>
<td><c:out value="${eduCntVO.jun}" /></td>
<td><c:out value="${eduCntVO.jul}" /></td>
<td><c:out value="${eduCntVO.aug}" /></td>
<td><c:out value="${eduCntVO.sep}" /></td>
<td><c:out value="${eduCntVO.oct}" /></td>
<td><c:out value="${eduCntVO.nov}" /></td>
<td><c:out value="${eduCntVO.decm}" /></td>
<td><c:out value="${eduCntVO.tot}" /></td>
<td><c:out value="${eduCntVO.mnt01Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt02Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt03Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt04Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt05Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt06Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt07Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt08Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt09Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt10Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt11Cnt}" /></td>
<td><c:out value="${eduCntVO.mnt12Cnt}" /></td>
<td><c:out value="${eduCntVO.mntTotCnt}" /></td>
</tr>
<tr>
<td>교육인원</td>
<td><c:out value="${eduPrsnlCntVO.jan}" /></td>
<td><c:out value="${eduPrsnlCntVO.feb}" /></td>
<td><c:out value="${eduPrsnlCntVO.mar}" /></td>
<td><c:out value="${eduPrsnlCntVO.apr}" /></td>
<td><c:out value="${eduPrsnlCntVO.may}" /></td>
<td><c:out value="${eduPrsnlCntVO.jun}" /></td>
<td><c:out value="${eduPrsnlCntVO.jul}" /></td>
<td><c:out value="${eduPrsnlCntVO.aug}" /></td>
<td><c:out value="${eduPrsnlCntVO.sep}" /></td>
<td><c:out value="${eduPrsnlCntVO.oct}" /></td>
<td><c:out value="${eduPrsnlCntVO.nov}" /></td>
<td><c:out value="${eduPrsnlCntVO.decm}" /></td>
<td><c:out value="${eduPrsnlCntVO.tot}" /></td>
<td><c:out value="${eduCntVO.mnt01Sum}" /></td>
<td><c:out value="${eduCntVO.mnt02Sum}" /></td>
<td><c:out value="${eduCntVO.mnt03Sum}" /></td>
<td><c:out value="${eduCntVO.mnt04Sum}" /></td>
<td><c:out value="${eduCntVO.mnt05Sum}" /></td>
<td><c:out value="${eduCntVO.mnt06Sum}" /></td>
<td><c:out value="${eduCntVO.mnt07Sum}" /></td>
<td><c:out value="${eduCntVO.mnt08Sum}" /></td>
<td><c:out value="${eduCntVO.mnt09Sum}" /></td>
<td><c:out value="${eduCntVO.mnt10Sum}" /></td>
<td><c:out value="${eduCntVO.mnt11Sum}" /></td>
<td><c:out value="${eduCntVO.mnt12Sum}" /></td>
<td><c:out value="${eduCntVO.mntTotSum}" /></td>
</tr>
</tbody>
</table>
@ -156,18 +165,18 @@
<!-- 횟수합계 - dataNOT / 인원합계 = dataNOP -->
<script type="text/javascript">
var dataNOT = [
'${eduCntVO.jan}'
, '${eduCntVO.feb}'
, '${eduCntVO.mar}'
, '${eduCntVO.apr}'
, '${eduCntVO.may}'
, '${eduCntVO.jun}'
, '${eduCntVO.jul}'
, '${eduCntVO.aug}'
, '${eduCntVO.sep}'
, '${eduCntVO.oct}'
, '${eduCntVO.nov}'
, '${eduCntVO.decm}'
'${eduCntVO.mnt01Cnt}'
, '${eduCntVO.mnt02Cnt}'
, '${eduCntVO.mnt03Cnt}'
, '${eduCntVO.mnt04Cnt}'
, '${eduCntVO.mnt05Cnt}'
, '${eduCntVO.mnt06Cnt}'
, '${eduCntVO.mnt07Cnt}'
, '${eduCntVO.mnt08Cnt}'
, '${eduCntVO.mnt09Cnt}'
, '${eduCntVO.mnt10Cnt}'
, '${eduCntVO.mnt11Cnt}'
, '${eduCntVO.mnt12Cnt}'
];
var dataNOTSum = 0;
var maxNOT = Number(dataNOT[0]);
@ -186,18 +195,18 @@
dataNOTSum = 0;
}
var dataNOP = [
'${eduPrsnlCntVO.jan}'
, '${eduPrsnlCntVO.feb}'
, '${eduPrsnlCntVO.mar}'
, '${eduPrsnlCntVO.apr}'
, '${eduPrsnlCntVO.may}'
, '${eduPrsnlCntVO.jun}'
, '${eduPrsnlCntVO.jul}'
, '${eduPrsnlCntVO.aug}'
, '${eduPrsnlCntVO.sep}'
, '${eduPrsnlCntVO.oct}'
, '${eduPrsnlCntVO.nov}'
, '${eduPrsnlCntVO.decm}'
'${eduCntVO.mnt01Sum}'
, '${eduCntVO.mnt02Sum}'
, '${eduCntVO.mnt03Sum}'
, '${eduCntVO.mnt04Sum}'
, '${eduCntVO.mnt05Sum}'
, '${eduCntVO.mnt06Sum}'
, '${eduCntVO.mnt07Sum}'
, '${eduCntVO.mnt08Sum}'
, '${eduCntVO.mnt09Sum}'
, '${eduCntVO.mnt10Sum}'
, '${eduCntVO.mnt11Sum}'
, '${eduCntVO.mnt12Sum}'
];
var dataNOPSum = 0;
var maxNOP = Number(dataNOP[0]);
@ -297,7 +306,7 @@
},
label: {
show: true,
position: 'top',
position: 'bottom',
lineHeight : 50,
formatter : function(e){
return e.data + "명";