package com.steerinfo.ems.trmactitem.service;

import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.ems.trmactitem.model.TRmActItem;
import com.steerinfo.framework.service.pagehelper.PageList;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * TRmActItem服务接口：
 * @author generator
 * @version 1.0-SNAPSHORT 2019-10-11 11:41
 * 类描述
 * 修订历史：
 * 日期：2019-10-11
 * 作者：generator
 * 参考：
 * 描述：TRmActItem服务接口
 * @see null
 * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
 */
public interface ITRmActItemService extends IBaseService<TRmActItem, String>{

    List<TRmActItem>getIdAndName(@Param("itemtype") String itemtype);

    PageList<Map<String, Object>> getActitemDetaltsForPage(Map<String, Object> parameters, Integer pageNum, Integer pageSize);

    /**
     * 查询计划项目维护结果区
     * @return
     */
    PageList<Map<String,Object>>getPlanitemDetalts(Map<String,Object> parameters,Integer pageNum, Integer pageSize);

    /**
     * 实绩项目查询
     * 
     * @param mintimegranid 最小时间粒度
     * @return
     */
    List<TRmActItem> getforsj(@Param("mintimegranid") String mintimegranid);

    /**
     * 项目查询
     * @return
     */
    List<TRmActItem> getitems(@Param("itemtype")String itemtype);
    
    /**
     * 平衡项目数据查询
     * @param parameters
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageList<Map<String, Object>> getBalanceDataForPage(Map<String, Object> parameters, Integer pageNum, Integer pageSize);

    /**
     * 上报项目查询
     * @param parmas
     * @param pageNum
     * @param pageSize
     * @return
     */
	PageList<TRmActItem> queryLikewForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
     * 财务项目查询
     * @param parmas
     * @param pageNum
     * @param pageSize
     * @return
     */
	PageList<TRmActItem> queryLikefForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
     * 上报关联能耗查询
     * @return
     */
	List<Map<String, Object>> getAssItems();
	
	/**
     * 上报关联产量查询
     * @return
     */
	List<Map<String, Object>> getProItems();

	/**
	 * 获取上报关联产量列表
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> listpv(HashMap<String, Object> parmas);

}