package com.steerinfo.ems.trmactvalue.mapper;

import com.steerinfo.ems.trmactvalue.model.TRmActValue;
import com.steerinfo.framework.mapper.IBaseMapper;

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

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface TRmActValueMapper extends IBaseMapper<TRmActValue, HashMap<String, Object>> {

	/**
	 * 获得供需实绩对比分析数据（能源综合分析-供需实绩分析-供需实绩对比分析页面，查询数据）
	 * 
	 * @return
	 */
	List<Map<String, Object>> getDate611(Map<String, Object> parameters);

	/**
	 * 能源综合分析-供需实绩分析-供需实绩跟踪及趋势分析页面(表1)
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> getDate6121(HashMap<String, Object> parmas);

	/**
	 * 能源综合分析-供需实绩分析-供需实绩跟踪及趋势分析页面(表12)
	 * 
	 * @param parmas
	 * @return
	 */
	List<Map<String, Object>> getDate6122(HashMap<String, Object> parmas);

    /**
     * 计算累计值
     * @param params <br/>
     *  itemid 项目ID <br/>
     *  clock 时间头(like clock%)<br/>
     *  timegranid 时间粒度
     * @return
     */
    Double getSumvalue(HashMap<String,Object> params);
    
    /**
     * 计算累计值2（计算日期小于参数值的累计值）
     * 
     * @param params <br/>
     * 	itemid 项目ID <br/>
     *  clock 小于该时间<br/>
     *  ckhead 时间头<br/>
     *  timegranid 时间粒度
     * @return
     */
    Double getSumvalue2(HashMap<String,Object> params);

    /**
     * 月粒度 获取计算值
     * @param params
     * @return
     */
    Double getTRmActValue(HashMap<String,Object> params);
    /**
     * 获取月实绩产量和累计产量
     * @param params
     * @return
     */
    Map<String,Object>getMonthOutPut(HashMap<String,Object> params);

	/**
	 * 获取数据到能耗实绩确认表
	 * @param params
	 * @return
	 */
	List<Map<String,Object>> getUploadData();

	/**
	 * 修改Fid为能耗实绩确认表的id
	 * @param model
	 */
	int updateFid(TRmActValue model);

	/**
	 * 通过Fid获取实绩项目数据
	 * @param model
	 */
	List<Map<String,Object>> getByFid(Long fid);
	
	/**
     * 获取数量
     * 
     * @param params
     * @return
     */
    int getCount(Map<String,Object> params);

    /**
     * 多数据源测试
     * 
     * @return
     */
	String testData();
}