package com.ho.business.service;


import com.ho.business.entity.ColCount;
import com.ho.business.vo.req.colCount.ColCountReq;
import com.ho.business.vo.resp.colCount.ColCountResp;
import com.ho.common.tools.util.PageResult;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author xwz
 * @desc: 指标偏差值
 * @date 2023/7/5
 */
public interface ColCountService {

    /**
     * 分页查询指标偏差值
     * @param vo
     * @return
     */
    PageResult<ColCountResp> getPageList(ColCountReq vo);

    /**
     * 查询指标偏差值
     * @param vo
     * @return
     */
    List<ColCountResp> selectByParam(ColCountReq vo);

    /**
     * 新增指标偏差值
     * @param vo
     * @return
     */
    int insertColCount(ColCount vo);

    /**
     * 新增指标偏差值
     * @param list
     * @return
     */
    int insertList(List<ColCount> list);

    /**
     * 根据id更新
     * @param vo
     * @return
     */
    int updateById(ColCount vo);

    /**
     * 根据id批量删除
     * @param ids
     * @return
     */
    int deleteByList(List<Integer> ids);

    /**
     * 根据电站id删除
     * @param stationId
     * @return
     */
    int deleteStationId(Integer stationId);

    /**
     * 计算偏差值
     * @param ele
     * @param list
     * @return
     */
    BigDecimal countOffset(BigDecimal ele, List<ColCountResp> list);

    /**
     * 根据电站获取设备类型
     * @param stationId
     * @return
     */
    String getDeviceType(Integer stationId);
}
