Преглед изворни кода

Merge branch 'master' into energy-manage-shiyue

shiyue пре 11 месеци
родитељ
комит
06b937711d
25 измењених фајлова са 523 додато и 43 уклоњено
  1. 2 1
      energy-manage-common/src/main/java/com/energy/manage/common/constant/redis/ManagerRedisKeyConstant.java
  2. 46 0
      energy-manage-common/src/main/java/com/energy/manage/common/po/analysis/AnalysisResultPo.java
  3. 34 1
      energy-manage-service/src/main/java/com/energy/manage/service/controller/analysis/AnalysisController.java
  4. 0 2
      energy-manage-service/src/main/java/com/energy/manage/service/controller/chartsdata/CreateChartsDataController.java
  5. 40 0
      energy-manage-service/src/main/java/com/energy/manage/service/controller/datatransfertype/DataTransferTypeController.java
  6. 1 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/analysis/AnalysisDto.java
  7. 15 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/analysis/AnalysisResultDto.java
  8. 5 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisDiagramRelationVo.java
  9. 25 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisInfoVo.java
  10. 41 5
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisResultVo.java
  11. 48 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/cockpit/CompanyFieldAndBatchTreeVo.java
  12. 2 1
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/cockpit/CompanyFieldTreeRoleVo.java
  13. 3 0
      energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/system/SysOrganizationAuthVo.java
  14. 1 1
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisDiagramRelationMapper.java
  15. 9 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisResultMapper.java
  16. 2 0
      energy-manage-service/src/main/java/com/energy/manage/service/mappers/system/SysOrganizationAuthMapper.java
  17. 22 1
      energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/AnalysisService.java
  18. 101 8
      energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java
  19. 19 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfertype/DataTransferTypeService.java
  20. 33 0
      energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfertype/impl/DataTransferTypeServiceImpl.java
  21. 0 1
      energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/impl/HomePageServiceImpl.java
  22. 2 3
      energy-manage-service/src/main/java/com/energy/manage/service/util/TreeUtil.java
  23. 16 10
      energy-manage-service/src/main/resources/mybatis/analysis/AnalysisDiagramRelationMapper.xml
  24. 44 9
      energy-manage-service/src/main/resources/mybatis/analysis/AnalysisResultMapper.xml
  25. 12 0
      energy-manage-service/src/main/resources/mybatis/system/OrganizationAuthMapper.xml

+ 2 - 1
energy-manage-common/src/main/java/com/energy/manage/common/constant/redis/ManagerRedisKeyConstant.java

