shjung 3 éve
szülő
commit
611481bea6

+ 1 - 1
pom.xml

@@ -33,7 +33,7 @@
         <maven.compiler.target>1.8</maven.compiler.target>
         <!--main 함수가 있는 class 경로-->
         <start-class>com.its.op.ItsOpServerApplication</start-class>
-<!--        <webapp.lib>C:\DEV\ITS\01.WINDOWS\22.01.YONGIN\JAVA\repository</webapp.lib>-->
+        <webapp.lib>C:\DEV\ITS\01.WINDOWS\22.01.YONGIN\JAVA\repository</webapp.lib>
         <maven.test.skip>true</maven.test.skip>
     </properties>
 

+ 2 - 0
src/main/java/com/its/op/config/DatabaseBisConfig.java

@@ -17,6 +17,7 @@ import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.orm.jpa.JpaTransactionManager;
 import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
@@ -28,6 +29,7 @@ import javax.sql.DataSource;
 import java.io.IOException;
 import java.util.Objects;
 
+@Profile("bis")
 @Slf4j
 @ToString
 @Configuration

+ 2 - 0
src/main/java/com/its/op/controller/bis/BisController.java

@@ -11,6 +11,7 @@ import com.its.op.dto.its.unit.TbUnitSystSttsDto;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Profile;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+@Profile("bis")
 @Api(tags = "91.BIS")
 @Validated
 @RestController

+ 2 - 0
src/main/java/com/its/op/controller/bis/BisWallController.java

@@ -5,11 +5,13 @@ import com.its.op.service.bis.BisWallService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Profile;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
+@Profile("bis")
 @Api(tags = "91.BIS-상황판")
 @Validated
 @RestController

+ 2 - 0
src/main/java/com/its/op/dao/mapper/bis/BisWallMapper.java

@@ -3,9 +3,11 @@ package com.its.op.dao.mapper.bis;
 import com.its.op.dto.bis.wall.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.context.annotation.Profile;
 
 import java.util.List;
 
