Przeglądaj źródła

接入设备检修数据

chenminghua 2 lat temu
rodzic
commit
7ce4737a70
35 zmienionych plików z 876 dodań i 37 usunięć
  1. 1 0
      .gitignore
  2. 4 4
      gyee-sample-impala/src/main/java/com/gyee/impala/common/config/MapperGenerator.java
  3. 45 0
      gyee-sample-impala/src/main/java/com/gyee/impala/common/config/datasource/GDOADadaSourceConfig.java
  4. 5 1
      gyee-sample-impala/src/main/java/com/gyee/impala/common/spring/InitialRunner.java
  5. 3 6
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/AlarmHistoryController.java
  6. 3 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/AutoFaultController.java
  7. 4 4
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseFaultController.java
  8. 5 4
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseReportController.java
  9. 3 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnosepointController.java
  10. 1 1
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnosetrainhistoryController.java
  11. 19 0
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/KnowBasicController.java
  12. 16 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/gdoa/EqEquipmentMapper.java
  13. 25 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/gdoa/EqJxjlMapper.java
  14. 15 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/KnowinspectrecordMapper.java
  15. 110 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/gdoa/EqEquipment.java
  16. 128 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/gdoa/EqJxjl.java
  17. 54 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Knowinspectrecord.java
  18. 26 0
      gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskEQInspect.java
  19. 9 5
      gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskStatistic.java
  20. 3 0
      gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskWarning.java
  21. 3 0
      gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskWeather.java
  22. 1 2
      gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/diagnose/AutoCmdService.java
  23. 16 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/gdoa/EqEquipmentService.java
  24. 25 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/gdoa/EqJxjlService.java
  25. 20 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/gdoa/EqEquipmentServiceImpl.java
  26. 28 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/gdoa/EqJxjlServiceImpl.java
  27. 21 7
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasefaultalgServiceImpl.java
  28. 125 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/KnowinspectrecordServiceImpl.java
  29. 10 3
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasefaultalgService.java
  30. 30 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/KnowinspectService.java
  31. 6 0
      gyee-sample-impala/src/main/resources/application.yaml
  32. 27 0
      gyee-sample-impala/src/main/resources/mapper/gdoa/EqEquipmentMapper.xml
  33. 54 0
      gyee-sample-impala/src/main/resources/mapper/gdoa/EqJxjlMapper.xml
  34. 30 0
      gyee-sample-impala/src/main/resources/mapper/master/KnowinspectrecordMapper.xml
  35. 1 0
      gyee-sample-impala/src/test/java/com/gyee/impala/FaultHistoryFilterTest.java

+ 1 - 0
.gitignore

@@ -37,3 +37,4 @@ build/
 /logs
 /gyee-sample-impala/logs
 /gyee-sample-impala/logs
