Преглед изворни кода

增加测点梯度数据,增加uniformcode,诊断准确率接口,训练详情接口

chenminghua пре 2 година
родитељ
комит
0fa0f0fbb6

+ 16 - 7
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/AutoFaultController.java

@@ -21,10 +21,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @CrossOrigin
 @RestController
@@ -55,7 +52,7 @@ public class AutoFaultController {
     }
 
     /**
-     * 获取故障原始数据(is页面)
+     * 获取故障原始数据(sis页面)
      * @param faultid
      * @return
      */
@@ -117,9 +114,10 @@ public class AutoFaultController {
         DataInfo dataInfo = new DataInfo();
         dataInfo.setId(fi.getId());
         dataInfo.setFaultTime(String.valueOf(calendar.getTime().getTime()));
-        dataInfo.setEndTs(String.valueOf(calendar.getTime().getTime()));
-        calendar.add(Calendar.MINUTE, -2);
+        calendar.add(Calendar.MINUTE, -10);
         dataInfo.setStartTs(String.valueOf(calendar.getTime().getTime()));
+        calendar.add(Calendar.MINUTE, 5);
+        dataInfo.setEndTs(String.valueOf(calendar.getTime().getTime()));
         dataInfo.setThingId(fi.getWindturbineId());
         dataInfo.setModelId(fi.getModelId());
         dataInfo.setStationId(fi.getStationId());
@@ -127,8 +125,19 @@ public class AutoFaultController {
         List<Diagnosepoint> uniforms = InitialRunner.mapPoint.get(fi.getStationId()).get(fi.getModelId());
         dataPointService.formatUniformcode(uniforms);
         Map<String, List<PointData>> data = dataPointService.getData(dataInfo);
+        Map<String, List<PointData>> mp = new HashMap<>();
+        data.forEach((k, v) -> {
+            List<PointData> ls = new ArrayList<>();
+            for(int i = 0; i < v.size(); i++){
+                if (i >= 480 || i <= 600)
+                    ls.add(v.get(i));
+            }
+            mp.put(k, ls);
+        });
+
         Map<String, Object> map = new HashMap<>();
         map.put("data", data);
+        map.put("algdata", mp);
         map.put("info", fi);
         return JsonResult.successData(ResultCode.SUCCESS, map);
     }

+ 9 - 6
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseFaultController.java

@@ -112,13 +112,16 @@ public class DiagnoseFaultController {
 
         List<Object> list = new ArrayList<>();
         for (String pt : station){
-            List<Casefaultalg> collect = casefaultalgService.getAll(pt, null, null, null, null, null, st, et, null, null);
-            int size = collect.stream().filter(a -> a.getConfirm()).collect(Collectors.toList()).size();
-            int count = collect.stream().filter(a -> a.getAlgcode().equals(a.getFaultcode())).collect(Collectors.toList()).size();
-
+            List<Casefaultalg> faults = casefaultalgService.getAll(pt, null, null, null, null, null, st, et, null, null);
+            List<Casefaultalg> collect = faults.stream().filter(a -> a.getConfirm()).collect(Collectors.toList());
+            int size = collect.size();
+            int count = collect.stream().filter(f -> !StringUtils.isEmpty(f.getDiagnosecode())
+                    && !StringUtils.isEmpty(f.getFaultcode())
+                    && f.getDiagnosecode().equalsIgnoreCase(f.getFaultcode())).collect(Collectors.toList()).size();
+
+            double accuracy = size > 0 ? (double)count / (double)size : -1;
             Map<String, Object> map = new HashMap<>();
-            int accuracy = size > 0 ? count / size : -1;
-            map.put("station", station);
+            map.put("station", pt);
             map.put("accuracy", accuracy);
             list.add(map);
         }

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseReportController.java

@@ -30,6 +30,11 @@ public class DiagnoseReportController {
     @Autowired
     private DiagnosereportService diagnosereportService;
 
+    /**
+     * 故障诊断报告
+     * @param id
+     * @return
+     */
     @GetMapping("/item")
     public JSONObject getOne(String id){
         Casefaultalg fault = casefaultalgService.getById(id);
@@ -42,6 +47,17 @@ public class DiagnoseReportController {
         return JsonResult.successData(ResultCode.SUCCESS, map);
     }
 
+    /**
+     * 训练详情
+     * @param obj
+     * @return
+     */
+    @GetMapping("/info")
+    public JSONObject getInfo(Diagnosetrainhistory obj){
+        List<Diagnosetrainhistory> info = InitialRunner.historyModelMap.get(obj.getModel());
+        return JsonResult.successData(ResultCode.SUCCESS, info);
+    }
+
     @GetMapping("/pointName")
     public JSONObject getPointqx(String id,String pointName) {
         Casefaultalg fault = casefaultalgService.getById(id);

+ 3 - 2
gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/diagnose/DataPointService.java

@@ -145,7 +145,8 @@ public class DataPointService {
         List<Diagnosepoint> list = uniformCodeInfoMap.get(di.getStationId());
         Map<String, List<PointData>> pairs = new HashMap<>();
         for (Diagnosepoint ci : list) {
-            if (pairs.containsKey(ci.getName())) {
+            String key = ci.getName() + "_" + ci.getUniformcode();
+            if (pairs.containsKey(key)) {
                 continue;
             }
             try {
@@ -158,7 +159,7 @@ public class DataPointService {
                         pds.add(obj);
                     }
                 }
-                pairs.put(ci.getName(), pds);
+                pairs.put(key, pds);
             } catch (Exception e) {
                 e.printStackTrace();
             }