Browse Source

风机对应测点、自定义报警、scada报警

chenminghua 3 years ago
parent
commit
f3c1108d21
21 changed files with 330 additions and 95 deletions
  1. 4 12
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/cases/CaseFaultController.java
  2. 22 7
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/cases/CaseWarningController.java
  3. 4 4
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/BasicQueryController.java
  4. 4 7
      gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/WindturbinePointController.java
  5. 0 7
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningMapper.java
  6. 7 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningcustomMapper.java
  7. 7 0
      gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningscadaMapper.java
  8. 37 0
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Casewarningcustom.java
  9. 3 11
      gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Casewarning.java
  10. 5 5
      gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/WarningService.java
  11. 2 4
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasefaultServiceImpl.java
  12. 95 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasewarningcustomServiceImpl.java
  13. 8 11
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasewarningServiceImpl.java
  14. 63 11
      gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/WindturbinepointServiceImpl.java
  15. 2 2
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasefaultService.java
  16. 26 0
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasewarningcustomService.java
  17. 3 3
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasewarningService.java
  18. 6 5
      gyee-sample-impala/src/main/java/com/gyee/impala/service/master/WindturbinepointService.java
  19. 1 1
      gyee-sample-impala/src/main/resources/application.yaml
  20. 28 0
      gyee-sample-impala/src/main/resources/mapper/master/CasewarningcustomMapper.xml
  21. 3 5
      gyee-sample-impala/src/main/resources/mapper/master/CasewarningMapper.xml

+ 4 - 12
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/cases/CaseFaultController.java

