Browse Source

驾驶舱异常数设置

chenhongyan1989 1 year ago
parent
commit
fa65d44002
16 changed files with 296 additions and 26 deletions
  1. 48 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/analysis/AnalysisOptionRecordsPo.java
  2. 2 2
      energy-manage-common/src/main/java/com/energy/manage/common/util/HttpUtils.java
  3. 1 1
      energy-manage-service/src/main/java/com/energy/manage/service/config/xxl/XxlJobConfig.java
  4. 13 3
      energy-manage-service/src/main/java/com/energy/manage/service/controller/homepage/HomePageController.java
  5. 15 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/analysis/AnalysisOptionRecordsDto.java
  6. 15 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisOptionRecordsVo.java
  7. 10 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windexceptioncount/WindExceptionCountVo.java
  8. 21 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisOptionRecordsMapper.java
  9. 57 3
      energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java
  10. 7 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/analysiscomment/impl/AnalysisCommentServiceImpl.java
  11. 17 1
      energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/HomePageService.java
  12. 55 11
      energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/impl/HomePageServiceImpl.java
  13. 2 2
      energy-manage-service/src/main/java/com/energy/manage/service/test/TestJson.java
  14. 1 1
      energy-manage-service/src/main/resources/bootstrap.properties
  15. 26 0
      energy-manage-service/src/main/resources/mybatis/analysis/AnalysisOptionRecordsMapper.xml
  16. 6 2
      energy-manage-service/src/main/resources/mybatis/windexceptioncount/WindExceptionCountMapper.xml

+ 48 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/analysis/AnalysisOptionRecordsPo.java

@@ -0,0 +1,48 @@
+package com.energy.manage.common.po.analysis;
+
+/**
+ * 分析操作记录
+ * @author chy
+ * @date 2024/6/15 14:08
+ * @desc
+ */
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+
+@Data
+@Accessors(chain = true)
+public class AnalysisOptionRecordsPo {
+
+    private Long id;
+
+    /**
+     * 操作内容
+     */
+    private String optionContent;
+
+    /**
+     * 操作人id
+     */
+    private Integer optionBy;
+
+    /**
+     * 操作人名称
+     */
+    private String optionByName;
+
+    /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date createTime;
+}

+ 2 - 2
energy-manage-common/src/main/java/com/energy/manage/common/util/HttpUtils.java

