Bladeren bron

新增获取基础数据,如风场,风机,测点等

wangb@gyee-china.com 1 jaar geleden
bovenliggende
commit
d82eace5e6

+ 6 - 0
alarm-web/pom.xml

@@ -203,6 +203,12 @@
             <artifactId>swagger-models</artifactId>
             <version>1.5.21</version>
         </dependency>
+        <dependency>
+            <groupId>com.gyee</groupId>
+            <artifactId>alarm-service</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
 
 
     </dependencies>

+ 37 - 0
alarm-web/src/main/java/com/gyee/alarm/controller/InfoController.java

@@ -0,0 +1,37 @@
+package com.gyee.alarm.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.alarm.service.DeviceService;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@RestController
+@RequestMapping("/info")
+@CrossOrigin
+@Api(value = "获取基础数据,如风场,风机,测点等", tags = "获取基础数据,如风场,风机,测点等")
+public class InfoController {
+    @Resource
+    private DeviceService deviceService;
+
+    @GetMapping(value = "/point")
+    @ResponseBody
+    public JSONObject getPointList(@RequestParam(value = "deviceId", required = true) String deviceid,
+                                   @RequestParam(value = "structcode", required = false) String structCode,
+                                   @RequestParam(value = "stationId", required = true) String stationId,
+                                   @RequestParam(value = "windturbineId", required = true) String windturbineId,
+                                   @RequestParam(value = "pageSize", required = false) Integer pageSize,
+                                   @RequestParam(value = "pageNum", required = false) Integer pageNum
+    ) {
+
+        if (pageSize == null || pageSize == 0)
+            pageSize = 100;
+        if (pageNum == null || pageNum == 0)
+            pageNum = 1;
+        JSONObject testingPoint = deviceService.getTestingPointByStructCode(deviceid, structCode, windturbineId, pageSize, pageNum);
+        return testingPoint;
+    }
+}

+ 70 - 0
alarm-web/src/main/java/com/gyee/alarm/init/Cache/PointUnitCache.java

@@ -0,0 +1,70 @@
+package com.gyee.alarm.init.Cache;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.google.common.collect.Lists;
+import com.gyee.alarm.mapper.auto.ProBasicDeviceMetricsMapper;
+import com.gyee.alarm.mapper.auto.ProBasicDeviceModelMetricsMapper;
+import com.gyee.alarm.model.auto.ProBasicDeviceMetrics;
+import com.gyee.alarm.model.auto.ProBasicDeviceModelMetrics;
+import com.gyee.alarm.service.auto.impl.ProBasicDeviceModelMetricsServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Component
+public class PointUnitCache {
+    @Resource
+    private ProBasicDeviceMetricsMapper proBasicDeviceMetricsMapper;
+
+    @Resource
+    private ProBasicDeviceModelMetricsServiceImpl proBasicDeviceModelMetricsService;
+
+    //key1=风机型号,valye1=测点集合,key2为测点统一编码,value2 DeviceMetrics
+    private Map<String, Map<String, ProBasicDeviceMetrics>> modelMap = new HashMap<>();
+
+    public Map<String, ProBasicDeviceMetrics> getMapByModel(String model) {
+        if (modelMap.size() <= 0) {
+
+            //获取所有风机型号以及统一编码
+            List<ProBasicDeviceModelMetrics> modelList = proBasicDeviceModelMetricsService.getAll();
+            //根据风机型号分组
+            Map<String, List<ProBasicDeviceModelMetrics>> collect = modelList.stream().collect(Collectors.groupingBy(ProBasicDeviceModelMetrics::getDeviceModel));
+            for (String key :
+                    collect.keySet()) {
+                List<String> metricCodeList = collect.get(key).stream().map(s -> s.getMetricCode()).collect(Collectors.toList());
+
+                List<List<String>> partition = Lists.partition(metricCodeList, 800);
+                List<ProBasicDeviceMetrics> list=new ArrayList<>();
+                for (List<String> codeList:
+                        partition) {
+                    QueryWrapper wrapper = new QueryWrapper<ProBasicDeviceMetrics>();
+                    wrapper.in("METRICCODE", codeList);
+                    list.addAll(proBasicDeviceMetricsMapper.selectList(wrapper))  ;
+
+                }
+
+                Map<String, ProBasicDeviceMetrics> metricsMap = new HashMap<>();
+                for (ProBasicDeviceModelMetrics metrics :
+                        collect.get(key)) {
+
+                    Optional<ProBasicDeviceMetrics> first = list.stream().filter(s -> s.getMetricCode().equals(metrics.getMetricCode())).findFirst();
+                    if (first.isPresent())
+                        metricsMap.put(metrics.getUniformCode(), first.get());
+
+                }
+                if (!modelMap.containsKey(key))
+                    modelMap.put(key, metricsMap);
+            }
+
+        }
+
+        if (modelMap.containsKey(model))
+            return modelMap.get(model);
+        else
+            return null;
+
+    }
+}

