Переглянути джерело

生成酒店项目报告自测bug修复

lixing 3 роки тому
батько
коміт
ffedd62aeb

+ 5 - 4
src/main/java/com/persagy/apm/energy/report/monthly/config/function/model/vo/ResponseFunctionItemVO.java

@@ -1,13 +1,12 @@
 package com.persagy.apm.energy.report.monthly.config.function.model.vo;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
 
-import com.fasterxml.jackson.annotation.JsonInclude;
-
 /**
  * @author lixing
  * @version V1.0 2021-05-20 19:05:36
@@ -22,13 +21,15 @@ public class ResponseFunctionItemVO {
     @ApiModelProperty("集团编码")
     private String groupCode;
 
-    @ApiModelProperty("能耗类型")
+    @ApiModelProperty(value = "能耗类型",
+            notes = "com.persagy.apm.energy.report.monthly.config.function.constant.enums.EnergyTypeEnum")
     private String energyType;
 
     @ApiModelProperty("建筑类型(业态)")
     private String buildingType;
 
-    @ApiModelProperty("信息点类型(0-能耗,1-费用 ,2-能耗预算,3-费用预算)")
+    @ApiModelProperty(value = "信息点类型",
+            notes = "com.persagy.apm.energy.report.monthly.config.function.constant.enums.FunctionTypeEnum")
     private String functionType;
 
     @ApiModelProperty("能耗模型编码")

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

@@ -11,6 +11,7 @@ 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.constant.enums.FunctionTypeEnum;
 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;
@@ -260,20 +261,16 @@ public class FunctionServiceImpl extends ServiceImpl<FunctionMapper, Function>
         // 注意这里应该传入项目本地编码
         queryItemInfoDTO.setProjectId(simpleProjectInfo.getProjectLocalID());
         queryItemInfoDTO.setBuildingId(simpleProjectInfo.getProjectLocalID());
-        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 {
+        if (EnergyTypeEnum.ELECTRICITY.getType().toString().equals(function.getEnergyType())
+                && FunctionTypeEnum.ENERGY.getType().equals(function.getFunctionType())) {
             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());
             }
+        } else {
+            return function.getName();
         }
 
         return "";

+ 2 - 2
src/main/java/com/persagy/apm/energy/report/monthly/detail/common/model/vo/CostItemVO.java

@@ -1,6 +1,5 @@
 package com.persagy.apm.energy.report.monthly.detail.common.model.vo;
 
-import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,7 +16,8 @@ public class CostItemVO {
     @ApiModelProperty(value = "条目能耗类型",
             notes = "com.persagy.apm.energy.report.monthly.config.function.constant.enums.EnergyTypeEnum")
     private String energyType;
-    @ApiModelProperty("功能类型(0-能耗,1-费用 ,2-能耗预算,3-费用预算)")
+    @ApiModelProperty(value = "功能类型",
+            notes = "com.persagy.apm.energy.report.monthly.config.function.constant.enums.FunctionTypeEnum")
     private String functionType;
 
 

+ 9 - 2
src/main/java/com/persagy/apm/energy/report/monthly/detail/common/service/impl/ReportCostInfoServiceImpl.java

@@ -77,6 +77,8 @@ public abstract class ReportCostInfoServiceImpl implements IReportCostInfoServic
             List<CostItemVO> projectCostItems = getCostItemsByProjects(reportMonth, projectIds, function);
             CostItemVO costSumByProjects = getCostSum(projectCostItems);
             costSumByProjects.setName(itemName);
+            costSumByProjects.setEnergyType(function.getEnergyType());
+            costSumByProjects.setFunctionType(function.getFunctionType());
             costItemVOList.add(costSumByProjects);
         }
         return costItemVOList;
@@ -133,10 +135,15 @@ public abstract class ReportCostInfoServiceImpl implements IReportCostInfoServic
 
         CostItemVO costItemVO = new CostItemVO();
         Double currentMonth = functionValueService.getFunctionValue(functionId, reportMonth, projectId);
-        costItemVO.setCurrentMonth(DataUtils.doubleDivide(currentMonth, unit));
+        if (currentMonth != null) {
+            costItemVO.setCurrentMonth(DataUtils.doubleDivide(currentMonth, unit));
+        }
+
         Double lastMonth = functionValueService.getFunctionValue(
                 functionId, DateUtils.getFirstDayOfLastMonth(reportMonth), projectId);
-        costItemVO.setLastMonth(DataUtils.doubleDivide(lastMonth, unit));
+        if (lastMonth != null) {
+            costItemVO.setLastMonth(DataUtils.doubleDivide(lastMonth, unit));
+        }
 
         // 统计去年同期累计费用
         Double lastYearCount = null;

+ 2 - 0
src/main/java/com/persagy/apm/energy/report/monthly/detail/hotel/area/model/ReportHotelAreaDetail.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energy.report.monthly.detail.hotel.area.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.persagy.apm.energy.report.monthly.detail.hotel.area.model.vo.HotelAreaPowerConsumptionOutline;
 import com.persagy.apm.energy.report.monthly.detail.hotel.area.model.vo.HotelAreaRemainProblem;
@@ -24,6 +25,7 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel(description = "酒店区域报告详情")
+@TableName(autoResultMap = true)
 public class ReportHotelAreaDetail extends AuditableEntity<ReportHotelAreaDetail> implements Serializable {
     private static final long serialVersionUID = 697592670671019747L;
 

+ 2 - 0
src/main/java/com/persagy/apm/energy/report/monthly/detail/hotel/project/model/ReportHotelProjectDetail.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energy.report.monthly.detail.hotel.project.model;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.persagy.apm.energy.report.monthly.detail.hotel.project.model.vo.*;
 import io.swagger.annotations.ApiModel;
@@ -21,6 +22,7 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = true)
 @Data
 @ApiModel(description = "商业报告详情")
+@TableName(autoResultMap = true)
 public class ReportHotelProjectDetail extends AuditableEntity<ReportHotelProjectDetail> implements Serializable {
     private static final long serialVersionUID = 706925849959914678L;
 

+ 1 - 1
src/main/java/com/persagy/apm/energy/report/monthly/detail/hotel/project/service/impl/HotelProjectReportCostServiceImpl.java

@@ -66,7 +66,7 @@ public class HotelProjectReportCostServiceImpl extends ReportCostInfoServiceImpl
         List<CostItemVO> costItemInfos = getCostItemInfos(functionIdList, reportMonth, Lists.newArrayList(projectId));
         hotelProjectCostInfo.setItemsCostInfo(costItemInfos);
 
-        // 获取信息点类型为费用的信息点
+        // 获取信息点类型为费用的信息点, 计算项目总的费用信息
         QueryFunctionDTO queryFunctionDTO = new QueryFunctionDTO();
         queryFunctionDTO.setFunctionIdList(functionIdList);
         queryFunctionDTO.setFunctionType(FunctionTypeEnum.COST.getType());

+ 3 - 1
src/main/java/com/persagy/apm/energy/report/monthly/detail/hotel/project/service/impl/HotelProjectReportPowerInfoOutlineServiceImpl.java

@@ -54,7 +54,9 @@ public class HotelProjectReportPowerInfoOutlineServiceImpl extends ReportPowerIn
             hotelProjectPowerConsumptionOutline.setConsumptionCurrentMonth(currentMonth);
             // 同等碳排放量
             Double slewRate = 2500d;
-            hotelProjectPowerConsumptionOutline.setTce(DataUtils.doubleDivide(currentMonth, slewRate));
+            if (currentMonth != null) {
+                hotelProjectPowerConsumptionOutline.setTce(DataUtils.doubleDivide(currentMonth, slewRate));
+            }
             // 单位建筑面积能耗
             hotelProjectPowerConsumptionOutline.setConsumptionPerSqm(
                     summary.getCurrentMonthPerSqm());

+ 2 - 2
src/main/java/com/persagy/apm/energy/report/monthly/outline/service/builder/common/impl/ReportGenerator.java

@@ -84,9 +84,9 @@ public class ReportGenerator implements IReportGenerator {
      */
     private boolean generateHotelReportDetail(ReportOutline reportOutline, ReportType reportType) {
         if (BelongTypeEnum.PROJECT.getType().equals(reportType.getBelongType())) {
-            return hotelAreaReportBuilder.generateNewReportDetail(reportOutline);
-        } else {
             return hotelProjectReportBuilder.generateNewReportDetail(reportOutline);
+        } else {
+            return hotelAreaReportBuilder.generateNewReportDetail(reportOutline);
         }
     }
 

