VVT789
2025-02-12 602c6e68101e88d275fe7313495c2009386c1965
电能质量分析--负荷分析数据获取获取实时数据修改
已删除1个文件
已修改8个文件
217 ■■■■ 文件已修改
zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/realtimedata/data/RealtimeDatabaseManager.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/src/main/java/com/zhitan/web/controller/energyMonitor/ElectricLoadController.java
@@ -53,7 +53,7 @@
                           @RequestParam(name = "timeCode") String timeCode) {
        EnergyIndex energyIndex = energyIndexService.getDeviceIndexByCode(nodeId, meterId, CommonConst.TAG_CODE_ZYGGL);
        ListElectricLoadVO vo = electricLoadService.list(timeType, timeCode, energyIndex);
        ListElectricLoadVO vo = electricLoadService.list(timeType, timeCode, energyIndex, meterId);
        return AjaxResult.success(vo);
    }
zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
@@ -867,7 +867,7 @@
    /**
     * æ€»æœ‰åŠŸåŠŸçŽ‡ç‚¹ä½æ¨¡æ¿code
     */
    public static final String TAG_CODE_ZYGGL = "\\_ActivePower_Total";
    public static final String TAG_CODE_ZYGGL = "ActivePow";
    /**
     * æ€»æœ‰åŠŸåŠŸçŽ‡ç‚¹ä½æ¨¡æ¿code
     */
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/IElectricLoadService.java
@@ -17,7 +17,7 @@
    /**
     * èŽ·å–è´Ÿè·åˆ†æžæ•°æ®
     */
    ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex);
    ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex, String meterId);
    /**
     * èŽ·å–èŠ‚ç‚¹ä¸‹æ‰€æœ‰ç”µè¡¨
zhitan-system/src/main/java/com/zhitan/energyMonitor/service/impl/ElectricLoadServiceImpl.java
@@ -46,7 +46,7 @@
    private MeterImplementMapper meterImplementMapper;
    @Override
    public ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex) {
    public ListElectricLoadVO list(String timeType, String timeCode, EnergyIndex energyIndex, String meterId) {
        ListElectricLoadVO vo = new ListElectricLoadVO();
        List<ListElectricLoadItem> itemList = new ArrayList<>();
        vo.setItemList(itemList);
@@ -59,7 +59,7 @@
        detail.setRate(CommonConst.DOUBLE_MINUS_SIGN);
        vo.setDetail(detail);
        MeterImplement meterImplement = meterImplementMapper.selectById(energyIndex.getMeterId());
        MeterImplement meterImplement = meterImplementMapper.selectById(meterId);
        if (ObjectUtil.isEmpty(meterImplement)) {
            return vo;
zhitan-system/src/main/java/com/zhitan/model/mapper/EnergyIndexMapper.java
@@ -100,4 +100,6 @@
  Page<EnergyIndex> selectEnergyIndexPage(@Param("page")Page<?> page, @Param("query") EnergyIndexQuery energyIndexQuery);
    List<EnergyIndex> getIndexByCode(@Param("code")String code, @Param("nodeId")String nodeId);
  List<EnergyIndex> getIndexByMeterIdIndexCode(@Param("meterId") String meterId, @Param("indexCode") String indexCode, @Param("nodeId") String nodeId);
}
zhitan-system/src/main/java/com/zhitan/model/service/impl/EnergyIndexServiceImpl.java
@@ -345,10 +345,8 @@
     * @return
     */
    public List<EnergyIndex> listDeviceIndexByCode(String nodeId, String meterId, String indexCode) {
        return energyIndexMapper.selectList(Wrappers.<EnergyIndex>lambdaQuery()
                .eq(EnergyIndex::getNodeId, nodeId)
                .eq(EnergyIndex::getMeterId, meterId)
                .like(EnergyIndex::getCode, indexCode));
        List<EnergyIndex> energyIndexList = energyIndexMapper.getIndexByMeterIdIndexCode(meterId,indexCode,nodeId);
        return energyIndexList;
    }
    /**
zhitan-system/src/main/java/com/zhitan/realtimedata/data/RealtimeDatabaseManager.java
ÎļþÒÑɾ³ý
zhitan-system/src/main/java/com/zhitan/realtimedata/service/impl/RealtimeDatabaseServiceImpl.java
@@ -6,11 +6,12 @@
import com.zhitan.common.enums.CollectionModes;
import com.zhitan.common.enums.GroupTimeType;
import com.zhitan.common.enums.RetrievalModes;
import com.zhitan.realtimedata.data.RealtimeDatabaseManager;
import com.zhitan.realtimedata.data.influxdb.InfluxDBRepository;
import com.zhitan.realtimedata.domain.TagValue;
import com.zhitan.realtimedata.service.RealtimeDatabaseService;
import org.apache.commons.collections4.CollectionUtils;
import org.joda.time.DateTime;
import org.joda.time.Seconds;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -23,11 +24,10 @@
    private final InfluxDBRepository repository;
    private final RealtimeDatabaseManager realtimeDatabaseManager;
    public RealtimeDatabaseServiceImpl(InfluxDBRepository repository, RealtimeDatabaseManager realtimeDatabaseManager) {
    public RealtimeDatabaseServiceImpl(InfluxDBRepository repository
    ) {
        this.repository = repository;
        this.realtimeDatabaseManager = realtimeDatabaseManager;
    }
    /**
@@ -169,6 +169,15 @@
    @Override
    public List<TagValue> retrieve(String tagCode, Date beginTime, Date endTime,
                                   RetrievalModes retrievalModes, int pointCount) {
        return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount);
        repository.getHistoryData(Collections.singletonList(tagCode), beginTime, endTime, pointCount);
        pointCount = retrievalModes == RetrievalModes.Full ? 200 : pointCount;
        int span =
                Seconds.secondsBetween(new DateTime(beginTime), new DateTime(endTime)).getSeconds();
        int interval = span / pointCount;
        List<String> tagCodes = new ArrayList<>();
        tagCodes.add(tagCode);
        List<TagValue> historyData = repository.getHistoryData(tagCodes, beginTime, endTime, interval);
        return historyData;
//        return realtimeDatabaseManager.retrieve(tagCode, beginTime, endTime, retrievalModes, pointCount);
    }
}
zhitan-system/src/main/resources/mapper/model/EnergyIndexMapper.xml
@@ -391,4 +391,21 @@
        </if>
    </where>
  </select>
  <select id="getIndexByMeterIdIndexCode" resultType="com.zhitan.model.domain.EnergyIndex">
    SELECT ei.code,mi.meter_name||'_'||ei.name as name from energy_index ei
    LEFT JOIN node_device nd on ei.meter_id =  nd.device_id
    LEFT JOIN meter_implement  mi on mi."id" = nd.device_id
    <where>
        <if test="nodeId != null  and nodeId != ''">and nd.node_id  = #{nodeId}</if>
        <if test="indexCode != null  and indexCode != ''">
          and (mi.meter_name like concat('%', #{indexCode}, '%')
          or ei.code like concat('%', #{indexCode}, '%')
          or ei.name like concat('%', #{indexCode}, '%')
          )
        </if>
        <if test="meterId != null  and meterId != ''">
          and ei.meter_id = #{meterId}
        </if>
    </where>
  </select>
</mapper>