+ 44 - 0
alarm-web/src/main/java/com/gyee/alarm/init/Cache/WindturbineCache.java

@@ -0,0 +1,44 @@
+package com.gyee.alarm.init.Cache;
+
+import com.gyee.alarm.model.auto.ProBasicEquipment;
+import com.gyee.alarm.service.auto.impl.ProBasicEquipmentServiceImpl;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+@Component
+public class WindturbineCache {
+
+    @Resource
+    private ProBasicEquipmentServiceImpl proBasicEquipmentService;
+
+    private List<ProBasicEquipment> windturbineList=new ArrayList<>();
+
+
+    private void initWindturbineList(){
+        List<ProBasicEquipment> windturbines = proBasicEquipmentService.windturbineList();
+
+        windturbineList=windturbines;
+    }
+
+    public List<ProBasicEquipment> getWindturbineList(){
+        if(windturbineList.size()<=0)
+            initWindturbineList();
+        return this.windturbineList;
+    }
+
+    public ProBasicEquipment getWindturbine(String windturbineId){
+        if(windturbineList.size()<=0)
+            initWindturbineList();
+
+        Optional<ProBasicEquipment> first = windturbineList.stream().filter(s -> s.getId().equals(windturbineId)).findFirst();
+
+        if(first.isPresent())
+            return first.get();
+        else
+            return  null;
+    }
+}

+ 236 - 0
alarm-web/src/main/java/com/gyee/alarm/service/DeviceService.java

