package com.steerinfo.ems.trmbalancevalue.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.trmbalancevalue.model.TRmBalanceValue;

/**
 * TRmBalanceValue服务接口：
 * @author generator
 * @version 1.0-SNAPSHORT 2019-10-17 04:39
 * 类描述
 * 修订历史：
 * 日期：2019-10-17
 * 作者：generator
 * 参考：
 * 描述：TRmBalanceValue服务接口
 * @see null
 * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
 */
public interface ITRmBalanceValueService extends IBaseService<TRmBalanceValue, HashMap<String, Object>>{
	/**
	 * 获得平衡表数据维护数据（能源平衡管理-平衡表数据维护页面，查询数据）
	 * 
	 * @return
	 */
	PageList<Map<String, Object>> getBalanceitemForPage(Map<String, Object> parameters, Integer pageNum, Integer pageSize);
	
	/**
	 * 根据主键(itemid, clock, timegranid)更新对象
	 * 
	 * @param
	 * @return
	 */
	TRmBalanceValue updateForUKey(TRmBalanceValue tRmBalanceValue);

    /**
     * 获得平衡表数据维护数据（能源平衡管理-平衡表数据维护页面，查询数据）
     *
     * @return
     */
    List<Map<String, Object>> getBalanceitemList(Map<String, Object> parameters);
    
    /**
     * 获取平衡发生量子项
     * @param parameters
     * @return
     */
    List<Map<String, Object>> getItem(HashMap<String, Object> parameters);
    
    /**
     * 定时任务
     */
    public void state();
    
    /**
     * 重新计算单个项目数据(新增或者更新)
     * 
     * @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);
}