Browse Source

Merge branch 'dev-v1.0.0' of http://39.106.8.246:3003/apm/energy-report into dev-v1.0.0

lixing 4 years ago
parent
commit
775ccd321a
17 changed files with 304 additions and 18 deletions
  1. 46 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/client/CenterMiddlewareWebClient.java
  2. 16 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/client/fallback/CenterMiddlewareWebClientFallbackFactory.java
  3. 30 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/model/dto/QueryEnergyDataDTO.java
  4. 23 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/model/dto/QueryItemInfoDTO.java
  5. 16 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/model/vo/EnergyDataInfoVO.java
  6. 14 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/model/vo/EnergyItemInfoVO.java
  7. 32 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/service/ICenterMiddlewareWebService.java
  8. 68 0
      src/main/java/com/persagy/apm/energy/report/centermiddleware/service/impl/ICenterMiddlewareWebServiceImp.java
  9. 19 0
      src/main/java/com/persagy/apm/energy/report/common/DataConstants.java
  10. 2 0
      src/main/java/com/persagy/apm/energy/report/common/FeignClientNameConstants.java
  11. 12 2
      src/main/java/com/persagy/apm/energy/report/common/service/impl/CommonServiceImpl.java
  12. 13 7
      src/main/java/com/persagy/apm/energy/report/environment/service/impl/IEnvironmentWebServiceImpl.java
  13. 1 1
      src/main/java/com/persagy/apm/energy/report/iotdataanalysis/service/impl/IDataAnalysisWebServiceImpl.java
  14. 5 3
      src/main/java/com/persagy/apm/energy/report/manualfilling/controller/ManualFillingController.java
  15. 4 4
      src/main/java/com/persagy/apm/energy/report/manualfilling/service/impl/IEnergyItemDataServiceImpl.java
  16. 2 0
      src/main/java/com/persagy/apm/energy/report/saasweb/model/vo/PoemsProjectVO.java
  17. 1 1
      src/main/java/com/persagy/apm/energy/report/workorder/service/impl/IWorkOrderWebServiceImpl.java

+ 46 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/client/CenterMiddlewareWebClient.java

@@ -0,0 +1,46 @@
+package com.persagy.apm.energy.report.centermiddleware.client;
+
+import com.persagy.apm.common.response.PoemsFeignResponse;
+import com.persagy.apm.energy.report.centermiddleware.client.fallback.CenterMiddlewareWebClientFallbackFactory;
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryEnergyDataDTO;
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryItemInfoDTO;
+import com.persagy.apm.energy.report.centermiddleware.model.vo.EnergyDataInfoVO;
+import com.persagy.apm.energy.report.centermiddleware.model.vo.EnergyItemInfoVO;
+import com.persagy.apm.energy.report.common.FeignClientNameConstants;
+import com.persagy.apm.energy.report.common.FeignConfig;
+import feign.Headers;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * 中间件feign客户端
+ **/
+@FeignClient(name = FeignClientNameConstants.CENTER_MIDDLEWARE, fallbackFactory = CenterMiddlewareWebClientFallbackFactory.class,
+        configuration = FeignConfig.class)
+public interface CenterMiddlewareWebClient {
+
+    /**
+     * 获取分项的能耗数据
+     *
+     * @param queryEnergyDataDTO 查询条件
+     * @return 项目下的建筑信息
+     * @author wch
+     * @version V1.0 2021/5/19 2:27 下午
+     */
+    @PostMapping("/queryEnergyData")
+    @Headers({"Content-Type: application/json"})
+    PoemsFeignResponse<EnergyDataInfoVO> getItemEnergyData(QueryEnergyDataDTO queryEnergyDataDTO);
+
+    /**
+     * 获取分项名称
+     *
+     * @param queryItemInfoDTO 查询条件
+     * @return 项目下的建筑信息
+     * @author wch
+     * @version V1.0 2021/5/19 2:27 下午
+     */
+    @PostMapping("/queryItemIdName")
+    @Headers({"Content-Type: application/json"})
+    PoemsFeignResponse<EnergyItemInfoVO> getItemNameInfo(QueryItemInfoDTO queryItemInfoDTO);
+
+}

+ 16 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/client/fallback/CenterMiddlewareWebClientFallbackFactory.java