@@ -0,0 +1,236 @@
+package com.gyee.alarm.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.google.common.collect.Lists;
+import com.gyee.alarm.init.Cache.PointUnitCache;
+import com.gyee.alarm.init.Cache.WindturbineCache;
+import com.gyee.alarm.mapper.auto.ProBasicDeviceMetricsMapper;
+import com.gyee.alarm.mapper.auto.ProBasicDeviceModelMetricsMapper;
+import com.gyee.alarm.mapper.auto.ProBasicEquipmentPointMapper;
+import com.gyee.alarm.model.auto.ProBasicDeviceMetrics;
+import com.gyee.alarm.model.auto.ProBasicDeviceModelMetrics;
+import com.gyee.alarm.model.auto.ProBasicEquipment;
+import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
+import com.gyee.alarm.service.auto.impl.ProBasicDeviceMetricsServiceImpl;
+import com.gyee.alarm.service.auto.impl.ProBasicDeviceModelMetricsServiceImpl;
+import com.gyee.alarm.service.auto.impl.ProBasicEquipmentPointServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 设备管理相关数据服务
+ */
+@Service
+@Slf4j
+public class DeviceService {
+    @Resource
+    private WindturbineCache windturbineCache;
+
+    @Resource
+    private ProBasicDeviceMetricsServiceImpl proBasicDeviceMetricsService;
+
+    @Resource
+    private ProBasicDeviceModelMetricsServiceImpl proBasicDeviceModelMetricsService;
+
+    @Resource
+    private ProBasicEquipmentPointServiceImpl proBasicEquipmentPointService;
+
+    @Resource
+    private PointUnitCache pointUnitCache;
+
+    public JSONObject getTestingPointByStructCode(String deviceId, String structCode, String windturbineId, int pageSize, int pageNum) {
+        JSONObject resultObject = new JSONObject();
+        List<JSONObject> jsonArrayList = new ArrayList<>();
+        String modelId = "";
+        ProBasicEquipment windturbine = windturbineCache.getWindturbine(windturbineId);
+        if (windturbine != null)
+            modelId = windturbine.getModelId();
+
+        if (StringUtils.isNotBlank(structCode)) {
+            List<ProBasicDeviceMetrics> metricsList = proBasicDeviceMetricsService.getDeviceMetricsByStructureCode(deviceId, structCode);
+
+            List<String> collect = metricsList.stream().map(s -> s.getMetricCode()).collect(Collectors.toList());
+
+            if (collect.size() > 0) {
+                List<ProBasicDeviceModelMetrics> deviceModelMetricsList = proBasicDeviceModelMetricsService.getDeviceModelMetrics(collect, modelId);
+                List<String> uniformcodeList = deviceModelMetricsList.stream().map(s -> s.getUniformCode()).collect(Collectors.toList());
+
+                List<String> uniformcodeList_AI = uniformcodeList.stream().filter(s -> s.toUpperCase().contains("AI")).collect(Collectors.toList());
+                List<String> uniformcodeList_DI = uniformcodeList.stream().filter(s -> s.toUpperCase().contains("DI")).collect(Collectors.toList());
+
+                List<ProBasicEquipmentPoint> testingPointAIS = new ArrayList<>();
+                if (uniformcodeList_AI.size() > 0)
+                    testingPointAIS = proBasicEquipmentPointService.getPointListAI(windturbineId, uniformcodeList_AI);
+                List<ProBasicEquipmentPoint> testingPointDIS = new ArrayList<>();
+                if (uniformcodeList_DI.size() > 0)
+                    testingPointDIS = proBasicEquipmentPointService.getPointListDI(windturbineId, uniformcodeList_DI);
+
+                Map<String, ProBasicDeviceMetrics> mapByModel = pointUnitCache.getMapByModel(modelId);
+
+                List<JSONObject> array_ai = new ArrayList<>();
+                List<JSONObject> array_di = new ArrayList<>();
+                for (ProBasicEquipmentPoint ai :
+                        testingPointAIS) {
+
+                    if(ai.getUniformCode()==null||!ai.getUniformCode().toUpperCase().startsWith("AI"))
+                        continue;
+                    JSONObject obj = new JSONObject();
+
+                    obj.put("englishName", ai.getEnglishName());
+                    obj.put("modelId", ai.getModelId());
+                    obj.put("name", ai.getName());
+                    obj.put("valueUnit", ai.getValueUnit());
+                    obj.put("model", ai.getModel());
+                    obj.put("typeId", ai.getTypeId());
+                    obj.put("id", ai.getId());
+                    obj.put("uniformCode", ai.getUniformCode());
+
+
+                    String unitName = "";
+                    String unitNameCn = "";
+                    if (mapByModel != null) {
+                        if (mapByModel.containsKey(ai.getUniformCode())) {
+                            unitName = mapByModel.get(ai.getUniformCode()).getUnitName();
+                            unitNameCn = mapByModel.get(ai.getUniformCode()).getUnitNamecn();
+                        }
+                    }
+                    obj.put("unitName", unitName);
+                    obj.put("unitNameCn", unitNameCn);
+                    array_ai.add(obj);
+
+                }
+
+                for (ProBasicEquipmentPoint di :
+                        testingPointDIS) {
+                    if(di.getUniformCode()==null||!di.getUniformCode().toUpperCase().startsWith("DI"))
+                        continue;
+                    JSONObject obj = new JSONObject();
+
+                    obj.put("englishName", di.getEnglishName());
+                    obj.put("modelId", di.getModelId());
+                    obj.put("name", di.getName());
+                    obj.put("valueUnit", di.getValueUnit());
+                    obj.put("model", di.getModel());
+                    obj.put("typeId", di.getTypeId());
+                    obj.put("id", di.getId());
+                    obj.put("uniformCode", di.getUniformCode());
+                    String unitName = "";
+                    String unitNameCn = "";
+                    if (mapByModel != null) {
+                        if (mapByModel.containsKey(di.getUniformCode())) {
+                            unitName = mapByModel.get(di.getUniformCode()).getUnitName();
+                            unitNameCn = mapByModel.get(di.getUniformCode()).getUnitNamecn();
+                        }
+                    }
+                    obj.put("unitName", unitName);
+                    obj.put("unitNameCn", unitNameCn);
+                    array_di.add(obj);
+
+                }
+
+                jsonArrayList.addAll(array_ai);
+                jsonArrayList.addAll(array_di);
+
+                List<List<JSONObject>> partition = Lists.partition(jsonArrayList, pageSize);
+
+                if (partition.size() > 0)
+                    resultObject.put("records", partition.get(pageNum - 1));
+                else
+                    resultObject.put("records", new ArrayList<>());
+                resultObject.put("total", jsonArrayList.size());
+                resultObject.put("pages", partition.size());
+                resultObject.put("current", pageNum);
+
+            }
+        } else {
+
+            List<ProBasicEquipmentPoint> aiPointList = proBasicEquipmentPointService.getPointListAI(windturbineId, new ArrayList<>());
+            List<ProBasicEquipmentPoint> diPointList = proBasicEquipmentPointService.getPointListDI(windturbineId, new ArrayList<>());
+
+            Map<String, ProBasicDeviceMetrics> mapByModel = pointUnitCache.getMapByModel(modelId);
+
+            List<JSONObject> array_ai = new ArrayList<>();
+            List<JSONObject> array_di = new ArrayList<>();
+            for (ProBasicEquipmentPoint ai :
+                    aiPointList) {
+                if(ai.getUniformCode()==null||!ai.getUniformCode().toUpperCase().startsWith("AI"))
+                    continue;
+                JSONObject obj = new JSONObject();
+                obj.put("englishName", ai.getEnglishName());
+                obj.put("modelId", ai.getModelId());
+                obj.put("name", ai.getName());
+                obj.put("valueUnit", ai.getValueUnit());
+                obj.put("model", ai.getModel());
+                obj.put("typeId", ai.getTypeId());
+                obj.put("id", ai.getId());
+                obj.put("uniformCode", ai.getUniformCode());
+                String unitName = "";
+                String unitNameCn = "";
+                if (mapByModel != null) {
+                    if (mapByModel.containsKey(ai.getUniformCode())) {
+                        unitName = mapByModel.get(ai.getUniformCode()).getUnitName();
+                        unitNameCn = mapByModel.get(ai.getUniformCode()).getUnitNamecn();
+                    }
+                }
+
+                obj.put("unitName", unitName);
+                obj.put("unitNameCn", unitNameCn);
+                array_ai.add(obj);
+
+            }
+
+            for (ProBasicEquipmentPoint di :
+                    diPointList) {
+                if(di.getUniformCode()==null||!di.getUniformCode().toUpperCase().startsWith("DI"))
+                    continue;
+                JSONObject obj = new JSONObject();
+                obj.put("englishName", di.getEnglishName());
+                obj.put("modelId", di.getModelId());
+                obj.put("name", di.getName());
+                obj.put("valueUnit", di.getValueUnit());
+                obj.put("model", di.getModel());
+                obj.put("typeId", di.getTypeId());
+                obj.put("id", di.getId());
+                obj.put("uniformCode", di.getUniformCode());
+
+                String unitName = "";
+                String unitNameCn = "";
+                if (mapByModel != null) {
+                    if (mapByModel.containsKey(di.getUniformCode())) {
+                        unitName = mapByModel.get(di.getUniformCode()).getUnitName();
+                        unitNameCn = mapByModel.get(di.getUniformCode()).getUnitNamecn();
+                    }
+                }
+
+                obj.put("unitName", unitName);
+                obj.put("unitNameCn", unitNameCn);
+                array_di.add(obj);
+
+            }
+            jsonArrayList.addAll(array_ai);
+            jsonArrayList.addAll(array_di);
+
+            List<List<JSONObject>> partition = Lists.partition(jsonArrayList, pageSize);
+
+            if (partition.size() > 0)
+                resultObject.put("records", partition.get(pageNum - 1));
+            else
+                resultObject.put("records", new ArrayList<>());
+            resultObject.put("total", jsonArrayList.size());
+            resultObject.put("pages", partition.size());
+            resultObject.put("current", pageNum);
+        }
+        return resultObject;
+
+
+    }
+
+}