+ 3 - 0
src/main/java/com/persagy/apm/energy/report/saasweb/service/impl/SaasWebServiceImpl.java

@@ -48,6 +48,8 @@ public class SaasWebServiceImpl implements ISaasWebService {
             ReportProjectVO projectAreas = getProjectAreas(projectId);
             reportProjectVO.setCommercialArea(projectAreas.getCommercialArea());
             reportProjectVO.setUndergroundGarageArea(projectAreas.getUndergroundGarageArea());
+            reportProjectVO.setTotalBuildingArea(projectAreas.getTotalBuildingArea());
+            reportProjectVO.setPublicArea(projectAreas.getPublicArea());
         }
 
         return reportProjectVO;
@@ -115,6 +117,7 @@ public class SaasWebServiceImpl implements ISaasWebService {
         reportProjectVO.setCommercialArea(totalCommercialArea.toString());
         reportProjectVO.setUndergroundGarageArea(totalUndergroundGarageArea.toString());
         reportProjectVO.setTotalBuildingArea(totalBuildingArea.toString());
+        reportProjectVO.setPublicArea(totalPublicArea.toString());
         return reportProjectVO;
     }
 

+ 2 - 1
src/main/resources/bootstrap.yml

@@ -2,8 +2,9 @@ spring:
   application:
     name: energy-report
 
-#EUREKA_CLIENT_DEFAULT_ZONE: http://frame:123456@develop.persagy.com/integrated-eureka/eureka/
+EUREKA_CLIENT_DEFAULT_ZONE: http://frame:123456@develop.persagy.com/integrated-eureka/eureka/
 #EUREKA_CLIENT_DEFAULT_ZONE: http://frame:123456@192.168.64.18:9931/eureka
 
 
 
+