@@ -76,12 +76,8 @@ public class CaseFaultController {
      */
     @PostMapping("/fault/edit")
     public JSONObject faultEdit(@RequestBody Casefault obj) {
-        boolean flag = casefaultService.editItem(obj);
-        if (flag) {
-            return JsonResult.success(ResultCode.SUCCESS);
-        }
-
-        return JsonResult.error(ResultCode.ERROR_DATA);
+        casefaultService.editItem(obj);
+        return JsonResult.success(ResultCode.SUCCESS);
     }
 
 
@@ -93,12 +89,8 @@ public class CaseFaultController {
      */
     @GetMapping("/fault/delete")
     public JSONObject faultDelete(String id) {
-        boolean flag = casefaultService.deleteItem(id);
-        if (flag) {
-            return JsonResult.success(ResultCode.SUCCESS);
-        }
-
-        return JsonResult.error(ResultCode.ERROR_DATA);
+        casefaultService.deleteItem(id);
+        return JsonResult.success(ResultCode.SUCCESS);
     }
 
 

+ 22 - 7
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/cases/CaseWarningController.java

@@ -3,8 +3,10 @@ package com.gyee.impala.controller.sample.cases;
 import com.alibaba.fastjson.JSONObject;
 import com.gyee.impala.common.result.JsonResult;
 import com.gyee.impala.common.result.ResultCode;
-import com.gyee.impala.model.master.Casewarning;
-import com.gyee.impala.service.master.CasewarningService;
+import com.gyee.impala.model.master.Casewarningcustom;
+import com.gyee.impala.model.master.Casewarningscada;
+import com.gyee.impala.service.master.CasewarningcustomService;
+import com.gyee.impala.service.master.CasewarningscadaService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -19,17 +21,30 @@ import java.util.List;
 public class CaseWarningController {
 
     @Autowired
-    private CasewarningService casewarningService;
+    private CasewarningscadaService scadaService;
+    @Autowired
+    private CasewarningcustomService customService;
+
+
+    /**
+     * 查询自定义报警
+     * @return
+     */
+    @GetMapping("/warning/custom/list")
+    public JSONObject warnCustomAll(String station, String wtId, String code, String st, String et) {
+        List<Casewarningcustom> list = customService.getAll(station, wtId, code, st, et);
+        return JsonResult.successData(ResultCode.SUCCESS, list);
+    }
 
 
     /**
-     * 批量新增
+     * 批量新增 scada 报警
      * @param list
      * @return
      */
-    @PostMapping("/warning/insert")
-    public JSONObject faultInsert(@RequestBody List<Casewarning> list) {
-        casewarningService.insertBatch(list);
+    @PostMapping("/warning/scada/insert")
+    public JSONObject faultInsert(@RequestBody List<Casewarningscada> list) {
+        scadaService.insertBatch(list);
         return JsonResult.success(ResultCode.SUCCESS);
     }
 

+ 4 - 4
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/BasicQueryController.java

@@ -39,10 +39,10 @@ public class BasicQueryController {
      * @return
      */
 //    @GetMapping("/tables/data")
-////    public JSONObject tableDataAll(String table){
-////        List<Object> list = tablePropService.listData(table);
-////        return JsonResult.successData(ResultCode.SUCCESS, list);
-////    }
+//    public JSONObject tableDataAll(String table){
+//        List<Object> list = tablePropService.listData(table);
+//        return JsonResult.successData(ResultCode.SUCCESS, list);
+//    }
 
 
     /**

+ 4 - 7
gyee-sample-impala/src/main/java/com/gyee/impala/controller/sample/know/WindturbinePointController.java

@@ -4,6 +4,7 @@ package com.gyee.impala.controller.sample.know;
 import com.alibaba.fastjson.JSONObject;
 import com.gyee.impala.common.result.JsonResult;
 import com.gyee.impala.common.result.ResultCode;
+import com.gyee.impala.model.master.Casefault;
 import com.gyee.impala.model.master.Windturbinepoint;
 import com.gyee.impala.service.custom.GoldenService;
 import com.gyee.impala.service.master.WindturbinepointService;
@@ -33,16 +34,12 @@ public class WindturbinePointController {
      *
      * @param wtId     风机ID  NG01_01
      * @param widget   部件code  clx
-     * @param wtId 风机编号
-     * @param widget 部件编码
+     * @param type     测点类型  AI/DI
      * @return
      */
     @GetMapping("/list")
-    public JSONObject pointAll(
-            @RequestParam(value = "wtId",required = false) String wtId,
-            @RequestParam(value = "widget",required = false) String widget
-    ) {
-        List<Windturbinepoint> list = windturbinepointService.getAll(wtId, widget);
+    public JSONObject pointAll(String wtId, String widget, String type) {
+        List<Windturbinepoint> list = windturbinepointService.getAll(wtId, widget, type);
         return JsonResult.successData(ResultCode.SUCCESS, list);
     }
 

+ 0 - 7
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningMapper.java

@@ -1,7 +0,0 @@
-package com.gyee.impala.mapper.master;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.gyee.impala.model.master.Casewarning;
-
-public interface CasewarningMapper extends BaseMapper<Casewarning> {
-}

+ 7 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningcustomMapper.java

@@ -0,0 +1,7 @@
+package com.gyee.impala.mapper.master;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.master.Casewarningcustom;
+
+public interface CasewarningcustomMapper extends BaseMapper<Casewarningcustom> {
+}

+ 7 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/mapper/master/CasewarningscadaMapper.java

@@ -0,0 +1,7 @@
+package com.gyee.impala.mapper.master;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.impala.model.master.Casewarningscada;
+
+public interface CasewarningscadaMapper extends BaseMapper<Casewarningscada> {
+}

+ 37 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/model/master/Casewarningcustom.java

@@ -0,0 +1,37 @@
+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("casewarningcustom")
+public class Casewarningcustom extends Model<Casewarningcustom> {
+
+    private static final long serialVersionUID = 1L;
+
+    private String id;
+    private String stationen;
+    private String windturbineid;
+    private String warntype;
+    private String warncode;
+    private String warndes;
+    private int count;
+    private double duration;
+    private String time;
+    private String model;
+    private String stationcn;
+    private String windturbinename;
+    private String remark;
+    private String category;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}

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

@@ -12,8 +12,8 @@ import java.io.Serializable;
 
 @Data
 @EqualsAndHashCode(callSuper = false)
-@TableName("casewarning")
-public class Casewarning extends Model<Caseperformance> implements ToData<Object> {
+@TableName("casewarningscada")
+public class Casewarningscada extends Model<Casewarningscada> implements ToData<Object> {
 
     private static final long serialVersionUID = 1L;
 
@@ -30,10 +30,8 @@ public class Casewarning extends Model<Caseperformance> implements ToData<Object
     private String lineid;
     private String stationcn;
     private String windturbinename;
-    private int tag;
     private String remark;
     private String category;
-    private String createtime;
 
     @Override
     protected Serializable pkVal() {
@@ -46,16 +44,12 @@ public class Casewarning extends Model<Caseperformance> implements ToData<Object
         if (obj == null)
             return null;
 
-        Casewarning warn = new Casewarning();
+        Casewarningscada warn = new Casewarningscada();
         warn.setId(String.valueOf(obj.getId()));
         warn.setStationcn(obj.getStationName());
         warn.setStationen(obj.getStationId());
         warn.setWindturbineid(obj.getWindturbineId());
         warn.setWindturbinename(obj.getWindturbineName());
-        if (obj.getCategory1().equalsIgnoreCase("windturbine"))
-            warn.setWarntype(InitialRunner.scadaWarnMap.get(obj.getCategory2().toUpperCase()));
-        if (obj.getCategory1().equalsIgnoreCase("custom"))
-            warn.setWarntype(InitialRunner.customWarnMap.get(obj.getCategory2().toUpperCase()));
         warn.setWarncode(obj.getCategory2());
         warn.setWarndes(obj.getAlertText());
         warn.setWarntime(obj.getAlertTime());
@@ -63,10 +57,8 @@ public class Casewarning extends Model<Caseperformance> implements ToData<Object
         warn.setModel(obj.getModelId());
         warn.setProjectid(obj.getProjectId());
         warn.setLineid(obj.getLineId());
-        warn.setTag(0);
         warn.setRemark(null);
         warn.setCategory(null);
-        warn.setCreatetime(null);
 
         return warn;
     }

+ 5 - 5
gyee-sample-impala/src/main/java/com/gyee/impala/service/custom/WarningService.java

@@ -6,7 +6,7 @@ import com.gyee.impala.common.feign.RemoteServiceBuilder;
 import com.gyee.impala.common.spring.InitialRunner;
 import com.gyee.impala.common.util.DateUtil;
 import com.gyee.impala.model.custom.AlertHistory;
-import com.gyee.impala.model.master.Casewarning;
+import com.gyee.impala.model.master.Casewarningscada;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +36,7 @@ public class WarningService {
             return null;
 
         List<Object> result = new ArrayList<>();
-        List<Casewarning> list = new ArrayList<>();
+        List<Casewarningscada> list = new ArrayList<>();
         Calendar cal = Calendar.getInstance();
 
         /**将时间按照天分开**/
@@ -63,7 +63,7 @@ public class WarningService {
                 ls.stream().forEach(obj -> {
                     if (StringUtils.isNotEmpty(obj.getCategory1()) && StringUtils.isNotEmpty(obj.getCategory2())
                         && obj.getAlertTime().compareTo(min) > 0 && obj.getAlertTime().compareTo(max) < 0){
-                        Casewarning warn = (Casewarning) new Casewarning().toData(obj);
+                        Casewarningscada warn = (Casewarningscada) new Casewarningscada().toData(obj);
                         list.add(warn);
                     }
                 });
@@ -74,9 +74,9 @@ public class WarningService {
         }
 
         /**按照报警类型分类**/
-        Map<String, List<Casewarning>> collect = list.stream().sorted(Comparator.comparing(Casewarning::getWarntime))
+        Map<String, List<Casewarningscada>> collect = list.stream().sorted(Comparator.comparing(Casewarningscada::getWarntime))
                 .filter(obj -> StringUtils.isNotEmpty(obj.getWarncode()))
-                .collect(Collectors.groupingBy(Casewarning::getWarncode));
+                .collect(Collectors.groupingBy(Casewarningscada::getWarncode));
         collect.forEach((k, v) -> {
             Map<String, Object> mp = new HashMap<>();
             mp.put("label", InitialRunner.scadaWarnMap.get(k.toUpperCase()));

+ 2 - 4
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasefaultServiceImpl.java

@@ -65,10 +65,9 @@ public class CasefaultServiceImpl extends ServiceImpl<CasefaultMapper, Casefault
 
 
     @Override
-    public boolean editItem(Casefault obj) {
+    public void editItem(Casefault obj) {
         try {
             baseMapper.updateById(obj);
-            return true;
         } catch (CustomException e) {
             log.error(e.getMessage());
             throw new CustomException(ResultCode.ERROR_DATA);
@@ -77,13 +76,12 @@ public class CasefaultServiceImpl extends ServiceImpl<CasefaultMapper, Casefault
 
 
     @Override
-    public boolean deleteItem(String id) {
+    public void deleteItem(String id) {
         QueryWrapper<Casefault> query = new QueryWrapper<>();
         query.eq("id", id);
 
         try {
             baseMapper.delete(query);
-            return true;
         } catch (CustomException e) {
             log.error(e.getMessage());
             throw new CustomException(ResultCode.ERROR_DATA);

+ 95 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasewarningcustomServiceImpl.java

@@ -0,0 +1,95 @@
+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.util.SnowFlakeUtil;
+import com.gyee.impala.mapper.master.CasewarningcustomMapper;
+import com.gyee.impala.model.master.Casewarningcustom;
+import com.gyee.impala.service.master.CasewarningcustomService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.kudu.client.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class CasewarningcustomServiceImpl extends ServiceImpl<CasewarningcustomMapper, Casewarningcustom> implements CasewarningcustomService {
+
+    @Autowired
+    private KuduDataSourceConfig kuduConfig;
+
+    @Override
+    public List<Casewarningcustom> getAll(String station, String wtId, String warnCode, String st, String et) {
+        ExcludeQueryWrapper<Casewarningcustom> wrapper = new ExcludeQueryWrapper<>();
+        wrapper.eq("stationen", station)
+                .eq("windturbineid", wtId)
+                .eq("warncode", warnCode)
+                .ge("time", st)
+                .le("time", et);
+        try{
+            return baseMapper.selectList(wrapper);
+        }catch (Exception e){
+            e.getMessage();
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    @Override
+    public void insertBatch(List<Casewarningcustom> list) {
+        try{
+            insert(list);
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new CustomException(ResultCode.ERROR_DATA);
+        }
+    }
+
+    /**
+     * 由于mybatis-plus存储的中文乱码
+     * 采用原生写法
+     * @param list
+     * @return
+     */
+    private void insert(List<Casewarningcustom> list) throws KuduException {
+        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.casewarningcustom");
+        KuduSession kuduSession = kuduConfig.kuduSession();
+        int i = 0;
+        for (Casewarningcustom boj : list){
+            Insert insert = kuduTable.newInsert();
+            // 获取Row对象,设置插入的值
+            PartialRow row = insert.getRow();
+            row.addObject("id", SnowFlakeUtil.generateId());
+            row.addObject("stationen", boj.getStationen());
+            row.addObject("stationcn", boj.getStationcn());
+            row.addObject("windturbineid", boj.getWindturbineid());
+            row.addObject("warntype", boj.getWarntype());
+            row.addObject("warncode", boj.getWarncode());
+            row.addObject("warndes", boj.getWarndes());
+            row.addObject("count", boj.getCount());
+            row.addObject("duration", boj.getDuration());
+            row.addObject("time", boj.getTime());
+            row.addObject("model", boj.getModel());
+            row.addObject("windturbinename", boj.getWindturbinename());
+            row.addObject("remark", boj.getRemark());
+            row.addObject("category", boj.getCategory());
+
+            // 先不提交kudu
+            kuduSession.apply(insert);
+            i ++;
+            if (i % kuduConfig.getCount() == 0)
+                kuduSession.flush(); //批量写入kudu
+        }
+
+        // 最后,补加一条批量写入
+        kuduSession.flush();
+
+        // 关闭和kudu的会话
+        kuduSession.close();
+    }
+}

+ 8 - 11
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/CasewarningServiceImpl.java

@@ -4,11 +4,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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.util.DateUtil;
 import com.gyee.impala.common.util.SnowFlakeUtil;
-import com.gyee.impala.mapper.master.CasewarningMapper;
-import com.gyee.impala.model.master.Casewarning;
-import com.gyee.impala.service.master.CasewarningService;
+import com.gyee.impala.mapper.master.CasewarningscadaMapper;
+import com.gyee.impala.model.master.Casewarningscada;
+import com.gyee.impala.service.master.CasewarningscadaService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.kudu.client.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -18,14 +17,14 @@ import java.util.List;
 
 @Slf4j
 @Service
-public class CasewarningServiceImpl extends ServiceImpl<CasewarningMapper, Casewarning> implements CasewarningService {
+public class CasewarningscadaServiceImpl extends ServiceImpl<CasewarningscadaMapper, Casewarningscada> implements CasewarningscadaService {
 
     @Autowired
     private KuduDataSourceConfig kuduConfig;
 
 
     @Override
-    public void insertBatch(List<Casewarning> list) {
+    public void insertBatch(List<Casewarningscada> list) {
         if (list == null || list.size() == 0)
             return;
 
@@ -44,16 +43,15 @@ public class CasewarningServiceImpl extends ServiceImpl<CasewarningMapper, Casew
      * @param list
      * @return
      */
-    private void insert(List<Casewarning> list) throws KuduException {
-        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.casewarning");
+    private void insert(List<Casewarningscada> list) throws KuduException {
+        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.casewarningscada");
         KuduSession kuduSession = kuduConfig.kuduSession();
         int i = 0;
-        for (Casewarning boj : list){
+        for (Casewarningscada boj : list){
             Insert insert = kuduTable.newInsert();
             // 获取Row对象,设置插入的值
             PartialRow row = insert.getRow();
             row.addObject("id", SnowFlakeUtil.generateId());
-            row.addObject("tag", 0);
             row.addObject("stationen", boj.getStationen());
             row.addObject("stationcn", boj.getStationcn());
             row.addObject("windturbineid", boj.getWindturbineid());
@@ -68,7 +66,6 @@ public class CasewarningServiceImpl extends ServiceImpl<CasewarningMapper, Casew
             row.addObject("windturbinename", boj.getWindturbinename());
             row.addObject("remark", boj.getRemark());
             row.addObject("category", boj.getCategory());
-            row.addObject("createtime", DateUtil.getCurrentDate());
 
             // 先不提交kudu
             kuduSession.apply(insert);

+ 63 - 11
gyee-sample-impala/src/main/java/com/gyee/impala/service/impl/master/WindturbinepointServiceImpl.java

@@ -2,12 +2,17 @@ package com.gyee.impala.service.impl.master;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.util.DateUtil;
+import com.gyee.impala.common.util.SnowFlakeUtil;
 import com.gyee.impala.model.master.Windturbinepoint;
 import com.gyee.impala.mapper.master.WindturbinepointMapper;
 import com.gyee.impala.service.master.WindturbinepointService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.kudu.client.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -26,14 +31,18 @@ import java.util.List;
 @Service
 public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMapper, Windturbinepoint> implements WindturbinepointService {
 
+    @Autowired
+    private KuduDataSourceConfig kuduConfig;
 
     @Cacheable(value = "windturbinepointall")
     @Override
-    public List<Windturbinepoint> getAll(String wtId, String widget) {
+    public List<Windturbinepoint> getAll(String wtId, String widget, String type) {
         try {
             ExcludeQueryWrapper<Windturbinepoint> wrapper = new ExcludeQueryWrapper<>();
             wrapper.eq("windturbineid", wtId)
-                    .eq("widgetcode", widget);
+                    .eq("widgetcode", widget)
+                    .eq("pointtype", type)
+                    .orderByAsc("point");
 
             List<Windturbinepoint> list = baseMapper.selectList(wrapper);
 
@@ -66,10 +75,9 @@ public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMap
     }
 
     @Override
-    public boolean editItem(Windturbinepoint obj) {
+    public void editItem(Windturbinepoint obj) {
         try {
             baseMapper.updateById(obj);
-            return true;
         } catch (CustomException e) {
             log.error(e.getMessage());
             throw new CustomException(ResultCode.ERROR_DATA);
@@ -77,24 +85,22 @@ public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMap
     }
 
     @Override
-    public boolean insertItem(Windturbinepoint obj) {
+    public void insertBatch(List<Windturbinepoint> list) {
         try {
-            baseMapper.insert(obj);
-            return true;
-        } catch (CustomException e) {
+            insert(list);
+        } catch (Exception e) {
             log.error(e.getMessage());
             throw new CustomException(ResultCode.ERROR_DATA);
         }
     }
 
     @Override
-    public boolean deleteItem(String id) {
+    public void deleteItem(String id) {
         QueryWrapper<Windturbinepoint> wrapper = new QueryWrapper<>();
         wrapper.eq("id", id);
 
         try {
             baseMapper.delete(wrapper);
-            return true;
         } catch (CustomException e) {
             log.error(e.getMessage());
             throw new CustomException(ResultCode.ERROR_DATA);
@@ -144,7 +150,7 @@ public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMap
             wrapper.eq("stationen", station)
                     .eq("windturbineid", wtId)
                     .in("uniformcode", uniformCode)
-            .orderByAsc("uniformcode");
+                    .orderByAsc("uniformcode");
 
             List<Windturbinepoint> list = baseMapper.selectList(wrapper);
 
@@ -173,4 +179,50 @@ public class WindturbinepointServiceImpl extends ServiceImpl<WindturbinepointMap
             throw new CustomException(ResultCode.ERROR_DATA);
         }
     }
+
+    /**
+     * 由于mybatis-plus存储的中文乱码
+     * 采用原生写法
+     * @param list
+     * @return
+     */
+    private void insert(List<Windturbinepoint> list) throws KuduException {
+        KuduTable kuduTable = kuduConfig.kuduClient.openTable("impala::gyee_sample_kudu.windturbinepoint");
+        KuduSession kuduSession = kuduConfig.kuduSession();
+        int i = 0;
+        for (Windturbinepoint obj : list){
+            Insert insert = kuduTable.newInsert();
+            // 获取Row对象,设置插入的值
+            PartialRow row = insert.getRow();
+            row.addObject("id", SnowFlakeUtil.generateId());
+            row.addObject("windturbineid", obj.getWindturbineid());
+            row.addObject("widget", obj.getWidget());
+            row.addObject("widgetcode", obj.getWidgetcode());
+            row.addObject("point", obj.getPoint());
+            row.addObject("pointdes", obj.getPointdes());
+            row.addObject("widget2", obj.getWidget2());
+            row.addObject("widgetcode2", obj.getWidgetcode2());
+            row.addObject("uniformcode", obj.getUniformcode());
+            row.addObject("windturbinename", obj.getWindturbinename());
+            row.addObject("model", obj.getModel());
+            row.addObject("pointtype", obj.getPointtype());
+            row.addObject("stationcn", obj.getStationcn());
+            row.addObject("stationen", obj.getStationen());
+            row.addObject("manufacturer", obj.getManufacturer());
+            row.addObject("remark", obj.getRemark());
+            row.addObject("category", obj.getCategory());
+
+            // 先不提交kudu
+            kuduSession.apply(insert);
+            i ++;
+            if (i % kuduConfig.getCount() == 0)
+                kuduSession.flush(); //批量写入kudu
+        }
+
+        // 最后,补加一条批量写入
+        kuduSession.flush();
+        // 关闭和kudu的会话
+        kuduSession.close();
+    }
+
 }

+ 2 - 2
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasefaultService.java

@@ -40,12 +40,12 @@ public interface CasefaultService extends IService<Casefault> {
      * @param obj
      * @return
      */
-    boolean editItem(Casefault obj);
+    void editItem(Casefault obj);
 
     /**
      * 通过id删除数据
      * @param id
      * @return
      */
-    boolean deleteItem(String id);
+    void deleteItem(String id);
 }

+ 26 - 0
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/CasewarningcustomService.java

@@ -0,0 +1,26 @@
+package com.gyee.impala.service.master;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.impala.model.master.Casewarningcustom;
+
+import java.util.List;
+
+public interface CasewarningcustomService extends IService<Casewarningcustom> {
+
+    /**
+     * 根据条件查询所有
+     * @param station
+     * @param wtId
+     * @param warnCode  报警部件code
+     * @param st   开始时间
+     * @param et   结束时间
+     * @return
+     */
+    List<Casewarningcustom> getAll(String station, String wtId, String warnCode, String st, String et);
+
+    /**
+     * 批量插入
+     * @param list
+     */
+    void insertBatch(List<Casewarningcustom> list);
+}

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

@@ -1,17 +1,17 @@
 package com.gyee.impala.service.master;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.gyee.impala.model.master.Casewarning;
+import com.gyee.impala.model.master.Casewarningscada;
 
 import java.util.List;
 
 
-public interface CasewarningService extends IService<Casewarning> {
+public interface CasewarningscadaService extends IService<Casewarningscada> {
 
     /**
      * 批量插入
      * @param list
      * @return
      */
-    void insertBatch(List<Casewarning> list);
+    void insertBatch(List<Casewarningscada> list);
 }

+ 6 - 5
gyee-sample-impala/src/main/java/com/gyee/impala/service/master/WindturbinepointService.java

@@ -20,9 +20,10 @@ public interface WindturbinepointService extends IService<Windturbinepoint> {
      *
      * @param wtId   风机编号
      * @param widget 部件代码
+     * @param type   测点类型 AI/DI
      * @return
      */
-    List<Windturbinepoint> getAll(String wtId, String widget);
+    List<Windturbinepoint> getAll(String wtId, String widget, String type);
 
     /**
      * 通过场站和统一编码查询测点
@@ -39,15 +40,15 @@ public interface WindturbinepointService extends IService<Windturbinepoint> {
      * @param obj
      * @return
      */
-    boolean editItem(Windturbinepoint obj);
+    void editItem(Windturbinepoint obj);
 
     /**
      * 新建数据
      *
-     * @param obj
+     * @param list
      * @return
      */
-    boolean insertItem(Windturbinepoint obj);
+    void insertBatch(List<Windturbinepoint> list);
 
     /**
      * 通过id删除数据
@@ -55,7 +56,7 @@ public interface WindturbinepointService extends IService<Windturbinepoint> {
      * @param id
      * @return
      */
-    boolean deleteItem(String id);
+    void deleteItem(String id);
 
 
     /**

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

@@ -34,7 +34,7 @@ spring:
       #kudu数据库
       master:
         driver-class-name: com.cloudera.impala.jdbc41.Driver
-        jdbc-url: jdbc:impala://192.168.1.62:21050/gyee_sample_kudu
+        jdbc-url: jdbc:impala://192.168.1.66:21050/gyee_sample_kudu
       #三区oracle数据库
       slave:
         jdbc-url: jdbc:oracle:thin:@192.168.1.105:1521:gdnxfd

+ 28 - 0
gyee-sample-impala/src/main/resources/mapper/master/CasewarningcustomMapper.xml

@@ -0,0 +1,28 @@
+<?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.CasewarningcustomMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.Casewarningcustom">
+        <id column="id" property="id" />
+        <result column="stationen" property="stationen" />
+        <result column="windturbineid" property="windturbineid" />
+        <result column="warntype" property="warntype" />
+        <result column="warncode" property="warncode" />
+        <result column="warndes" property="warndes" />
+        <result column="count" property="count" />
+        <result column="duration" property="duration" />
+        <result column="time" property="time" />
+        <result column="model" property="model" />
+        <result column="stationcn" property="stationcn" />
+        <result column="windturbinename" property="windturbinename" />
+        <result column="remark" property="remark" />
+        <result column="category" property="category" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, stationen, windturbineid, warntype, warncode, warndes, count, duration,time, model, stationcn, windturbinename, remark, category
+    </sql>
+
+</mapper>

+ 3 - 5
gyee-sample-impala/src/main/resources/mapper/master/CasewarningMapper.xml

@@ -1,9 +1,9 @@
 <?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.CasewarningMapper">
+<mapper namespace="com.gyee.impala.mapper.master.CasewarningscadaMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.Casewarning">
+    <resultMap id="BaseResultMap" type="com.gyee.impala.model.master.Casewarningscada">
         <id column="id" property="id" />
         <result column="stationen" property="stationen" />
         <result column="windturbineid" property="windturbineid" />
@@ -17,15 +17,13 @@
         <result column="lineid" property="lineid" />
         <result column="stationcn" property="stationcn" />
         <result column="windturbinename" property="windturbinename" />
-        <result column="tag" property="tag" />
         <result column="remark" property="remark" />
         <result column="category" property="category" />
-        <result column="createtime" property="createtime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, stationen, windturbineid, warntype, warncode, warndes, warntime, warnrank, model, projectid, lineid, stationcn, windturbinename, tag, remark, category, createtime
+        id, stationen, windturbineid, warntype, warncode, warndes, warntime, warnrank, model, projectid, lineid, stationcn, windturbinename, remark, category
     </sql>
 
 </mapper>