Prechádzať zdrojové kódy

新增:分析信息查询接口

chenhongyan1989 4 mesiacov pred
rodič
commit
8a9eeae7bf

+ 13 - 6
energy-manage-service/src/main/java/com/energy/manage/service/controller/analysis/AnalysisController.java

@@ -9,6 +9,7 @@ import com.energy.manage.service.controller.base.BaseServiceController;
 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 com.energy.manage.service.domain.vo.analysis.FieldAndAnalysisInfoVo;
 import com.energy.manage.service.service.analysis.AnalysisService;
 import com.energy.manage.service.util.IPUtils;
 import com.energy.manage.service.util.NetUtils;
@@ -51,11 +52,8 @@ public class AnalysisController extends BaseServiceController {
     @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));
@@ -81,15 +79,15 @@ public class AnalysisController extends BaseServiceController {
 
     @UserLoginToken
     @ApiOperation(value = "分析详情")
-    @PostMapping("/analysisDetail")
+    @GetMapping("/analysisDetail")
     public ResultResp analysisDetail(@RequestParam("batchCode") String batchCode,
                                      @RequestParam("analysisTypeCode") String analysisTypeCode,
-                                     @RequestParam(value = "fieldEngineCode",required = false) List<String> fieldEngineCode,
+                                     @RequestParam(value = "fieldEngineCodes",required = false) List<String> fieldEngineCodes,
                                      HttpServletRequest request)
     {
         //判断是否是内网
         boolean isIntranet = NetUtils.isIntranet(IPUtils.getIpAddr(request));
-        return success(analysisService.analysisDetail(batchCode,analysisTypeCode,fieldEngineCode,isIntranet));
+        return success(analysisService.analysisDetail(batchCode,analysisTypeCode,fieldEngineCodes,isIntranet));
     }
 
     @UserLoginToken
@@ -143,6 +141,15 @@ public class AnalysisController extends BaseServiceController {
         return success(analysisService.getAnalysisCodeInfo(roleId));
     }
 
+    @UserLoginToken
+    @ApiOperation(value = "当前批次风场及分析信息")
+    @GetMapping("/getFieldInfo")
+    public ResultResp<FieldAndAnalysisInfoVo> getFieldInfo(@RequestParam String batchCode)
+    {
+        return success(analysisService.getFieldInfo(batchCode));
+    }
+
+
 
     @UserLoginToken
     @ApiOperation(value = "全部文件下载查询接口")

+ 52 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisRelateInfoVo.java

@@ -0,0 +1,52 @@
+package com.energy.manage.service.domain.vo.analysis;
+
+import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupShortVo;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/13 17:28
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class AnalysisRelateInfoVo {
+
+    /**
+     * 已分析的批次信息
+     */
+    private List<AnalysisTypeShortVo> analysisTypes;
+
+    /**
+     * 已分析的风机列表
+     */
+    private List<WindEngineGroupShortVo> windEngineGroups;
+
+    /**
+     * 分析操作人
+     */
+    private String updateByName;
+
+    /**
+     * 数据开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
+    private Date dataStartTime;
+
+    /**
+     * 数据结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
+    private Date dataEndTime;
+
+    /**
+     * 分析完成时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8")
+    private Date analysisFinishTime;
+}

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

@@ -0,0 +1,25 @@
+package com.energy.manage.service.domain.vo.analysis;
+
+import com.energy.manage.service.domain.vo.windfield.WindFieldDescriptVo;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * @author chy
+ * @date 2025/1/13 17:21
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class FieldAndAnalysisInfoVo {
+
+    /**
+     * 分析信息
+     */
+    private AnalysisRelateInfoVo analysisInfo;
+
+    /**
+     * 风场信息
+     */
+    private WindFieldDescriptVo fieldInfo;
+}

+ 0 - 1
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windenginegroup/WindEngineGroupShortVo.java

@@ -1,6 +1,5 @@
 package com.energy.manage.service.domain.vo.windenginegroup;
 
-import com.energy.manage.service.domain.vo.analysis.AnalysisTypeShortVo;
 import lombok.Data;
 import lombok.experimental.Accessors;
 

+ 33 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windfield/WindFieldDescriptVo.java

@@ -0,0 +1,33 @@
+package com.energy.manage.service.domain.vo.windfield;
+
+import com.energy.manage.common.po.windfield.WindFieldPO;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2025/1/14 09:34
+ * @desc
+ */
+@Data
+@Accessors(chain = true)
+public class WindFieldDescriptVo extends WindFieldPO {
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 风机数量
+     */
+    private Integer engineCount;
+
+    /**
+     * 风机类型
+     */
+    private List<String> engineMillTypes;
+
+}

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

@@ -76,4 +76,11 @@ public interface AnalysisResultMapper extends MyMapper<AnalysisResultPo> {
      */
     List<AnalysisInfoVo> selectShortInfoByFieldCode(@Param("fieldCode") String fieldCode);
 
+    /**
+     * 根据分析编号查询分析结果
+     * @param batchCode
+     * @return
+     */
+    AnalysisResultPo selectByBatchCode(@Param("batchCode") String batchCode);
+
 }

+ 11 - 6
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/AnalysisService.java

@@ -5,10 +5,7 @@ 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;
-import com.energy.manage.service.domain.vo.analysis.AnalysisDetailVo;
-import com.energy.manage.service.domain.vo.analysis.AnalysisResultShowVo;
-import com.energy.manage.service.domain.vo.analysis.AnalysisResultVo;
-import com.energy.manage.service.domain.vo.analysis.AnalysisTypeShortVo;
+import com.energy.manage.service.domain.vo.analysis.*;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupShortVo;
 import org.apache.ibatis.mapping.ResultMap;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -80,11 +77,11 @@ public interface AnalysisService {
      * 分析详情
      * @param batchCode
      * @param analysisTypeCode
-     * @param fieldEngineCode
+     * @param fieldEngineCodes
      * @param isIntranet
      * @return
      */
-    List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCode, boolean isIntranet);
+    List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCodes, boolean isIntranet);
 
 
     /**
@@ -117,6 +114,14 @@ public interface AnalysisService {
 
 
     /**
+     * 查询风场及分析信息
+     * @param batchCode
+     * @return
+     */
+    FieldAndAnalysisInfoVo getFieldInfo(String batchCode);
+
+
+    /**
      * 全部文件下载查询接口
      * @param fieldCode
      * @param batchCode

+ 42 - 12
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -3,7 +3,6 @@ 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;
@@ -19,10 +18,10 @@ 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.WindFieldDescriptVo;
 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;
@@ -33,7 +32,6 @@ 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.service.cache.CacheService;
 import com.energy.manage.service.util.*;
@@ -50,7 +48,6 @@ 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;
 
@@ -62,7 +59,6 @@ import java.io.OutputStream;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.net.URISyntaxException;
-import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
@@ -305,11 +301,11 @@ public class AnalysisServiceImpl implements AnalysisService {
      * 分析详情
      * @param batchCode
      * @param analysisTypeCode
-     * @param fieldEngineCode
+     * @param fieldEngineCodes
      * @return
      */
     @Override
