Jelajahi Sumber

修改:分析详情页面(sql语句修改)

chenhongyan1989 4 bulan lalu
induk
melakukan
9a2cd640d2

+ 10 - 1
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -155,6 +155,11 @@ public class AnalysisServiceImpl implements AnalysisService {
     private final static String ZREO_STR = "0";
 
     /**
+     * 当分析类型不按照机型分析的话 总图数据库表中风机类型编号的值为total
+     */
+    private final static String GENERAL_FILE_TYPE_CODE = "total";
+
+    /**
      * 风机编号正则
      */
     private static final String ENGINE_CODE_PATTEN = IdPrefixEnum.WIND_EILL_NUMBER.getCode() + "\\d{3," + IdGeneratorUtil.DEC_INIT_LENGTH + "}";
@@ -670,13 +675,17 @@ public class AnalysisServiceImpl implements AnalysisService {
     private List<AnalysisGeneralFileVo> getNewGeneralFiles(String batchCode,String analysisTypeCode, boolean isIntranet){
         //从数据库获取当前批次、当前分析类型的所有的分析总文件
         List<AnalysisGeneralFileVo> generalFileVos = generalFileMapper.selectByCondition(batchCode,analysisTypeCode);
-        generalFileVos = generalFileVos.stream().filter(item-> StringUtils.isBlank(item.getEngineTypeCode()))
+        generalFileVos = generalFileVos.stream().filter(item-> StringUtils.isNotBlank(item.getEngineTypeCode()))
                 .collect(Collectors.groupingBy(
                         AnalysisGeneralFileVo::getEngineTypeCode,
                         Collectors.maxBy(Comparator.comparing(AnalysisGeneralFileVo::getCreateTime)))
                 ).values().stream().map(Optional::get).collect(Collectors.toList());
                 //添加内外网前缀
         generalFileVos.forEach(item -> item.setFileAddr(getFilePath(isIntranet,item.getFileAddr())));
+        //当同一个批次、同一个分析类型下,存在多个总文件时,说明一定是按照机型分析,需过滤掉total机型的文件
+        if(generalFileVos.size() > 1){
+            generalFileVos = generalFileVos.stream().filter(item -> !item.getAnalysisTypeCode().equals(GENERAL_FILE_TYPE_CODE)).collect(Collectors.toList());
+        }
         return generalFileVos;
     }
 

+ 11 - 8
energy-manage-service/src/main/resources/mybatis/analysis/AnalysisGeneralFileMapper.xml

@@ -14,15 +14,18 @@
 
     <select id="selectByCondition" parameterType="java.lang.String" resultType="com.energy.manage.service.domain.vo.analysis.AnalysisGeneralFileVo">
         select
-            batch_code,
-            analysis_type_code,
-            file_addr,
-            engine_type_code,
-            create_time
-        from analysis_general_file
-        where batch_code = #{batchCode,jdbcType=VARCHAR}
+        general.batch_code,
+        general.analysis_type_code,
+        type.type_name as analysis_type_name,
+        general.file_addr,
+        general.engine_type_code,
+        general.create_time
+        from analysis_general_file general
+        left join analysis_type type
+        on type.type_code = general.analysis_type_code
+        where general.batch_code = #{batchCode,jdbcType=VARCHAR}
         <if test="analysisTypeCode!=null and analysisTypeCode!=''">
-            and analysis_type_code = #{analysisTypeCode,jdbcType=VARCHAR}
+            and general.analysis_type_code = #{analysisTypeCode,jdbcType=VARCHAR}
         </if>
     </select>