+@Profile("bis")
 @Mapper
 public interface BisWallMapper {
 

+ 2 - 0
src/main/java/com/its/op/dao/repository/bis/BisProcessRepository.java

@@ -1,6 +1,7 @@
 package com.its.op.dao.repository.bis;
 
 import com.its.op.entity.bis.BisProcess;
+import org.springframework.context.annotation.Profile;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -8,6 +9,7 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
+@Profile("bis")
 @Repository
 public interface BisProcessRepository extends JpaRepository<BisProcess, String>, JpaSpecificationExecutor<Process> {
 

+ 2 - 0
src/main/java/com/its/op/dao/repository/bis/BisProcessStatusHistoryRepository.java

@@ -2,6 +2,7 @@ package com.its.op.dao.repository.bis;
 
 import com.its.op.entity.bis.BisProcessStatusHistory;
 import com.its.op.entity.bis.BisProcessStatusHistoryKey;
+import org.springframework.context.annotation.Profile;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -9,6 +10,7 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
+@Profile("bis")
 @Repository
 public interface BisProcessStatusHistoryRepository extends JpaRepository<BisProcessStatusHistory, BisProcessStatusHistoryKey>, JpaSpecificationExecutor<BisProcessStatusHistory> {
 

+ 2 - 0
src/main/java/com/its/op/dao/repository/bis/BitRepository.java

@@ -1,6 +1,7 @@
 package com.its.op.dao.repository.bis;
 
 import com.its.op.entity.bis.Bit;
+import org.springframework.context.annotation.Profile;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -8,6 +9,7 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
+@Profile("bis")
 @Repository
 public interface BitRepository extends JpaRepository<Bit, String>, JpaSpecificationExecutor<Bit> {
 

+ 2 - 0
src/main/java/com/its/op/dao/repository/bis/BitStatusHistoryRepository.java

@@ -4,6 +4,7 @@ import com.its.op.dto.bis.BitStatusHistoryInf;
 import com.its.op.dto.its.common.SttsHsErrCntInf;
 import com.its.op.entity.bis.BitStatusHistory;
 import com.its.op.entity.bis.BitStatusHistoryKey;
+import org.springframework.context.annotation.Profile;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -11,6 +12,7 @@ import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
+@Profile("bis")
 @Repository
 public interface BitStatusHistoryRepository extends JpaRepository<BitStatusHistory, BitStatusHistoryKey>, JpaSpecificationExecutor<BitStatusHistory> {
 

+ 23 - 11
src/main/java/com/its/op/scheduler/job/FcltSttsJobThread.java

@@ -2,32 +2,43 @@ package com.its.op.scheduler.job;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.its.op.config.AppUtils;
 import com.its.op.dto.its.common.FcltSttsListDto;
 import com.its.op.service.bis.BitService;
 import com.its.op.service.its.common.CommonSttsService;
 import com.its.op.websocket.ItsWebSocketMessage;
 import com.its.op.websocket.ItsWebSocketSessionManager;
-import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.env.Environment;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StopWatch;
 import org.springframework.web.socket.TextMessage;
 
 import javax.annotation.PostConstruct;
+import java.util.Arrays;
 
 @Slf4j
-@AllArgsConstructor
+@RequiredArgsConstructor
 @Service
 public class FcltSttsJobThread {
 
+    private final Environment environment;
     private final CommonSttsService itsService;
-    private final BitService bitService;
     private ObjectMapper mapper;
+    private boolean isRunBis = false;
+    private BitService bitService = null;
 
     @PostConstruct
     private void init() {
         this.mapper = new ObjectMapper();
+
+        this.isRunBis = Arrays.asList(environment.getActiveProfiles()).contains("bis");
+        if (this.isRunBis) {
+            log.info("SUPPORT BIS INTERFACE.....");
+            this.bitService = (BitService) AppUtils.getBean(BitService.class);
+        }
         log.info("{}", this);
     }
 
@@ -51,14 +62,15 @@ public class FcltSttsJobThread {
         }
 
         // BIS BIT Stts
-        FcltSttsListDto bitSttsDto = this.bitService.findAllListSttsTotal(true);
-        ItsWebSocketMessage bisMessage = new ItsWebSocketMessage("bisFcltStts", bitSttsDto);
-        try {
-            String bitSttsJsonData = this.mapper.writeValueAsString(bisMessage);
-            ItsWebSocketSessionManager.getInstance().sendBroadcastMessage(bisMessage.getCommand(), new TextMessage(bitSttsJsonData));
-        }
-        catch(JsonProcessingException e){
-            log.error("FcltSttsJobThread BisFcltSttsDto Json parsing Exception: {}", bitSttsDto);
+        if (this.isRunBis && this.bitService != null) {
+            FcltSttsListDto bitSttsDto = this.bitService.findAllListSttsTotal(true);
+            ItsWebSocketMessage bisMessage = new ItsWebSocketMessage("bisFcltStts", bitSttsDto);
+            try {
+                String bitSttsJsonData = this.mapper.writeValueAsString(bisMessage);
+                ItsWebSocketSessionManager.getInstance().sendBroadcastMessage(bisMessage.getCommand(), new TextMessage(bitSttsJsonData));
+            } catch (JsonProcessingException e) {
+                log.error("FcltSttsJobThread BisFcltSttsDto Json parsing Exception: {}", bitSttsDto);
+            }
         }
 
         stopWatch.stop();

+ 23 - 12
src/main/java/com/its/op/scheduler/job/UnitSttsJobThread.java

@@ -2,33 +2,43 @@ package com.its.op.scheduler.job;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.its.op.service.bis.BisProcessService;
+import com.its.op.config.AppUtils;
 import com.its.op.dto.its.unit.TbUnitSystSttsDto;
+import com.its.op.service.bis.BisProcessService;
 import com.its.op.service.its.unit.TbUnitSystService;
 import com.its.op.websocket.ItsWebSocketMessage;
 import com.its.op.websocket.ItsWebSocketSessionManager;
-import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.env.Environment;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StopWatch;
 import org.springframework.web.socket.TextMessage;
 
 import javax.annotation.PostConstruct;
+import java.util.Arrays;
 import java.util.List;
 
 @Slf4j
-@AllArgsConstructor
+@RequiredArgsConstructor
 @Service
 public class UnitSttsJobThread {
 
+    private final Environment environment;
     private final TbUnitSystService unitSystService;
-    private final BisProcessService bisService;
     private ObjectMapper mapper;
+    private boolean isRunBis = false;
+    private BisProcessService bisService = null;
 
     @PostConstruct
     private void init() {
         this.mapper = new ObjectMapper();
+        this.isRunBis = Arrays.asList(environment.getActiveProfiles()).contains("bis");
+        if (this.isRunBis) {
+            log.info("SUPPORT BIS INTERFACE.....");
+            this.bisService = (BisProcessService) AppUtils.getBean(BisProcessService.class);
+        }
         log.info("{}", this);
     }
 
@@ -52,14 +62,15 @@ public class UnitSttsJobThread {
         }
 
         // BIS Unit Stts
-        List<TbUnitSystSttsDto> bitUnitDto = this.bisService.findAllStts();
-        ItsWebSocketMessage bisMessage = new ItsWebSocketMessage("bisUnitStts", bitUnitDto);
-        try {
-            String bitSttsJsonData = this.mapper.writeValueAsString(bisMessage);
-            ItsWebSocketSessionManager.getInstance().sendBroadcastMessage(bisMessage.getCommand(), new TextMessage(bitSttsJsonData));
-        }
-        catch(JsonProcessingException e){
-            log.error("UnitSttsJobThread BisFcltSttsDto Json parsing Exception: {}", bitUnitDto);
+        if (this.isRunBis && this.bisService != null) {
+            List<TbUnitSystSttsDto> bitUnitDto = this.bisService.findAllStts();
+            ItsWebSocketMessage bisMessage = new ItsWebSocketMessage("bisUnitStts", bitUnitDto);
+            try {
+                String bitSttsJsonData = this.mapper.writeValueAsString(bisMessage);
+                ItsWebSocketSessionManager.getInstance().sendBroadcastMessage(bisMessage.getCommand(), new TextMessage(bitSttsJsonData));
+            } catch (JsonProcessingException e) {
+                log.error("UnitSttsJobThread BisFcltSttsDto Json parsing Exception: {}", bitUnitDto);
+            }
         }
 
         stopWatch.stop();

+ 2 - 0
src/main/java/com/its/op/service/bis/BisProcessService.java

@@ -9,11 +9,13 @@ import com.its.op.global.CodeManager;
 import com.its.op.dto.its.unit.TbUnitSystSttsDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 
+@Profile("bis")
 @Slf4j
 @RequiredArgsConstructor
 @Service

+ 2 - 0
src/main/java/com/its/op/service/bis/BisProcessStatusHistoryService.java

@@ -5,12 +5,14 @@ import com.its.op.entity.bis.BisProcessStatusHistory;
 import com.its.op.dao.repository.bis.BisProcessStatusHistoryRepository;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@Profile("bis")
 @Slf4j
 @RequiredArgsConstructor
 @Service

+ 2 - 0
src/main/java/com/its/op/service/bis/BisWallService.java

@@ -4,10 +4,12 @@ import com.its.op.dao.mapper.bis.BisWallMapper;
 import com.its.op.dto.bis.wall.*;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+@Profile("bis")
 @Slf4j
 @RequiredArgsConstructor
 @Service

+ 2 - 0
src/main/java/com/its/op/service/bis/BitService.java

@@ -9,12 +9,14 @@ import com.its.op.entity.bis.Bit;
 import com.its.op.global.CodeManager;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
+@Profile("bis")
 @Slf4j
 @RequiredArgsConstructor
 @Service

+ 2 - 0
src/main/java/com/its/op/service/bis/BitStatusHistoryService.java

@@ -5,12 +5,14 @@ import com.its.op.dto.bis.BitStatusHistoryDto;
 import com.its.op.entity.bis.BitStatusHistory;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@Profile("bis")
 @Slf4j
 @RequiredArgsConstructor
 @Service

+ 11 - 3
src/main/java/com/its/op/service/its/common/CommonSttsService.java

@@ -29,10 +29,11 @@ public class CommonSttsService {
     private final TbCctvCtlrService cctvService;
     private final TbVmsCtlrService vmsService;
     private final TbVdsCtlrService vdsService;
-    private final BitService bitService;
     private final Environment environment;
     private boolean isRunUtis = false;
     private RsemstService rseService = null;
+    private boolean isRunBis = false;
+    private BitService bitService = null;
 
     @PostConstruct
     void init() {
@@ -41,6 +42,11 @@ public class CommonSttsService {
             log.info("SUPPORT UTIS INTERFACE.....");
             this.rseService = (RsemstService) AppUtils.getBean(RsemstService.class);
         }
+        this.isRunBis = Arrays.asList(environment.getActiveProfiles()).contains("bis");
+        if (this.isRunBis) {
+            log.info("SUPPORT BIS INTERFACE.....");
+            this.bitService = (BitService) AppUtils.getBean(BitService.class);
+        }
     }
 
     /**
@@ -100,8 +106,10 @@ public class CommonSttsService {
         }
 
         // BIT
-        FcltSttsListDto bit = this.bitService.findAllListSttsTotal(false);
-        result.getFcltList().add(bit.getFcltList().get(0));
+        if (this.isRunBis && this.bitService != null) {
+            FcltSttsListDto bit = this.bitService.findAllListSttsTotal(false);
+            result.getFcltList().add(bit.getFcltList().get(0));
+        }
 
         return result;
     }