+/*.log

+ 4 - 4
gyee-sample-impala/src/main/java/com/gyee/impala/common/config/MapperGenerator.java

@@ -27,7 +27,7 @@ public class MapperGenerator {
     //作者
     private static String authorName = "chenmh";
     //要生成的表名
-    private static String[] tables = {""};
+    private static String[] tables = {"EQ_EQUIPMENT"};
     //table前缀
     private static String prefix = "";
 
@@ -40,9 +40,9 @@ public class MapperGenerator {
 //    private static String password = "";
 
     private static String driverName = "oracle.jdbc.driver.OracleDriver";
-    private static String url = "jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd";
-    private static String username = "nxfdprod";
-    private static String password = "gdnxfd123";
+    private static String url = "jdbc:oracle:thin:@192.168.1.10:1521:ORCL";
+    private static String username = "mis";
+    private static String password = "GDnxXNY_2020#!";
 
     public static void main(String[] args) {
         AutoGenerator gen = new AutoGenerator();

+ 45 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/common/config/datasource/GDOADadaSourceConfig.java

@@ -0,0 +1,45 @@
+package com.gyee.impala.common.config.datasource;
+
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.jdbc.DataSourceBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+
+import javax.sql.DataSource;
+
+/**
+ * 国电 oa 数据库
+ */
+@Configuration
+@MapperScan(basePackages = "com.gyee.impala.mapper.gdoa",sqlSessionFactoryRef = "gdoaSqlSessionFactory")
+public class GDOADadaSourceConfig {
+
+    @Bean(name = "gdoa")
+    @ConfigurationProperties("spring.datasource.druid.gdoa")
+    public DataSource gdoaDataSource(){
+        return DataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "gdoaSqlSessionFactory")
+    public SqlSessionFactory gdoaSqlSessionFactory(@Qualifier("gdoa") DataSource dataSource) throws Exception {
+        MybatisSqlSessionFactoryBean sessionFactoryBean = new MybatisSqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(dataSource);
+
+        sessionFactoryBean.setMapperLocations(
+                new PathMatchingResourcePatternResolver().getResources("classpath*:mapper/gdoa/*.xml"));
+
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean("gdoaSqlSessionFactory")
+    public SqlSessionTemplate gdoaSqlSessionTemplate(
+            @Qualifier("gdoaSqlSessionFactory") SqlSessionFactory sessionFactory) {
+        return new SqlSessionTemplate(sessionFactory);
+    }
+}

+ 5 - 1
gyee-sample-impala/src/main/java/com/gyee/impala/common/spring/InitialRunner.java

@@ -42,6 +42,8 @@ public class InitialRunner implements CommandLineRunner {
     public static Map<String, List<Windturbine>> wpMap = new HashMap<>();
     /** <MHS_FDC, 麻黄山风电场> **/
     public static Map<String, String> stationMap = new HashMap<>();
+    /** <麻黄山风电场, MHS_FDC> **/
+    public static Map<String, String> stationenMap = new HashMap<>();
     /**所有的风机**/
     public static List<Windturbine> wtList = new ArrayList<>();
     /** <NG01_01, Windturbine> **/
@@ -89,6 +91,7 @@ public class InitialRunner implements CommandLineRunner {
         wpList.clear();
         wtList.clear();
         stationMap.clear();
+        stationenMap.clear();
         wpMap.clear();
         wtMap.clear();
 
@@ -97,6 +100,7 @@ public class InitialRunner implements CommandLineRunner {
         stations.stream().forEach(obj -> {
             List<Windturbine> wts = windturbineService.getWindTurbineId(obj.getId());
             stationMap.put(obj.getId(), obj.getName());
+            stationenMap.put(obj.getName(), obj.getId());
             wpMap.put(obj.getId(), wts);
             wtList.addAll(wts);
             wts.stream().forEach(o -> wtMap.put(o.getId(), o));
@@ -147,6 +151,6 @@ public class InitialRunner implements CommandLineRunner {
         historyModelMap.clear();
         historyList.clear();
         historyList = diagnosetrainhistoryService.getListAll();
-        historyModelMap = historyList.stream().collect(Collectors.groupingBy(Diagnosetrainhistory::getModel));
+        historyModelMap = historyList.stream().filter(h -> h.isEnable()).collect(Collectors.groupingBy(Diagnosetrainhistory::getModel));
     }
 }

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

@@ -1,15 +1,9 @@
 package com.gyee.impala.controller.diagnose;
 
-import com.alibaba.fastjson.JSONArray;
 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.common.spring.InitialRunner;
-import com.gyee.impala.common.util.DateUtil;
-import com.gyee.impala.common.util.SnowFlakeUtil;
 import com.gyee.impala.model.custom.AlertHistory;
-import com.gyee.impala.model.master.Powercurvebasic;
 import com.gyee.impala.service.custom.diagnose.AlarmService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +14,9 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.*;
 
+/**
+ * 报警历史
+ */
 @CrossOrigin
 @RestController
 @RequestMapping("/api/warning")

+ 3 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/AutoFaultController.java

@@ -27,6 +27,9 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
+/**
+ * 自动诊断
+ */
 @CrossOrigin
 @RestController
 @RequestMapping("/api/autofault")

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

@@ -48,16 +48,16 @@ public class DiagnoseFaultController {
                               @RequestParam(value = "algcode", required = false) String algcode,
                               @RequestParam(value = "confirm", required = false) Optional<Boolean> confirm){
         boolean conf = confirm.isPresent() ? confirm.get() : false;
-        List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, conf);
         if (conf){
+            List<Casefaultalg> list = casefaultalgService.getAll(station, wtId, id, faultid, model, faultcode, st, et, algcode, conf);
             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);
             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 (int i = 0; i < faults.size(); i++){
-                FaultInfo info = faults.get(i);
-                if (!map.containsKey(info.getId()))
+            for (FaultInfo info : faults){
+                if (!map.containsKey(info.getId()) && info.getMessageType() == 1)
                     array.add(format(info));
             }
             return JsonResult.successData(ResultCode.SUCCESS, array);

+ 5 - 4
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnoseReportController.java

@@ -27,6 +27,9 @@ import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+/**
+ * 故障诊断报告
+ */
 @CrossOrigin
 @RestController
 @RequestMapping("/api/diagnosereport")
@@ -49,8 +52,7 @@ public class DiagnoseReportController {
     @GetMapping("/item")
     public JSONObject getOne(String id){
         Casefaultalg fault = casefaultalgService.getById(id);
-        List<Diagnosetrainhistory> history = InitialRunner.historyModelMap.get(fault.getStationen() + "_" + fault.getModel())
-                .stream().filter(a -> a.isEnable()).collect(Collectors.toList());
+        List<Diagnosetrainhistory> history = InitialRunner.historyModelMap.get(fault.getStationen() + "_" + fault.getModel());
 
         Calendar cal = Calendar.getInstance();
         DataInfo info = new DataInfo();
@@ -116,8 +118,7 @@ public class DiagnoseReportController {
      */
     @GetMapping("/grads")
     public JSONObject getGrads(String station, String model, String wtId, String time, String fault){
-        List<Diagnosetrainhistory> collect = InitialRunner.historyModelMap.get(station + "_" + model)
-                .stream().filter(a -> a.isEnable()).collect(Collectors.toList());
+        List<Diagnosetrainhistory> collect = InitialRunner.historyModelMap.get(station + "_" + model);
 
         Calendar cal = Calendar.getInstance();
         DataInfo info = new DataInfo();

+ 3 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/diagnose/DiagnosepointController.java

@@ -19,6 +19,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * 故障诊断用的测点
+ */
 @CrossOrigin
 @RestController
 @RequestMapping("/api/diagnosepoint")

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

@@ -15,7 +15,7 @@ import java.util.List;
 
 
 /**
- * 文件方式训练模型
+ * 故障模型管理
  */
 @Slf4j
 @CrossOrigin

+ 19 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/KnowBasicController.java

@@ -5,16 +5,20 @@ import com.alibaba.fastjson.JSONObject;
 import com.gyee.impala.common.result.JsonResult;
 import com.gyee.impala.common.result.ResultCode;
 import com.gyee.impala.common.spring.InitialRunner;
+import com.gyee.impala.common.util.DateUtil;
 import com.gyee.impala.model.master.Knowfaultfix;
 import com.gyee.impala.model.master.Knowfaultsymptom;
 import com.gyee.impala.model.master.Knowcategory;
+import com.gyee.impala.model.master.Knowinspectrecord;
 import com.gyee.impala.service.master.KnowfaultfixService;
 import com.gyee.impala.service.master.KnowfaultsymptomService;
 import com.gyee.impala.service.master.KnowcategoryService;
+import com.gyee.impala.service.master.KnowinspectService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -31,6 +35,8 @@ public class KnowBasicController {
     private KnowfaultsymptomService knowfaultsymptomService;
     @Autowired
     private KnowfaultfixService knowfaultfixService;
+    @Autowired
+    private KnowinspectService knowinspectService;
 
     /**
      * 查询所有故障分类数据
@@ -181,4 +187,17 @@ public class KnowBasicController {
         knowfaultfixService.deleteItem(id);
         return JsonResult.success(ResultCode.SUCCESS);
     }
+
+
+    /**
+     * 查询定检记录
+     * @return
+     */
+    @GetMapping("/inspect/list")
+    public JSONObject test(String station, String st, String et){
+        st = DateUtil.format(st, DateUtil.YYYY_MM_DD);
+        et = DateUtil.format(et, DateUtil.YYYY_MM_DD);
+        List<Knowinspectrecord> list = knowinspectService.getListByStationAndTime(station, st, et);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
 }

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/gdoa/EqEquipmentMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.impala.mapper.gdoa;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.gdoa.EqEquipment;
+
+/**
+ * <p>
+ * 设备台账表 Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+public interface EqEquipmentMapper extends BaseMapper<EqEquipment> {
+
+}

+ 25 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/gdoa/EqJxjlMapper.java

@@ -0,0 +1,25 @@
+package com.gyee.impala.mapper.gdoa;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.gdoa.EqJxjl;
+import com.gyee.impala.model.master.Knowinspectrecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 检修记录 Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+public interface EqJxjlMapper extends BaseMapper<EqJxjl> {
+
+    /**
+     * 查询定检记录
+     * @return
+     */
+    List<Knowinspectrecord> getListWithEquipment(@Param("date") String date);
+}

+ 15 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/KnowinspectrecordMapper.java

@@ -0,0 +1,15 @@
+package com.gyee.impala.mapper.master;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.master.Knowinspectrecord;
+import org.apache.ibatis.annotations.Select;
+
+public interface KnowinspectrecordMapper extends BaseMapper<Knowinspectrecord> {
+
+    /**
+     * 查询时间最大的一条数据
+     * @return
+     */
+    @Select("SELECT max(starttime) as time from knowinspectrecord")
+    String getMaxByTime();
+}

+ 110 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/gdoa/EqEquipment.java

@@ -0,0 +1,110 @@
+package com.gyee.impala.model.gdoa;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 设备台账表
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("EQ_EQUIPMENT")
+public class EqEquipment extends Model<EqEquipment> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * SNO
+     */
+      @TableId("SNO")
+    private String sno;
+
+    /**
+     * PSNO
+     */
+    @TableField("PSNO")
+    private String psno;
+
+    /**
+     * 设备名称
+     */
+    @TableField("EQUIPMENT_NAME")
+    private String equipmentName;
+
+    /**
+     * 设备编码
+     */
+    @TableField("EQUIPMENT_CODE")
+    private String equipmentCode;
+
+    /**
+     * 管辖部门
+     */
+    @TableField("USE_DEPT")
+    private String useDept;
+
+    /**
+     * 生产厂家
+     */
+    @TableField("MANUFACTURERS")
+    private String manufacturers;
+
+    /**
+     * 规格型号
+     */
+    @TableField("MODEL")
+    private String model;
+
+    /**
+     * 安装地点
+     */
+    @TableField("ADDRESS")
+    private String address;
+
+    /**
+     * 出厂日期
+     */
+    @TableField("MANUFACTURE_OUT_DATE")
+    private String manufactureOutDate;
+
+    /**
+     * 投运日期
+     */
+    @TableField("BEGIN_RUNNING_DATE")
+    private String beginRunningDate;
+
+    /**
+     * 技术参数
+     */
+    @TableField("TECH_PARAMTER")
+    private String techParamter;
+
+    /**
+     * 设备类型
+     */
+    @TableField("EQUTYPE")
+    private String equtype;
+
+    /**
+     * PID
+     */
+    @TableField("PID")
+    private String pid;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.sno;
+    }
+
+}

+ 128 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/gdoa/EqJxjl.java

@@ -0,0 +1,128 @@
+package com.gyee.impala.model.gdoa;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 检修记录
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("EQ_JXJL")
+public class EqJxjl extends Model<EqJxjl> {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * SNO
+     */
+      @TableId("SNO")
+    private String sno;
+
+    /**
+     * PSNO
+     */
+    @TableField("PSNO")
+    private String psno;
+
+    /**
+     * 检修名称
+     */
+    @TableField("OVERHAUL_NAME")
+    private String overhaulName;
+
+    /**
+     * 设备名称
+     */
+    @TableField("EQUIPMENT_NAME")
+    private String equipmentName;
+
+    /**
+     * 管辖部门
+     */
+    @TableField("USE_DEPT")
+    private String useDept;
+
+    /**
+     * 检修开始时间
+     */
+    @TableField("OVERHAUL_STAR_DATE")
+    private String overhaulStarDate;
+
+    /**
+     * 检修结束时间
+     */
+    @TableField("OVERHAUL_END_DATE")
+    private String overhaulEndDate;
+
+    /**
+     * 检修类别
+     */
+    @TableField("OVERHAUL_TYPE")
+    private String overhaulType;
+
+    /**
+     * 检修记录
+     */
+    @TableField("RECORD")
+    private String record;
+
+    /**
+     * 备件更换情况
+     */
+    @TableField("BJGHQK")
+    private String bjghqk;
+
+    /**
+     * 备注
+     */
+    @TableField("REMARK")
+    private String remark;
+
+    /**
+     * 检修人员
+     */
+    @TableField("OVERHAUL_USER")
+    private String overhaulUser;
+
+    /**
+     * 问题及处理情况
+     */
+    @TableField("RESULT")
+    private String result;
+
+    /**
+     * 遗留问题
+     */
+    @TableField("PROBLEM")
+    private String problem;
+
+    /**
+     * 备品备件ID
+     */
+    @TableField("BPBJ_ID")
+    private String bpbjId;
+
+    /**
+     * 备品备件名称
+     */
+    @TableField("BPBJ_NAME")
+    private String bpbjName;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.sno;
+    }
+
+}

+ 54 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Knowinspectrecord.java

@@ -0,0 +1,54 @@
+package com.gyee.impala.model.master;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("knowinspectrecord")
+public class Knowinspectrecord extends Model<Knowinspectrecord> {
+
+    private static final long serialVersionUID=1L;
+
+    private String id;
+
+    private String stationcn;
+
+    private String stationen;
+
+    private String windturbineid;
+
+    private String windturbinename;
+
+    private String inspectname;
+
+    private String inspecttype;
+
+    private String starttime;
+
+    private String endtime;
+
+    private String inspectuser;
+
+    private String record;
+
+    private String bjghqk;
+
+    private String remark;
+
+    private String result;
+
+    private String problem;
+
+    private String category;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+}

+ 26 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskEQInspect.java

@@ -0,0 +1,26 @@
+package com.gyee.impala.schdule;
+
+import com.gyee.impala.service.master.KnowinspectService;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * 来自国电oa的设备检修数据同步至kudu样本库
+ */
+@Component
+public class TaskEQInspect {
+
+    @Resource
+    private KnowinspectService knowinspectService;
+
+    /**
+     * 每周六一点执行一次
+     */
+    @Scheduled(cron = "0 0 1 ? * 6")
+    public void equipmentInspectTask(){
+        String time = knowinspectService.selectMaxTime();
+        knowinspectService.insertBatch(time);
+    }
+}

+ 9 - 5
gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskStatistic.java

@@ -11,6 +11,9 @@ import org.springframework.stereotype.Component;
 import java.util.List;
 import java.util.stream.Collectors;
 
+/**
+ * 故障诊断样本库准确率统计
+ */
 @Component
 public class TaskStatistic {
 
@@ -20,21 +23,22 @@ public class TaskStatistic {
     /**
      * 统计算法准确率
      */
-    @Scheduled(initialDelay = 50 * 1000, fixedRate = 1 * 60 * 60 * 1000)
+    @Scheduled(initialDelay = 60 * 1000, fixedRate = 1 * 60 * 60 * 1000)
     public void accuracyStatisticTask() {
         if (0 == InitialRunner.historyList.size())
             return;
 
         InitialRunner.historyList.stream().forEach(h -> {
             List<Casefaultalg> list = casefaultalgService.getAll(null, null, null, null, null, null, null, null, h.getCode(), null);
-            int size = list.size();
-            int count = list.stream().filter(f -> f.getConfirm() &&
-                    !StringUtils.isEmpty(f.getDiagnosecode())
+
+            int size = list.stream().filter(f -> f.getConfirm()).collect(Collectors.toList()).size();
+            int count = list.stream().filter(f -> f.getConfirm() && !StringUtils.isEmpty(f.getDiagnosecode())
                     && !StringUtils.isEmpty(f.getFaultcode())
                     && f.getDiagnosecode().equalsIgnoreCase(f.getFaultcode())).collect(Collectors.toList()).size();
+
             double precision = (double) size > 0 ? (double) count / (double) size : 0;
             h.setSamplecount(count);
-            h.setAllcount(size);
+            h.setAllcount(list.size());
             h.setPrecision(precision);
         });
     }

+ 3 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskWarning.java

@@ -23,6 +23,9 @@ import java.util.Calendar;
 import java.util.List;
 import java.util.Set;
 
+/**
+ * scada报警和自定义报警数据同步至kudu样本库
+ */
 @Component
 public class TaskWarning {
 

+ 3 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/schdule/TaskWeather.java

@@ -15,6 +15,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * 来自功率预测的天气数据同步至kudu样本库
+ */
 @Component
 public class TaskWeather {
 

+ 1 - 2
gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/diagnose/AutoCmdService.java

@@ -33,9 +33,8 @@ public class AutoCmdService {
         System.out.println(new Date() + "开始执行脚本...");
         Process p;
         String cmdPath = gyeeConfig.getDiagnosePath();
-        List<Diagnosetrainhistory> ls = InitialRunner.historyModelMap.get(fi.getStationId() + "_" + fi.getModelId());
         try {
-            Diagnosetrainhistory history = ls.get(0);
+            Diagnosetrainhistory history = InitialRunner.historyModelMap.get(fi.getStationId() + "_" + fi.getModelId()).get(0);
             System.out.println("脚本调用成功: " + history.toString());
             String[] cmd = {"/bin/sh", "-c", "python " + cmdPath + "Predict_Online.py " + history.getCode() + " " + fi.getId()};
             //String[] cmd = {"/bin/sh", "-c", "python " + cmdPath + "ANNs_predict" + fi.getStationId() + "_" + fi.getModelId() + ".py " + fi.getId()};

+ 16 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/gdoa/EqEquipmentService.java

@@ -0,0 +1,16 @@
+package com.gyee.impala.service.gdoa;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.gdoa.EqEquipment;
+
+/**
+ * <p>
+ * 设备台账表 服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+public interface EqEquipmentService extends IService<EqEquipment> {
+
+}

+ 25 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/gdoa/EqJxjlService.java

@@ -0,0 +1,25 @@
+package com.gyee.impala.service.gdoa;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.gdoa.EqJxjl;
+import com.gyee.impala.model.master.Knowinspectrecord;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 检修记录 服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+public interface EqJxjlService extends IService<EqJxjl> {
+
+    /**
+     * 查询所有的定检记录
+     * @return
+     */
+    List<Knowinspectrecord> getEquipmentList(String date);
+
+}

+ 20 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/gdoa/EqEquipmentServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.impala.service.impl.gdoa;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.impala.mapper.gdoa.EqEquipmentMapper;
+import com.gyee.impala.model.gdoa.EqEquipment;
+import com.gyee.impala.service.gdoa.EqEquipmentService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 设备台账表 服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+@Service
+public class EqEquipmentServiceImpl extends ServiceImpl<EqEquipmentMapper, EqEquipment> implements EqEquipmentService {
+
+}

+ 28 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/gdoa/EqJxjlServiceImpl.java

@@ -0,0 +1,28 @@
+package com.gyee.impala.service.impl.gdoa;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.impala.mapper.gdoa.EqJxjlMapper;
+import com.gyee.impala.model.gdoa.EqJxjl;
+import com.gyee.impala.model.master.Knowinspectrecord;
+import com.gyee.impala.service.gdoa.EqJxjlService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 检修记录 服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2022-07-20
+ */
+@Service
+public class EqJxjlServiceImpl extends ServiceImpl<EqJxjlMapper, EqJxjl> implements EqJxjlService {
+
+    @Override
+    public List<Knowinspectrecord> getEquipmentList(String date) {
+        List<Knowinspectrecord> list = baseMapper.getListWithEquipment(date);
+        return list;
+    }
+}

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

@@ -77,6 +77,27 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
     }
 
     @Override
+    public Casefaultalg getOne(String station, String wtId, String model, String time, Boolean confirm) {
+        ExcludeQueryWrapper<Casefaultalg> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("stationen", station)
+                .eq("windturbineid", wtId)
+                .in("model", model)
+                .ge("starttime", time)
+                .eq("confirm", confirm)
+                .orderByDesc("starttime");
+        try {
+            List<Casefaultalg> list = baseMapper.selectList(wrapper);
+            if (list != null)
+                return list.get(0);
+
+            return null;
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
     public void editBatch(List<Casefaultalg> list) {
         try {
             for (Casefaultalg fault : list)
@@ -139,13 +160,6 @@ public class CasefaultalgServiceImpl extends ServiceImpl<CasefaultalgMapper, Cas
         baseMapper.updateById(alg);
     }
 
-    @Override
-    public List<Casefaultalg> getListRemarkIsNull() {
-        ExcludeQueryWrapper<Casefaultalg> wrapper = new ExcludeQueryWrapper<>();
-        wrapper.isNull("remark");
-        wrapper.or().eq("remark","");
-        return  baseMapper.selectList(wrapper);
-    }
 
     /**
      * 由于mybatis-plus存储的中文乱码

+ 125 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/KnowinspectrecordServiceImpl.java

@@ -0,0 +1,125 @@
+package com.gyee.impala.service.impl.master;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.impala.common.base.ExcludeQueryWrapper;
+import com.gyee.impala.common.config.datasource.KuduDataSourceConfig;
+import com.gyee.impala.common.exception.CustomException;
+import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.common.spring.InitialRunner;
+import com.gyee.impala.common.util.SnowFlakeUtil;
+import com.gyee.impala.mapper.master.KnowinspectrecordMapper;
+import com.gyee.impala.model.master.Knowinspectrecord;
+import com.gyee.impala.service.gdoa.EqJxjlService;
+import com.gyee.impala.service.master.KnowinspectService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.hadoop.mapreduce.ID;
+import org.apache.kudu.client.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class KnowinspectrecordServiceImpl extends ServiceImpl<KnowinspectrecordMapper, Knowinspectrecord> implements KnowinspectService {
+
+    @Autowired
+    private KuduDataSourceConfig kuduConfig;
+    @Resource
+    private EqJxjlService eqJxjlService;
+
+
+    @Override
+    public void insertBatch(String date) {
+        List<Knowinspectrecord> list = eqJxjlService.getEquipmentList(date);
+        if (list == null || list.size() == 0)
+            return;
+
+        list.stream().filter(a -> a.getStationcn().contains("风电场") && StringUtils.isNotEmpty(a.getStarttime())
+                             && a.getWindturbinename().contains("风机") && StringUtils.isNotEmpty(a.getWindturbineid())
+                             && a.getWindturbineid().contains("G"))
+                .forEach(item -> {
+            if (!InitialRunner.stationenMap.containsKey(item.getStationcn()) || !item.getWindturbineid().contains("G"))    {
+                list.remove(item);
+                return;
+            }
+            item.setStationen(InitialRunner.stationenMap.get(item.getStationcn()));
+            item.setWindturbineid(item.getWindturbineid().substring(0, 2) + "01_" + item.getWindturbineid().substring(2));
+        });
+
+        try{
+            insert(list);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public String selectMaxTime() {
+        String time = baseMapper.getMaxByTime();
+        return time;
+    }
+
+    @Override
+    public List<Knowinspectrecord> getListByStationAndTime(String station, String st, String et) {
+        ExcludeQueryWrapper<Knowinspectrecord> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("stationen", station)
+                .ge("starttime", st)
+                .le("endtime", et)
+                .orderByDesc("starttime");
+
+        List<Knowinspectrecord> list = new ArrayList<>();
+        try {
+            list = baseMapper.selectList(wrapper);
+        } catch (CustomException e){}
+
+        return list;
+    }
+
+
+    /**
+     * 由于mybatis-plus存储的中文乱码
+     * 采用原生写法
+     * @param list
+     * @return
+     */
+    private void insert(List<Knowinspectrecord> list) throws KuduException {
+        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.knowinspectrecord");
+        KuduSession kuduSession = kuduConfig.kuduSession();
+        int i = 0;
+        for (Knowinspectrecord obj : list){
+            Insert insert = kuduTable.newInsert();
+            // 获取Row对象,设置插入的值
+            PartialRow row = insert.getRow();
+            row.addObject("id", SnowFlakeUtil.generateId());
+            row.addObject("stationcn", obj.getStationcn());
+            row.addObject("stationen", obj.getStationen());
+            row.addObject("windturbineid", obj.getWindturbineid());
+            row.addObject("windturbinename", obj.getWindturbinename());
+            row.addObject("inspectname", obj.getInspectname());
+            row.addObject("inspecttype", obj.getInspecttype());
+            row.addObject("starttime", obj.getStarttime());
+            row.addObject("endtime", obj.getEndtime());
+            row.addObject("inspectuser", obj.getInspectuser());
+            row.addObject("record", obj.getRecord());
+            row.addObject("bjghqk", obj.getBjghqk());
+            row.addObject("remark", obj.getRemark());
+            row.addObject("result", obj.getResult());
+            row.addObject("problem", obj.getProblem());
+            row.addObject("category", obj.getCategory());
+
+            // 先不提交kudu
+            kuduSession.apply(insert);
+            i ++;
+            if (i % kuduConfig.getCount() == 0)
+                kuduSession.flush(); //批量写入kudu
+        }
+
+        // 最后,补加一条批量写入
+        kuduSession.flush();
+        // 关闭和kudu的会话
+        kuduSession.close();
+    }
+}

+ 10 - 3
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasefaultalgService.java

@@ -39,6 +39,16 @@ public interface CasefaultalgService extends IService<Casefaultalg> {
 
 
     /**
+     * 查询一条
+     * @param station
+     * @param wtId
+     * @param model
+     * @param time
+     * @return
+     */
+    Casefaultalg getOne(String station, String wtId, String model, String time, Boolean confirm);
+
+    /**
      * 根据ID批量更新
      * @param list
      */
@@ -65,7 +75,4 @@ public interface CasefaultalgService extends IService<Casefaultalg> {
      * @param remark
      */
     void faultAlgEditRemark(String id,String remark);
-
-
-    List<Casefaultalg> getListRemarkIsNull();
 }

+ 30 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/KnowinspectService.java

@@ -0,0 +1,30 @@
+package com.gyee.impala.service.master;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.master.Knowinspectrecord;
+
+import java.util.List;
+
+
+public interface KnowinspectService extends IService<Knowinspectrecord> {
+
+    /**
+     * 批量插入检修记录
+     */
+    void insertBatch(String date);
+
+    /**
+     * 查询时间最大的一条数据
+     * @return
+     */
+    String selectMaxTime();
+
+    /**
+     * 根据场站id和时间查询
+     * @param station
+     * @param st
+     * @param et
+     * @return
+     */
+    List<Knowinspectrecord> getListByStationAndTime(String station, String st, String et);
+}

+ 6 - 0
gyee-sample-impala/src/main/resources/application.yaml

@@ -55,6 +55,12 @@ spring:
         username: gyee
         password: FRWIND
         driver-class-name: oracle.jdbc.OracleDriver
+      #国电oracle数据库 -- oa
+      gdoa:
+        jdbc-url: jdbc:oracle:thin:@192.168.1.10:1521:ORCL
+        username: mis
+        password: GDnxXNY_2020#!
+        driver-class-name: oracle.jdbc.OracleDriver
       # 初始化大小,最小,最大
       initial-size: 1
       min-idle: 1

+ 27 - 0
gyee-sample-impala/src/main/resources/mapper/gdoa/EqEquipmentMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.impala.mapper.gdoa.EqEquipmentMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.gdoa.EqEquipment">
+        <id column="SNO" property="sno" />
+        <result column="PSNO" property="psno" />
+        <result column="EQUIPMENT_NAME" property="equipmentName" />
+        <result column="EQUIPMENT_CODE" property="equipmentCode" />
+        <result column="USE_DEPT" property="useDept" />
+        <result column="MANUFACTURERS" property="manufacturers" />
+        <result column="MODEL" property="model" />
+        <result column="ADDRESS" property="address" />
+        <result column="MANUFACTURE_OUT_DATE" property="manufactureOutDate" />
+        <result column="BEGIN_RUNNING_DATE" property="beginRunningDate" />
+        <result column="TECH_PARAMTER" property="techParamter" />
+        <result column="EQUTYPE" property="equtype" />
+        <result column="PID" property="pid" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        SNO, PSNO, EQUIPMENT_NAME, EQUIPMENT_CODE, USE_DEPT, MANUFACTURERS, MODEL, ADDRESS, MANUFACTURE_OUT_DATE, BEGIN_RUNNING_DATE, TECH_PARAMTER, EQUTYPE, PID
+    </sql>
+
+</mapper>

+ 54 - 0
gyee-sample-impala/src/main/resources/mapper/gdoa/EqJxjlMapper.xml

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.impala.mapper.gdoa.EqJxjlMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.gdoa.EqJxjl">
+        <id column="SNO" property="sno" />
+        <result column="PSNO" property="psno" />
+        <result column="OVERHAUL_NAME" property="overhaulName" />
+        <result column="EQUIPMENT_NAME" property="equipmentName" />
+        <result column="USE_DEPT" property="useDept" />
+        <result column="OVERHAUL_STAR_DATE" property="overhaulStarDate" />
+        <result column="OVERHAUL_END_DATE" property="overhaulEndDate" />
+        <result column="OVERHAUL_TYPE" property="overhaulType" />
+        <result column="RECORD" property="record" />
+        <result column="BJGHQK" property="bjghqk" />
+        <result column="REMARK" property="remark" />
+        <result column="OVERHAUL_USER" property="overhaulUser" />
+        <result column="RESULT" property="result" />
+        <result column="PROBLEM" property="problem" />
+        <result column="BPBJ_ID" property="bpbjId" />
+        <result column="BPBJ_NAME" property="bpbjName" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        SNO, PSNO, OVERHAUL_NAME, EQUIPMENT_NAME, USE_DEPT, OVERHAUL_STAR_DATE, OVERHAUL_END_DATE, OVERHAUL_TYPE, RECORD, BJGHQK, REMARK, OVERHAUL_USER, RESULT, PROBLEM, BPBJ_ID, BPBJ_NAME
+    </sql>
+
+    <select id = "getListWithEquipment" resultType="com.gyee.impala.model.master.Knowinspectrecord">
+        select
+        e.EQUIPMENT_CODE as windturbineid,
+        t.SNO as id,
+        t.USE_DEPT as stationcn,
+        t.EQUIPMENT_NAME as windturbinename,
+        t.OVERHAUL_STAR_DATE as starttime,
+        t.OVERHAUL_END_DATE as endtime,
+        t.OVERHAUL_NAME as inspectname,
+        t.OVERHAUL_TYPE as inspecttype,
+        t.OVERHAUL_USER as inspectuser,
+        t.RECORD as record,
+        t.BJGHQK as bjghqk,
+        t.REMARK as remark,
+        t.PROBLEM as problem
+        from eq_jxjl t
+        left join eq_equipment e
+        on t.psno = e.sno
+        where t.overhaul_star_date is not null and t.psno is not null
+        and t.USE_DEPT like '%风电场'
+        and t.OVERHAUL_STAR_DATE >= #{date}
+        order by t.overhaul_star_date desc
+    </select>
+
+</mapper>

+ 30 - 0
gyee-sample-impala/src/main/resources/mapper/master/KnowinspectrecordMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gyee.impala.mapper.master.KnowinspectrecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.Knowinspectrecord">
+        <id column="id" property="id" />
+        <result column="stationcn" property="stationcn" />
+        <result column="stationen" property="stationen" />
+        <result column="windturbineid" property="windturbineid" />
+        <result column="windturbinename" property="windturbinename" />
+        <result column="inspectname" property="inspectname" />
+        <result column="inspecttype" property="inspecttype" />
+        <result column="starttime" property="starttime" />
+        <result column="endtime" property="endtime" />
+        <result column="inspectuser" property="inspectuser" />
+        <result column="record" property="record" />
+        <result column="bjghqk" property="bjghqk" />
+        <result column="remark" property="remark" />
+        <result column="result" property="result" />
+        <result column="problem" property="problem" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, widget, code, process, createtime, remark, category
+    </sql>
+
+</mapper>

+ 1 - 0
gyee-sample-impala/src/test/java/com/gyee/impala/FaultHistoryFilterTest.java

@@ -100,6 +100,7 @@ public class FaultHistoryFilterTest {
                 Faultsnap snap = lists.get(0);
                 // 时间提起5小时
                 Calendar cal = Calendar.getInstance();
+
                 cal.setTime(starttime);
                 cal.add(Calendar.HOUR, -72);
                 Date s = cal.getTime();