-    public List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCode, boolean isIntranet) {
+    public List<AnalysisDetailVo> analysisDetail(String batchCode, String analysisTypeCode, List<String> fieldEngineCodes, boolean isIntranet) {
         List<AnalysisDetailVo> analysisDetailVos = new ArrayList<>();
         //获取所有的分析类型
         List<AnalysisTypeVo> analysisTypeVos = analysisTypeMapper.selectByTypeCode(analysisTypeCode);
@@ -319,7 +315,7 @@ public class AnalysisServiceImpl implements AnalysisService {
         //最新总文件
         List<AnalysisGeneralFileVo> newGeneralFileVos = getNewGeneralFiles(batchCode,analysisTypeCode,isIntranet);
         //获取最新分文件
-        List<AnalysisDiagramRelationVo> newDiagramRelationVos = getNewDiagramRelations(batchCode, analysisTypeCode, fieldEngineCode,isIntranet);
+        List<AnalysisDiagramRelationVo> newDiagramRelationVos = getNewDiagramRelations(batchCode, analysisTypeCode, fieldEngineCodes,isIntranet);
         //查询评论
         List<AnalysisCommentDescriptionVo> commentDescriptionVos = commentDescriptionMapper.selecByBatchCodeAndAnalysisTypeCode(batchCode,analysisTypeCode);
         //根据分析类型设置分析结果
@@ -406,6 +402,40 @@ public class AnalysisServiceImpl implements AnalysisService {
         return treeVo;
     }
 
+
+    /**
+     * 查询风场及分析信息
+     * @param batchCode
+     * @return
+     */
+    @Override
+    public FieldAndAnalysisInfoVo getFieldInfo(String batchCode) {
+        AnalysisResultPo analysisResultPo = analysisResultMapper.selectByBatchCode(batchCode);
+        return  new FieldAndAnalysisInfoVo().setFieldInfo(getWindFieldDescriptVo(analysisResultPo.getFieldCode()))
+                                            .setAnalysisInfo(getAnalysisCodeInfo(batchCode));
+    }
+
+    /**
+     * 根据风场编号获取风场信息
+     * @param fieldCode
+     * @return
+     */
+    private WindFieldDescriptVo getWindFieldDescriptVo(String fieldCode){
+//        WindFieldDescriptVo fieldInfoVo = windFieldMapper.selectByCodeNumber(fieldCode);
+//        fieldInfoVo.setFieldCode(fieldCode)
+//                .setFieldName(fieldMapper.selectByCode(fieldCode).getFieldName());
+//        return fieldInfoVo;
+        return null;
+    }
+
+    /**
+     *根据分析编号获取分析信息
+     * @param batchCode
+     * @return
+     */
+    private AnalysisRelateInfoVo getAnalysisCodeInfo(String batchCode){
+        return null;
+    }
     /**
      * 全部文件下载查询接口
      * @param fieldCode
@@ -646,18 +676,18 @@ public class AnalysisServiceImpl implements AnalysisService {
      * 获取最新分析结果分文件
      * @param batchCode
      * @param analysisTypeCode
-     * @param fieldEngineCode
+     * @param fieldEngineCodes
      * @return
      */
-    private List<AnalysisDiagramRelationVo> getNewDiagramRelations(String batchCode,String analysisTypeCode,List<String> fieldEngineCode, boolean intranet){
+    private List<AnalysisDiagramRelationVo> getNewDiagramRelations(String batchCode,String analysisTypeCode,List<String> fieldEngineCodes, boolean intranet){
         //获取当前批次、当前分析类型的所有分析结果文件
-        List<AnalysisDiagramRelationVo> diagramRelationVos = diagramRelationMapper.selectByCondition(batchCode,analysisTypeCode,fieldEngineCode);
+        List<AnalysisDiagramRelationVo> diagramRelationVos = diagramRelationMapper.selectByCondition(batchCode,analysisTypeCode,fieldEngineCodes);
         if(CollectionUtils.isEmpty(diagramRelationVos)){
             return diagramRelationVos;
         }
         diagramRelationVos.forEach(item -> item.setFileAddr(getFilePath(intranet,item.getFileAddr())));
         //如果风机编号不为空的话则不对风机编号进行排序
-        if (CollectionUtils.isNotEmpty(fieldEngineCode)) {
+        if (CollectionUtils.isNotEmpty(fieldEngineCodes)) {
             diagramRelationVos.sort(Comparator.comparing(AnalysisDiagramRelationVo::getCreateTime, Comparator.reverseOrder()));
         } else {
             diagramRelationVos.sort(Comparator.comparing(AnalysisDiagramRelationVo::getFieldEngineCode)

+ 6 - 0
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisResultMapper.xml

@@ -77,6 +77,12 @@
         select batch_code, analysis_name from analysis_result where field_code = #{fieldCode}
     </select>
 
+    <select id="selectByBatchCode" parameterType="java.lang.String" resultMap="BaseResultMap">
+        select *
+        from analysis_result
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+    </select>
+
     <select id="selectLastBatchResultByFieldCode" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisResultVo">
         select result.*
         from analysis_result result

+ 14 - 11
energy-manage-service/src/main/resources/mybatis/windfield/WindFieldMapper.xml

@@ -79,17 +79,20 @@
     <select id="selectByCodeNumber" parameterType="java.lang.String"
             resultType="com.energy.manage.service.domain.vo.windfield.WindFieldVo">
         select
-            company_code as companyCode,
-            field_code as fieldCode,
-            field_name as fieldName,
-            density as density,
-            state as state,
-            province_name as provinceName,
-            city_name as cityName,
-            elevation_height as elevationHeight,
-            create_time as createTime
-        from wind_field
-        where field_code = #{codeNumber}
+            company.company_name,
+            field.company_code as companyCode,
+            field.field_code as fieldCode,
+            field.field_name as fieldName,
+            field.density as density,
+            field.state as state,
+            field.province_name as provinceName,
+            field.city_name as cityName,
+            field.elevation_height as elevationHeight,
+            field.create_time as createTime
+        from wind_field field
+        left join wind_company company
+        on field.company_code = company.company_code
+        where field.field_code = #{codeNumber}
     </select>
 
     <!-- 查询每个风机容量总数 -->