@@ -51,7 +51,8 @@ public class ManagerRedisKeyConstant {
         StringBuffer keyBuffer = new StringBuffer(key);
         //数组转换为list,为了使用stream和获取下标
         List<Serializable> idList = Arrays.asList(ids);
-        idList.stream().forEachOrdered(id -> {
+
+        idList.stream().filter(id -> id != null).forEachOrdered(id -> {
             //首个id进行替换 后面的累加
             if(idList.indexOf(id) == 0){
                 int start = keyBuffer.indexOf(PLACE_HOLDER);

+ 46 - 0
energy-manage-common/src/main/java/com/energy/manage/common/po/analysis/AnalysisResultPo.java

@@ -2,6 +2,7 @@ package com.energy.manage.common.po.analysis;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 import javax.persistence.Table;
 import java.math.BigDecimal;
@@ -15,6 +16,7 @@ import java.util.Date;
  */
 @Table(name = "analysis_result")
 @Data
+@Accessors(chain = true)
 public class AnalysisResultPo {
 
     /**
@@ -84,4 +86,48 @@ public class AnalysisResultPo {
      */
     private Integer onOffCall;
 
+    /**
+     * 风场标号
+     */
+    private String fieldCode;
+
+    /**
+     * 分析名称
+     */
+    private String analysisName;
+
+    /**
+     * 数据开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date dataStartTime;
+
+    /**
+     * 数据结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date dataEndTime;
+
+    /**
+     * 分析简述
+     */
+    private String sketch;
+
+    /**
+     * 数据类型code
+     */
+    private String dataTypeCode;
+
+    /**
+     * 分析开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date analysisStartTime;
+
+    /**
+     * 分析结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date analysisFinishTime;
+
 }

+ 34 - 1
energy-manage-service/src/main/java/com/energy/manage/service/controller/analysis/AnalysisController.java

@@ -1,6 +1,7 @@
 package com.energy.manage.service.controller.analysis;
 
 import com.energy.manage.common.base.Page;
+import com.energy.manage.common.po.analysis.AnalysisResultPo;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.service.config.annotations.UserLoginToken;
 import com.energy.manage.service.constant.analysis.AnalysisConstants;
@@ -46,6 +47,20 @@ public class AnalysisController extends BaseServiceController {
         return pageResult(analysisService.analysisResultList(analysisResultDto),analysisResultDto);
     }
 
+
+    @UserLoginToken
+    @ApiOperation(value = "增加分析")
+    @PostMapping("/addAnalysisResult")
+//    public ResultResp addAnalysisResult(@RequestBody AnalysisResultDto analysisResultDto)
+    public ResultResp addAnalysisResult(@RequestBody AnalysisResultPo analysisResultPo)
+    {
+//        AnalysisResultPo analysisResultPo = new AnalysisResultPo();
+//        BeanUtils.copyProperties(analysisResultDto,analysisResultPo);
+        Integer loginUserId = getUserId();
+        analysisResultPo.setCreateBy(loginUserId).setUpdateBy(loginUserId);
+        return success(analysisService.addAnalysisResult(analysisResultPo));
+    }
+
     @UserLoginToken
     @ApiOperation(value = "手动分析触发")
     @PostMapping("/analysis")
@@ -69,7 +84,7 @@ public class AnalysisController extends BaseServiceController {
     @PostMapping("/analysisDetail")
     public ResultResp analysisDetail(@RequestParam("batchCode") String batchCode,
                                      @RequestParam("analysisTypeCode") String analysisTypeCode,
-                                     @RequestParam("fieldEngineCode") String fieldEngineCode,
+                                     @RequestParam(value = "fieldEngineCode",required = false) List<String> fieldEngineCode,
                                      HttpServletRequest request)
     {
         //判断是否是内网
@@ -95,6 +110,14 @@ public class AnalysisController extends BaseServiceController {
     }
 
     @UserLoginToken
+    @ApiOperation(value = "查询所有分析类型")
+    @GetMapping("/queryAllAnalysisType")
+    public ResultResp queryAllAnalysisType()
+    {
+        return success(analysisService.queryAllAnalysisType());
+    }
+
+    @UserLoginToken
     @ApiOperation(value = "根据批次与分析类型查询已有分析结果的风机")
     @GetMapping("/queryAnalysisedEngine")
     public ResultResp queryAnalysisedEngine(@RequestParam(value = "batchCode") String batchCode,
@@ -112,6 +135,16 @@ public class AnalysisController extends BaseServiceController {
     }
 
     @UserLoginToken
+    @ApiOperation(value = "根据角色获取风场及分析编号信息")
+    @GetMapping("/getAnalysisCodeInfo")
+    public ResultResp<List<String>> getAnalysisCodeInfo()
+    {
+        Integer roleId = getRoleId();
+        return success(analysisService.getAnalysisCodeInfo(roleId));
+    }
+
+
+    @UserLoginToken
     @ApiOperation(value = "全部文件下载查询接口")
     @GetMapping("/queryDownloadFile")
     public ResultResp<List<String>> queryDownloadFile(@RequestParam(value = "fieldCode") String fieldCode,

+ 0 - 2
energy-manage-service/src/main/java/com/energy/manage/service/controller/chartsdata/CreateChartsDataController.java

@@ -11,8 +11,6 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * @author chy
  * @date 2024/8/15 09:31

+ 40 - 0
energy-manage-service/src/main/java/com/energy/manage/service/controller/datatransfertype/DataTransferTypeController.java

@@ -0,0 +1,40 @@
+package com.energy.manage.service.controller.datatransfertype;
+
+import com.energy.manage.common.reponse.ResultResp;
+import com.energy.manage.service.config.annotations.UserLoginToken;
+import com.energy.manage.service.controller.base.BaseServiceController;
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo;
+import com.energy.manage.service.service.datatransfertype.DataTransferTypeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/7 10:46
+ * @desc
+ */
+@Slf4j
+@Api(value = "DataTransferTypeController",tags = "数据转换类型")
+@RestController
+@RequestMapping("/dataTransferType")
+public class DataTransferTypeController extends BaseServiceController {
+
+    @Autowired
+    private DataTransferTypeService dataTransferTypeService;
+
+
+    @ApiOperation(value = "查询可以数据转换批次")
+    @UserLoginToken
+    @GetMapping("/queryAllType")
+    public ResultResp<List<DataTransferTypeVo>> queryAllType()
+    {
+        return success(dataTransferTypeService.queryAllType());
+    }
+}

+ 1 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/dto/analysis/AnalysisDto.java

@@ -3,6 +3,7 @@ package com.energy.manage.service.domain.dto.analysis;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.util.Date;
 import java.util.List;
 
 /**

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

@@ -22,6 +22,21 @@ public class AnalysisResultDto extends BaseDto {
     private String fieldName ;
 
     /**
+     * 风场编号
+     */
+    private String fieldCode ;
+
+    /**
+     * 分析名称
+     */
+    private String analysisName ;
+
+    /**
+     * 分析简述
+     */
+    private String sketch ;
+
+    /**
      * 批次编号
      */
     private String batchCode ;

+ 5 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisDiagramRelationVo.java

@@ -27,6 +27,11 @@ public class AnalysisDiagramRelationVo {
     private String fieldEngineCode ;
 
     /**
+     * 风机名称
+     */
+    private String fieldEngineName ;
+
+    /**
      * 分析类型编号
      */
     private String analysisTypeCode ;

+ 25 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisInfoVo.java

@@ -0,0 +1,25 @@
+package com.energy.manage.service.domain.vo.analysis;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author chy
+ * @date 2025/1/13 13:51
+ * @desc
+ */
+
+@Data
+@Accessors(chain = true)
+public class AnalysisInfoVo {
+
+    /**
+     * 分析编号
+     */
+    private String batchCode;
+
+    /**
+     * 分析名称
+     */
+    private String analysisName;
+}

+ 41 - 5
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisResultVo.java

@@ -3,7 +3,6 @@ package com.energy.manage.service.domain.vo.analysis;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
-import javax.persistence.Table;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -17,6 +16,9 @@ import java.util.List;
 @Data
 public class AnalysisResultVo {
 
+
+    private String batchCode;
+
     /**
      * 风场名称
      */
@@ -28,14 +30,36 @@ public class AnalysisResultVo {
     private String fieldCode;
 
     /**
-     * 批次编号
+     * 分析名称
+     */
+    private String analysisName;
+
+    /**
+     * 数据开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date dataStartTime;
+
+    /**
+     * 数据结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date dataEndTime;
+
+    /**
+     * 分析简述
+     */
+    private String sketch;
+
+    /**
+     * 数据转换类型代码
      */
-    private String batchCode ;
+    private String dataTypeCode;
 
     /**
-     * 批次名称
+     * 数据转换类型名称
      */
-    private String batchName;
+    private String dataTypeName;
 
     /**
      * 分析状态 -1:未分析 10:排队中  20:分析中 30:分析完成
@@ -91,6 +115,18 @@ public class AnalysisResultVo {
     private Integer onOffCall;
 
     /**
+     * 分析开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date analysisStartTime;
+
+    /**
+     * 分析结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date analysisFinishTime;
+
+    /**
      * 分析结果报告
      */
     private List<AnalysisResultReportVo> reportVos;

+ 48 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/cockpit/CompanyFieldAndBatchTreeVo.java

@@ -0,0 +1,48 @@
+package com.energy.manage.service.domain.vo.cockpit;
+
+import com.energy.manage.service.domain.vo.analysis.AnalysisInfoVo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/13 14:07
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class CompanyFieldAndBatchTreeVo {
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 公司/风场编号
+     */
+    private String codeNumber;
+
+    /**
+     * 风场名称
+     */
+    private String fieldName;
+
+    /**
+     * 公司/风场类型 取值:field/company
+     */
+    private String codeType;
+
+    /**
+     * 父类code
+     */
+    private String parentCode;
+
+    /**
+     * 批次信息
+     */
+    private List<AnalysisInfoVo> batchCodes;
+}

+ 2 - 1
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/cockpit/CompanyFieldTreeRoleVo.java

@@ -1,11 +1,13 @@
 package com.energy.manage.service.domain.vo.cockpit;
 
+import com.energy.manage.service.domain.vo.analysis.AnalysisInfoVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.util.Date;
+import java.util.List;
 
 @Getter
 @Setter
@@ -45,5 +47,4 @@ public class CompanyFieldTreeRoleVo {
     @ApiModelProperty("最新分析时间")
     private Date wfbrCreateTime;
 
-
 }

+ 3 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/system/SysOrganizationAuthVo.java

@@ -1,9 +1,12 @@
 package com.energy.manage.service.domain.vo.system;
 
 import com.energy.manage.common.po.system.SysOrganizationAuthPO;
+import com.energy.manage.service.domain.vo.analysis.AnalysisInfoVo;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.util.List;
+
 /**
  * @author chy
  * @date 2024/6/14 09:39

+ 1 - 1
energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisDiagramRelationMapper.java

@@ -21,7 +21,7 @@ public interface AnalysisDiagramRelationMapper extends MyMapper<AnalysisDiagramR
 
     List<AnalysisDiagramRelationVo> selectByCondition(@Param("batchCode") String batchCode,
                                                       @Param("analysisTypeCode") String analysisTypeCode,
-                                                      @Param("fieldEngineCode") String fieldEngineCode);
+                                                      @Param("fieldEngineCode") List<String> fieldEngineCode);
 
 
     List<AnalysisDiagramRelationVo> selectByBatchCode(@Param("batchCode") String batchCode);

+ 9 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/analysis/AnalysisResultMapper.java

@@ -2,6 +2,7 @@ package com.energy.manage.service.mappers.analysis;
 
 import com.energy.manage.common.mapper.MyMapper;
 import com.energy.manage.common.po.analysis.AnalysisResultPo;
+import com.energy.manage.service.domain.dto.analysis.AnalysisDto;
 import com.energy.manage.service.domain.dto.analysis.AnalysisResultDto;
 import com.energy.manage.service.domain.vo.analysis.AnalysisResultVo;
 import org.apache.ibatis.annotations.Param;
@@ -38,6 +39,7 @@ public interface AnalysisResultMapper extends MyMapper<AnalysisResultPo> {
      */
     List<AnalysisResultVo> selectLastBatchResultByFieldCode(@Param("fieldCodes") List<String> fieldCodes);
 
+
     /**
      * 更新自动分析状态
      * @param batchCode
@@ -59,4 +61,11 @@ public interface AnalysisResultMapper extends MyMapper<AnalysisResultPo> {
      */
     int updateAnalysisState(@Param("batchCode") String batchCode);
 
+    /**
+     * 数据筛选更新
+     * @param analysisDto
+     * @return
+     */
+    int updateByBatchCode(AnalysisDto analysisDto);
+
 }

+ 2 - 0
energy-manage-service/src/main/java/com/energy/manage/service/mappers/system/SysOrganizationAuthMapper.java

@@ -21,6 +21,8 @@ public interface SysOrganizationAuthMapper extends MyMapper<SysOrganizationAuthP
 
     List<CompanyFieldTreeRoleVo> selectSysOrganizationAuthTreeByRoleId(@Param("roleId") Integer roleId);
 
+    List<CompanyFieldTreeRoleVo> selectSysOrganizationAuthTreeByRoleId(@Param("roleId") Integer roleId);
+
 
     List<CompanyFieldTreeRoleVo> selectSysOrganizationAuthListByRoleId(@Param("roleId") Integer roleId);
 

+ 22 - 1
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/AnalysisService.java

@@ -1,6 +1,7 @@
 package com.energy.manage.service.service.analysis;
 
 import com.alibaba.fastjson.JSONArray;
+import com.energy.manage.common.po.analysis.AnalysisResultPo;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.service.domain.dto.analysis.AnalysisDto;
 import com.energy.manage.service.domain.dto.analysis.AnalysisResultDto;
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -31,6 +33,13 @@ public interface AnalysisService {
      */
     List<AnalysisResultVo> analysisResultList(AnalysisResultDto analysisResultDto);
 
+    /**
+     * 添加分析结果
+     * @param analysisResultPo
+     * @return
+     */
+    int addAnalysisResult(AnalysisResultPo analysisResultPo);
+
 
     /**
      * 分析
@@ -55,6 +64,11 @@ public interface AnalysisService {
     Set<AnalysisTypeShortVo> queryAnalysisedType(String batchCode);
 
     /**
+     * 查询所有的分析类型
+     */
+    List<Map<String, Object>> queryAllAnalysisType();
+
+    /**
      * 查询已经分析的风机信息
      * @param batchCode
      * @param analysisTypeCode
@@ -70,7 +84,7 @@ public interface AnalysisService {
      * @param isIntranet
      * @return
      */
-    List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, String fieldEngineCode, boolean isIntranet);
+    List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCode, boolean isIntranet);
 
 
     /**
@@ -96,6 +110,13 @@ public interface AnalysisService {
 
 
     /**
+     * 根据角色获取风场及分析编号信息
+     * @return
+     */
+    List<Map<String,Object>>getAnalysisCodeInfo(Integer roleId);
+
+
+    /**
      * 全部文件下载查询接口
      * @param fieldCode
      * @param batchCode

+ 101 - 8
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -3,8 +3,12 @@ package com.energy.manage.service.service.analysis.impl;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.energy.manage.common.constant.redis.ManagerRedisKeyConstant;
 import com.energy.manage.common.enums.IdPrefixEnum;
 import com.energy.manage.common.po.analysis.AnalysisOptionRecordsPo;
+import com.energy.manage.common.po.analysis.AnalysisResultPo;
+import com.energy.manage.common.po.analysis.AnalysisTypePo;
 import com.energy.manage.common.reponse.ConstVar;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.common.util.HttpUtils;
@@ -14,20 +18,25 @@ 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.vo.analysis.*;
+import com.energy.manage.service.domain.vo.cockpit.CompanyFieldAndBatchTreeVo;
+import com.energy.manage.service.domain.vo.cockpit.CompanyFieldTreeRoleVo;
+import com.energy.manage.service.domain.vo.system.SysOrganizationAuthVo;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupShortVo;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupVo;
+import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
 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.system.SysOrganizationAuthMapper;
 import com.energy.manage.service.mappers.windenginegroup.WindEngineGroupMapper;
+import com.energy.manage.service.mappers.windfield.WindFieldMapper;
 import com.energy.manage.service.mappers.windfieldbatch.WindFieldBatchMapper;
 import com.energy.manage.service.property.analysis.AlgorithmProperties;
 import com.energy.manage.service.service.analysis.AnalysisResultReportService;
 import com.energy.manage.service.service.analysis.AnalysisService;
-import com.energy.manage.service.util.BatchDownloadUtil;
-import com.energy.manage.service.util.BeanMapUtils;
-import com.energy.manage.service.util.NetUtils;
+import com.energy.manage.service.service.cache.CacheService;
+import com.energy.manage.service.util.*;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -41,6 +50,7 @@ import io.minio.messages.Item;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -103,6 +113,12 @@ public class AnalysisServiceImpl implements AnalysisService {
     private AnalysisResultReportMapper resultReportMapper;
 
     @Autowired
+    private WindFieldMapper windFieldMapper;
+
+    @Autowired
+    private SysOrganizationAuthMapper sysOrganizationAuthMapper;
+
+    @Autowired
     private AlgorithmProperties algorithmProperties;
 
     @Autowired
@@ -114,6 +130,9 @@ public class AnalysisServiceImpl implements AnalysisService {
     @Autowired
     private BatchDownloadUtil batchDownloadUtil;
 
+    @Autowired
+    private CacheService cacheService;
+
 
     private static AnalysisOptionRecordsMapper optionRecordsMapper;
 
@@ -131,6 +150,11 @@ public class AnalysisServiceImpl implements AnalysisService {
     private static final String FILE_ADDR_FREFIX = "http://";
 
     /**
+     * 分析编号分隔符
+     */
+    private final static String SEPARATOR = "-";
+
+    /**
      * 风机编号正则
      */
     private static final String ENGINE_CODE_PATTEN = IdPrefixEnum.WIND_EILL_NUMBER.getCode() + "\\d{3," + IdGeneratorUtil.DEC_INIT_LENGTH + "}";
@@ -152,6 +176,24 @@ public class AnalysisServiceImpl implements AnalysisService {
     }
 
     /**
+     * 添加分析结果
+     *
+     * @param analysisResultPo
+     * @return
+     */
+    @Override
+    public int addAnalysisResult(AnalysisResultPo analysisResultPo) {
+        String fieldCode = analysisResultPo.getFieldCode();
+        String batchCode = createWindFieldBatchCode(fieldCode);
+        analysisResultPo.setBatchCode(batchCode);
+        if(StringUtils.isBlank(analysisResultPo.getAnalysisName())){
+            WindFieldVo  windFieldVo = windFieldMapper.selectByCodeNumber(fieldCode);
+            analysisResultPo.setAnalysisName(createBatchName(windFieldVo.getFieldName()));
+        }
+        return analysisResultMapper.insertSelective(analysisResultPo);
+    }
+
+    /**
      * 分析
      * @param analysisDto
      * @return
@@ -178,8 +220,9 @@ public class AnalysisServiceImpl implements AnalysisService {
             //调用算法
             String result = HttpUtils.doPost(algorithmProperties.getAnalysisUrl(),mapper.writeValueAsString(rootNode));
             log.info("调用算法分析返回结果:{}",result);
-            //调用分析算法接口后直接更新分析状态为排队中
-            analysisResultMapper.updateAnalysisState(analysisDto.getDataBatchNum());
+            //调用分析算法接口后更新数据筛选记录
+            updateAnalysisByBatchCode(analysisDto);
+//            analysisResultMapper.updateAnalysisState(analysisDto.getDataBatchNum());
             //手动操作进行操作记录添加
             if(analysisDto.getAutoOrManual().equals(AnalysisConstants.MANUAL_ANALYSIS)){
                 addOptionRecords(analysisDto.getPowerFarmID(),null,OPTION_CONTENT);
@@ -192,6 +235,15 @@ public class AnalysisServiceImpl implements AnalysisService {
     }
 
     /**
+     * 更新数据筛选记录
+     * @param analysisDto
+     */
+    public void updateAnalysisByBatchCode(AnalysisDto analysisDto){
+        analysisResultMapper.updateByBatchCode(analysisDto);
+    }
+
+
+    /**
      * 分析编辑查询(查询分析类型、风机组)
      * @param batchCode
      * @return
@@ -223,6 +275,15 @@ public class AnalysisServiceImpl implements AnalysisService {
     }
 
     /**
+     * 查询所有的分析类型
+     */
+    @Override
+    public List<Map<String, Object>> queryAllAnalysisType() {
+        List<AnalysisTypePo> analysisTypePos = analysisTypeMapper.selectAll();
+        return TreeUtil.getJava8ResultTree(BeanMapUtils.listBeanToListMap(analysisTypePos), "parentId", "id");
+    }
+
+    /**
      * 查询已经分析的风机信息
      * @param batchCode
      * @param analysisTypeCode
@@ -245,7 +306,7 @@ public class AnalysisServiceImpl implements AnalysisService {
      * @return
      */
     @Override
-    public List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, String fieldEngineCode, boolean isIntranet) {
+    public List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCode, boolean isIntranet) {
         List<AnalysisDetailVo> analysisDetailVos = new ArrayList<>();
         //获取所有的分析类型
         List<AnalysisTypeVo> analysisTypeVos = analysisTypeMapper.selectByTypeCode(analysisTypeCode);
@@ -308,6 +369,18 @@ public class AnalysisServiceImpl implements AnalysisService {
     }
 
     /**
+     * 根据角色获取风场及分析编号信息
+     *
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getAnalysisCodeInfo(Integer roleId) {
+//        List<CompanyFieldAndBatchTreeVo> list = sysOrganizationAuthMapper.selectSysOrganizationAuthTreeByRoleId(roleId);
+
+        return null;
+    }
+
+    /**
      * 全部文件下载查询接口
      * @param fieldCode
      * @param batchCode
@@ -550,7 +623,7 @@ public class AnalysisServiceImpl implements AnalysisService {
      * @param fieldEngineCode
      * @return
      */
-    private List<AnalysisDiagramRelationVo> getNewDiagramRelations(String batchCode,String analysisTypeCode,String fieldEngineCode, boolean intranet){
+    private List<AnalysisDiagramRelationVo> getNewDiagramRelations(String batchCode,String analysisTypeCode,List<String> fieldEngineCode, boolean intranet){
         //获取当前批次、当前分析类型的所有分析结果文件
         List<AnalysisDiagramRelationVo> diagramRelationVos = diagramRelationMapper.selectByCondition(batchCode,analysisTypeCode,fieldEngineCode);
         if(CollectionUtils.isEmpty(diagramRelationVos)){
@@ -558,7 +631,7 @@ public class AnalysisServiceImpl implements AnalysisService {
         }
         diagramRelationVos.forEach(item -> item.setFileAddr(getFilePath(intranet,item.getFileAddr())));
         //如果风机编号不为空的话则不对风机编号进行排序
-        if (StringUtils.isNotBlank(fieldEngineCode)) {
+        if (CollectionUtils.isNotEmpty(fieldEngineCode)) {
             diagramRelationVos.sort(Comparator.comparing(AnalysisDiagramRelationVo::getCreateTime, Comparator.reverseOrder()));
         } else {
             diagramRelationVos.sort(Comparator.comparing(AnalysisDiagramRelationVo::getFieldEngineCode)
@@ -905,6 +978,26 @@ public class AnalysisServiceImpl implements AnalysisService {
         return minIoIpPort + fileAddr;
     }
 
+    /**
+     * 生成风场批次号
+     * @param fieldCode
+     * @return
+     */
+    public String createWindFieldBatchCode(String fieldCode){
+        String sequece = IdPrefixEnum.WIND_ENGINE_BATCH_NUMBER.getCode().concat(IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, fieldCode,IdPrefixEnum.WIND_ENGINE_BATCH_NUMBER.getCode())),6));
+        return fieldCode + SEPARATOR + sequece;
+    }
+
+    /**
+     * 创建分析名称
+     * @param fieldName
+     * @return
+     */
+    public String createBatchName(String fieldName){
+        String fieldPYHeader = PinYinUtils.getPinYinHeadChar(fieldName);
+        return fieldPYHeader.concat(IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, fieldPYHeader)),6));
+    }
+
 
     /**
      * 测试排序去重

+ 19 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfertype/DataTransferTypeService.java

@@ -0,0 +1,19 @@
+package com.energy.manage.service.service.datatransfertype;
+
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/7 10:51
+ * @desc
+ */
+public interface DataTransferTypeService {
+
+    /**
+     * 查询所有数据转换类型
+     * @return
+     */
+    List<DataTransferTypeVo> queryAllType();
+}

+ 33 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/datatransfertype/impl/DataTransferTypeServiceImpl.java

@@ -0,0 +1,33 @@
+package com.energy.manage.service.service.datatransfertype.impl;
+
+import com.energy.manage.service.domain.vo.datatransfer.DataTransferTypeVo;
+import com.energy.manage.service.mappers.datatransfertype.DataTransferTypeMapper;
+import com.energy.manage.service.service.datatransfertype.DataTransferTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/7 10:52
+ * @desc
+ */
+
+@Service
+public class DataTransferTypeServiceImpl implements DataTransferTypeService {
+
+    @Autowired
+    private DataTransferTypeMapper dataTransferTypeMapper;
+
+
+    /**
+     * 查询所有数据转换类型
+     *
+     * @return
+     */
+    @Override
+    public List<DataTransferTypeVo> queryAllType() {
+        return dataTransferTypeMapper.selectAllInfo();
+    }
+}

+ 0 - 1
energy-manage-service/src/main/java/com/energy/manage/service/service/homepage/impl/HomePageServiceImpl.java

@@ -2,7 +2,6 @@ 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.constant.analysis.AnalysisConstants;
 import com.energy.manage.service.constant.analysis.AnalysisStatusConstants;
 import com.energy.manage.service.domain.vo.analysis.AnalysisOptionRecordsVo;
 import com.energy.manage.service.domain.vo.analysis.AnalysisResultVo;

+ 2 - 3
energy-manage-service/src/main/java/com/energy/manage/service/util/TreeUtil.java

@@ -111,7 +111,6 @@ public class TreeUtil {
     if (org.springframework.util.CollectionUtils.isEmpty(mapList)) {
       return Lists.newArrayList();
     }
-    //filter过滤出所有的一级节点
     return mapList.stream().filter(m ->m.get(parentKeyName).toString().equals("0"))
             .peek(m -> m.put("children", sortJava8Map(getJava8Children(m, mapList,parentKeyName,keyName)))).collect(Collectors.toList());
   }
@@ -128,8 +127,8 @@ public class TreeUtil {
                                                            String parentKeyName,
                                                            String keyName) {
     return allList.stream()
-            .filter(curNode ->curNode.get(parentKeyName)!=null && curNode.get(parentKeyName).equals(parentNode.get(keyName)))
-            .peek(m -> m.put("children", getJava8Children(m, allList))).collect(Collectors.toList());
+            .filter(curNode ->curNode.get(parentKeyName)!=null && curNode.get(parentKeyName).toString().equals(parentNode.get(keyName).toString()))
+            .peek(m -> m.put("children", getJava8Children(m, allList,parentKeyName,keyName))).collect(Collectors.toList());
   }
 
   /**

+ 16 - 10
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisDiagramRelationMapper.xml

@@ -14,18 +14,24 @@
 
     <select id="selectByCondition" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisDiagramRelationVo">
         select
-            batch_code,
-            field_engine_code,
-            analysis_type_code,
-            file_addr,
-            create_time
-        from analysis_diagram_relation
-        where batch_code = #{batchCode,jdbcType=VARCHAR}
+            adr.batch_code,
+            adr.field_engine_code,
+            weg.engine_name as field_engine_name,
+            adr.analysis_type_code,
+            adr.file_addr,
+            adr.create_time
+        from analysis_diagram_relation adr
+        left join wind_engine_group weg
+        on adr.field_engine_code = weg.engine_code
+        where adr.batch_code = #{batchCode,jdbcType=VARCHAR}
         <if test="analysisTypeCode != null and analysisTypeCode != ''">
-              and analysis_type_code = #{analysisTypeCode,jdbcType=VARCHAR}
+              and adr.analysis_type_code = #{analysisTypeCode,jdbcType=VARCHAR}
         </if>
-        <if test="fieldEngineCode != null and fieldEngineCode != ''">
-            and field_engine_code = #{fieldEngineCode,jdbcType=VARCHAR}
+        <if test="fieldEngineCode != null and fieldEngineCode.size != 0">
+            and adr.field_engine_code in
+          <foreach collection="fieldEngineCode" item="item" separator="," open="("  close=")">
+             #{item,jdbcType=VARCHAR}
+          </foreach>
         </if>
     </select>
     <select id="selectByBatchCode" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisDiagramRelationVo">

+ 44 - 9
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisResultMapper.xml

@@ -16,29 +16,53 @@
         <result column="analysis_progress" property="analysisProgress" jdbcType="DECIMAL"/>
         <result column="call_status" property="callStatus" jdbcType="INTEGER"/>
         <result column="on_off_call" property="onOffCall" jdbcType="INTEGER"/>
+
+        <result column="field_code" property="fieldCode" jdbcType="VARCHAR"/>
+        <result column="analysis_name" property="analysisName" jdbcType="VARCHAR"/>
+        <result column="data_start_time" property="dataStartTime" jdbcType="DATE"/>
+        <result column="data_end_time" property="dataEndTime" jdbcType="DATE"/>
+        <result column="sketch" property="sketch" jdbcType="VARCHAR"/>
+        <result column="data_type_code" property="dataTypeCode" jdbcType="VARCHAR"/>
+        <result column="analysis_start_time" property="analysisStartTime" jdbcType="DATE"/>
+        <result column="analysis_finish_time" property="analysisFinishTime" jdbcType="DATE"/>
+
     </resultMap>
 
     <select id="selectByCondition" parameterType="com.energy.manage.service.domain.dto.analysis.AnalysisResultDto" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisResultVo">
         select
-            batch.field_name,
-            batch.field_code,
-            batch.batch_name,
+            field.field_name,
+            result.field_code,
             result.batch_code,
             result.analysis_state,
             result.err_state,
             result.err_info,
             result.create_time,
             result.analysis_progress,
-            result.on_off_call
+            result.on_off_call,
+            result.analysis_name,
+            result.data_start_time,
+            result.data_end_time,
+            result.sketch,
+            result.data_type_code,
+            result.analysis_start_time,
+            result.analysis_finish_time,
+            type.transfer_type_name as data_type_name
         from analysis_result result
-        left join wind_field_batch batch
-        on result.batch_code = batch.batch_code
         left join sys_organization_auth auth
-        on batch.field_code = auth.code_number
+        on result.field_code = auth.code_number
+        left join wind_field field
+        on result.field_code = field.field_code
+        left join data_transfer_type type
+        on result.data_type_code = type.transfer_type
         where auth.role_id = #{roleId,jdbcType=INTEGER}
-        and batch.is_delete = 0
         <if test="fieldName != null and fieldName != ''">
-            and batch.field_name like concat('%', #{fieldName,jdbcType=VARCHAR}, '%')
+            and field.field_name like concat('%', #{fieldName,jdbcType=VARCHAR}, '%')
+        </if>
+        <if test="analysisState != null">
+            and result.analysis_state = #{analysisState}
+        </if>
+        <if test="errState != null">
+            and result.err_state = #{errState}
         </if>
         order by result.update_time desc
     </select>
@@ -84,4 +108,15 @@
         set analysis_state = 10
         where batch_code = #{batchCode,jdbcType=VARCHAR}
     </update>
+
+    <update id="updateByBatchCode" parameterType="com.energy.manage.service.domain.dto.analysis.AnalysisDto">
+        update analysis_result
+        set analysis_state = 10,
+            data_start_time = #{beginTime,jdbcType=INTEGER},
+            data_end_time = #{endTime,jdbcType=VARCHAR},
+            data_type_code = #{scada,jdbcType=VARCHAR},
+            analysis_start_time = now(),
+            update_time = now()
+        where batch_code = #{dataBatchNum,jdbcType=VARCHAR}
+    </update>
 </mapper>

+ 12 - 0
energy-manage-service/src/main/resources/mybatis/system/OrganizationAuthMapper.xml

@@ -70,6 +70,18 @@
         where 1=1
         </select>
 
+    <select id="selectAnalysisCodeTreeByRoleId" resultType="com.energy.manage.service.domain.vo.cockpit.CompanyFieldAndBatchTreeVo">
+        select
+            soa.role_id as roleId,
+            soa.code_number as codeNumber,
+            soa.parent_code as parentCode,
+            soa.code_type as codeType,
+            wc.company_name as fieldOrCompanyName,
+            wf.field_name as fieldOrCompanyName
+        from sys_organization_auth soa
+        where 1=1
+    </select>
+
     <select id="selectSysOrganizationAuthListByRoleId" resultType="com.energy.manage.service.domain.vo.cockpit.CompanyFieldTreeRoleVo">
         select
         soa.role_id as roleId,