Browse Source

新增:分析报告类型接口
修改:添加分析报告接口(新增存在更新,不存在增加逻辑)

chenhongyan1989 8 months ago
parent
commit
9e49b151af

+ 29 - 0
energy-manage-common/src/main/java/com/energy/manage/common/enums/ResultReportEnums.java

@@ -0,0 +1,29 @@
+package com.energy.manage.common.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * @author chy
+ * @date 2024/9/24 11:24
+ * @desc
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+public enum ResultReportEnums {
+
+    PROPERTY_ABNORMITY_REPORT(1, "案例风场性能异常分析报告"),
+    ROOT_CAUSE_REPORT(2, "根本原因探查及解决方案"),
+    INCREASE_POWER_REPORT(3, "量化计算提升发电量报告");
+
+    @Setter
+    @Getter
+    private Integer reportType;
+
+    @Setter
+    @Getter
+    private String reportName;
+
+}

+ 10 - 6
energy-manage-service/src/main/java/com/energy/manage/service/controller/analysisresultreport/AnalysisResultReportController.java

@@ -3,12 +3,10 @@ package com.energy.manage.service.controller.analysisresultreport;
 import com.energy.manage.common.reponse.ResultResp;
 import com.energy.manage.service.controller.base.BaseServiceController;
 import com.energy.manage.service.domain.dto.analysis.AnalysisResultReportDto;
+import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo;
 import com.energy.manage.service.service.analysis.AnalysisResultReportService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -26,9 +24,15 @@ public class AnalysisResultReportController extends BaseServiceController {
     private AnalysisResultReportService analysisResultReportService;
 
     @PostMapping("/saveReportBatch")
-    public ResultResp saveReportBatch(@RequestBody List<AnalysisResultReportDto> reportDtoList)
+    public ResultResp saveReportBatch(@RequestBody List<AnalysisResultReportVo> reportVoList)
     {
-        return success(analysisResultReportService.saveReportBatch(reportDtoList));
+        return success(analysisResultReportService.saveReportBatch(reportVoList));
+    }
+
+    @GetMapping("/getRportType")
+    public ResultResp getRportType()
+    {
+        return success(analysisResultReportService.getRportType());
     }
 
 }

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