@@ -0,0 +1,16 @@
+package com.persagy.apm.energy.report.centermiddleware.client.fallback;
+
+import com.persagy.apm.energy.report.centermiddleware.client.CenterMiddlewareWebClient;
+import feign.hystrix.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * feign fallback处理
+ */
+@Component
+public class CenterMiddlewareWebClientFallbackFactory implements FallbackFactory<CenterMiddlewareWebClient> {
+    @Override
+    public CenterMiddlewareWebClient create(Throwable throwable) {
+        return null;
+    }
+}

+ 30 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/model/dto/QueryEnergyDataDTO.java

@@ -0,0 +1,30 @@
+package com.persagy.apm.energy.report.centermiddleware.model.dto;
+
+import com.persagy.apm.common.model.dto.PoemsFeignBaseDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class QueryEnergyDataDTO extends PoemsFeignBaseDTO {
+    @ApiModelProperty("项目本地编码")
+    private String projectId;
+    @ApiModelProperty("建筑本地编码(与项目一致)")
+    private String buildingId;
+    @ApiModelProperty("能耗模型")
+    private String modelCode;
+    @ApiModelProperty("分项id列表")
+    private List<String> itemIdList;
+    @ApiModelProperty("开始时间")
+    private String startDate;
+    @ApiModelProperty("结束时间")
+    private String endDate;
+    @ApiModelProperty("查询数据类型1-时 2-天 3-月")
+    private Integer timeType;
+
+}

+ 23 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/model/dto/QueryItemInfoDTO.java

@@ -0,0 +1,23 @@
+package com.persagy.apm.energy.report.centermiddleware.model.dto;
+
+import com.persagy.apm.common.model.dto.PoemsFeignBaseDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel
+public class QueryItemInfoDTO extends PoemsFeignBaseDTO {
+    @ApiModelProperty("项目本地编码")
+    private String projectId;
+    @ApiModelProperty("建筑本地编码(与项目一致)")
+    private String buildingId;
+    @ApiModelProperty("能耗模型")
+    private String modelCode;
+    @ApiModelProperty("分项id列表")
+    private List<String> itemIdList;
+}

+ 16 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/model/vo/EnergyDataInfoVO.java

@@ -0,0 +1,16 @@
+package com.persagy.apm.energy.report.centermiddleware.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel
+@Data
+public class EnergyDataInfoVO {
+    @ApiModelProperty(value = "分项id")
+    private String itemId;
+    @ApiModelProperty(value = "数据时间")
+    private String time;
+    @ApiModelProperty(value = "数据")
+    private Double data;
+}

+ 14 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/model/vo/EnergyItemInfoVO.java

@@ -0,0 +1,14 @@
+package com.persagy.apm.energy.report.centermiddleware.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel
+@Data
+public class EnergyItemInfoVO {
+    @ApiModelProperty(value = "分项id")
+    private String itemId;
+    @ApiModelProperty(value = "分项名称")
+    private String itemName;
+}

+ 32 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/service/ICenterMiddlewareWebService.java

@@ -0,0 +1,32 @@
+package com.persagy.apm.energy.report.centermiddleware.service;
+
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryEnergyDataDTO;
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryItemInfoDTO;
+import io.swagger.annotations.Api;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+@Api(value = "中间件service接口")
+public interface ICenterMiddlewareWebService {
+    /**
+     * 获取分项名称
+     *
+     * @param queryItemInfoDTO 查询条件对象
+     * @return 分项名称信息 {分项id:分项名称}
+     * @author wch
+     * @version V1.0 2021/5/19 4:04 下午
+     */
+    Map getItemNameMap(QueryItemInfoDTO queryItemInfoDTO);
+
+    /**
+     * 获取分项能耗数据
+     *
+     * @param queryEnergyDataDTO 查询条件对象
+     * @return 分项每月能耗信息{分项id:{时间(Date):数据(Double)}
+     * @author wch
+     * @version V1.0 2021/5/19 4:04 下午
+     */
+    Map<String, TreeMap> getItemEnergyDataMap(QueryEnergyDataDTO queryEnergyDataDTO);
+
+}

+ 68 - 0
src/main/java/com/persagy/apm/energy/report/centermiddleware/service/impl/ICenterMiddlewareWebServiceImp.java

