瀏覽代碼

yongin job thue

shjung 3 年之前
父節點
當前提交
2c3ccaab59
共有 39 個文件被更改,包括 464 次插入360 次删除
  1. 14 9
      src/main/java/com/its/op/dao/repository/bis/BisProcessRepository.java
  2. 8 1
      src/main/java/com/its/op/dao/repository/bis/BisProcessStatusHistoryRepository.java
  3. 3 0
      src/main/java/com/its/op/entity/its/link/TbLinkTraf.java
  4. 3 0
      src/main/java/com/its/op/entity/its/link/TbLinkTrafHs.java
  5. 2 1
      src/main/java/com/its/op/entity/its/vms/TbVmsSttsHs.java
  6. 1 1
      src/main/java/com/its/op/global/CodeManager.java
  7. 32 26
      src/main/java/com/its/op/service/bis/BisProcessService.java
  8. 7 9
      src/main/resources/static/application/facility/main/main-func.js
  9. 6 14
      src/main/resources/static/application/facility/main/main.css
  10. 80 9
      src/main/resources/static/application/facility/main/main.html
  11. 11 6
      src/main/resources/static/application/facility/main/main.js
  12. 0 49
      src/main/resources/static/application/op/01.traffic-manager/01.traffic-current/current-traffic.css
  13. 0 10
      src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs-pop-up.css
  14. 21 7
      src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs-pop-up.js
  15. 40 1
      src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs.css
  16. 3 1
      src/main/resources/static/application/op/03.history/02.unit-syst-stts-hs/unit-syst-stts-hs.js
  17. 1 1
      src/main/resources/static/application/op/03.history/05.clct-analysis/clct-analysis.js
  18. 1 1
      src/main/resources/static/application/op/04-1.statistics/03.atrd/atrd.js
  19. 2 2
      src/main/resources/static/application/op/04-3.report/report.html
  20. 33 10
      src/main/resources/static/application/op/04-3.report/report.js
  21. 3 6
      src/main/resources/static/application/op/05.cctv/04.monitoring-camera/monitoring-popup-manager.js
  22. 25 46
      src/main/resources/static/application/op/06.vms/01.system/01.monitoring/01.phase/phase.js
  23. 3 0
      src/main/resources/static/application/op/06.vms/01.system/01.monitoring/03.stts/stts.html
  24. 21 6
      src/main/resources/static/application/op/06.vms/01.system/01.monitoring/03.stts/stts.js
  25. 21 18
      src/main/resources/static/application/op/06.vms/01.system/01.monitoring/04.module/module.js
  26. 0 49
      src/main/resources/static/application/op/06.vms/01.system/02.control/control.css
  27. 16 18
      src/main/resources/static/application/op/06.vms/01.system/02.control/control.js
  28. 7 1
      src/main/resources/static/application/op/06.vms/05.history/01.stts/stts.css
  29. 2 8
      src/main/resources/static/application/op/06.vms/05.history/01.stts/stts.js
  30. 1 1
      src/main/resources/static/application/op/07.vds/07.statistics-dtct-tfvl/dtct-tfvl.js
  31. 2 2
      src/main/resources/static/application/op/08.database/01.node/node.js
  32. 9 7
      src/main/resources/static/application/op/08.database/06.clct-syst-stup/clct-syst-stup.js
  33. 9 6
      src/main/resources/static/application/op/99.common/common.css
  34. 0 1
      src/main/resources/static/application/wall/main/main-func.js
  35. 48 20
      src/main/resources/static/application/wall/main/main.css
  36. 28 13
      src/main/resources/static/application/wall/main/main.html
  37. 1 0
      src/main/resources/static/application/wall/main/main.js
  38. 二進制
      src/main/resources/static/images/application_facility/logo.png
  39. 二進制
      src/main/resources/static/images/application_wall/bottom/bottom.png

+ 14 - 9
src/main/java/com/its/op/dao/repository/bis/BisProcessRepository.java

@@ -13,14 +13,19 @@ import java.util.List;
 @Repository
 public interface BisProcessRepository extends JpaRepository<BisProcess, String>, JpaSpecificationExecutor<Process> {
 
-    @Query("select p from BisProcess p where p.processid in (90201, 90202, 90203, 90204, 90205, " +
-            "                                  90101, 90102, 90103, 90104, 90105, " +
-            "                                  110201, " +
-            "                                  110101, " +
-            "                                  80101, 80102, " +
-            "                                  10901, " +
-            "                                  11001, " +
-            "                                  11101, " +
-            "                                  11201)")
+    @Query("select p from BisProcess p where p.processid in (110201, " +
+            "160101, " +
+            "90201, " +
+            "90202, " +
+            "90203, " +
+            "90204, " +
+            "90205, " +
+            "90101, " +
+            "90102, " +
+            "90103, " +
+            "90104, " +
+            "90105, " +
+            "80101, " +
+            "80201)")
     List<BisProcess> findAllList();
 }

+ 8 - 1
src/main/java/com/its/op/dao/repository/bis/BisProcessStatusHistoryRepository.java

@@ -14,7 +14,14 @@ import java.util.List;
 @Repository
 public interface BisProcessStatusHistoryRepository extends JpaRepository<BisProcessStatusHistory, BisProcessStatusHistoryKey>, JpaSpecificationExecutor<BisProcessStatusHistory> {
 
-    @Query("select p from BisProcessStatusHistory p where p.processstatekind in ('1', '2', '4')")
+    //'1', '2', '4'
+    @Query("select p from BisProcessStatusHistory p                                              " +
+           " where (p.processid, p.collectdate) in (select m.processid, max(m.collectdate)       " +
+           "                                          from BisProcessStatusHistory m             " +
+           "                                         where m.processstatekind in ('4') " +
+           "                                           and m.collectdate > (sysdate - 60)        " +
+           "                                         group by m.processid)                       " +
+           "   and p.processstatekind in ('4') ")
     List<BisProcessStatusHistory> findAllStts();
 
 }

+ 3 - 0
src/main/java/com/its/op/entity/its/link/TbLinkTraf.java

@@ -128,6 +128,9 @@ public class TbLinkTraf implements Serializable {
         }
         dto.setCmtrGradDesc(CodeManager.getCodeDesc(CodeManager.CMTR_GRAD_CD, this.cmtrGradCd));
         dto.setPrcnSorcDesc(CodeManager.getCodeDesc(CodeManager.PRCN_SORC, this.prcnSorc));
+        if (dto.getPrcnSorcDesc().contains(CodeManager.defUnknownDesc)) {
+            dto.setPrcnSorcDesc(CodeManager.getCodeDesc(CodeManager.ADJS_SORC, this.prcnSorc));
+        }
         dto.setAdjsSorcDesc(CodeManager.getCodeDesc(CodeManager.ADJS_SORC, this.adjsSorc));
 
         return dto;

+ 3 - 0
src/main/java/com/its/op/entity/its/link/TbLinkTrafHs.java

@@ -114,6 +114,9 @@ public class TbLinkTrafHs implements Serializable {
             dto.setMissYnDesc("-");
         }
         dto.setPrcnSorcDesc(CodeManager.getCodeDescShort(CodeManager.PRCN_SORC, this.prcnSorc));
+        if (dto.getPrcnSorcDesc().contains(CodeManager.defUnknownDesc)) {
+            dto.setPrcnSorcDesc(CodeManager.getCodeDesc(CodeManager.ADJS_SORC, this.prcnSorc));
+        }
         dto.setAdjsSorcDesc(CodeManager.getCodeDescShort(CodeManager.ADJS_SORC, this.adjsSorc));
         dto.setCmtrGradDesc(CodeManager.getCodeDescShort(CodeManager.CMTR_GRAD_CD, this.cmtrGradCd));
 

+ 2 - 1
src/main/java/com/its/op/entity/its/vms/TbVmsSttsHs.java

