package com.steerinfo.ems.trmindexitem.service;

import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.framework.service.pagehelper.PageList;

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

import com.steerinfo.ems.trmindexitem.model.TRmIndexItem;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

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

	/**
	 * 能源综合分析-供需实绩分析-工序能耗对比分析查询
	 * 
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<Map<String, Object>> getDate613ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

	/**
	 * 能源综合分析-供需实绩分析-工序能耗跟踪及趋势分析页面(表1)
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6141ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
	 * 能源综合分析-供需实绩分析-工序能耗跟踪及趋势分析页面(表2)
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6142ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

	/**
	 * 能源综合分析-吨钢综合能耗分析-吨钢综合能耗跟踪及趋势分析--表1
	 * 
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6311ForPage(HashMap<String, Object> parmas);
	
	/**
	 * 能源综合分析-吨钢综合能耗分析-吨钢综合能耗跟踪及趋势分析--表2
	 * 
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6312ForPage(HashMap<String, Object> parmas);
	
	/**
	 * 能源综合分析-吨钢综合能耗分析-吨钢综合能耗影响因素分析-查询
	 * 
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate632ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);


    /**
     * 能源综合分析-指标管理-指标维护-获取树
     * @param parmas
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageList<Map<String,Object>> getTrees(HashMap<String,Object> parmas, Integer pageNum, Integer pageSize);

    /**
     * 求最大的id
     * @param tRmIndexItem
     * @return
     */
    public String getMaxId(TRmIndexItem tRmIndexItem);

    /**
     * 根据指标类型查询IdAndName
     * @return
     */
    List<TRmIndexItem> getIdAndNameByIndextype(@Param("indextype") String indextype);

    /**
     *  能源综合分析-经济指标分析-能耗指标自身对比
     * @param parmas
     * @param pageNum
     * @param pageSize
     * @return
     */
    List<Map<String,Object>> getDate641ForPage(HashMap<String,Object> parmas,Integer pageNum,Integer pageSize);

    /**
     * 能源综合分析-经济指标分析-能耗指标跟踪分析-对比视图
     * @param parameters
     * @return
     */
    List<Map<String,Object>> getDate643ForPage(Map<String,Object> parameters,Integer pageNum,Integer pageSize);

    /**
     * 批量删除指标项目，同时删除公式
     * @param ids
     */
	void delIndexItem(String[] ids);

	/**
	 * 上报指标查询
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<TRmIndexItem> queryLikewForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

}