|
@@ -0,0 +1,224 @@
|
|
|
+package com.its.op.global;
|
|
|
+
|
|
|
+import com.its.op.dao.repository.its.facility.*;
|
|
|
+import com.its.op.dto.its.facility.*;
|
|
|
+import com.its.op.entity.its.facility.*;
|
|
|
+import lombok.Getter;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import javax.annotation.PostConstruct;
|
|
|
+import java.util.List;
|
|
|
+import java.util.concurrent.ConcurrentHashMap;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@RequiredArgsConstructor
|
|
|
+@Getter
|
|
|
+@Component
|
|
|
+public class CmmnFcltCdManager {
|
|
|
+
|
|
|
+ // 시설물 장애 발생 구분
|
|
|
+ private final TbFcltFailOcrrTypeRepository failOcrrTypeRepo;
|
|
|
+ // 시설물 장애 유형
|
|
|
+ private final TbFcltFailTypeRepository failTypeRepo;
|
|
|
+ // 시설물 장애 유형별 조치
|
|
|
+ private final TbFcltFailTypeActRepository failTypeActRepo;
|
|
|
+ // 시설물 품목
|
|
|
+ private final TbFcltSubjRepository fcltSubRepo;
|
|
|
+ // 시설물 품목별 부품
|
|
|
+ private final TbFcltSubjPartRepository fcltSubjPartRepo;
|
|
|
+
|
|
|
+ public static final String defFcltCodeUnknown = "UNKNOWN";
|
|
|
+
|
|
|
+ private static ConcurrentHashMap<String, TbFcltFailOcrrTypeDto> codeFailOcrrType = new ConcurrentHashMap<>();
|
|
|
+ private static ConcurrentHashMap<String, TbFcltFailTypeDto> codeFailType = new ConcurrentHashMap<>();
|
|
|
+ private static ConcurrentHashMap<String, TbFcltFailTypeActDto> codeFailTypeAct = new ConcurrentHashMap<>();
|
|
|
+ private static ConcurrentHashMap<Long, TbFcltSubjDto> codeFcltSubj = new ConcurrentHashMap<>();
|
|
|
+ private static ConcurrentHashMap<Long, TbFcltSubjPartDto> codeFcltSubjPart = new ConcurrentHashMap<>();
|
|
|
+
|
|
|
+ @PostConstruct
|
|
|
+ void init() {
|
|
|
+ load();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void load() {
|
|
|
+ List<TbFcltFailOcrrType> codeList1 = this.failOcrrTypeRepo.findAll();
|
|
|
+ for (TbFcltFailOcrrType e : codeList1) {
|
|
|
+ TbFcltFailOcrrTypeDto code = e.toDto();
|
|
|
+ codeFailOcrrType.put(code.getFailOcrrCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltFailType> codeList2 = this.failTypeRepo.findAll();
|
|
|
+ for (TbFcltFailType e : codeList2) {
|
|
|
+ TbFcltFailTypeDto code = e.toDto();
|
|
|
+ codeFailType.put(code.getFailCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltFailTypeAct> codeList3 = this.failTypeActRepo.findAll();
|
|
|
+ for (TbFcltFailTypeAct e : codeList3) {
|
|
|
+ TbFcltFailTypeActDto code = e.toDto();
|
|
|
+ codeFailTypeAct.put(code.getFailActCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltSubj> codeList4 = this.fcltSubRepo.findAll();
|
|
|
+ for (TbFcltSubj e : codeList4) {
|
|
|
+ TbFcltSubjDto code = e.toDto();
|
|
|
+ codeFcltSubj.put(code.getSubjNmbr(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltSubjPart> codeList5 = this.fcltSubjPartRepo.findAll();
|
|
|
+ for (TbFcltSubjPart e : codeList5) {
|
|
|
+ TbFcltSubjPartDto code = e.toDto();
|
|
|
+ codeFcltSubjPart.put(code.getPartNmbr(), code);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<TbFcltFailOcrrType> reload() {
|
|
|
+ ConcurrentHashMap<String, TbFcltFailOcrrTypeDto> tempCodeFailOcrrType = new ConcurrentHashMap<>();
|
|
|
+ ConcurrentHashMap<String, TbFcltFailTypeDto> tempCodeFailType = new ConcurrentHashMap<>();
|
|
|
+ ConcurrentHashMap<String, TbFcltFailTypeActDto> tempCodeFailTypeAct = new ConcurrentHashMap<>();
|
|
|
+ ConcurrentHashMap<Long, TbFcltSubjDto> tempCodeFcltSubj = new ConcurrentHashMap<>();
|
|
|
+ ConcurrentHashMap<Long, TbFcltSubjPartDto> tempCodeFcltSubjPart = new ConcurrentHashMap<>();
|
|
|
+
|
|
|
+ List<TbFcltFailOcrrType> codeList1 = this.failOcrrTypeRepo.findAll();
|
|
|
+ for (TbFcltFailOcrrType e : codeList1) {
|
|
|
+ TbFcltFailOcrrTypeDto code = e.toDto();
|
|
|
+ tempCodeFailOcrrType.put(code.getFailOcrrCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltFailType> codeList2 = this.failTypeRepo.findAll();
|
|
|
+ for (TbFcltFailType e : codeList2) {
|
|
|
+ TbFcltFailTypeDto code = e.toDto();
|
|
|
+ tempCodeFailType.put(code.getFailCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltFailTypeAct> codeList3 = this.failTypeActRepo.findAll();
|
|
|
+ for (TbFcltFailTypeAct e : codeList3) {
|
|
|
+ TbFcltFailTypeActDto code = e.toDto();
|
|
|
+ tempCodeFailTypeAct.put(code.getFailActCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltSubj> codeList4 = this.fcltSubRepo.findAll();
|
|
|
+ for (TbFcltSubj e : codeList4) {
|
|
|
+ TbFcltSubjDto code = e.toDto();
|
|
|
+ tempCodeFcltSubj.put(code.getSubjNmbr(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<TbFcltSubjPart> codeList5 = this.fcltSubjPartRepo.findAll();
|
|
|
+ for (TbFcltSubjPart e : codeList5) {
|
|
|
+ TbFcltSubjPartDto code = e.toDto();
|
|
|
+ tempCodeFcltSubjPart.put(code.getPartNmbr(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ codeFailOcrrType = tempCodeFailOcrrType;
|
|
|
+ codeFailType = tempCodeFailType;
|
|
|
+ codeFailTypeAct = tempCodeFailTypeAct;
|
|
|
+ codeFcltSubj = tempCodeFcltSubj;
|
|
|
+ codeFcltSubjPart = tempCodeFcltSubjPart;
|
|
|
+
|
|
|
+ return codeList1;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshFailOcrrType(List<TbFcltFailOcrrTypeDto> codeList1) {
|
|
|
+ ConcurrentHashMap<String, TbFcltFailOcrrTypeDto> tempCodeFailOcrrType = new ConcurrentHashMap<>();
|
|
|
+ for (TbFcltFailOcrrTypeDto code : codeList1) {
|
|
|
+ tempCodeFailOcrrType.put(code.getFailOcrrCd(), code);
|
|
|
+ }
|
|
|
+ codeFailOcrrType = tempCodeFailOcrrType;
|
|
|
+ }
|
|
|
+ public void updateFailOcrrType(TbFcltFailOcrrTypeDto code) {
|
|
|
+ codeFailOcrrType.put(code.getFailOcrrCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshFailType(List<TbFcltFailTypeDto> codeList2) {
|
|
|
+ ConcurrentHashMap<String, TbFcltFailTypeDto> tempCodeFailType = new ConcurrentHashMap<>();
|
|
|
+ for (TbFcltFailTypeDto code : codeList2) {
|
|
|
+ tempCodeFailType.put(code.getFailCd(), code);
|
|
|
+ }
|
|
|
+ codeFailType = tempCodeFailType;
|
|
|
+ }
|
|
|
+ public void updateFailType(TbFcltFailTypeDto code) {
|
|
|
+ codeFailType.put(code.getFailCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshFailTypeAct(List<TbFcltFailTypeActDto> codeList3) {
|
|
|
+ ConcurrentHashMap<String, TbFcltFailTypeActDto> tempCodeFailTypeAct = new ConcurrentHashMap<>();
|
|
|
+ for (TbFcltFailTypeActDto code : codeList3) {
|
|
|
+ tempCodeFailTypeAct.put(code.getFailActCd(), code);
|
|
|
+ }
|
|
|
+ codeFailTypeAct = tempCodeFailTypeAct;
|
|
|
+ }
|
|
|
+ public void updateFailTypeAct(TbFcltFailTypeActDto code) {
|
|
|
+ codeFailTypeAct.put(code.getFailActCd(), code);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshSubj(List<TbFcltSubjDto> codeList4) {
|
|
|
+ ConcurrentHashMap<Long, TbFcltSubjDto> tempCodeFcltSubj = new ConcurrentHashMap<>();
|
|
|
+ for (TbFcltSubjDto code : codeList4) {
|
|
|
+ tempCodeFcltSubj.put(code.getSubjNmbr(), code);
|
|
|
+ }
|
|
|
+ codeFcltSubj = tempCodeFcltSubj;
|
|
|
+ }
|
|
|
+ public void updateSubj(TbFcltSubjDto code) {
|
|
|
+ codeFcltSubj.put(code.getSubjNmbr(), code);
|
|
|
+ }
|
|
|
+ public void removeSubj(Long id) {
|
|
|
+ codeFcltSubj.remove(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void refreshSubPart(List<TbFcltSubjPartDto> codeList5) {
|
|
|
+ ConcurrentHashMap<Long, TbFcltSubjPartDto> tempCodeFcltSubjPart = new ConcurrentHashMap<>();
|
|
|
+ for (TbFcltSubjPartDto code : codeList5) {
|
|
|
+ tempCodeFcltSubjPart.put(code.getPartNmbr(), code);
|
|
|
+ }
|
|
|
+ codeFcltSubjPart = tempCodeFcltSubjPart;
|
|
|
+ }
|
|
|
+ public void updateSubPart(TbFcltSubjPartDto code) {
|
|
|
+ codeFcltSubjPart.put(code.getPartNmbr(), code);
|
|
|
+ }
|
|
|
+ public void removeSubjPart(Long id) {
|
|
|
+ codeFcltSubjPart.remove(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFailOcrrTypeName(String CODE) {
|
|
|
+ TbFcltFailOcrrTypeDto code = codeFailOcrrType.get(CODE);
|
|
|
+ if (code != null) {
|
|
|
+ return code.getFailOcrrCdNm();
|
|
|
+ }
|
|
|
+ return defFcltCodeUnknown;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFailTypeName(String CODE) {
|
|
|
+ TbFcltFailTypeDto code = codeFailType.get(CODE);
|
|
|
+ if (code != null) {
|
|
|
+ return code.getFailCdNm();
|
|
|
+ }
|
|
|
+ return defFcltCodeUnknown;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFailTypeActName(String CODE) {
|
|
|
+ TbFcltFailTypeActDto code = codeFailTypeAct.get(CODE);
|
|
|
+ if (code != null) {
|
|
|
+ return code.getFailActCdNm();
|
|
|
+ }
|
|
|
+ return defFcltCodeUnknown;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFcltSubjName(Long CODE) {
|
|
|
+ TbFcltSubjDto code = codeFcltSubj.get(CODE);
|
|
|
+ if (code != null) {
|
|
|
+ return code.getSubjNm();
|
|
|
+ }
|
|
|
+ return defFcltCodeUnknown;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getFcltSubjPartName(Long CODE) {
|
|
|
+ TbFcltSubjPartDto code = codeFcltSubjPart.get(CODE);
|
|
|
+ if (code != null) {
|
|
|
+ return code.getPartNm();
|
|
|
+ }
|
|
|
+ return defFcltCodeUnknown;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|