package com.steerinfo.ems.trmindexvalue.service;

import com.steerinfo.framework.service.IBaseService;
import com.steerinfo.ems.trmindexvalue.model.TRmIndexValue;
import com.steerinfo.framework.service.pagehelper.PageList;

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

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

    PageList<Map<String,Object>> getTRmIndexValues(HashMap<String,Object> parmas, Integer pageNum, Integer pageSize);

    /**
	 * 指标管理数据定时统计（T_RM_INDEX_VALUE表）
	 */
    void statData();
    
    /**
     * 修改最终值，并且重新计算影响的指标项目相关数据
     * 
     * @param tRmIndexValue
     * @return
     */
    TRmIndexValue modifyAndCompute(TRmIndexValue tRmIndexValue);
    
    /**
     * 重新计算单个项目数据(新增或者更新月、年数据)
     * 
     * @param itemid 项目ID
     * @param clock	时间
     * @param timegranid 时间粒度
     * @param opuser 操作人
     * @return
     */
    String restatData(String itemid, String clock, String timegranid,String opuser);

    /**
     * 全用途指标数据查询（实绩、厂标、行标、国标对比）
     * 
     * @param parmas
     * @param pageNum
     * @param pageSize
     * @return
     */
	PageList<Map<String, Object>> getIndexData(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);

	/**
	 * 能源综合分析 - 经济指标分析-重要指标展示-企业吨产品水耗趋势图
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> chtResult5(HashMap<String, Object> parmas);
	
	/**
	 * 能源综合分析 - 经济指标分析-重要指标展示-企业吨产品电耗趋势图
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> chtResult6(HashMap<String, Object> parmas);
	
	/**
	 * 能源综合分析 - 经济指标分析-重要指标展示-企业能源消耗耗趋势图
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> chtResult7(HashMap<String, Object> parmas);
	
	/**
	 * 能源综合分析 - 经济指标分析-重要指标展示-企业能源消耗耗结构图
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> chtResult10(HashMap<String, Object> parmas);
	
	/**
	 * 指标管理财务数据数据定时统计（T_RM_INDEX_VALUE表）
	 */
    void statDataF();
    /**
     * 重新计算财务数据单个项目数据(新增或者更新月、年数据)
     * 
     * @param itemid 项目ID
     * @param clock	时间
     * @param timegranid 时间粒度
     * @param opuser 操作人
     * @return
     */
    String restatDataF(String itemid, String clock, String timegranid,String opuser);

}