@@ -0,0 +1,68 @@
+package com.persagy.apm.energy.report.centermiddleware.service.impl;
+
+import com.persagy.apm.common.response.PoemsFeignResponse;
+import com.persagy.apm.energy.report.centermiddleware.client.CenterMiddlewareWebClient;
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryEnergyDataDTO;
+import com.persagy.apm.energy.report.centermiddleware.model.dto.QueryItemInfoDTO;
+import com.persagy.apm.energy.report.centermiddleware.model.vo.EnergyDataInfoVO;
+import com.persagy.apm.energy.report.centermiddleware.model.vo.EnergyItemInfoVO;
+import com.persagy.apm.energy.report.centermiddleware.service.ICenterMiddlewareWebService;
+import com.persagy.apm.energy.report.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+@Service
+public class ICenterMiddlewareWebServiceImp implements ICenterMiddlewareWebService {
+
+    @Autowired
+    private CenterMiddlewareWebClient centerMiddlewareWebClient;
+
+    @Override
+    public Map getItemNameMap(QueryItemInfoDTO queryItemInfoDTO) {
+        if (null == queryItemInfoDTO) {
+            return new HashMap<>();
+        }
+        PoemsFeignResponse<EnergyItemInfoVO> response = centerMiddlewareWebClient.getItemNameInfo(queryItemInfoDTO);
+        List<EnergyItemInfoVO> energyItemInfoVOList = response.getContent();
+        if (CollectionUtils.isEmpty(energyItemInfoVOList)) {
+            return new HashMap<>();
+        }
+        Map resultMap = new HashMap<>();
+        for (EnergyItemInfoVO energyItemInfoVO : energyItemInfoVOList) {
+            resultMap.put(energyItemInfoVO.getItemId(), energyItemInfoVO.getItemName());
+        }
+        return resultMap;
+    }
+
+    @Override
+    public Map<String, TreeMap> getItemEnergyDataMap(QueryEnergyDataDTO queryEnergyDataDTO) {
+        if (null == queryEnergyDataDTO) {
+            return new HashMap<>();
+        }
+        PoemsFeignResponse<EnergyDataInfoVO> response = centerMiddlewareWebClient.getItemEnergyData(queryEnergyDataDTO);
+        List<EnergyDataInfoVO> energyDataInfoVOList = response.getContent();
+        if (CollectionUtils.isEmpty(energyDataInfoVOList)) {
+            return new HashMap<>();
+        }
+        Map<String, TreeMap> resultMap = new HashMap<>();
+        try {
+            for (EnergyDataInfoVO energyDataInfoVO : energyDataInfoVOList) {
+                TreeMap date_dataMap = resultMap.get(energyDataInfoVO.getItemId());
+                if (null == date_dataMap) {
+                    date_dataMap = new TreeMap<>();
+                }
+                date_dataMap.put(DateUtils.str2Date(energyDataInfoVO.getTime(), DateUtils.SDF_SECOND), energyDataInfoVO.getData());
+                resultMap.put(energyDataInfoVO.getItemId(), date_dataMap);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return resultMap;
+    }
+}

+ 19 - 0
src/main/java/com/persagy/apm/energy/report/common/DataConstants.java

@@ -0,0 +1,19 @@
+package com.persagy.apm.energy.report.common;
+
+/**
+ * 常量类
+ *
+ **/
+public class DataConstants {
+
+    public static final String USER_ID = "systemId";
+
+    public static final String PD = "123";
+
+    public static final String LOGIN_DEVICE = "PC";
+
+    public static final String ENV_TYPE_ID = "Temp";
+
+    public static final String ENV_PARENT_TYPE_ID = "Humiture";
+
+}

+ 2 - 0
src/main/java/com/persagy/apm/energy/report/common/FeignClientNameConstants.java

@@ -13,4 +13,6 @@ public class FeignClientNameConstants {
 
     public static final String ENVIRONMENT = "environment-saas-web";
 
+    public static final String CENTER_MIDDLEWARE = "center-middleware";
+
 }

+ 12 - 2
src/main/java/com/persagy/apm/energy/report/common/service/impl/CommonServiceImpl.java

@@ -1,6 +1,8 @@
 package com.persagy.apm.energy.report.common.service.impl;
 
+import com.persagy.apm.common.model.dto.PoemsPuser;
 import com.persagy.apm.common.response.PoemsFeignResponse;
+import com.persagy.apm.energy.report.common.DataConstants;
 import com.persagy.apm.energy.report.common.service.CommonService;
 import com.persagy.apm.energy.report.saasweb.model.dto.QueryProjectDTO;
 import com.persagy.apm.energy.report.saasweb.model.vo.PoemsProjectVO;
@@ -22,7 +24,15 @@ public class CommonServiceImpl implements CommonService {
 
     @Override
     public List<String> getPjNameByPjId(List<String> pjIdList) {
+        if(CollectionUtils.isEmpty(pjIdList)){
+            return new ArrayList<>();
+        }
         QueryProjectDTO queryProjectDTO = new QueryProjectDTO();
+        PoemsPuser poemsPuser = new PoemsPuser();
+        poemsPuser.setUserId(DataConstants.USER_ID);
+        poemsPuser.setLoginDevice(DataConstants.LOGIN_DEVICE);
+        poemsPuser.setPd(DataConstants.PD);
+        queryProjectDTO.setPuser(poemsPuser);
         PoemsFeignResponse<PoemsProjectVO> projectsResponse = saasWebClientWrapper.queryProjects(queryProjectDTO);
         List<PoemsProjectVO> projectVOList = projectsResponse.getContent();
         if (!CollectionUtils.isEmpty(projectVOList)) {
@@ -31,10 +41,10 @@ public class CommonServiceImpl implements CommonService {
                 if (!pjIdList.contains(poemsProjectVO.getProjectId())) {
                     continue;
                 }
-                pjNameList.add(poemsProjectVO.getProjectName());
+                pjNameList.add(poemsProjectVO.getProjectLocalName());
             }
             return pjNameList;
         }
-        return null;
+        return new ArrayList<>();
     }
 }

+ 13 - 7
src/main/java/com/persagy/apm/energy/report/environment/service/impl/IEnvironmentWebServiceImpl.java

@@ -1,6 +1,7 @@
 package com.persagy.apm.energy.report.environment.service.impl;
 
 import com.persagy.apm.common.response.PoemsFeignResponse;
+import com.persagy.apm.energy.report.common.DataConstants;
 import com.persagy.apm.energy.report.common.dto.QueryAreaPlatformParamDTO;
 import com.persagy.apm.energy.report.common.dto.QueryPjPlatformParamDTO;
 import com.persagy.apm.energy.report.common.service.CommonService;
@@ -10,7 +11,9 @@ import com.persagy.apm.energy.report.environment.model.dto.QueryEnvListByParamDT
 import com.persagy.apm.energy.report.environment.model.vo.EnvAvgRateVO;
 import com.persagy.apm.energy.report.environment.service.IEnvironmentWebService;
 import com.persagy.apm.energy.report.monthly.detail.business.model.Platform;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -22,7 +25,7 @@ import java.util.stream.Collectors;
 @Service
 public class IEnvironmentWebServiceImpl implements IEnvironmentWebService {
 
-    @Resource
+    @Autowired
     private EnvironmentWebClientWrapper environmentWebClientWrapper;
     @Resource
     private CommonService commonService;
@@ -33,7 +36,7 @@ public class IEnvironmentWebServiceImpl implements IEnvironmentWebService {
         Date reportDate = queryPjPlatformParamDTO.getReportDate();
         Date startDate = DateUtils.getFirstDayOfYear(reportDate);
         while (startDate.before(DateUtils.getMonthOff(reportDate, 1))) {
-            date_rateMap.put(startDate, getEnvAvgRate(queryPjPlatformParamDTO.getProjectId(), reportDate));
+            date_rateMap.put(startDate, getEnvAvgRate(queryPjPlatformParamDTO.getProjectId(), startDate));
             startDate = DateUtils.getMonthOff(startDate, 1);
         }
         List<Double> monthlySummaries = date_rateMap.values().stream().collect(Collectors.toList());
@@ -45,14 +48,17 @@ public class IEnvironmentWebServiceImpl implements IEnvironmentWebService {
         try {
             QueryEnvListByParamDTO paramDTO = new QueryEnvListByParamDTO();
             paramDTO.setProjectId(pjId);
-            paramDTO.setEnvTypeId("Temp");
-            paramDTO.setEnvParentTypeId("Humiture");
+            paramDTO.setEnvTypeId(DataConstants.ENV_TYPE_ID);
+            paramDTO.setEnvParentTypeId(DataConstants.ENV_PARENT_TYPE_ID);
             paramDTO.setStartTime(DateUtils.date2Str(reportDate, DateUtils.SDF_SECOND));
             paramDTO.setEndTime(DateUtils.date2Str(DateUtils.getMonthOff(reportDate, 1), DateUtils.SDF_SECOND));
             PoemsFeignResponse<EnvAvgRateVO> response = environmentWebClientWrapper.listWorkOrderByParam(paramDTO);
-            EnvAvgRateVO envAvgRateVO = (EnvAvgRateVO) response.getContent();
-            if (null != envAvgRateVO) {
-                return envAvgRateVO.getAvgNum();
+            List<EnvAvgRateVO> envAvgRateVOList = response.getContent();
+            if (!CollectionUtils.isEmpty(envAvgRateVOList)) {
+                EnvAvgRateVO envAvgRateVO = envAvgRateVOList.get(0);
+                if (null != envAvgRateVO) {
+                    return envAvgRateVO.getAvgNum();
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 1 - 1
src/main/java/com/persagy/apm/energy/report/iotdataanalysis/service/impl/IDataAnalysisWebServiceImpl.java

@@ -36,7 +36,7 @@ public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
         while (startDate.before(DateUtils.getMonthOff(reportDate, 1))) {
             Double bianSunRate = null;
             Double zongZhiRate = null;
-            getBianSunAndZongZhiRate(queryPjPlatformParamDTO.getUserId(), queryPjPlatformParamDTO.getGroupCode(), queryPjPlatformParamDTO.getProjectId(), bianSunRate, zongZhiRate, reportDate);
+            getBianSunAndZongZhiRate(queryPjPlatformParamDTO.getUserId(), queryPjPlatformParamDTO.getGroupCode(), queryPjPlatformParamDTO.getProjectId(), bianSunRate, zongZhiRate, startDate);
             biansun_date_rateMap.put(startDate, bianSunRate);
             zongzhi_date_rateMap.put(startDate, zongZhiRate);
             startDate = DateUtils.getMonthOff(startDate, 1);

+ 5 - 3
src/main/java/com/persagy/apm/energy/report/manualfilling/controller/ManualFillingController.java

@@ -4,6 +4,7 @@ import com.persagy.apm.common.response.ApmResponseUpsertVO;
 import com.persagy.apm.common.response.CommonResult;
 import com.persagy.apm.common.response.PageList;
 import com.persagy.apm.common.utils.ResultHelper;
+import com.persagy.apm.energy.report.common.DataConstants;
 import com.persagy.apm.energy.report.manualfilling.model.dto.QueryEnergyItemDataDTO;
 import com.persagy.apm.energy.report.manualfilling.model.dto.SaveEnergyItemDataDTO;
 import com.persagy.apm.energy.report.manualfilling.model.vo.EnergyItemInfoVo;
@@ -31,8 +32,8 @@ public class ManualFillingController {
     @ApiOperation(value = "查询报告能耗分项列表")
     @PostMapping("/query")
     public CommonResult<PageList<EnergyItemInfoVo>> queryEnergyItemDataList(
-            @Valid @RequestBody QueryEnergyItemDataDTO queryEnergyItemDataDTO, @RequestParam(value = "userId", defaultValue = "systemId") String userId,
-            @RequestParam(value = "loginDevice", defaultValue = "PC") String loginDevice, @RequestParam(value = "pd", defaultValue = "123") String pd) {
+            @Valid @RequestBody QueryEnergyItemDataDTO queryEnergyItemDataDTO, @RequestParam(value = "userId", defaultValue = DataConstants.USER_ID) String userId,
+            @RequestParam(value = "loginDevice", defaultValue = DataConstants.LOGIN_DEVICE) String loginDevice, @RequestParam(value = "pd", defaultValue = DataConstants.PD) String pd) {
         List<EnergyItemInfoVo> energyItemInfoVoList = iEnergyItemDataService.queryEnergyItemDataList(queryEnergyItemDataDTO);
         return ResultHelper.multi(energyItemInfoVoList);
     }
@@ -40,7 +41,8 @@ public class ManualFillingController {
     @ApiOperation(value = "保存能耗分项数值")
     @PostMapping("/save")
     public CommonResult<ApmResponseUpsertVO> updateReportBusinessDetail(
-            @Valid @RequestBody SaveEnergyItemDataDTO saveEnergyItemDataDTO) {
+            @Valid @RequestBody SaveEnergyItemDataDTO saveEnergyItemDataDTO, @RequestParam(value = "userId", defaultValue = DataConstants.USER_ID) String userId,
+            @RequestParam(value = "loginDevice", defaultValue = DataConstants.LOGIN_DEVICE) String loginDevice, @RequestParam(value = "pd", defaultValue = DataConstants.PD) String pd) {
         iEnergyItemDataService.saveEnergyItemData(saveEnergyItemDataDTO);
         return ResultHelper.single(new ApmResponseUpsertVO());
     }

+ 4 - 4
src/main/java/com/persagy/apm/energy/report/manualfilling/service/impl/IEnergyItemDataServiceImpl.java

@@ -42,7 +42,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
     public List<EnergyItemInfoVo> queryEnergyItemDataList(QueryEnergyItemDataDTO queryEnergyItemDataDTO) {
         try {
             ReportProjectVO projectVO = iSaasWebService.getReportProjectInfo(queryEnergyItemDataDTO.getProjectId());
-            if (null == projectVO ) {
+            if (null == projectVO || StringUtils.isEmpty(projectVO.getFunctionType())) {
                 return new ArrayList<>();
             }
             QueryFunctionDTO queryFunctionDTO = new QueryFunctionDTO();
@@ -52,7 +52,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
             }
             queryFunctionDTO.setEnergyType(queryEnergyItemDataDTO.getEnergyType());
             queryFunctionDTO.setFunctionType(queryEnergyItemDataDTO.getFunctionType());
-            queryFunctionDTO.setBuildingType("300");
+            queryFunctionDTO.setBuildingType(projectVO.getFunctionType());
             // 查询配置的分项信息列表
             List<Function> functionList = functionService.queryFunctionList(queryFunctionDTO);
             if (CollectionUtils.isEmpty(functionList)) {
@@ -61,7 +61,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
             // 配置信息点id列表
             List<String> functionIdList = new ArrayList<>();
             for (Function function : functionList) {
-                functionIdList.add(function.getItemId());
+                functionIdList.add(function.getId());
             }
             QueryFunctionValueDTO queryFunctionValueDTO = new QueryFunctionValueDTO();
             queryFunctionValueDTO.setProjectId(queryEnergyItemDataDTO.getProjectId());
@@ -109,7 +109,7 @@ public class IEnergyItemDataServiceImpl implements IEnergyItemDataService {
             if (null == projectVO || StringUtils.isEmpty(projectVO.getFunctionType())) {
                 throw new Exception("获取不到项目信息");
             }
-            saveEnergyItemDataDTO.setFunctionType(projectVO.getFunctionType());
+            saveEnergyItemDataDTO.setBuildingType(projectVO.getFunctionType());
             List<EnergyItemInfoVo> energyItemInfoVoList = saveEnergyItemDataDTO.getDataList();
             Map<String, String> itemId_functionIdMap = getFunctionIdMap(saveEnergyItemDataDTO);
             for (EnergyItemInfoVo energyItemInfoVo : energyItemInfoVoList) {

+ 2 - 0
src/main/java/com/persagy/apm/energy/report/saasweb/model/vo/PoemsProjectVO.java

@@ -17,6 +17,8 @@ public class PoemsProjectVO {
     private String projectName;
     @ApiModelProperty(value = "项目本地编码")
     private String projectLocalID;
+    @ApiModelProperty(value = "项目本地名称")
+    private String projectLocalName;
     @ApiModelProperty(value = "项目功能类型")
     private String functionType;
     @ApiModelProperty(value = "项目功能类型名称")

+ 1 - 1
src/main/java/com/persagy/apm/energy/report/workorder/service/impl/IWorkOrderWebServiceImpl.java

@@ -34,7 +34,7 @@ public class IWorkOrderWebServiceImpl implements IWorkOrderWebService {
         Date reportDate = queryPjPlatformParamDTO.getReportDate();
         Date startDate = DateUtils.getFirstDayOfYear(reportDate);
         while (startDate.before(DateUtils.getMonthOff(reportDate, 1))) {
-            date_rateMap.put(startDate, getWorkOrderCompleteRate(queryPjPlatformParamDTO.getProjectId(), reportDate, queryPjPlatformParamDTO.getUserId()));
+            date_rateMap.put(startDate, getWorkOrderCompleteRate(queryPjPlatformParamDTO.getProjectId(), startDate, queryPjPlatformParamDTO.getUserId()));
             startDate = DateUtils.getMonthOff(startDate, 1);
         }
         List<Double> monthlySummaries = date_rateMap.values().stream().collect(Collectors.toList());