|
|
@@ -1,8 +1,6 @@
|
|
|
package com.its.traf.global;
|
|
|
|
|
|
-import com.its.traf.vo.TrafJobType;
|
|
|
-import com.its.traf.vo.TrafPrcsVo;
|
|
|
-import com.its.traf.vo.TrafStatVo;
|
|
|
+import com.its.traf.ui.MainUI;
|
|
|
import lombok.Getter;
|
|
|
import lombok.Setter;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -16,7 +14,7 @@ public class AppRepository {
|
|
|
private static AppRepository _instance = null;
|
|
|
|
|
|
public ConcurrentHashMap<Integer, TrafPrcsVo> prcsMap = null;
|
|
|
- public ConcurrentHashMap<Integer, TrafStatVo> statMap = null;
|
|
|
+ public ConcurrentHashMap<Integer, TrafPrcsVo> statMap = null;
|
|
|
|
|
|
public static AppRepository getInstance() {
|
|
|
if (_instance == null) {
|
|
|
@@ -36,15 +34,101 @@ public class AppRepository {
|
|
|
public void initMap() {
|
|
|
initPrcsMap();
|
|
|
initStatMap();
|
|
|
+
|
|
|
+// TrafJobType arr[] = TrafJobType.values();
|
|
|
+// for (TrafJobType col : arr) {
|
|
|
+// System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: " + col + " at index " + col.ordinal());
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
private void initPrcsMap() {
|
|
|
int idx = 0;
|
|
|
- this.prcsMap.put(TrafJobType.LOAD_PARAMETER.ordinal(), new TrafPrcsVo(idx++, "파리미터 로딩", "CLCT_SYST_STUP,HLDY_INFR,SECT_GRAD,VMS_IFSC_CMTR_GRAD,LINK_PARA_STUP"));
|
|
|
- this.prcsMap.put(TrafJobType.LOAD_BASEDATA.ordinal(), new TrafPrcsVo(idx++, "기초정보 로딩", "LINK,IFSC,ROAD,VMS_IFSC,EQTY_SECT,INCD_RSTR_SECT"));
|
|
|
- this.prcsMap.put(TrafJobType.LOAD_PATTERN.ordinal(), new TrafPrcsVo(idx++, "패턴정보 로딩", "LINK05,IFSC05,ROAD05,LINK15,IFSC15,ROAD15"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_05M_ALL.ordinal(), new TrafPrcsVo(idx++, "교통정보가공", "ALL"));
|
|
|
+
|
|
|
+ this.prcsMap.put(TrafJobType.LOAD_PARAMETER.ordinal(), new TrafPrcsVo(idx++, "기초정보로딩-파리미터", "CLCT_SYST_STUP,HLDY_INFR,SECT_GRAD,VMS_IFSC_CMTR_GRAD,LINK_PARA_STUP"));
|
|
|
+ this.prcsMap.put(TrafJobType.LOAD_BASEDATA.ordinal(), new TrafPrcsVo(idx++, "기초정보로딩-기본정보", "LINK,IFSC,ROAD,VMS_IFSC,EQTY_SECT,INCD_RSTR_SECT"));
|
|
|
+ this.prcsMap.put(TrafJobType.LOAD_PATTERN.ordinal(), new TrafPrcsVo(idx++, "기초정보로딩-패턴정보", "LINK05,IFSC05,ROAD05,LINK15,IFSC15,ROAD15"));
|
|
|
+ this.prcsMap.put(TrafJobType.LOAD_ALL.ordinal(), new TrafPrcsVo(idx++, "기초정보로딩", "ALL"));
|
|
|
+
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_INCD.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-돌발", "INCD_OCRR,INCD_RSTR_SECT"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_OPER.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-운영자", "LINK_SYOP_TRAF,IFSC_RLTN_LINK"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_VDS.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-VDS", "VDS_DTCT_CLCT,VDS_DTCT_RLTN_LINK,VDS_DTCT"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_DSRC.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-DSRC", "RSE_SECT_RLTN_LINK,RSE_SECT_TRAF"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_MOCT.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-민간정보연계", "TRAFFIC_MOCT,LINK"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_GITS.ordinal(), new TrafPrcsVo(idx++, "소통정보수집-경기도연계", "EI_LINK_CUR,LINK"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LOAD_RAW_ALL.ordinal(), new TrafPrcsVo(idx++, "소통정보수집", "ALL"));
|
|
|
+
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LINK_TRAF.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-LINK-TRAF", "LINK_TRAF"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_LINK_TRAF_HS.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-LINK-TRAF-HS", "LINK_TRAF_HS"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_IFSC_TRAF.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-IFSC-TRAF", "IFSC_TRAF"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_IFSC_TRAF_HS.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-IFSC-TRAF-HS", "IFSC_TRAF_HS"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_ROAD_TRAF.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-ROAD-TRAF", "ROAD_TRAF"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_ROAD_TRAF_HS.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-ROAD-TRAF-HS", "ROAD_TRAF_HS"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_VMS_TRAF.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-VMS-TRAF", "VMS_TRAF"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_VMS_TRAF_HS.ordinal(), new TrafPrcsVo(idx++, "소통정보가공-VMS-TRAF-HS", "VMS_TRAF_HS"));
|
|
|
+
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_LINK_05M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-LINK-05M", "LINK_PTRN_5M"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_IFSC_05M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-IFSC-05M", "IFSC_PTRN_5M"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_ROAD_05M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-ROAD-05M", "ROAD_PTRN_5M"));
|
|
|
+
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_LINK_15M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-LINK-15M", "LINK_PTRN_15M"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_IFSC_15M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-IFSC-15M", "IFSC_PTRN_15M"));
|
|
|
+ this.prcsMap.put(TrafJobType.PRCS_PTRN_ROAD_15M.ordinal(), new TrafPrcsVo(idx++, "패턴정보생성-ROAD-15M", "ROAD_PTRN_15M"));
|
|
|
}
|
|
|
private void initStatMap() {
|
|
|
+ int idx = 0;
|
|
|
+ this.statMap.put(TrafJobType.STAT_LINK_15M.ordinal(), new TrafPrcsVo(idx++, "15분통계-LINK-15M", "LINK_STAT_15M"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_IFSC_15M.ordinal(), new TrafPrcsVo(idx++, "15분통계-IFSC-15M", "IFSC_STAT_15M"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_ROAD_15M.ordinal(), new TrafPrcsVo(idx++, "15분통계-ROAD-15M", "ROAD_STAT_15M"));
|
|
|
+
|
|
|
+ this.statMap.put(TrafJobType.STAT_LINK_HH.ordinal(), new TrafPrcsVo(idx++, "시간통계-LINK-HH", "LINK_STAT_HH"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_IFSC_HH.ordinal(), new TrafPrcsVo(idx++, "시간통계-IFSC-HH", "IFSC_STAT_HH"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_ROAD_HH.ordinal(), new TrafPrcsVo(idx++, "시간통계-ROAD-HH", "ROAD_STAT_HH"));
|
|
|
+
|
|
|
+ this.statMap.put(TrafJobType.STAT_LINK_DD.ordinal(), new TrafPrcsVo(idx++, "일 통계-LINK-DD", "LINK_STAT_DD"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_IFSC_DD.ordinal(), new TrafPrcsVo(idx++, "일 통계-IFSC-DD", "IFSC_STAT_DD"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_ROAD_DD.ordinal(), new TrafPrcsVo(idx++, "일 통계-ROAD-DD", "ROAD_STAT_DD"));
|
|
|
+
|
|
|
+ this.statMap.put(TrafJobType.STAT_LINK_MN.ordinal(), new TrafPrcsVo(idx++, "월 통계-LINK-MN", "LINK_STAT_MN"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_IFSC_MN.ordinal(), new TrafPrcsVo(idx++, "월 통계-IFSC-MN", "IFSC_STAT_MN"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_ROAD_MN.ordinal(), new TrafPrcsVo(idx++, "월 통계-ROAD-MN", "ROAD_STAT_MN"));
|
|
|
+
|
|
|
+ this.statMap.put(TrafJobType.STAT_LINK_YY.ordinal(), new TrafPrcsVo(idx++, "년 통계-LINK-YY", "LINK_STAT_YY"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_IFSC_YY.ordinal(), new TrafPrcsVo(idx++, "년 통계-IFSC-YY", "IFSC_STAT_YY"));
|
|
|
+ this.statMap.put(TrafJobType.STAT_ROAD_YY.ordinal(), new TrafPrcsVo(idx++, "년 통계-ROAD-YY", "ROAD_STAT_YY"));
|
|
|
|
|
|
+ this.statMap.put(TrafJobType.PRCN_REPT_CNGS_SECT.ordinal(), new TrafPrcsVo(idx++, "반복정체판정", "REPT_CNGS_SECT"));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void startJob(TrafJobType jobType) {
|
|
|
+ TrafPrcsVo prcsVo = AppRepository.getInstance().getPrcsMap().get(jobType.ordinal());
|
|
|
+ if (prcsVo == null) {
|
|
|
+ prcsVo = AppRepository.getInstance().getStatMap().get(jobType.ordinal());
|
|
|
+ }
|
|
|
+ if (prcsVo != null) {
|
|
|
+ prcsVo.startTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void endJob(TrafJobType jobType, int jobCount, boolean isUIUpdate) {
|
|
|
+ boolean isStat = false;
|
|
|
+ TrafPrcsVo prcsVo = AppRepository.getInstance().getPrcsMap().get(jobType.ordinal());
|
|
|
+ if (prcsVo == null) {
|
|
|
+ isStat = true;
|
|
|
+ prcsVo = AppRepository.getInstance().getStatMap().get(jobType.ordinal());
|
|
|
+ }
|
|
|
+ if (prcsVo != null) {
|
|
|
+ prcsVo.endTime(jobCount);
|
|
|
+ }
|
|
|
+ if (isUIUpdate) {
|
|
|
+ MainUI UI = MainUI.getInstance();
|
|
|
+ if (UI != null) {
|
|
|
+ if (isStat) {
|
|
|
+ UI.updateTrafStat();
|
|
|
+ } else {
|
|
|
+ UI.updateTrafPrcs();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|