2024-04-04 18:04 체험교실 통계 수정
This commit is contained in:
parent
6f5940d9c6
commit
22a20c14f3
@ -182,6 +182,204 @@ public class VeInstrFeeMng {
|
|||||||
return vEInstrFeeAcmdtVO;
|
return vEInstrFeeAcmdtVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//청소년강사용 강사료 계산-excel 전용 (excel의 경우는 거리계산, 식대가 다른 row와 연결되어서 결정되어야 하므로, 별도 함수로 처리한다.
|
||||||
|
//
|
||||||
|
public VEInstrFeeAcmdtVO VeInstrFeeMng4Excel(
|
||||||
|
VEInstrFeeService vEInstrFeeService
|
||||||
|
, String eduAplctOrd
|
||||||
|
, String eduChasiOrd
|
||||||
|
|
||||||
|
, String p_rankNo //순위 1 이고, 값이 없으면 가상값을 넣어준다. 2이상이고, 값이 없으면 0
|
||||||
|
, String p_foodExpenses //식비 존재여부 확인 용 - 값 or null
|
||||||
|
, String p_trafficFee //교통비 존재여부 확인 용 - 값 or null
|
||||||
|
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
// 강사료
|
||||||
|
VEInstrFeeAcmdtVO infoVO = new VEInstrFeeAcmdtVO();
|
||||||
|
infoVO.setEduAplctOrd(eduAplctOrd);
|
||||||
|
infoVO.setEduChasiOrd(eduChasiOrd);
|
||||||
|
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(infoVO);
|
||||||
|
|
||||||
|
|
||||||
|
if(vEInstrFeeAcmdtVO.getInstrFeeOrd() == null) {
|
||||||
|
|
||||||
|
List<VEInstrFeeAcmdtVO> selectChasiList = vEInstrFeeService.selectChasiList(vEInstrFeeAcmdtVO);
|
||||||
|
System.out.println("@@ "+selectChasiList.get(0).getTotCnt());
|
||||||
|
|
||||||
|
boolean check = false;
|
||||||
|
|
||||||
|
System.out.println(" 조회 차시 정보 "+vEInstrFeeAcmdtVO.getEduChasiOrd());
|
||||||
|
System.out.println(" 첫번쨰 차시 정보 "+selectChasiList.get(0).getEduChasiOrd());
|
||||||
|
if(selectChasiList.get(0).getEduChasiOrd().equals(vEInstrFeeAcmdtVO.getEduChasiOrd())) {
|
||||||
|
check = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 강사료 계산 정리
|
||||||
|
* 강사료 계산 : 기본요금 * 차시 수량
|
||||||
|
* 도서벽지수당 : 오프라인 교육이며 AND 교육지역이 도서벽지에 해당이 되면 기본 값 15,000원 * 차시 수량
|
||||||
|
* 교통비 : 왕복 거리 * 160원
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
// 강사료 계산 (강의차시 * 강사 기본값)
|
||||||
|
int instrFee = Integer.parseInt(vEInstrFeeAcmdtVO.getChasi()) * Integer.parseInt(VeConstants.BASE_INSTR_FEE);
|
||||||
|
System.out.println(" @@@@@@@@@@@@@@@@@@@@@@ instrFee : "+instrFee);
|
||||||
|
vEInstrFeeAcmdtVO.setInstrFee(Integer.toString(instrFee));
|
||||||
|
|
||||||
|
// 온라인 여부 확인(10:온라인, 20:오프라인)
|
||||||
|
if("20".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){
|
||||||
|
|
||||||
|
// 도서벽지수당 계산(강의 차시 * 15,000원) 22.06.15 도서벽지 수당 중복하도록 요청으로 인한 변경
|
||||||
|
try {
|
||||||
|
if(vEInstrFeeAcmdtVO.getIsltnScholYn().equals("Y")) {
|
||||||
|
int isltnFee = Integer.parseInt(vEInstrFeeAcmdtVO.getChasi()) * Integer.parseInt(VeConstants.BASE_ISLTN_FEE);
|
||||||
|
vEInstrFeeAcmdtVO.setSpecialWorkAllow(Integer.toString(isltnFee));
|
||||||
|
}
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(check) {
|
||||||
|
|
||||||
|
|
||||||
|
if(vEInstrFeeAcmdtVO.getOnewayDstnc() == null || vEInstrFeeAcmdtVO.getOnewayDstnc().equals("")) {
|
||||||
|
vEInstrFeeAcmdtVO.setOnewayDstnc("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 거리비교 200Km 이상 : 40000원, 100Km 이상 : 30000원, 12Km 이상 : 20000원, 1Km 이상 10000원
|
||||||
|
int dstnc = (Integer.parseInt(vEInstrFeeAcmdtVO.getOnewayDstnc()) * 2);
|
||||||
|
|
||||||
|
String passCityList = "강원도,경기도,경상북도,경상남도,충청북도,충청남도,전라북도,전라남도,제주특별자치도";
|
||||||
|
String[] passCityArray = passCityList.split(",");
|
||||||
|
|
||||||
|
boolean passCity = true;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
String[] scholArea = vEInstrFeeAcmdtVO.getScholArea().split(" ");
|
||||||
|
String[] instrRsdnc = vEInstrFeeAcmdtVO.getInstrRsdnc().split(" ");
|
||||||
|
|
||||||
|
|
||||||
|
System.out.println("학교 : "+scholArea[0]+" "+scholArea[1]+" _강사 :"+instrRsdnc[0]+" "+instrRsdnc[1]+" _거리 :" + dstnc);
|
||||||
|
|
||||||
|
/*
|
||||||
|
강원도,경기도,경상북도,경상남도,충청북도,충청남도,전라북도,전라남도,제주특별자치도
|
||||||
|
광주광역시,대구광역시,대전광역시,부산광역시,서울특별시,세종특별자치시,울산광역시,인천광역시
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 주소 앞자리 비교
|
||||||
|
passCity = true;
|
||||||
|
if(scholArea[0].contains(instrRsdnc[0])){
|
||||||
|
|
||||||
|
for(int i=0; i < passCityArray.length; i++) {
|
||||||
|
if(passCityArray[i].equals(scholArea[0])) {
|
||||||
|
if(!scholArea[1].equals(instrRsdnc[1])){
|
||||||
|
System.out.println("타지역 ");
|
||||||
|
passCity = false;
|
||||||
|
break;
|
||||||
|
}else {
|
||||||
|
System.out.println("거주지");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
// 다르면 끝
|
||||||
|
passCity = false;
|
||||||
|
}
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 장거리교육수당 확인(거주지 : 10000)
|
||||||
|
if(passCity || dstnc < 12){ // 거주지 인경우
|
||||||
|
System.out.println("거주지");
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("10000");
|
||||||
|
}else { // 타지역 인경우
|
||||||
|
System.out.println("타지역 : " + vEInstrFeeAcmdtVO.getOnewayDstnc());
|
||||||
|
|
||||||
|
if(dstnc >= 200) {
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("40000");
|
||||||
|
}else if(dstnc >= 100 && dstnc < 200) {
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("30000");
|
||||||
|
}else if(dstnc >= 12 && dstnc < 100) {
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("20000");
|
||||||
|
}else {
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("10000");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 교통비 계산 (거리 * 교통비 기본값)
|
||||||
|
int trafficFee = (Integer.parseInt(vEInstrFeeAcmdtVO.getOnewayDstnc()) * 2) * Integer.parseInt(VeConstants.BASE_TRAFFIC_FEE);
|
||||||
|
//vEInstrFeeAcmdtVO.setTrafficFee(Integer.toString(trafficFee));
|
||||||
|
|
||||||
|
if ("1".equals(p_rankNo)) {
|
||||||
|
if (p_trafficFee == null) {
|
||||||
|
vEInstrFeeAcmdtVO.setTrafficFee(Integer.toString(trafficFee));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
vEInstrFeeAcmdtVO.setLikeCheckYn("N");
|
||||||
|
}else {
|
||||||
|
vEInstrFeeAcmdtVO.setDistanceAllow("0");
|
||||||
|
vEInstrFeeAcmdtVO.setLikeCheckYn("Y");
|
||||||
|
}
|
||||||
|
|
||||||
|
//식비지급
|
||||||
|
//vEInstrFeeAcmdtVO.setFoodExpenses("7000");
|
||||||
|
if ("1".equals(p_rankNo)) {
|
||||||
|
if (p_foodExpenses == null) {
|
||||||
|
vEInstrFeeAcmdtVO.setFoodExpenses("7000");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 수당 합계
|
||||||
|
int sum = + Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow());
|
||||||
|
vEInstrFeeAcmdtVO.setAllowance(sum);
|
||||||
|
|
||||||
|
// 여비 합계
|
||||||
|
sum = Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee());
|
||||||
|
vEInstrFeeAcmdtVO.setSpareFee(String.format("%,d", sum));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}else if("10".equals(vEInstrFeeAcmdtVO.getEduSlctCd())){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 강사료 합계
|
||||||
|
int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getSpecialWorkAllow())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getDistanceAllow())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getTrafficFee())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getFoodExpenses())
|
||||||
|
+ Integer.parseInt(vEInstrFeeAcmdtVO.getAcmdtFee())
|
||||||
|
;
|
||||||
|
vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum);
|
||||||
|
|
||||||
|
// 세금 합계 -> 세금 제거 요청으로 제거
|
||||||
|
// int taxSum = Integer.parseInt(vEInstrFeeAcmdtVO.getIncomeTax())
|
||||||
|
// + Integer.parseInt(vEInstrFeeAcmdtVO.getLocalIncomeTax());
|
||||||
|
// vEInstrFeeAcmdtVO.setTaxSum(taxSum);
|
||||||
|
|
||||||
|
// 강사료 합계-세금 합계
|
||||||
|
// int totalSum = instrFeeSum - taxSum;
|
||||||
|
|
||||||
|
return vEInstrFeeAcmdtVO;
|
||||||
|
}
|
||||||
|
|
||||||
//성인강사용 강사료 계산 - just instrFee
|
//성인강사용 강사료 계산 - just instrFee
|
||||||
public int VeInstrFeePreCalc4Adult(String p_divCd, String p_lrnTm) throws Exception {
|
public int VeInstrFeePreCalc4Adult(String p_divCd, String p_lrnTm) throws Exception {
|
||||||
int instrFee = 0;
|
int instrFee = 0;
|
||||||
|
|||||||
@ -142,6 +142,14 @@ public class VEEduExcelVO {
|
|||||||
private String isltn3Yn; //접적학교여부
|
private String isltn3Yn; //접적학교여부
|
||||||
private String ppltnReducAreaYn; //인구감소지역여부
|
private String ppltnReducAreaYn; //인구감소지역여부
|
||||||
|
|
||||||
|
private String rankNo; //식비, 거리계산용 rankno
|
||||||
|
|
||||||
|
public String getRankNo() {
|
||||||
|
return rankNo;
|
||||||
|
}
|
||||||
|
public void setRankNo(String rankNo) {
|
||||||
|
this.rankNo = rankNo;
|
||||||
|
}
|
||||||
public String getInstrDiv() {
|
public String getInstrDiv() {
|
||||||
return instrDiv;
|
return instrDiv;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6059,6 +6059,11 @@
|
|||||||
/*
|
/*
|
||||||
a.aprvl_cd AS aprvlCd
|
a.aprvl_cd AS aprvlCd
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
RANK() OVER (PARTITION BY d.user_id ORDER BY b.edu_hope_dt, b.strt_tm) AS rankNo,
|
||||||
|
i.foodExpense, /* 저장된 값이 있으면 0 이상 , 없으면 null */
|
||||||
|
i.trafficFee, /* 저장된 값이 있으면 0 이상 , 없으면 null */
|
||||||
|
|
||||||
(SELECT a0.code_nm FROM LETTCCMMNDETAILCODE a0 WHERE a0.code_id='VE0003' AND a0.code=a.aprvl_cd) AS aprvlCd
|
(SELECT a0.code_nm FROM LETTCCMMNDETAILCODE a0 WHERE a0.code_id='VE0003' AND a0.code=a.aprvl_cd) AS aprvlCd
|
||||||
/*
|
/*
|
||||||
, DATE_FORMAT(a.aprvl_pnttm,'%Y-%m-%d') AS aprvlPnttm
|
, DATE_FORMAT(a.aprvl_pnttm,'%Y-%m-%d') AS aprvlPnttm
|
||||||
@ -6182,6 +6187,52 @@
|
|||||||
|
|
||||||
LEFT OUTER JOIN ve_edu_instr_dstnc H
|
LEFT OUTER JOIN ve_edu_instr_dstnc H
|
||||||
ON (D.EDU_APLCT_ORD = H.edu_aplct_ord AND D.user_id = H.user_id)
|
ON (D.EDU_APLCT_ORD = H.edu_aplct_ord AND D.user_id = H.user_id)
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
|
||||||
|
SELECT d.USER_ID AS userId
|
||||||
|
, b.EDU_HOPE_DT AS eduHopeDt
|
||||||
|
, MAX(NVL(f.TRAFFIC_FEE,0)) AS trafficFee
|
||||||
|
, MAX(NVL(f.FOOD_EXPENSES,0)) AS foodExpense
|
||||||
|
FROM
|
||||||
|
ve_edu_aplct a ,
|
||||||
|
ve_edu_chasi b ,
|
||||||
|
ve_edu_chasi_instr_asgnm d ,
|
||||||
|
ve_instr_fee f
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||||
|
AND a.lctr_div_cd = #lctrDivCd#
|
||||||
|
AND a.aprvl_cd = '60'
|
||||||
|
AND NVL(A.USE_YN,'Y') <![CDATA[ <> ]]> 'N'
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND REPLACE(b.EDU_HOPE_DT, '.' , '') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND REPLACE(b.EDU_HOPE_DT, '.' , '') <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchAsgnmAprvlCd">
|
||||||
|
<isEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||||
|
AND d.asgnm_aprvl_cd is null
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchAsgnmAprvlCd" compareValue="90">
|
||||||
|
AND d.asgnm_aprvl_cd = #searchAsgnmAprvlCd#
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
and b.edu_aplct_ord = d.edu_aplct_ord
|
||||||
|
AND b.edu_chasi_ord = d.edu_chasi_ord
|
||||||
|
AND d.edu_aplct_ord = f.edu_aplct_ord
|
||||||
|
AND d.edu_chasi_ord = f.edu_chasi_ord
|
||||||
|
GROUP BY d.USER_ID, b.EDU_HOPE_DT
|
||||||
|
|
||||||
|
)I ON(
|
||||||
|
d.user_id=I.userId
|
||||||
|
AND b.edu_hope_dt = i.eduhopedt
|
||||||
|
)
|
||||||
|
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND a.edu_aplct_ord=b.edu_aplct_ord
|
AND a.edu_aplct_ord=b.edu_aplct_ord
|
||||||
AND a.lctr_div_cd = #lctrDivCd#
|
AND a.lctr_div_cd = #lctrDivCd#
|
||||||
|
|||||||
@ -2073,6 +2073,9 @@
|
|||||||
WHERE code_id='VE0008'
|
WHERE code_id='VE0008'
|
||||||
AND code !='400'
|
AND code !='400'
|
||||||
UNION ALL
|
UNION ALL
|
||||||
|
SELECT '998', '기타'
|
||||||
|
FROM dual
|
||||||
|
UNION ALL
|
||||||
SELECT '999', '합계'
|
SELECT '999', '합계'
|
||||||
FROM dual
|
FROM dual
|
||||||
) bbb
|
) bbb
|
||||||
@ -2080,32 +2083,32 @@
|
|||||||
|
|
||||||
SELECT aa.lctrDivCd
|
SELECT aa.lctrDivCd
|
||||||
, nvl(aa.eduSlctAreaCd,'999') AS eduSlctAreaCd
|
, nvl(aa.eduSlctAreaCd,'999') AS eduSlctAreaCd
|
||||||
, sum(decode(aa.aprvlcd,10,aa.cnt,11,aa.cnt,13,aa.cnt,0)) AS mnt01
|
, sum(decode(aa.aprvlcd,10,aa.cnt,11,aa.cnt,12,aa.cnt,13,aa.cnt,0)) AS mnt01
|
||||||
, round(sum(decode(aa.aprvlcd,10,aa.cnt,11,aa.cnt,13,aa.cnt,0.0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt01
|
, round(sum(decode(aa.aprvlcd,10,aa.cnt,11,aa.cnt,12,aa.cnt,13,aa.cnt,0.0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt01
|
||||||
|
|
||||||
, sum(decode(aa.aprvlcd,12,aa.cnt,0)) AS mnt02
|
, sum(decode(aa.aprvlcd,20,aa.cnt,30,aa.cnt,40,aa.cnt,50,aa.cnt,0)) AS mnt02
|
||||||
, round(sum(decode(aa.aprvlcd,12,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt02
|
, round(sum(decode(aa.aprvlcd,20,aa.cnt,30,aa.cnt,40,aa.cnt,50,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt02
|
||||||
|
|
||||||
, sum(decode(aa.aprvlcd,20,aa.cnt,30,aa.cnt,40,aa.cnt,50,aa.cnt,0)) AS mnt03
|
, sum(decode(aa.aprvlcd,60,aa.cnt,70,aa.cnt,0)) AS mnt03
|
||||||
, round(sum(decode(aa.aprvlcd,20,aa.cnt,30,aa.cnt,40,aa.cnt,50,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt03
|
, round(sum(decode(aa.aprvlcd,60,aa.cnt,70,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt03
|
||||||
|
|
||||||
, sum(decode(aa.aprvlcd,60,aa.cnt,70,aa.cnt,0)) AS mnt04
|
|
||||||
, round(sum(decode(aa.aprvlcd,60,aa.cnt,70,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt04
|
|
||||||
|
|
||||||
, sum(decode(aa.aprvlcd,80,aa.cnt,0)) AS mnt05
|
|
||||||
, round(sum(decode(aa.aprvlcd,80,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt05
|
|
||||||
|
|
||||||
|
, sum(decode(aa.aprvlcd,80,aa.cnt,0)) AS mnt04
|
||||||
|
, round(sum(decode(aa.aprvlcd,80,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt04
|
||||||
|
|
||||||
|
, sum(decode(aa.aprvlcd,12,aa.cnt,0)) AS mnt05
|
||||||
|
, round(sum(decode(aa.aprvlcd,12,aa.cnt,0))*100/sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0.0 end),2) AS areaCnt05
|
||||||
|
|
||||||
, sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0 end) AS mnt06
|
, sum(CASE WHEN aa.aprvlcd IS NULL THEN aa.cnt ELSE 0 end) AS mnt06
|
||||||
FROM (
|
FROM (
|
||||||
SELECT a.LCTR_DIV_CD AS lctrDivCd
|
SELECT a.LCTR_DIV_CD AS lctrDivCd
|
||||||
, a.APRVL_CD AS aprvlCd
|
, a.APRVL_CD AS aprvlCd
|
||||||
, a.edu_slct_area_cd AS eduSlctAreaCd
|
, NVL(a.edu_slct_area_cd,'998') AS eduSlctAreaCd
|
||||||
, count(*) cnt
|
, count(*) cnt
|
||||||
from VE_EDU_APLCT a
|
from VE_EDU_APLCT a
|
||||||
WHERE a.LCTR_DIV_CD =#lctrDivCd#
|
WHERE a.LCTR_DIV_CD =#lctrDivCd#
|
||||||
AND a.SBMT_YN ='Y'
|
AND a.SBMT_YN ='Y'
|
||||||
AND TO_CHAR(a.SBMT_PNTTM ,'YYYY')=#mngNmbrYr#
|
AND TO_CHAR(a.SBMT_PNTTM ,'YYYY')=#mngNmbrYr#
|
||||||
GROUP BY rollup(a.LCTR_DIV_CD, a.edu_slct_area_cd, a.APRVL_CD)
|
GROUP BY rollup(a.LCTR_DIV_CD, NVL(a.edu_slct_area_cd,'998'), a.APRVL_CD)
|
||||||
)aa
|
)aa
|
||||||
WHERE aa.lctrDivCd IS NOT null
|
WHERE aa.lctrDivCd IS NOT null
|
||||||
GROUP BY aa.lctrDivCd
|
GROUP BY aa.lctrDivCd
|
||||||
|
|||||||
@ -329,7 +329,7 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
<!-- 차트 선언 -->
|
<!-- 차트 선언 -->
|
||||||
var chartNOT = echarts.init(document.getElementById('chartNumOfTime'))
|
var chartNOT = echarts.init(document.getElementById('chartNumOfTime'))
|
||||||
var month = ['운영신청 수', '운영확정 수', '결과보고 수', '운영종료 수', '운영취소 수','전체'];
|
var month = ['운영신청 수\n(운영미확정)', '운영확정 수', '결과보고 수', '운영종료 수', '운영취소 수','전체'];
|
||||||
<!-- 차트 옵션 지정하기 -->
|
<!-- 차트 옵션 지정하기 -->
|
||||||
var optionNOT = {
|
var optionNOT = {
|
||||||
// 차트 제목
|
// 차트 제목
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user