@@ -20,7 +20,7 @@ public class AnalysisResultReportDto {
     /**
      * 报表类型
      */
-    private String reportType;
+    private Integer reportType;
 
     /**
      * 报表地址

+ 22 - 0
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisResultReportTypeVo.java

@@ -0,0 +1,22 @@
+package com.energy.manage.service.domain.vo.analysis;
+
+import lombok.Data;
+
+/**
+ * @author chy
+ * @date 2024/9/24 11:21
+ * @desc
+ */
+@Data
+public class AnalysisResultReportTypeVo {
+
+    /**
+     * 报表名称
+     */
+    private String reportTypeName;
+
+    /**
+     * 报告类型
+     */
+    private Integer reportType;
+}

+ 1 - 1
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/analysis/AnalysisResultReportVo.java

@@ -20,7 +20,7 @@ public class AnalysisResultReportVo {
     /**
      * 报表类型
      */
-    private String reportType;
+    private Integer reportType;
 
     /**
      * 报表地址

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

@@ -1,6 +1,7 @@
 package com.energy.manage.service.mappers.analysis;
 
 import com.energy.manage.common.mapper.MyMapper;
+import com.energy.manage.common.po.analysis.AnalysisResultReportPo;
 import com.energy.manage.service.domain.dto.analysis.AnalysisResultReportDto;
 import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo;
 import org.apache.ibatis.annotations.Param;
@@ -14,7 +15,7 @@ import java.util.List;
  * @desc
  */
 @Repository
-public interface AnalysisResultReportMapper extends MyMapper<AnalysisResultReportVo> {
+public interface AnalysisResultReportMapper extends MyMapper<AnalysisResultReportPo> {
 
     /**
      * 保存报表
@@ -23,10 +24,34 @@ public interface AnalysisResultReportMapper extends MyMapper<AnalysisResultRepor
     int saveReportBatch(@Param("list") List<AnalysisResultReportDto> resultReportDto);
 
     /**
+     * 保存单个报表
+     * @param resultReportVo
+     * @return
+     */
+    int insertReport(AnalysisResultReportVo resultReportVo);
+
+    /**
+     * 更新报表
+     * @param resultReportVo
+     * @return
+     */
+    int updateReport(AnalysisResultReportVo resultReportVo);
+
+    /**
      * 根据批次查询报表
      * @param batchCode
      * @return
      */
     List<AnalysisResultReportVo> selectByBatchCode(@Param("batchCode") String batchCode);
 
+
+    /**
+     * 查询报告
+     * @param batchCode
+     * @param reportType
+     * @return
+     */
+    AnalysisResultReportPo selectByBatchCodeAndReportType(@Param("batchCode") String batchCode,
+                                                          @Param("reportType") Integer reportType);
+
 }

+ 11 - 4
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/AnalysisResultReportService.java

@@ -1,7 +1,7 @@
 package com.energy.manage.service.service.analysis;
 
-import com.energy.manage.service.domain.dto.analysis.AnalysisResultReportDto;
-import org.apache.ibatis.mapping.ResultMap;
+import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportTypeVo;
+import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo;
 
 import java.util.List;
 
@@ -15,8 +15,15 @@ public interface AnalysisResultReportService {
 
     /**
      * 批量添加保存报告
-     * @param resultReportDto
+     * @param resultReportVos
      * @return
      */
-    int saveReportBatch(List<AnalysisResultReportDto> resultReportDto);
+    int saveReportBatch(List<AnalysisResultReportVo> resultReportVos);
+
+
+    /**
+     * 查询报告类型
+     * @return
+     */
+    List<AnalysisResultReportTypeVo> getRportType();
 }

+ 40 - 4
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisResultReportServiceImpl.java

@@ -1,12 +1,19 @@
 package com.energy.manage.service.service.analysis.impl;
 
-import com.energy.manage.service.domain.dto.analysis.AnalysisResultReportDto;
+import com.energy.manage.common.enums.ResultReportEnums;
+import com.energy.manage.common.po.analysis.AnalysisResultReportPo;
+import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportTypeVo;
+import com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo;
 import com.energy.manage.service.mappers.analysis.AnalysisResultReportMapper;
 import com.energy.manage.service.service.analysis.AnalysisResultReportService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * @author chy
@@ -21,11 +28,40 @@ public class AnalysisResultReportServiceImpl implements AnalysisResultReportServ
     /**
      * 批量添加保存报告
      *
-     * @param resultReportDto
+     * @param resultReportVos
      * @return
      */
     @Override
-    public int saveReportBatch(List<AnalysisResultReportDto> resultReportDto) {
-        return analysisResultReportMapper.saveReportBatch(resultReportDto);
+    public int saveReportBatch(List<AnalysisResultReportVo> resultReportVos) {
+        AtomicInteger integer = new AtomicInteger(0);
+        resultReportVos.forEach(item -> {
+            AnalysisResultReportPo resultReportPo = analysisResultReportMapper.selectByBatchCodeAndReportType(item.getBatchCode(),item.getReportType());
+            if(resultReportPo != null){
+                analysisResultReportMapper.updateReport(item);
+            }else{
+                analysisResultReportMapper.insertReport(item);
+            }
+            integer.getAndIncrement();
+        });
+        return integer.get();
     }
+
+    /**
+     * 查询报告类型
+     *
+     * @return
+     */
+    @Override
+    public List<AnalysisResultReportTypeVo> getRportType() {
+        List<AnalysisResultReportTypeVo> resultReportTypeVos = new ArrayList<>();
+        Arrays.stream(ResultReportEnums.values()).forEach(item -> {
+            AnalysisResultReportTypeVo resultReportTypeVo = new AnalysisResultReportTypeVo();
+            resultReportTypeVo.setReportType(item.getReportType());
+            resultReportTypeVo.setReportTypeName(item.getReportName());
+            resultReportTypeVos.add(resultReportTypeVo);
+        });
+        return resultReportTypeVos;
+    }
+
+
 }

+ 46 - 0
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisResultReportMapper.xml

@@ -31,6 +31,40 @@
         </foreach>
     </insert>
 
+    <update id="updateReport" parameterType="com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo">
+        update analysis_result_report
+        <set>
+            <if test="reportName != null">
+                report_name = #{reportName,jdbcType=VARCHAR},
+            </if>
+            <if test="reportType != null">
+                report_type = #{reportType,jdbcType=INTEGER},
+            </if>
+            <if test="reportAddr != null">
+                report_addr = #{reportAddr,jdbcType=VARCHAR},
+            </if>
+        </set>
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+        and report_type = #{reportType,jdbcType=INTEGER}
+    </update>
+
+    <insert id="insertReport" parameterType="com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo">
+        insert into analysis_result_report
+            (
+                 batch_code,
+                 report_type,
+                 report_name,
+                 report_addr
+             )
+             values
+            (
+                #{batchCode,jdbcType=VARCHAR},
+                #{reportType,jdbcType=INTEGER},
+                #{reportName,jdbcType=VARCHAR},
+                #{reportAddr,jdbcType=VARCHAR}
+            )
+    </insert>
+
     <select id="selectByBatchCode" parameterType="string" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisResultReportVo">
         select batch_code,
                report_name,
@@ -39,4 +73,16 @@
         from analysis_result_report
         where batch_code = #{batchCode,jdbcType=VARCHAR}
     </select>
+
+    <select id="selectByBatchCodeAndReportType" resultType="com.energy.manage.common.po.analysis.AnalysisResultReportPo">
+        select
+            id,
+            batch_code,
+            report_name,
+            report_type,
+            report_addr
+        from analysis_result_report
+        where batch_code = #{batchCode,jdbcType=VARCHAR}
+        and report_type = #{reportType,jdbcType=INTEGER}
+    </select>
 </mapper>