Stormen123 2024-01-31
240131 김성훈 오류복구여부 'Y' 바꾸기 - 로직수정
@ae110264a5cf76591bd3f5a3d4a2f7df1f0c6927
server/main/java/kr/co/takensoft/crosswalk/data/service/DataCenterService.java
--- server/main/java/kr/co/takensoft/crosswalk/data/service/DataCenterService.java
+++ server/main/java/kr/co/takensoft/crosswalk/data/service/DataCenterService.java
@@ -99,18 +99,19 @@
             eqpmnTrobl(detailList, node_id, crslk_az, timestamp);
         } else {
             // 장애발생정보가 없기 때문에 모든 데이터 복구여부 'Y'로 바꾸기!
-            HashMap<String, Object> recoveryOne = new HashMap<>();
+            ErrorListComparison errorListComparison = new ErrorListComparison();
+            if(errorListComparison.containsKey(node_id + "_" + crslk_az)) {
+                HashMap<String, Object> recoveryOne = new HashMap<>();
+                recoveryOne.put("node_id", node_id);
+                recoveryOne.put("crslk_az", crslk_az);
 
-            recoveryOne.put("nodeID", node_id);
-            recoveryOne.put("bearingCode", crslk_az);
-            recoveryOne.put("timestamp", timestamp);
-
-            int result = dataCenterDAO.crslkDeleteRecoveryUpdate(recoveryOne);
-
-            if( result > 0 ) {
-                ErrorListComparison errorListComparison = new ErrorListComparison();
-                errorListComparison.removeCrosswalk(node_id + "_" + crslk_az);
+                int result = dataCenterDAO.crslkDeleteRecoveryUpdate(recoveryOne);
+                if( result > 0 ) {
+                    errorListComparison.removeCrosswalk(node_id + "_" + crslk_az);
+                }
             }
+
+
         }
     }
     /**
server/main/java/kr/co/takensoft/crosswalk/data/service/ErrorListComparison.java
--- server/main/java/kr/co/takensoft/crosswalk/data/service/ErrorListComparison.java
+++ server/main/java/kr/co/takensoft/crosswalk/data/service/ErrorListComparison.java
@@ -41,6 +41,12 @@
         errorOldList.remove(key);
     }
 
+    //해당키가 존재하는지 검사
+    public boolean containsKey(String key) {
+        System.out.println("errorOldList.containsKey(key) = " + errorOldList.containsKey(key));
+        return errorOldList.containsKey(key);
+    }
+
     // 비교 후 에러 DB에 수정 및 등록
     public HashMap<String, List<HashMap<String, Object>>> comparison (List<HashMap<String, Object>> newData, String node_id, String crslk_az) {
         // errorOldList가 비어있거나, 등록된 횡단보도가 아닐 경우 등록
server/main/java/kr/co/takensoft/crosswalk/management/service/CrosswalkService.java
--- server/main/java/kr/co/takensoft/crosswalk/management/service/CrosswalkService.java
+++ server/main/java/kr/co/takensoft/crosswalk/management/service/CrosswalkService.java
@@ -508,9 +508,13 @@
     public int crslkDelete(HashMap<String, Object> params) throws Exception {
         String key = params.get("node_id") + "_" + params.get("crslk_az");
         ErrorListComparison errorListComparison = new ErrorListComparison();
-        errorListComparison.removeCrosswalk(key);
 
-        dataCenterDAO.crslkDeleteRecoveryUpdate(params);
+        if(errorListComparison.containsKey(key)) {
+            int result = dataCenterDAO.crslkDeleteRecoveryUpdate(params);
+            if( result > 0 ) {
+                errorListComparison.removeCrosswalk(key);
+            }
+        }
 
         return crosswalkDAO.crslkDelete(params);
     }
Add a comment
List