ソースを参照

约定当itemId=sumItem时,直接根据功能点类型获取功能点名称

lixing 3 年 前
コミット
fa5eaba3f5

+ 59 - 0
src/main/java/com/persagy/apm/energy/report/monthly/config/function/constant/enums/EnergyTypeEnum.java

@@ -0,0 +1,59 @@
+package com.persagy.apm.energy.report.monthly.config.function.constant.enums;
+
+import com.persagy.apm.common.model.annotation.SwaggerDisplayEnum;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * 能耗类型
+ *
+ * @author lixing
+ * @version V1.0 2021/5/17 10:51 上午
+ */
+@SwaggerDisplayEnum
+public enum EnergyTypeEnum {
+    /**
+     * 能耗类型
+     */
+    ELECTRICITY(1, "电费"),
+    COLD(2, "冷"),
+    HOT(3, "供暖费"),
+    WATER(4, "水费"),
+    GAS(5, "燃气费"),
+    OIL(6,"燃油"),
+    STEAM(7,"蒸汽");
+
+    @Setter
+    @Getter
+    private Integer type;
+    @Setter
+    @Getter
+    private String desc;
+
+    EnergyTypeEnum(Integer type, String desc) {
+        this.type = type;
+        this.desc = desc;
+    }
+
+    /**
+     * 根据type获取到枚举对象
+     *
+     * @param type 报告状态编码
+     * @return 能耗类型枚举对象
+     * @author lixing
+     * @version V1.0 2021/5/31 4:06 下午
+     */
+    public static EnergyTypeEnum getByType(Integer type) {
+        if (type == null) {
+            return null;
+        }
+        EnergyTypeEnum[] energyTypeEnums = EnergyTypeEnum.values();
+        for (EnergyTypeEnum energyTypeEnum : energyTypeEnums) {
+            if (type.equals(energyTypeEnum.getType())) {
+                return energyTypeEnum;
+            }
+        }
+        return null;
+    }
+}

+ 31 - 17
src/main/java/com/persagy/apm/energy/report/monthly/config/function/service/impl/FunctionServiceImpl.java

@@ -1,31 +1,35 @@
 package com.persagy.apm.energy.report.monthly.config.function.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.base.CaseFormat;
+import com.persagy.apm.common.constant.enums.ValidEnum;
 import com.persagy.apm.common.context.AppContext;
+import com.persagy.apm.common.model.dto.Sort;
 import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryItemInfoDTO;
 import com.persagy.apm.energy.report.centermiddleware.service.ICenterMiddlewareWebService;
+import com.persagy.apm.energy.report.monthly.config.function.constant.enums.EnergyTypeEnum;
 import com.persagy.apm.energy.report.monthly.config.function.dao.FunctionMapper;
+import com.persagy.apm.energy.report.monthly.config.function.model.ConvertFunctionTool;
+import com.persagy.apm.energy.report.monthly.config.function.model.Function;
+import com.persagy.apm.energy.report.monthly.config.function.model.dto.AddFunctionDTO;
+import com.persagy.apm.energy.report.monthly.config.function.model.dto.PageQueryFunctionDTO;
+import com.persagy.apm.energy.report.monthly.config.function.model.dto.QueryFunctionDTO;
+import com.persagy.apm.energy.report.monthly.config.function.model.dto.UpdateFunctionDTO;
 import com.persagy.apm.energy.report.monthly.config.function.service.IFunctionService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.persagy.apm.energy.report.saasweb.model.vo.SimpleProjectVO;
 import com.persagy.apm.energy.report.saasweb.service.ISaasWebService;
+import org.apache.commons.lang.StringUtils;
 import org.assertj.core.util.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.apache.commons.lang.StringUtils;
-import com.persagy.apm.common.constant.enums.ValidEnum;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.persagy.apm.energy.report.monthly.config.function.model.*;
-import com.persagy.apm.energy.report.monthly.config.function.model.dto.*;
+import org.springframework.util.CollectionUtils;
 
 import java.util.List;
 import java.util.Map;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.base.CaseFormat;
-import com.persagy.apm.common.model.dto.Sort;
-import org.springframework.util.CollectionUtils;
-
 /**
  * 能耗报告信息点(Function) service层
  *
@@ -260,12 +264,22 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function>
         // 注意这里应该传入项目本地编码
         queryItemInfoDTO.setProjectId(simpleProjectInfo.getProjectLocalID());
         queryItemInfoDTO.setBuildingId(simpleProjectInfo.getProjectLocalID());
-        queryItemInfoDTO.setModelCode(function.getModelCode());
-        queryItemInfoDTO.setItemIdList(Lists.newArrayList(function.getItemId()));
-        Map<String, String> itemNameMap = centerMiddlewareWebService.   getItemNameMap(queryItemInfoDTO);
-        if (itemNameMap != null) {
-            return itemNameMap.get(function.getItemId());
+        String defaultNoItemId = "sumItem";
+        if (defaultNoItemId.equals(function.getItemId())) {
+            if (StringUtils.isBlank(function.getEnergyType())) {
+                return "";
+            }
+            EnergyTypeEnum energyTypeEnum = EnergyTypeEnum.getByType(Integer.parseInt(function.getEnergyType()));
+            return energyTypeEnum.getDesc();
+        } else {
+            queryItemInfoDTO.setModelCode(function.getModelCode());
+            queryItemInfoDTO.setItemIdList(Lists.newArrayList(function.getItemId()));
+            Map<String, String> itemNameMap = centerMiddlewareWebService.getItemNameMap(queryItemInfoDTO);
+            if (itemNameMap != null) {
+                return itemNameMap.get(function.getItemId());
+            }
         }
+
         return "";
     }
 }

+ 2 - 1
src/main/java/com/persagy/apm/energy/report/monthly/outline/service/impl/BusinessReportPowerInfoServiceImpl.java

@@ -219,7 +219,8 @@ public class BusinessReportPowerInfoServiceImpl implements IBusinessReportPowerI
         // 去年一月
         queryEnergyDataDTO.setStartDate(DateUtils.date2Str(
                 DateUtils.getFirstDayOfLastYear(reportMonth), DateUtils.SDF_SECOND));
-        queryEnergyDataDTO.setEndDate(DateUtils.date2Str(reportMonth, DateUtils.SDF_SECOND));
+        // 结束时间往后延一个月,中间件时间查询为左闭右开
+        queryEnergyDataDTO.setEndDate(DateUtils.date2Str(DateUtils.getMonthOff(reportMonth, 1), DateUtils.SDF_SECOND));
         queryEnergyDataDTO.setItemIdList(Lists.newArrayList(itemId));
         queryEnergyDataDTO.setTimeType(TimeTypeEnum.MONTH.getType());
         return centerMiddlewareWebService.getItemEnergyDataMap(queryEnergyDataDTO);