@@ -38,13 +38,13 @@ public class HttpUtils {
      * @param params
      * @return
      */
-    public static String doPost(String url, Map<String,Object> params){
+    public static String doPost(String url, String params){
         // 创建POST请求
         HttpRequest request = HttpUtil.createPost(url);
         // 设置请求头Content-Type为application/json
         request.header("Content-Type", "application/json");
         // 执行请求
-        return request.body(params.toString()).execute().body();
+        return request.body(params).execute().body();
     }
 
     public static void main(String[] args) {

+ 1 - 1
energy-manage-service/src/main/java/com/energy/manage/service/config/xxl/XxlJobConfig.java

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
 /**
  * @Description: xxlJob配置
  */
-@Configuration
+//@Configuration
 @Slf4j
 public class XxlJobConfig {
 

+ 13 - 3
energy-manage-service/src/main/java/com/energy/manage/service/controller/homepage/HomePageController.java

@@ -23,9 +23,19 @@ public class HomePageController extends BaseServiceController {
     private HomePageService homePageService;
 
     @ApiOperation("驾驶舱首页查询")
-    @GetMapping("/query")
-    public ResultResp query(@RequestParam("codeNumber") String codeNumber,
+    @GetMapping("/queryStatistics")
+    public ResultResp queryStatistics(@RequestParam("codeNumber") String codeNumber,
                             @RequestParam("codeType") String codeType){
-        return success(homePageService.query(codeNumber,codeType));
+        return success(homePageService.queryStatistics(codeNumber,codeType));
     }
+
+
+    @ApiOperation("驾驶舱首页查询操作记录")
+    @GetMapping("/queryOptionRecords")
+    public ResultResp queryOptionRecords(@RequestParam("codeNumber") String codeNumber,
+                            @RequestParam("codeType") String codeType){
+        return success(homePageService.queryOptionRecords(codeNumber,codeType));
+    }
+
+
 }

+ 15 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/analysis/AnalysisOptionRecordsDto.java

@@ -0,0 +1,15 @@
+package com.energy.manage.service.domain.dto.analysis;
+
+import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author chy
+ * @date 2024/6/15 15:16
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class AnalysisOptionRecordsDto extends AnalysisOptionRecordsPo {
+}

+ 15 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisOptionRecordsVo.java

@@ -0,0 +1,15 @@
+package com.energy.manage.service.domain.vo.analysis;
+
+import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author chy
+ * @date 2024/6/15 14:13
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class AnalysisOptionRecordsVo extends AnalysisOptionRecordsPo {
+}

+ 10 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windexceptioncount/WindExceptionCountVo.java

@@ -19,6 +19,16 @@ public class WindExceptionCountVo {
     private Long id;
 
     /**
+     * 风场编号
+     */
+    private String fieldCode;
+
+    /**
+     * 风场名称
+     */
+    private String fieldName;
+
+    /**
      * 批次号
      */
     private String batchCode;

+ 21 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisOptionRecordsMapper.java

@@ -0,0 +1,21 @@
+package com.energy.manage.service.mappers.analysis;
+
+import com.energy.manage.common.mapper.MyMapper;
+import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
+import com.energy.manage.service.domain.vo.analysis.AnalysisOptionRecordsVo;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/6/15 14:15
+ * @desc
+ */
+@Repository
+public interface AnalysisOptionRecordsMapper extends MyMapper<AnalysisOptionRecordsPo> {
+
+
+    List<AnalysisOptionRecordsVo> selectAllByTimeDesc(@Param("fieldCodes") List<String> fieldCodes);
+}

+ 57 - 3
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -1,16 +1,21 @@
 package com.energy.manage.service.service.analysis.impl;
 
-import com.alibaba.fastjson.JSONObject;
+import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
 import com.energy.manage.common.reponse.ConstVar;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.common.util.HttpUtils;
 import com.energy.manage.service.constant.analysis.AnalysisConstants;
 import com.energy.manage.service.domain.dto.analysis.AnalysisDto;
 import com.energy.manage.service.domain.dto.analysis.AnalysisResultDto;
+import com.energy.manage.service.domain.dto.windfieldbatch.WindFieldBatchDto;
 import com.energy.manage.service.domain.vo.analysis.*;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupVo;
+import com.energy.manage.service.domain.vo.windfieldbatch.WindFieldBatchVo;
+import com.energy.manage.service.filter.LoginUser;
+import com.energy.manage.service.filter.LoginUserContextHolder;
 import com.energy.manage.service.mappers.analysis.*;
 import com.energy.manage.service.mappers.windenginegroup.WindEngineGroupMapper;
+import com.energy.manage.service.mappers.windfieldbatch.WindFieldBatchMapper;
 import com.energy.manage.service.property.analysis.AlgorithmProperties;
 import com.energy.manage.service.service.analysis.AnalysisService;
 import com.energy.manage.service.util.BeanMapUtils;
@@ -66,6 +71,17 @@ public class AnalysisServiceImpl implements AnalysisService {
     @Autowired
     private WindEngineGroupMapper windEngineGroupMapper;
 
+
+    private static AnalysisOptionRecordsMapper optionRecordsMapper;
+
+
+    private static WindFieldBatchMapper windFieldBatchMapper;
+
+    /**
+     * 操作内容
+     */
+    private static final String OPTION_CONTENT = "手动分析";
+
     private static ObjectMapper mapper = new ObjectMapper();
 
     /**
@@ -98,10 +114,15 @@ public class AnalysisServiceImpl implements AnalysisService {
             JsonNode rootNode = mapper.readTree(AlgorithmProperties.analysisJson);
             //将入参analysisDto转换为算法标准json
             dataProccess(analysisDto,rootNode);
-            log.info("调用分析算法之前,将入参analysisDto转换为算法标准json = {}" + rootNode.toString());
+            log.info("调用分析算法之前,将入参analysisDto转换为算法标准json = {}" , mapper.writeValueAsString(rootNode));
+            System.out.println("json入参:" + mapper.writeValueAsString(rootNode));
             //调用算法
-            String result = HttpUtils.doPost(AlgorithmProperties.analysisUrl,mapper.convertValue(rootNode, Map.class));
+            String result = HttpUtils.doPost(AlgorithmProperties.analysisUrl,mapper.writeValueAsString(rootNode));
             log.info("调用算法分析返回结果:{}",result);
+            //手动操作进行操作记录添加
+            if(analysisDto.getAutoOrManual().equals(AnalysisConstants.MANUAL_ANALYSIS)){
+                addOptionRecords(analysisDto.getPowerFarmID(),null,OPTION_CONTENT);
+            }
             return ResultResp.SUCCESS();
         } catch (JsonProcessingException e) {
             log.error("批次号 = {} 手动分析异常",analysisDto.getDataBatchNum(),e);
@@ -425,6 +446,29 @@ public class AnalysisServiceImpl implements AnalysisService {
     }
 
     /**
+     * 操作记录
+     * @param fieldCode
+     */
+    public static void addOptionRecords(String fieldCode,String batchCode,String optionContent){
+        try{
+            if(StringUtils.isBlank(fieldCode)){
+                WindFieldBatchVo windFieldBatchVo = windFieldBatchMapper.selectByBatchCode(batchCode);
+                fieldCode = windFieldBatchVo.getFieldCode();
+            }
+            AnalysisOptionRecordsPo optionRecordsPo = new AnalysisOptionRecordsPo();
+            LoginUser user = LoginUserContextHolder.get();
+            optionRecordsPo.setOptionBy(user.getUserId());
+            optionRecordsPo.setOptionByName(user.getUserName());
+            optionRecordsPo.setOptionContent(optionContent);
+            optionRecordsPo.setFieldCode(fieldCode);
+            optionRecordsMapper.insertSelective(optionRecordsPo);
+        }catch (Exception e){
+            log.info("增加操作记录异常",e);
+            return;
+        }
+    }
+
+    /**
      * 获取 ratedCapacity 风机额定功率*1.2
      * @param analysisDto
      * @return
@@ -442,4 +486,14 @@ public class AnalysisServiceImpl implements AnalysisService {
        return ratedCapacity == null ? "0" : ratedCapacity.multiply(powerFactorRated).toString();
     }
 
+    @Autowired
+    private void setAnalysisOptionRecordsMapper(AnalysisOptionRecordsMapper optionRecordsMapper) {
+        AnalysisServiceImpl.optionRecordsMapper = optionRecordsMapper;
+    }
+
+    @Autowired
+    private void setWindFieldBatchMapper(WindFieldBatchMapper windFieldBatchMapper) {
+        AnalysisServiceImpl.windFieldBatchMapper = windFieldBatchMapper;
+    }
+
 }

+ 7 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/analysiscomment/impl/AnalysisCommentServiceImpl.java

@@ -11,6 +11,7 @@ import com.energy.manage.service.domain.dto.analysis.CommentDto;
 import com.energy.manage.service.domain.vo.analysis.AnalysisCommentTypeRelationVo;
 import com.energy.manage.service.mappers.analysis.AnalysisCommentDescriptionMapper;
 import com.energy.manage.service.mappers.analysis.AnalysisCommentTypeRelationMapper;
+import com.energy.manage.service.service.analysis.impl.AnalysisServiceImpl;
 import com.energy.manage.service.service.analysiscomment.AnalysisCommentService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,11 @@ public class AnalysisCommentServiceImpl implements AnalysisCommentService {
     private AnalysisCommentDescriptionMapper commentDescriptionMapper;
 
     /**
+     * 操作内容
+     */
+    private static final String OPTION_CONTENT = "评论编辑";
+
+    /**
      * 富文本类型查询
      * @param batchCode
      * @param analysisTypeCode
@@ -96,6 +102,7 @@ public class AnalysisCommentServiceImpl implements AnalysisCommentService {
     public int analysisCommentEdit(AnalysisCommentDescriptionDto dto) {
         AtomicInteger count = new AtomicInteger(0);
         dto.getCommentList().parallelStream().forEach(item -> count.addAndGet(saveCommentDescription(dto, item)));
+        AnalysisServiceImpl.addOptionRecords(null, dto.getBatchCode(),OPTION_CONTENT);
         return count.get();
     }
 

+ 17 - 1
energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/HomePageService.java

@@ -1,5 +1,10 @@
 package com.energy.manage.service.service.homepage;
 
+import com.energy.manage.service.domain.vo.analysis.AnalysisOptionRecordsVo;
+import com.energy.manage.service.domain.vo.homepage.HomePageVo;
+
+import java.util.List;
+
 /**
  * @author chy
  * @date 2024/6/13 14:02
@@ -12,5 +17,16 @@ public interface HomePageService {
      * @param codeNumber
      * @param codeType
      */
-    Object query(String codeNumber,String codeType);
+    HomePageVo queryStatistics(String codeNumber, String codeType);
+
+
+    /**
+     * 查询操作记录
+     * @param codeNumber
+     * @param codeType
+     * @return
+     */
+    List<AnalysisOptionRecordsVo> queryOptionRecords(String codeNumber, String codeType);
+
+
 }

+ 55 - 11
energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/impl/HomePageServiceImpl.java

@@ -2,21 +2,25 @@ package com.energy.manage.service.service.homepage.impl;
 
 import com.energy.manage.common.enums.TypeRelationEnum;
 import com.energy.manage.common.po.windrelation.WindRelationPO;
+import com.energy.manage.service.domain.vo.analysis.AnalysisOptionRecordsVo;
 import com.energy.manage.service.domain.vo.analysis.AnalysisResultVo;
 import com.energy.manage.service.domain.vo.homepage.HomePageVo;
 import com.energy.manage.service.domain.vo.windexceptioncount.WindExceptionCountVo;
-import com.energy.manage.service.domain.vo.windrelation.WindRelationVo;
+import com.energy.manage.service.mappers.analysis.AnalysisOptionRecordsMapper;
 import com.energy.manage.service.mappers.analysis.AnalysisResultMapper;
 import com.energy.manage.service.mappers.windexceptioncount.WindExceptionCountMapper;
 import com.energy.manage.service.mappers.windrelation.WindRelationMapper;
 import com.energy.manage.service.service.homepage.HomePageService;
-import com.energy.manage.service.util.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
 /**
  * @author chy
@@ -36,6 +40,9 @@ public class HomePageServiceImpl implements HomePageService {
     @Autowired
     private WindExceptionCountMapper exceptionCountMapper;
 
+    @Autowired
+    private AnalysisOptionRecordsMapper analysisOptionRecordsMapper;
+
 
     /**
      * 驾驶舱首页查询
@@ -43,7 +50,7 @@ public class HomePageServiceImpl implements HomePageService {
      * @param codeType
      */
     @Override
-    public HomePageVo query(String codeNumber, String codeType) {
+    public HomePageVo queryStatistics(String codeNumber, String codeType) {
         //返回实体对象
         HomePageVo homePageVo = new HomePageVo();
         //风场
@@ -60,13 +67,34 @@ public class HomePageServiceImpl implements HomePageService {
         }
         //设置未分析、分析中、已分析数目
         setAnalysisCount(homePageVo,fieldCodes);
-        //设置异常数
-        setErrCount(homePageVo,fieldCodes);
-        //设置异常信息
-//        setErrInfo(homePageVo,fieldCodes);
+        //设置异常数、异常信息
+        setErrCountAndInfo(homePageVo,fieldCodes);
         return homePageVo;
     }
 
+    /**
+     * 获取操作记录
+     * @param codeNumber
+     * @param codeType
+     * @return
+     */
+    @Override
+    public List<AnalysisOptionRecordsVo> queryOptionRecords(String codeNumber, String codeType){
+        List<AnalysisOptionRecordsVo> voList = new ArrayList<>();
+        //风场
+        List<String> fieldCodes = new ArrayList<>();
+        //根据类型判断获取风场code
+        if(codeType.equals(TypeRelationEnum.COMPANY_NUMBER.getCode())){
+            getFieldCodeList(Arrays.asList(codeNumber), fieldCodes);
+        }else{
+            fieldCodes.add(codeNumber);
+        }
+        //如果风场code为空,则不设置
+        if(CollectionUtils.isEmpty(fieldCodes)){
+            return voList;
+        }
+        return analysisOptionRecordsMapper.selectAllByTimeDesc(fieldCodes);
+    }
 
     /**
      * 递归获取风场code
@@ -123,7 +151,7 @@ public class HomePageServiceImpl implements HomePageService {
      * @param homePageVo
      * @param fieldCodes
      */
-    public void setErrCount(HomePageVo homePageVo, List<String> fieldCodes){
+    public void setErrCountAndInfo(HomePageVo homePageVo, List<String> fieldCodes){
         List<WindExceptionCountVo> exceptionCounts = exceptionCountMapper.selectByfieldCodes(fieldCodes);
         //风机异常数
         Set<String> engineCodes = new HashSet<>();
@@ -136,7 +164,9 @@ public class HomePageServiceImpl implements HomePageService {
             homePageVo.setErrCounrt(homePageVo.getErrCounrt() + item.getErrCount());
             //异常处理数
             handleErrCount.addAndGet(item.getHandleErrCount());
+            //设备异常数
             engineCodes.add(item.getEngineCode());
+            //叠加当月异常数
             if(isCurrentMonth(item.getCreateTime())){
                 errCountCurrentMonth.addAndGet(item.getErrCount());
             }
@@ -147,16 +177,30 @@ public class HomePageServiceImpl implements HomePageService {
         homePageVo.setErrCountInCurrentMonth(errCountCurrentMonth.get());
         //设置异常设备数
         homePageVo.setErrDeviceCount(engineCodes.size());
+        //过滤属性风机编号相同的元素
+        exceptionCounts = exceptionCounts.stream().distinct().filter(distinctByKey(WindExceptionCountVo :: getEngineCode)).collect(Collectors.toList());
+        homePageVo.setErrList(exceptionCounts);
+    }
+
+    /**
+     * 过滤器
+     * @param keyExtractor
+     * @param <T>
+     * @return
+     */
+    public static  <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor){
+        Map<Object,Boolean> seen = new ConcurrentHashMap<>();
+        return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
     }
 
     /**
      * 判断是否是当月
-     * @param createTime
+     * @param sourceTime
      * @return
      */
-    private Boolean isCurrentMonth(Date createTime){
+    private Boolean isCurrentMonth(Date sourceTime){
         Calendar calendar = Calendar.getInstance();
-        calendar.setTime(createTime);
+        calendar.setTime(sourceTime);
         Calendar now = Calendar.getInstance();
         return calendar.get(Calendar.MONTH) == now.get(Calendar.MONTH);
     }

+ 2 - 2
energy-manage-service/src/main/java/com/energy/manage/service/test/TestJson.java

@@ -119,8 +119,8 @@ public class TestJson {
         dto.setScada("all");
         dto.setAutoOrManual("manual");
         dto.setBeginTime("1234-12-12 00:00:12");
-        dto.setExcludingMonths(Arrays.asList("1","2","3"));
-        dto.setTurbines(Arrays.asList("456","789"));
+//        dto.setExcludingMonths(Arrays.asList("1","2","3"));
+//        dto.setTurbines(Arrays.asList("456","789"));
         dto.setValueActivePower(Arrays.asList(1,2));
         dto.setConfigAnalysis(Arrays.asList("algorithm.powerOscillationAnalyst|PowerOscillationAnalyst|executeAnalysis|minute","algorithm.pitchTSRCpAnalyst|PitchTSRCpAnalyst|executeAnalysis|second"));
         setValue(dto,rootNode);

+ 1 - 1
energy-manage-service/src/main/resources/bootstrap.properties

@@ -56,7 +56,7 @@ template.draught = http://192.168.50.234:6900/bucket-zhzn/template/%E9%A3%8E%E6%
 #算法调用默认值
 analysis.url= http://192.168.5.7:8000/demo/dataAnalysis/analysis
 #分析算法入参json格式
-analysis.algorithm.json={"dataContractType": {"type": "analysisExecuteOrder","version": "1.2.0"},"dataContract": {"autoOrManual": "","dataFilter": {"powerFarmID": "","turbines": null,"dataBatchNum": "","beginTime": "","endTime": "","excludingMonths": null,"customFilter": {"valueWindSpeed": {"min": null,"max": null},"valuePitchAngle": {"min":null,"max": null},"valueActivePower": {"min": null,"max": null},"valueGeneratorSpeed": {"min": null,"max": null}}},"configAnalysis": [],"graphSets": {"generatorSpeed": {"step": 200,"min": 1000,"max": 2000},"generatorTorque": {"step": 2000,"min": 0,"max": 12000},"cp": {"step": 0.5,"min": 0,"max": 2},"tsr": {"step": 5,"min": 0,"max": 30},"pitchAngle": {"step": 1,"min": -1,"max": 20},"activePower": {"step": 250,"min": 0,"max": 2000}}}}
+analysis.algorithm.json={"dataContractType": {"type": "analysisExecuteOrder","version": "1.2.0"},"dataContract": {"autoOrManual": null,"dataFilter": {"powerFarmID": null,"turbines": null,"dataBatchNum": null,"beginTime": null,"endTime": null,"excludingMonths": null,"customFilter": {"valueWindSpeed": {"min": null,"max": null},"valuePitchAngle": {"min":null,"max": null},"valueActivePower": {"min": null,"max": null},"valueGeneratorSpeed": {"min": null,"max": null}}},"configAnalysis": [],"graphSets": {"DgeneratorSpeed": {"step": 5,"min": 0,"max": 30},"DgeneratorTorque": {"step": 10000,"min": 0,"max": 10000},"IgeneratorSpeed": {"step": 200,"min": 1000,"max": 2000},"IgeneratorTorque": {"step": 2000,"min": 0,"max": 12000},"cp": {"step": 0.5,"min": 0,"max": 2},"tsr": {"step": 5,"min": 0,"max": 30},"pitchAngle": {"step": 1,"min": -1,"max": 20},"activePower": {"step": 250,"min": 0,"max": 2000}}}}
 #需要特殊处理的图像设置属性
 graphSets.properties=dGeneratorSpeed,iGeneratorSpeed,dGeneratorTorque,iGeneratorTorque,cp,tsr,pitchAngle,activePower
 #scada数据筛选

+ 26 - 0
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisOptionRecordsMapper.xml

@@ -0,0 +1,26 @@
+<?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.energy.manage.service.mappers.analysis.AnalysisOptionRecordsMapper">
+    <resultMap id="BaseResultMap" type="com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="option_content" property="optionContent" jdbcType="VARCHAR"/>
+        <result column="option_by" property="optionBy" jdbcType="INTEGER"/>
+        <result column="option_by_name" property="optionByName" jdbcType="VARCHAR"/>
+        <result column="field_code" property="fieldCode" jdbcType="VARCHAR"/>
+        <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <select id="selectAllByTimeDesc" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisOptionRecordsVo">
+        select
+               option_by_name,
+               option_content,
+               create_time
+        from analysis_option_records
+        where field_code in
+        <foreach collection="fieldCodes" item="fieldCode" separator="," open="(" close=")">
+            #{fieldCode,jdbcType=VARCHAR}
+        </foreach>
+        order by create_time desc
+    </select>
+</mapper>

+ 6 - 2
energy-manage-service/src/main/resources/mybatis/windexceptioncount/WindExceptionCountMapper.xml

@@ -45,9 +45,13 @@
 
     <select id="selectByfieldCodes" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.windexceptioncount.WindExceptionCountVo">
         select
-            *
+            count.*,
+            batch.field_code
+            batch.field_name
         from
-            wind_exception_count
+            wind_exception_count count
+        left join wind_fied_batch batch
+        on batch.batch_code = count.batch_code
         where
             batch_code in (
                 select distinct