package com.usky.ems.service;

import com.usky.common.mybatis.core.CrudService;
import com.usky.ems.domain.EmsEnergyItemCode;
import com.usky.ems.service.vo.EnergyItemCodeVO;

import java.util.List;

/**
 * 能源分项编码 服务接口
 */
public interface EmsEnergyItemCodeService extends CrudService<EmsEnergyItemCode> {

    /**
     * 查询指定空间下的分项能耗配置（基于能耗公式和分项编码组装树形结构）。
     */
    List<EnergyItemCodeVO> querySpaceEnergyItem(Long spaceId);

    /**
     * 能耗类型列表：parent_code = 0，可按 energyType 筛选
     */
    List<EmsEnergyItemCode> listEnergyTypes(Integer energyType);

    /**
     * 能耗分项列表：parent_code 为能耗类型（parent_code = 0）的编码
     */
    List<EmsEnergyItemCode> listEnergySubItems();
}

