瀏覽代碼

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

lixing 3 年之前
父節點
當前提交
5ca71d4ca2

+ 22 - 3
src/main/java/com/persagy/apm/energy/report/common/service/CommonService.java

@@ -74,10 +74,29 @@ public interface CommonService {
     /**
      * 获取酒店项目节能工单信息
      *
-     * @param projectIdList 项目id列表
-     * @param reportDate    报告月
+     * @param projectId  项目id
+     * @param reportDate 报告月
+     * @return
+     */
+    HotelProjectEnergyWorkerOrderInfo getHotelProjectEnergyWorkerOrderInfo(String projectId, Date reportDate);
+
+    /**
+     * 获取项目变损和总支不平衡率信息
+     *
+     * @param projectId  项目id
+     * @param reportDate 报告月
+     * @param userId     用户id
+     * @return
+     */
+    HotelProjectMaintenanceBaseInfo getHotelProjectMaintenanceBaseInfo(String projectId, Date reportDate, String userId);
+
+    /**
+     * 获取酒店项目冷站效率
+     *
+     * @param projectId  项目id
+     * @param reportDate 报告月
      * @return
      */
-    HotelProjectEnergyWorkerOrderInfo getHotelProjectEnergyWorkerOrderInfo(String projectIdList, Date reportDate);
+    HotelProjectChillerPlantEfficiency getHotelProjectChillerPlantEfficiency(String projectId, Date reportDate);
 
 }

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

@@ -10,6 +10,7 @@ import com.persagy.apm.energy.report.common.utils.DataUtils;
 import com.persagy.apm.energy.report.common.utils.DateUtils;
 import com.persagy.apm.energy.report.common.utils.SpringContextHolder;
 import com.persagy.apm.energy.report.common.vo.PlatformAreaInfoVO;
+import com.persagy.apm.energy.report.emsweather.service.EMSWeatherWebService;
 import com.persagy.apm.energy.report.environment.model.dto.BatchQueryEnvListByParamDTO;
 import com.persagy.apm.energy.report.environment.service.IEnvironmentWebService;
 import com.persagy.apm.energy.report.equiprunmanager.service.IEquipRunManagerService;