+ 3 - 1
alarm-web/src/main/java/com/gyee/alarm/service/auto/IProBasicDeviceMetricsService.java

@@ -3,6 +3,8 @@ package com.gyee.alarm.service.auto;
 import com.gyee.alarm.model.auto.ProBasicDeviceMetrics;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 设备指标 服务类
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-08-01
  */
 public interface IProBasicDeviceMetricsService extends IService<ProBasicDeviceMetrics> {
-
+    List<ProBasicDeviceMetrics> getDeviceMetricsByStructureCode(String deviceId, String structCode);
 }

+ 5 - 0
alarm-web/src/main/java/com/gyee/alarm/service/auto/IProBasicDeviceModelMetricsService.java

@@ -2,6 +2,9 @@ package com.gyee.alarm.service.auto;
 
 import com.gyee.alarm.model.auto.ProBasicDeviceModelMetrics;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-08-01
  */
 public interface IProBasicDeviceModelMetricsService extends IService<ProBasicDeviceModelMetrics> {
+    List<ProBasicDeviceModelMetrics> getDeviceModelMetrics(List<String> collect,String modelId);
+    List<ProBasicDeviceModelMetrics> getAll();
 
 }

+ 4 - 1
alarm-web/src/main/java/com/gyee/alarm/service/auto/IProBasicEquipmentPointService.java