@@ -101,6 +101,7 @@ public class TbVmsSttsHs implements Serializable {
                 .cboxTmpr(this.cboxTmpr)
                 .modlStts(this.modlStts)
                 .pwerStts(this.pwerStts)
+                .brghVal(this.cboxHmdt)
                 .build();
 
         dto.setCmncSttsDesc(CodeManager.getCodeDescShort(CodeManager.CMNC_STTS_CD, dto.getCmncSttsCd()));       // 통신상태
@@ -109,7 +110,7 @@ public class TbVmsSttsHs implements Serializable {
             dto.setPwerSttsDesc(CodeManager.getCodeDescShort(CodeManager.PWER_STTS_CD, dto.getPwerSttsCd()));           // 전원상태
             dto.setCboxDoorSttsDesc(CodeManager.getCodeDescShort(CodeManager.DOOR_STTS_CD, dto.getCboxDoorSttsCd()));   // 도어
             dto.setFanSttsDesc(CodeManager.getCodeDescShort(CodeManager.FAN_STTS_CD, dto.getFanSttsCd()));              // 팬상태
-            dto.setHetrSttsDesc(CodeManager.getCodeDescShort(CodeManager.HETR_STTS_CD, dto.getFanSttsCd()));            // 히터상태
+            dto.setHetrSttsDesc(CodeManager.getCodeDescShort(CodeManager.HETR_STTS_CD, dto.getHetrSttsCd()));            // 히터상태
         }
         else {
             dto.setModlSttsDesc(CodeManager.STTS_UNKNOWN);       // 모듈상태

+ 1 - 1
src/main/java/com/its/op/global/CodeManager.java

@@ -65,7 +65,7 @@ public class CodeManager {
 
     // 코드
     private static final String defUnknownCode = "X";
-    private static final String defUnknownDesc = "UNKNOWN";
+    public static final String defUnknownDesc = "UNKNOWN";
 
     public static final String EDTN_CD              = "EDI";    // 편집모드
     public static final String DAY_TYPE_CD          = "DTW";    // 요일유형

+ 32 - 26
src/main/java/com/its/op/service/bis/BisProcessService.java

@@ -48,12 +48,12 @@ public class BisProcessService {
         List<BisProcess> unit = this.repo.findAllList();
         unit.forEach(obj -> {
             Integer systId = obj.getProcessid();
-            switch(systId) {
-                case 10902: systId = 10901; break;
-                case 11002: systId = 11001; break;
-                case 11202: systId = 11201; break;
-                case 11102: systId = 11101; break;
-            }
+//            switch(systId) {
+//                case 10902: systId = 10901; break;
+//                case 11002: systId = 11001; break;
+//                case 11202: systId = 11201; break;
+//                case 11102: systId = 11101; break;
+//            }
             TbUnitSystSttsDto stts = TbUnitSystSttsDto.builder()
                     .systId(String.valueOf(systId))
                     .systNm(obj.getProcessname())
@@ -68,39 +68,45 @@ public class BisProcessService {
         });
 
         List<BisProcessStatusHistory> sttsList = this.sttsRepo.findAllStts();
+
         // 실행 상태먼저 체크
         sttsList.forEach(obj -> {
             TbUnitSystSttsDto stts = result.get(obj.getProcessid());
             if (stts != null) {
+                log.error("{}, {}, {}", obj.getProcessid(), obj.getProcessstatus(), obj.getProcessstatekind());
                 if (("4").equals(obj.getProcessstatekind())) {
-                    if (("0").equals(obj.getProcessstatus())) {
+                    if (("1").equals(obj.getProcessstatus())) {
+                        stts.setRunSts("0");
                         stts.setSystSttsCd("0");
                         stts.setSystSttsDesc("정상");
-                    }
-                }
-            }
-        });
-        // 실행 상태가 정상인 경우 나머지 상태정보 업데이트
-        sttsList.forEach(obj -> {
-            TbUnitSystSttsDto stts = result.get(obj.getProcessid());
-            if (stts != null) {
-                if (!("0").equals(stts.getRunSts())) {
-                    return;
-                }
-                // 통신상태
-                if (("1").equals(obj.getProcessstatekind())) {
-                    if (("0").equals(obj.getProcessstatus())) {
+
                         stts.setComSts("0");
-                    }
-                }
-                // DB 상태
-                if (("2").equals(obj.getProcessstatekind())) {
-                    if (("0").equals(obj.getProcessstatus())) {
                         stts.setDbSts("0");
                     }
                 }
             }
         });
+        // 실행 상태가 정상인 경우 나머지 상태정보 업데이트
+//        sttsList.forEach(obj -> {
+//            TbUnitSystSttsDto stts = result.get(obj.getProcessid());
+//            if (stts != null) {
+//                if (!("0").equals(stts.getRunSts())) {
+//                    return;
+//                }
+//                // 통신상태
+//                if (("1").equals(obj.getProcessstatekind())) {
+//                    if (("1").equals(obj.getProcessstatus())) {
+//                        stts.setComSts("0");
+//                    }
+//                }
+//                // DB 상태
+//                if (("2").equals(obj.getProcessstatekind())) {
+//                    if (("1").equals(obj.getProcessstatus())) {
+//                        stts.setDbSts("0");
+//                    }
+//                }
+//            }
+//        });
         return new ArrayList<>(result.values());
     }
 

+ 7 - 9
src/main/resources/static/application/facility/main/main-func.js

@@ -58,15 +58,14 @@ export async function fetchFcltStts() {
     //console.time("***** fetchFcltStts: ");
 
     const its = apiGet("/api/common/stts/total"); // ITS 상태정보 요청
-    //const bit = apiGet("/api/bis/stts/bit/total"); // BIT 상태정보 요청
+    const bit = apiGet("/api/bis/stts/bit/total"); // BIT 상태정보 요청
 
-    //Promise.all([its, bit])
-    Promise.all([its])
+    Promise.all([its, bit])
         .then((results) => Promise.all(results.map((r) => r.json())))
         .then((values) => {
             //console.log(`${currDt()}: FcltStts, ITS(${values[0].fclt_list.length}), BIT(${values[1].fclt_list.length})`);
             updateFcltStts(values[0]);
-            //updateFcltStts(values[1]);
+            updateFcltStts(values[1]);
         })
         .catch((err) => {
             //console.error(`Error in fetchFcltStts ${err}`);
@@ -90,14 +89,13 @@ export async function fetchUnitStts() {
     // console.time("***** fetchUnitStts: ");
 
     const its = apiGet("/api/common/stts/process/its"); // 센터프로세스 ITS
-    //const bis = apiGet("/api/bis/stts/process"); // 센터프로세스 BIT
-    //Promise.all([its, bis])
-    Promise.all([its])
+    const bis = apiGet("/api/bis/stts/process"); // 센터프로세스 BIT
+    Promise.all([its, bis])
         .then((results) => Promise.all(results.map((r) => r.json())))
         .then((values) => {
             // console.log(`${currDt()}: UnitStts, ITS(${values[0].length}), BIS(${values[1].length})`);
             updateUnitStts(values[0]); //ITS 프로세스
-            //updateUnitStts(values[1]); //BIS 프로세스
+            updateUnitStts(values[1]); //BIS 프로세스
         })
         .catch((err) => {
             // console.error(`Error in fetchUnitStts ${err}`);
@@ -162,7 +160,7 @@ function updateDbmsStts(jsonData) {
             tableReamin.css("color","red")
         }
         setHtml(tableReamin, obj.tbls_rmnd_cpct+" %");
-
+        
         if(obj.use_sesn >= 80) {
             useSession.css("color","red")
         }

+ 6 - 14
src/main/resources/static/application/facility/main/main.css

@@ -45,19 +45,6 @@
 }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
 *{
     margin:0;
     padding: 0;
@@ -68,6 +55,7 @@ html,body{
     color: rgb(0, 0, 0);
 	max-width: 1920px;
 }
+
 .header{
     position: relative;
     display: grid;
@@ -84,6 +72,10 @@ html,body{
     background-color: #2a2a33;
     z-index: 10;
 }
+.header > :nth-child(1){
+   width: 110px;
+   top:15px;
+}
 .header > :nth-child(2){
     position: relative;
     top: 7px;
@@ -96,7 +88,7 @@ html,body{
     color:rgba(255, 255, 255, 0.747);
     text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;
     font-size: 27px;
-    left: -670px;
+    left: -590px;
 }
 .header >:nth-child(2):hover{
     color: #9dafe0

+ 80 - 9
src/main/resources/static/application/facility/main/main.html

@@ -5,12 +5,12 @@
         <meta http-equiv="X-UA-Compatible" content="IE=edge" />
         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
         <script src="/libs/jquery/jquery-3.6.0.min.js"></script>
-        <script src="/libs/include-dialog.js"></script>
+		<script src="/libs/include-dialog.js"></script>
         <script src="/libs/excel/xlsx.full.min.js"></script>
         <script src="/libs/excel/FileSaver.min.js"></script>
         <script src="/libs/highchart/highcharts.js"></script>
-        <script src="/js/constant/constant.js"></script>
-        <link rel="stylesheet" href="./main.css" />
+		<script src="/js/constant/constant.js"></script>
+		<link rel="stylesheet" href="./main.css" />
         <link rel="icon" href="data:;base64,iVBORw0KGgo=">
 
         <title>용인시 첨단교통센터 시설물 모니터링</title>
@@ -18,7 +18,7 @@
 
     <body>
         <div class="header  bassBgColor">
-            <img src="/images/application_facility/logo.svg" alt="logo" />
+            <img src="/images/application_facility/logo.png" alt="logo" />
             <div class="bassWordColor"> 용인시 첨단교통센터 시설물 모니터링</div>
             <div id="clock" class="bassWordColor"></div>
         </div>
@@ -238,7 +238,38 @@
                             <td class="dbStts_MOCT01 valueColor"></td>
                         </tr>
                     </table>
+
+
+
+
+
+                    <table class="Minitable">
+                        <tr>
+                            <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">BIS기반정보 연계</td>
+                        </tr>
+                        <tr>
+                            <td class="tableColor" style="width: 50%">통신</td>
+                            <td class="tableColor">DB</td>
+                        </tr>
+                        <tr class="systemId_110201">
+                            <td class="comStts_110201 valueColor"></td>
+                            <td class="dbStts_110201 valueColor"></td>
+                        </tr>
+                    </table>
                     <table class="Minitable">
+                        <tr>
+                            <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">마을버스 연계</td>
+                        </tr>
+                        <tr>
+                            <td class="tableColor" style="width: 50%">통신</td>
+                            <td class="tableColor">DB</td>
+                        </tr>
+                        <tr class="systemId_160101">
+                            <td class="comStts_160101 valueColor"></td>
+                            <td class="dbStts_160101 valueColor"></td>
+                        </tr>
+                    </table>
+                    <!-- <table class="Minitable">
                         <tr>
                             <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">BIS 자료구축</td>
                         </tr>
@@ -263,8 +294,14 @@
                             <td class="comStts_11001 valueColor"></td>
                             <td class="dbStts_11001 valueColor"></td>
                         </tr>
-                    </table>
-                    <table class="Minitable">
+                    </table> -->
+
+
+
+
+
+
+                    <!-- <table class="Minitable">
                         <tr>
                             <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">BIS 패턴처리</td>
                         </tr>
@@ -289,7 +326,7 @@
                             <td class="comStts_11201 valueColor"></td>
                             <td class="dbStts_11201 valueColor"></td>
                         </tr>
-                    </table>
+                    </table> -->
                 </div>
                 <div class="itsProcess">
                     <table class="Minitable">
@@ -489,7 +526,37 @@
                             <td class="dbStts_90105 valueColor"></td>
                         </tr>
                     </table>
+
+
+
+
+                    <table class="Minitable">
+                        <tr>
+                            <td class="tableColor"td class="tableColor"td colspan="3" style="border-radius: 20px 20px 0px 0px">시내버스 가공</td>
+                        </tr>
+                        <tr>
+                            <td class="tableColor" style="width: 50%">통신</td>
+                            <td class="tableColor">DB</td>
+                        </tr>
+                        <tr class="systemId_80101">
+                            <td class="comStts_80101 valueColor"></td>
+                            <td class="dbStts_80101 valueColor"></td>
+                        </tr>
+                    </table>
                     <table class="Minitable">
+                        <tr>
+                            <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">마을버스 가공</td>
+                        </tr>
+                        <tr>
+                            <td class="tableColor" style="width: 50%">통신</td>
+                            <td class="tableColor">DB</td>
+                        </tr>
+                        <tr class="systemId_80201">
+                            <td class="comStts_80102 valueColor"></td>
+                            <td class="dbStts_80102 valueColor"></td>
+                        </tr>
+                    </table>
+                    <!-- <table class="Minitable">
                         <tr>
                             <td class="tableColor"td class="tableColor"td colspan="3" style="border-radius: 20px 20px 0px 0px">위치 가공1</td>
                         </tr>
@@ -514,7 +581,11 @@
                             <td class="comStts_80102 valueColor"></td>
                             <td class="dbStts_80102 valueColor"></td>
                         </tr>
-                    </table>
+                    </table> -->
+
+
+
+
                     <table class="Minitable">
                         <tr>
                             <td class="tableColor" colspan="3" style="border-radius: 20px 20px 0px 0px">BIS 기반정보</td>
@@ -769,7 +840,7 @@
 
         <script src="/libs/sockjs/sockjs.min.js"></script>
         <script type="module">
-            import { startApp, fetchdrawGraph } from "./main.js";
+            import { startApp } from "./main.js";
 
             startApp();
            

+ 11 - 6
src/main/resources/static/application/facility/main/main.js

@@ -22,11 +22,16 @@ $(".xToggle").on("click", function(){
 
 $(".footer_excel").on("click",()=>{
     // 엑셀 저장 클릭
-    confirmMessage("Excel file로 저장 하시겠습니까?").done((yes) => {
-        if (yes === true) {
-            exportExcel();
-        }
-    });
+
+    if (confirm("Excel file로 저장 하시겠습니까?")) {
+        exportExcel();
+    }
+
+    // confirmMessage("Excel file로 저장 하시겠습니까?").done((yes) => {
+    //     if (yes === true) {
+    //         exportExcel();
+    //     }
+    // });
 });
 
 /**
@@ -519,7 +524,7 @@ function hiCht_Bline(xAxisVal , yAxisVal) {
             animation: Highcharts.svg,
         },        
         title: {
-            text: '정보제공구간 지정체 상황 (건수)',
+            text: 'LINK 구간 지정체 상황 (건수)',
             style: {
                 color: 'rgb(139 138 139)',
                 fontSize: 15,

+ 0 - 49
src/main/resources/static/application/op/01.traffic-manager/01.traffic-current/current-traffic.css

@@ -52,52 +52,3 @@ body{
     }
 }
 
-
-.CMS0,.CMS1,.CMS2,.PAS0,.HTS0,
-.MOS0,.PAS1,.HTS1,.MOS1,.PAS2,
-.HTS2,.MOS2,.gray,.CDS0,.CDS1,
-.LCT0,.LCT1,.LCT2,.LCT3,
-.CDS2,.green,.red,.yellow,.PWS2,
-.PWS1,.PWS0,.gray
-{
-    width: 100%;
-    height: 100%;
-}
-
-.CMS0,
-.PAS0,
-.HTS0,
-.CDS0,
-.MOS0,
-.PWS0,
-.LCT1,
-.green{
-    background-color: #15B337  !important;
-}
-
-.CMS1,
-.PAS1,
-.HTS1,
-.CDS1,
-.MOS1,
-.PWS1,
-.LCT3,
-.wanrning{
-    background-color: #ff0000  !important;
-}
-
-.yellow
-.LCT2{
-    background-color: #FFAA00  !important;
-}
-
-.LCT0,
-.CMS2,
-.PAS2,
-.HTS2,
-.MOS2,
-.CDS2,
-.PWS2,
-.gray{
-    background-color: #888888 !important;
-}

+ 0 - 10
src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs-pop-up.css

@@ -49,13 +49,3 @@ body{
     font-size: 11px;
     color: red;
 }
-
-.CMS0, .CDS0{
-    background-color: #24b841 !important;
-}
-.CMS1, .CDS1{
-    background-color: #ff000f !important;
-}
-.CMS2, .CDS2{
-    background-color: #888888 !important;
-}

+ 21 - 7
src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs-pop-up.js

@@ -166,8 +166,12 @@ $(()=>{
                 caption   : '통신',
                 width     : 120,
                 cellTemplate(c,e){
-                    c.addClass(e.data.comm_stts_cd);
-                    c.text(e.displayValue);
+                    c.css('height','1px');
+                    c.css('padding','1px');
+                    const div = $("<div>");
+                    div.addClass(e.data.comm_stts_cd);
+                    div.text(e.displayValue);
+                    c.append(div);
                 }
             },
             {
@@ -176,8 +180,12 @@ $(()=>{
                 caption   : '함체문',
                 width     : 120,
                 cellTemplate(c,e){
-                    c.addClass(e.data.door_stts_cd);
-                    c.text(e.displayValue);
+                    c.css('height','1px');
+                    c.css('padding','1px');
+                    const div = $("<div>");
+                    div.addClass(e.data.door_stts_cd);
+                    div.text(e.displayValue);
+                    c.append(div);
                 }
             },
             {
@@ -186,13 +194,19 @@ $(()=>{
                 caption   : '함체온도',
                 width     : 120,
                 cellTemplate(c,e){
+                    c.css('height','1px');
+                    c.css('padding','1px');
+                    
+                    const div = $("<div>");
                     if (e.displayValue === 255 || e.displayValue === null) {
-                        c.addClass('gray');
-                        c.text('-');
+                        div.addClass('gray');
+                        div.text('-');
                     }
                     else {
-                        c.text(e.displayValue);
+                        div.text(e.displayValue);
                     }
+                    div.addClass(e.data.comm_stts_cd);
+                    c.append(div);
                 }
             },
         

+ 40 - 1
src/main/resources/static/application/op/02.facility/03.fail-hs/fail-hs.css

@@ -90,4 +90,43 @@ body{
 }
 .dx-icon.dx-icon-edit-button-cancel{
     display: none;
-}
+}
+
+
+.CMS0,
+.PAS1,
+.HTS1,
+.CDS0,
+.MOS0,
+.PWS0,
+.LCT1,
+.green{
+    background-color: #15B337  !important;
+}
+
+.CMS1,
+.CDS1,
+.MOS1,
+.PWS1,
+.LCT3,
+.wanrning{
+    background-color: #ff0000  !important;
+}
+
+.yellow,
+.HTS0,
+.PAS0,
+.LCT2{
+    background-color: #FFAA00  !important;
+}
+
+.LCT0,
+.CMS2,
+.PAS2,
+.HTS2,
+.MOS2,
+.CDS2,
+.PWS2,
+.gray{
+    background-color: #888888 !important;
+}

+ 3 - 1
src/main/resources/static/application/op/03.history/02.unit-syst-stts-hs/unit-syst-stts-hs.js

@@ -122,7 +122,9 @@ $(()=>{
             },
         },
         onExporting(e){
-            gridExcellExporting(e, _pageName);
+            let name = getValue(procSelectBox);
+            name = name.substring(name.indexOf(' '), name.length);
+            gridExcellExporting(e, _pageName + ' ' + name);
         },
         columns:[
             {   

+ 1 - 1
src/main/resources/static/application/op/03.history/05.clct-analysis/clct-analysis.js

@@ -14,7 +14,7 @@ let startDate             = new Date().setDate(new Date().getDate()-1);
 let linkTable             = null;
 let linkData              = [];
 let columns               = [];
-const _pageName             = '데이터 수집 이력';
+const _pageName             = '수집데이터 분석';
 
 getData('/api/history/clct-analysis/road-link', linkData);
 getData("/api/history/clct-analysis/clct-syst-stup", clctAnalysisStupData);

+ 1 - 1
src/main/resources/static/application/op/04-1.statistics/03.atrd/atrd.js

@@ -899,9 +899,9 @@ function lgndElmtBtnClick(selectedRow, series){
 
 function fetchChartInfo(chart, axisType, url, table, tableData, updateData, method, series, legend, type){
         tableData = [];
+		series = [];
         getData( commouUri + url, tableData, updateData );
         
-        
         if (chart) {
             chartInit( table, type );
         }

+ 2 - 2
src/main/resources/static/application/op/04-3.report/report.html

@@ -57,11 +57,11 @@
             </div>
             <div class="right-box">
                 <div class="serve-title b2">검색결과</div>
-                <div class="serve-title color">시설물 현황</div>
+                <div class="serve-title color text1">시설물 현황</div>
                 <div>
                     <div class="report-table b1 b3 b4"></div>
                 </div>
-                <div class="serve-title color b1">장애 현황</div>
+                <div class="serve-title color b1 text2">장애 현황</div>
                 <div>
                     <div class="report-table2 b1 b3 b4"></div>
                 </div>

+ 33 - 10
src/main/resources/static/application/op/04-3.report/report.js

@@ -3,8 +3,7 @@ let reportData       = [];
 let reportData2      = [];
 let reportTable      = null;
 let reportTable2     = null;
-let excelSheetName1  = '시설물 현황';
-let excelSheetName2  = '장애 현황';
+
 let reportToggle1    = {
     summary  : ['fclt_type','cms0_cnt','cms1_cnt'],
     incident : ['incd_strt_dt','cmmn_cd_kor_nm','link_id','incd_titl']
@@ -27,7 +26,11 @@ let selectData       = [];
 
 //공통 uri
 let commonUri            = '/api/report/report/';
-const pageName           = '반복정체구간 분석 정보';
+let pageName             = '시설물 보고서';
+let excelSheetName1      = '시설물 현황';
+let excelSheetName2      = '장애 현황';
+let excelSheetName3      = '돌발 현황';
+let excelSheetName4      = '지*정체 현황';
 let OFFR_TYPE            = 'LINK';
 
 
@@ -101,10 +104,11 @@ $(()=>{
         onItemClick(e){
             switch ( e.itemData ) {
                 case selectData[0]:
-                    $(".table-box > div:nth-child(2)").text('서설물 현황');
-                    $(".table-box > div:nth-child(4)").text('장애 현황');
-                    excelSheetName1 = '시설물 현황'
-                    excelSheetName2 = '장애 현황'
+                    pageName = '시설물보고서';
+                    excelSheetName1 = '시설물 현황';
+                    excelSheetName2 = '장애 현황';
+                    $(".text1").text(excelSheetName1);
+                    $(".text2").text(excelSheetName2);
                     reportTable.clearSorting();
                     reportTable2.clearSorting();
                     reportTable.columnOption('fclt_type',{
@@ -135,10 +139,11 @@ $(()=>{
                     break;
                     
                 case selectData[1]:
-                    $(".table-box > div:nth-child(2)").text('돌발 현황');
-                    $(".table-box > div:nth-child(4)").text('지/정체 현황');
+                    pageName = '교통보고서';
                     excelSheetName1 = '돌발 현황'
-                    excelSheetName2 = '지/정체 현황'
+                    excelSheetName2 = '지ㆍ정체 현황'
+                    $(".text1").text(excelSheetName1);
+                    $(".text2").text(excelSheetName2);
                     reportTable.clearSorting();
                     reportTable2.clearSorting();
                     reportTable.columnOption('incd_strt_dt',{
@@ -231,11 +236,13 @@ $(()=>{
                 dataField    : "cms0_cnt",
                 caption      : "정상",
                 alignment    : "center",
+                format       : "#,###,##0"
             },
             {
                 dataField    : "cms1_cnt",
                 caption      : "장애",
                 alignment    : "center",
+                format       : "#,###,##0"
             },
             {
                 dataField    : "incd_strt_dt",
@@ -260,6 +267,10 @@ $(()=>{
                 caption      : "돌발내용",
                 alignment    : "center",
                 visible      : false,
+                celltemplate(c, e) {
+                    c.css('text-align', 'left');
+                    c.text(e.displayValue);
+                }
             },
          ],
         onExporting(e){
@@ -302,16 +313,28 @@ $(()=>{
                 dataField    : "fclt_type",
                 caption      : "장비유형",
                 alignment    : "center",
+                celltemplate(c, e) {
+                    c.css('text-align', 'left');
+                    c.text(e.displayValue);
+                }
             },
             {
                 dataField    : "fclt_id",
                 caption      : "ID",
                 alignment    : "center",
+                celltemplate(c, e) {
+                    c.css('text-align', 'left');
+                    c.text(e.displayValue);
+                }
             },
             {
                 dataField    : "fclt_nm",
                 caption      : "도로명",
                 alignment    : "center",
+                celltemplate(c, e) {
+                    c.css('text-align', 'left');
+                    c.text(e.displayValue);
+                }
             },
             {
                 dataField    : "prcn_Dt",

+ 3 - 6
src/main/resources/static/application/op/05.cctv/04.monitoring-camera/monitoring-popup-manager.js

@@ -191,9 +191,6 @@ const btnArr    = [
         visible     : true, 
         icon        : "save", 
         text        : "저장", 
-        method      : function(){
-            saveEvent();
-        }
     }, 
    
 ]
@@ -450,7 +447,7 @@ $(()=>{
 function editEvent(){
     eventOn();
     saveBtn.box.off('click');
-    saveBtn.box.on('click', saveEvent('update'));
+    saveBtn.box.on('click', () => saveEvent('update'));
 }
 
 //하단 추가 이벤트
@@ -459,7 +456,7 @@ function addEvent(){
     nameText.option('value', null)
     montPrpcTable.option('dataSource', []);
     saveBtn.box.off('click');
-    saveBtn.box.on('click', saveEvent());
+    saveBtn.box.on('click', () => saveEvent());
 }
 
 //이벤트 시작
@@ -668,7 +665,7 @@ function listMove(changeNum){
     }
 }
 //저장 이벤트
-function saveEvent(){
+function saveEvent(type){
     let name = nameText.option('value');
     let selectedData = listTable.getSelectedRowsData();
     let updateData = {

+ 25 - 46
src/main/resources/static/application/op/06.vms/01.system/01.monitoring/01.phase/phase.js

@@ -340,57 +340,19 @@ function fetchTabs(jsonData){
             const imageNm = obj.cmnc_stts_desc === '통신두절' ? 'false' : 'true';
             
             let dsplDtColor = obj.cmnc_stts_desc === '통신두절' ? 'wanrning' : '#fff';
-            let operClass = '';
-            if (obj.oper_mode_desc === '자동') {
-                operClass = 'green';
-            } 
-            else {
-                operClass = obj.oper_mode_desc === '고정' ? 'wanrning' : 'yellow';
-            }
-
-            let powerClass = '';
-            if (obj.pwer_stts_desc === '-' || !obj.pwer_stts_desc){
-                powerClass = 'gray';
-            }
-            else {
-                powerClass = obj.pwer_stts_desc === '정상' ? 'green' : 'wanrning';
-            };
-
-            let modlClass = '';
-            if (obj.modl_stts_desc === '-' || !obj.modl_stts_desc){
-                modlClass = 'gray';
-            }
-            else {
-                modlClass = obj.modl_stts_desc === '정상'? 'green' : 'wanrning';
-            }
-            let doorClass = '';
-            if (obj.cbox_door_stts_desc === '-' || !obj.cbox_door_stts_desc){
-                doorClass = 'gray';
-            }
-            else {
-                doorClass = obj.cbox_door_stts_desc === '닫힘' ? 'green' : 'wanrning';
-            }
-            let hetrClass = '';
-            if (obj.hetr_stts_desc === '-' || !obj.hetr_stts_desc){
-                hetrClass = 'gray';
-            }
-            else {
-                hetrClass = obj.hetr_stts_desc === '가동' ? 'green' : 'wanrning';
-            }
-
+            
+            let operClass  = stateColorSelector(obj.oper_mode_desc);
+            let powerClass = stateColorSelector(obj.pwer_stts_desc);
+            let modlClass  = stateColorSelector(obj.modl_stts_desc);
+            let doorClass  = stateColorSelector(obj.cbox_door_stts_desc);
+            let hetrClass  = stateColorSelector(obj.hetr_stts_desc);
+            let fanClass   = stateColorSelector(obj.fan_stts_desc);
+            
             let tempClass = '';
             if (obj.cbox_tmpr === 255 || obj.cbox_tmpr === null) {
                 obj.cbox_tmpr = '-'
                 tempClass = 'gray';
             } 
-
-            let fanClass = '';
-            if (obj.fan_stts_desc === '-' || !obj.fan_stts_desc){
-                fanClass = 'gray';
-            }
-            else {
-                fanClass = obj.fan_stts_desc === '가동' ? 'green' : 'wanrning';
-            }
             
             let height = 95 + obj.vms_hght;
     
@@ -435,6 +397,23 @@ function fetchTabs(jsonData){
     _scenarioTabs.option('dataSource', dataSource);
 };
 
+function stateColorSelector(value) {
+    let className = '';
+    if (value === '중지' || value === '정상' || value === '닫힘' || value === '자동') {
+        className = 'green';
+    }
+    else if (value === '가동' || value === '기본') {
+        className = 'yellow';
+    }
+    else if (value === '-' || !value) {
+        className = 'gray';
+    }
+    else {
+        className = 'wanrning';
+    }
+    return className;
+}
+
 //이미지 인터벌 이벤트
 function intervalEvent(value, position, phase){
     let idx = 1;

+ 3 - 0
src/main/resources/static/application/op/06.vms/01.system/01.monitoring/03.stts/stts.html

@@ -15,6 +15,9 @@
         <div class="title-box b2">
             <div>VMS 상태 모니터링</div>
             <div>
+                <div class="search-btn"></div>
+            </div>
+			<div>
                 <div class="close-btn"></div>
             </div>
         </div>

+ 21 - 6
src/main/resources/static/application/op/06.vms/01.system/01.monitoring/03.stts/stts.js

@@ -20,12 +20,13 @@ btnArr = [
         text   : '조회',
         icon   : 'refresh',
         method : function(){
-            sttsData = dataFormmat(sttsData);
+            
         }
     },
 ]
 $(()=>{
     creatBtn($(".close-btn"), "close", "닫기", "닫기", "outlined", () => window.close());
+    creatBtn($(".search-btn"), "refresh", "조회", "조회", "outlined", () => fetchListData());
 
     //CCTV 상태 전체조회 테이블
     sttsTable = $(".stts-table").width('100%').height('100%').dxDataGrid({
@@ -209,7 +210,6 @@ $(()=>{
                         cellTemplate(c,e){
                             c.css('padding','2px');
                             c.css('height','1px');
-                            console.log(e.data.pwer_stts_cd);
                             let classNm = e.data.pwer_stts_cd;
                             if(!e.data.pwer_stts_cd){
                                 classNm = 'gray'
@@ -225,9 +225,19 @@ $(()=>{
                         alignment    : "center",
                         width        : 110,
                         cellTemplate(c,e){
-                            let val = e.displayValue
-                            if(!e.displayValue) val = '-';
-                            return c.text(val);
+                            c.css('padding','2px');
+                            c.css('height','1px');
+                            let val = e.displayValue;
+                            let classNm = '';
+                            if (e.displayValue === 255 || !e.displayValue) {
+                                if (e.displayValue !== 0) {
+									val = '-';
+									classNm = 'gray'
+								}
+                            } 
+                            const div = $('<div class='+classNm+'>')
+                            div.text(val);
+                            return c.append(div);
                         }
                     },
                 ]
@@ -245,7 +255,7 @@ $(()=>{
                             c.css('padding','2px');
                             c.css('height','1px');
                             let classNm = e.data.cbox_door_stts_cd;
-                            if(!e.data.cbox_door_stts){
+                            if(!e.data.cbox_door_stts_cd){
                                 classNm = 'gray'
                             }
                             const div = $('<div class='+classNm+'>');
@@ -357,6 +367,11 @@ $(()=>{
     }).dxDataGrid("instance");
 })
 
+function fetchListData(){
+	sttsData = dataFormmat(sttsData);
+	sttsTable.option('dataSource', sttsData);
+}
+
 function dataFormmat(data){
     data = [];
     

+ 21 - 18
src/main/resources/static/application/op/06.vms/01.system/01.monitoring/04.module/module.js

@@ -11,7 +11,6 @@ let _selectedBox      = null;
 let _deselectInterval = [];
 let _selectedInterval = [];
 const _userId         = window.opener.$userId;
-console.log(_userId);
 $(() =>{
     creatBtn($(".close-btn"), "close", "닫기", "닫기", "outlined", () => window.close());
     _scenarioTabs = $('.scenario-tabs').width('100%').height('100%').dxTabPanel({
@@ -156,13 +155,12 @@ function titleClickEvent(clone, e, idx){
         $(e.text[idx]).addClass('selected-box');
         $(clone).addClass('selected-box');
         _selectedBox = [e.text[idx], clone];
-        console.log(obj);
+       
         let data = [];
         getData('/api/vms/common/vms-form/dspl-prst', data, {id:obj.vms_ctlr_nmbr});
-        console.log(data)
+        
         if(data.length > 0){
             data = data[0];
-            console.log(data)
             e.textColumns.map((item)=>{
                 setValue(item.box, data[0][item.column]);
             });
@@ -187,15 +185,14 @@ function titleClickEvent(clone, e, idx){
             $(_selectedBox[1]).removeClass('selected-box');
         }
         let key = $(this).text().substring(1, $(this).text().length);
-        console.log(key);
-        console.log($(this))
+        
         let obj = _dataMap.get(e.id).get(key);
         $(e.text[idx]).addClass('selected-box');
         $(clone).addClass('selected-box');
         _selectedBox = [e.text[idx], clone];
         let data = [];
         getData('/api/vms/common/vms-form/dspl-prst', data, {id:obj.vms_ctlr_nmbr});
-        console.log(data);
+       
         if(data[0].length > 0){
             data = data[0];
             e.textColumns.map((item)=>{
@@ -257,7 +254,7 @@ function fetchTabs(jsonData){
         // 모니터링 화면에 속한 VMS 제어기 목록 조회
         let scenarioData = [];
         getData('/api/vms/monitoring/edit/scenario/module/' + obj.monitoring_nm, scenarioData);
-        console.log(scenarioData)
+        
         // 제어기 목록을 순회하면서 전체 표출 메시지에서 해당 제어기의 내용을 추출
         let tableData = [];
         scenarioData[0].forEach((scenario) => {
@@ -316,16 +313,22 @@ function fetchTabs(jsonData){
                 let row = $('<div style="display:flex; width:95%;  height:' + height + ';">');
                 for ( let jj = 0; jj < obj.modl_cols; jj++ ){
                     let color = '';
-                    let modelStts = obj.modl_stts.substring(jj, jj+1);
-                    if ( "1" === modelStts ) {
-                        color = 'green';
-                    }
-                    else if ( "0" === modelStts ) {
-                        color = 'wanrning';
-                    }
-                    else {
-                        color = 'gray';
-                    }
+					if (obj.modl_stts === null) {
+						color = 'gray';
+					}
+					else {
+						let modelStts = obj.modl_stts.substring(jj, jj+1);	
+						if (modelStts === '1') {
+							color = 'green';
+						}
+						else if (modelStts === '0') {
+							color = 'wanrning';
+						}
+						else {
+							color = 'gray';
+						}
+					}
+                    
                     let width = Number(100 / obj.modl_cols).toFixed(2) + '%';
                     row.append($('<div class="'+color+' b0" style="width:' + width + '; height: '+obj.vms_hght+';" ></div>'));
                 }

+ 0 - 49
src/main/resources/static/application/op/06.vms/01.system/02.control/control.css

@@ -26,55 +26,6 @@ body{
     height: calc(100% - 61px);
 }
 
-.CMS0,.CMS1,.CMS2,.PAS0,.HTS0,
-.PWS0,.PWS1,.PWS2,
-.MOS0,.PAS1,.HTS1,.MOS1,.PAS2,
-.HTS2,.MOS2,.gray,.CDS0,.CDS1,
-.CDS2,.green,.red,.yellow
-{
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    width:100%;
-    height:100%;
-}
-
-.CMS0,
-.PAS0,
-.HTS0,
-.CDS0,
-.MOS0,
-.PWS0,
-.green{
-    background-color: green;
-    width:100%;
-    height:100%;
-}
-
-.CMS1,
-.PAS1,
-.HTS1,
-.CDS1,
-.MOS1,
-.PWS1,
-.red{
-    background-color: red;
-}
-
-.yellow{
-    background-color: red;
-}
-
-.CMS2,
-.PAS2,
-.HTS2,
-.MOS2,
-.CDS2,
-.PWS2,
-.gray{
-    background-color: gray;
-}
-
 .padding-ctrl{
     padding-left: 5px !important;
     padding-right: 5px !important;

+ 16 - 18
src/main/resources/static/application/op/06.vms/01.system/02.control/control.js

@@ -48,7 +48,6 @@ $(()=>{
                         dataField    : "vms_ctlr_nmbr",
                         caption      : "VMS 번호",
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                         visible      : false,
                         sortIndex    : 0, 
                         sortOrder    : "asc",
@@ -58,14 +57,12 @@ $(()=>{
                         dataField    : "vms_ctlr_id",
                         caption      : "VMS ID",
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                     {
                         dataField    : "vms_nm",
                         caption      : "VMS 명칭",
                         alignment    : "center",
                         width        : 130,
-                        cssClass     : 'padding-ctrl',
                         cellTemplate(c,e){
                             c.css('text-align','left');
                             c.text(e.displayValue)
@@ -75,7 +72,6 @@ $(()=>{
                         dataField    : "vms_usag_type_desc",
                         caption      : "유형",
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                         width        : 90,
                         cellTemplate(c,e){
                             c.css('text-align','left');
@@ -123,7 +119,7 @@ $(()=>{
                             c.css('padding','2px');
                             c.css('height','1px');
                             let classNm = e.data.cmnc_stts_cd;
-                            if(!e.data.cmnc_stts_cd){
+                            if (!e.data.cmnc_stts_cd){
                                 classNm = 'gray'
                             }
                             const div = $('<div class='+e.data.cmnc_stts_cd+'>')
@@ -176,12 +172,21 @@ $(()=>{
                         dataField    : "brgh_val",
                         caption      : "화면휘도",
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                         width        : 80,
                         cellTemplate(c,e){
-                            let val = e.displayValue
-                            if(!e.displayValue) val = '-';
-                            return c.text(val);
+                            c.css('padding','2px');
+                            c.css('height','1px');
+                            let val = e.displayValue;
+                            let classNm = '';
+                            if (e.displayValue === 255 || !e.displayValue) {
+                                if (e.displayValue !== 0) {
+									val = '-';
+									classNm = 'gray';
+								}
+                            } 
+                            const div = $('<div class='+classNm+'>')
+                            div.text(val);
+                            return c.append(div);
                         }
                     },
                 ]
@@ -200,7 +205,7 @@ $(()=>{
                             c.css('padding','2px');
                             c.css('height','1px');
                             let classNm = e.data.cbox_door_stts_cd;
-                            if(!e.data.cbox_door_stts){
+                            if(!e.data.cbox_door_stts_cd){
                                 classNm = 'gray'
                             }
                             const div = $('<div class='+classNm+'>');
@@ -246,7 +251,6 @@ $(()=>{
                         dataField    : "cbox_tmpr",
                         caption      : "온도",
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                         width        : 80,
                         cellTemplate(c,e){
                             c.css('padding','2px');
@@ -274,28 +278,24 @@ $(()=>{
                         caption      : "모듈정지온도",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                     {
                         dataField    : "fan_mtns_tmpr",
                         caption      : "팬동작온도",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                     {
                         dataField    : "hetr_mtns_tmpr",
                         caption      : "히터동작온도",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                     {
                         dataField    : "vms_modl_err_rate",
                         caption      : "모듈장애율",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                 ]
             },
@@ -309,14 +309,12 @@ $(()=>{
                         caption      : "ON",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                     {
                         dataField    : "panl_off_time",
                         caption      : "OFF",
                         width        : 80,
                         alignment    : "center",
-                        cssClass     : 'padding-ctrl',
                     },
                 ]
             },
@@ -797,7 +795,7 @@ function onOffDiv(){
    
     let btn = creatBtn(onOffEditBtn, 'preferences', 'ON/OFF 시각설정', 'ON/OFF 시각설정', 'outlined', onOffEditBtnClick, null, false, true);
     let dataSource = {
-        name      : 'VMS 함체환경 설정',
+        name      : '전광판 ON/OFF 설정',
         div       : div,
         time      : timeBoxColumns,
         btn       : btn,

+ 7 - 1
src/main/resources/static/application/op/06.vms/05.history/01.stts/stts.css

@@ -144,7 +144,13 @@ body{
     height:100%;
     justify-content: center;
 }
-
+.tdBox{
+    width:100%; 
+    display:flex;
+    align-items:center; 
+    height:100%;
+    justify-content: center;
+}
 .dx-texteditor-input{
     text-align: center;
 }

+ 2 - 8
src/main/resources/static/application/op/06.vms/05.history/01.stts/stts.js

@@ -257,12 +257,6 @@ $(()=>{
                                     return c.append(div);
                                 }
                             },
-                            {
-                                dataField    : "brgh_val",
-                                caption      : "화면휘도",
-                                width        : 110,
-                                alignment    : "center",
-                            },
                         ]
                     },
                     {
@@ -278,7 +272,7 @@ $(()=>{
                                     c.css('padding','2px');
                                     c.css('height','1px');
                                     let classNm = e.data.cbox_door_stts_cd;
-                                    if(!e.data.cbox_door_stts){
+                                    if(!e.data.cbox_door_stts_cd){
                                         classNm = 'gray'
                                     }
                                     const div = $('<div class="tdBox '+classNm+'">');
@@ -334,7 +328,7 @@ $(()=>{
                                         classNm = 'gray'
                                         text = '-'
                                     }
-                                    const div = $('<div class='+classNm+'>');
+                                    const div = $('<div class="tbBox ' + classNm +'" >');
                                     div.text(text);
                                     return c.append(div);
                                 }

+ 1 - 1
src/main/resources/static/application/op/07.vds/07.statistics-dtct-tfvl/dtct-tfvl.js

@@ -931,7 +931,7 @@ function lgndElmtBtnClick(selectedRow, series){
 
 function fetchChartInfo(chart, axisType, url, table, tableData, updateData, method, series, legend, type){
     tableData    = [];
-
+	series		 = [];
     getData( commouUri + url, tableData, updateData );
     
     

+ 2 - 2
src/main/resources/static/application/op/08.database/01.node/node.js

@@ -97,8 +97,8 @@ $(()=>{
         width: '80px',
         onClick(){
             nodeData=[];
-            getData('/api/database/node/',nodeData);
-            nodeTable.option('dataSource',nodeData[0]);
+            getData(_apiUri, nodeData);
+            nodeTable.option('dataSource', nodeData[0]);
         }
     })
 

+ 9 - 7
src/main/resources/static/application/op/08.database/06.clct-syst-stup/clct-syst-stup.js

@@ -811,6 +811,7 @@ $(()=>{
         let smth_mthd_cd = null;
         fifoTable.saveEditData();
         weightTable.saveEditData();
+		console.log('체크값',fltrChecker);
         //체크 값 데이터
         fltrChecker.map((item)=>{
             if (item.check.option("value")) return fltr_mthd_cd = item.data;
@@ -837,14 +838,15 @@ $(()=>{
         let fusnTot         = 0;
         let fusnCnt         = 0;
         let dataPrrtTot     = 0;
-        let adjsWghtAvrgTot = adjsWghtAvrgPre3Cycl.option( "value" );
-                            + adjsWghtAvrgPre2Cycl.option( "value" );
-                            + adjsWghtAvrgPre1Cycl.option( "value" );
+        let adjsWghtAvrgTot = adjsWghtAvrgPre3Cycl.option( "value" )
+                            + adjsWghtAvrgPre2Cycl.option( "value" )
+                            + adjsWghtAvrgPre1Cycl.option( "value" )
 
-        let smthWghtAvrgTot = smthWghtAvrgPre2Cycl.option( "value" );
-                            + smthWghtAvrgPre1Cycl.option( "value" );
-                            + smthWghtAvrgPrst.option( "value" );
-        
+        let smthWghtAvrgTot = smthWghtAvrgPre2Cycl.option( "value" )
+                            + smthWghtAvrgPre1Cycl.option( "value" )
+                            + smthWghtAvrgPrst.option( "value" )
+    
+		
         fifoTableData.map((item)=>{
             if( !(item.fusn_prrt === '사용안함' || nullChecker(item.fusn_prrt) === "") ) {
                 fusnPrrtArr.push(item.fusn_prrt);

+ 9 - 6
src/main/resources/static/application/op/99.common/common.css

@@ -218,15 +218,18 @@
 .HTS2,.MOS2,.gray,.CDS0,.CDS1,
 .LCT0,.LCT1,.LCT2,.LCT3,
 .CDS2,.green,.red,.yellow,.PWS2,
-.PWS1,.PWS0,.gray
+.PWS1,.PWS0
 {
     width: 100%;
     height: 100%;
+    justify-content: center;
+    display: flex;
+    align-items: center;
 }
 
 .CMS0,
-.PAS0,
-.HTS0,
+.PAS1,
+.HTS1,
 .CDS0,
 .MOS0,
 .PWS0,
@@ -236,8 +239,6 @@
 }
 
 .CMS1,
-.PAS1,
-.HTS1,
 .CDS1,
 .MOS1,
 .PWS1,
@@ -246,7 +247,9 @@
     background-color: #ff0000  !important;
 }
 
-.yellow
+.yellow,
+.HTS0,
+.PAS0,
 .LCT2{
     background-color: #FFAA00  !important;
 }

+ 0 - 1
src/main/resources/static/application/wall/main/main-func.js

@@ -202,7 +202,6 @@ async function fetchTraffic() {
 
 let _rollingCongestTimer = null;
 function recvCongestTraffic(jsonData) {
-    console.log(jsonData);
     if (_rollingCongestTimer) window.clearTimeout(_rollingCongestTimer);
     let tHtml = "";
     jsonData.forEach((obj) => {

+ 48 - 20
src/main/resources/static/application/wall/main/main.css

@@ -112,6 +112,7 @@ hr { display:none !important; visibility:hidden; }
     left: 45px;
     color: red;
     font-size: 14px;
+    font-weight: bold;
     font-family:굴림,Gulim;
 }
 
@@ -828,13 +829,13 @@ hr { display:none !important; visibility:hidden; }
 }
 .systemStts .AMOCT01_server {
     position: absolute;
-    top: 148px;
+    top: 161px;
     left: 163px;
     width: 20px;
 }
 .systemStts .AUTP01_server {
     position: absolute;
-    top: 121px;
+    top: 120px;
     left: 163px;
     width: 20px;
 }
@@ -853,25 +854,25 @@ hr { display:none !important; visibility:hidden; }
 }
 .systemStts .AVMS01_server {
     position: absolute;
-    top: 174px;
+    top: 185px;
     left: 380px;
     width: 20px;
 }
 .systemStts .AVDS01_server {
     position: absolute;
-    top: 200px;
+    top: 217px;
     left: 380px;
     width: 20px;
 }
 .systemStts .AWEB01_server {
     position: absolute;
-    top: 225px;
+    top: 249px;
     left: 380px;
     width: 20px;
 }
 .systemStts .AEXT01_server {
     position: absolute;
-    top: 147px;
+    top: 153px;
     left: 380px;
     width: 20px;
 }
@@ -881,18 +882,35 @@ hr { display:none !important; visibility:hidden; }
     top: -20px;
     z-index: 1;
 }
-.bisStts .A10901_server {
+
+
+.bisStts .A110201_server {
+    position: absolute;
+    top: 201px;
+    left: 81px;
+    width: 20px;
+}
+/* .bisStts .A10901_server {
     position: absolute;
     top: 173px;
     left: 81px;
     width: 20px;
+} */
+
+
+.bisStts .A160101_server {
+    position: absolute;
+    top: 240px;
+    left: 81px;
+    width: 20px;
 }
-.bisStts .A11001_server {
+/* .bisStts .A11001_server {
     position: absolute;
     top: 199px;
     left: 81px;
     width: 20px;
-}
+} */
+
 .bisStts .A11101_server {
     position: absolute;
     top: 225px;
@@ -913,31 +931,31 @@ hr { display:none !important; visibility:hidden; }
 }
 .bisStts .A90102_server {
     position: absolute;
-    top: 147px;
+    top: 145px;
     left: 468px;
     width: 20px;
 }
 .bisStts .A90103_server {
     position: absolute;
-    top: 174px;
+    top: 171px;
     left: 468px;
     width: 20px;
 }
 .bisStts .A90104_server {
     position: absolute;
-    top: 200px;
+    top: 197px;
     left: 468px;
     width: 20px;
 }
 .bisStts .A90105_server {
     position: absolute;
-    top: 226px;
+    top: 223px;
     left: 468px;
     width: 20px;
 }
 .bisStts .A80101_server {
     position: absolute;
-    top: 251px;
+    top: 249px;
     left: 468px;
     width: 20px;
 }
@@ -949,34 +967,44 @@ hr { display:none !important; visibility:hidden; }
 }
 .bisStts .A90202_server {
     position: absolute;
-    top: 147px;
+    top: 145px;
     left: 632px;
     width: 20px;
 }
 .bisStts .A90203_server {
     position: absolute;
-    top: 174px;
+    top: 171px;
     left: 632px;
     width: 20px;
 }
 .bisStts .A90204_server {
     position: absolute;
-    top: 200px;
+    top: 197px;
     left: 632px;
     width: 20px;
 }
 .bisStts .A90205_server {
     position: absolute;
-    top: 226px;
+    top: 223px;
+    left: 632px;
+    width: 20px;
+}
+
+
+.bisStts .A80201_server {
+    position: absolute;
+    top: 249px;
     left: 632px;
     width: 20px;
 }
-.bisStts .A80102_server {
+/* .bisStts .A80102_server {
     position: absolute;
     top: 251px;
     left: 632px;
     width: 20px;
-}
+} */
+
+
 /* .bisStts .A110101_server{position:absolute;top:152px;left:0px;width:20px} */
 
 /* .busStts{position:absolute;top:61px;left:566px}

+ 28 - 13
src/main/resources/static/application/wall/main/main.html

@@ -6,14 +6,14 @@
         <meta name="viewport" content="width=device-width, initial-scale=1.0" />
         <script src="/libs/jquery/jquery-3.6.0.min.js"></script>
         <script src="/libs/jquery/jquery-ui.min.js"></script>
-        <script src="/libs/include-dialog.js"></script>
-        <script src="/js/constant/constant.js"></script>
+		<script src="/libs/include-dialog.js"></script>
+		<script src="/js/constant/constant.js"></script>
         <link rel="icon" href="data:;base64,iVBORw0KGgo=">
         <link rel="stylesheet" href="./main.css" type="text/css" />
         <link rel="stylesheet" href="/libs/video-7.10.2/video-7.10.2.css" type="text/css" />
         <link rel="stylesheet" href="/libs/v6.14.1-dist/ol.css" />
         <link rel="stylesheet" href="/libs/v6.14.1-dist/ol-ext/ol-ext.css" />
-        
+
         <title>용인시 상황판</title>
 
         <style>
@@ -194,19 +194,34 @@
                     <div class="systemStts">
                         <div class="ACTV01_server"></div>
                         <div class="AEXT01_server"></div>
+                        
                         <div class="AMOCT01_server"></div>
                         <div class="AUTP01_server"></div>
+                        
                         <div class="AVDS01_server"></div>
                         <div class="AVMS01_server"></div>
                         <div class="AWEB01_server"></div>
                     </div>
                     <div class="bisStts">
+
+                        <div class="A110201_server"></div>
+                        <div class="A160101_server"></div>
+                        <!-- 
                         <div class="A10901_server"></div>
                         <div class="A11001_server"></div>
                         <div class="A11101_server"></div>
-                        <div class="A11201_server"></div>
+                        <div class="A11201_server"></div> 
+                        -->
+                        
+                        
+                        <div class="A80101_server"></div>
+                        <div class="A80201_server"></div>
+                        <!-- 
                         <div class="A80101_server"></div>
-                        <div class="A80102_server"></div>
+                        <div class="A80102_server"></div> 
+                        -->
+
+
                         <div class="A90101_server"></div>
                         <div class="A90102_server"></div>
                         <div class="A90103_server"></div>
@@ -227,27 +242,27 @@
                     <div class="vdsCtlrStts">
                         <span id="VDS_total" style="position: absolute; width: 50px; left:10px">0</span>
                         <span id="VDS_normal" style="position: absolute; width: 50px; left: 89px">0</span>
-                        <span id="VDS_error" style="position: absolute; width: 50px; left: 178px; color: #f90000">0</span>
-                        <span id="VDS_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000">0</span>
+                        <span id="VDS_error" style="position: absolute; width: 50px; left: 178px; color: #f90000; font-weight: bold;">0</span>
+                        <span id="VDS_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000; font-weight: bold;">0</span>
                     </div>
                     <div class="vmsCtlrStts">
                         <span id="VMS_total" style="position: absolute; width: 50px; left:10px">0</span>
                         <span id="VMS_normal" style="position: absolute; width: 50px; left: 89px">0</span>
-                        <span id="VMS_error" style="position: absolute; width: 50px; left: 178px; color: #f90000">0</span>
-                        <span id="VMS_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000">0</span>
+                        <span id="VMS_error" style="position: absolute; width: 50px; left: 178px; color: #f90000; font-weight: bold;">0</span>
+                        <span id="VMS_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000; font-weight: bold;">0</span>
                     </div>
                     <div class="cctvCtlrStts">
                         <span id="CCTV_total" style="position: absolute; width: 50px; left:10px">0</span>
                         <span id="CCTV_normal" style="position: absolute; width: 50px; left: 89px">0</span>
-                        <span id="CCTV_error" style="position: absolute; width: 50px; left: 178px; color: #f90000">0</span>
-                        <span id="CCTV_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000">0</span>
+                        <span id="CCTV_error" style="position: absolute; width: 50px; left: 178px; color: #f90000; font-weight: bold;">0</span>
+                        <span id="CCTV_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000; font-weight: bold;">0</span>
                     </div>
 
                     <div class="bitCtlrStts">
                         <span id="BIT_total" style="position: absolute; width: 50px; left:10px">0</span>
                         <span id="BIT_normal" style="position: absolute; width: 50px; left: 89px">0</span>
-                        <span id="BIT_error" style="position: absolute; width: 50px; left: 178px; color: #f90000">0</span>
-                        <span id="BIT_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000">0</span>
+                        <span id="BIT_error" style="position: absolute; width: 50px; left: 178px; color: #f90000; font-weight: bold;">0</span>
+                        <span id="BIT_colerr" style="position: absolute; width: 50px; left: 286px; color: #f90000; font-weight: bold;">0</span>
                     </div>
                     <div class="traffic-con">
                         <ul class="traffic-list">

+ 1 - 0
src/main/resources/static/application/wall/main/main.js

@@ -21,6 +21,7 @@ function registerUiEvent() {
 
 //맵토글
 function mapToggle() {
+    _mapManager.toggleBaseMap();
     $(".mapBtn").on("click", function (e) {
         if ($(".mapBtn").attr("src") == "/images/application_wall/header/mapOffBtn.png") {
             $(".mapBtn").attr("src", "/images/application_wall/header/mapOnBtn.png");

二進制
src/main/resources/static/images/application_facility/logo.png


二進制
src/main/resources/static/images/application_wall/bottom/bottom.png