diff --git a/src/main/java/seed/com/gtm/base/OzReportController.java b/src/main/java/seed/com/gtm/base/OzReportController.java index 177fe5ca..f5d00f51 100644 --- a/src/main/java/seed/com/gtm/base/OzReportController.java +++ b/src/main/java/seed/com/gtm/base/OzReportController.java @@ -74,6 +74,9 @@ public class OzReportController { }else if ("new2_cfrncData".equals(s_crfNm)) { //협의회 회의 자료용 통계 query = this.getNew2_cfrncData(); + + }else if ("periodProgress".equals(s_crfNm)) { //기관경과사건현황 + query = this.getPeriodProgress(); } @@ -971,4 +974,296 @@ public class OzReportController { return s_ret; } + + ////기관경과사건현황통계/ + private String getPeriodProgress() { + String s_ret = ""; // AS \\\"컬럼3\\\" + s_ret = " SELECT aa.case_dt AS \\\"년도\\\" " + + " , CASE " + + " WHEN aa.case_gubun='0200000000' THEN '소계'" + + " WHEN aa.case_gubun='0201000000' THEN '공정'" + + " WHEN aa.case_gubun='0202000000' THEN '가맹'" + + " WHEN aa.case_gubun='0203000000' THEN '하도'" + + " WHEN aa.case_gubun='0204000000' THEN '유통'" + + " WHEN aa.case_gubun='0205000000' THEN '약관'" + + " WHEN aa.case_gubun='0206000000' THEN '대리점'" + + " END AS \\\"구분\\\" " + + " , aa.avg_frd AS \\\"평균 처리기간\\\" " + + " , aa.case_count AS \\\"처리건수\\\" " + + " , aa.count_60 AS \\\"건수60일\\\" " + + " , round(aa.count_60/aa.case_count*100) AS \\\"비율60일\\\" " + + " , aa.count_90 AS \\\"건수90일\\\" " + + " , round(aa.count_90/aa.case_count*100) AS \\\"비율90일\\\" " + + " FROM (" + + " /* 년도별 구분별 평균 처리기간 */" + + " SELECT" + + " CASE_DT," + + " CASE_GUBUN," + + " ROUND(SUM(avgPrd)/ COUNT(*)) AS AVG_FRD," + + " COUNT(*) AS CASE_COUNT," + + " sum(count_60) AS COUNT_60," + + " 0 AS PER_60," + + " sum(count_90) AS COUNT_90," + + " 0 AS PER_90" + + " FROM" + + " (" + + " SELECT" + + " SUBSTR(A.FIX_DAY, 1, 4) AS CASE_DT," + + " a.CASE_GUBUN AS CASE_GUBUN," + + " CASE" + + " WHEN SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " THEN (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0))" + + " ELSE (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1)" + + " END " + + " AS avgPrd" + + " , " + + " CASE WHEN (" + + " " + + " (((SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0)) > 60" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0)) <= 90))" + + " OR ((SUBSTR(A.FIX_DAY, 1, 4) > '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) > 60" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) <= 90))) " + + " " + + " ) THEN 1" + + " ELSE 0" + + " END AS count_60" + + " ," + + " CASE WHEN (" + + " " + + " ((SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) ) > 90)" + + " OR (SUBSTR(A.FIX_DAY, 1, 4) > '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) > 90)) " + + " " + + " ) THEN 1 ELSE 0 END AS count_90" + + " FROM" + + " (" + + " SELECT" + + " A.CASE_NO," + + " A.CASE_DATE," + + " A.MEDIATION_END_DT," + + " A.MEDIATION_SMALL," + + " A.MEDIATION_BIG," + + " A.RESULT_MONEY," + + " A.CASE_GUBUN," + + " A.DEL_YN," + + " A.CASE_END," + + " A.APP_REQ_TERM," + + " AA.CASE_REASON1," + + " AA.CASE_REASON2," + + " AA.CASE_REASON3," + + " B.MTR_GUBUN," + + " C.CFRNC_NO," + + " A.MEDIATION_AMOUNT," + + " A.FEE_MONEY," + + " A.POST_MONEY," + + " A.LAWYER_MONEY," + + " A.CASE_EXAMINER," + + " CASE" + + " WHEN B.MTR_GUBUN = '2' THEN " + + " CASE" + + " WHEN TO_CHAR(SYSDATE, 'YYYY-MM-DD') >= (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO) " + + " THEN (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO)" + + " ELSE NULL" + + " END" + + " WHEN B.MTR_GUBUN = '1' THEN CASE" + + " WHEN (B.MEDIATION_BIG != '0616010000'" + + " AND B.MEDIATION_BIG != '0617010000'" + + " AND B.MEDIATION_BIG != '0618010000') THEN " + + " CASE" + + " WHEN TO_CHAR(SYSDATE, 'YYYY-MM-DD') >= (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO) " + + " THEN (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO)" + + " ELSE NULL" + + " END" + + " ELSE NULL" + + " END" + + " END AS FIX_DAY" + + " FROM" + + " C_MASTER A" + + " LEFT JOIN C_CASERCEPT AA" + + " ON" + + " A.CASE_NO = AA.CASE_NO" + + " LEFT JOIN C_VIEWMTR B" + + " ON" + + " A.CASE_NO = B.CASE_NO" + + " LEFT JOIN C_CFRNCMANAGE C" + + " ON" + + " B.CFRNC_NO = C.CFRNC_NO" + + " ) A" + + " WHERE" + + " 1 = 1" + + " AND SUBSTR(FIX_DAY, 1, 10) <= SUBSTR(TO_CHAR(sysdate, 'YYYY-MM-DD'), 1, 10)" + + //" --AND TO_CHAR(CASE_DATE, 'YYYYMMDD') <= TO_CHAR(TO_DATE('2024-11-04', 'YYYY-MM-DD'),'YYYYMMDD')" + + " AND a.DEL_YN = 'N'" + + " AND a.MEDIATION_BIG NOT IN ('0616010000', '0617010000', '0618010000')" + + " " + + " )" + + " GROUP BY" + + " CASE_DT," + + " CASE_GUBUN" + + " UNION ALL" + + " " + + " /* 년도별 구분별 평균 처리기간 */" + + " SELECT" + + " CASE_DT," + + " '0200000000' CASE_GUBUN," + + " ROUND(SUM(avgPrd)/ COUNT(*)) AS AVG_FRD," + + " COUNT(*) AS CASE_COUNT," + + " sum(count_60) AS COUNT_60," + + " 0 AS PER_60," + + " sum(count_90) AS COUNT_90," + + " 0 AS PER_90" + + " FROM" + + " (" + + " SELECT" + + " SUBSTR(A.FIX_DAY, 1, 4) AS CASE_DT," + + " a.CASE_GUBUN AS CASE_GUBUN," + + " CASE" + + " WHEN SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " THEN (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0))" + + " ELSE (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1)" + + " END " + + " AS avgPrd" + + " , " + + " CASE WHEN (" + + " " + + " (((SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0)) > 60" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0)) <= 90))" + + " OR ((SUBSTR(A.FIX_DAY, 1, 4) > '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) > 60" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) <= 90))) " + + " " + + " ) THEN 1" + + " ELSE 0" + + " END AS count_60" + + " ," + + " CASE WHEN (" + + " " + + " ((SUBSTR(A.FIX_DAY, 1, 4) <= '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) ) > 90)" + + " OR (SUBSTR(A.FIX_DAY, 1, 4) > '2016'" + + " AND (TO_DATE(MEDIATION_END_DT, 'YYYY-MM-DD') - TO_DATE(TO_char(CASE_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') - nvl(a.APP_REQ_TERM, 0) + 1) > 90)) " + + " " + + " ) THEN 1 ELSE 0 END AS count_90" + + " FROM" + + " (" + + " SELECT" + + " A.CASE_NO," + + " A.CASE_DATE," + + " A.MEDIATION_END_DT," + + " A.MEDIATION_SMALL," + + " A.MEDIATION_BIG," + + " A.RESULT_MONEY," + + " A.CASE_GUBUN," + + " A.DEL_YN," + + " A.CASE_END," + + " A.APP_REQ_TERM," + + " AA.CASE_REASON1," + + " AA.CASE_REASON2," + + " AA.CASE_REASON3," + + " B.MTR_GUBUN," + + " C.CFRNC_NO," + + " A.MEDIATION_AMOUNT," + + " A.FEE_MONEY," + + " A.POST_MONEY," + + " A.LAWYER_MONEY," + + " A.CASE_EXAMINER," + + " CASE" + + " WHEN B.MTR_GUBUN = '2' THEN " + + " CASE" + + " WHEN TO_CHAR(SYSDATE, 'YYYY-MM-DD') >= (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO) " + + " THEN (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO)" + + " ELSE NULL" + + " END" + + " WHEN B.MTR_GUBUN = '1' THEN CASE" + + " WHEN (B.MEDIATION_BIG != '0616010000'" + + " AND B.MEDIATION_BIG != '0617010000'" + + " AND B.MEDIATION_BIG != '0618010000') THEN " + + " CASE" + + " WHEN TO_CHAR(SYSDATE, 'YYYY-MM-DD') >= (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO) " + + " THEN (" + + " SELECT" + + " SUBSTR(FIX_DAY, 1, 10)" + + " FROM" + + " C_CFRNCMANAGE" + + " WHERE" + + " CFRNC_NO = B.CFRNC_NO)" + + " ELSE NULL" + + " END" + + " ELSE NULL" + + " END" + + " END AS FIX_DAY" + + " FROM" + + " C_MASTER A" + + " LEFT JOIN C_CASERCEPT AA" + + " ON" + + " A.CASE_NO = AA.CASE_NO" + + " LEFT JOIN C_VIEWMTR B" + + " ON" + + " A.CASE_NO = B.CASE_NO" + + " LEFT JOIN C_CFRNCMANAGE C" + + " ON" + + " B.CFRNC_NO = C.CFRNC_NO" + + " ) A" + + " WHERE" + + " 1 = 1" + + " AND SUBSTR(FIX_DAY, 1, 10) <= SUBSTR(TO_CHAR(sysdate, 'YYYY-MM-DD'), 1, 10)" + + //" --AND TO_CHAR(CASE_DATE, 'YYYYMMDD') <= TO_CHAR(TO_DATE('2024-11-04', 'YYYY-MM-DD'),'YYYYMMDD')" + + " AND a.DEL_YN = 'N'" + + " AND a.MEDIATION_BIG NOT IN ('0616010000', '0617010000', '0618010000')" + + " " + + " )" + + " GROUP BY" + + " CASE_DT " + + " " + + " )aa" + + " ORDER BY aa.case_dt, aa.case_gubun "; + + return s_ret; + } } \ No newline at end of file