@@ -79,6 +80,9 @@ public class CommonServiceImpl implements CommonService {
     @Autowired
     IEquipRunManagerService iEquipRunManagerService;
 
+    @Autowired
+    EMSWeatherWebService emsWeatherWebService;
+
     @Override
     public List<String> getPjNameByPjId(List<String> pjIdList) {
         if (CollectionUtils.isEmpty(pjIdList)) {
@@ -133,6 +137,10 @@ public class CommonServiceImpl implements CommonService {
 
     @Override
     public HotelProjectAlarmDealInfo getHotelProjectAlarmDealInfo(String projectId, Date reportDate) {
+        if (StringUtils.isEmpty(projectId) || null == reportDate) {
+            log.info("获取HotelProjectAlarmDealInfo信息时传入参为空,故不进行查询");
+            return new HotelProjectAlarmDealInfo();
+        }
         Integer workCount = null;
         Integer dealCount = null;
         List<WorkOrder> askEndTimeList = iWorkOrderWebService.getWorkOrderNumByParam(projectId, reportDate, "ask_end_time", null);
@@ -160,6 +168,7 @@ public class CommonServiceImpl implements CommonService {
     @Override
     public HotelProjectKpiItem getHotelProjectKpiItem(String projectId, Date reportDate, List<String> projectIdList, Function function) {
         if (CollectionUtils.isEmpty(projectIdList) || StringUtils.isEmpty(projectId) || null == reportDate || null == function || StringUtils.isEmpty(function.getItemId())) {
+            log.info("获取HotelProjectKpiItem信息时传入参为空,故不进行查询");
             return new HotelProjectKpiItem();
         }
         try {
@@ -197,6 +206,7 @@ public class CommonServiceImpl implements CommonService {
     @Override
     public HotelProjectMaintenanceGraph getHotelProjectMaintenanceGraph(String userId, String projectId, Date reportDate, Function function) {
         if (StringUtils.isEmpty(projectId) || null == reportDate || null == function || StringUtils.isEmpty(function.getItemId())) {
+            log.info("获取HotelProjectMaintenanceGraph信息时传入参为空,故不进行查询");
             return new HotelProjectMaintenanceGraph();
         }
         HotelProjectMaintenanceGraph hotelProjectMaintenanceGraph = new HotelProjectMaintenanceGraph();
@@ -244,6 +254,10 @@ public class CommonServiceImpl implements CommonService {
 
     @Override
     public HotelProjectMaintenanceInfo getHotelProjectMaintenanceInfo(String userId, String projectId, Date reportDate, List<Function> functionList, List<String> projectIdList) {
+        if (StringUtils.isEmpty(projectId) || null == reportDate || CollectionUtils.isEmpty(functionList) || CollectionUtils.isEmpty(projectIdList)) {
+            log.info("获取HotelProjectMaintenanceInfo信息时传入参为空,故不进行查询");
+            return new HotelProjectMaintenanceInfo();
+        }
         HotelProjectMaintenanceInfo hotelProjectMaintenanceInfo = new HotelProjectMaintenanceInfo();
         List<HotelProjectMaintenanceGraph> hotelProjectMaintenanceGraphList = new ArrayList<>();
         if (!CollectionUtils.isEmpty(functionList)) {
@@ -251,7 +265,7 @@ public class CommonServiceImpl implements CommonService {
                 hotelProjectMaintenanceGraphList.add(getHotelProjectMaintenanceGraph(userId, projectId, reportDate, function));
             }
         }
-        List<AlarmInfoVo> alarmInfoVoList = iDataAnalysisWebService.getAlarmInfoVo(userId, groupCode, projectIdList, reportDate);
+        List<AlarmInfoVo> alarmInfoVoList = iDataAnalysisWebService.getAlarmInfoVo(groupCode, projectIdList, reportDate);
         Map<String, Integer> sortMap = new HashMap<>();
         sortMap.put("alarmCount", -1);
         DataUtils.sort(alarmInfoVoList, sortMap);
@@ -272,6 +286,7 @@ public class CommonServiceImpl implements CommonService {
     @Override
     public HotelProjectEnergyWorkerOrderInfo getHotelProjectEnergyWorkerOrderInfo(String projectId, Date reportDate) {
         if (StringUtils.isEmpty(projectId) || null == reportDate) {
+            log.info("获取HotelProjectEnergyWorkerOrderInfo信息时传入参为空,故不进行查询");
             return new HotelProjectEnergyWorkerOrderInfo();
         }
         HotelProjectEnergyWorkerOrderInfo hotelProjectEnergyWorkerOrderInfo = new HotelProjectEnergyWorkerOrderInfo();
@@ -334,4 +349,41 @@ public class CommonServiceImpl implements CommonService {
         return hotelProjectEnergyWorkerOrderInfo;
     }
 
+    @Override
+    public HotelProjectMaintenanceBaseInfo getHotelProjectMaintenanceBaseInfo(String projectId, Date reportDate, String userId) {
+        if (StringUtils.isEmpty(projectId) || null == reportDate) {
+            log.info("获取HotelProjectMaintenanceBaseInfo信息时传入参为空,故不进行查询");
+            return new HotelProjectMaintenanceBaseInfo();
+        }
+        String userCode = DataConstants.USER_ID;
+        if (!StringUtils.isEmpty(userId)) {
+            userCode = userId;
+        }
+        HotelProjectMaintenanceBaseInfo hotelProjectMaintenanceBaseInfo = iDataAnalysisWebService.getHotelProjectMaintenanceBaseInfo(userCode, groupCode, projectId, reportDate);
+        // 获取项目信息
+        ReportProjectVO reportProjectInfo = saasWebService.getReportProjectInfo(projectId);
+        hotelProjectMaintenanceBaseInfo.setProjectName(null == reportProjectInfo ? "" : reportProjectInfo.getProjectName());
+        return hotelProjectMaintenanceBaseInfo;
+    }
+
+    @Override
+    public HotelProjectChillerPlantEfficiency getHotelProjectChillerPlantEfficiency(String projectId, Date reportDate) {
+        if (StringUtils.isEmpty(projectId) || null == reportDate) {
+            log.info("获取HotelProjectChillerPlantEfficiency信息时传入参为空,故不进行查询");
+            return new HotelProjectChillerPlantEfficiency();
+        }
+        HotelProjectChillerPlantEfficiency hotelProjectChillerPlantEfficiency = new HotelProjectChillerPlantEfficiency();
+        Double avgTempCurrentMonth = emsWeatherWebService.getPjMonthAvgTemp(projectId, reportDate);
+        Double avgTempLastYearMonth = emsWeatherWebService.getPjMonthAvgTemp(projectId, reportDate);
+        emsWeatherWebService.getPjMonthAvgTemp(projectId, DateUtils.getYearOff(reportDate, -1));
+        hotelProjectChillerPlantEfficiency.setAverageTemperatureCurrentMonth(avgTempCurrentMonth);
+        hotelProjectChillerPlantEfficiency.setAverageTemperatureLastYearSameTime(avgTempLastYearMonth);
+        Double avgTempGrowth = null;
+        if (avgTempCurrentMonth != null && avgTempLastYearMonth != null) {
+            avgTempGrowth = avgTempCurrentMonth = avgTempLastYearMonth;
+        }
+        hotelProjectChillerPlantEfficiency.setAverageTemperatureGrowth(avgTempGrowth);
+        return hotelProjectChillerPlantEfficiency;
+    }
+
 }

+ 13 - 2
src/main/java/com/persagy/apm/energy/report/iotdataanalysis/service/IDataAnalysisWebService.java

@@ -2,6 +2,7 @@ package com.persagy.apm.energy.report.iotdataanalysis.service;
 
 import com.persagy.apm.energy.report.iotdataanalysis.model.AlarmInfoVo;
 import com.persagy.apm.energy.report.iotdataanalysis.model.CountAndDayRateDataVo;
+import com.persagy.apm.energy.report.monthly.detail.hotel.project.model.vo.HotelProjectMaintenanceBaseInfo;
 import io.swagger.annotations.Api;
 
 import java.util.Date;
@@ -35,12 +36,22 @@ public interface IDataAnalysisWebService {
     /**
      * 获取报警信息
      *
-     * @param userId        用户id
      * @param groupCode     集团编码
      * @param projectIdList 项目id列表
      * @param reportDate    生成报告月
      * @return
      */
-    List<AlarmInfoVo> getAlarmInfoVo(String userId, String groupCode, List<String> projectIdList, Date reportDate);
+    List<AlarmInfoVo> getAlarmInfoVo(String groupCode, List<String> projectIdList, Date reportDate);
+
+    /**
+     * 获取项目变损和总支不平衡率
+     *
+     * @param userId     用户id
+     * @param groupCode  集团编码
+     * @param projectId  项目id
+     * @param reportDate 报告月
+     * @return
+     */
+    HotelProjectMaintenanceBaseInfo getHotelProjectMaintenanceBaseInfo(String userId, String groupCode, String projectId, Date reportDate);
 
 }

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

@@ -8,6 +8,7 @@ import com.persagy.apm.energy.report.common.utils.HttpUtils;
 import com.persagy.apm.energy.report.iotdataanalysis.model.AlarmInfoVo;
 import com.persagy.apm.energy.report.iotdataanalysis.model.CountAndDayRateDataVo;
 import com.persagy.apm.energy.report.iotdataanalysis.service.IDataAnalysisWebService;
+import com.persagy.apm.energy.report.monthly.detail.hotel.project.model.vo.HotelProjectMaintenanceBaseInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Value;
@@ -70,18 +71,20 @@ public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
             JSONObject responseObject = JSONObject.parseObject(response);
             if (DataConstants.SUCCESS.equals(responseObject.getString("respMsg"))) {
                 Map data = (Map) responseObject.get("content");
-                vo.setCountRate(DataUtils.parseDouble(data.get("rate")));
-                List<Map> dataList = (List<Map>) data.get("list");
-                TreeMap<Date, Double> dataMap = new TreeMap<>();
-                if (CollectionUtils.isNotEmpty(dataList)) {
-                    for (Map map : dataList) {
-                        Double rate = DataUtils.parseDouble(map.get("rate"));
-                        long dataLong = (long) map.get("dataTime");
-                        Date date = new Date(dataLong);
-                        dataMap.put(date, rate);
+                if (null != data) {
+                    vo.setCountRate(DataUtils.parseDouble(data.get("rate")));
+                    List<Map> dataList = (List<Map>) data.get("list");
+                    TreeMap<Date, Double> dataMap = new TreeMap<>();
+                    if (CollectionUtils.isNotEmpty(dataList)) {
+                        for (Map map : dataList) {
+                            Double rate = DataUtils.parseDouble(map.get("rate"));
+                            long dataLong = (long) map.get("dataTime");
+                            Date date = new Date(dataLong);
+                            dataMap.put(date, rate);
+                        }
                     }
+                    vo.setDataMap(dataMap);
                 }
-                vo.setDataMap(dataMap);
             }
         } catch (Exception e) {
             log.error("获取数据质量看板信息异常:", e);
@@ -90,7 +93,7 @@ public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
     }
 
     @Override
-    public List<AlarmInfoVo> getAlarmInfoVo(String userId, String groupCode, List<String> projectIdList, Date reportDate) {
+    public List<AlarmInfoVo> getAlarmInfoVo(String groupCode, List<String> projectIdList, Date reportDate) {
         List<AlarmInfoVo> resultList = new ArrayList<>();
         try {
             JSONObject paramObject = new JSONObject();
@@ -152,5 +155,38 @@ public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
         return resultList;
     }
 
+    @Override
+    public HotelProjectMaintenanceBaseInfo getHotelProjectMaintenanceBaseInfo(String userId, String groupCode, String projectId, Date reportDate) {
+        HotelProjectMaintenanceBaseInfo hotelProjectMaintenanceBaseInfo = new HotelProjectMaintenanceBaseInfo();
+        try {
+            JSONObject paramObject = new JSONObject();
+            paramObject.put("userId", userId);
+            paramObject.put("groupCode", groupCode);
+            List<String> pjIdList = new ArrayList<>();
+            pjIdList.add(projectId);
+            paramObject.put("projectIdList", pjIdList);
+            Date startTime = DateUtils.getStartTimeOfDay(reportDate);
+            Date endTime = DateUtils.getMonthOff(startTime, 1);
+            paramObject.put("alarmStartTime", startTime);
+            paramObject.put("alarmEndTime", endTime);
+            String url = iotDataAnalysisUrl + "/alarm/show/view/queryList";
+            String response = HttpUtils.postJson(url, paramObject.toString());
+            JSONObject responseObject = JSONObject.parseObject(response);
+            if (DataConstants.SUCCESS.equals(responseObject.getString("respMsg"))) {
+                List<Map> content = (List<Map>) responseObject.get("content");
+                if (CollectionUtils.isNotEmpty(content)) {
+                    Map data = content.get(0);
+                    if (null != data) {
+                        hotelProjectMaintenanceBaseInfo.setImbalanceRate(DataUtils.parseDouble(data.get("zongZhiRate")));
+                        hotelProjectMaintenanceBaseInfo.setChangeLossRate(DataUtils.parseDouble(data.get("bianSunRate")));
+                    }
+                }
+            }
+        } catch (Exception e) {
+            log.error("获取数据质量服务变损数据异常", e);
+        }
+        return hotelProjectMaintenanceBaseInfo;
+    }
+
 
 }