package com.steerinfo.ems.trmplanvalue.service;

import com.steerinfo.ems.trmbalancevalue.model.TRmBalanceValue;
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.trmactitem.model.TRmActItem;
import com.steerinfo.ems.trmplanvalue.model.TRmPlanValue;

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

	/**
	 * 能源综合分析-供需计划分析-供需计划对比分析页面
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<Map<String, Object>> getDate621ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
	 * 能源综合分析-供需计划分析-供需计划实绩对比分析页面
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	PageList<Map<String, Object>> getDate622ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
	 * 能源综合分析-供需计划分析-供需计划跟踪及趋势分析页面-表1
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6231ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
	 * 能源综合分析-供需计划分析-供需计划跟踪及趋势分析页面-表2
	 * @param parmas
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	List<Map<String, Object>> getDate6232ForPage(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
	
	/**
	 * 生成计划数据
	 * 
	 */
	public void state();

	/**
	 * 根据联合主键查询对象
	 *
	 * @param
	 */
	TRmPlanValue updateForUKey(TRmPlanValue tRmPlanValue);
	
	/**
     * 重新计算单个项目数据(新增或者更新)
     * 
     * @param itemid 项目ID
     * @param clock	时间
     * @param timegranid 时间粒度
     * @return
     */
    String restatData(String itemid, String clock, String timegranid);
    
    /**
     * 获取数量
     * 
     * @param params
     * @return
     */
    int getCount(Map<String,Object> params);
}