@@ -3,6 +3,8 @@ package com.gyee.alarm.service.auto;
 import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 设备测点 服务类
@@ -12,5 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2022-10-31
  */
 public interface IProBasicEquipmentPointService extends IService<ProBasicEquipmentPoint> {
-
+    List<ProBasicEquipmentPoint> getPointListAI(String windturbineId,List<String> uniformCodeList);
+    List<ProBasicEquipmentPoint> getPointListDI(String windturbineId,List<String> uniformCodeList);
 }

+ 3 - 1
alarm-web/src/main/java/com/gyee/alarm/service/auto/IProBasicEquipmentService.java

@@ -3,6 +3,8 @@ package com.gyee.alarm.service.auto;
 import com.gyee.alarm.model.auto.ProBasicEquipment;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 风机&光伏 服务类
@@ -12,5 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2022-10-31
  */
 public interface IProBasicEquipmentService extends IService<ProBasicEquipment> {
-
+    List<ProBasicEquipment> windturbineList();
 }

+ 19 - 0
alarm-web/src/main/java/com/gyee/alarm/service/auto/impl/ProBasicDeviceMetricsServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.alarm.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.gyee.alarm.model.auto.ProBasicDeviceMetrics;
 import com.gyee.alarm.mapper.auto.ProBasicDeviceMetricsMapper;
+import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
 import com.gyee.alarm.service.auto.IProBasicDeviceMetricsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.common.model.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 设备指标 服务实现类
@@ -17,4 +22,18 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProBasicDeviceMetricsServiceImpl extends ServiceImpl<ProBasicDeviceMetricsMapper, ProBasicDeviceMetrics> implements IProBasicDeviceMetricsService {
 
+    @Override
+    public List<ProBasicDeviceMetrics> getDeviceMetricsByStructureCode(String deviceId, String structCode) {
+        QueryWrapper<ProBasicDeviceMetrics> qw = new QueryWrapper<>();
+
+
+        if (StringUtils.isNotEmpty(deviceId)) {
+            qw.like("deviceiD", deviceId);
+        }
+        if (StringUtils.isNotEmpty(structCode)) {
+            qw.like("structureCode", structCode);
+        }
+            List<ProBasicDeviceMetrics> list = baseMapper.selectList(qw);
+            return list;
+    }
 }

+ 24 - 0
alarm-web/src/main/java/com/gyee/alarm/service/auto/impl/ProBasicDeviceModelMetricsServiceImpl.java

@@ -1,11 +1,16 @@
 package com.gyee.alarm.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.gyee.alarm.model.auto.ProBasicDeviceModelMetrics;
 import com.gyee.alarm.mapper.auto.ProBasicDeviceModelMetricsMapper;
+import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
 import com.gyee.alarm.service.auto.IProBasicDeviceModelMetricsService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.common.model.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 设备模型指标 服务实现类
