package com.hw.ems.record.service;


import com.alibaba.fastjson2.JSONObject;
import com.hw.ems.record.domain.RecordDnbInstant;
import com.hw.ems.record.domain.vo.RecordDnbInstantDataVo;

import java.util.List;
import java.util.Map;

/**
 * 电实时数据Service接口
 *
 * @author YinQ
 * @date 2023-04-07
 */
public interface IRecordDnbInstantService {
    /**
     * 查询电实时数据
     *
     * @param objid 电实时数据主键
     * @return 电实时数据
     */
    public RecordDnbInstant selectRecordDnbInstantByObjid(Long objid);

    /**
     * 查询电实时数据列表
     *
     * @param recordDnbInstant 电实时数据
     * @return 电实时数据集合
     */
    public RecordDnbInstantDataVo selectRecordDnbInstantList(RecordDnbInstant recordDnbInstant);

    /**
     * 新增电实时数据
     *
     * @param recordDnbInstant 电实时数据
     * @return 结果
     */
    public int insertRecordDnbInstant(RecordDnbInstant recordDnbInstant);

    /**
     * 修改电实时数据
     *
     * @param recordDnbInstant 电实时数据
     * @return 结果
     */
    public int updateRecordDnbInstant(RecordDnbInstant recordDnbInstant);

    /**
     * 批量删除电实时数据
     *
     * @param objids 需要删除的电实时数据主键集合
     * @return 结果
     */
    public int deleteRecordDnbInstantByObjids(String objids);

    /**
     * 删除电实时数据信息
     *
     * @param objid 电实时数据主键
     * @return 结果
     */
    public int deleteRecordDnbInstantByObjid(Long objid);

    /**
     * 实时数据
     *
     * @param recordDnbInstant
     * @return
     */
    List<RecordDnbInstant> instantList(RecordDnbInstant recordDnbInstant);

    /**
     * 获取最新实时电数据
     *
     * @param baseDnbInstant
     * @return
     */
    List<RecordDnbInstant> selectRealTimeParentList(RecordDnbInstant baseDnbInstant);

    /**
     * 表具实时状态
     *
     * @param dnbInstant
     * @return
     */
    RecordDnbInstant tablewareDetailsInfo(RecordDnbInstant dnbInstant);

    List<RecordDnbInstant> voltageCurrentCurve(RecordDnbInstant baseDnbInstant);

    /**
    * 定时任务：通过tde获取电实时数据
    * */
    void getDnbInstantByJob();
}
