zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricPowerFactorController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorDetail.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorItem.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricPowerFactorService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricPowerFactorServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricPowerFactorController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.zhitan.web.controller.energyMonitor; import com.zhitan.common.annotation.Log; import com.zhitan.common.constant.CommonConst; import com.zhitan.common.core.controller.BaseController; import com.zhitan.common.core.domain.AjaxResult; import com.zhitan.energyMonitor.service.IElectricPowerFactorService; import com.zhitan.model.domain.EnergyIndex; import com.zhitan.model.service.IEnergyIndexService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * @Description: åçå æ° * @Author: yxw * @Date: 2022-04-24 * @Version: V1.2 */ @Api(tags = "åçå æ°") @RestController @RequestMapping("/powerFactorAnalysis") @Slf4j public class ElectricPowerFactorController extends BaseController { @Autowired private IElectricPowerFactorService electricPowerFactorService; @Autowired private IEnergyIndexService energyIndexService; /** * æ ¹æ®çµè¡¨idè·ååçå æ°æ°æ® * * @param nodeId èç¹id * @param meterId çµè¡¨id * @param timeCode æ¶é´å¼ 䏿¶é´ç±»å对åºï¼2022-03-21 */ @Log(title = "æ ¹æ®çµè¡¨idè·ååçå æ°æ°æ®") @ApiOperation(value = "æ ¹æ®çµè¡¨idè·ååçå æ°æ°æ®", notes = "æ ¹æ®çµè¡¨idè·ååçå æ°æ°æ®") @GetMapping(value = "/detail") public AjaxResult list(@RequestParam(name = "nodeId") String nodeId, @RequestParam(name = "meterId") String meterId, @RequestParam(name = "timeCode") String timeCode) { EnergyIndex energyIndex = energyIndexService.getDeviceIndexByCode(nodeId, meterId, CommonConst.TAG_CODE_GLYS); return AjaxResult.success(electricPowerFactorService.list(timeCode, energyIndex)); } } zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorDetail.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.zhitan.energyMonitor.domain.vo; import lombok.Data; /** * @Description: TODO * @author: yxw * @date: 2022å¹´04æ24æ¥ 16:59 */ @Data public class ElectricPowerFactorDetail { /** * æå¤§åçå æ° */ private String max; /** * æå¤§åçå æ°åçæ¶é´ */ private String maxTime; /** * æå°åçå æ° */ private String min; /** * æå°åçå æ°åçæ¶é´ */ private String minTime; /** * å¹³ååçå æ° */ private String avg; } zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorItem.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.zhitan.energyMonitor.domain.vo; import lombok.Data; /** * @Description: TODO * @author: yxw * @date: 2022å¹´04æ24æ¥ 16:59 */ @Data public class ElectricPowerFactorItem { /** * æ¶é´ */ private String timeCode; /** * 宿¶å¼ */ private String value; } zhitan-system/src/main/java/com/zhitan/energyMonitor/domain/vo/ElectricPowerFactorVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.zhitan.energyMonitor.domain.vo; import lombok.Data; import java.util.List; /** * @Description: TODO * @author: yxw * @date: 2022å¹´04æ24æ¥ 16:58 */ @Data public class ElectricPowerFactorVO { /** * è®°å½å表 */ private List<ElectricPowerFactorItem> itemList; /** * 详æ å®ä½ */ private ElectricPowerFactorDetail detail; } zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricPowerFactorService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.zhitan.energyMonitor.service; import com.zhitan.energyMonitor.domain.vo.ElectricPowerFactorVO; import com.zhitan.model.domain.EnergyIndex; /** * @Description: * @Author: jeecg-boot * @Date: 2022-04-19 * @Version: V1.0 */ public interface IElectricPowerFactorService { /** * è·åè´è·åææ°æ® */ ElectricPowerFactorVO list(String timeCode, EnergyIndex energyIndex); } zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricPowerFactorServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,115 @@ package com.zhitan.energyMonitor.service.impl; import cn.hutool.core.util.ObjectUtil; import com.zhitan.common.constant.CommonConst; import com.zhitan.common.constant.TimeTypeConst; import com.zhitan.common.utils.ChartUtils; import com.zhitan.common.utils.DateTimeUtil; import com.zhitan.common.utils.DoubleUtil; import com.zhitan.energyMonitor.domain.vo.ElectricPowerFactorDetail; import com.zhitan.energyMonitor.domain.vo.ElectricPowerFactorItem; import com.zhitan.energyMonitor.domain.vo.ElectricPowerFactorVO; import com.zhitan.energyMonitor.service.IElectricPowerFactorService; import com.zhitan.model.domain.EnergyIndex; import com.zhitan.realtimedata.domain.TagValue; import com.zhitan.realtimedata.service.RealtimeDatabaseService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @Description: sensor_alarm_item * @Author: jeecg-boot * @Date: 2022-04-19 * @Version: V1.0 */ @Slf4j @Service public class ElectricPowerFactorServiceImpl implements IElectricPowerFactorService { @Autowired private RealtimeDatabaseService realtimeDatabaseService; @Override public ElectricPowerFactorVO list(String timeCode, EnergyIndex energyIndex) { ElectricPowerFactorVO vo = new ElectricPowerFactorVO(); List<ElectricPowerFactorItem> itemList = new ArrayList<>(); ElectricPowerFactorDetail detail = new ElectricPowerFactorDetail(); detail.setMaxTime(CommonConst.DOUBLE_MINUS_SIGN); detail.setMax(CommonConst.DOUBLE_MINUS_SIGN); detail.setMin(CommonConst.DOUBLE_MINUS_SIGN); detail.setMinTime(CommonConst.DOUBLE_MINUS_SIGN); vo.setItemList(itemList); vo.setDetail(detail); List<Date> dateList = new ArrayList<>(); ChartUtils.generateDateList(TimeTypeConst.TIME_TYPE_DAY, timeCode, dateList); double max = CommonConst.DIGIT_0, min = CommonConst.MIN_INIT_VALUE; //dateListè®¡æ° Date now = new Date(); //å½åæ¶é´è½¬ææ´æ¶æ´ç¹ now = DateTimeUtil.getHourTime(TimeTypeConst.TIME_TYPE_HOUR, now); int i = CommonConst.DIGIT_0; for (Date date : dateList) { ElectricPowerFactorItem temp = new ElectricPowerFactorItem(); temp.setTimeCode(ChartUtils.getTimeCodeChart(TimeTypeConst.TIME_TYPE_DAY, date)); temp.setValue(CommonConst.DOUBLE_MINUS_SIGN); itemList.add(temp); // 妿大äºå½åæ¶é´é»è®¤-- if (DateTimeUtil.compareDateDiff(date, now) > CommonConst.DIGIT_0) { i++; continue; } TagValue tagValue = new TagValue(); try { TagValue retrieve = realtimeDatabaseService.retrieve(energyIndex.getCode(), date); if (ObjectUtil.isNotEmpty(retrieve)) { tagValue = retrieve; } } catch (Exception e) { log.error("è·ååçå æ°å¼å¸¸ï¼" + e.getMessage()); } if (ObjectUtil.isNotEmpty(tagValue.getValue())) { double value = DoubleUtil.formatDouble(tagValue.getValue()); temp.setValue(String.valueOf(value)); //ç»æå°å¼èµå¼ç¬¬ä¸æ¡ if (i == CommonConst.DIGIT_0) { min = Double.parseDouble(temp.getValue()); } if (value > max) { max = value; detail.setMax(max + CommonConst.EMPTY); detail.setMaxTime(DateTimeUtil.getDateTime(date)); } if (value <= min) { min = value; detail.setMin(min + CommonConst.EMPTY); detail.setMinTime(DateTimeUtil.getDateTime(date)); } } i++; } detail.setAvg(CommonConst.DOUBLE_MINUS_SIGN); if (ObjectUtil.isNotEmpty(itemList)) { double avg = CommonConst.DIGIT_DOUBLE_0; for (ElectricPowerFactorItem li : itemList) { try { if (!li.getValue().equals(CommonConst.DOUBLE_MINUS_SIGN)) { avg += DoubleUtil.toDouble(li.getValue()); } } catch (Exception e) { log.error(e.getMessage()); } } detail.setAvg(DoubleUtil.formatDoubleToStr(avg / itemList.size())); } return vo; } } zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java
@@ -288,11 +288,11 @@ } /** * @description: hmj å页æ¥è¯¢ * @param query * @param pageNum * @param pageSize * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.zhitan.model.domain.EnergyIndex> * @description: hmj å页æ¥è¯¢ * @author: hmj * @date: 2024/10/11 23:56 */ @@ -340,14 +340,14 @@ /** * æ ¹æ®ç¨è½åå idå设å¤idï¼ä»¥åç¹ä½ç¼ç è·åç¹ä½ * * @param energyUnitId ç¨è½åå id * @param nodeId èç¹id * @param meterId 设å¤id * @param indexCode ç¹ä½ç¼ç æè ç¹ä½ç¼ç çä¸é¨å * @return */ public List<EnergyIndex> listDeviceIndexByCode(String energyUnitId, String meterId, String indexCode) { public List<EnergyIndex> listDeviceIndexByCode(String nodeId, String meterId, String indexCode) { return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery() .eq(EnergyIndex::getNodeId, energyUnitId) .eq(EnergyIndex::getNodeId, nodeId) .eq(EnergyIndex::getMeterId, meterId) .like(EnergyIndex::getCode, indexCode)); }