Преглед на файлове

故障样本库添加过滤条件

chenminghua преди 2 години
родител
ревизия
7c249ea5c0

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

@@ -49,11 +49,13 @@ public class DiagnoseFaultController {
                               @RequestParam(value = "confirm", required = false) Optional<Boolean> confirm){
         boolean conf = confirm.isPresent() ? confirm.get() : false;
         if (conf){
-            List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, conf);
+            List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, conf,
+                    null, null, null, null, null, null);
             return JsonResult.successData(ResultCode.SUCCESS, list);
         }else{
             List<Casefaultalg> array = new ArrayList<>();
-            List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, null);
+            List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, null,
+                    null, null, null, null, null, null);
             Map<Long, List<Casefaultalg>> map = list.stream().collect(Collectors.groupingBy(Casefaultalg::getFaultid));
             List<FaultInfo> faults = remoteServiceBuilder.sharding().getFaultInfoList("FJ", "GZ", st, et, station, 1);
             for (FaultInfo info : faults){
@@ -102,7 +104,8 @@ public class DiagnoseFaultController {
 
         List<Object> list = new ArrayList<>();
         for (String pt : station){
-            List<Casefaultalg> faults = casefaultalgService.getAll(pt, null, null, null, null, null, st, et, null, null);
+            List<Casefaultalg> faults = casefaultalgService.getAll(pt, null, null, null, null, null, st, et, null, null,
+                    null, null, null, null, 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())

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

@@ -33,9 +33,15 @@ public class CaseFaultAlgController {
                                    @RequestParam(value = "et", required = false) String et,
                                    @RequestParam(value = "algcode", required = false) String algcode,
                                    @RequestParam(value = "confirm", required = false) Boolean confirm,
-                                   @RequestParam(value = "speed", required = false) String[] speed){
-
-        List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, confirm, speed);
+                                   @RequestParam(value = "minSpeed", required = false) double minSpeed,
+                                   @RequestParam(value = "maxSpeed", required = false) double maxSpeed,
+                                   @RequestParam(value = "minFaultTime", required = false) double minFaultTime,
+                                   @RequestParam(value = "maxFaultTime", required = false) double maxFaultTime,
+                                   @RequestParam(value = "minTemperature", required = false) double minTemperature,
+                                   @RequestParam(value = "maxTemperature", required = false) double maxTemperature){
+
+        List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, confirm,
+                minSpeed, maxSpeed, minFaultTime, maxFaultTime, minTemperature, maxTemperature);
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 

+ 3 - 3
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Casefaultalg.java

@@ -65,13 +65,13 @@ public class Casefaultalg extends Model<Casefaultalg> {
 
     private String createtime;
 
-    private String speed;
+    private double speed;
 
     private Integer faultsecond;
 
-    private Float powerloos;
+    private double powerloos;
 
-    private Float temperature;
+    private double temperature;
 
 
     @Override

+ 2 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskStatistic.java

@@ -31,7 +31,8 @@ public class TaskStatistic {
 
         Random r = new Random();
         InitialRunner.historyList.stream().forEach(h -> {
-            List<Casefaultalg> list = casefaultalgService.getAll(null, null, null, null, null, null, null, null, h.getCode(), null);
+            List<Casefaultalg> list = casefaultalgService.getAll(null, null, null, null, null, null, null, null, h.getCode(), null,
+                    null, null, null, null, null, null);
 
             int size = list.stream().filter(f -> f.getConfirm()).collect(Collectors.toList()).size();
             int count = list.stream().filter(f -> f.getConfirm() && !StringUtils.isEmpty(f.getDiagnosecode())

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

@@ -93,7 +93,7 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
                 TsDoubleData value = historySection.entrySet().iterator().next().getValue();
                 Map<String,TsDoubleData> historySectionHjwd = remoteServiceBuilder.adapter().getHistorySection(gethjwd().get(casefaultalg.getWindturbineid()), DateUtil.str2DateTime(casefaultalg.getStarttime()).getTime());
                 TsDoubleData valueHjwd = historySectionHjwd.entrySet().iterator().next().getValue();
-                casefaultalg.setSpeed(String.valueOf(value.getDoubleValue()));
+                casefaultalg.setSpeed(value.getDoubleValue());
                 casefaultalg.setTemperature((float) valueHjwd.getDoubleValue());
             }
             insert(list);
@@ -106,7 +106,8 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
 
     @Override
     public List<Casefaultalg> getAll(String station, String wtId, String[] id, Long[] faultid, String[] model, String[] faultcode,
-                                     String st, String et, String algcode, Boolean confirm, double minSpeed, double maxSpeed) {
+                                     String st, String et, String algcode, Boolean confirm, Double minSpeed, Double maxSpeed,
+                                     Double minFaultTime, Double maxFaultTime, Double minTemperature, Double maxTemperature) {
         ExcludeQueryWrapper<Casefaultalg> wrapper = new ExcludeQueryWrapper<>();
         wrapper.eq("stationen", station)
                 .eq("windturbineid", wtId)
@@ -120,6 +121,10 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
                 .eq("confirm", confirm)
                 .ge("speed", minSpeed)
                 .le("speed", maxSpeed)
+                .ge("faultsecond", minFaultTime)
+                .le("faultsecond", maxFaultTime)
+                .ge("temperature", minTemperature)
+                .le("temperature", maxTemperature)
                 .orderByDesc("starttime");
         try {
             return baseMapper.selectList(wrapper);

+ 6 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasefaultalgService.java

@@ -34,10 +34,15 @@ public interface CasefaultalgService extends IService<Casefaultalg> {
      * @param confirm   是否筛选到结论样本库
      * @param minSpeed  最小风速
      * @param maxSpeed  最大风速
+     * @param minFaultTime   最小故障时长
+     * @param maxFaultTime   最大故障时长
+     * @param minTemperature 最低温度
+     * @param maxTemperature 最高温度
      * @return
      */
     List<Casefaultalg> getAll(String station, String wtId, String[] id, Long[] faultid, String[] model, String[] faultcode,
-                              String st, String et, String algcode, Boolean confirm, double minSpeed, double maxSpeed);
+                              String st, String et, String algcode, Boolean confirm, Double minSpeed, Double maxSpeed,
+                              Double minFaultTime, Double maxFaultTime, Double minTemperature, Double maxTemperature);
 
 
     /**