@@ -17,4 +22,23 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProBasicDeviceModelMetricsServiceImpl extends ServiceImpl<ProBasicDeviceModelMetricsMapper, ProBasicDeviceModelMetrics> implements IProBasicDeviceModelMetricsService {
 
+    @Override
+    public List<ProBasicDeviceModelMetrics> getDeviceModelMetrics(List<String> collect, String modelId) {
+        QueryWrapper<ProBasicDeviceModelMetrics> qw = new QueryWrapper<>();
+
+        if (StringUtils.isNotEmpty(modelId)){
+            qw.like("device_model",modelId);
+        }
+        if (collect != null && !collect.isEmpty()) {
+            qw.in("uniform_code", collect);
+        }
+        List<ProBasicDeviceModelMetrics> list = baseMapper.selectList(qw);
+        return list;
+    }
+
+    @Override
+    public List<ProBasicDeviceModelMetrics> getAll() {
+        List<ProBasicDeviceModelMetrics> list = baseMapper.selectList(null);
+        return list;
+    }
 }

+ 33 - 0
alarm-web/src/main/java/com/gyee/alarm/service/auto/impl/ProBasicEquipmentPointServiceImpl.java

@@ -1,11 +1,17 @@
 package com.gyee.alarm.service.auto.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.alarm.model.auto.ProBasicEquipment;
 import com.gyee.alarm.model.auto.ProBasicEquipmentPoint;
 import com.gyee.alarm.mapper.auto.ProBasicEquipmentPointMapper;
+import com.gyee.alarm.model.auto.ProBasicProject;
 import com.gyee.alarm.service.auto.IProBasicEquipmentPointService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.common.model.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 设备测点 服务实现类
@@ -17,4 +23,31 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProBasicEquipmentPointServiceImpl extends ServiceImpl<ProBasicEquipmentPointMapper, ProBasicEquipmentPoint> implements IProBasicEquipmentPointService {
 
+    @Override
+    public List<ProBasicEquipmentPoint> getPointListAI(String windturbineId, List<String> uniformcodeList_AI) {
+        QueryWrapper<ProBasicEquipmentPoint> qw = new QueryWrapper<>();
+
+        if (StringUtils.isNotEmpty(windturbineId)){
+            qw.like("windturbine_id",windturbineId);
+        }
+        if (uniformcodeList_AI != null && !uniformcodeList_AI.isEmpty()) {
+            qw.in("uniform_code", uniformcodeList_AI);
+        }
+        List<ProBasicEquipmentPoint> list = baseMapper.selectList(qw);
+        return list;
+    }
+
+    @Override
+    public List<ProBasicEquipmentPoint> getPointListDI(String windturbineId, List<String> uniformcodeList_AI) {
+        QueryWrapper<ProBasicEquipmentPoint> qw = new QueryWrapper<>();
+
+        if (StringUtils.isNotEmpty(windturbineId)){
+            qw.like("windturbine_id",windturbineId);
+        }
+        if (uniformcodeList_AI != null && !uniformcodeList_AI.isEmpty()) {
+            qw.in("uniform_code", uniformcodeList_AI);
+        }
+        List<ProBasicEquipmentPoint> list = baseMapper.selectList(qw);
+        return list;
+    }
 }

+ 8 - 0
alarm-web/src/main/java/com/gyee/alarm/service/auto/impl/ProBasicEquipmentServiceImpl.java

@@ -2,10 +2,13 @@ package com.gyee.alarm.service.auto.impl;
 
 import com.gyee.alarm.model.auto.ProBasicEquipment;
 import com.gyee.alarm.mapper.auto.ProBasicEquipmentMapper;
+import com.gyee.alarm.model.auto.ProBasicProject;
 import com.gyee.alarm.service.auto.IProBasicEquipmentService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 风机&光伏 服务实现类
@@ -17,4 +20,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class ProBasicEquipmentServiceImpl extends ServiceImpl<ProBasicEquipmentMapper, ProBasicEquipment> implements IProBasicEquipmentService {
 
+    @Override
+    public List<ProBasicEquipment> windturbineList() {
+        List<ProBasicEquipment> list = baseMapper.selectList(null);
+        return list;
+    }
 }