Browse Source

Merge remote-tracking branch 'origin/master'

wangchangsheng 2 years ago
parent
commit
04dcbb3ce7

+ 91 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseFaultController.java

@@ -0,0 +1,91 @@
+package com.gyee.impala.controller.diagnose;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.impala.common.feign.RemoteServiceBuilder;
+import com.gyee.impala.common.result.JsonResult;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.model.custom.diagnose.FaultInfo;
+import com.gyee.impala.model.master.Casefaultalg;
+import com.gyee.impala.service.custom.diagnose.AutoCmdService;
+import com.gyee.impala.service.master.CasefaultalgService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/diagnosefault")
+public class DiagnoseFaultController {
+
+    @Autowired
+    private AutoCmdService autoCmdService;
+    @Autowired
+    private CasefaultalgService casefaultalgService;
+    @Autowired
+    private RemoteServiceBuilder remoteServiceBuilder;
+
+
+    @GetMapping("/offline")
+    public JSONObject offline(@RequestParam(value = "station", required = false) String station,
+                              @RequestParam(value = "id", required = false) String[] id,
+                              @RequestParam(value = "faultid", required = false) Long[] faultid,
+                              @RequestParam(value = "model", required = false) String[] model,
+                              @RequestParam(value = "faultcode", required = false) String[] faultcode,
+                              @RequestParam(value = "st", required = false) String st,
+                              @RequestParam(value = "et", required = false) String et,
+                              @RequestParam(value = "algcode", required = false) String algcode,
+                              @RequestParam(value = "confirm", required = false) Optional<Boolean> confirm){
+        boolean conf = confirm.isPresent() ? confirm.get() : false;
+        if (conf){
+            List<Casefaultalg> list = casefaultalgService.getAll(station, id, faultid, model, faultcode, st, et, algcode, false);
+            return JsonResult.successData(ResultCode.SUCCESS, list);
+        }else{
+            List<Casefaultalg> array = new ArrayList<>();
+            List<Casefaultalg> list = casefaultalgService.getAll(station, id, faultid, model, faultcode, st, et, algcode, false);
+            List<FaultInfo> faults = remoteServiceBuilder.sharding().getFaultRecent(et);
+            List<FaultInfo> collect = faults.stream().filter(f -> f.getCategory1().equals("FJ") && f.getCategory2().equals("GZ")).collect(Collectors.toList());
+            for (int i = 0; i < collect.size(); i++){
+                FaultInfo info = collect.get(i);
+                if (list == null || list.size() == 0){
+                    array.add(format(info));
+                }else{
+                    List<Casefaultalg> ls = list.stream().filter(a -> a.getFaultid().equals(info.getId())).collect(Collectors.toList());
+                    if (ls.size() == 0)
+                        array.add(format(info));
+                }
+            }
+            return JsonResult.successData(ResultCode.SUCCESS, array);
+        }
+    }
+
+
+    @PostMapping("/offlinediagnose")
+    public JSONObject offlineDiagnose(@RequestBody List<Casefaultalg> faults){
+        faults.stream().forEach(obj -> {
+            FaultInfo info = new FaultInfo();
+            info.setStationId(obj.getStationen());
+            info.setModelId(obj.getModel());
+            info.setId(Long.valueOf(obj.getFaultid()));
+            autoCmdService.exec(info);
+        });
+        return JsonResult.success(ResultCode.SUCCESS);
+    }
+
+
+    private Casefaultalg format(FaultInfo info){
+        Casefaultalg fault = new Casefaultalg();
+        fault.setStationcn(info.getStationName());
+        fault.setStationen(info.getStationId());
+        fault.setTag(0);
+        fault.setFaultid(info.getId());
+        fault.setWindturbineid(info.getWindturbineId());
+        fault.setDiagnosetype(info.getAlertText());
+        fault.setStarttime(info.getFaultTime());
+        fault.setModel(info.getModelId());
+        fault.setCategory("0");
+        return fault;
+    }
+}

+ 1 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/TrainFileModeController.java

@@ -149,7 +149,7 @@ public class TrainFileModeController {
     }
 
 
-    /** 查询样本原始数据 **/
+    /** 查询样本数据 **/
     @GetMapping("/data")
     public JSONObject getData(String sql){
         List<Casefault> list = casefaultService.executeSql(sql);

+ 3 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/cases/CaseFaultAlgController.java

@@ -92,4 +92,7 @@ public class CaseFaultAlgController {
         return JsonResult.success(ResultCode.SUCCESS);
     }
 
+
+
+
 }

+ 2 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Casefault.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import java.io.Serializable;
 
+import com.gyee.impala.common.spring.InitialRunner;
 import com.gyee.impala.common.util.DateUtil;
 import com.gyee.impala.common.util.SnowFlakeUtil;
 import com.gyee.impala.model.ToData;
@@ -89,7 +90,7 @@ public class Casefault extends Model<Casefault> implements ToData<Object> {
         fault.setStationcn(obj.getStationcn());
         fault.setStationen(obj.getStationen());
         fault.setWindturbineid(obj.getWindturbineid());
-        fault.setFaulttype(obj.getFaulttype());
+        fault.setFaulttype(InitialRunner.faultTypeMap.get(obj.getFaulttype()));
         fault.setFaultcode(obj.getFaultcode());
         fault.setSymptom(obj.getSymptom());
         fault.setSymptomcode(obj.getSymptomcode());

+ 1 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasefaultalgServiceImpl.java

@@ -57,7 +57,7 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
         ExcludeQueryWrapper<Casefaultalg> wrapper = new ExcludeQueryWrapper<>();
         wrapper.eq("stationen", station)
                 .in("id", id)
-                .in("faultid", model)
+                .in("faultid", faultid)
                 .in("model", model)
                 .in("faultcode", faultcode)
                 .ge("starttime", st)